uikit 3.14.4-dev.2dc50ec60 → 3.14.4-dev.3c3ec2cad

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/CHANGELOG.md +39 -18
  2. package/build/util.js +1 -0
  3. package/dist/css/uikit-core-rtl.css +330 -78
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +330 -78
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +352 -107
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +352 -107
  10. package/dist/css/uikit.min.css +1 -1
  11. package/dist/js/components/countdown.js +1 -1
  12. package/dist/js/components/countdown.min.js +1 -1
  13. package/dist/js/components/filter.js +1 -1
  14. package/dist/js/components/filter.min.js +1 -1
  15. package/dist/js/components/lightbox-panel.js +98 -131
  16. package/dist/js/components/lightbox-panel.min.js +1 -1
  17. package/dist/js/components/lightbox.js +98 -131
  18. package/dist/js/components/lightbox.min.js +1 -1
  19. package/dist/js/components/notification.js +4 -2
  20. package/dist/js/components/notification.min.js +1 -1
  21. package/dist/js/components/parallax.js +4 -5
  22. package/dist/js/components/parallax.min.js +1 -1
  23. package/dist/js/components/slider-parallax.js +4 -5
  24. package/dist/js/components/slider-parallax.min.js +1 -1
  25. package/dist/js/components/slider.js +1 -1
  26. package/dist/js/components/slider.min.js +1 -1
  27. package/dist/js/components/slideshow-parallax.js +4 -5
  28. package/dist/js/components/slideshow-parallax.min.js +1 -1
  29. package/dist/js/components/slideshow.js +1 -1
  30. package/dist/js/components/slideshow.min.js +1 -1
  31. package/dist/js/components/sortable.js +1 -1
  32. package/dist/js/components/sortable.min.js +1 -1
  33. package/dist/js/components/tooltip.js +104 -139
  34. package/dist/js/components/tooltip.min.js +1 -1
  35. package/dist/js/components/upload.js +1 -1
  36. package/dist/js/components/upload.min.js +1 -1
  37. package/dist/js/uikit-core.js +531 -503
  38. package/dist/js/uikit-core.min.js +17 -1
  39. package/dist/js/uikit-icons.js +1 -1
  40. package/dist/js/uikit-icons.min.js +1 -1
  41. package/dist/js/uikit.js +534 -504
  42. package/dist/js/uikit.min.js +17 -1
  43. package/package.json +11 -11
  44. package/src/images/components/navbar-toggle-icon.svg +25 -3
  45. package/src/js/api/hooks.js +5 -1
  46. package/src/js/api/state.js +2 -2
  47. package/src/js/components/notification.js +3 -1
  48. package/src/js/core/accordion.js +9 -17
  49. package/src/js/core/alert.js +35 -14
  50. package/src/js/core/drop.js +110 -82
  51. package/src/js/core/height-viewport.js +4 -2
  52. package/src/js/core/index.js +1 -1
  53. package/src/js/core/leader.js +2 -2
  54. package/src/js/core/navbar.js +30 -45
  55. package/src/js/core/offcanvas.js +8 -4
  56. package/src/js/core/scroll.js +37 -10
  57. package/src/js/core/toggle.js +3 -5
  58. package/src/js/mixin/media.js +4 -5
  59. package/src/js/mixin/modal.js +15 -12
  60. package/src/js/mixin/position.js +24 -26
  61. package/src/js/mixin/style.js +11 -0
  62. package/src/js/mixin/togglable.js +90 -124
  63. package/src/js/util/animation.js +9 -7
  64. package/src/js/util/class.js +3 -1
  65. package/src/js/util/filter.js +3 -7
  66. package/src/js/util/position.js +136 -130
  67. package/src/js/util/style.js +4 -13
  68. package/src/js/util/viewport.js +3 -5
  69. package/src/less/components/_import.less +1 -0
  70. package/src/less/components/drop.less +1 -18
  71. package/src/less/components/dropbar.less +126 -0
  72. package/src/less/components/dropdown.less +11 -19
  73. package/src/less/components/leader.less +1 -1
  74. package/src/less/components/nav.less +217 -33
  75. package/src/less/components/navbar.less +33 -54
  76. package/src/less/components/utility.less +10 -2
  77. package/src/less/theme/_import.less +1 -0
  78. package/src/less/theme/dropbar.less +44 -0
  79. package/src/less/theme/dropdown.less +0 -11
  80. package/src/less/theme/nav.less +45 -7
  81. package/src/less/theme/navbar.less +5 -36
  82. package/src/scss/components/_import.scss +1 -0
  83. package/src/scss/components/drop.scss +1 -18
  84. package/src/scss/components/dropbar.scss +126 -0
  85. package/src/scss/components/dropdown.scss +11 -19
  86. package/src/scss/components/leader.scss +1 -1
  87. package/src/scss/components/nav.scss +166 -32
  88. package/src/scss/components/navbar.scss +33 -54
  89. package/src/scss/components/utility.scss +8 -1
  90. package/src/scss/mixins-theme.scss +83 -36
  91. package/src/scss/mixins.scss +79 -4
  92. package/src/scss/theme/_import.scss +1 -0
  93. package/src/scss/theme/dropbar.scss +44 -0
  94. package/src/scss/theme/dropdown.scss +0 -8
  95. package/src/scss/theme/nav.scss +43 -7
  96. package/src/scss/theme/navbar.scss +4 -8
  97. package/src/scss/variables-theme.scss +59 -18
  98. package/src/scss/variables.scss +47 -13
  99. package/tests/accordion.html +2 -2
  100. package/tests/alert.html +2 -2
  101. package/tests/countdown.html +1 -1
  102. package/tests/drop.html +446 -416
  103. package/tests/dropbar.html +458 -0
  104. package/tests/dropdown.html +8 -470
  105. package/tests/filter.html +9 -12
  106. package/tests/flex.html +36 -36
  107. package/tests/form.html +1 -1
  108. package/tests/grid.html +22 -22
  109. package/tests/height.html +6 -6
  110. package/tests/index.html +127 -108
  111. package/tests/js/index.js +1 -4
  112. package/tests/lightbox.html +5 -5
  113. package/tests/list.html +8 -8
  114. package/tests/modal.html +13 -13
  115. package/tests/nav.html +121 -12
  116. package/tests/navbar.html +111 -226
  117. package/tests/offcanvas.html +10 -14
  118. package/tests/pagination.html +6 -6
  119. package/tests/parallax.html +1 -1
  120. package/tests/position.html +18 -16
  121. package/tests/progress.html +9 -9
  122. package/tests/scroll.html +7 -10
  123. package/tests/search.html +6 -6
  124. package/tests/slider.html +6 -5
  125. package/tests/slideshow.html +8 -8
  126. package/tests/sortable.html +6 -8
  127. package/tests/sticky-navbar.html +15 -15
  128. package/tests/sticky.html +8 -8
  129. package/tests/switcher.html +1 -1
  130. package/tests/tab.html +1 -1
  131. package/tests/table.html +7 -7
  132. package/tests/toggle.html +2 -2
  133. package/tests/tooltip.html +1 -1
  134. package/tests/upload.html +11 -11
  135. package/tests/utility.html +35 -16
@@ -11,17 +11,21 @@
11
11
 
12
12
  @nav-default-subtitle-font-size: 12px;
13
13
 
14
+ //
15
+ // New
16
+ //
14
17
 
15
- // Sublists
16
- // ========================================================================
17
-
18
- .hook-nav-sub() {}
18
+ @nav-background-margin-top: 0;
19
+ @nav-background-item-padding-horizontal: 10px;
20
+ @nav-background-item-padding-vertical: 10px;
21
+ @nav-background-item-hover-background: @global-muted-background;
22
+ @nav-background-item-active-background: @global-muted-background;
19
23
 
20
24
 
21
- // Parent icon modifier
25
+ // Sublists
22
26
  // ========================================================================
23
27
 
24
- .hook-nav-parent-icon() {}
28
+ .hook-nav-sub() {}
25
29
 
26
30
 
27
31
  // Header
@@ -72,6 +76,30 @@
72
76
  .hook-nav-primary-divider() {}
73
77
 
74
78
 
79
+ // Secondary style modifier
80
+ // ========================================================================
81
+
82
+ .hook-nav-secondary() {
83
+ > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) { margin-top: @nav-background-margin-top; }
84
+ }
85
+
86
+ .hook-nav-secondary-item() { padding: @nav-background-item-padding-vertical @nav-background-item-padding-horizontal; }
87
+
88
+ .hook-nav-secondary-item-hover() { background-color: @nav-background-item-hover-background; }
89
+
90
+ .hook-nav-secondary-item-active() { background-color: @nav-background-item-active-background; }
91
+
92
+ .hook-nav-secondary-subtitle() {}
93
+
94
+ .hook-nav-secondary-subtitle-hover() {}
95
+
96
+ .hook-nav-secondary-subtitle-active() {}
97
+
98
+ .hook-nav-secondary-header() {}
99
+
100
+ .hook-nav-secondary-divider() {}
101
+
102
+
75
103
  // Style modifier
76
104
  // ========================================================================
77
105
 
@@ -87,7 +115,8 @@
87
115
  // Inverse
88
116
  // ========================================================================
89
117
 
90
- .hook-inverse-nav-parent-icon() {}
118
+ @inverse-nav-background-item-hover-background: @inverse-global-muted-background;
119
+ @inverse-nav-background-item-active-background: @inverse-global-muted-background;
91
120
 
92
121
  .hook-inverse-nav-default-item() {}
93
122
  .hook-inverse-nav-default-item-hover() {}
@@ -101,4 +130,13 @@
101
130
  .hook-inverse-nav-primary-header() {}
102
131
  .hook-inverse-nav-primary-divider() {}
103
132
 
133
+ .hook-inverse-nav-secondary-item() {}
134
+ .hook-inverse-nav-secondary-item-hover() { background-color: @inverse-nav-background-item-hover-background; }
135
+ .hook-inverse-nav-secondary-item-active() { background-color: @inverse-nav-background-item-active-background; }
136
+ .hook-inverse-nav-secondary-subtitle() {}
137
+ .hook-inverse-nav-secondary-subtitle-hover() {}
138
+ .hook-inverse-nav-secondary-subtitle-active() {}
139
+ .hook-inverse-nav-secondary-header() {}
140
+ .hook-inverse-nav-secondary-divider() {}
141
+
104
142
  .hook-inverse-nav-dividers() {}
@@ -20,7 +20,6 @@
20
20
  @navbar-dropdown-margin: 15px;
21
21
  @navbar-dropdown-padding: 25px;
22
22
  @navbar-dropdown-background: @global-background;
23
- @navbar-dropdown-grid-gutter-horizontal: (@navbar-dropdown-padding * 2);
24
23
 
25
24
  @navbar-dropdown-nav-subtitle-font-size: 12px;
26
25
 
@@ -34,11 +33,6 @@
34
33
 
35
34
  @navbar-dropdown-box-shadow: 0 5px 12px rgba(0,0,0,0.15);
36
35
 
37
- @navbar-dropbar-box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
38
-
39
- @navbar-dropdown-grid-divider-border-width: @global-border-width;
40
- @navbar-dropdown-grid-divider-border: @navbar-dropdown-nav-divider-border;
41
-
42
36
 
43
37
  // Component
44
38
  // ========================================================================
@@ -107,10 +101,12 @@
107
101
 
108
102
  .hook-navbar-dropdown() { box-shadow: @navbar-dropdown-box-shadow; }
109
103
 
110
- .hook-navbar-dropdown-stretch() { box-shadow: none; }
104
+ .hook-navbar-dropdown-large() {}
111
105
 
112
106
  .hook-navbar-dropdown-dropbar() { box-shadow: none; }
113
107
 
108
+ .hook-navbar-dropdown-dropbar-large() {}
109
+
114
110
 
115
111
  // Dropdown nav
116
112
  // ========================================================================
@@ -131,40 +127,13 @@
131
127
  // Dropbar
132
128
  // ========================================================================
133
129
 
134
- .hook-navbar-dropbar() { box-shadow: @navbar-dropbar-box-shadow; }
130
+ .hook-navbar-dropbar() {}
135
131
 
136
132
 
137
133
  // Miscellaneous
138
134
  // ========================================================================
139
135
 
140
- .hook-navbar-misc() {
141
-
142
- /*
143
- * Grid Divider
144
- */
145
-
146
- .uk-navbar-dropdown-grid > * { position: relative; }
147
-
148
- .uk-navbar-dropdown-grid > :not(.uk-first-column)::before {
149
- content: "";
150
- position: absolute;
151
- top: 0;
152
- bottom: 0;
153
- left: (@navbar-dropdown-grid-gutter-horizontal / 2);
154
- border-left: @navbar-dropdown-grid-divider-border-width solid @navbar-dropdown-grid-divider-border;
155
- }
156
-
157
- /* Vertical */
158
- .uk-navbar-dropdown-grid.uk-grid-stack > .uk-grid-margin::before {
159
- content: "";
160
- position: absolute;
161
- top: -(@navbar-dropdown-grid-gutter-vertical / 2);
162
- left: @navbar-dropdown-grid-gutter-horizontal;
163
- right: 0;
164
- border-top: @navbar-dropdown-grid-divider-border-width solid @navbar-dropdown-grid-divider-border;
165
- }
166
-
167
- }
136
+ .hook-navbar-misc() {}
168
137
 
169
138
 
170
139
  // Inverse
@@ -40,6 +40,7 @@
40
40
  @import "accordion.scss";
41
41
  @import "drop.scss"; // After: Card
42
42
  @import "dropdown.scss"; // After: Card
43
+ @import "dropbar.scss";
43
44
  @import "modal.scss"; // After: Close
44
45
  @import "slideshow.scss";
45
46
  @import "slider.scss";
@@ -3,8 +3,7 @@
3
3
  //
4
4
  // Component: `uk-drop`
5
5
  //
6
- // Modifiers: `uk-drop-stretch`
7
- // `uk-drop-stack`
6
+ // Modifiers: `uk-drop-stack`
8
7
  // `uk-drop-grid`
9
8
  //
10
9
  // States: `uk-open`
@@ -50,22 +49,6 @@ $drop-width: 300px !default;
50
49
  .uk-drop.uk-open { display: block; }
51
50
 
52
51
 
53
- /* Stretch modifier
54
- ========================================================================== */
55
-
56
- /*
57
- * 1. Allow scrolling
58
- */
59
-
60
- .uk-drop-stretch {
61
- --uk-position-offset: 0;
62
- --uk-position-viewport-offset: 0;
63
- /* 1 */
64
- overflow-y: auto;
65
- -webkit-overflow-scrolling: touch;
66
- }
67
-
68
-
69
52
  /* Grid modifiers
70
53
  ========================================================================== */
71
54
 
@@ -0,0 +1,126 @@
1
+ // Name: Dropbar
2
+ // Description: Component to create dropbar menus
3
+ //
4
+ // Component: `uk-dropbar`
5
+ //
6
+ // ========================================================================
7
+
8
+
9
+ // Variables
10
+ // ========================================================================
11
+
12
+ $dropbar-margin: 0 !default;
13
+ $dropbar-z-index: $global-z-index + 20 !default;
14
+ $dropbar-padding-top: 15px !default;
15
+ $dropbar-padding-bottom: $dropbar-padding-top !default;
16
+ $dropbar-padding-horizontal: 15px !default;
17
+ $dropbar-padding-horizontal-s: $global-gutter !default;
18
+ $dropbar-padding-horizontal-m: $global-medium-gutter !default;
19
+ $dropbar-background: $global-muted-background !default;
20
+ $dropbar-color: $global-color !default;
21
+ $dropbar-color-mode: none !default;
22
+
23
+ $dropbar-large-padding-top: 40px !default;
24
+ $dropbar-large-padding-bottom: $dropbar-large-padding-top !default;
25
+
26
+
27
+ /* ========================================================================
28
+ Component: Dropbar
29
+ ========================================================================== */
30
+
31
+ /*
32
+ * 1. Hide by default
33
+ * 2. Set position
34
+ * 3. Style
35
+ */
36
+
37
+ .uk-dropbar {
38
+ --uk-position-offset: #{$dropbar-margin};
39
+ --uk-position-shift-offset: 0;
40
+ --uk-position-viewport-offset: 0;
41
+ /* 1 */
42
+ display: none;
43
+ /* 2 */
44
+ position: absolute;
45
+ z-index: $dropbar-z-index;
46
+ /* 3 */
47
+ box-sizing: border-box;
48
+ padding: $dropbar-padding-top $dropbar-padding-horizontal $dropbar-padding-bottom $dropbar-padding-horizontal;
49
+ background: $dropbar-background;
50
+ color: $dropbar-color;
51
+ @if(mixin-exists(hook-dropbar)) {@include hook-dropbar();}
52
+ }
53
+
54
+ /* Show */
55
+ .uk-dropbar.uk-open { display: block; }
56
+
57
+ /*
58
+ * Remove margin from the last-child
59
+ */
60
+
61
+ .uk-dropbar > :last-child { margin-bottom: 0; }
62
+
63
+ /* Phone landscape and bigger */
64
+ @media (min-width: $breakpoint-small) {
65
+
66
+ .uk-dropbar {
67
+ padding-left: $dropbar-padding-horizontal-s;
68
+ padding-right: $dropbar-padding-horizontal-s;
69
+ }
70
+
71
+ }
72
+
73
+ /* Tablet landscape and bigger */
74
+ @media (min-width: $breakpoint-medium) {
75
+
76
+ .uk-dropbar {
77
+ padding-left: $dropbar-padding-horizontal-m;
78
+ padding-right: $dropbar-padding-horizontal-m;
79
+ }
80
+
81
+ }
82
+
83
+ // Color Mode
84
+ @if ( $dropbar-color-mode == light ) { .uk-dropbar { @extend .uk-light !optional;} }
85
+ @if ( $dropbar-color-mode == dark ) { .uk-dropbar { @extend .uk-dark !optional;} }
86
+
87
+ /* Size modifier
88
+ ========================================================================== */
89
+
90
+ .uk-dropbar-large {
91
+ padding-top: $dropbar-large-padding-top;
92
+ padding-bottom: $dropbar-large-padding-bottom;
93
+ }
94
+
95
+
96
+ /* Direction modifier
97
+ ========================================================================== */
98
+
99
+ .uk-dropbar-top {
100
+ @if(mixin-exists(hook-dropbar-top)) {@include hook-dropbar-top();}
101
+ }
102
+
103
+ .uk-dropbar-bottom {
104
+ @if(mixin-exists(hook-dropbar-bottom)) {@include hook-dropbar-bottom();}
105
+ }
106
+
107
+ .uk-dropbar-left {
108
+ @if(mixin-exists(hook-dropbar-left)) {@include hook-dropbar-left();}
109
+ }
110
+
111
+ .uk-dropbar-right {
112
+ @if(mixin-exists(hook-dropbar-right)) {@include hook-dropbar-right();}
113
+ }
114
+
115
+
116
+ // Hooks
117
+ // ========================================================================
118
+
119
+ @if(mixin-exists(hook-dropbar-misc)) {@include hook-dropbar-misc();}
120
+
121
+ // @mixin hook-dropbar(){}
122
+ // @mixin hook-dropbar-top(){}
123
+ // @mixin hook-dropbar-bottom(){}
124
+ // @mixin hook-dropbar-left(){}
125
+ // @mixin hook-dropbar-right(){}
126
+ // @mixin hook-dropbar-misc(){}
@@ -5,7 +5,7 @@
5
5
  //
6
6
  // Adopted: `uk-dropdown-nav`
7
7
  //
8
- // Modifiers: `uk-dropdown-stretch`
8
+ // Modifiers: `uk-dropdown-large`
9
9
  // `uk-dropdown-stack`
10
10
  // `uk-dropdown-grid`
11
11
  //
@@ -24,6 +24,7 @@ $dropdown-min-width: 200px !default;
24
24
  $dropdown-padding: 15px !default;
25
25
  $dropdown-background: $global-muted-background !default;
26
26
  $dropdown-color: $global-color !default;
27
+ $dropdown-color-mode: none !default;
27
28
 
28
29
  $dropdown-large-padding: 40px !default;
29
30
 
@@ -59,7 +60,6 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
59
60
  /* 3 */
60
61
  box-sizing: border-box;
61
62
  min-width: $dropdown-min-width;
62
- max-width: 100vw;
63
63
  /* 4 */
64
64
  padding: $dropdown-padding;
65
65
  background: $dropdown-background;
@@ -70,28 +70,21 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
70
70
  /* Show */
71
71
  .uk-dropdown.uk-open { display: block; }
72
72
 
73
+ /*
74
+ * Remove margin from the last-child
75
+ */
73
76
 
74
- /* Size modifier
75
- ========================================================================== */
77
+ .uk-dropdown > :last-child { margin-bottom: 0; }
76
78
 
77
- .uk-dropdown-large { padding: $dropdown-large-padding; }
79
+ // Color Mode
80
+ @if ( $dropdown-color-mode == light ) { .uk-dropdown { @extend .uk-light !optional;} }
81
+ @if ( $dropdown-color-mode == dark ) { .uk-dropdown { @extend .uk-dark !optional;} }
78
82
 
79
83
 
80
- /* Stretch modifier
84
+ /* Size modifier
81
85
  ========================================================================== */
82
86
 
83
- /*
84
- * 1. Allow scrolling
85
- */
86
-
87
- .uk-dropdown-stretch {
88
- --uk-position-offset: 0;
89
- --uk-position-viewport-offset: 0;
90
- /* 1 */
91
- overflow-y: auto;
92
- -webkit-overflow-scrolling: touch;
93
- @if(mixin-exists(hook-dropdown-stretch)) {@include hook-dropdown-stretch();}
94
- }
87
+ .uk-dropdown-large { padding: $dropdown-large-padding; }
95
88
 
96
89
 
97
90
  /* Nav
@@ -168,7 +161,6 @@ $dropdown-nav-sublist-item-hover-color: $global-color !default;
168
161
  @if(mixin-exists(hook-dropdown-misc)) {@include hook-dropdown-misc();}
169
162
 
170
163
  // @mixin hook-dropdown(){}
171
- // @mixin hook-dropdown-stretch(){}
172
164
  // @mixin hook-dropdown-nav(){}
173
165
  // @mixin hook-dropdown-nav-item(){}
174
166
  // @mixin hook-dropdown-nav-item-hover(){}
@@ -49,7 +49,7 @@ $leader-fill-margin-left: $global-small-gutter !default;
49
49
  * Pass fill character to JS
50
50
  */
51
51
 
52
- :root { --uk-leader-fill-content: '#{$leader-fill-content}'; }
52
+ :root { --uk-leader-fill-content: #{$leader-fill-content}; }
53
53
 
54
54
 
55
55
  // Hooks
@@ -3,13 +3,13 @@
3
3
  //
4
4
  // Component: `uk-nav`
5
5
  //
6
- // Sub-objects: `uk-nav-header`
6
+ // Sub-objects: `uk-nav-parent-icon`
7
+ // `uk-nav-header`
7
8
  // `uk-nav-divider`
8
9
  // `uk-nav-subtitle`
9
10
  // `uk-nav-sub`
10
11
  //
11
- // Modifiers: `uk-nav-parent-icon`
12
- // `uk-nav-default`
12
+ // Modifiers: `uk-nav-default`
13
13
  // `uk-nav-primary`
14
14
  // `uk-nav-center`,
15
15
  // `uk-nav-divider`
@@ -33,9 +33,7 @@ $nav-sublist-padding-left: 15px !default;
33
33
  $nav-sublist-deeper-padding-left: 15px !default;
34
34
  $nav-sublist-item-padding-vertical: 2px !default;
35
35
 
36
- $nav-parent-icon-width: ($global-line-height * 1em) !default;
37
- $nav-parent-icon-height: $nav-parent-icon-width !default;
38
- $nav-parent-icon-color: $global-color !default;
36
+ $nav-parent-icon-margin-left: 4px !default;
39
37
 
40
38
  $nav-header-padding-vertical: $nav-item-padding-vertical !default;
41
39
  $nav-header-padding-horizontal: $nav-item-padding-horizontal !default;
@@ -76,7 +74,25 @@ $nav-primary-sublist-item-color: $global-muted-color !default;
76
74
  $nav-primary-sublist-item-hover-color: $global-color !default;
77
75
  $nav-primary-sublist-item-active-color: $global-emphasis-color !default;
78
76
 
79
- $nav-dividers-margin-top: 0 !default;
77
+ $nav-secondary-font-size: $global-font-size !default;
78
+ $nav-secondary-line-height: $global-line-height !default;
79
+ $nav-secondary-item-color: $global-emphasis-color !default;
80
+ $nav-secondary-item-hover-color: $global-emphasis-color !default;
81
+ $nav-secondary-item-active-color: $global-emphasis-color !default;
82
+ $nav-secondary-subtitle-font-size: $global-small-font-size !default;
83
+ $nav-secondary-subtitle-color: $global-muted-color !default;
84
+ $nav-secondary-subtitle-hover-color: $global-color !default;
85
+ $nav-secondary-subtitle-active-color: $global-emphasis-color !default;
86
+ $nav-secondary-header-color: $global-emphasis-color !default;
87
+ $nav-secondary-divider-border-width: $global-border-width !default;
88
+ $nav-secondary-divider-border: $global-border !default;
89
+ $nav-secondary-sublist-font-size: $global-small-font-size !default;
90
+ $nav-secondary-sublist-line-height: $global-line-height !default;
91
+ $nav-secondary-sublist-item-color: $global-muted-color !default;
92
+ $nav-secondary-sublist-item-hover-color: $global-color !default;
93
+ $nav-secondary-sublist-item-active-color: $global-emphasis-color !default;
94
+
95
+ $nav-dividers-margin-top: 5px !default;
80
96
  $nav-dividers-border-width: $global-border-width !default;
81
97
  $nav-dividers-border: $global-border !default;
82
98
 
@@ -146,7 +162,7 @@ ul.uk-nav-sub {
146
162
  .uk-nav-sub a { padding: $nav-sublist-item-padding-vertical 0; }
147
163
 
148
164
 
149
- /* Parent icon modifier
165
+ /* Parent icon
150
166
  ========================================================================== */
151
167
 
152
168
  .uk-nav-parent-icon { margin-left: auto; }
@@ -322,6 +338,93 @@ ul.uk-nav-sub {
322
338
  .uk-nav-primary .uk-nav-sub li.uk-active > a { color: $nav-primary-sublist-item-active-color; }
323
339
 
324
340
 
341
+ /* Secondary modifier
342
+ ========================================================================== */
343
+
344
+ .uk-nav-secondary {
345
+ font-size: $nav-secondary-font-size;
346
+ line-height: $nav-secondary-line-height;
347
+ @if(mixin-exists(hook-nav-secondary)) {@include hook-nav-secondary();}
348
+ }
349
+
350
+ /*
351
+ * Items
352
+ */
353
+
354
+ .uk-nav-secondary > li > a {
355
+
356
+ color: $nav-secondary-item-color;
357
+ @if(mixin-exists(hook-nav-secondary-item)) {@include hook-nav-secondary-item();}
358
+ }
359
+
360
+ /* Hover */
361
+ .uk-nav-secondary > li > a:hover {
362
+ color: $nav-secondary-item-hover-color;
363
+ @if(mixin-exists(hook-nav-secondary-item-hover)) {@include hook-nav-secondary-item-hover();}
364
+ }
365
+
366
+ /* Active */
367
+ .uk-nav-secondary > li.uk-active > a {
368
+ color: $nav-secondary-item-active-color;
369
+ @if(mixin-exists(hook-nav-secondary-item-active)) {@include hook-nav-secondary-item-active();}
370
+ }
371
+
372
+ /*
373
+ * Subtitle
374
+ */
375
+
376
+ .uk-nav-secondary .uk-nav-subtitle {
377
+ font-size: $nav-secondary-subtitle-font-size;
378
+ color: $nav-secondary-subtitle-color;
379
+ @if(mixin-exists(hook-nav-secondary-subtitle)) {@include hook-nav-secondary-subtitle();}
380
+ }
381
+
382
+ /* Hover */
383
+ .uk-nav-secondary > li > a:hover .uk-nav-subtitle {
384
+ color: $nav-secondary-subtitle-hover-color;
385
+ @if(mixin-exists(hook-nav-secondary-subtitle-hover)) {@include hook-nav-secondary-subtitle-hover();}
386
+ }
387
+
388
+ /* Active */
389
+ .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle {
390
+ color: $nav-secondary-subtitle-active-color;
391
+ @if(mixin-exists(hook-nav-secondary-subtitle-active)) {@include hook-nav-secondary-subtitle-active();}
392
+ }
393
+
394
+ /*
395
+ * Header
396
+ */
397
+
398
+ .uk-nav-secondary .uk-nav-header {
399
+ color: $nav-secondary-header-color;
400
+ @if(mixin-exists(hook-nav-secondary-header)) {@include hook-nav-secondary-header();}
401
+ }
402
+
403
+ /*
404
+ * Divider
405
+ */
406
+
407
+ .uk-nav-secondary .uk-nav-divider {
408
+ border-top: $nav-secondary-divider-border-width solid $nav-secondary-divider-border;
409
+ @if(mixin-exists(hook-nav-secondary-divider)) {@include hook-nav-secondary-divider();}
410
+ }
411
+
412
+ /*
413
+ * Sublists
414
+ */
415
+
416
+ .uk-nav-secondary .uk-nav-sub {
417
+ font-size: $nav-secondary-sublist-font-size;
418
+ line-height: $nav-secondary-sublist-line-height;
419
+ }
420
+
421
+ .uk-nav-secondary .uk-nav-sub a { color: $nav-secondary-sublist-item-color; }
422
+
423
+ .uk-nav-secondary .uk-nav-sub a:hover { color: $nav-secondary-sublist-item-hover-color; }
424
+
425
+ .uk-nav-secondary .uk-nav-sub li.uk-active > a { color: $nav-secondary-sublist-item-active-color; }
426
+
427
+
325
428
  /* Alignment modifier
326
429
  ========================================================================== */
327
430
 
@@ -339,13 +442,18 @@ ul.uk-nav-sub {
339
442
  .uk-nav-center .uk-nav-sub,
340
443
  .uk-nav-center .uk-nav-sub ul { padding-left: 0; }
341
444
 
342
- /* Parent icon modifier */
343
- .uk-nav-center .uk-nav-parent-icon { margin-left: 0; }
445
+ /* Parent icon */
446
+ .uk-nav-center .uk-nav-parent-icon { margin-left: $nav-parent-icon-margin-left; }
344
447
 
345
448
 
346
449
  /* Style modifier
347
450
  ========================================================================== */
348
451
 
452
+ /*
453
+ * Divider
454
+ * Naming is in plural to prevent conflicts with divider sub object.
455
+ */
456
+
349
457
  .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
350
458
  margin-top: $nav-dividers-margin-top;
351
459
  padding-top: $nav-dividers-margin-top;
@@ -360,7 +468,6 @@ ul.uk-nav-sub {
360
468
  @if(mixin-exists(hook-nav-misc)) {@include hook-nav-misc();}
361
469
 
362
470
  // @mixin hook-nav-sub(){}
363
- // @mixin hook-nav-parent-icon(){}
364
471
  // @mixin hook-nav-header(){}
365
472
  // @mixin hook-nav-divider(){}
366
473
  // @mixin hook-nav-default(){}
@@ -377,6 +484,15 @@ ul.uk-nav-sub {
377
484
  // @mixin hook-nav-primary-subtitle(){}
378
485
  // @mixin hook-nav-primary-header(){}
379
486
  // @mixin hook-nav-primary-divider(){}
487
+ // @mixin hook-nav-secondary(){}
488
+ // @mixin hook-nav-secondary-item(){}
489
+ // @mixin hook-nav-secondary-item-hover(){}
490
+ // @mixin hook-nav-secondary-item-active(){}
491
+ // @mixin hook-nav-secondary-subtitle(){}
492
+ // @mixin hook-nav-secondary-subtitle-hover(){}
493
+ // @mixin hook-nav-secondary-subtitle-active(){}
494
+ // @mixin hook-nav-secondary-header(){}
495
+ // @mixin hook-nav-secondary-divider(){}
380
496
  // @mixin hook-nav-dividers(){}
381
497
  // @mixin hook-nav-misc(){}
382
498
 
@@ -384,30 +500,40 @@ ul.uk-nav-sub {
384
500
  // Inverse
385
501
  // ========================================================================
386
502
 
387
- $inverse-nav-parent-icon-color: $inverse-global-color !default;
388
- $inverse-nav-default-item-color: $inverse-global-muted-color !default;
389
- $inverse-nav-default-item-hover-color: $inverse-global-color !default;
390
- $inverse-nav-default-item-active-color: $inverse-global-emphasis-color !default;
391
- $inverse-nav-default-header-color: $inverse-global-emphasis-color !default;
392
- $inverse-nav-default-divider-border: $inverse-global-border !default;
393
- $inverse-nav-default-sublist-item-color: $inverse-global-muted-color !default;
394
- $inverse-nav-default-sublist-item-hover-color: $inverse-global-color !default;
395
- $inverse-nav-default-sublist-item-active-color: $inverse-global-emphasis-color !default;
396
-
397
- $inverse-nav-primary-item-color: $inverse-global-muted-color !default;
398
- $inverse-nav-primary-item-hover-color: $inverse-global-color !default;
399
- $inverse-nav-primary-item-active-color: $inverse-global-emphasis-color !default;
400
- $inverse-nav-primary-header-color: $inverse-global-emphasis-color !default;
401
- $inverse-nav-primary-divider-border: $inverse-global-border !default;
402
- $inverse-nav-primary-sublist-item-color: $inverse-global-muted-color !default;
403
- $inverse-nav-primary-sublist-item-hover-color: $inverse-global-color !default;
404
- $inverse-nav-primary-sublist-item-active-color: $inverse-global-emphasis-color !default;
405
-
406
- $inverse-nav-dividers-border: $inverse-global-border !default;
503
+ $inverse-nav-default-item-color: $inverse-global-muted-color !default;
504
+ $inverse-nav-default-item-hover-color: $inverse-global-color !default;
505
+ $inverse-nav-default-item-active-color: $inverse-global-emphasis-color !default;
506
+ $inverse-nav-default-header-color: $inverse-global-emphasis-color !default;
507
+ $inverse-nav-default-divider-border: $inverse-global-border !default;
508
+ $inverse-nav-default-sublist-item-color: $inverse-global-muted-color !default;
509
+ $inverse-nav-default-sublist-item-hover-color: $inverse-global-color !default;
510
+ $inverse-nav-default-sublist-item-active-color: $inverse-global-emphasis-color !default;
511
+
512
+ $inverse-nav-primary-item-color: $inverse-global-muted-color !default;
513
+ $inverse-nav-primary-item-hover-color: $inverse-global-color !default;
514
+ $inverse-nav-primary-item-active-color: $inverse-global-emphasis-color !default;
515
+ $inverse-nav-primary-header-color: $inverse-global-emphasis-color !default;
516
+ $inverse-nav-primary-divider-border: $inverse-global-border !default;
517
+ $inverse-nav-primary-sublist-item-color: $inverse-global-muted-color !default;
518
+ $inverse-nav-primary-sublist-item-hover-color: $inverse-global-color !default;
519
+ $inverse-nav-primary-sublist-item-active-color: $inverse-global-emphasis-color !default;
520
+
521
+ $inverse-nav-secondary-item-color: $inverse-global-emphasis-color !default;
522
+ $inverse-nav-secondary-item-hover-color: $inverse-global-emphasis-color !default;
523
+ $inverse-nav-secondary-item-active-color: $inverse-global-emphasis-color !default;
524
+ $inverse-nav-secondary-subtitle-color: $inverse-global-muted-color !default;
525
+ $inverse-nav-secondary-subtitle-hover-color: $inverse-global-color !default;
526
+ $inverse-nav-secondary-subtitle-active-color: $inverse-global-emphasis-color !default;
527
+ $inverse-nav-secondary-header-color: $inverse-global-emphasis-color !default;
528
+ $inverse-nav-secondary-divider-border: $inverse-global-border !default;
529
+ $inverse-nav-secondary-sublist-item-color: $inverse-global-muted-color !default;
530
+ $inverse-nav-secondary-sublist-item-hover-color: $inverse-global-color !default;
531
+ $inverse-nav-secondary-sublist-item-active-color: $inverse-global-emphasis-color !default;
532
+
533
+ $inverse-nav-dividers-border: $inverse-global-border !default;
407
534
 
408
535
 
409
536
 
410
- // @mixin hook-inverse-nav-parent-icon(){}
411
537
  // @mixin hook-inverse-nav-default-item(){}
412
538
  // @mixin hook-inverse-nav-default-item-hover(){}
413
539
  // @mixin hook-inverse-nav-default-item-active(){}
@@ -418,4 +544,12 @@ $inverse-nav-dividers-border: $inverse-global-border !default
418
544
  // @mixin hook-inverse-nav-primary-item-active(){}
419
545
  // @mixin hook-inverse-nav-primary-header(){}
420
546
  // @mixin hook-inverse-nav-primary-divider(){}
547
+ // @mixin hook-inverse-nav-secondary-item(){}
548
+ // @mixin hook-inverse-nav-secondary-item-hover(){}
549
+ // @mixin hook-inverse-nav-secondary-item-active(){}
550
+ // @mixin hook-inverse-nav-secondary-subtitle(){}
551
+ // @mixin hook-inverse-nav-secondary-subtitle-hover(){}
552
+ // @mixin hook-inverse-nav-secondary-subtitle-active(){}
553
+ // @mixin hook-inverse-nav-secondary-header(){}
554
+ // @mixin hook-inverse-nav-secondary-divider(){}
421
555
  // @mixin hook-inverse-nav-dividers(){}