UNPKG

uikit

Version:

UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.

155 lines (119 loc) 4.06 kB
// Name: Breadcrumb // Description: Component to create a breadcrumb navigation // // Component: `uk-breadcrumb` // // States: `uk-disabled` // // ======================================================================== // Variables // ======================================================================== @breadcrumb-item-font-size: @global-small-font-size; @breadcrumb-item-color: @global-muted-color; @breadcrumb-item-hover-color: @global-color; @breadcrumb-item-hover-text-decoration: none; @breadcrumb-item-active-color: @global-color; @breadcrumb-divider: "/"; @breadcrumb-divider-margin-horizontal: 20px; @breadcrumb-divider-color: @global-muted-color; /* ======================================================================== Component: Breadcrumb ========================================================================== */ /* * 1. Allow items to wrap into the next line * 2. Reset list */ .uk-breadcrumb { display: flex; /* 1 */ flex-wrap: wrap; /* 2 */ padding: 0; list-style: none; .hook-breadcrumb; } /* * Space is allocated solely based on content dimensions: 0 0 auto */ .uk-breadcrumb > * { flex: none; } /* Items ========================================================================== */ .uk-breadcrumb > * > * { display: inline-block; font-size: @breadcrumb-item-font-size; color: @breadcrumb-item-color; .hook-breadcrumb-item; } /* Hover + Focus */ .uk-breadcrumb > * > :hover, .uk-breadcrumb > * > :focus { color: @breadcrumb-item-hover-color; text-decoration: @breadcrumb-item-hover-text-decoration; .hook-breadcrumb-item-hover; } /* Disabled */ .uk-breadcrumb > .uk-disabled > * { .hook-breadcrumb-item-disabled; } /* Active */ .uk-breadcrumb > :last-child > * { color: @breadcrumb-item-active-color; .hook-breadcrumb-item-active; } /* * Divider * `nth-child` makes it also work without JS if it's only one row */ .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before { content: @breadcrumb-divider; display: inline-block; margin: 0 @breadcrumb-divider-margin-horizontal; color: @breadcrumb-divider-color; .hook-breadcrumb-divider; } // Hooks // ======================================================================== .hook-breadcrumb-misc; .hook-breadcrumb() {} .hook-breadcrumb-item() {} .hook-breadcrumb-item-hover() {} .hook-breadcrumb-item-disabled() {} .hook-breadcrumb-item-active() {} .hook-breadcrumb-divider() {} .hook-breadcrumb-misc() {} // Inverse // ======================================================================== @inverse-breadcrumb-item-color: @inverse-global-muted-color; @inverse-breadcrumb-item-hover-color: @inverse-global-color; @inverse-breadcrumb-item-active-color: @inverse-global-color; @inverse-breadcrumb-divider-color: @inverse-global-muted-color; .hook-inverse() { .uk-breadcrumb > * > * { color: @inverse-breadcrumb-item-color; .hook-inverse-breadcrumb-item; } .uk-breadcrumb > * > :hover, .uk-breadcrumb > * > :focus { color: @inverse-breadcrumb-item-hover-color; .hook-inverse-breadcrumb-item-hover; } .uk-breadcrumb > .uk-disabled > * { .hook-inverse-breadcrumb-item-disabled; } .uk-breadcrumb > :last-child > * { color: @inverse-breadcrumb-item-active-color; .hook-inverse-breadcrumb-item-active; } // // Divider // .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before { color: @inverse-breadcrumb-divider-color; .hook-inverse-breadcrumb-divider; } } .hook-inverse-breadcrumb-item() {} .hook-inverse-breadcrumb-item-hover() {} .hook-inverse-breadcrumb-item-disabled() {} .hook-inverse-breadcrumb-item-active() {} .hook-inverse-breadcrumb-divider() {}