@frollo/frollo-web-ui 2.0.0 → 3.0.1

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 (84) hide show
  1. package/cjs/index.js +17802 -1708
  2. package/esm/add-to-unscopables-2400f45b.js +25 -0
  3. package/esm/array-iteration-107f927f.js +92 -0
  4. package/esm/array-method-has-species-support-3d413468.js +23 -0
  5. package/esm/array-method-is-strict-055b1830.js +14 -0
  6. package/esm/array-species-create-a5f5503b.js +97 -0
  7. package/esm/{classof-088c9833.js → classof-39c30bd5.js} +1 -2
  8. package/esm/create-property-534611fd.js +14 -0
  9. package/esm/delete-property-or-throw-8032646c.js +31 -0
  10. package/esm/does-not-exceed-safe-integer-31d08811.js +11 -0
  11. package/esm/es.array.concat-987938be.js +69 -0
  12. package/esm/{es.array.find-54b8f84b.js → es.array.find-dfa1f42f.js} +5 -6
  13. package/esm/{es.array.includes-9a6e4066.js → es.array.includes-91be7771.js} +3 -4
  14. package/esm/{es.function.name-2fa3a718.js → es.function.name-557cb1f9.js} +1 -1
  15. package/esm/{es.number.constructor-b7faae1f.js → es.number.constructor-1249bd78.js} +2 -3
  16. package/esm/es.string.iterator-284b31d4.js +470 -0
  17. package/esm/{object-keys-3c73c404.js → export-a37ba078.js} +2 -13
  18. package/esm/function-apply-ce251590.js +14 -0
  19. package/esm/fw-accordion.js +2 -8
  20. package/esm/fw-animations.js +6 -20
  21. package/esm/fw-bar-chart.js +19 -0
  22. package/esm/{fw-button-765b9d52.js → fw-button-1486e2d9.js} +6 -24
  23. package/esm/fw-button.js +9 -8
  24. package/esm/fw-card-1b6a67fe.js +90 -0
  25. package/esm/fw-card.js +2 -95
  26. package/esm/fw-checkbox.js +27 -17
  27. package/esm/fw-dropdown.js +17 -33
  28. package/esm/fw-image-4727ac61.js +289 -0
  29. package/esm/fw-image.js +22 -847
  30. package/esm/fw-input.js +24 -25
  31. package/esm/fw-loading-bar-f5ca605c.js +22 -0
  32. package/esm/{fw-loading-spinner-01b9a040.js → fw-loading-spinner-df1627c0.js} +1 -2
  33. package/esm/fw-loading.js +6 -9
  34. package/esm/fw-modal.js +218 -11
  35. package/esm/fw-navigation-menu.js +11 -19
  36. package/esm/fw-progress-bar.js +4 -11
  37. package/esm/fw-table.js +12 -56
  38. package/esm/fw-tabs.js +60 -20
  39. package/esm/fw-tag.js +8 -8
  40. package/esm/fw-toast.js +276 -0
  41. package/esm/fw-transactions-card.js +115 -0
  42. package/esm/index-1a41e7bf.js +15838 -0
  43. package/esm/{index-7833cf39.js → index-4605e00e.js} +114 -86
  44. package/esm/index.js +87 -73
  45. package/esm/is-forced-752b5893.js +927 -0
  46. package/esm/{add-to-unscopables-a5032b1d.js → object-create-f6f3a673.js} +3 -25
  47. package/esm/object-keys-4f5bf4e7.js +13 -0
  48. package/esm/{to-string-c2bd1f4d.js → to-string-12728fd2.js} +2 -2
  49. package/esm/uniqueId-fe08534a.js +279 -0
  50. package/esm/web.timers-0f117224.js +72 -0
  51. package/frollo-web-ui.esm.js +18020 -1824
  52. package/icons/index.ts +5 -1
  53. package/icons/solid-check.svg +3 -0
  54. package/icons/solid-xmark.svg +3 -0
  55. package/index.d.ts +344 -22
  56. package/package.json +5 -1
  57. package/styles/web-components.scss +8 -0
  58. package/types/components/fw-bar-chart/fw-bar-chart.vue.d.ts +83 -0
  59. package/types/components/fw-bar-chart/index.d.ts +2 -0
  60. package/types/components/fw-bar-chart/index.types.d.ts +11 -0
  61. package/types/components/fw-checkbox/fw-checkbox.vue.d.ts +3 -1
  62. package/types/components/fw-input/fw-input.vue.d.ts +1 -0
  63. package/types/components/fw-modal/fw-modal.vue.d.ts +16 -0
  64. package/types/components/fw-modal/index.types.d.ts +1 -0
  65. package/types/components/fw-toast/fw-toast.vue.d.ts +121 -0
  66. package/types/components/fw-toast/index.d.ts +2 -0
  67. package/types/components/fw-toast/index.types.d.ts +13 -0
  68. package/types/components/fw-transactions-card/fw-transactions-card.vue.d.ts +58 -0
  69. package/types/components/fw-transactions-card/index.d.ts +2 -0
  70. package/types/components/fw-transactions-card/index.types.d.ts +6 -0
  71. package/types/components/index.d.ts +3 -0
  72. package/types/components/index.types.d.ts +3 -0
  73. package/types/icons/index.d.ts +3 -1
  74. package/types/index.browser-umd.d.ts +1 -0
  75. package/types/services/index.d.ts +1 -0
  76. package/types/services/modal.d.ts +1 -1
  77. package/types/services/toast.d.ts +9 -0
  78. package/web-components/index.js +36612 -0
  79. package/esm/array-iteration-4f83e223.js +0 -186
  80. package/esm/create-property-da6d232b.js +0 -26
  81. package/esm/function-name-c49146fc.js +0 -492
  82. package/esm/fw-loading-bar-da7d53fb.js +0 -22
  83. package/esm/index-06f4e5f1.js +0 -482
  84. package/esm/is-forced-fd46b5f2.js +0 -438
package/esm/fw-table.js CHANGED
@@ -1,43 +1,19 @@
1
- import { i as toObject$2, j as fails$2, t as tryToString$1, q as engineUserAgent, f as functionUncurryThis, h as aCallable$1, s as engineV8Version } from './function-name-c49146fc.js';
2
- import { _ as _export, o as objectKeys } from './object-keys-3c73c404.js';
3
- import { e as toAbsoluteIndex$1, l as lengthOfArrayLike$2 } from './is-forced-fd46b5f2.js';
4
- import { t as toString$1 } from './to-string-c2bd1f4d.js';
5
- import { c as createProperty$1, a as arrayMethodIsStrict$1 } from './create-property-da6d232b.js';
6
- import { b as render$3 } from './index-7833cf39.js';
1
+ import { d as deletePropertyOrThrow$1 } from './delete-property-or-throw-8032646c.js';
2
+ import { i as toAbsoluteIndex$1, l as lengthOfArrayLike$2, j as engineUserAgent, f as functionUncurryThis, k as aCallable$1, e as toObject$1, h as fails$1, m as engineV8Version } from './is-forced-752b5893.js';
3
+ import { _ as _export } from './export-a37ba078.js';
4
+ import { t as toString$1 } from './to-string-12728fd2.js';
5
+ import { c as createProperty$1 } from './create-property-534611fd.js';
6
+ import { a as arrayMethodIsStrict$1 } from './array-method-is-strict-055b1830.js';
7
+ import { b as render$3 } from './index-4605e00e.js';
7
8
  import { defineComponent, computed, ref, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, renderList, withKeys, toDisplayString, createVNode, createCommentVNode, renderSlot } from 'vue';
8
- import { s as script$3 } from './fw-loading-bar-da7d53fb.js';
9
- import './classof-088c9833.js';
9
+ import { s as script$3 } from './fw-loading-bar-f5ca605c.js';
10
+ import './object-keys-4f5bf4e7.js';
11
+ import './classof-39c30bd5.js';
10
12
  import './check-94a5917a.js';
11
13
  import './style-inject.es-1f59c1d0.js';
12
14
 
13
- var es_object_keys = {};
14
-
15
- var $$1 = _export;
16
- var toObject$1 = toObject$2;
17
- var nativeKeys = objectKeys;
18
- var fails$1 = fails$2;
19
-
20
- var FAILS_ON_PRIMITIVES = fails$1(function () { nativeKeys(1); });
21
-
22
- // `Object.keys` method
23
- // https://tc39.es/ecma262/#sec-object.keys
24
- $$1({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
25
- keys: function keys(it) {
26
- return nativeKeys(toObject$1(it));
27
- }
28
- });
29
-
30
15
  var es_array_sort = {};
31
16
 
32
- 'use strict';
33
- var tryToString = tryToString$1;
34
-
35
- var $TypeError = TypeError;
36
-
37
- var deletePropertyOrThrow$1 = function (O, P) {
38
- if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));
39
- };
40
-
41
17
  var toAbsoluteIndex = toAbsoluteIndex$1;
42
18
  var lengthOfArrayLike$1 = lengthOfArrayLike$2;
43
19
  var createProperty = createProperty$1;
@@ -120,11 +96,11 @@ var engineWebkitVersion = !!webkit && +webkit[1];
120
96
  var $ = _export;
121
97
  var uncurryThis = functionUncurryThis;
122
98
  var aCallable = aCallable$1;
123
- var toObject = toObject$2;
99
+ var toObject = toObject$1;
124
100
  var lengthOfArrayLike = lengthOfArrayLike$2;
125
101
  var deletePropertyOrThrow = deletePropertyOrThrow$1;
126
102
  var toString = toString$1;
127
- var fails = fails$2;
103
+ var fails = fails$1;
128
104
  var internalSort = arraySort;
129
105
  var arrayMethodIsStrict = arrayMethodIsStrict$1;
130
106
  var FF = engineFfVersion;
@@ -250,11 +226,9 @@ var script$2 = defineComponent({
250
226
  var sortBy = ref('');
251
227
  var sortDirection = ref('asc');
252
228
  var currentSortedColumn = ref('');
253
-
254
229
  var sortColumn = function sortColumn(column) {
255
230
  if (!isColumnSortable(column)) return;
256
231
  currentSortedColumn.value = column;
257
-
258
232
  if (sortBy.value === column) {
259
233
  sortDirection.value = sortDirection.value === 'asc' ? 'desc' : 'asc';
260
234
  } else {
@@ -262,12 +236,10 @@ var script$2 = defineComponent({
262
236
  sortDirection.value = 'asc';
263
237
  }
264
238
  };
265
-
266
239
  var sortedData = computed(function () {
267
240
  if (!sortBy.value) {
268
241
  return props.items;
269
242
  }
270
-
271
243
  var data = props.items;
272
244
  data.sort(function (a, b) {
273
245
  var sortVal = a[sortBy.value] > b[sortBy.value] ? 1 : -1;
@@ -275,53 +247,39 @@ var script$2 = defineComponent({
275
247
  });
276
248
  return data;
277
249
  });
278
-
279
250
  var formattedText = function formattedText(row, column) {
280
251
  var _props$options$column;
281
-
282
252
  if (props.options && props.options[column] && (_props$options$column = props.options[column]) !== null && _props$options$column !== void 0 && _props$options$column.formatter) {
283
253
  var _props$options$column2;
284
-
285
254
  var colFormatter = (_props$options$column2 = props.options[column]) === null || _props$options$column2 === void 0 ? void 0 : _props$options$column2.formatter;
286
-
287
255
  if (colFormatter) {
288
256
  return colFormatter(row[column]);
289
257
  }
290
258
  }
291
-
292
259
  return row[column];
293
260
  };
294
-
295
261
  var sortedIcon = function sortedIcon(sortDir, column) {
296
262
  if (currentSortedColumn.value === column) {
297
263
  if (sortDirection.value === sortDir) {
298
264
  return 'text-body';
299
265
  }
300
266
  }
301
-
302
267
  return 'text-grey-light';
303
268
  };
304
-
305
269
  var isColumnSortable = function isColumnSortable(column) {
306
270
  if (props.options && props.options[column]) {
307
271
  var _props$options$column3;
308
-
309
272
  return (_props$options$column3 = props.options[column]) === null || _props$options$column3 === void 0 ? void 0 : _props$options$column3.isSortable;
310
273
  }
311
-
312
274
  return false;
313
275
  };
314
-
315
276
  var isDisabled = function isDisabled(column) {
316
277
  var _props$options$column4;
317
-
318
278
  if (props.options && (_props$options$column4 = props.options[column]) !== null && _props$options$column4 !== void 0 && _props$options$column4.disabled) {
319
279
  return true;
320
280
  }
321
-
322
281
  return false;
323
282
  };
324
-
325
283
  return {
326
284
  columns: columns,
327
285
  sortBy: sortBy,
@@ -367,9 +325,7 @@ var _hoisted_9 = {
367
325
  var _hoisted_10 = ["innerHTML"];
368
326
  function render$2(_ctx, _cache, $props, $setup, $data, $options) {
369
327
  var _component_CaretDownSvg = resolveComponent("CaretDownSvg");
370
-
371
328
  var _component_FwLoadingBar = resolveComponent("FwLoadingBar");
372
-
373
329
  return openBlock(), createElementBlock("table", {
374
330
  "class": normalizeClass(["table-auto table-responsive rounded border border-grey-40 border-spacing-px border-separate bg-grey-40", _ctx.loading ? 'cursor-wait' : ''])
375
331
  }, [createElementVNode("thead", _hoisted_1$2, [createElementVNode("tr", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, function (column, thKey) {
package/esm/fw-tabs.js CHANGED
@@ -1,12 +1,15 @@
1
- import './es.number.constructor-b7faae1f.js';
1
+ import './es.number.constructor-1249bd78.js';
2
2
  import { defineComponent, computed, ref, provide, openBlock, createElementBlock, Fragment, renderList, createElementVNode, normalizeClass, toDisplayString, createCommentVNode, renderSlot, getCurrentInstance, inject, watchEffect } from 'vue';
3
- import './function-name-c49146fc.js';
4
- import { _ as _export } from './object-keys-3c73c404.js';
5
- import { a as arrayIteration } from './array-iteration-4f83e223.js';
6
- import { a as addToUnscopables$1 } from './add-to-unscopables-a5032b1d.js';
7
- import './is-forced-fd46b5f2.js';
8
- import './to-string-c2bd1f4d.js';
9
- import './classof-088c9833.js';
3
+ import { e as toObject$1, l as lengthOfArrayLike$1, h as fails$1 } from './is-forced-752b5893.js';
4
+ import { _ as _export } from './export-a37ba078.js';
5
+ import { a as arrayIteration } from './array-iteration-107f927f.js';
6
+ import { a as addToUnscopables$1 } from './add-to-unscopables-2400f45b.js';
7
+ import { d as doesNotExceedSafeInteger$1 } from './does-not-exceed-safe-integer-31d08811.js';
8
+ import './to-string-12728fd2.js';
9
+ import './classof-39c30bd5.js';
10
+ import './array-species-create-a5f5503b.js';
11
+ import './object-create-f6f3a673.js';
12
+ import './object-keys-4f5bf4e7.js';
10
13
 
11
14
  var script$1 = defineComponent({
12
15
  name: 'FwTabs',
@@ -26,11 +29,9 @@ var script$1 = defineComponent({
26
29
  });
27
30
  var tabs = ref();
28
31
  tabs.value = [];
29
-
30
32
  var selectTab = function selectTab(tab) {
31
33
  ctx.emit('update:modelValue', tab);
32
34
  };
33
-
34
35
  provide('tabsState', {
35
36
  active: active,
36
37
  tabs: tabs
@@ -71,7 +72,7 @@ script$1.render = render$1;
71
72
  var es_array_findIndex = {};
72
73
 
73
74
  'use strict';
74
- var $ = _export;
75
+ var $$1 = _export;
75
76
  var $findIndex = arrayIteration.findIndex;
76
77
  var addToUnscopables = addToUnscopables$1;
77
78
 
@@ -83,7 +84,7 @@ if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; })
83
84
 
84
85
  // `Array.prototype.findIndex` method
85
86
  // https://tc39.es/ecma262/#sec-array.prototype.findindex
86
- $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
87
+ $$1({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
87
88
  findIndex: function findIndex(callbackfn /* , that = undefined */) {
88
89
  return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
89
90
  }
@@ -92,6 +93,48 @@ $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
92
93
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
93
94
  addToUnscopables(FIND_INDEX);
94
95
 
96
+ var es_array_push = {};
97
+
98
+ 'use strict';
99
+ var $ = _export;
100
+ var toObject = toObject$1;
101
+ var lengthOfArrayLike = lengthOfArrayLike$1;
102
+ var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
103
+ var fails = fails$1;
104
+
105
+ var INCORRECT_TO_LENGTH = fails(function () {
106
+ return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
107
+ });
108
+
109
+ // V8 and Safari <= 15.4, FF < 23 throws InternalError
110
+ // https://bugs.chromium.org/p/v8/issues/detail?id=12681
111
+ var SILENT_ON_NON_WRITABLE_LENGTH = !function () {
112
+ try {
113
+ // eslint-disable-next-line es-x/no-object-defineproperty -- safe
114
+ Object.defineProperty([], 'length', { writable: false }).push();
115
+ } catch (error) {
116
+ return error instanceof TypeError;
117
+ }
118
+ }();
119
+
120
+ // `Array.prototype.push` method
121
+ // https://tc39.es/ecma262/#sec-array.prototype.push
122
+ $({ target: 'Array', proto: true, arity: 1, forced: INCORRECT_TO_LENGTH || SILENT_ON_NON_WRITABLE_LENGTH }, {
123
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
124
+ push: function push(item) {
125
+ var O = toObject(this);
126
+ var len = lengthOfArrayLike(O);
127
+ var argCount = arguments.length;
128
+ doesNotExceedSafeInteger(len + argCount);
129
+ for (var i = 0; i < argCount; i++) {
130
+ O[len] = arguments[i];
131
+ len++;
132
+ }
133
+ O.length = len;
134
+ return len;
135
+ }
136
+ });
137
+
95
138
  var script = defineComponent({
96
139
  name: 'FwTab',
97
140
  props: {
@@ -105,17 +148,14 @@ var script = defineComponent({
105
148
  },
106
149
  setup: function setup(props) {
107
150
  var instance = getCurrentInstance();
108
-
109
151
  var _ref = inject('tabsState') || {
110
- tabs: [],
111
- active: 0
112
- },
113
- tabs = _ref.tabs,
114
- active = _ref.active;
115
-
152
+ tabs: [],
153
+ active: 0
154
+ },
155
+ tabs = _ref.tabs,
156
+ active = _ref.active;
116
157
  var index = computed(function () {
117
158
  var _tabs$value;
118
-
119
159
  return (_tabs$value = tabs.value) === null || _tabs$value === void 0 ? void 0 : _tabs$value.findIndex(function (target) {
120
160
  return target.uid === (instance === null || instance === void 0 ? void 0 : instance.uid);
121
161
  });
package/esm/fw-tag.js CHANGED
@@ -1,10 +1,11 @@
1
- import './es.array.includes-9a6e4066.js';
1
+ import './es.array.includes-91be7771.js';
2
2
  import { defineComponent, ref, computed, openBlock, createElementBlock, normalizeClass, renderSlot } from 'vue';
3
3
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
4
- import './function-name-c49146fc.js';
5
- import './object-keys-3c73c404.js';
6
- import './is-forced-fd46b5f2.js';
7
- import './add-to-unscopables-a5032b1d.js';
4
+ import './is-forced-752b5893.js';
5
+ import './export-a37ba078.js';
6
+ import './add-to-unscopables-2400f45b.js';
7
+ import './object-create-f6f3a673.js';
8
+ import './object-keys-4f5bf4e7.js';
8
9
 
9
10
  var script = defineComponent({
10
11
  name: 'FwTag',
@@ -19,7 +20,6 @@ var script = defineComponent({
19
20
  return ['xs', 'sm'].includes(value);
20
21
  }
21
22
  },
22
-
23
23
  /**
24
24
  * The colour variant of the tag.
25
25
  * Accepts 'primary', 'alert', 'error', 'success'
@@ -80,8 +80,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
80
80
  }, [renderSlot(_ctx.$slots, "default")], 2);
81
81
  }
82
82
 
83
- var css_248z = ".fw-tag{line-height:normal;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out}";
84
- var stylesheet = ".fw-tag{line-height:normal;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out}";
83
+ var css_248z = ".fw-tag{line-height:normal;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}";
84
+ var stylesheet = ".fw-tag{line-height:normal;-webkit-transition:all .25s ease-in-out;transition:all .25s ease-in-out}";
85
85
  styleInject(css_248z);
86
86
 
87
87
  script.render = render;
@@ -0,0 +1,276 @@
1
+ import './es.array.includes-91be7771.js';
2
+ import './es.number.constructor-1249bd78.js';
3
+ import { n as isObject$1, p as classofRaw, w as wellKnownSymbol$2, f as functionUncurryThis, r as requireObjectCoercible$1 } from './is-forced-752b5893.js';
4
+ import { _ as _export } from './export-a37ba078.js';
5
+ import { t as toString$1 } from './to-string-12728fd2.js';
6
+ import './es.array.concat-987938be.js';
7
+ import './web.timers-0f117224.js';
8
+ import { defineComponent, ref, computed, onMounted, watchEffect, openBlock, createElementBlock, Fragment, createBlock, Teleport, createVNode, TransitionGroup, createCommentVNode, Transition, withCtx, normalizeClass, createElementVNode, resolveDynamicComponent, toDisplayString, renderSlot } from 'vue';
9
+ import { u as uniqueId } from './uniqueId-fe08534a.js';
10
+ import { c as render$1, d as render$2, e as render$3 } from './index-4605e00e.js';
11
+ import { s as styleInject } from './style-inject.es-1f59c1d0.js';
12
+ import './add-to-unscopables-2400f45b.js';
13
+ import './object-create-f6f3a673.js';
14
+ import './object-keys-4f5bf4e7.js';
15
+ import './classof-39c30bd5.js';
16
+ import './array-species-create-a5f5503b.js';
17
+ import './does-not-exceed-safe-integer-31d08811.js';
18
+ import './create-property-534611fd.js';
19
+ import './array-method-has-species-support-3d413468.js';
20
+ import './function-apply-ce251590.js';
21
+ import './check-94a5917a.js';
22
+
23
+ var es_string_includes = {};
24
+
25
+ var isObject = isObject$1;
26
+ var classof = classofRaw;
27
+ var wellKnownSymbol$1 = wellKnownSymbol$2;
28
+
29
+ var MATCH$1 = wellKnownSymbol$1('match');
30
+
31
+ // `IsRegExp` abstract operation
32
+ // https://tc39.es/ecma262/#sec-isregexp
33
+ var isRegexp = function (it) {
34
+ var isRegExp;
35
+ return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
36
+ };
37
+
38
+ var isRegExp = isRegexp;
39
+
40
+ var $TypeError = TypeError;
41
+
42
+ var notARegexp = function (it) {
43
+ if (isRegExp(it)) {
44
+ throw $TypeError("The method doesn't accept regular expressions");
45
+ } return it;
46
+ };
47
+
48
+ var wellKnownSymbol = wellKnownSymbol$2;
49
+
50
+ var MATCH = wellKnownSymbol('match');
51
+
52
+ var correctIsRegexpLogic = function (METHOD_NAME) {
53
+ var regexp = /./;
54
+ try {
55
+ '/./'[METHOD_NAME](regexp);
56
+ } catch (error1) {
57
+ try {
58
+ regexp[MATCH] = false;
59
+ return '/./'[METHOD_NAME](regexp);
60
+ } catch (error2) { /* empty */ }
61
+ } return false;
62
+ };
63
+
64
+ 'use strict';
65
+ var $ = _export;
66
+ var uncurryThis = functionUncurryThis;
67
+ var notARegExp = notARegexp;
68
+ var requireObjectCoercible = requireObjectCoercible$1;
69
+ var toString = toString$1;
70
+ var correctIsRegExpLogic = correctIsRegexpLogic;
71
+
72
+ var stringIndexOf = uncurryThis(''.indexOf);
73
+
74
+ // `String.prototype.includes` method
75
+ // https://tc39.es/ecma262/#sec-string.prototype.includes
76
+ $({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
77
+ includes: function includes(searchString /* , position = 0 */) {
78
+ return !!~stringIndexOf(
79
+ toString(requireObjectCoercible(this)),
80
+ toString(notARegExp(searchString)),
81
+ arguments.length > 1 ? arguments[1] : undefined
82
+ );
83
+ }
84
+ });
85
+
86
+ var script = defineComponent({
87
+ name: 'FwToast',
88
+ components: {
89
+ SolidCheckSvg: render$1,
90
+ SolidXMarkSvg: render$2,
91
+ ErrorFilledSvg: render$3
92
+ },
93
+ emits: ['update:modelValue', 'dismissed'],
94
+ props: {
95
+ /**
96
+ * The toast's v-model. Controls the visibility of the toast.
97
+ */
98
+ modelValue: {
99
+ type: Boolean
100
+ },
101
+ /**
102
+ * The type of the toast.
103
+ * Accepts: 'success', 'error', 'warning'
104
+ */
105
+ type: {
106
+ type: String,
107
+ "default": 'success',
108
+ validator: function validator(value) {
109
+ return ['success', 'error', 'warning'].includes(value);
110
+ }
111
+ },
112
+ /**
113
+ * The position of the toast on the screen.
114
+ * Accepts: 'top', 'bottom', 'top-left', 'top-right', 'bottom-left', 'bottom-right'
115
+ */
116
+ position: {
117
+ type: String,
118
+ "default": 'bottom-right',
119
+ validator: function validator(value) {
120
+ return ['top', 'bottom', 'top-left', 'top-right', 'bottom-left', 'bottom-right'].includes(value);
121
+ }
122
+ },
123
+ /**
124
+ * The content of the toast.
125
+ */
126
+ content: {
127
+ type: String
128
+ },
129
+ /**
130
+ * The base container to attach to. Defaults to `#app` element.
131
+ */
132
+ element: {
133
+ type: String,
134
+ "default": '#app'
135
+ },
136
+ /**
137
+ * The duration timeout before the toast is dismissed.
138
+ */
139
+ timeout: {
140
+ type: Number,
141
+ "default": 3500
142
+ }
143
+ },
144
+ setup: function setup(props, ctx) {
145
+ var isMounted = ref(false);
146
+ var uuid = uniqueId();
147
+ var isOpen = computed({
148
+ get: function get() {
149
+ return ref(props.modelValue);
150
+ },
151
+ set: function set(state) {
152
+ ctx.emit('update:modelValue', state);
153
+ }
154
+ });
155
+ var mountContainer = ref(false);
156
+ var containerEl = computed(function () {
157
+ return "fw-toast--container-".concat(props.position);
158
+ });
159
+ var isTop = computed(function () {
160
+ return props.position.includes('top');
161
+ });
162
+ var isLeftRightorCenter = computed(function () {
163
+ if (props.position.includes('right')) {
164
+ return 'Right';
165
+ }
166
+ if (props.position.includes('left')) {
167
+ return 'Left';
168
+ }
169
+ return 'Center';
170
+ });
171
+ var baseClass = "text-white flex min-w-[70%] max-w-[90%] md:min-w-[320px] md:max-w-[600px]\n py-3.5 px-6";
172
+ var typeClasses = ref({
173
+ success: 'bg-success',
174
+ error: 'bg-error',
175
+ warning: 'bg-alert'
176
+ });
177
+ var svgComponent = ref({
178
+ success: 'SolidCheckSvg',
179
+ error: 'SolidXMarkSvg',
180
+ warning: 'ErrorFilledSvg'
181
+ });
182
+ var negativePush = computed(function () {
183
+ return isTop.value ? '-' : '';
184
+ });
185
+ onMounted(function () {
186
+ var positionContainer = document.querySelector("#".concat(containerEl.value));
187
+ if (!positionContainer) {
188
+ mountContainer.value = true;
189
+ } else if (positionContainer.children.length) {
190
+ var _positionContainer$ch;
191
+ var first = positionContainer === null || positionContainer === void 0 ? void 0 : positionContainer.clientHeight;
192
+ var toastHeight = (positionContainer === null || positionContainer === void 0 ? void 0 : (_positionContainer$ch = positionContainer.children[0]) === null || _positionContainer$ch === void 0 ? void 0 : _positionContainer$ch.clientHeight) || 52;
193
+ var last = first + toastHeight;
194
+ var invert = last - first;
195
+ positionContainer === null || positionContainer === void 0 ? void 0 : positionContainer.animate([{
196
+ transform: "translateY(".concat(negativePush.value).concat(invert, "px)")
197
+ }, {
198
+ transform: 'translateY(0)'
199
+ }], {
200
+ duration: 400,
201
+ easing: 'ease'
202
+ });
203
+ }
204
+ isMounted.value = true;
205
+ });
206
+ watchEffect(function () {
207
+ if (isOpen.value.value === true) {
208
+ setTimeout(function () {
209
+ isOpen.value.value = false;
210
+ ctx.emit('dismissed');
211
+ }, props.timeout);
212
+ }
213
+ });
214
+ return {
215
+ containerEl: containerEl,
216
+ baseClass: baseClass,
217
+ typeClasses: typeClasses,
218
+ svgComponent: svgComponent,
219
+ isOpen: isOpen,
220
+ uuid: uuid,
221
+ isMounted: isMounted,
222
+ mountContainer: mountContainer,
223
+ isLeftRightorCenter: isLeftRightorCenter
224
+ };
225
+ }
226
+ });
227
+
228
+ var _hoisted_1 = ["id"];
229
+ var _hoisted_2 = {
230
+ "class": "inline-flex items-center gap-x-4"
231
+ };
232
+ var _hoisted_3 = {
233
+ key: 0,
234
+ "class": "text-base mb-0"
235
+ };
236
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
237
+ return openBlock(), createElementBlock(Fragment, null, [_ctx.mountContainer ? (openBlock(), createBlock(Teleport, {
238
+ key: 0,
239
+ to: _ctx.element
240
+ }, [createVNode(TransitionGroup, {
241
+ name: "toastAnimate",
242
+ tag: "div",
243
+ appear: "",
244
+ id: _ctx.containerEl,
245
+ "class": "fw-toast--container"
246
+ }, null, 8, ["id"])], 8, ["to"])) : createCommentVNode("", true), _ctx.isMounted ? (openBlock(), createBlock(Teleport, {
247
+ key: 1,
248
+ to: '#' + _ctx.containerEl
249
+ }, [createVNode(Transition, {
250
+ name: "toastSlideIn".concat(_ctx.isLeftRightorCenter),
251
+ appear: ""
252
+ }, {
253
+ "default": withCtx(function () {
254
+ return [_ctx.isOpen.value ? (openBlock(), createElementBlock("output", {
255
+ role: "status",
256
+ "class": normalizeClass(["fw-toast shadow rounded", [_ctx.baseClass, _ctx.typeClasses[_ctx.type]]]),
257
+ id: "fw-toast-".concat(_ctx.uuid),
258
+ key: "fw-toast-".concat(_ctx.uuid)
259
+ }, [createElementVNode("div", _hoisted_2, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.svgComponent[_ctx.type]), {
260
+ "aria-hidden": "true",
261
+ "class": "text-white min-w-[24px] min-h-[24px] w-[24px] h-[24px]"
262
+ })), _ctx.content ? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(_ctx.content), 1)) : renderSlot(_ctx.$slots, "default", {
263
+ key: 1
264
+ })])], 10, _hoisted_1)) : createCommentVNode("", true)];
265
+ }),
266
+ _: 3
267
+ }, 8, ["name"])], 8, ["to"])) : createCommentVNode("", true)], 64);
268
+ }
269
+
270
+ var css_248z = ".fw-toast{will-change:transform}.fw-toast--container{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:15px;pointer-events:none;position:fixed;-webkit-transition:all .4s ease;transition:all .4s ease}#fw-toast--container-bottom-right{-webkit-box-align:end;-ms-flex-align:end;align-items:end;bottom:50px;margin-left:20px;right:50px}#fw-toast--container-bottom-left{bottom:50px;left:50px;margin-right:20px}#fw-toast--container-bottom{-webkit-box-align:center;-ms-flex-align:center;align-items:center;bottom:50px;width:100%}#fw-toast--container-top-right{-webkit-box-align:end;-ms-flex-align:end;align-items:end;margin-left:20px;right:50px}#fw-toast--container-top-left,#fw-toast--container-top-right{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;top:50px}#fw-toast--container-top-left{left:50px;margin-right:20px}#fw-toast--container-top{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-orient:vertical;-webkit-box-direction:reverse;align-items:center;-ms-flex-direction:column-reverse;flex-direction:column-reverse;top:50px;width:100%}.toastSlideInRight-enter-active{-webkit-animation:toastSlideInRight .4s;animation:toastSlideInRight .4s;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInRight-leave-active{animation:toastSlideInRight .4s reverse;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInLeft-enter-active{-webkit-animation:toastSlideInLeft .4s;animation:toastSlideInLeft .4s;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInLeft-leave-active{animation:toastSlideInLeft .4s reverse;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInCenter-enter-active{-webkit-animation:toastSlideInCenter .4s;animation:toastSlideInCenter .4s;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInCenter-leave-active{animation:toastSlideInCenter .4s reverse;-webkit-transition:all .4s ease;transition:all .4s ease}@-webkit-keyframes toastSlideInRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}40%{opacity:1;-webkit-transform:translateX(-3%);transform:translateX(-3%)}70%{-webkit-transform:translateX(1%);transform:translateX(1%)}90%{-webkit-transform:translateX(-1%);transform:translateX(-1%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes toastSlideInRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}40%{opacity:1;-webkit-transform:translateX(-3%);transform:translateX(-3%)}70%{-webkit-transform:translateX(1%);transform:translateX(1%)}90%{-webkit-transform:translateX(-1%);transform:translateX(-1%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes toastSlideInLeft{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}40%{opacity:1;-webkit-transform:translateX(3%);transform:translateX(3%)}70%{-webkit-transform:translateX(-1%);transform:translateX(-1%)}90%{-webkit-transform:translateX(1%);transform:translateX(1%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes toastSlideInLeft{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}40%{opacity:1;-webkit-transform:translateX(3%);transform:translateX(3%)}70%{-webkit-transform:translateX(-1%);transform:translateX(-1%)}90%{-webkit-transform:translateX(1%);transform:translateX(1%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes toastSlideInCenter{0%{opacity:0;scale:0}to{opacity:1;scale:1}}@keyframes toastSlideInCenter{0%{opacity:0;scale:0}to{opacity:1;scale:1}}";
271
+ var stylesheet = ".fw-toast{will-change:transform}.fw-toast--container{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:15px;pointer-events:none;position:fixed;-webkit-transition:all .4s ease;transition:all .4s ease}#fw-toast--container-bottom-right{-webkit-box-align:end;-ms-flex-align:end;align-items:end;bottom:50px;margin-left:20px;right:50px}#fw-toast--container-bottom-left{bottom:50px;left:50px;margin-right:20px}#fw-toast--container-bottom{-webkit-box-align:center;-ms-flex-align:center;align-items:center;bottom:50px;width:100%}#fw-toast--container-top-right{-webkit-box-align:end;-ms-flex-align:end;align-items:end;margin-left:20px;right:50px}#fw-toast--container-top-left,#fw-toast--container-top-right{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;top:50px}#fw-toast--container-top-left{left:50px;margin-right:20px}#fw-toast--container-top{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-orient:vertical;-webkit-box-direction:reverse;align-items:center;-ms-flex-direction:column-reverse;flex-direction:column-reverse;top:50px;width:100%}.toastSlideInRight-enter-active{-webkit-animation:toastSlideInRight .4s;animation:toastSlideInRight .4s;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInRight-leave-active{animation:toastSlideInRight .4s reverse;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInLeft-enter-active{-webkit-animation:toastSlideInLeft .4s;animation:toastSlideInLeft .4s;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInLeft-leave-active{animation:toastSlideInLeft .4s reverse;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInCenter-enter-active{-webkit-animation:toastSlideInCenter .4s;animation:toastSlideInCenter .4s;-webkit-transition:all .4s ease;transition:all .4s ease}.toastSlideInCenter-leave-active{animation:toastSlideInCenter .4s reverse;-webkit-transition:all .4s ease;transition:all .4s ease}@-webkit-keyframes toastSlideInRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}40%{opacity:1;-webkit-transform:translateX(-3%);transform:translateX(-3%)}70%{-webkit-transform:translateX(1%);transform:translateX(1%)}90%{-webkit-transform:translateX(-1%);transform:translateX(-1%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes toastSlideInRight{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}40%{opacity:1;-webkit-transform:translateX(-3%);transform:translateX(-3%)}70%{-webkit-transform:translateX(1%);transform:translateX(1%)}90%{-webkit-transform:translateX(-1%);transform:translateX(-1%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes toastSlideInLeft{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}40%{opacity:1;-webkit-transform:translateX(3%);transform:translateX(3%)}70%{-webkit-transform:translateX(-1%);transform:translateX(-1%)}90%{-webkit-transform:translateX(1%);transform:translateX(1%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes toastSlideInLeft{0%{opacity:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}40%{opacity:1;-webkit-transform:translateX(3%);transform:translateX(3%)}70%{-webkit-transform:translateX(-1%);transform:translateX(-1%)}90%{-webkit-transform:translateX(1%);transform:translateX(1%)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes toastSlideInCenter{0%{opacity:0;scale:0}to{opacity:1;scale:1}}@keyframes toastSlideInCenter{0%{opacity:0;scale:0}to{opacity:1;scale:1}}";
272
+ styleInject(css_248z);
273
+
274
+ script.render = render;
275
+
276
+ export { script as FwToast };