// out: false @import "../../../../assets/less/core/boot.less"; .field-repeater { padding-top: 5px; .field-repeater-items { counter-reset: repeater-index-counter; } ul.field-repeater-items, li.field-repeater-item { padding: 0; margin: 0; list-style: none; } ul.field-repeater-items > li { &.dragged { opacity: .7; position: absolute; padding-top: 15px; padding-right: 15px; z-index: 2000; background-color: @body-bg; border: 1px dashed #dbdee0; .repeater-item-remove { opacity: 0; } .repeater-item-collapsed-title { top: 5px; } } &.placeholder { display: block; position: relative; height: 25px; margin-bottom: 5px; &:before { display: block; position: absolute; .icon(@chevron-right); color: #d35714; left: -10px; top: 8px; z-index: 2000; } } } li.field-repeater-item { position: relative; margin: 0 0 1em 1em !important; padding: 1.5em 1.25em 0 1.25em !important; background: #f5f5f5; border: 1px solid @input-border; border-radius: @border-radius-base; box-shadow: @input-box-shadow; min-height: 30px; &:before { color: #bdc3c7; .icon(@circle); font-size: 8px; position: absolute; left: -18px; top: -2px; } &:after { counter-increment: repeater-index-counter; content: counter(repeater-index-counter); display: block; position: absolute; font-size: 12px; left: -27px; color: #bdc3c7; top: 10px; width: 24px; text-align: center; } &.collapsed { .field-repeater-form { display:none; } .repeater-item-collapse { .repeater-item-collapse-one { .transform(scale(1,-1)); } } .repeater-item-collapsed-title { display: block; } } .repeater-item-collapsed-title { display: none; position: absolute; font-size: 13px; top: 50%; left: 10px; .transform(translateY(-50%)); } .field-repeater-form { position: relative; top: -7px; .clearfix; } .repeater-item-handle { position: absolute; top: -6px; left: -25px; color: #bdc3c7; background: @body-bg; cursor: move; opacity: 0; border-radius: 999px; .transition(~'opacity 0.5s'); &:hover { color: #999; } } .repeater-item-collapse { position: absolute; top: 5px; right: 30px; z-index: 90; a, button { .transition(~'transform 0.3s'); color: #bdc3c7; line-height: 20px; display: block; font-size: 12px; &:hover, &:focus { color: #999; text-decoration: none; } } } .repeater-item-remove { position: absolute; top: 4px; right: 5px; z-index: 90; &.disabled { display: none; + .repeater-item-collapse { right: 7px; } } .close { float: none; display: inline-block; } } .repeater-item-collapse, .repeater-item-handle, .repeater-item-remove { width: 20px; height: 20px; text-align: center; } &:hover, &:active { .repeater-item-collapse, .repeater-item-handle, .repeater-item-remove { opacity: 1; } } } .field-repeater-add-item { position: relative; margin-top: 10px; margin-left: 20px; border: 2px dotted #e0e0e0; border-radius: 5px; &:before { color: #bdc3c7; .icon(@plus); font-size: 16px; position: absolute; left: -23px; top: -11px; } > a { color: #bdc3c7; text-align: center; display: block; text-decoration: none; padding: 13px 15px; text-transform: uppercase; font-weight: 600; font-size: @font-size-base - 2; } &:hover, &:focus { background-color: @highlight-hover-bg; border-color: transparent; &:before { color: #999; } > a { color: @highlight-hover-text; } } &:active { background: @highlight-active-bg; border-color: transparent; > a { color: @highlight-active-text; } } &.in-progress { border-color: #e0e0e0 !important; background: transparent !important; } } &[data-mode="grid"] { > ul.field-repeater-items { display: grid; gap: 20px; > .field-repeater-item { margin-bottom: 0 !important; } > .field-repeater-add-item { margin-top: 0; > a { display: flex; flex-direction: column; justify-content: center; height: 100%; } &:before { display: none; } } } &[data-columns="2"] ul.field-repeater-items { grid-template-columns: repeat(2, 1fr); } &[data-columns="3"] ul.field-repeater-items { grid-template-columns: repeat(3, 1fr); } &[data-columns="4"] ul.field-repeater-items { grid-template-columns: repeat(4, 1fr); @media (max-width: 1600px) { grid-template-columns: repeat(3, 1fr); } } &[data-columns="5"] ul.field-repeater-items { grid-template-columns: repeat(5, 1fr); @media (max-width: 1600px) { grid-template-columns: repeat(4, 1fr); } } &[data-columns="6"] ul.field-repeater-items { grid-template-columns: repeat(6, 1fr); @media (max-width: 1600px) { grid-template-columns: repeat(4, 1fr); } } @media (min-width: @screen-sm-min) and (max-width: @screen-md-max) { > ul.field-repeater-items { grid-template-columns: repeat(2, 1fr) !important;; } } @media (max-width: @screen-xs-max) { > ul.field-repeater-items { grid-template-columns: 1fr !important; > .field-repeater-item, > .field-repeater-add-item { min-height: 0 !important; } > .field-repeater-add-item { margin-top: 10px; &::before { display: block; } } } } } } // // Grouped Repeater Palette // .repeater-group-search-container { padding: 10px 15px; border-bottom: 1px solid #e0e0e0; > div { position: relative; } .icon-search { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #999; pointer-events: none; z-index: 10; } .repeater-group-search { padding-left: 32px; padding-right: 32px; width: 100%; } .repeater-group-search-clear { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: transparent; border: none; padding: 4px 6px; cursor: pointer; display: none; z-index: 10; color: #999; i { font-size: 14px; } &:hover { color: #666; } } } .repeater-group-no-results { display: none; padding: 20px; text-align: center; color: #999; } .repeater-group-items-container { min-width: 500px; max-width: 800px; } .repeater-group-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; padding: 15px; .repeater-group-item { a { display: flex; height: 100%; align-items: center; gap: 16px; padding: 12px 12px 12px 16px; border: 1px solid #e0e0e0; border-radius: @border-radius-base; text-decoration: none; color: inherit; transition: all 0.2s; i { width: 1em; text-align: center; font-size: 24px; color: #666; margin-top: 2px; flex-shrink: 0; } > div { flex: 1; min-width: 0; .title { font-weight: 600; font-size: 13px; display: block; margin-bottom: 2px; } .description { font-size: 11px; color: #999; display: block; line-height: 1.3; } } &:hover { border-color: @link-color; box-shadow: 0 2px 8px rgba(0,0,0,0.1); transform: translateY(-2px); } } } }