// Name: Nestable // Description: Defines styles for nestable lists // // Component: `uk-nestable` // // Sub-objects: `uk-nestable-list` // `uk-nestable-item` // `uk-nestable-handle` // `uk-nestable-moving` // `uk-nestable-toggle` // `uk-nestable-panel` // // Modifier: `uk-nestable-dragged` // `uk-nestable-placeholder` // // States: `uk-parent` // `uk-collapsed` // // Markup: // // // // // ======================================================================== // Variables // ======================================================================== $nestable-padding-left: 40px !default; $nestable-item-margin: 10px !default; $nestable-dragged-z-index: 1050 !default; $nestable-placeholder-border: #ddd !default; $nestable-empty-height: 30px !default; $nestable-toggle-icon: "\f147" !default; $nestable-toggle-collapsed-icon: "\f196" !default; $nestable-panel-padding: 5px !default; $nestable-panel-background: #f5f5f5 !default; /* ======================================================================== Component: Nestable ========================================================================== */ .uk-nestable { padding: 0; list-style: none; @include hook-nestable(); } /* * Disables the default callout shown when you touch and hold a touch target * Currently only works in Webkit */ .uk-nestable a, .uk-nestable img { -webkit-touch-callout: none; } /* Sub-object `uk-nestable-list` ========================================================================== */ .uk-nestable-list { margin: 0; padding-left: $nestable-padding-left; list-style: none; } /* Sub-modifier `uk-nestable-item` ========================================================================== */ /* * 1. Deactivate browser touch actions in IE11 */ .uk-nestable-item { /* 1 */ touch-action: none; @include hook-nestable-item(); } .uk-nestable-item + .uk-nestable-item { margin-top: $nestable-item-margin; } .uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child { margin-top: $nestable-item-margin; } /* Sub-modifier `uk-nestable-dragged` ========================================================================== */ /* * 1. Reset style */ .uk-nestable-dragged { position: absolute; z-index: $nestable-dragged-z-index; pointer-events: none; /* 1 */ padding-left: 0; @include hook-nestable-dragged(); } /* Sub-modifier `uk-nestable-placeholder` ========================================================================== */ .uk-nestable-placeholder { position: relative; } .uk-nestable-placeholder > * { opacity: 0; } .uk-nestable-placeholder:after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; right: 0; border: 1px dashed $nestable-placeholder-border; opacity: 1; @include hook-nestable-placeholder(); } /* Empty List ========================================================================== */ .uk-nestable-empty { min-height: $nestable-empty-height; @include hook-nestable-empty(); } /* Sub-object `uk-nestable-handle` ========================================================================== */ /* * Deactivate browser touch actions in IE11 */ .uk-nestable-handle { touch-action: none; } /* Hover */ .uk-nestable-handle:hover { cursor: move; } /* Sub-object `uk-nestable-moving` ========================================================================== */ .uk-nestable-moving, /* Needed if moving over links or buttons */ .uk-nestable-moving * { cursor: move; } /* Fixes dragging items over iframes */ .uk-nestable-moving iframe { pointer-events: none; } /* [data-nestable-action='toggle'] ========================================================================== */ /* * 1. Makes text unselectable. Happens if double clicked by mistake */ [data-nestable-action='toggle'] { cursor: pointer; /* 1 */ -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; } /* Sub-object `.uk-nestable-toggle` ========================================================================== */ .uk-nestable-toggle { display: inline-block; visibility: hidden; @include hook-nestable-toggle(); } .uk-nestable-toggle:after { content: $nestable-toggle-icon; font-family: FontAwesome; } .uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle { visibility: visible; } /* * Collapsed */ .uk-collapsed .uk-nestable-list { display: none; } .uk-collapsed .uk-nestable-toggle:after { content: $nestable-toggle-collapsed-icon; } /* Sub-object `uk-nestable-panel` ========================================================================== */ .uk-nestable-panel { padding: $nestable-panel-padding; background: $nestable-panel-background; @include hook-nestable-panel(); } // Hooks // ======================================================================== @include hook-nestable-misc(); // @mixin hook-nestable(){} // @mixin hook-nestable-item(){} // @mixin hook-nestable-dragged(){} // @mixin hook-nestable-placeholder(){} // @mixin hook-nestable-empty(){} // @mixin hook-nestable-handle(){} // @mixin hook-nestable-toggle(){} // @mixin hook-nestable-panel(){} // @mixin hook-nestable-misc(){}