uikit 3.15.23-dev.0a3f7fb6d → 3.15.23-dev.7b7e06a3a

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 (68) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/util.js +22 -24
  3. package/dist/css/uikit-core-rtl.css +9 -5
  4. package/dist/css/uikit-core-rtl.min.css +1 -1
  5. package/dist/css/uikit-core.css +9 -5
  6. package/dist/css/uikit-core.min.css +1 -1
  7. package/dist/css/uikit-rtl.css +9 -5
  8. package/dist/css/uikit-rtl.min.css +1 -1
  9. package/dist/css/uikit.css +9 -5
  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 +2 -2
  13. package/dist/js/components/filter.js +1 -1
  14. package/dist/js/components/filter.min.js +2 -2
  15. package/dist/js/components/lightbox-panel.js +14 -61
  16. package/dist/js/components/lightbox-panel.min.js +2 -2
  17. package/dist/js/components/lightbox.js +14 -61
  18. package/dist/js/components/lightbox.min.js +2 -2
  19. package/dist/js/components/notification.js +1 -1
  20. package/dist/js/components/notification.min.js +2 -2
  21. package/dist/js/components/parallax.js +1 -1
  22. package/dist/js/components/parallax.min.js +2 -2
  23. package/dist/js/components/slider-parallax.js +1 -1
  24. package/dist/js/components/slider-parallax.min.js +2 -2
  25. package/dist/js/components/slider.js +1 -1
  26. package/dist/js/components/slider.min.js +2 -2
  27. package/dist/js/components/slideshow-parallax.js +1 -1
  28. package/dist/js/components/slideshow-parallax.min.js +2 -2
  29. package/dist/js/components/slideshow.js +1 -1
  30. package/dist/js/components/slideshow.min.js +2 -2
  31. package/dist/js/components/sortable.js +1 -1
  32. package/dist/js/components/sortable.min.js +2 -2
  33. package/dist/js/components/tooltip.js +1 -1
  34. package/dist/js/components/tooltip.min.js +2 -2
  35. package/dist/js/components/upload.js +1 -1
  36. package/dist/js/components/upload.min.js +2 -2
  37. package/dist/js/uikit-core.js +25 -73
  38. package/dist/js/uikit-core.min.js +2 -2
  39. package/dist/js/uikit-icons.js +1 -1
  40. package/dist/js/uikit-icons.min.js +2 -2
  41. package/dist/js/uikit.js +25 -73
  42. package/dist/js/uikit.min.js +2 -2
  43. package/package.json +1 -1
  44. package/src/images/components/subnav-parent-icon.svg +3 -0
  45. package/src/js/core/drop.js +8 -13
  46. package/src/js/core/icon.js +2 -0
  47. package/src/js/core/index.js +1 -0
  48. package/src/js/mixin/modal.js +22 -71
  49. package/src/less/components/form.less +7 -1
  50. package/src/less/components/modal.less +0 -1
  51. package/src/less/components/offcanvas.less +0 -1
  52. package/src/less/components/subnav.less +12 -0
  53. package/src/less/components/utility.less +1 -5
  54. package/src/less/theme/form.less +9 -1
  55. package/src/scss/components/form.scss +3 -0
  56. package/src/scss/components/modal.scss +0 -1
  57. package/src/scss/components/offcanvas.scss +0 -1
  58. package/src/scss/components/subnav.scss +12 -0
  59. package/src/scss/components/utility.scss +1 -5
  60. package/src/scss/mixins-theme.scss +6 -1
  61. package/src/scss/mixins.scss +6 -1
  62. package/src/scss/theme/form.scss +9 -0
  63. package/src/scss/variables-theme.scss +1 -0
  64. package/src/scss/variables.scss +1 -0
  65. package/tests/dropdown.html +0 -1
  66. package/tests/index.html +42 -3
  67. package/tests/navbar.html +0 -1
  68. package/tests/subnav.html +35 -38
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "uikit",
3
3
  "title": "UIkit",
4
4
  "description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
5
- "version": "3.15.23-dev.0a3f7fb6d",
5
+ "version": "3.15.23-dev.7b7e06a3a",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
2
+ <polyline fill="none" stroke="#000" stroke-width="1.1" points="1 3.5 6 8.5 11 3.5"/>
3
+ </svg>
@@ -29,7 +29,7 @@ import {
29
29
  removeClass,
30
30
  within,
31
31
  } from 'uikit-util';
32
- import { isSameSiteAnchor, preventBackgroundScroll, preventOverscroll } from '../mixin/modal';
32
+ import { isSameSiteAnchor, preventBackgroundScroll } from '../mixin/modal';
33
33
 
34
34
  export let active;
35
35
 
@@ -302,20 +302,15 @@ export default {
302
302
  return () => observer.disconnect();
303
303
  })(),
304
304
 
305
- ...(this.autoUpdate
306
- ? [
307
- on([document, overflowParents(this.$el)], 'scroll', update, {
308
- passive: true,
309
- }),
310
- ]
311
- : []),
312
-
313
- ...(this.bgScroll
314
- ? []
315
- : [preventOverscroll(this.$el), preventBackgroundScroll()]),
305
+ this.autoUpdate &&
306
+ on([document, ...overflowParents(this.$el)], 'scroll', update, {
307
+ passive: true,
308
+ }),
309
+
310
+ this.bgScroll && preventBackgroundScroll(this.$el),
316
311
  ];
317
312
 
318
- once(this.$el, 'hide', () => handlers.forEach((handler) => handler()), {
313
+ once(this.$el, 'hide', () => handlers.forEach((handler) => handler?.()), {
319
314
  self: true,
320
315
  });
321
316
  },
@@ -17,6 +17,7 @@ import slidenavNextLarge from '../../images/components/slidenav-next-large.svg';
17
17
  import slidenavPrevious from '../../images/components/slidenav-previous.svg';
18
18
  import slidenavPreviousLarge from '../../images/components/slidenav-previous-large.svg';
19
19
  import spinner from '../../images/components/spinner.svg';
20
+ import subnavParentIcon from '../../images/components/subnav-parent-icon.svg';
20
21
  import totop from '../../images/components/totop.svg';
21
22
  import {
22
23
  $,
@@ -53,6 +54,7 @@ const icons = {
53
54
  'slidenav-next-large': slidenavNextLarge,
54
55
  'slidenav-previous': slidenavPrevious,
55
56
  'slidenav-previous-large': slidenavPreviousLarge,
57
+ 'subnav-parent-icon': subnavParentIcon,
56
58
  };
57
59
 
58
60
  const Icon = {
@@ -40,3 +40,4 @@ export { IconComponent as OverlayIcon } from './icon';
40
40
  export { IconComponent as PaginationNext } from './icon';
41
41
  export { IconComponent as PaginationPrevious } from './icon';
42
42
  export { IconComponent as Totop } from './icon';
43
+ export { IconComponent as SubnavParentIcon } from './icon';
@@ -2,7 +2,6 @@ import {
2
2
  $,
3
3
  addClass,
4
4
  append,
5
- apply,
6
5
  attr,
7
6
  css,
8
7
  endsWith,
@@ -10,7 +9,6 @@ import {
10
9
  isFocusable,
11
10
  last,
12
11
  matches,
13
- noop,
14
12
  on,
15
13
  once,
16
14
  parent,
@@ -148,8 +146,7 @@ export default {
148
146
  );
149
147
 
150
148
  if (this.overlay) {
151
- once(this.$el, 'hidden', preventOverscroll(this.$el), { self: true });
152
- once(this.$el, 'hidden', preventBackgroundScroll(), { self: true });
149
+ once(this.$el, 'hidden', preventBackgroundScroll(this.$el), { self: true });
153
150
  }
154
151
 
155
152
  if (this.stack) {
@@ -294,90 +291,44 @@ function toMs(time) {
294
291
  return time ? (endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000) : 0;
295
292
  }
296
293
 
297
- export function preventOverscroll(el) {
298
- if (CSS.supports('overscroll-behavior', 'contain')) {
299
- const elements = [
300
- el,
301
- ...filterChildren(el, (child) => /auto|scroll/.test(css(child, 'overflow'))),
302
- ];
303
- css(elements, 'overscrollBehavior', 'contain');
304
- return () => css(elements, 'overscrollBehavior', '');
305
- }
306
-
307
- let startClientY;
308
-
309
- const events = [
310
- on(
311
- el,
312
- 'touchstart',
313
- ({ targetTouches }) => {
314
- if (targetTouches.length === 1) {
315
- startClientY = targetTouches[0].clientY;
316
- }
317
- },
318
- { passive: true }
319
- ),
320
-
321
- on(
322
- el,
323
- 'touchmove',
324
- (e) => {
325
- if (e.targetTouches.length !== 1) {
326
- return;
327
- }
328
-
329
- let [scrollParent] = scrollParents(e.target);
330
- if (!within(scrollParent, el)) {
331
- scrollParent = el;
332
- }
294
+ let prevented;
295
+ export function preventBackgroundScroll(el) {
296
+ // 'overscroll-behavior: contain' only works consistently if el overflows (Safari)
297
+ const off = on(
298
+ el,
299
+ 'touchmove',
300
+ (e) => {
301
+ if (e.targetTouches.length !== 1) {
302
+ return;
303
+ }
333
304
 
334
- const clientY = e.targetTouches[0].clientY - startClientY;
335
- const { scrollTop, scrollHeight, clientHeight } = scrollParent;
305
+ let [{ scrollHeight, clientHeight }] = scrollParents(e.target);
336
306
 
337
- if (
338
- clientHeight >= scrollHeight ||
339
- (scrollTop === 0 && clientY > 0) ||
340
- (scrollHeight - scrollTop <= clientHeight && clientY < 0)
341
- ) {
342
- e.cancelable && e.preventDefault();
343
- }
344
- },
345
- { passive: false }
346
- ),
347
- ];
348
-
349
- return () => events.forEach((fn) => fn());
350
- }
307
+ if (clientHeight >= scrollHeight && e.cancelable) {
308
+ e.preventDefault();
309
+ }
310
+ },
311
+ { passive: false }
312
+ );
351
313
 
352
- let prevented;
353
- export function preventBackgroundScroll() {
354
314
  if (prevented) {
355
- return noop;
315
+ return off;
356
316
  }
357
317
  prevented = true;
358
318
 
359
319
  const { scrollingElement } = document;
360
320
  css(scrollingElement, {
361
- overflowY: 'hidden',
321
+ overflowY: CSS.supports('overflow', 'clip') ? 'clip' : 'hidden',
362
322
  touchAction: 'none',
363
- paddingRight: width(window) - scrollingElement.clientWidth,
323
+ paddingRight: width(window) - scrollingElement.clientWidth || '',
364
324
  });
365
325
  return () => {
366
326
  prevented = false;
327
+ off();
367
328
  css(scrollingElement, { overflowY: '', touchAction: '', paddingRight: '' });
368
329
  };
369
330
  }
370
331
 
371
- function filterChildren(el, fn) {
372
- const children = [];
373
- apply(el, (node) => {
374
- if (fn(node)) {
375
- children.push(node);
376
- }
377
- });
378
- return children;
379
- }
380
-
381
332
  export function isSameSiteAnchor(a) {
382
333
  return ['origin', 'pathname', 'search'].every((part) => a[part] === location[part]);
383
334
  }
@@ -710,6 +710,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
710
710
  align-items: center;
711
711
  /* 4 */
712
712
  color: @form-icon-color;
713
+ .hook-form-icon();
713
714
  }
714
715
 
715
716
  /*
@@ -765,6 +766,7 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
765
766
  .hook-form-label() {}
766
767
  .hook-form-stacked-label() {}
767
768
  .hook-form-horizontal-label() {}
769
+ .hook-form-icon() {}
768
770
  .hook-form-misc() {}
769
771
 
770
772
 
@@ -875,7 +877,10 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
875
877
  }
876
878
 
877
879
  // Icon
878
- .uk-form-icon { color: @inverse-form-icon-color; }
880
+ .uk-form-icon {
881
+ color: @inverse-form-icon-color;
882
+ .hook-inverse-form-icon();
883
+ }
879
884
  .uk-form-icon:hover { color: @inverse-form-icon-hover-color; }
880
885
 
881
886
  }
@@ -887,3 +892,4 @@ select.uk-form-width-xsmall { width: (@form-width-xsmall + 25px); }
887
892
  .hook-inverse-form-radio-checked() {}
888
893
  .hook-inverse-form-radio-checked-focus() {}
889
894
  .hook-inverse-form-label() {}
895
+ .hook-inverse-form-icon() {}
@@ -94,7 +94,6 @@
94
94
  z-index: @modal-z-index;
95
95
  /* 3 */
96
96
  overflow-y: auto;
97
- -webkit-overflow-scrolling: touch;
98
97
  /* 4 */
99
98
  padding: @modal-padding-vertical @modal-padding-horizontal;
100
99
  /* 5 */
@@ -95,7 +95,6 @@
95
95
  background: @offcanvas-bar-background;
96
96
  /* 3 */
97
97
  overflow-y: auto;
98
- -webkit-overflow-scrolling: touch;
99
98
  .hook-offcanvas-bar();
100
99
  }
101
100
 
@@ -3,6 +3,8 @@
3
3
  //
4
4
  // Component: `uk-subnav`
5
5
  //
6
+ // Sub-objects: `uk-subnav-parent-icon`
7
+ //
6
8
  // Modifiers: `uk-subnav-divider`
7
9
  // `uk-subnav-pill`
8
10
  //
@@ -22,6 +24,8 @@
22
24
  @subnav-item-hover-text-decoration: none;
23
25
  @subnav-item-active-color: @global-emphasis-color;
24
26
 
27
+ @subnav-parent-icon-margin-left: 4px;
28
+
25
29
  @subnav-divider-margin-horizontal: @subnav-margin-horizontal;
26
30
  @subnav-divider-border-height: 1.5em;
27
31
  @subnav-divider-border-width: @global-border-width;
@@ -118,6 +122,14 @@
118
122
  }
119
123
 
120
124
 
125
+ /* Parent icon modifier
126
+ ========================================================================== */
127
+
128
+ .uk-subnav-parent-icon { margin-left: @subnav-parent-icon-margin-left; }
129
+
130
+ .uk-subnav > li > a[aria-expanded="true"] .uk-subnav-parent-icon { transform: rotate(180deg); }
131
+
132
+
121
133
  /* Divider modifier
122
134
  ========================================================================== */
123
135
 
@@ -87,7 +87,6 @@
87
87
  padding: @panel-scrollable-padding;
88
88
  border: @panel-scrollable-border-width solid @panel-scrollable-border;
89
89
  overflow: auto;
90
- -webkit-overflow-scrolling: touch;
91
90
  resize: both;
92
91
  .hook-panel-scrollable();
93
92
  }
@@ -139,10 +138,7 @@
139
138
  * Enable scrollbars if content is clipped
140
139
  */
141
140
 
142
- .uk-overflow-auto {
143
- overflow: auto;
144
- -webkit-overflow-scrolling: touch;
145
- }
141
+ .uk-overflow-auto { overflow: auto; }
146
142
 
147
143
  .uk-overflow-auto > :last-child { margin-bottom: 0; }
148
144
 
@@ -123,6 +123,12 @@
123
123
  .hook-form-horizontal-label() {}
124
124
 
125
125
 
126
+ // Icon
127
+ // ========================================================================
128
+
129
+ .hook-form-icon() {}
130
+
131
+
126
132
  // Miscellaneous
127
133
  // ========================================================================
128
134
 
@@ -143,4 +149,6 @@
143
149
  .hook-inverse-form-radio-checked() { border-color: @inverse-global-primary-background; }
144
150
  .hook-inverse-form-radio-checked-focus() {}
145
151
 
146
- .hook-inverse-form-label() { color: @inverse-form-label-color; }
152
+ .hook-inverse-form-label() { color: @inverse-form-label-color; }
153
+
154
+ .hook-inverse-form-icon() {}
@@ -710,6 +710,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
710
710
  align-items: center;
711
711
  /* 4 */
712
712
  color: $form-icon-color;
713
+ @if(mixin-exists(hook-form-icon)) {@include hook-form-icon();}
713
714
  }
714
715
 
715
716
  /*
@@ -765,6 +766,7 @@ select.uk-form-width-xsmall { width: ($form-width-xsmall + 25px); }
765
766
  // @mixin hook-form-label(){}
766
767
  // @mixin hook-form-stacked-label(){}
767
768
  // @mixin hook-form-horizontal-label(){}
769
+ // @mixin hook-form-icon(){}
768
770
  // @mixin hook-form-misc(){}
769
771
 
770
772
 
@@ -802,3 +804,4 @@ $inverse-form-icon-hover-color: $inverse-global-color !default;
802
804
  // @mixin hook-inverse-form-radio-checked(){}
803
805
  // @mixin hook-inverse-form-radio-checked-focus(){}
804
806
  // @mixin hook-inverse-form-label(){}
807
+ // @mixin hook-inverse-form-icon(){}
@@ -94,7 +94,6 @@ $modal-close-outside-hover-color: $global-inverse-color !default;
94
94
  z-index: $modal-z-index;
95
95
  /* 3 */
96
96
  overflow-y: auto;
97
- -webkit-overflow-scrolling: touch;
98
97
  /* 4 */
99
98
  padding: $modal-padding-vertical $modal-padding-horizontal;
100
99
  /* 5 */
@@ -95,7 +95,6 @@ $offcanvas-overlay-background: rgba(0,0,0,0.1) !default;
95
95
  background: $offcanvas-bar-background;
96
96
  /* 3 */
97
97
  overflow-y: auto;
98
- -webkit-overflow-scrolling: touch;
99
98
  @if(mixin-exists(hook-offcanvas-bar)) {@include hook-offcanvas-bar();}
100
99
  }
101
100
 
@@ -3,6 +3,8 @@
3
3
  //
4
4
  // Component: `uk-subnav`
5
5
  //
6
+ // Sub-objects: `uk-subnav-parent-icon`
7
+ //
6
8
  // Modifiers: `uk-subnav-divider`
7
9
  // `uk-subnav-pill`
8
10
  //
@@ -22,6 +24,8 @@ $subnav-item-hover-color: $global-color !default;
22
24
  $subnav-item-hover-text-decoration: none !default;
23
25
  $subnav-item-active-color: $global-emphasis-color !default;
24
26
 
27
+ $subnav-parent-icon-margin-left: 4px !default;
28
+
25
29
  $subnav-divider-margin-horizontal: $subnav-margin-horizontal !default;
26
30
  $subnav-divider-border-height: 1.5em !default;
27
31
  $subnav-divider-border-width: $global-border-width !default;
@@ -118,6 +122,14 @@ $subnav-item-disabled-color: $global-muted-color !default;
118
122
  }
119
123
 
120
124
 
125
+ /* Parent icon modifier
126
+ ========================================================================== */
127
+
128
+ .uk-subnav-parent-icon { margin-left: $subnav-parent-icon-margin-left; }
129
+
130
+ .uk-subnav > li > a[aria-expanded="true"] .uk-subnav-parent-icon { transform: rotate(180deg); }
131
+
132
+
121
133
  /* Divider modifier
122
134
  ========================================================================== */
123
135
 
@@ -87,7 +87,6 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
87
87
  padding: $panel-scrollable-padding;
88
88
  border: $panel-scrollable-border-width solid $panel-scrollable-border;
89
89
  overflow: auto;
90
- -webkit-overflow-scrolling: touch;
91
90
  resize: both;
92
91
  @if(mixin-exists(hook-panel-scrollable)) {@include hook-panel-scrollable();}
93
92
  }
@@ -139,10 +138,7 @@ $dragover-box-shadow: 0 0 20px rgba(100,100,100,0.3)
139
138
  * Enable scrollbars if content is clipped
140
139
  */
141
140
 
142
- .uk-overflow-auto {
143
- overflow: auto;
144
- -webkit-overflow-scrolling: touch;
145
- }
141
+ .uk-overflow-auto { overflow: auto; }
146
142
 
147
143
  .uk-overflow-auto > :last-child { margin-bottom: 0; }
148
144
 
@@ -858,6 +858,7 @@
858
858
  }
859
859
  @mixin hook-form-stacked-label(){}
860
860
  @mixin hook-form-horizontal-label(){}
861
+ @mixin hook-form-icon(){}
861
862
  @mixin hook-form-misc(){}
862
863
  @mixin hook-inverse-form(){ border-color: $inverse-global-border; }
863
864
  @mixin hook-inverse-form-focus(){ border-color: $inverse-global-color; }
@@ -866,6 +867,7 @@
866
867
  @mixin hook-inverse-form-radio-checked(){ border-color: $inverse-global-primary-background; }
867
868
  @mixin hook-inverse-form-radio-checked-focus(){}
868
869
  @mixin hook-inverse-form-label(){ color: $inverse-form-label-color; }
870
+ @mixin hook-inverse-form-icon(){}
869
871
  @mixin hook-inverse-component-form(){
870
872
 
871
873
  .uk-input,
@@ -948,7 +950,10 @@
948
950
  }
949
951
 
950
952
  // Icon
951
- .uk-form-icon { color: $inverse-form-icon-color; }
953
+ .uk-form-icon {
954
+ color: $inverse-form-icon-color;
955
+ @if(mixin-exists(hook-inverse-form-icon)) {@include hook-inverse-form-icon();}
956
+ }
952
957
  .uk-form-icon:hover { color: $inverse-form-icon-hover-color; }
953
958
 
954
959
  }
@@ -618,6 +618,7 @@
618
618
  @mixin hook-form-label(){}
619
619
  @mixin hook-form-stacked-label(){}
620
620
  @mixin hook-form-horizontal-label(){}
621
+ @mixin hook-form-icon(){}
621
622
  @mixin hook-form-misc(){}
622
623
  @mixin hook-inverse-form(){}
623
624
  @mixin hook-inverse-form-focus(){}
@@ -626,6 +627,7 @@
626
627
  @mixin hook-inverse-form-radio-checked(){}
627
628
  @mixin hook-inverse-form-radio-checked-focus(){}
628
629
  @mixin hook-inverse-form-label(){}
630
+ @mixin hook-inverse-form-icon(){}
629
631
  @mixin hook-inverse-component-form(){
630
632
 
631
633
  .uk-input,
@@ -708,7 +710,10 @@
708
710
  }
709
711
 
710
712
  // Icon
711
- .uk-form-icon { color: $inverse-form-icon-color; }
713
+ .uk-form-icon {
714
+ color: $inverse-form-icon-color;
715
+ @if(mixin-exists(hook-inverse-form-icon)) {@include hook-inverse-form-icon();}
716
+ }
712
717
  .uk-form-icon:hover { color: $inverse-form-icon-hover-color; }
713
718
 
714
719
  }
@@ -109,6 +109,12 @@ $form-label-font-size: $global-small-font-size !defaul
109
109
  // @mixin hook-form-horizontal-label(){}
110
110
 
111
111
 
112
+ // Icon
113
+ // ========================================================================
114
+
115
+ // @mixin hook-form-icon(){}
116
+
117
+
112
118
  // Miscellaneous
113
119
  // ========================================================================
114
120
 
@@ -129,3 +135,6 @@ $inverse-form-label-color: $inverse-global-emphasis-color
129
135
 
130
136
  // @mixin hook-inverse-form-radio-checked-focus(){}
131
137
 
138
+
139
+
140
+ // @mixin hook-inverse-form-icon(){}
@@ -976,6 +976,7 @@ $subnav-item-color: $global-muted-color !default;
976
976
  $subnav-item-hover-color: $global-color !default;
977
977
  $subnav-item-hover-text-decoration: none !default;
978
978
  $subnav-item-active-color: $global-emphasis-color !default;
979
+ $subnav-parent-icon-margin-left: 4px !default;
979
980
  $subnav-divider-margin-horizontal: $subnav-margin-horizontal !default;
980
981
  $subnav-divider-border-height: 1.5em !default;
981
982
  $subnav-divider-border-width: $global-border-width !default;
@@ -974,6 +974,7 @@ $subnav-item-color: $global-muted-color !default;
974
974
  $subnav-item-hover-color: $global-color !default;
975
975
  $subnav-item-hover-text-decoration: none !default;
976
976
  $subnav-item-active-color: $global-emphasis-color !default;
977
+ $subnav-parent-icon-margin-left: 4px !default;
977
978
  $subnav-divider-margin-horizontal: $subnav-margin-horizontal !default;
978
979
  $subnav-divider-border-height: 1.5em !default;
979
980
  $subnav-divider-border-width: $global-border-width !default;
@@ -18,7 +18,6 @@
18
18
  padding: 15px;
19
19
  border: 1px dashed rgba(0,0,0,0.2);
20
20
  overflow: auto;
21
- -webkit-overflow-scrolling: touch;
22
21
  }
23
22
 
24
23
  </style>
package/tests/index.html CHANGED
@@ -590,7 +590,20 @@
590
590
 
591
591
  <ul class="uk-subnav uk-subnav-divider" uk-margin>
592
592
  <li class="uk-active"><a href="#">Active</a></li>
593
- <li><a href="#">Item</a></li>
593
+ <li>
594
+ <a href="#">Parent <span uk-subnav-parent-icon></span></a>
595
+ <div uk-dropdown="mode: click">
596
+ <ul class="uk-nav uk-dropdown-nav">
597
+ <li class="uk-active"><a href="#">Active</a></li>
598
+ <li><a href="#">Item</a></li>
599
+ <li class="uk-nav-header">Header</li>
600
+ <li><a href="#">Item</a></li>
601
+ <li><a href="#">Item</a></li>
602
+ <li class="uk-nav-divider"></li>
603
+ <li><a href="#">Item</a></li>
604
+ </ul>
605
+ </div>
606
+ </li>
594
607
  <li class="uk-disabled"><a>Disabled</a></li>
595
608
  </ul>
596
609
 
@@ -599,7 +612,20 @@
599
612
 
600
613
  <ul class="uk-subnav uk-subnav-pill" uk-margin>
601
614
  <li class="uk-active"><a href="#">Active</a></li>
602
- <li><a href="#">Item</a></li>
615
+ <li>
616
+ <a href="#">Parent <span uk-subnav-parent-icon></span></a>
617
+ <div uk-dropdown="mode: click">
618
+ <ul class="uk-nav uk-dropdown-nav">
619
+ <li class="uk-active"><a href="#">Active</a></li>
620
+ <li><a href="#">Item</a></li>
621
+ <li class="uk-nav-header">Header</li>
622
+ <li><a href="#">Item</a></li>
623
+ <li><a href="#">Item</a></li>
624
+ <li class="uk-nav-divider"></li>
625
+ <li><a href="#">Item</a></li>
626
+ </ul>
627
+ </div>
628
+ </li>
603
629
  <li class="uk-disabled"><a>Disabled</a></li>
604
630
  </ul>
605
631
 
@@ -608,7 +634,20 @@
608
634
 
609
635
  <ul uk-tab>
610
636
  <li class="uk-active"><a href="#">Active</a></li>
611
- <li><a href="#">Item</a></li>
637
+ <li>
638
+ <a href="#">Parent <span uk-subnav-parent-icon></span></a>
639
+ <div uk-dropdown="mode: click">
640
+ <ul class="uk-nav uk-dropdown-nav">
641
+ <li class="uk-active"><a href="#">Active</a></li>
642
+ <li><a href="#">Item</a></li>
643
+ <li class="uk-nav-header">Header</li>
644
+ <li><a href="#">Item</a></li>
645
+ <li><a href="#">Item</a></li>
646
+ <li class="uk-nav-divider"></li>
647
+ <li><a href="#">Item</a></li>
648
+ </ul>
649
+ </div>
650
+ </li>
612
651
  <li class="uk-disabled"><a>Disabled</a></li>
613
652
  </ul>
614
653
 
package/tests/navbar.html CHANGED
@@ -19,7 +19,6 @@
19
19
  .scroll-container {
20
20
  border: 1px dashed rgba(0,0,0,0.2);
21
21
  overflow: auto;
22
- -webkit-overflow-scrolling: touch;
23
22
  }
24
23
 
25
24
  </style>