@frollo/frollo-web-ui 4.0.0 → 5.0.0

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 (56) hide show
  1. package/cjs/index.js +908 -497
  2. package/esm/{es.number.constructor-1249bd78.js → es.number.constructor-d6ff8874.js} +13 -4
  3. package/esm/{es.string.iterator-284b31d4.js → es.string.iterator-590198a8.js} +1 -2
  4. package/esm/fw-accordion.js +61 -28
  5. package/esm/fw-animations.js +3 -4
  6. package/esm/fw-bar-chart.js +4 -4
  7. package/esm/{fw-button-e8b1bd62.js → fw-button-beaf20f4.js} +1 -1
  8. package/esm/fw-button.js +3 -3
  9. package/esm/fw-checkbox.js +25 -9
  10. package/esm/fw-drawer.js +225 -0
  11. package/esm/fw-dropdown.js +1 -1
  12. package/esm/{fw-image-3fa960e1.js → fw-image-161b667a.js} +66 -60
  13. package/esm/fw-image.js +6 -7
  14. package/esm/fw-input.js +27 -9
  15. package/esm/{fw-loading-spinner-304e2f95.js → fw-loading-spinner-51deaa3d.js} +1 -1
  16. package/esm/fw-loading.js +17 -17
  17. package/esm/fw-modal.js +3 -3
  18. package/esm/fw-navigation-menu.js +3 -3
  19. package/esm/fw-progress-bar.js +1 -2
  20. package/esm/fw-sidebar-menu.js +13 -9
  21. package/esm/fw-table.js +63 -41
  22. package/esm/fw-tabs.js +1 -2
  23. package/esm/fw-tag.js +93 -18
  24. package/esm/fw-toast.js +2 -3
  25. package/esm/fw-transactions-card.js +6 -7
  26. package/esm/get-root-colours-e2a1cb28.js +21 -0
  27. package/esm/{index-1a41e7bf.js → index-2766bfe4.js} +14 -14
  28. package/esm/{index-c6458115.js → index-3624f1c9.js} +124 -96
  29. package/esm/index.js +42 -39
  30. package/frollo-web-ui.esm.js +971 -545
  31. package/icons/index.ts +5 -1
  32. package/icons/search.svg +3 -0
  33. package/icons/xmark.svg +3 -0
  34. package/index.d.ts +446 -139
  35. package/package.json +1 -1
  36. package/types/components/fw-accordion/fw-accordion.vue.d.ts +22 -4
  37. package/types/components/fw-accordion/index.types.d.ts +1 -0
  38. package/types/components/fw-checkbox/fw-checkbox.vue.d.ts +35 -3
  39. package/types/components/fw-checkbox/index.types.d.ts +2 -0
  40. package/types/components/fw-drawer/fw-drawer.vue.d.ts +165 -0
  41. package/types/components/fw-drawer/index.d.ts +2 -0
  42. package/types/components/fw-drawer/index.types.d.ts +14 -0
  43. package/types/components/fw-input/fw-input.vue.d.ts +36 -2
  44. package/types/components/fw-input/index.types.d.ts +2 -0
  45. package/types/components/fw-sidebar-menu/fw-sidebar-menu.vue.d.ts +4 -3
  46. package/types/components/fw-sidebar-menu/index.types.d.ts +2 -1
  47. package/types/components/fw-table/fw-table.vue.d.ts +14 -0
  48. package/types/components/fw-table/index.types.d.ts +3 -1
  49. package/types/components/fw-tag/fw-tag.vue.d.ts +30 -8
  50. package/types/components/fw-tag/index.types.d.ts +4 -2
  51. package/types/components/index.d.ts +1 -0
  52. package/types/components/index.types.d.ts +1 -0
  53. package/types/helpers/get-root-colours.d.ts +9 -0
  54. package/types/icons/index.d.ts +3 -1
  55. package/web-components/index.js +973 -547
  56. package/esm/to-string-12728fd2.js +0 -13
@@ -1,15 +1,15 @@
1
1
  import './es.array.includes-91be7771.js';
2
- import './es.number.constructor-1249bd78.js';
2
+ import './es.number.constructor-d6ff8874.js';
3
3
  import { defineComponent, computed, ref, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, normalizeClass, withKeys, createElementVNode, createVNode, renderSlot } from 'vue';
4
- import './es.array.find-dfa1f42f.js';
5
- import './es.string.iterator-284b31d4.js';
6
- import './web.timers-0f117224.js';
7
4
  import { a as documentCreateElement$1, g as global$1, c as createNonEnumerableProperty$1 } from './is-forced-752b5893.js';
8
5
  import { _ as _export } from './export-a37ba078.js';
9
6
  import { a as arrayIteration } from './array-iteration-107f927f.js';
10
7
  import { a as arrayMethodIsStrict$1 } from './array-method-is-strict-055b1830.js';
8
+ import './es.array.find-dfa1f42f.js';
9
+ import './es.string.iterator-590198a8.js';
10
+ import './web.timers-0f117224.js';
11
11
  import { s as script$1 } from './fw-loading-bar-f5ca605c.js';
12
- import { r as render$1 } from './index-c6458115.js';
12
+ import { r as render$1 } from './index-3624f1c9.js';
13
13
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
14
14
 
15
15
  var es_array_forEach = {};
@@ -107,62 +107,67 @@ for (var COLLECTION_NAME in DOMIterables) {
107
107
 
108
108
  handlePrototype(DOMTokenListPrototype);
109
109
 
110
+ var handleIntersect = function handleIntersect(entries, observer) {
111
+ entries.forEach(function (entry) {
112
+ if (entry.isIntersecting) {
113
+ loadImage(entry.target);
114
+ observer.unobserve(entry.target);
115
+ }
116
+ });
117
+ };
118
+ var createObserver = function createObserver(el) {
119
+ var options = {
120
+ root: null,
121
+ threshold: Number(el.getAttribute('threshold')) || 0
122
+ };
123
+ var observer = new IntersectionObserver(handleIntersect, options);
124
+ observer.observe(el);
125
+ };
126
+ var loadImage = function loadImage(el) {
127
+ var imageElement = Array.from(el.children).find(function (element) {
128
+ return element.nodeName === 'IMG';
129
+ });
130
+ if (imageElement) {
131
+ var type = el.getAttribute('type');
132
+ var url = imageElement.dataset.url;
133
+ var setImgError = function setImgError() {
134
+ setTimeout(function () {
135
+ return el.classList.add('fw-image--loaded-error');
136
+ }, 100);
137
+ setTimeout(function () {
138
+ var _el$querySelector;
139
+ return (_el$querySelector = el.querySelector('.fw-image--loading')) === null || _el$querySelector === void 0 ? void 0 : _el$querySelector.remove();
140
+ }, 600);
141
+ };
142
+ if (url) {
143
+ imageElement.src = url;
144
+ } else {
145
+ setImgError();
146
+ }
147
+ imageElement.addEventListener('load', function () {
148
+ setTimeout(function () {
149
+ return el.classList.add('fw-image--loaded');
150
+ }, 100);
151
+ setTimeout(function () {
152
+ var _el$querySelector2;
153
+ return (_el$querySelector2 = el.querySelector('.fw-image--loading')) === null || _el$querySelector2 === void 0 ? void 0 : _el$querySelector2.remove();
154
+ }, 600);
155
+ });
156
+ imageElement.addEventListener('error', function () {
157
+ setImgError();
158
+ });
159
+ if (type === 'background') {
160
+ el.style.backgroundImage = "url('".concat(url, "')");
161
+ imageElement.remove();
162
+ }
163
+ }
164
+ };
110
165
  var lazyLoadDirective = {
111
166
  mounted: function mounted(el) {
112
- var loadImage = function loadImage() {
113
- var imageElement = Array.from(el.children).find(function (element) {
114
- return element.nodeName === 'IMG';
115
- });
116
- if (imageElement) {
117
- var type = el.getAttribute('type');
118
- var url = imageElement.dataset.url;
119
- imageElement.addEventListener('load', function () {
120
- setTimeout(function () {
121
- return el.classList.add('fw-image--loaded');
122
- }, 100);
123
- setTimeout(function () {
124
- var _el$querySelector;
125
- return (_el$querySelector = el.querySelector('.fw-image--loading')) === null || _el$querySelector === void 0 ? void 0 : _el$querySelector.remove();
126
- }, 600);
127
- });
128
- if (url) {
129
- imageElement.src = url;
130
- }
131
- if (type === 'background') {
132
- el.style.backgroundImage = "url('".concat(url, "')");
133
- imageElement.remove();
134
- }
135
- imageElement.addEventListener('error', function () {
136
- setTimeout(function () {
137
- return el.classList.add('fw-image--loaded-error');
138
- }, 100);
139
- setTimeout(function () {
140
- var _el$querySelector2;
141
- return (_el$querySelector2 = el.querySelector('.fw-image--loading')) === null || _el$querySelector2 === void 0 ? void 0 : _el$querySelector2.remove();
142
- }, 600);
143
- });
144
- }
145
- };
146
- var handleIntersect = function handleIntersect(entries, observer) {
147
- entries.forEach(function (entry) {
148
- if (entry.isIntersecting) {
149
- loadImage();
150
- observer.unobserve(el);
151
- }
152
- });
153
- };
154
- var createObserver = function createObserver() {
155
- var options = {
156
- root: null,
157
- threshold: Number(el.getAttribute('threshold')) || 0
158
- };
159
- var observer = new IntersectionObserver(handleIntersect, options);
160
- observer.observe(el);
161
- };
162
167
  if (window.IntersectionObserver) {
163
- createObserver();
168
+ createObserver(el);
164
169
  } else {
165
- loadImage();
170
+ loadImage(el);
166
171
  }
167
172
  }
168
173
  };
@@ -266,17 +271,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
266
271
  }, [createElementVNode("img", {
267
272
  "data-url": _ctx.src,
268
273
  alt: _ctx.alt,
269
- "class": normalizeClass(_ctx.imageClass)
274
+ loading: "lazy",
275
+ "class": normalizeClass([_ctx.rounded ? 'rounded-full' : '', _ctx.imageClass])
270
276
  }, null, 10, _hoisted_2), createVNode(_component_FwLoadingBar, {
271
277
  "class": normalizeClass(["fw-image--loading w-full h-full", {
272
278
  'rounded-full': _ctx.rounded
273
279
  }])
274
280
  }, null, 8, ["class"]), createElementVNode("div", {
275
- "class": normalizeClass(["fw-image--error bg-grey-20", {
281
+ "class": normalizeClass(["fw-image--error rounded bg-grey-20", {
276
282
  'rounded-full': _ctx.rounded
277
283
  }])
278
284
  }, [createElementVNode("div", _hoisted_3, [createVNode(_component_FileExclamationSvg, {
279
- "class": "w-full h-full scale-[0.3] opacity-80 text-alert max-w-[150px]"
285
+ "class": "w-full h-full scale-[0.25] opacity-40 text-alert max-w-[150px]"
280
286
  })])], 2), renderSlot(_ctx.$slots, "default")], 42, _hoisted_1)), [[_directive_lazyload]]);
281
287
  }
282
288
 
package/esm/fw-image.js CHANGED
@@ -1,23 +1,22 @@
1
- export { s as FwImage } from './fw-image-3fa960e1.js';
1
+ export { s as FwImage } from './fw-image-161b667a.js';
2
2
  import './es.array.includes-91be7771.js';
3
3
  import './is-forced-752b5893.js';
4
4
  import './export-a37ba078.js';
5
5
  import './add-to-unscopables-2400f45b.js';
6
6
  import './object-create-f6f3a673.js';
7
7
  import './object-keys-4f5bf4e7.js';
8
- import './es.number.constructor-1249bd78.js';
9
- import './to-string-12728fd2.js';
8
+ import './es.number.constructor-d6ff8874.js';
10
9
  import './classof-39c30bd5.js';
11
10
  import 'vue';
12
- import './es.array.find-dfa1f42f.js';
13
11
  import './array-iteration-107f927f.js';
14
12
  import './array-species-create-a5f5503b.js';
15
- import './es.string.iterator-284b31d4.js';
13
+ import './array-method-is-strict-055b1830.js';
14
+ import './es.array.find-dfa1f42f.js';
15
+ import './es.string.iterator-590198a8.js';
16
16
  import './create-property-534611fd.js';
17
17
  import './web.timers-0f117224.js';
18
18
  import './function-apply-ce251590.js';
19
- import './array-method-is-strict-055b1830.js';
20
19
  import './fw-loading-bar-f5ca605c.js';
21
20
  import './style-inject.es-1f59c1d0.js';
22
- import './index-c6458115.js';
21
+ import './index-3624f1c9.js';
23
22
  import './check-94a5917a.js';
package/esm/fw-input.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import './es.array.includes-91be7771.js';
2
- import { defineComponent, ref, computed, createElementVNode, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, toDisplayString, createCommentVNode, renderSlot, mergeProps, Transition, normalizeClass } from 'vue';
2
+ import { defineComponent, ref, computed, createElementVNode, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, toDisplayString, createCommentVNode, renderSlot, mergeProps, createBlock, Transition, normalizeClass } from 'vue';
3
3
  import { a as Field } from './vee-validate.esm-a17a23c3.js';
4
4
  import { u as uniqueId } from './uniqueId-fe08534a.js';
5
5
  import './es.function.name-557cb1f9.js';
@@ -87,16 +87,32 @@ var script = defineComponent({
87
87
  },
88
88
  /**
89
89
  * The logical tab order of the input.
90
- * Defaults to 1
90
+ * Defaults to 0
91
91
  */
92
92
  tabindex: {
93
93
  type: String,
94
- "default": '1'
94
+ "default": '0'
95
+ },
96
+ /**
97
+ * Whether the input is rounded.
98
+ * Defaults to false
99
+ */
100
+ rounded: {
101
+ type: Boolean,
102
+ "default": false
103
+ },
104
+ /**
105
+ * Enable the error section UI.
106
+ * Defaults to true
107
+ */
108
+ enableErrors: {
109
+ type: Boolean,
110
+ "default": true
95
111
  }
96
112
  },
97
113
  setup: function setup(props, ctx) {
98
114
  var uuid = uniqueId();
99
- var inputBaseClass = ref("border-2 border-grey-40 rounded focus:outline-none focus:ring-2 focus:ring-primary block w-full p-2.5");
115
+ var inputBaseClass = ref("border-2 border-grey-40 focus:outline-none focus:ring-2 focus:ring-primary block w-full p-2.5");
100
116
  var inputValue = computed({
101
117
  get: function get() {
102
118
  return props.modelValue;
@@ -146,10 +162,11 @@ var _hoisted_9 = /*#__PURE__*/createElementVNode("svg", {
146
162
  })], -1);
147
163
  var _hoisted_10 = [_hoisted_9];
148
164
  var _hoisted_11 = {
149
- key: 1,
165
+ key: 2,
150
166
  "class": "flex text-black absolute w-10 h-full inset-y-0 right-0 items-center pr-3"
151
167
  };
152
168
  var _hoisted_12 = {
169
+ key: 0,
153
170
  "class": "italic text-right text-sm font-medium mt-2 min-h-[21px]"
154
171
  };
155
172
  var _hoisted_13 = {
@@ -189,8 +206,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
189
206
  "class": [{
190
207
  'pl-10': !!_ctx.$slots.prefix,
191
208
  'pr-20': !!_ctx.$slots.suffix
192
- }, _ctx.inputBaseClass]
193
- }), null, 16, _hoisted_8), createVNode(Transition, {
209
+ }, _ctx.inputBaseClass, _ctx.rounded ? 'rounded-full' : 'rounded']
210
+ }), null, 16, _hoisted_8), _ctx.enableErrors ? (openBlock(), createBlock(Transition, {
211
+ key: 1,
194
212
  name: "fwFadeIn"
195
213
  }, {
196
214
  "default": withCtx(function () {
@@ -200,7 +218,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
200
218
  }, _hoisted_10, 2)) : createCommentVNode("", true)];
201
219
  }),
202
220
  _: 2
203
- }, 1024), _ctx.$slots.suffix ? (openBlock(), createElementBlock("div", _hoisted_11, [renderSlot(_ctx.$slots, "suffix")])) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_12, [createVNode(Transition, {
221
+ }, 1024)) : createCommentVNode("", true), _ctx.$slots.suffix ? (openBlock(), createElementBlock("div", _hoisted_11, [renderSlot(_ctx.$slots, "suffix")])) : createCommentVNode("", true)]), _ctx.enableErrors ? (openBlock(), createElementBlock("div", _hoisted_12, [createVNode(Transition, {
204
222
  name: "fwFadeIn",
205
223
  mode: "out-in"
206
224
  }, {
@@ -208,7 +226,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
208
226
  return [(errorMessage || errors[0]) && meta.touched ? (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(errorMessage || errors[0]), 1)) : _ctx.hint ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(_ctx.hint), 1)) : createCommentVNode("", true)];
209
227
  }),
210
228
  _: 2
211
- }, 1024)])])];
229
+ }, 1024)])) : createCommentVNode("", true)])];
212
230
  }),
213
231
  _: 3
214
232
  }, 8, ["modelValue", "name", "rules"])]);
@@ -1,4 +1,4 @@
1
- import { h as render$1 } from './index-c6458115.js';
1
+ import { i as render$1 } from './index-3624f1c9.js';
2
2
  import { defineComponent, resolveComponent, openBlock, createBlock } from 'vue';
3
3
 
4
4
  var script = defineComponent({
package/esm/fw-loading.js CHANGED
@@ -1,10 +1,9 @@
1
1
  import { s as script$2 } from './fw-loading-bar-f5ca605c.js';
2
2
  export { s as FwLoadingBar } from './fw-loading-bar-f5ca605c.js';
3
- import { defineComponent, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, normalizeClass, Fragment, renderList } from 'vue';
4
- import './es.number.constructor-1249bd78.js';
3
+ import { defineComponent, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, normalizeClass, normalizeStyle, Fragment, renderList } from 'vue';
4
+ import './es.number.constructor-d6ff8874.js';
5
5
  import './style-inject.es-1f59c1d0.js';
6
6
  import './is-forced-752b5893.js';
7
- import './to-string-12728fd2.js';
8
7
  import './classof-39c30bd5.js';
9
8
 
10
9
  var script$1 = defineComponent({
@@ -47,7 +46,7 @@ var script = defineComponent({
47
46
  }
48
47
  },
49
48
  setup: function setup() {
50
- var tableClass = "fw-loading-table table-auto cursor-wait table-responsive rounded border border-grey-40\n border-spacing-px border-separate bg-grey-40";
49
+ var tableClass = "fw-loading-table table-auto cursor-wait table-responsive rounded-md shadow-card";
51
50
  return {
52
51
  tableClass: tableClass
53
52
  };
@@ -55,34 +54,35 @@ var script = defineComponent({
55
54
  });
56
55
 
57
56
  var _hoisted_1 = {
58
- "class": "text-p-small bg-white"
57
+ "class": "text-p-small"
59
58
  };
60
59
  var _hoisted_2 = {
61
- "class": "flex flex-row items-center space-x-1"
60
+ "class": "p-0 m-0"
62
61
  };
63
62
  var _hoisted_3 = {
63
+ "class": "m-0 p-0"
64
+ };
65
+ var _hoisted_4 = {
64
66
  "class": "text-p-small bg-white font-light"
65
67
  };
66
68
  function render(_ctx, _cache, $props, $setup, $data, $options) {
67
69
  var _component_FwLoadingBar = resolveComponent("FwLoadingBar");
68
70
  return openBlock(), createElementBlock("table", {
69
- "class": normalizeClass(_ctx.tableClass)
70
- }, [createElementVNode("thead", _hoisted_1, [createElementVNode("tr", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, function (column, thKey) {
71
- return openBlock(), createElementBlock("th", {
72
- key: thKey,
73
- "class": "py-3 px-4 text-center border-b border-b-grey-light"
74
- }, [createElementVNode("div", _hoisted_2, [createVNode(_component_FwLoadingBar, {
75
- "class": "w-full h-8"
76
- })])]);
77
- }), 128))])]), createElementVNode("tbody", _hoisted_3, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.rows, function (row, trKey) {
71
+ "class": normalizeClass(_ctx.tableClass),
72
+ "aria-live": "polite",
73
+ "aria-busy": "true"
74
+ }, [createElementVNode("thead", _hoisted_1, [createElementVNode("tr", _hoisted_2, [createElementVNode("th", _hoisted_3, [createVNode(_component_FwLoadingBar, {
75
+ "class": "h-[4.5rem] py-6 rounded-b-none",
76
+ style: normalizeStyle("width:".concat(_ctx.columns, "00%;"))
77
+ }, null, 8, ["style"])])])]), createElementVNode("tbody", _hoisted_4, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.rows, function (row, trKey) {
78
78
  return openBlock(), createElementBlock("tr", {
79
79
  key: trKey
80
80
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, function (column, colKey) {
81
81
  return openBlock(), createElementBlock("td", {
82
82
  key: colKey,
83
- "class": "py-3 px-4 text-left whitespace-nowrap"
83
+ "class": "py-4 pl-5 pr-3 text-left whitespace-nowrap"
84
84
  }, [createVNode(_component_FwLoadingBar, {
85
- "class": "w-full h-6"
85
+ "class": "w-full h-7"
86
86
  })]);
87
87
  }), 128))]);
88
88
  }), 128))])], 2);
package/esm/fw-modal.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import './es.array.includes-91be7771.js';
2
2
  import { defineComponent, ref, computed, onMounted, resolveComponent, openBlock, createBlock, Teleport, createVNode, Transition, withCtx, createElementBlock, createElementVNode, renderSlot, createCommentVNode, createTextVNode, toDisplayString } from 'vue';
3
- import { s as script$1 } from './fw-button-e8b1bd62.js';
3
+ import { s as script$1 } from './fw-button-beaf20f4.js';
4
4
  import { u as uniqueId } from './uniqueId-fe08534a.js';
5
5
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
6
6
  import './is-forced-752b5893.js';
@@ -8,8 +8,8 @@ import './export-a37ba078.js';
8
8
  import './add-to-unscopables-2400f45b.js';
9
9
  import './object-create-f6f3a673.js';
10
10
  import './object-keys-4f5bf4e7.js';
11
- import './fw-loading-spinner-304e2f95.js';
12
- import './index-c6458115.js';
11
+ import './fw-loading-spinner-51deaa3d.js';
12
+ import './index-3624f1c9.js';
13
13
  import './check-94a5917a.js';
14
14
 
15
15
  var script = defineComponent({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, createElementVNode, resolveComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createCommentVNode, Fragment, renderList, createBlock, withCtx, createTextVNode, toDisplayString, createVNode, Transition } from 'vue';
2
- import { s as script$1 } from './fw-button-e8b1bd62.js';
2
+ import { s as script$1 } from './fw-button-beaf20f4.js';
3
3
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
4
4
  import './es.array.includes-91be7771.js';
5
5
  import './is-forced-752b5893.js';
@@ -7,8 +7,8 @@ import './export-a37ba078.js';
7
7
  import './add-to-unscopables-2400f45b.js';
8
8
  import './object-create-f6f3a673.js';
9
9
  import './object-keys-4f5bf4e7.js';
10
- import './fw-loading-spinner-304e2f95.js';
11
- import './index-c6458115.js';
10
+ import './fw-loading-spinner-51deaa3d.js';
11
+ import './index-3624f1c9.js';
12
12
  import './check-94a5917a.js';
13
13
 
14
14
  var script = defineComponent({
@@ -1,8 +1,7 @@
1
- import './es.number.constructor-1249bd78.js';
1
+ import './es.number.constructor-d6ff8874.js';
2
2
  import { defineComponent, resolveComponent, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, createBlock, toDisplayString, normalizeStyle, createCommentVNode } from 'vue';
3
3
  import { r as render$1 } from './check-94a5917a.js';
4
4
  import './is-forced-752b5893.js';
5
- import './to-string-12728fd2.js';
6
5
  import './classof-39c30bd5.js';
7
6
 
8
7
  var script = defineComponent({
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, withCtx, Transition, renderSlot, createCommentVNode, createElementVNode, Fragment, renderList, createBlock, createTextVNode, toDisplayString } from 'vue';
2
- import { s as script$1 } from './fw-button-e8b1bd62.js';
3
- import { g as render$1 } from './index-c6458115.js';
2
+ import { s as script$1 } from './fw-button-beaf20f4.js';
3
+ import { h as render$1 } from './index-3624f1c9.js';
4
4
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
5
5
  import './es.array.includes-91be7771.js';
6
6
  import './is-forced-752b5893.js';
@@ -8,7 +8,7 @@ import './export-a37ba078.js';
8
8
  import './add-to-unscopables-2400f45b.js';
9
9
  import './object-create-f6f3a673.js';
10
10
  import './object-keys-4f5bf4e7.js';
11
- import './fw-loading-spinner-304e2f95.js';
11
+ import './fw-loading-spinner-51deaa3d.js';
12
12
  import './check-94a5917a.js';
13
13
 
14
14
  var script = defineComponent({
@@ -49,12 +49,14 @@ var script = defineComponent({
49
49
  }
50
50
  },
51
51
  setup: function setup(props, ctx) {
52
+ var baseClass = "h-full shadow-md bg-grey-lightest border-r border-grey-20 \n fixed top-0 left-0 transition-all duration-300";
52
53
  var isMenuOpen = ref(true);
53
54
  var toggleMenu = function toggleMenu() {
54
55
  isMenuOpen.value = !isMenuOpen.value;
55
56
  ctx.emit('toggled', isMenuOpen.value ? props.openWidth : props.closedWidth);
56
57
  };
57
58
  return {
59
+ baseClass: baseClass,
58
60
  isMenuOpen: isMenuOpen,
59
61
  toggleMenu: toggleMenu
60
62
  };
@@ -78,7 +80,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
78
80
  var _component_FwButton = resolveComponent("FwButton");
79
81
  return _ctx.menuItems && ((_ctx$menuItems = _ctx.menuItems) === null || _ctx$menuItems === void 0 ? void 0 : _ctx$menuItems.length) > 0 ? (openBlock(), createElementBlock("div", {
80
82
  key: 0,
81
- "class": normalizeClass(["fw-sidebar-menu h-full shadow-md bg-grey-lightest border-r border-grey-20 fixed top-0 left-0 transition-all duration-300", _ctx.isMenuOpen ? _ctx.openWidth : _ctx.closedWidth]),
83
+ "class": normalizeClass(["fw-sidebar-menu", [_ctx.baseClass, _ctx.isMenuOpen ? _ctx.openWidth : _ctx.closedWidth]]),
82
84
  "aria-label": "Aside navigation menu"
83
85
  }, [createVNode(_component_FwButton, {
84
86
  variant: "primary",
@@ -100,8 +102,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
100
102
  }, {
101
103
  "default": withCtx(function () {
102
104
  return [_ctx.isMenuOpen ? (openBlock(), createElementBlock("div", _hoisted_1, [_ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "title")])) : createCommentVNode("", true), createElementVNode("div", _hoisted_3, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.menuItems, function (item, i) {
103
- return openBlock(), createBlock(_component_FwButton, {
104
- key: i,
105
+ return openBlock(), createElementBlock(Fragment, {
106
+ key: i
107
+ }, [!item.disabled ? (openBlock(), createBlock(_component_FwButton, {
108
+ key: 0,
105
109
  rounded: false,
106
110
  "class": "!text-left !px-4 text-grey-base",
107
111
  variant: "transparent",
@@ -115,15 +119,15 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
115
119
  return [createTextVNode(toDisplayString(item.label), 1)];
116
120
  }),
117
121
  _: 2
118
- }, 1032, ["href", "to", "external"]);
122
+ }, 1032, ["href", "to", "external"])) : createCommentVNode("", true)], 64);
119
123
  }), 128))])])) : createCommentVNode("", true)];
120
124
  }),
121
125
  _: 3
122
126
  })], 2)) : createCommentVNode("", true);
123
127
  }
124
128
 
125
- var css_248z = ".sidebarMenuSlide-enter-active{-webkit-animation:sidebarMenuSlide .1s;animation:sidebarMenuSlide .1s;-webkit-transition:opacity .1s ease-in;transition:opacity .1s ease-in;-webkit-transition-delay:10s;transition-delay:10s}.sidebarMenuSlide-leave-active{animation:sidebarMenuSlide .1s reverse;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}@-webkit-keyframes sidebarMenuSlide{0%{opacity:0}to{opacity:1}}@keyframes sidebarMenuSlide{0%{opacity:0}to{opacity:1}}";
126
- var stylesheet = ".sidebarMenuSlide-enter-active{-webkit-animation:sidebarMenuSlide .1s;animation:sidebarMenuSlide .1s;-webkit-transition:opacity .1s ease-in;transition:opacity .1s ease-in;-webkit-transition-delay:10s;transition-delay:10s}.sidebarMenuSlide-leave-active{animation:sidebarMenuSlide .1s reverse;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}@-webkit-keyframes sidebarMenuSlide{0%{opacity:0}to{opacity:1}}@keyframes sidebarMenuSlide{0%{opacity:0}to{opacity:1}}";
129
+ var css_248z = ".sidebarMenuSlide-enter-active{-webkit-transition:all .6s ease-in;transition:all .6s ease-in}.sidebarMenuSlide-leave-active{-webkit-transition:opacity 10ms ease-in;transition:opacity 10ms ease-in}.sidebarMenuSlide-enter-from,.sidebarMenuSlide-leave-to{opacity:0}.sidebarMenuSlide-enter-to,.sidebarMenuSlide-leave-from{opacity:1}";
130
+ var stylesheet = ".sidebarMenuSlide-enter-active{-webkit-transition:all .6s ease-in;transition:all .6s ease-in}.sidebarMenuSlide-leave-active{-webkit-transition:opacity 10ms ease-in;transition:opacity 10ms ease-in}.sidebarMenuSlide-enter-from,.sidebarMenuSlide-leave-to{opacity:0}.sidebarMenuSlide-enter-to,.sidebarMenuSlide-leave-from{opacity:1}";
127
131
  styleInject(css_248z);
128
132
 
129
133
  script.render = render;