uikit 3.16.11-dev.85cdca725 → 3.16.11-dev.cc1aeb568

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 (64) hide show
  1. package/dist/css/uikit-core-rtl.css +1 -1
  2. package/dist/css/uikit-core-rtl.min.css +1 -1
  3. package/dist/css/uikit-core.css +1 -1
  4. package/dist/css/uikit-core.min.css +1 -1
  5. package/dist/css/uikit-rtl.css +1 -1
  6. package/dist/css/uikit-rtl.min.css +1 -1
  7. package/dist/css/uikit.css +1 -1
  8. package/dist/css/uikit.min.css +1 -1
  9. package/dist/js/components/countdown.js +1 -1
  10. package/dist/js/components/countdown.min.js +1 -1
  11. package/dist/js/components/filter.js +1 -1
  12. package/dist/js/components/filter.min.js +1 -1
  13. package/dist/js/components/lightbox-panel.js +7 -491
  14. package/dist/js/components/lightbox-panel.min.js +1 -1
  15. package/dist/js/components/lightbox.js +7 -491
  16. package/dist/js/components/lightbox.min.js +1 -1
  17. package/dist/js/components/notification.js +1 -1
  18. package/dist/js/components/notification.min.js +1 -1
  19. package/dist/js/components/parallax.js +1 -1
  20. package/dist/js/components/parallax.min.js +1 -1
  21. package/dist/js/components/slider-parallax.js +1 -1
  22. package/dist/js/components/slider-parallax.min.js +1 -1
  23. package/dist/js/components/slider.js +1 -1
  24. package/dist/js/components/slider.min.js +1 -1
  25. package/dist/js/components/slideshow-parallax.js +1 -1
  26. package/dist/js/components/slideshow-parallax.min.js +1 -1
  27. package/dist/js/components/slideshow.js +1 -1
  28. package/dist/js/components/slideshow.min.js +1 -1
  29. package/dist/js/components/sortable.js +1 -1
  30. package/dist/js/components/sortable.min.js +1 -1
  31. package/dist/js/components/tooltip.js +1 -1
  32. package/dist/js/components/tooltip.min.js +1 -1
  33. package/dist/js/components/upload.js +1 -1
  34. package/dist/js/components/upload.min.js +1 -1
  35. package/dist/js/uikit-core.js +155 -161
  36. package/dist/js/uikit-core.min.js +1 -1
  37. package/dist/js/uikit-icons.js +1 -1
  38. package/dist/js/uikit-icons.min.js +1 -1
  39. package/dist/js/uikit.js +155 -161
  40. package/dist/js/uikit.min.js +1 -1
  41. package/package.json +1 -1
  42. package/src/js/api/computed.js +47 -6
  43. package/src/js/api/hooks.js +9 -8
  44. package/src/js/api/observer.js +14 -32
  45. package/src/js/api/update.js +6 -1
  46. package/src/js/api/watch.js +6 -22
  47. package/src/js/core/drop.js +1 -1
  48. package/src/js/core/dropnav.js +23 -35
  49. package/src/js/core/img.js +6 -5
  50. package/src/js/core/navbar.js +17 -21
  51. package/src/js/core/scrollspy.js +6 -5
  52. package/src/js/core/switcher.js +5 -9
  53. package/src/js/core/toggle.js +3 -7
  54. package/src/js/{util → mixin/internal}/scroll.js +1 -5
  55. package/src/js/mixin/modal.js +1 -1
  56. package/tests/drop.html +0 -1
  57. package/tests/dropnav.html +1 -1
  58. package/tests/icon.html +0 -2
  59. package/tests/modal.html +0 -1
  60. package/tests/nav.html +0 -1
  61. package/tests/navbar.html +0 -1
  62. package/tests/progress.html +0 -1
  63. package/tests/scroll.html +0 -1
  64. package/tests/sticky-navbar.html +6 -6
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.16.11-dev.85cdca725",
5
+ "version": "3.16.11-dev.cc1aeb568",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -1,3 +1,5 @@
1
+ import { runWatches } from './watch';
2
+ import { callUpdate, prependUpdate } from './update';
1
3
  import { hasOwn, isUndefined } from 'uikit-util';
2
4
 
3
5
  export function initComputed(instance) {
@@ -12,13 +14,8 @@ export function initComputed(instance) {
12
14
  }
13
15
  }
14
16
 
15
- export function resetComputed(instance) {
16
- const values = { ...instance._computed };
17
- instance._computed = {};
18
- return values;
19
- }
20
-
21
17
  export function registerComputed(instance, key, cb) {
18
+ instance._hasComputed = true;
22
19
  Object.defineProperty(instance, key, {
23
20
  enumerable: true,
24
21
 
@@ -43,3 +40,47 @@ export function registerComputed(instance, key, cb) {
43
40
  },
44
41
  });
45
42
  }
43
+
44
+ export function initComputedUpdates(instance) {
45
+ if (!instance._hasComputed) {
46
+ return;
47
+ }
48
+
49
+ prependUpdate(instance, {
50
+ read: () => runWatches(instance, resetComputed(instance)),
51
+ events: ['resize', 'computed'],
52
+ });
53
+
54
+ registerComputedObserver();
55
+ instances.add(instance);
56
+ }
57
+
58
+ export function disconnectComputedUpdates(instance) {
59
+ instances?.delete(instance);
60
+ resetComputed(instance);
61
+ }
62
+
63
+ function resetComputed(instance) {
64
+ const values = { ...instance._computed };
65
+ instance._computed = {};
66
+ return values;
67
+ }
68
+
69
+ let observer;
70
+ let instances;
71
+ function registerComputedObserver() {
72
+ if (observer) {
73
+ return;
74
+ }
75
+
76
+ instances = new Set();
77
+ observer = new MutationObserver(() => {
78
+ for (const instance of instances) {
79
+ callUpdate(instance, 'computed');
80
+ }
81
+ });
82
+ observer.observe(document, {
83
+ childList: true,
84
+ subtree: true,
85
+ });
86
+ }
@@ -1,9 +1,10 @@
1
+ import { disconnectComputedUpdates, initComputedUpdates } from './computed';
1
2
  import { log } from './log';
2
3
  import { initWatches } from './watch';
3
- import { callUpdate, initUpdates } from './update';
4
+ import { callUpdate, clearUpdateData, initUpdates } from './update';
4
5
  import { initEvents, unbindEvents } from './events';
5
6
  import { initProps, initPropsObserver } from './props';
6
- import { disconnectObservers, initObservers, initWatchObserver } from './observer';
7
+ import { disconnectObservers, initObservers } from './observer';
7
8
 
8
9
  export function callHook(instance, hook) {
9
10
  LOG && log(instance, hook);
@@ -15,9 +16,6 @@ export function callConnected(instance) {
15
16
  return;
16
17
  }
17
18
 
18
- instance._data = {};
19
- instance._computed = {};
20
-
21
19
  initProps(instance);
22
20
 
23
21
  callHook(instance, 'beforeConnect');
@@ -29,7 +27,7 @@ export function callConnected(instance) {
29
27
  initObservers(instance);
30
28
 
31
29
  initPropsObserver(instance);
32
- initWatchObserver(instance);
30
+ initComputedUpdates(instance);
33
31
 
34
32
  callHook(instance, 'connected');
35
33
  callUpdate(instance);
@@ -41,10 +39,13 @@ export function callDisconnected(instance) {
41
39
  }
42
40
 
43
41
  callHook(instance, 'beforeDisconnect');
44
- disconnectObservers(instance);
42
+
45
43
  unbindEvents(instance);
44
+ clearUpdateData(instance);
45
+ disconnectObservers(instance);
46
+ disconnectComputedUpdates(instance);
47
+
46
48
  callHook(instance, 'disconnected');
47
49
 
48
50
  instance._connected = false;
49
- delete instance._watch;
50
51
  }
@@ -1,5 +1,5 @@
1
+ import { registerWatch } from './watch';
1
2
  import { registerComputed } from './computed';
2
- import { callWatches, registerWatch } from './watch';
3
3
  import { hasOwn, includes, isArray, isFunction, isString } from 'uikit-util';
4
4
 
5
5
  export function initObservers(instance) {
@@ -33,7 +33,7 @@ function registerObservable(instance, observable) {
33
33
  }
34
34
 
35
35
  const key = `_observe${instance._observers.length}`;
36
- if (isFunction(target) && !(key in instance)) {
36
+ if (isFunction(target) && !hasOwn(instance, key)) {
37
37
  registerComputed(instance, key, () => target.call(instance, instance));
38
38
  }
39
39
 
@@ -43,42 +43,24 @@ function registerObservable(instance, observable) {
43
43
  options = options.call(instance, instance);
44
44
  }
45
45
 
46
- const observer = observe(key in instance ? instance[key] : target, handler, options, args);
46
+ const targets = hasOwn(instance, key) ? instance[key] : target;
47
+ const observer = observe(targets, handler, options, args);
47
48
 
48
49
  if (isFunction(target) && isArray(instance[key]) && observer.unobserve) {
49
- registerWatch(
50
- instance,
51
- {
52
- handler(targets, prev) {
53
- for (const target of prev) {
54
- !includes(targets, target) && observer.unobserve(target);
55
- }
56
-
57
- for (const target of targets) {
58
- !includes(prev, target) && observer.observe(target);
59
- }
60
- },
61
- immediate: false,
62
- },
63
- key
64
- );
50
+ registerWatch(instance, { handler: updateTargets(observer), immediate: false }, key);
65
51
  }
66
52
 
67
53
  registerObserver(instance, observer);
68
54
  }
69
55
 
70
- export function initWatchObserver(instance) {
71
- let { el, computed } = instance.$options;
72
-
73
- if (!computed && !instance._watches) {
74
- return;
75
- }
76
-
77
- const observer = new MutationObserver(() => callWatches(instance));
78
- observer.observe(instance._observeTarget || el, {
79
- childList: true,
80
- subtree: true,
81
- });
56
+ function updateTargets(observer) {
57
+ return (targets, prev) => {
58
+ for (const target of prev) {
59
+ !includes(targets, target) && observer.unobserve(target);
60
+ }
82
61
 
83
- registerObserver(instance, observer);
62
+ for (const target of targets) {
63
+ !includes(prev, target) && observer.observe(target);
64
+ }
65
+ };
84
66
  }
@@ -1,6 +1,7 @@
1
1
  import { assign, fastdom, isPlainObject } from 'uikit-util';
2
2
 
3
3
  export function initUpdates(instance) {
4
+ instance._data = {};
4
5
  instance._updates = [...(instance.$options.update || [])];
5
6
  }
6
7
 
@@ -8,12 +9,16 @@ export function prependUpdate(instance, update) {
8
9
  instance._updates.unshift(update);
9
10
  }
10
11
 
12
+ export function clearUpdateData(instance) {
13
+ delete instance._data;
14
+ }
15
+
11
16
  export function callUpdate(instance, e = 'update') {
12
17
  if (!instance._connected) {
13
18
  return;
14
19
  }
15
20
 
16
- if (!instance.$options.update) {
21
+ if (!instance._updates.length) {
17
22
  return;
18
23
  }
19
24
 
@@ -1,5 +1,3 @@
1
- import { resetComputed } from './computed';
2
- import { prependUpdate } from './update';
3
1
  import { hasOwn, isEqual, isPlainObject } from 'uikit-util';
4
2
 
5
3
  export function initWatches(instance) {
@@ -10,7 +8,6 @@ export function initWatches(instance) {
10
8
  }
11
9
  }
12
10
  instance._initial = true;
13
- prependUpdate(instance, { read: () => callWatches(instance), events: ['resize'] });
14
11
  }
15
12
 
16
13
  export function registerWatch(instance, watch, name) {
@@ -18,30 +15,17 @@ export function registerWatch(instance, watch, name) {
18
15
  name,
19
16
  ...(isPlainObject(watch) ? watch : { handler: watch }),
20
17
  });
21
-
22
- if (watch.document) {
23
- instance._observeTarget = instance.$options.el.ownerDocumentocument;
24
- }
25
18
  }
26
19
 
27
- export function callWatches(instance) {
28
- if (!instance._connected) {
29
- return;
30
- }
31
-
32
- runWatches(instance, instance._initial);
33
- instance._initial = false;
34
- }
35
-
36
- function runWatches(instance, initial) {
37
- const values = resetComputed(instance);
38
-
20
+ export function runWatches(instance, values) {
39
21
  for (const { name, handler, immediate = true } of instance._watches) {
40
22
  if (
41
- (initial && immediate) ||
42
- (hasOwn(values, name) && !isEqual(values[name], instance[name]))
23
+ instance._initial
24
+ ? immediate
25
+ : hasOwn(values, name) && !isEqual(values[name], instance[name])
43
26
  ) {
44
- handler.call(instance, instance[name], initial ? undefined : values[name]);
27
+ handler.call(instance, instance[name], instance._initial ? undefined : values[name]);
45
28
  }
46
29
  }
30
+ instance._initial = false;
47
31
  }
@@ -3,7 +3,7 @@ import Position from '../mixin/position';
3
3
  import Container from '../mixin/container';
4
4
  import Togglable from '../mixin/togglable';
5
5
  import { keyMap } from '../util/keys';
6
- import { preventBackgroundScroll } from '../util/scroll';
6
+ import { preventBackgroundScroll } from '../mixin/internal/scroll';
7
7
  import {
8
8
  addClass,
9
9
  append,
@@ -105,45 +105,33 @@ export default {
105
105
  },
106
106
 
107
107
  watch: {
108
- dropbar: {
109
- handler(dropbar) {
110
- addClass(
111
- dropbar,
112
- 'uk-dropbar',
113
- 'uk-dropbar-top',
114
- this.clsDropbar,
115
- `uk-${this.$options.name}-dropbar`
116
- );
117
- },
118
-
119
- immediate: true,
108
+ dropbar(dropbar) {
109
+ addClass(
110
+ dropbar,
111
+ 'uk-dropbar',
112
+ 'uk-dropbar-top',
113
+ this.clsDropbar,
114
+ `uk-${this.$options.name}-dropbar`
115
+ );
120
116
  },
121
117
 
122
- dropdowns: {
123
- handler(dropdowns) {
124
- this.$create(
125
- 'drop',
126
- dropdowns.filter((el) => !this.getDropdown(el)),
127
- {
128
- ...this.$props,
129
- flip: false,
130
- shift: true,
131
- pos: `bottom-${this.align}`,
132
- boundary: this.boundary === true ? this.$el : this.boundary,
133
- }
134
- );
135
- },
136
-
137
- immediate: true,
118
+ dropdowns(dropdowns) {
119
+ this.$create(
120
+ 'drop',
121
+ dropdowns.filter((el) => !this.getDropdown(el)),
122
+ {
123
+ ...this.$props,
124
+ flip: false,
125
+ shift: true,
126
+ pos: `bottom-${this.align}`,
127
+ boundary: this.boundary === true ? this.$el : this.boundary,
128
+ }
129
+ );
138
130
  },
139
131
 
140
- items: {
141
- handler(items) {
142
- attr(items, 'tabindex', -1);
143
- attr(items[0], 'tabindex', 0);
144
- },
145
-
146
- immediate: true,
132
+ items(items) {
133
+ attr(items, 'tabindex', -1);
134
+ attr(items[0], 'tabindex', 0);
147
135
  },
148
136
  },
149
137
 
@@ -58,9 +58,10 @@ export default {
58
58
  },
59
59
 
60
60
  disconnected() {
61
- if (this._data.image) {
62
- this._data.image.onload = '';
61
+ if (this.img) {
62
+ this.img.onload = '';
63
63
  }
64
+ delete this.img;
64
65
  },
65
66
 
66
67
  observe: intersection({
@@ -75,8 +76,8 @@ export default {
75
76
 
76
77
  methods: {
77
78
  load() {
78
- if (this._data.image) {
79
- return this._data.image;
79
+ if (this.img) {
80
+ return this.img;
80
81
  }
81
82
 
82
83
  const image = isImg(this.$el)
@@ -85,7 +86,7 @@ export default {
85
86
 
86
87
  removeAttr(image, 'loading');
87
88
  setSrcAttrs(this.$el, image.currentSrc);
88
- return (this._data.image = image);
89
+ return (this.img = image);
89
90
  },
90
91
  },
91
92
  };
@@ -11,27 +11,23 @@ export default {
11
11
  },
12
12
 
13
13
  watch: {
14
- items: {
15
- handler() {
16
- const justify = hasClass(this.$el, 'uk-navbar-justify');
17
- for (const container of $$(
18
- '.uk-navbar-nav, .uk-navbar-left, .uk-navbar-right',
19
- this.$el
20
- )) {
21
- css(
22
- container,
23
- 'flexGrow',
24
- justify
25
- ? $$(
26
- '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle',
27
- container
28
- ).length
29
- : ''
30
- );
31
- }
32
- },
33
-
34
- immediate: true,
14
+ items() {
15
+ const justify = hasClass(this.$el, 'uk-navbar-justify');
16
+ for (const container of $$(
17
+ '.uk-navbar-nav, .uk-navbar-left, .uk-navbar-right',
18
+ this.$el
19
+ )) {
20
+ css(
21
+ container,
22
+ 'flexGrow',
23
+ justify
24
+ ? $$(
25
+ '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle',
26
+ container
27
+ ).length
28
+ : ''
29
+ );
30
+ }
35
31
  },
36
32
  },
37
33
  };
@@ -49,19 +49,20 @@ export default {
49
49
  },
50
50
 
51
51
  connected() {
52
- this._data.elements = new Map();
52
+ this.elementData = new Map();
53
53
  },
54
54
 
55
55
  disconnected() {
56
- for (const [el, state] of this._data.elements.entries()) {
56
+ for (const [el, state] of this.elementData.entries()) {
57
57
  removeClass(el, this.inViewClass, state?.cls || '');
58
58
  }
59
+ delete this.elementData;
59
60
  },
60
61
 
61
62
  observe: intersection({
62
63
  target: ({ elements }) => elements,
63
64
  handler(records) {
64
- const elements = this._data.elements;
65
+ const elements = this.elementData;
65
66
  for (const { target: el, isIntersecting } of records) {
66
67
  if (!elements.has(el)) {
67
68
  elements.set(el, {
@@ -86,7 +87,7 @@ export default {
86
87
  update: [
87
88
  {
88
89
  write(data) {
89
- for (const [el, state] of data.elements.entries()) {
90
+ for (const [el, state] of this.elementData.entries()) {
90
91
  if (state.show && !state.inview && !state.queued) {
91
92
  state.queued = true;
92
93
 
@@ -109,7 +110,7 @@ export default {
109
110
 
110
111
  methods: {
111
112
  toggle(el, inview) {
112
- const state = this._data.elements.get(el);
113
+ const state = this.elementData.get(el);
113
114
 
114
115
  if (!state) {
115
116
  return;
@@ -71,15 +71,11 @@ export default {
71
71
  },
72
72
 
73
73
  watch: {
74
- connects: {
75
- handler(connects) {
76
- if (this.swiping) {
77
- css(connects, 'touchAction', 'pan-y pinch-zoom');
78
- }
79
- this.$emit();
80
- },
81
-
82
- document: true,
74
+ connects(connects) {
75
+ if (this.swiping) {
76
+ css(connects, 'touchAction', 'pan-y pinch-zoom');
77
+ }
78
+ this.$emit();
83
79
  },
84
80
 
85
81
  connectChildren() {
@@ -42,13 +42,9 @@ export default {
42
42
  },
43
43
 
44
44
  computed: {
45
- target: {
46
- get({ href, target }, $el) {
47
- target = queryAll(target || href, $el);
48
- return (target.length && target) || [$el];
49
- },
50
-
51
- document: true,
45
+ target({ href, target }, $el) {
46
+ target = queryAll(target || href, $el);
47
+ return (target.length && target) || [$el];
52
48
  },
53
49
  },
54
50
 
@@ -1,8 +1,4 @@
1
- import { width } from './dimensions';
2
- import { on } from './event';
3
- import { matches } from './filter';
4
- import { css } from './style';
5
- import { scrollParents } from './viewport';
1
+ import { css, matches, on, scrollParents, width } from 'uikit-util';
6
2
 
7
3
  let prevented;
8
4
  export function preventBackgroundScroll(el) {
@@ -23,7 +23,7 @@ import {
23
23
  toFloat,
24
24
  within,
25
25
  } from 'uikit-util';
26
- import { preventBackgroundScroll } from '../util/scroll';
26
+ import { preventBackgroundScroll } from './internal/scroll';
27
27
 
28
28
  const active = [];
29
29
 
package/tests/drop.html CHANGED
@@ -360,7 +360,6 @@
360
360
  </div>
361
361
  <div class="uk-flex uk-flex-between uk-flex-wrap gap">
362
362
 
363
-
364
363
  <div>
365
364
  <button class="uk-button uk-button-default" type="button">Bottom Right</button>
366
365
  <div class="js-options uk-dropdown" uk-drop="pos: bottom-right">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
@@ -807,7 +807,7 @@
807
807
  </tbody>
808
808
  </table>
809
809
  </div>
810
-
810
+
811
811
  </div>
812
812
 
813
813
  <script>
package/tests/icon.html CHANGED
@@ -120,7 +120,6 @@
120
120
  <li><span class="uk-margin-small-right" uk-icon="icon: tablet-landscape"></span> tablet-landscape</li>
121
121
  <li><span class="uk-margin-small-right" uk-icon="icon: phone-landscape"></span> phone-landscape</li>
122
122
 
123
-
124
123
  </ul>
125
124
 
126
125
  </div>
@@ -386,7 +385,6 @@
386
385
  <li><a class="uk-icon-link" href="#" uk-icon="icon: yelp"></a></li>
387
386
  <li><a class="uk-icon-link" href="#" uk-icon="icon: youtube"></a></li>
388
387
 
389
-
390
388
  </ul>
391
389
 
392
390
  <h2>Button</h2>
package/tests/modal.html CHANGED
@@ -138,7 +138,6 @@
138
138
 
139
139
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
140
140
 
141
-
142
141
  <h2>JavaScript Options</h2>
143
142
 
144
143
  <div class="uk-overflow-auto">
package/tests/nav.html CHANGED
@@ -441,6 +441,5 @@
441
441
 
442
442
  </script>
443
443
 
444
-
445
444
  </body>
446
445
  </html>
package/tests/navbar.html CHANGED
@@ -1575,7 +1575,6 @@
1575
1575
  </div>
1576
1576
  </nav>
1577
1577
 
1578
-
1579
1578
  <div class="uk-container uk-margin-medium-top">
1580
1579
 
1581
1580
  <h2>Icons and Subtitles</h2>
@@ -55,6 +55,5 @@
55
55
 
56
56
  </script>
57
57
 
58
-
59
58
  </body>
60
59
  </html>
package/tests/scroll.html CHANGED
@@ -76,7 +76,6 @@
76
76
  </div>
77
77
  </div>
78
78
 
79
-
80
79
  </div>
81
80
 
82
81
  <a id="bottom" class="uk-button uk-button-default" href uk-scroll>Go Up!</a>
@@ -91,7 +91,7 @@
91
91
  <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
92
92
  </ul>
93
93
  </div>
94
-
94
+
95
95
  </div>
96
96
  </div>
97
97
  </div>
@@ -192,7 +192,7 @@
192
192
  <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
193
193
  </ul>
194
194
  </div>
195
-
195
+
196
196
  </div>
197
197
  </div>
198
198
  </div>
@@ -293,7 +293,7 @@
293
293
  <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
294
294
  </ul>
295
295
  </div>
296
-
296
+
297
297
  </div>
298
298
  </div>
299
299
  </div>
@@ -394,7 +394,7 @@
394
394
  <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
395
395
  </ul>
396
396
  </div>
397
-
397
+
398
398
  </div>
399
399
  </div>
400
400
  </div>
@@ -497,7 +497,7 @@
497
497
  <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
498
498
  </ul>
499
499
  </div>
500
-
500
+
501
501
  </div>
502
502
  </div>
503
503
  </div>
@@ -602,7 +602,7 @@
602
602
  <li><a href="#"><span class="uk-margin-small-right" uk-icon="icon: trash"></span> Item</a></li>
603
603
  </ul>
604
604
  </div>
605
-
605
+
606
606
  </div>
607
607
  </div>
608
608
  </div>