@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
@@ -1,16 +1,13 @@
1
- import { defineComponent, ref, watch, useCssVars, pushScopeId, popScopeId, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, createBlock, createCommentVNode, toDisplayString, renderSlot, createVNode, Transition, withCtx, withDirectives, vShow } from 'vue';
2
- import { u as useColours } from './get-root-colours-DYEoJPEb.js';
3
- import { r as render$1 } from './index-CzZMBMV_.js';
1
+ import { defineComponent, ref, watch, useCssVars, pushScopeId, popScopeId, resolveComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, createVNode, createCommentVNode, toDisplayString, renderSlot, Transition, withCtx, withDirectives, vShow } from 'vue';
2
+ import { u as useColours } from './get-root-colours-DCjlYelc.js';
3
+ import { r as render$1 } from './index-BsEH8YYr.js';
4
4
  import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
5
- import './check--YD4Ts6g.js';
6
5
 
7
6
  var __default__ = defineComponent({
8
7
  name: 'FwAccordion',
9
8
  components: {
10
9
  ChevronDownSvg: render$1
11
10
  },
12
- emits: [/** Fired when accordion is opened or closed */
13
- 'toggled'],
14
11
  props: {
15
12
  /**
16
13
  * The header title of the accordion
@@ -23,7 +20,7 @@ var __default__ = defineComponent({
23
20
  */
24
21
  titleClass: {
25
22
  type: String,
26
- "default": 'h4'
23
+ "default": 'text-link h4'
27
24
  },
28
25
  /**
29
26
  * Title suffix of the accordion header
@@ -42,31 +39,33 @@ var __default__ = defineComponent({
42
39
  * Whether the accordion open icon should be at the start or end
43
40
  */
44
41
  iconPositionStart: {
45
- type: Boolean,
46
- "default": true
47
- },
48
- /**
49
- * Icon type (arrow or plus)
50
- */
51
- isArrow: {
52
42
  type: Boolean,
53
43
  "default": false
54
44
  },
55
45
  /**
56
- * Padding className for the accordion button
46
+ * Header className for the accordion button
57
47
  */
58
- buttonPadding: {
48
+ headerClass: {
59
49
  type: String,
60
- "default": 'px-8 py-4'
50
+ "default": 'p-1'
61
51
  },
62
52
  /**
63
53
  * Border style className for the accordion button
64
54
  */
65
55
  borderStyle: {
66
56
  type: String,
67
- "default": 'rounded-sm border border-grey-40'
57
+ "default": ''
58
+ },
59
+ /**
60
+ * Secondary appearance of the accordion
61
+ */
62
+ secondary: {
63
+ type: Boolean,
64
+ "default": false
68
65
  }
69
66
  },
67
+ emits: [/** Fired when accordion is opened or closed */
68
+ 'toggled'],
70
69
  setup: function setup(props, ctx) {
71
70
  var isOpen = ref(props.isOpened);
72
71
  watch(isOpen, function (newValue) {
@@ -75,16 +74,22 @@ var __default__ = defineComponent({
75
74
  var _useColours = useColours(),
76
75
  bgHoverColor = _useColours.primaryFade5;
77
76
  var beforeEnter = function beforeEnter(el) {
78
- el.style.height = '0';
77
+ el.style.maxHeight = '0';
79
78
  };
80
79
  var enter = function enter(el) {
81
- el.style.height = el.scrollHeight + 'px';
80
+ el.style.maxHeight = el.scrollHeight + 'px';
81
+ setTimeout(function () {
82
+ el.firstElementChild.style.opacity = '1';
83
+ }, 150);
82
84
  };
83
85
  var beforeLeave = function beforeLeave(el) {
84
- el.style.height = el.scrollHeight + 'px';
86
+ el.style.maxHeight = el.scrollHeight + 'px';
85
87
  };
86
88
  var leave = function leave(el) {
87
- el.style.height = '0';
89
+ setTimeout(function () {
90
+ el.firstElementChild.style.opacity = '0';
91
+ }, 100);
92
+ el.style.maxHeight = '0';
88
93
  };
89
94
  return {
90
95
  isOpen: isOpen,
@@ -99,7 +104,7 @@ var __default__ = defineComponent({
99
104
  var __injectCSSVars__ = function __injectCSSVars__() {
100
105
  useCssVars(function (_ctx) {
101
106
  return {
102
- "103fcbd6": _ctx.bgHoverColor
107
+ "73d2274d": _ctx.bgHoverColor
103
108
  };
104
109
  });
105
110
  };
@@ -110,74 +115,72 @@ __default__.setup = __setup__ ? function (props, ctx) {
110
115
  } : __injectCSSVars__;
111
116
 
112
117
  var _withScopeId = function _withScopeId(n) {
113
- return pushScopeId("data-v-15499edb"), n = n(), popScopeId(), n;
118
+ return pushScopeId("data-v-bbfff254"), n = n(), popScopeId(), n;
114
119
  };
115
120
  var _hoisted_1 = {
116
- "class": "flex flex-row items-center justify-between w-full"
121
+ "class": "flex flex-row items-center"
117
122
  };
118
123
  var _hoisted_2 = {
119
- "class": "flex flex-row items-center"
124
+ key: 0
120
125
  };
121
126
  var _hoisted_3 = {
122
- key: 0
127
+ key: 1
123
128
  };
124
129
  var _hoisted_4 = {
125
- key: 0
130
+ key: 0,
131
+ "class": "h4 mb-0"
126
132
  };
127
133
  var _hoisted_5 = {
128
134
  key: 1
129
135
  };
130
136
  var _hoisted_6 = {
131
- key: 0,
132
- "class": "h4"
133
- };
134
- var _hoisted_7 = {
135
- key: 1
137
+ "class": "transition-all ease-in"
136
138
  };
137
139
  function render(_ctx, _cache, $props, $setup, $data, $options) {
138
140
  var _component_ChevronDownSvg = resolveComponent("ChevronDownSvg");
139
141
  return openBlock(), createElementBlock("div", {
140
142
  "class": normalizeClass(["fw-accordion", _ctx.borderStyle])
141
143
  }, [createElementVNode("button", {
144
+ type: "button",
145
+ "class": normalizeClass(["fw-accordion--header transition-all duration-100 ease-in focus:outline-primary", [_ctx.isOpen ? 'fw-accordion--header-open' : '', _ctx.headerClass, _ctx.secondary ? 'w-full px-8 py-4' : '']]),
142
146
  onClick: _cache[0] || (_cache[0] = function ($event) {
143
147
  return _ctx.isOpen = !_ctx.isOpen;
144
- }),
145
- type: "button",
146
- "class": normalizeClass(["fw-accordion--header bg-white w-full transition-all duration-100 ease-in focus:outline-primary", [_ctx.isOpen ? 'fw-accordion--header-open' : '', _ctx.buttonPadding]])
147
- }, [createElementVNode("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [_ctx.iconPositionStart ? (openBlock(), createElementBlock("div", _hoisted_3, [_ctx.isArrow ? (openBlock(), createBlock(_component_ChevronDownSvg, {
148
- key: 0,
149
- "class": normalizeClass(["w-6 text-primary transition-transform duration-300", _ctx.isOpen ? 'rotate-180' : ''])
150
- }, null, 8, ["class"])) : (openBlock(), createElementBlock("span", {
151
- key: 1,
152
- "class": normalizeClass(["fw-accordion--icon", _ctx.isOpen ? 'fw-accordion--icon-open' : ''])
153
- }, null, 2))])) : createCommentVNode("", true), createElementVNode("div", {
154
- "class": normalizeClass([_ctx.titleClass, _ctx.iconPositionStart ? 'ml-6' : 'ml-0'])
155
- }, [_ctx.title ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(_ctx.title), 1)) : _ctx.$slots.header ? (openBlock(), createElementBlock("span", _hoisted_5, [renderSlot(_ctx.$slots, "header")])) : createCommentVNode("", true)], 2)]), _ctx.suffixTitle ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString(_ctx.suffixTitle), 1)) : createCommentVNode("", true), !_ctx.iconPositionStart ? (openBlock(), createElementBlock("div", _hoisted_7, [_ctx.isArrow ? (openBlock(), createBlock(_component_ChevronDownSvg, {
148
+ })
149
+ }, [createElementVNode("div", {
150
+ "class": normalizeClass(["flex flex-row items-center text-left gap-1", _ctx.secondary ? 'justify-between' : 'justify-start'])
151
+ }, [createElementVNode("div", _hoisted_1, [_ctx.iconPositionStart ? (openBlock(), createElementBlock("div", _hoisted_2, [createVNode(_component_ChevronDownSvg, {
152
+ name: "chevron-down",
153
+ "class": normalizeClass(["w-6 transition-transform duration-300", [_ctx.isOpen ? 'rotate-180' : '', _ctx.secondary ? 'text-black' : 'text-link']])
154
+ }, null, 8, ["class"])])) : createCommentVNode("", true), createElementVNode("div", {
155
+ "class": normalizeClass([[_ctx.titleClass, _ctx.iconPositionStart ? 'ml-6' : 'ml-0'], "mb-0"])
156
+ }, [_ctx.title ? (openBlock(), createElementBlock("span", {
156
157
  key: 0,
157
- "class": normalizeClass(["w-6 text-primary transition-transform duration-300", _ctx.isOpen ? 'rotate-180' : ''])
158
- }, null, 8, ["class"])) : (openBlock(), createElementBlock("span", {
159
- key: 1,
160
- "class": normalizeClass(["fw-accordion--icon", _ctx.isOpen ? 'fw-accordion--icon-open' : ''])
161
- }, null, 2))])) : createCommentVNode("", true)])], 2), createVNode(Transition, {
158
+ "class": normalizeClass(_ctx.secondary ? 'text-black' : 'text-link')
159
+ }, toDisplayString(_ctx.title), 3)) : _ctx.$slots.header ? (openBlock(), createElementBlock("span", _hoisted_3, [renderSlot(_ctx.$slots, "header")])) : createCommentVNode("", true)], 2)]), _ctx.suffixTitle ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(_ctx.suffixTitle), 1)) : createCommentVNode("", true), !_ctx.iconPositionStart ? (openBlock(), createElementBlock("div", _hoisted_5, [createVNode(_component_ChevronDownSvg, {
160
+ name: "chevron-down",
161
+ "class": normalizeClass(["w-6 text-link transition-transform duration-300", _ctx.isOpen ? 'rotate-180' : ''])
162
+ }, null, 8, ["class"])])) : createCommentVNode("", true)], 2)], 2), createVNode(Transition, {
162
163
  name: "fw-accordion-transition",
164
+ "class": "transition-all duration-300 ease-in overflow-hidden",
163
165
  onBeforeEnter: _ctx.beforeEnter,
164
166
  onEnter: _ctx.enter,
165
167
  onBeforeLeave: _ctx.beforeLeave,
166
- onLeave: _ctx.leave,
167
- "class": "transition-all duration-300 ease-in overflow-hidden"
168
+ onLeave: _ctx.leave
168
169
  }, {
169
170
  "default": withCtx(function () {
170
- return [withDirectives(createElementVNode("div", null, [renderSlot(_ctx.$slots, "default")], 512), [[vShow, _ctx.$slots["default"] && _ctx.isOpen]])];
171
+ return [withDirectives(createElementVNode("div", {
172
+ "class": normalizeClass(_ctx.secondary ? '' : 'my-2')
173
+ }, [createElementVNode("div", _hoisted_6, [renderSlot(_ctx.$slots, "default")])], 2), [[vShow, _ctx.$slots["default"] && _ctx.isOpen]])];
171
174
  }),
172
175
  _: 3
173
176
  }, 8, ["onBeforeEnter", "onEnter", "onBeforeLeave", "onLeave"])], 2);
174
177
  }
175
178
 
176
- var css_248z = ".fw-accordion--header-open[data-v-15499edb],.fw-accordion--header[data-v-15499edb]:focus-visible,.fw-accordion--header[data-v-15499edb]:hover{background-color:var(--103fcbd6)}.fw-accordion--icon[data-v-15499edb]{position:relative}.fw-accordion--icon[data-v-15499edb]:after,.fw-accordion--icon[data-v-15499edb]:before{background:var(--colorBody);border-radius:3px;content:\"\";height:.2rem;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;transition:.3s ease-in-out;width:1rem}.fw-accordion--icon[data-v-15499edb]:after{-webkit-transform:translate(-50%,-50%) rotate(90deg);-moz-transform:translate(-50%,-50%) rotate(90deg);-ms-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg)}.fw-accordion--icon-open[data-v-15499edb]:after{width:0}";
177
- var stylesheet = ".fw-accordion--header-open[data-v-15499edb],.fw-accordion--header[data-v-15499edb]:focus-visible,.fw-accordion--header[data-v-15499edb]:hover{background-color:var(--103fcbd6)}.fw-accordion--icon[data-v-15499edb]{position:relative}.fw-accordion--icon[data-v-15499edb]:after,.fw-accordion--icon[data-v-15499edb]:before{background:var(--colorBody);border-radius:3px;content:\"\";height:.2rem;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:.3s ease-in-out;-moz-transition:.3s ease-in-out;transition:.3s ease-in-out;width:1rem}.fw-accordion--icon[data-v-15499edb]:after{-webkit-transform:translate(-50%,-50%) rotate(90deg);-moz-transform:translate(-50%,-50%) rotate(90deg);-ms-transform:translate(-50%,-50%) rotate(90deg);transform:translate(-50%,-50%) rotate(90deg)}.fw-accordion--icon-open[data-v-15499edb]:after{width:0}";
179
+ var css_248z = ".fw-accordion--header-open[data-v-bbfff254],.fw-accordion--header[data-v-bbfff254]:focus-visible,.fw-accordion--header[data-v-bbfff254]:hover{background-color:var(--73d2274d)}";
180
+ var stylesheet = ".fw-accordion--header-open[data-v-bbfff254],.fw-accordion--header[data-v-bbfff254]:focus-visible,.fw-accordion--header[data-v-bbfff254]:hover{background-color:var(--73d2274d)}";
178
181
  styleInject(css_248z);
179
182
 
180
183
  __default__.render = render;
181
- __default__.__scopeId = "data-v-15499edb";
184
+ __default__.__scopeId = "data-v-bbfff254";
182
185
 
183
186
  export { __default__ as FwAccordion };
@@ -0,0 +1,68 @@
1
+ import { defineComponent, computed, ref, onMounted, resolveComponent, createElementBlock, openBlock, normalizeClass, createCommentVNode, renderSlot, Fragment, createBlock } from 'vue';
2
+ import { a as render$1, b as render$2 } from './index-BsEH8YYr.js';
3
+
4
+ var script = defineComponent({
5
+ name: 'FwAlert',
6
+ components: {
7
+ CheckSvg: render$2,
8
+ AlertSvg: render$1
9
+ },
10
+ props: {
11
+ /**
12
+ * The colour variant of the alert element.
13
+ * Accepts 'success', 'error'
14
+ */
15
+ variant: {
16
+ type: String,
17
+ required: true,
18
+ validator: function validator(value) {
19
+ return ['success', 'error'].includes(value);
20
+ }
21
+ },
22
+ /**
23
+ * Disables the icon element.
24
+ */
25
+ disableIcon: {
26
+ type: Boolean,
27
+ "default": false
28
+ }
29
+ },
30
+ setup: function setup(props) {
31
+ var bgClass = computed(function () {
32
+ if (props.variant === 'error') return 'bg-brand-error-bg';
33
+ return 'bg-brand-success-bg';
34
+ });
35
+ var defaultScale = ref('scale-0');
36
+ onMounted(function () {
37
+ setTimeout(function () {
38
+ defaultScale.value = 'scale-100';
39
+ }, 50);
40
+ });
41
+ return {
42
+ bgClass: bgClass,
43
+ defaultScale: defaultScale
44
+ };
45
+ }
46
+ });
47
+
48
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
49
+ var _component_CheckSvg = resolveComponent("CheckSvg");
50
+ var _component_AlertSvg = resolveComponent("AlertSvg");
51
+ return openBlock(), createElementBlock("div", {
52
+ "class": normalizeClass(["w-full rounded-md flex flex-row items-start justify-start p-4 box-border gap-3 transition-all duration-300", [_ctx.bgClass, _ctx.defaultScale]])
53
+ }, [!_ctx.disableIcon ? (openBlock(), createElementBlock(Fragment, {
54
+ key: 0
55
+ }, [_ctx.variant === 'success' ? (openBlock(), createBlock(_component_CheckSvg, {
56
+ key: 0,
57
+ name: "check",
58
+ "class": "w-6 h-6 min-w-6 text-brand-success-text"
59
+ })) : createCommentVNode("", true), _ctx.variant === 'error' ? (openBlock(), createBlock(_component_AlertSvg, {
60
+ key: 1,
61
+ name: "alert",
62
+ "class": "w-6 h-6 min-w-6 text-brand-error-text"
63
+ })) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 2);
64
+ }
65
+
66
+ script.render = render;
67
+
68
+ export { script as FwAlert };
@@ -1,7 +1,7 @@
1
- import { b as _toConsumableArray } from './_rollupPluginBabelHelpers-DpC_oIQV.js';
2
- import { version as version$1, isProxy, toRaw, defineComponent, ref, shallowRef, onMounted, onUnmounted, watch, nextTick, h, computed, resolveComponent, openBlock, createElementBlock, normalizeStyle, toDisplayString, createCommentVNode, createVNode } from 'vue';
3
- import { u as useColours } from './get-root-colours-DYEoJPEb.js';
4
- import { u as uniqueId } from './uniqueId-DK6xzFd8.js';
1
+ import { b as _toConsumableArray } from './_rollupPluginBabelHelpers-DODWUb5N.js';
2
+ import { version as version$1, toRaw, isProxy, defineComponent, ref, shallowRef, onMounted, onUnmounted, watch, nextTick, h, computed, resolveComponent, createElementBlock, createCommentVNode, openBlock, normalizeStyle, createVNode, toDisplayString } from 'vue';
3
+ import { u as useColours } from './get-root-colours-DCjlYelc.js';
4
+ import { u as uniqueId } from './uniqueId-DZdGzBh8.js';
5
5
 
6
6
  /*!
7
7
  * @kurkle/color v0.3.2
@@ -0,0 +1,296 @@
1
+ import { defineComponent, ref, computed, resolveComponent, createBlock, openBlock, resolveDynamicComponent, normalizeClass, withCtx, createElementBlock, createCommentVNode, createElementVNode, renderSlot, Fragment, createTextVNode, toDisplayString } from 'vue';
2
+ import { g as render$1 } from './index-BsEH8YYr.js';
3
+ import { s as styleInject } from './style-inject.es-tgCJW-Cu.js';
4
+
5
+ var script = defineComponent({
6
+ name: 'FwButton',
7
+ components: {
8
+ LoadingSvg: render$1
9
+ },
10
+ props: {
11
+ /**
12
+ * The label text of the button.
13
+ * Overrides the default slot content.
14
+ */
15
+ label: {
16
+ type: String
17
+ },
18
+ /**
19
+ * A `router-link` path or object
20
+ */
21
+ to: {
22
+ type: [String, Object]
23
+ },
24
+ /**
25
+ * A URL to link to using a native anchor element
26
+ */
27
+ href: String,
28
+ /**
29
+ * The size of the button. Accepts: 'sm', 'md', 'lg', 'xl', '2xl'
30
+ */
31
+ size: {
32
+ type: String,
33
+ "default": 'lg',
34
+ validator: function validator(value) {
35
+ return ['sm', 'md', 'lg', 'xl', '2xl'].includes(value);
36
+ }
37
+ },
38
+ /**
39
+ * The colour variant of the button.
40
+ * Accepts 'primary', 'secondary', 'tertiary', 'quaternary', 'error', 'success', 'link', 'text', 'transparent', 'gradient'
41
+ */
42
+ variant: {
43
+ type: String,
44
+ "default": 'primary',
45
+ validator: function validator(value) {
46
+ return ['primary', 'secondary', 'tertiary', 'quaternary', 'error', 'success', 'link', 'text', 'transparent', 'gradient'].includes(value);
47
+ }
48
+ },
49
+ /**
50
+ * The type attribute of the button
51
+ */
52
+ buttonType: {
53
+ type: String,
54
+ "default": 'button',
55
+ validator: function validator(value) {
56
+ return ['button', 'submit', 'reset'].includes(value);
57
+ }
58
+ },
59
+ /**
60
+ * The animation type of the hover & focus states.
61
+ * Accepts 'alternate' and 'fade'
62
+ */
63
+ animation: {
64
+ type: String,
65
+ "default": 'alternate',
66
+ validator: function validator(value) {
67
+ return ['alternate', 'fade'].includes(value);
68
+ }
69
+ },
70
+ /**
71
+ * Whether the button is rounded or not
72
+ */
73
+ rounded: {
74
+ type: Boolean,
75
+ "default": true
76
+ },
77
+ /**
78
+ * Whether the loading animation is shown or not
79
+ */
80
+ loading: {
81
+ type: Boolean,
82
+ "default": false
83
+ },
84
+ /**
85
+ * Whether the link should open in a new tab
86
+ */
87
+ external: {
88
+ type: Boolean
89
+ },
90
+ /**
91
+ * Whether the button selected state is active
92
+ */
93
+ selected: {
94
+ type: Boolean
95
+ },
96
+ /**
97
+ * Whether the button is disabled
98
+ */
99
+ disabled: {
100
+ type: Boolean,
101
+ "default": false
102
+ }
103
+ },
104
+ emits: [/** Fired on native click */
105
+ 'click', /** Fired on native hover in */
106
+ 'mouseover', /** Fired on native hover out */
107
+ 'mouseout', /** Fired on native focus in */
108
+ 'focusin', /** Fired on native focus out */
109
+ 'focusout'],
110
+ setup: function setup(props, ctx) {
111
+ var baseClass = ref("inline-block text-center transition-colors ease-in-out whitespace-nowrap\n duration-200 focus:outline-0 border focus-visible:outline-0 focus:ring-none ring-offset-1 focus-visible:ring\n ");
112
+ var buttonClasses = ref({
113
+ primary: {
114
+ text: '',
115
+ background: 'fw-button--primary',
116
+ border: ''
117
+ },
118
+ secondary: {
119
+ text: '',
120
+ background: 'fw-button--secondary',
121
+ border: ''
122
+ },
123
+ tertiary: {
124
+ text: '',
125
+ background: 'fw-button--tertiary',
126
+ border: ''
127
+ },
128
+ quaternary: {
129
+ text: '',
130
+ background: 'fw-button--quaternary',
131
+ border: ''
132
+ },
133
+ gradient: {
134
+ text: '',
135
+ background: 'fw-button--gradient',
136
+ border: ''
137
+ },
138
+ success: {
139
+ text: 'text-white hover:text-brand-success-text active:text-brand-success-new',
140
+ background: 'bg-brand-success-new hover:bg-white active:bg-white',
141
+ border: 'border-brand-success-new focus-visible:ring-brand-success-new'
142
+ },
143
+ error: {
144
+ text: 'text-white hover:text-brand-error-text active:text-brand-error-text',
145
+ background: 'bg-brand-error-text hover:bg-white active:bg-white',
146
+ border: 'border-brand-error-text focus-visible:ring-brand-error-text'
147
+ },
148
+ link: {
149
+ text: 'text-link font-normal no-underline hover:underline focus-visible:underline',
150
+ background: '',
151
+ border: 'border-none focus-visible:ring-2 focus-visible:ring-link'
152
+ },
153
+ text: {
154
+ text: 'text-body hover:text-white active:text-white',
155
+ background: 'bg-white hover:bg-body active:bg-body',
156
+ border: 'border-transparent focus-visible:ring-body'
157
+ },
158
+ transparent: {
159
+ text: '',
160
+ background: 'fw-button--transparent',
161
+ border: ''
162
+ }
163
+ });
164
+ var sizes = ref({
165
+ sm: 'px-3 py-1 text-sm',
166
+ md: 'px-6 py-2 text-p-small',
167
+ lg: 'px-7 py-2 text-p',
168
+ xl: 'px-12 py-3 text-p',
169
+ '2xl': 'px-16 py-4 text-2xl'
170
+ });
171
+ var iconSizes = ref({
172
+ sm: {
173
+ spacing: 'pr-7',
174
+ size: 'size-7 p-2'
175
+ },
176
+ md: {
177
+ spacing: 'pr-8',
178
+ size: 'size-8 p-2.5'
179
+ },
180
+ lg: {
181
+ spacing: 'pr-10',
182
+ size: 'size-10 p-3'
183
+ },
184
+ xl: {
185
+ spacing: 'pr-12',
186
+ size: 'size-12 p-3'
187
+ },
188
+ '2xl': {
189
+ spacing: 'pr-14',
190
+ size: 'size-14 p-3.5'
191
+ }
192
+ });
193
+ var textColorClass = computed(function () {
194
+ return buttonClasses.value[props.variant].text;
195
+ });
196
+ var bgColorClass = computed(function () {
197
+ return buttonClasses.value[props.variant].background;
198
+ });
199
+ var sizeClass = computed(function () {
200
+ return sizes.value[props.size];
201
+ });
202
+ var borderClass = computed(function () {
203
+ return buttonClasses.value[props.variant].border;
204
+ });
205
+ var iconSize = computed(function () {
206
+ return iconSizes.value[props.size];
207
+ });
208
+ var onClick = function onClick(e) {
209
+ return ctx.emit('click', e);
210
+ };
211
+ var onMouseover = function onMouseover(e) {
212
+ return ctx.emit('mouseover', e);
213
+ };
214
+ var onMouseout = function onMouseout(e) {
215
+ return ctx.emit('mouseout', e);
216
+ };
217
+ var onFocusin = function onFocusin(e) {
218
+ return ctx.emit('focusin', e);
219
+ };
220
+ var onFocusout = function onFocusout(e) {
221
+ return ctx.emit('focusout', e);
222
+ };
223
+ var tagName = computed(function () {
224
+ if (props.to) return 'router-link';
225
+ if (props.href) return 'a';
226
+ return 'button';
227
+ });
228
+ return {
229
+ baseClass: baseClass,
230
+ textColorClass: textColorClass,
231
+ bgColorClass: bgColorClass,
232
+ sizeClass: sizeClass,
233
+ borderClass: borderClass,
234
+ onClick: onClick,
235
+ onMouseover: onMouseover,
236
+ onMouseout: onMouseout,
237
+ onFocusin: onFocusin,
238
+ onFocusout: onFocusout,
239
+ tagName: tagName,
240
+ iconSize: iconSize
241
+ };
242
+ }
243
+ });
244
+
245
+ var _hoisted_1 = {
246
+ key: 0,
247
+ "class": "fw-button--label"
248
+ };
249
+ var _hoisted_2 = {
250
+ key: 1,
251
+ "class": "w-full h-full button-icon"
252
+ };
253
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
254
+ var _component_LoadingSvg = resolveComponent("LoadingSvg");
255
+ return openBlock(), createBlock(resolveDynamicComponent(_ctx.tagName), {
256
+ "class": normalizeClass(["fw-button", [_ctx.baseClass, _ctx.textColorClass, _ctx.bgColorClass, _ctx.sizeClass, _ctx.borderClass, _ctx.rounded && _ctx.variant !== 'link' ? 'rounded-full' : 'rounded', _ctx.variant === 'link' ? 'pl-0 pr-0 pt-0 pb-0 font-normal rounded-1' : '', _ctx.animation === 'fade' ? 'animation--fade' : 'animation--alternate', _ctx.loading === true ? 'fw-button--loading cursor-progress pointer-events-none' : 'cursor-pointer', _ctx.loading || _ctx.$slots.suffixIcon ? 'relative' : '', _ctx.selected === true ? 'selected' : '']]),
257
+ type: _ctx.tagName === 'button' ? _ctx.buttonType : null,
258
+ to: _ctx.to ? _ctx.to : null,
259
+ href: _ctx.href ? _ctx.href : null,
260
+ tabindex: _ctx.to ? 0 : null,
261
+ disabled: _ctx.disabled,
262
+ loading: _ctx.loading,
263
+ target: !!_ctx.external ? '_blank' : null,
264
+ onClick: _ctx.onClick,
265
+ onFocusin: _ctx.onFocusin,
266
+ onFocusout: _ctx.onFocusout,
267
+ onMouseover: _ctx.onMouseover,
268
+ onMouseout: _ctx.onMouseout
269
+ }, {
270
+ "default": withCtx(function () {
271
+ return [_ctx.$slots["default"] || _ctx.label ? (openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", {
272
+ "class": normalizeClass(["fw-button--label-wrapper", _ctx.loading || _ctx.$slots.suffixIcon ? _ctx.iconSize.spacing : 'pr-0 ml-0'])
273
+ }, [_ctx.label ? (openBlock(), createElementBlock(Fragment, {
274
+ key: 0
275
+ }, [createTextVNode(toDisplayString(_ctx.label), 1)], 64)) : _ctx.$slots["default"] ? renderSlot(_ctx.$slots, "default", {
276
+ key: 1
277
+ }) : createCommentVNode("", true)], 2), _ctx.loading || _ctx.$slots.suffixIcon ? (openBlock(), createElementBlock("div", {
278
+ key: 0,
279
+ "class": normalizeClass([_ctx.iconSize.size, "inline-flex absolute top-2/4 -translate-y-2/4 right-0 bg-black/20 rounded-full"])
280
+ }, [_ctx.loading ? (openBlock(), createBlock(_component_LoadingSvg, {
281
+ key: 0,
282
+ name: "loading",
283
+ "class": "w-full h-full animate-spin"
284
+ })) : _ctx.$slots.suffixIcon ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "suffixIcon")])) : createCommentVNode("", true)], 2)) : createCommentVNode("", true)])) : createCommentVNode("", true)];
285
+ }),
286
+ _: 3
287
+ }, 40, ["class", "type", "to", "href", "tabindex", "disabled", "loading", "target", "onClick", "onFocusin", "onFocusout", "onMouseover", "onMouseout"]);
288
+ }
289
+
290
+ var css_248z = ".fw-button{line-height:normal}.fw-button--label-wrapper{-webkit-transition-duration:.2s;-moz-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:margin,padding;-moz-transition-property:margin,padding;transition-property:margin,padding;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.fw-button--primary{background-color:var(--colorButtonPrimary);border-color:var(--colorButtonPrimary);color:var(--colorButtonPrimaryText)}.fw-button--primary.fw-button--loading,.fw-button--primary.router-link-active,.fw-button--primary.selected,.fw-button--primary:hover{background-color:var(--colorButtonPrimaryFade);border-color:var(--colorButtonPrimaryFade)}.fw-button--primary:focus-visible{--tw-ring-color:var(--colorButtonPrimary)}.fw-button--primary:disabled{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 224 227/var(--tw-bg-opacity));border-color:rgb(222 224 227/var(--tw-border-opacity));color:var(--colorText3)}.fw-button--secondary{background-color:var(--colorButtonSecondary);border-color:var(--colorButtonSecondary);color:var(--colorButtonSecondaryText)}.fw-button--secondary.animation--alternate.fw-button--loading,.fw-button--secondary.animation--alternate.router-link-active,.fw-button--secondary.animation--alternate.selected,.fw-button--secondary.animation--alternate:hover{background-color:var(--colorButtonSecondaryFade);border-color:var(--colorButtonSecondaryFade);color:var(--colorButtonSecondaryText)}.fw-button--secondary.animation--fade.fw-button--loading,.fw-button--secondary.animation--fade.router-link-active,.fw-button--secondary.animation--fade.selected,.fw-button--secondary.animation--fade:hover{-webkit-filter:brightness(135%);filter:brightness(135%)}.fw-button--secondary:focus-visible{--tw-ring-color:var(--colorButtonSecondary)}.fw-button--secondary:disabled{pointer-events:none}.fw-button--tertiary{background-color:transparent;border-color:var(--colorButtonTertiaryText);color:var(--colorButtonTertiaryText)}.fw-button--tertiary.animation--alternate.fw-button--loading,.fw-button--tertiary.animation--alternate.router-link-active,.fw-button--tertiary.animation--alternate.selected,.fw-button--tertiary.animation--alternate:hover{background-color:var(--colorButtonTertiaryFade)}.fw-button--tertiary.animation--fade.fw-button--loading,.fw-button--tertiary.animation--fade.router-link-active,.fw-button--tertiary.animation--fade.selected,.fw-button--tertiary.animation--fade:hover{-webkit-filter:brightness(135%);filter:brightness(135%)}.fw-button--tertiary:focus-visible{--tw-ring-color:var(--colorButtonTertiaryText)}.fw-button--tertiary:disabled{pointer-events:none}.fw-button--quaternary{background-color:transparent;border-color:var(--colorButtonQuaternaryText);color:var(--colorButtonQuaternaryText)}.fw-button--quaternary.animation--alternate.fw-button--loading,.fw-button--quaternary.animation--alternate.router-link-active,.fw-button--quaternary.animation--alternate.selected,.fw-button--quaternary.animation--alternate:hover{background-color:var(--colorButtonQuaternary);border-color:var(--colorButtonQuaternaryText);color:var(--colorBody)}.fw-button--quaternary.animation--fade.fw-button--loading,.fw-button--quaternary.animation--fade.router-link-active,.fw-button--quaternary.animation--fade.selected,.fw-button--quaternary.animation--fade:hover{-webkit-filter:brightness(135%);filter:brightness(135%)}.fw-button--quaternary:focus-visible{--tw-ring-color:var(--colorButtonQuaternaryText)}.fw-button--quaternary:disabled{border-color:var(--colorBorder1);color:var(--colorText3)}.fw-button--quaternary:disabled.router-link-active,.fw-button--quaternary:disabled.selected{--tw-bg-opacity:1;background-color:rgb(222 224 227/var(--tw-bg-opacity))}.fw-button--gradient{background-image:var(--colorButtonGradient);background-size:135% auto;border:none;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.15),0 0 40px rgba(142,125,255,.3);box-shadow:0 2px 4px rgba(0,0,0,.15),0 0 40px rgba(142,125,255,.3);color:var(--colorButtonGradientText);-webkit-transition:.4s;-moz-transition:.4s;transition:.4s}.fw-button--gradient.animation--alternate.fw-button--loading,.fw-button--gradient.animation--alternate.router-link-active,.fw-button--gradient.animation--alternate.selected,.fw-button--gradient.animation--alternate:hover{background-size:120% auto;-webkit-transition:.4s;-moz-transition:.4s;transition:.4s}@-webkit-keyframes pulse{50%{opacity:.5}}@-moz-keyframes pulse{50%{opacity:.5}}.fw-button--gradient.animation--alternate.fw-button--loading .button-icon,.fw-button--gradient.animation--alternate.router-link-active .button-icon,.fw-button--gradient.animation--alternate.selected .button-icon,.fw-button--gradient.animation--alternate:hover .button-icon{-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;-moz-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.fw-button--gradient.animation--fade.fw-button--loading,.fw-button--gradient.animation--fade.router-link-active,.fw-button--gradient.animation--fade.selected,.fw-button--gradient.animation--fade:hover{background-size:120% auto;-webkit-transition:.4s;-moz-transition:.4s;transition:.4s}@keyframes pulse{50%{opacity:.5}}.fw-button--gradient.animation--fade.fw-button--loading .button-icon,.fw-button--gradient.animation--fade.router-link-active .button-icon,.fw-button--gradient.animation--fade.selected .button-icon,.fw-button--gradient.animation--fade:hover .button-icon{-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;-moz-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.fw-button--gradient:focus-visible{--tw-ring-color:var(--colorButtonQuaternaryText)}.fw-button--gradient:disabled{border-color:var(--colorBorder1);color:var(--colorText3)}.fw-button--gradient:disabled.router-link-active,.fw-button--gradient:disabled.selected{--tw-bg-opacity:1;background-color:rgb(222 224 227/var(--tw-bg-opacity))}.fw-button--transparent{border-color:transparent;color:var(--colorBody);-webkit-text-decoration-line:none;-moz-text-decoration-line:none;text-decoration-line:none}.fw-button--transparent:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 -webkit-calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 -moz-calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--colorPrimary);-webkit-box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.fw-button--transparent.fw-button--loading,.fw-button--transparent.router-link-active,.fw-button--transparent.selected,.fw-button--transparent:hover{background-color:var(--colorButtonTertiaryFade);color:var(--colorPrimary);-webkit-text-decoration-line:underline;-moz-text-decoration-line:underline;text-decoration-line:underline}.fw-button:disabled{cursor:not-allowed}";
291
+ var stylesheet = ".fw-button{line-height:normal}.fw-button--label-wrapper{-webkit-transition-duration:.2s;-moz-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:margin,padding;-moz-transition-property:margin,padding;transition-property:margin,padding;-webkit-transition-timing-function:ease-in-out;-moz-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.fw-button--primary{background-color:var(--colorButtonPrimary);border-color:var(--colorButtonPrimary);color:var(--colorButtonPrimaryText)}.fw-button--primary.fw-button--loading,.fw-button--primary.router-link-active,.fw-button--primary.selected,.fw-button--primary:hover{background-color:var(--colorButtonPrimaryFade);border-color:var(--colorButtonPrimaryFade)}.fw-button--primary:focus-visible{--tw-ring-color:var(--colorButtonPrimary)}.fw-button--primary:disabled{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 224 227/var(--tw-bg-opacity));border-color:rgb(222 224 227/var(--tw-border-opacity));color:var(--colorText3)}.fw-button--secondary{background-color:var(--colorButtonSecondary);border-color:var(--colorButtonSecondary);color:var(--colorButtonSecondaryText)}.fw-button--secondary.animation--alternate.fw-button--loading,.fw-button--secondary.animation--alternate.router-link-active,.fw-button--secondary.animation--alternate.selected,.fw-button--secondary.animation--alternate:hover{background-color:var(--colorButtonSecondaryFade);border-color:var(--colorButtonSecondaryFade);color:var(--colorButtonSecondaryText)}.fw-button--secondary.animation--fade.fw-button--loading,.fw-button--secondary.animation--fade.router-link-active,.fw-button--secondary.animation--fade.selected,.fw-button--secondary.animation--fade:hover{-webkit-filter:brightness(135%);filter:brightness(135%)}.fw-button--secondary:focus-visible{--tw-ring-color:var(--colorButtonSecondary)}.fw-button--secondary:disabled{pointer-events:none}.fw-button--tertiary{background-color:transparent;border-color:var(--colorButtonTertiaryText);color:var(--colorButtonTertiaryText)}.fw-button--tertiary.animation--alternate.fw-button--loading,.fw-button--tertiary.animation--alternate.router-link-active,.fw-button--tertiary.animation--alternate.selected,.fw-button--tertiary.animation--alternate:hover{background-color:var(--colorButtonTertiaryFade)}.fw-button--tertiary.animation--fade.fw-button--loading,.fw-button--tertiary.animation--fade.router-link-active,.fw-button--tertiary.animation--fade.selected,.fw-button--tertiary.animation--fade:hover{-webkit-filter:brightness(135%);filter:brightness(135%)}.fw-button--tertiary:focus-visible{--tw-ring-color:var(--colorButtonTertiaryText)}.fw-button--tertiary:disabled{pointer-events:none}.fw-button--quaternary{background-color:transparent;border-color:var(--colorButtonQuaternaryText);color:var(--colorButtonQuaternaryText)}.fw-button--quaternary.animation--alternate.fw-button--loading,.fw-button--quaternary.animation--alternate.router-link-active,.fw-button--quaternary.animation--alternate.selected,.fw-button--quaternary.animation--alternate:hover{background-color:var(--colorButtonQuaternary);border-color:var(--colorButtonQuaternaryText);color:var(--colorBody)}.fw-button--quaternary.animation--fade.fw-button--loading,.fw-button--quaternary.animation--fade.router-link-active,.fw-button--quaternary.animation--fade.selected,.fw-button--quaternary.animation--fade:hover{-webkit-filter:brightness(135%);filter:brightness(135%)}.fw-button--quaternary:focus-visible{--tw-ring-color:var(--colorButtonQuaternaryText)}.fw-button--quaternary:disabled{border-color:var(--colorBorder1);color:var(--colorText3)}.fw-button--quaternary:disabled.router-link-active,.fw-button--quaternary:disabled.selected{--tw-bg-opacity:1;background-color:rgb(222 224 227/var(--tw-bg-opacity))}.fw-button--gradient{background-image:var(--colorButtonGradient);background-size:135% auto;border:none;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.15),0 0 40px rgba(142,125,255,.3);box-shadow:0 2px 4px rgba(0,0,0,.15),0 0 40px rgba(142,125,255,.3);color:var(--colorButtonGradientText);-webkit-transition:.4s;-moz-transition:.4s;transition:.4s}.fw-button--gradient.animation--alternate.fw-button--loading,.fw-button--gradient.animation--alternate.router-link-active,.fw-button--gradient.animation--alternate.selected,.fw-button--gradient.animation--alternate:hover{background-size:120% auto;-webkit-transition:.4s;-moz-transition:.4s;transition:.4s}@-webkit-keyframes pulse{50%{opacity:.5}}@-moz-keyframes pulse{50%{opacity:.5}}.fw-button--gradient.animation--alternate.fw-button--loading .button-icon,.fw-button--gradient.animation--alternate.router-link-active .button-icon,.fw-button--gradient.animation--alternate.selected .button-icon,.fw-button--gradient.animation--alternate:hover .button-icon{-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;-moz-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.fw-button--gradient.animation--fade.fw-button--loading,.fw-button--gradient.animation--fade.router-link-active,.fw-button--gradient.animation--fade.selected,.fw-button--gradient.animation--fade:hover{background-size:120% auto;-webkit-transition:.4s;-moz-transition:.4s;transition:.4s}@keyframes pulse{50%{opacity:.5}}.fw-button--gradient.animation--fade.fw-button--loading .button-icon,.fw-button--gradient.animation--fade.router-link-active .button-icon,.fw-button--gradient.animation--fade.selected .button-icon,.fw-button--gradient.animation--fade:hover .button-icon{-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;-moz-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.fw-button--gradient:focus-visible{--tw-ring-color:var(--colorButtonQuaternaryText)}.fw-button--gradient:disabled{border-color:var(--colorBorder1);color:var(--colorText3)}.fw-button--gradient:disabled.router-link-active,.fw-button--gradient:disabled.selected{--tw-bg-opacity:1;background-color:rgb(222 224 227/var(--tw-bg-opacity))}.fw-button--transparent{border-color:transparent;color:var(--colorBody);-webkit-text-decoration-line:none;-moz-text-decoration-line:none;text-decoration-line:none}.fw-button--transparent:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 -webkit-calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 -moz-calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--colorPrimary);-webkit-box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.fw-button--transparent.fw-button--loading,.fw-button--transparent.router-link-active,.fw-button--transparent.selected,.fw-button--transparent:hover{background-color:var(--colorButtonTertiaryFade);color:var(--colorPrimary);-webkit-text-decoration-line:underline;-moz-text-decoration-line:underline;text-decoration-line:underline}.fw-button:disabled{cursor:not-allowed}";
292
+ styleInject(css_248z);
293
+
294
+ script.render = render;
295
+
296
+ export { script as s };
package/esm/fw-button.js CHANGED
@@ -1,6 +1,4 @@
1
- export { s as FwButton } from './fw-button-DNozvo7B.js';
1
+ export { s as FwButton } from './fw-button-CnQvA7oM.js';
2
2
  import 'vue';
3
- import './fw-loading-spinner-BFpFFRJm.js';
4
- import './index-CzZMBMV_.js';
5
- import './check--YD4Ts6g.js';
3
+ import './index-BsEH8YYr.js';
6
4
  import './style-inject.es-tgCJW-Cu.js';