@frollo/frollo-web-ui 8.5.4 → 9.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 (135) hide show
  1. package/cjs/index.js +29797 -28753
  2. package/esm/{_rollupPluginBabelHelpers-DpC_oIQV.js → _rollupPluginBabelHelpers-DODWUb5N.js} +307 -345
  3. package/esm/fw-accordion.js +59 -56
  4. package/esm/fw-alert.js +68 -0
  5. package/esm/fw-bar-chart.js +4 -4
  6. package/esm/fw-button-CnQvA7oM.js +296 -0
  7. package/esm/fw-button.js +2 -4
  8. package/esm/{fw-card-bsYbpPmW.js → fw-card-D45R4kN-.js} +33 -9
  9. package/esm/fw-card.js +3 -1
  10. package/esm/fw-checkbox.js +39 -20
  11. package/esm/fw-date-picker.js +110 -78
  12. package/esm/fw-drawer.js +119 -83
  13. package/esm/{fw-dropdown-CbgOvgOt.js → fw-dropdown-58wyuzsW.js} +80 -61
  14. package/esm/fw-dropdown.js +5 -5
  15. package/esm/fw-icons.js +34 -0
  16. package/esm/{fw-image-Dl96Dc27.js → fw-image-D-OHafdw.js} +30 -13
  17. package/esm/fw-image.js +4 -4
  18. package/esm/{fw-input-XeI-IKly.js → fw-input-C2-cZ-BY.js} +65 -43
  19. package/esm/fw-input.js +2 -2
  20. package/esm/fw-loading-bar-DecYSBC_.js +45 -0
  21. package/esm/fw-loading.js +34 -15
  22. package/esm/fw-media-picker.js +43 -31
  23. package/esm/fw-modal.js +102 -48
  24. package/esm/fw-navigation-menu.js +180 -52
  25. package/esm/fw-popover-B4bsfuxm.js +620 -0
  26. package/esm/fw-popover.js +6 -293
  27. package/esm/fw-progress-bar.js +3 -2
  28. package/esm/fw-provider-list.js +58 -34
  29. package/esm/fw-sidebar-menu.js +22 -13
  30. package/esm/fw-slider.js +4 -4
  31. package/esm/fw-switch.js +147 -0
  32. package/esm/{fw-table-row-Db7951fr.js → fw-table-row-C61Bi8KB.js} +57 -55
  33. package/esm/fw-table.js +8 -7
  34. package/esm/fw-tabs.js +7 -7
  35. package/esm/{fw-tag-V0jMl-It.js → fw-tag-FWH6KttB.js} +37 -26
  36. package/esm/fw-tag.js +4 -6
  37. package/esm/fw-toast.js +14 -15
  38. package/esm/fw-transactions-card.js +8 -8
  39. package/esm/get-root-colours-DCjlYelc.js +62 -0
  40. package/esm/{index-CzZMBMV_.js → index-BsEH8YYr.js} +433 -130
  41. package/esm/index.js +76 -68
  42. package/esm/{uniqueId-DK6xzFd8.js → uniqueId-DZdGzBh8.js} +1 -1
  43. package/frollo-web-ui.esm.js +30139 -29045
  44. package/icons/arrow-connect.svg +3 -0
  45. package/icons/arrow-left.svg +3 -0
  46. package/icons/arrow-out-square.svg +3 -0
  47. package/icons/arrow-right.svg +3 -0
  48. package/icons/circle-exclamation.svg +5 -0
  49. package/icons/clock.svg +10 -0
  50. package/icons/default-provider.svg +5 -0
  51. package/icons/desktop.svg +8 -0
  52. package/icons/error.svg +3 -0
  53. package/icons/folder-arrow-down.svg +3 -0
  54. package/icons/index.ts +35 -3
  55. package/icons/loading.svg +0 -1
  56. package/icons/manual-account.svg +3 -0
  57. package/icons/mobile.svg +3 -0
  58. package/icons/paper-plane.svg +3 -0
  59. package/icons/pending.svg +10 -0
  60. package/icons/success-hill.svg +5 -0
  61. package/icons/user-plus.svg +3 -0
  62. package/index.d.ts +807 -571
  63. package/package.json +23 -29
  64. package/styles/tailwind.css +52 -0
  65. package/styles/typography.scss +24 -7
  66. package/styles/web-components.scss +2 -2
  67. package/tailwind.config.js +128 -22
  68. package/types/components/fw-accordion/fw-accordion.vue.d.ts +20 -20
  69. package/types/components/fw-alert/fw-alert.vue.d.ts +43 -0
  70. package/types/components/fw-alert/index.d.ts +2 -0
  71. package/types/components/fw-alert/index.types.d.ts +4 -0
  72. package/types/components/fw-bar-chart/fw-bar-chart.vue.d.ts +8 -8
  73. package/types/components/fw-button/fw-button.vue.d.ts +15 -17
  74. package/types/components/fw-button/index.d.ts +2 -0
  75. package/types/components/fw-button/index.types.d.ts +1 -3
  76. package/types/components/fw-card/fw-card.vue.d.ts +3 -2
  77. package/types/components/fw-checkbox/fw-checkbox.vue.d.ts +8 -5
  78. package/types/components/fw-date-picker/fw-date-picker.vue.d.ts +14 -19
  79. package/types/components/fw-date-picker/index.types.d.ts +5 -4
  80. package/types/components/fw-drawer/fw-drawer.vue.d.ts +26 -10
  81. package/types/components/fw-drawer/index.types.d.ts +1 -1
  82. package/types/components/fw-dropdown/fw-dropdown.vue.d.ts +11 -9
  83. package/types/components/fw-icons/index.d.ts +2 -0
  84. package/types/components/fw-image/fw-image.vue.d.ts +7 -5
  85. package/types/components/fw-input/fw-input.vue.d.ts +11 -17
  86. package/types/components/fw-input/index.types.d.ts +1 -1
  87. package/types/components/fw-loading/fw-loading-bar.vue.d.ts +5 -2
  88. package/types/components/fw-loading/fw-loading-dots.vue.d.ts +2 -0
  89. package/types/components/fw-loading/index.d.ts +2 -1
  90. package/types/components/fw-modal/fw-modal.vue.d.ts +51 -11
  91. package/types/components/fw-modal/index.types.d.ts +1 -1
  92. package/types/components/fw-navigation-menu/fw-navigation-menu.vue.d.ts +77 -6
  93. package/types/components/fw-navigation-menu/index.types.d.ts +11 -0
  94. package/types/components/fw-popover/fw-popover.vue.d.ts +10 -5
  95. package/types/components/fw-provider-list/fw-provider-list.vue.d.ts +8 -5
  96. package/types/components/fw-sidebar-menu/fw-sidebar-menu.vue.d.ts +20 -3
  97. package/types/components/fw-sidebar-menu/index.types.d.ts +9 -0
  98. package/types/components/fw-switch/fw-switch.vue.d.ts +101 -0
  99. package/types/components/fw-switch/index.d.ts +2 -0
  100. package/types/components/fw-switch/index.types.d.ts +8 -0
  101. package/types/components/fw-table/fw-table.vue.d.ts +7 -7
  102. package/types/components/fw-table/index.types.d.ts +0 -3
  103. package/types/components/fw-tabs/fw-tabs.vue.d.ts +1 -1
  104. package/types/components/fw-tabs/index.types.d.ts +1 -1
  105. package/types/components/fw-tag/fw-tag.vue.d.ts +2 -2
  106. package/types/components/fw-tag/index.types.d.ts +3 -3
  107. package/types/components/fw-toast/fw-toast.vue.d.ts +2 -2
  108. package/types/components/index.d.ts +4 -3
  109. package/types/components/index.types.d.ts +1 -0
  110. package/types/helpers/get-root-colours.d.ts +3 -0
  111. package/types/helpers/index.d.ts +2 -0
  112. package/types/helpers/vue-component-to-html.d.ts +2 -0
  113. package/types/icons/index.d.ts +18 -2
  114. package/types/index-types.esm.d.ts +1 -0
  115. package/types/index.d.ts +1 -0
  116. package/types/index.esm.d.ts +1 -0
  117. package/types/services/toast.d.ts +1 -1
  118. package/web-components/index.js +30134 -29048
  119. package/esm/check--YD4Ts6g.js +0 -17
  120. package/esm/fw-animations.js +0 -123
  121. package/esm/fw-button-DNozvo7B.js +0 -286
  122. package/esm/fw-loading-bar-DThRjdw1.js +0 -22
  123. package/esm/fw-loading-spinner-BFpFFRJm.js +0 -20
  124. package/esm/fw-period-selector.js +0 -90
  125. package/esm/get-root-colours-DYEoJPEb.js +0 -37
  126. package/icons/icons.stories.ts +0 -28
  127. package/styles/tailwind.scss +0 -68
  128. package/types/components/fw-animations/fw-email-pulse.vue.d.ts +0 -24
  129. package/types/components/fw-animations/fw-success-pulse.vue.d.ts +0 -24
  130. package/types/components/fw-animations/index.d.ts +0 -4
  131. package/types/components/fw-period-selector/fw-period-selector.vue.d.ts +0 -56
  132. package/types/components/fw-period-selector/index.d.ts +0 -2
  133. package/types/components/fw-period-selector/index.types.d.ts +0 -1
  134. /package/icons/{arrows-rotate.svg → arrow-rotate.svg} +0 -0
  135. /package/types/components/{fw-animations/fw-loading-spinner.vue.d.ts → fw-icons/fw-success-animation.vue.d.ts} +0 -0
package/esm/fw-popover.js CHANGED
@@ -1,293 +1,6 @@
1
- import { c as _asyncToGenerator, d as _regeneratorRuntime, e as _defineProperty } from './_rollupPluginBabelHelpers-DpC_oIQV.js';
2
- import { defineComponent, ref, computed, watchEffect, onBeforeUnmount, onMounted, onUpdated, useCssVars, pushScopeId, popScopeId, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, createTextVNode, toDisplayString, createCommentVNode } from 'vue';
3
- import { c as createPopper } from './index-BVcOAKar.js';
4
- import { u as uniqueId } from './uniqueId-DK6xzFd8.js';
5
- import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
6
-
7
- /**
8
- * Gets the first element of `array`.
9
- *
10
- * @static
11
- * @memberOf _
12
- * @since 0.1.0
13
- * @alias first
14
- * @category Array
15
- * @param {Array} array The array to query.
16
- * @returns {*} Returns the first element of `array`.
17
- * @example
18
- *
19
- * _.head([1, 2, 3]);
20
- * // => 1
21
- *
22
- * _.head([]);
23
- * // => undefined
24
- */
25
- function head(array) {
26
- return (array && array.length) ? array[0] : undefined;
27
- }
28
-
29
- var __default__ = defineComponent({
30
- name: 'FwPopover',
31
- emits: ['closed'],
32
- props: {
33
- /**
34
- * The title of the popover
35
- */
36
- title: String,
37
- /**
38
- * The side of the target element the popover should be placed against. Accepts 'top', 'right', 'bottom' and 'left'
39
- */
40
- placement: {
41
- type: String,
42
- "default": 'bottom',
43
- validator: function validator(value) {
44
- return ['top', 'right', 'bottom', 'left', 'auto', 'auto-start', 'auto-end', 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'right-start', 'right-end', 'left-start', 'left-end'].includes(value);
45
- }
46
- },
47
- /**
48
- * Whether to use `fixed` or `absolute` positioning.
49
- * Absolute is more performant if you have a lot of popovers; fixed is more robust
50
- */
51
- position: {
52
- type: String,
53
- "default": 'absolute',
54
- validator: function validator(value) {
55
- return ['fixed', 'absolute'].includes(value);
56
- }
57
- },
58
- /**
59
- * The input event which causes the popover to show. Accepts 'click' and 'hover'
60
- */
61
- trigger: {
62
- type: String,
63
- "default": 'click',
64
- validator: function validator(value) {
65
- return ['click', 'hover', 'focus'].includes(value);
66
- }
67
- },
68
- /**
69
- * Whether to show component on top of all components by setting the highest z-index
70
- */
71
- showOnTop: {
72
- type: Boolean,
73
- "default": false
74
- },
75
- /**
76
- * Close the popover automatically when the user clicks inside of the popover
77
- */
78
- closeOnClick: {
79
- type: Boolean,
80
- "default": false
81
- },
82
- /**
83
- * Close the popover automatically when the user clicks outside of the popover
84
- */
85
- closeOnClickOutside: {
86
- type: Boolean,
87
- "default": true
88
- },
89
- /**
90
- * The text alignment of the popover content should be placed against. Accepts 'center', 'right' and 'left'
91
- */
92
- textAlign: {
93
- type: String,
94
- "default": 'left',
95
- validator: function validator(value) {
96
- return ['center', 'left', 'right'].includes(value);
97
- }
98
- },
99
- /**
100
- * Whether to show the arrow
101
- **/
102
- showArrow: {
103
- type: Boolean,
104
- "default": false
105
- }
106
- },
107
- setup: function setup(props, ctx) {
108
- var targetElement = ref();
109
- var contentElement = ref();
110
- var timer = ref();
111
- var spacingSize = computed(function () {
112
- return props.showArrow ? '12px' : '2px';
113
- });
114
- var visible = ref(false);
115
- var computedVisible = computed(function () {
116
- return visible.value && (props.title || ctx.slots.content);
117
- });
118
- var onHover = function onHover() {
119
- if (props.trigger === 'hover' || props.trigger === 'focus') {
120
- timer.value = setTimeout(function () {
121
- visible.value = true;
122
- }, 600);
123
- }
124
- };
125
- var onLeave = function onLeave() {
126
- if (props.trigger === 'hover' || props.trigger === 'focus') {
127
- clearTimeout(timer.value);
128
- timer.value = setTimeout(function () {
129
- visible.value = false;
130
- }, 200);
131
- }
132
- };
133
- var onClick = function onClick() {
134
- if (props.trigger === 'click') {
135
- visible.value = !visible.value;
136
- }
137
- };
138
- var onClickOutside = function onClickOutside(e) {
139
- var _contentElement$value, _targetElement$value;
140
- if (props.closeOnClickOutside && e.target instanceof Node &&
141
- // Check if the click happened inside the popover
142
- !((_contentElement$value = contentElement.value) !== null && _contentElement$value !== void 0 && _contentElement$value.contains(e.target)) &&
143
- // Check if the click happened inside the button
144
- !((_targetElement$value = targetElement.value) !== null && _targetElement$value !== void 0 && _targetElement$value.contains(e.target))) {
145
- visible.value = false;
146
- ctx.emit('closed');
147
- }
148
- };
149
- var autoCloseContent = function autoCloseContent(e) {
150
- var _contentElement$value2;
151
- if (props.closeOnClick && (_contentElement$value2 = contentElement.value) !== null && _contentElement$value2 !== void 0 && _contentElement$value2.contains(e.target)) {
152
- visible.value = false;
153
- ctx.emit('closed');
154
- }
155
- };
156
- watchEffect(function () {
157
- if (computedVisible.value) {
158
- document.addEventListener('click', onClickOutside);
159
- } else {
160
- document.removeEventListener('click', onClickOutside);
161
- }
162
- });
163
- onBeforeUnmount(function () {
164
- return document.removeEventListener('click', onClickOutside);
165
- });
166
- var popper = ref(null);
167
- var popperPlacement = computed(function () {
168
- return props.placement;
169
- });
170
- var popperStrategy = computed(function () {
171
- return props.position;
172
- });
173
- onMounted(function () {
174
- if (targetElement.value && contentElement.value) {
175
- popper.value = createPopper(targetElement.value, contentElement.value, {
176
- placement: popperPlacement.value,
177
- strategy: popperStrategy.value,
178
- modifiers: [{
179
- name: 'arrow',
180
- options: {
181
- padding: 5
182
- }
183
- }]
184
- });
185
- }
186
- });
187
- onUpdated( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
188
- return _regeneratorRuntime().wrap(function _callee$(_context) {
189
- while (1) switch (_context.prev = _context.next) {
190
- case 0:
191
- if (!popper.value) {
192
- _context.next = 3;
193
- break;
194
- }
195
- _context.next = 3;
196
- return popper.value.update();
197
- case 3:
198
- case "end":
199
- return _context.stop();
200
- }
201
- }, _callee);
202
- })));
203
- var contentElementId = uniqueId();
204
- var setTargetElementAriaDescribedBy = function setTargetElementAriaDescribedBy() {
205
- var _targetElement$value2;
206
- var targetElementFirstChild = head((_targetElement$value2 = targetElement.value) === null || _targetElement$value2 === void 0 ? void 0 : _targetElement$value2.children);
207
- if (targetElementFirstChild && targetElementFirstChild.getAttribute('aria-describedby') === null) {
208
- targetElementFirstChild.setAttribute('aria-describedby', contentElementId);
209
- }
210
- };
211
- onMounted(setTargetElementAriaDescribedBy);
212
- watchEffect(setTargetElementAriaDescribedBy);
213
- return {
214
- targetElement: targetElement,
215
- contentElement: contentElement,
216
- contentElementId: contentElementId,
217
- computedVisible: computedVisible,
218
- onHover: onHover,
219
- onClick: onClick,
220
- onLeave: onLeave,
221
- autoCloseContent: autoCloseContent,
222
- visible: visible,
223
- spacingSize: spacingSize
224
- };
225
- }
226
- });
227
- var __injectCSSVars__ = function __injectCSSVars__() {
228
- useCssVars(function (_ctx) {
229
- return {
230
- "bf2f5546": _ctx.spacingSize
231
- };
232
- });
233
- };
234
- var __setup__ = __default__.setup;
235
- __default__.setup = __setup__ ? function (props, ctx) {
236
- __injectCSSVars__();
237
- return __setup__(props, ctx);
238
- } : __injectCSSVars__;
239
-
240
- var _withScopeId = function _withScopeId(n) {
241
- return pushScopeId("data-v-6df01fae"), n = n(), popScopeId(), n;
242
- };
243
- var _hoisted_1 = ["id", "aria-hidden"];
244
- var _hoisted_2 = {
245
- key: 0,
246
- "data-popper-arrow": "",
247
- "class": "fw-popover__arrow after:content-[''] after:bg-white after:border after:border-grey-light after:absolute"
248
- };
249
- function render(_ctx, _cache, $props, $setup, $data, $options) {
250
- return openBlock(), createElementBlock("span", {
251
- "class": normalizeClass(["fw-popover", _defineProperty(_defineProperty({
252
- 'fw-popover--visible': _ctx.computedVisible
253
- }, "fw-popover--placement-".concat(_ctx.placement), !!_ctx.placement), 'fw-visibile-on-top', _ctx.showOnTop)])
254
- }, [createElementVNode("div", {
255
- "class": "fw-popover__target",
256
- ref: "targetElement",
257
- onMouseenter: _cache[0] || (_cache[0] = function () {
258
- return _ctx.onHover && _ctx.onHover.apply(_ctx, arguments);
259
- }),
260
- onMouseleave: _cache[1] || (_cache[1] = function () {
261
- return _ctx.onLeave && _ctx.onLeave.apply(_ctx, arguments);
262
- }),
263
- onClick: _cache[2] || (_cache[2] = function () {
264
- return _ctx.onClick && _ctx.onClick.apply(_ctx, arguments);
265
- }),
266
- onFocusin: _cache[3] || (_cache[3] = function () {
267
- return _ctx.onHover && _ctx.onHover.apply(_ctx, arguments);
268
- }),
269
- onFocusout: _cache[4] || (_cache[4] = function () {
270
- return _ctx.onLeave && _ctx.onLeave.apply(_ctx, arguments);
271
- })
272
- }, [renderSlot(_ctx.$slots, "default")], 544), createElementVNode("span", {
273
- id: _ctx.contentElementId,
274
- "aria-hidden": !_ctx.computedVisible,
275
- ref: "contentElement",
276
- "class": normalizeClass(["fw-popover__content rounded bg-white border border-grey-light shadow-card pointer-events-none", _defineProperty({}, "fw-popover__content--".concat(_ctx.textAlign), !!_ctx.textAlign)]),
277
- role: "popover",
278
- onClick: _cache[5] || (_cache[5] = function () {
279
- return _ctx.autoCloseContent && _ctx.autoCloseContent.apply(_ctx, arguments);
280
- })
281
- }, [renderSlot(_ctx.$slots, "content", {}, function () {
282
- return [createTextVNode(toDisplayString(_ctx.title), 1)];
283
- }), _ctx.showArrow ? (openBlock(), createElementBlock("span", _hoisted_2)) : createCommentVNode("", true)], 10, _hoisted_1)], 2);
284
- }
285
-
286
- var css_248z = ".fw-popover__content[data-v-6df01fae]{opacity:0;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;transition:all .3s ease;white-space:normal;z-index:9999}.fw-popover__content--center[data-v-6df01fae]{text-align:center}.fw-popover__content--left[data-v-6df01fae]{text-align:left}.fw-popover__content--right[data-v-6df01fae]{text-align:right}.fw-popover--visible .fw-popover__content[data-v-6df01fae]{opacity:1;pointer-events:all}.fw-popover__arrow[data-v-6df01fae]:after{height:var(--bf2f5546);left:0;top:0;-webkit-transform:translate(-50%,-50%) rotate(45deg);-moz-transform:translate(-50%,-50%) rotate(45deg);-ms-transform:translate(-50%,-50%) rotate(45deg);transform:translate(-50%,-50%) rotate(45deg);width:var(--bf2f5546)}.fw-popover__content[data-popper-placement^=top][data-v-6df01fae]{margin-bottom:var(--bf2f5546)!important}.fw-popover__content[data-popper-placement^=right][data-v-6df01fae]{margin-left:var(--bf2f5546)!important}.fw-popover__content[data-popper-placement^=bottom][data-v-6df01fae]{margin-top:var(--bf2f5546)!important}.fw-popover__content[data-popper-placement^=left][data-v-6df01fae]{margin-right:var(--bf2f5546)!important}.fw-popover__content[data-popper-placement^=top] .fw-popover__arrow[data-v-6df01fae]{bottom:0}.fw-popover__content[data-popper-placement^=right] .fw-popover__arrow[data-v-6df01fae]{left:0}.fw-popover__content[data-popper-placement^=bottom] .fw-popover__arrow[data-v-6df01fae]{top:0}.fw-popover__content[data-popper-placement^=left] .fw-popover__arrow[data-v-6df01fae]{right:0}.fw-popover__content[data-popper-placement^=top] .fw-popover__arrow[data-v-6df01fae]{bottom:-1px}.fw-popover__content[data-popper-placement^=top] .fw-popover__arrow[data-v-6df01fae]:after{border-left:none;border-top:none}.fw-popover__content[data-popper-placement^=right] .fw-popover__arrow[data-v-6df01fae]{left:-1px}.fw-popover__content[data-popper-placement^=right] .fw-popover__arrow[data-v-6df01fae]:after{border-right:none;border-top:none}.fw-popover__content[data-popper-placement^=bottom] .fw-popover__arrow[data-v-6df01fae]{top:-1px}.fw-popover__content[data-popper-placement^=bottom] .fw-popover__arrow[data-v-6df01fae]:after{border-bottom:none;border-right:none}.fw-popover__content[data-popper-placement^=left] .fw-popover__arrow[data-v-6df01fae]{right:-1px}.fw-popover__content[data-popper-placement^=left] .fw-popover__arrow[data-v-6df01fae]:after{border-bottom:none;border-left:none}";
287
- var stylesheet = ".fw-popover__content[data-v-6df01fae]{opacity:0;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;transition:all .3s ease;white-space:normal;z-index:9999}.fw-popover__content--center[data-v-6df01fae]{text-align:center}.fw-popover__content--left[data-v-6df01fae]{text-align:left}.fw-popover__content--right[data-v-6df01fae]{text-align:right}.fw-popover--visible .fw-popover__content[data-v-6df01fae]{opacity:1;pointer-events:all}.fw-popover__arrow[data-v-6df01fae]:after{height:var(--bf2f5546);left:0;top:0;-webkit-transform:translate(-50%,-50%) rotate(45deg);-moz-transform:translate(-50%,-50%) rotate(45deg);-ms-transform:translate(-50%,-50%) rotate(45deg);transform:translate(-50%,-50%) rotate(45deg);width:var(--bf2f5546)}.fw-popover__content[data-popper-placement^=top][data-v-6df01fae]{margin-bottom:var(--bf2f5546)!important}.fw-popover__content[data-popper-placement^=right][data-v-6df01fae]{margin-left:var(--bf2f5546)!important}.fw-popover__content[data-popper-placement^=bottom][data-v-6df01fae]{margin-top:var(--bf2f5546)!important}.fw-popover__content[data-popper-placement^=left][data-v-6df01fae]{margin-right:var(--bf2f5546)!important}.fw-popover__content[data-popper-placement^=top] .fw-popover__arrow[data-v-6df01fae]{bottom:0}.fw-popover__content[data-popper-placement^=right] .fw-popover__arrow[data-v-6df01fae]{left:0}.fw-popover__content[data-popper-placement^=bottom] .fw-popover__arrow[data-v-6df01fae]{top:0}.fw-popover__content[data-popper-placement^=left] .fw-popover__arrow[data-v-6df01fae]{right:0}.fw-popover__content[data-popper-placement^=top] .fw-popover__arrow[data-v-6df01fae]{bottom:-1px}.fw-popover__content[data-popper-placement^=top] .fw-popover__arrow[data-v-6df01fae]:after{border-left:none;border-top:none}.fw-popover__content[data-popper-placement^=right] .fw-popover__arrow[data-v-6df01fae]{left:-1px}.fw-popover__content[data-popper-placement^=right] .fw-popover__arrow[data-v-6df01fae]:after{border-right:none;border-top:none}.fw-popover__content[data-popper-placement^=bottom] .fw-popover__arrow[data-v-6df01fae]{top:-1px}.fw-popover__content[data-popper-placement^=bottom] .fw-popover__arrow[data-v-6df01fae]:after{border-bottom:none;border-right:none}.fw-popover__content[data-popper-placement^=left] .fw-popover__arrow[data-v-6df01fae]{right:-1px}.fw-popover__content[data-popper-placement^=left] .fw-popover__arrow[data-v-6df01fae]:after{border-bottom:none;border-left:none}";
288
- styleInject(css_248z);
289
-
290
- __default__.render = render;
291
- __default__.__scopeId = "data-v-6df01fae";
292
-
293
- export { __default__ as FwPopover };
1
+ export { _ as FwPopover } from './fw-popover-B4bsfuxm.js';
2
+ import './_rollupPluginBabelHelpers-DODWUb5N.js';
3
+ import 'vue';
4
+ import './index-BVcOAKar.js';
5
+ import './uniqueId-DZdGzBh8.js';
6
+ import './style-inject.es-tgCJW-Cu.js';
@@ -1,5 +1,5 @@
1
- import { defineComponent, resolveComponent, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, createBlock, toDisplayString, normalizeStyle, createCommentVNode } from 'vue';
2
- import { r as render$1 } from './check--YD4Ts6g.js';
1
+ import { defineComponent, resolveComponent, createElementBlock, openBlock, createElementVNode, Fragment, renderList, normalizeClass, createCommentVNode, createBlock, toDisplayString, normalizeStyle } from 'vue';
2
+ import { b as render$1 } from './index-BsEH8YYr.js';
3
3
 
4
4
  var script = defineComponent({
5
5
  name: 'FwProgressBar',
@@ -75,6 +75,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
75
75
  "class": normalizeClass(["w-[30px] h-[30px] mx-auto mb-2 flex items-center justify-center text-center rounded-full", step.position <= _ctx.activeStep ? 'bg-primary text-tertiary' : 'bg-grey-40 text-body'])
76
76
  }, [step.position < _ctx.activeStep ? (openBlock(), createBlock(_component_CheckSvg, {
77
77
  key: 0,
78
+ name: "check",
78
79
  "class": "w-[18px]"
79
80
  })) : (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(step.position), 1))], 2), createElementVNode("div", {
80
81
  "class": normalizeClass(["m-0 md:leading-tight text-sm md:text-base", {
@@ -1,22 +1,20 @@
1
- import { e as _defineProperty } from './_rollupPluginBabelHelpers-DpC_oIQV.js';
2
- import { defineComponent, ref, computed, createElementVNode, resolveComponent, openBlock, createElementBlock, toDisplayString, createVNode, withCtx, createBlock, createCommentVNode, createTextVNode } from 'vue';
3
- import { _ as __default__, s as script$4, a as script$5 } from './fw-table-row-Db7951fr.js';
4
- import { s as script$1 } from './fw-input-XeI-IKly.js';
5
- import { _ as __default__$1 } from './fw-tag-V0jMl-It.js';
6
- import { s as script$3 } from './fw-button-DNozvo7B.js';
7
- import { s as script$2 } from './fw-dropdown-CbgOvgOt.js';
8
- import { i as render$1, j as render$2, k as render$3 } from './index-CzZMBMV_.js';
1
+ import { e as _defineProperty } from './_rollupPluginBabelHelpers-DODWUb5N.js';
2
+ import { defineComponent, ref, computed, useCssVars, createElementVNode, resolveComponent, createElementBlock, openBlock, toDisplayString, createVNode, withCtx, createBlock, createCommentVNode, createTextVNode } from 'vue';
3
+ import { a as script, s as script$1, _ as __default__$4 } from './fw-table-row-C61Bi8KB.js';
4
+ import { _ as __default__$3 } from './fw-input-C2-cZ-BY.js';
5
+ import { _ as __default__$1 } from './fw-tag-FWH6KttB.js';
6
+ import { s as script$2 } from './fw-button-CnQvA7oM.js';
7
+ import { _ as __default__$2 } from './fw-dropdown-58wyuzsW.js';
8
+ import { l as render$1, m as render$2, n as render$3 } from './index-BsEH8YYr.js';
9
+ import { u as useColours } from './get-root-colours-DCjlYelc.js';
9
10
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
10
- import './get-root-colours-DYEoJPEb.js';
11
- import './fw-loading-bar-DThRjdw1.js';
12
- import './vee-validate.esm-3ptvCDR1.js';
13
- import './uniqueId-DK6xzFd8.js';
14
11
  import './fw-button.js';
15
- import './fw-loading-spinner-BFpFFRJm.js';
16
- import './fw-image-Dl96Dc27.js';
17
- import './check--YD4Ts6g.js';
12
+ import './fw-loading.js';
13
+ import './fw-loading-bar-DecYSBC_.js';
14
+ import './vee-validate.esm-3ptvCDR1.js';
15
+ import './fw-image-D-OHafdw.js';
18
16
 
19
- var script = defineComponent({
17
+ var __default__ = defineComponent({
20
18
  name: 'FwProviderList',
21
19
  emits: [
22
20
  /**
@@ -24,16 +22,16 @@ var script = defineComponent({
24
22
  */
25
23
  'changed'],
26
24
  components: {
27
- FwTable: __default__,
28
- FwInput: script$1,
29
- FwDropdown: script$2,
30
- FwButton: script$3,
31
- FwTableHead: script$4,
32
- FwTableRow: script$5,
25
+ FwTable: __default__$4,
26
+ FwInput: __default__$3,
27
+ FwDropdown: __default__$2,
28
+ FwButton: script$2,
29
+ FwTableHead: script$1,
30
+ FwTableRow: script,
33
31
  FwTag: __default__$1,
34
- SolidCheckSvg: render$1,
35
- SolidXMarkSvg: render$2,
36
- SearchSvg: render$3
32
+ SearchSvg: render$3,
33
+ SolidCheckSvg: render$2,
34
+ SolidXMarkSvg: render$1
37
35
  },
38
36
  props: {
39
37
  /**
@@ -125,14 +123,35 @@ var script = defineComponent({
125
123
  ctx.emit('changed', sortedItems.length);
126
124
  return sortedItems;
127
125
  });
126
+ var _useColours = useColours(),
127
+ primaryFade5 = _useColours.primaryFade5,
128
+ primaryFade20 = _useColours.primaryFade20,
129
+ primaryFade40 = _useColours.primaryFade40;
128
130
  return {
129
131
  options: options,
130
132
  sortedTableItems: sortedTableItems,
131
133
  searchFilterModel: searchFilterModel,
132
- statusFilterModel: statusFilterModel
134
+ statusFilterModel: statusFilterModel,
135
+ primaryFade5: primaryFade5,
136
+ primaryFade20: primaryFade20,
137
+ primaryFade40: primaryFade40
133
138
  };
134
139
  }
135
140
  });
141
+ var __injectCSSVars__ = function __injectCSSVars__() {
142
+ useCssVars(function (_ctx) {
143
+ return {
144
+ "9bf5c9b4": _ctx.primaryFade5,
145
+ "e2c36d26": _ctx.primaryFade20,
146
+ "e2c36caa": _ctx.primaryFade40
147
+ };
148
+ });
149
+ };
150
+ var __setup__ = __default__.setup;
151
+ __default__.setup = __setup__ ? function (props, ctx) {
152
+ __injectCSSVars__();
153
+ return __setup__(props, ctx);
154
+ } : __injectCSSVars__;
136
155
 
137
156
  var _hoisted_1 = {
138
157
  "class": "fw-provider-list flex flex-col w-full space-y-4"
@@ -148,7 +167,7 @@ var _hoisted_4 = {
148
167
  };
149
168
  var _hoisted_5 = {
150
169
  key: 0,
151
- "class": "fw-provider-list--table w-full shadow-card"
170
+ "class": "fw-provider-list--table w-full rounded"
152
171
  };
153
172
  var _hoisted_6 = {
154
173
  key: 1
@@ -184,7 +203,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
184
203
  }, {
185
204
  prefix: withCtx(function () {
186
205
  return [createVNode(_component_SearchSvg, {
187
- "class": "text-primary w-5 h-5"
206
+ name: "search",
207
+ "class": "text-body w-5 h-5"
188
208
  })];
189
209
  }),
190
210
  suffix: withCtx(function () {
@@ -199,7 +219,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
199
219
  rounded: ""
200
220
  }, {
201
221
  "default": withCtx(function () {
202
- return [createVNode(_component_SolidXMarkSvg)];
222
+ return [createVNode(_component_SolidXMarkSvg, {
223
+ name: "solid-xmark"
224
+ })];
203
225
  }),
204
226
  _: 1
205
227
  })) : createCommentVNode("", true)];
@@ -225,7 +247,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
225
247
  value: 'supported'
226
248
  }]
227
249
  }, null, 8, ["modelValue", "label"])])]), _ctx.sortedTableItems && _ctx.sortedTableItems.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_5, [createVNode(_component_FwTable, {
228
- "class": "w-full min-w-max bg-grey-20",
250
+ "class": "w-full",
229
251
  items: _ctx.sortedTableItems,
230
252
  options: _ctx.options
231
253
  }, {
@@ -252,6 +274,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
252
274
  }, {
253
275
  "default": withCtx(function () {
254
276
  return [createVNode(_component_SolidXMarkSvg, {
277
+ name: "solid-xmark",
255
278
  "class": "w-4 h-4 mr-1"
256
279
  }), createTextVNode("Outage ")];
257
280
  }),
@@ -263,6 +286,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
263
286
  }, {
264
287
  "default": withCtx(function () {
265
288
  return [createVNode(_component_SolidCheckSvg, {
289
+ name: "solid-check",
266
290
  "class": "w-4 h-4 mr-1"
267
291
  }), createTextVNode(" Available ")];
268
292
  }),
@@ -276,10 +300,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
276
300
  }, 8, ["items", "options"])])) : (openBlock(), createElementBlock("div", _hoisted_6, _hoisted_8))]);
277
301
  }
278
302
 
279
- var css_248z = ".fw-provider-list--table{overflow-x:auto}.fw-provider-list--table::-webkit-scrollbar{-webkit-appearance:none;height:8px}.fw-provider-list--table::-webkit-scrollbar-track{--tw-bg-opacity:1;background-color:rgb(228 228 228/var(--tw-bg-opacity));border-radius:12px}.fw-provider-list--table::-webkit-scrollbar-thumb{--tw-bg-opacity:1;background-color:rgb(75 75 75/var(--tw-bg-opacity));border-radius:12px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fw-provider-list--table::-webkit-scrollbar-thumb:hover{background-color:var(--colorBody);cursor:pointer}";
280
- var stylesheet = ".fw-provider-list--table{overflow-x:auto}.fw-provider-list--table::-webkit-scrollbar{-webkit-appearance:none;height:8px}.fw-provider-list--table::-webkit-scrollbar-track{--tw-bg-opacity:1;background-color:rgb(228 228 228/var(--tw-bg-opacity));border-radius:12px}.fw-provider-list--table::-webkit-scrollbar-thumb{--tw-bg-opacity:1;background-color:rgb(75 75 75/var(--tw-bg-opacity));border-radius:12px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fw-provider-list--table::-webkit-scrollbar-thumb:hover{background-color:var(--colorBody);cursor:pointer}";
303
+ var css_248z = ".fw-provider-list--table{background-color:var(--9bf5c9b4);overflow-x:auto}.fw-provider-list--table::-webkit-scrollbar{-webkit-appearance:none;height:8px}.fw-provider-list--table::-webkit-scrollbar-track{background-color:var(--e2c36d26);border-radius:12px}.fw-provider-list--table::-webkit-scrollbar-thumb{background-color:var(--e2c36caa);border-radius:12px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fw-provider-list--table::-webkit-scrollbar-thumb:hover{background-color:var(--colorBody);cursor:pointer}";
304
+ var stylesheet = ".fw-provider-list--table{background-color:var(--9bf5c9b4);overflow-x:auto}.fw-provider-list--table::-webkit-scrollbar{-webkit-appearance:none;height:8px}.fw-provider-list--table::-webkit-scrollbar-track{background-color:var(--e2c36d26);border-radius:12px}.fw-provider-list--table::-webkit-scrollbar-thumb{background-color:var(--e2c36caa);border-radius:12px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.fw-provider-list--table::-webkit-scrollbar-thumb:hover{background-color:var(--colorBody);cursor:pointer}";
281
305
  styleInject(css_248z);
282
306
 
283
- script.render = render;
307
+ __default__.render = render;
284
308
 
285
- export { script as FwProviderList };
309
+ export { __default__ as FwProviderList };
@@ -1,9 +1,7 @@
1
- import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, withCtx, Transition, withDirectives, createElementVNode, renderSlot, createCommentVNode, Fragment, renderList, createBlock, createTextVNode, toDisplayString, vShow } from 'vue';
2
- import { s as script$1 } from './fw-button-DNozvo7B.js';
3
- import { l as render$1 } from './index-CzZMBMV_.js';
1
+ import { defineComponent, computed, resolveComponent, createElementBlock, createCommentVNode, openBlock, normalizeClass, createVNode, withCtx, Transition, withDirectives, createElementVNode, renderSlot, Fragment, renderList, createBlock, createTextVNode, toDisplayString, vShow } from 'vue';
2
+ import { s as script$1 } from './fw-button-CnQvA7oM.js';
3
+ import { o as render$1 } from './index-BsEH8YYr.js';
4
4
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
5
- import './fw-loading-spinner-BFpFFRJm.js';
6
- import './check--YD4Ts6g.js';
7
5
 
8
6
  var script = defineComponent({
9
7
  name: 'FwSidebarMenu',
@@ -47,10 +45,20 @@ var script = defineComponent({
47
45
  closedWidth: {
48
46
  type: String,
49
47
  "default": 'w-6'
48
+ },
49
+ /**
50
+ * The button variant of the toggle button
51
+ */
52
+ toggleButtonVariant: {
53
+ type: String,
54
+ "default": 'secondary',
55
+ validator: function validator(value) {
56
+ return ['primary', 'secondary', 'tertiary', 'quaternary', 'error', 'success', 'link', 'text', 'transparent', 'gradient'].includes(value);
57
+ }
50
58
  }
51
59
  },
52
60
  setup: function setup(props, ctx) {
53
- var baseClass = "h-full shadow-md bg-grey-lightest border-r border-grey-20 \n fixed top-0 left-0 transition-all duration-300";
61
+ var baseClass = "h-full shadow-md border-r border-grey-20 \n fixed top-0 left-0 transition-all duration-300";
54
62
  var isMenuOpen = computed({
55
63
  get: function get() {
56
64
  return props.modelValue;
@@ -90,7 +98,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
90
98
  "class": normalizeClass(["fw-sidebar-menu", [_ctx.baseClass, _ctx.isMenuOpen ? _ctx.openWidth : _ctx.closedWidth]]),
91
99
  "aria-label": "Aside navigation menu"
92
100
  }, [createVNode(_component_FwButton, {
93
- variant: "primary",
101
+ variant: _ctx.toggleButtonVariant,
94
102
  tabindex: "",
95
103
  title: _ctx.isMenuOpen ? 'Close sidebar navigation menu' : 'Open sidebar navigation menu',
96
104
  onClick: _cache[0] || (_cache[0] = function ($event) {
@@ -100,11 +108,12 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
100
108
  }, {
101
109
  "default": withCtx(function () {
102
110
  return [createVNode(_component_ChevronRightSvg, {
103
- "class": normalizeClass(["w-6 h-6 inline-block m-0 transition-rotate duration-200", _ctx.isMenuOpen ? 'rotate-180' : ''])
111
+ name: "chevron-right",
112
+ "class": normalizeClass(["size-6 inline-block m-0 transition-rotate duration-200", _ctx.isMenuOpen ? 'rotate-180' : ''])
104
113
  }, null, 8, ["class"])];
105
114
  }),
106
115
  _: 1
107
- }, 8, ["title", "class"]), createVNode(Transition, {
116
+ }, 8, ["variant", "title", "class"]), createVNode(Transition, {
108
117
  name: "sidebarMenuSlide"
109
118
  }, {
110
119
  "default": withCtx(function () {
@@ -114,8 +123,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
114
123
  }, [!item.disabled ? (openBlock(), createBlock(_component_FwButton, {
115
124
  key: 0,
116
125
  rounded: false,
117
- "class": "!text-left !px-4 text-grey-base",
118
- variant: "transparent",
126
+ "class": "!text-left !px-4 bg-transparent border-none !no-underline hover:!bg-brand-bg4 focus:bg-brand-bg4",
127
+ variant: "quaternary",
119
128
  href: item.href,
120
129
  to: item.to,
121
130
  external: item.external,
@@ -134,8 +143,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
134
143
  })], 2)) : createCommentVNode("", true);
135
144
  }
136
145
 
137
- var css_248z = ".sidebarMenuSlide-enter-active{-webkit-transition:all .6s ease-in;-moz-transition:all .6s ease-in;transition:all .6s ease-in}.sidebarMenuSlide-leave-active{-webkit-transition:opacity 10ms ease-in;-moz-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}";
138
- var stylesheet = ".sidebarMenuSlide-enter-active{-webkit-transition:all .6s ease-in;-moz-transition:all .6s ease-in;transition:all .6s ease-in}.sidebarMenuSlide-leave-active{-webkit-transition:opacity 10ms ease-in;-moz-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}";
146
+ var css_248z = ".sidebarMenuSlide-enter-active{-webkit-transition:all .6s ease-in;-moz-transition:all .6s ease-in;transition:all .6s ease-in}.sidebarMenuSlide-leave-active{-webkit-transition:opacity 10ms ease-in;-moz-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}.fw-sidebar-menu .fw-button--quaternary.router-link-active{background-color:var(--colorBg4)}";
147
+ var stylesheet = ".sidebarMenuSlide-enter-active{-webkit-transition:all .6s ease-in;-moz-transition:all .6s ease-in;transition:all .6s ease-in}.sidebarMenuSlide-leave-active{-webkit-transition:opacity 10ms ease-in;-moz-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}.fw-sidebar-menu .fw-button--quaternary.router-link-active{background-color:var(--colorBg4)}";
139
148
  styleInject(css_248z);
140
149
 
141
150
  script.render = render;
package/esm/fw-slider.js CHANGED
@@ -1,5 +1,5 @@
1
- import { a as _slicedToArray } from './_rollupPluginBabelHelpers-DpC_oIQV.js';
2
- import { defineComponent, computed, watch, openBlock, createElementBlock, createElementVNode, normalizeStyle, toDisplayString, withDirectives, vModelText } from 'vue';
1
+ import { a as _slicedToArray } from './_rollupPluginBabelHelpers-DODWUb5N.js';
2
+ import { defineComponent, computed, watch, createElementBlock, openBlock, createElementVNode, withDirectives, normalizeStyle, toDisplayString, vModelText } from 'vue';
3
3
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
4
4
 
5
5
  var script = defineComponent({
@@ -109,9 +109,9 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
109
109
  left: "".concat(_ctx.maxPercentage, "%")
110
110
  })
111
111
  }, toDisplayString(_ctx.maximumValue) + "% ", 5), createElementVNode("div", {
112
- "class": "h-1.5 rounded-full bg-grey-base-light [--fill:var(--colorButtonPrimary)]",
112
+ "class": "h-1.5 rounded-full bg-white shadow-card [--fill:var(--colorButtonPrimary)]",
113
113
  style: normalizeStyle({
114
- background: "linear-gradient(to right,\n var(--track, #e5e7eb) 0%,\n var(--track, #e5e7eb) ".concat(_ctx.minPercentage, "%,\n var(--fill) ").concat(_ctx.minPercentage, "%,\n var(--fill) ").concat(_ctx.maxPercentage, "%,\n var(--track, #e5e7eb) ").concat(_ctx.maxPercentage, "%,\n var(--track, #e5e7eb) 100%)")
114
+ background: "linear-gradient(to right,\n var(--track, #ffffff) 0%,\n var(--track, #ffffff) ".concat(_ctx.minPercentage, "%,\n var(--fill) ").concat(_ctx.minPercentage, "%,\n var(--fill) ").concat(_ctx.maxPercentage, "%,\n var(--track, #ffffff) ").concat(_ctx.maxPercentage, "%,\n var(--track, #ffffff) 100%)")
115
115
  })
116
116
  }, null, 4), withDirectives(createElementVNode("input", {
117
117
  "class": "fw-slider absolute inset-0 w-full appearance-none bg-transparent pointer-events-none focus:outline-none",