@propelinc/citrus-ui 1.0.4 → 1.3.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 (202) hide show
  1. package/README.md +51 -14
  2. package/dist/citrus-ui.cdn.css +1 -0
  3. package/dist/citrus-ui.css +1 -0
  4. package/dist/colors/colors.d.ts +31 -0
  5. package/dist/colors/theme.d.ts +3 -0
  6. package/dist/colors/util-classes.d.ts +11 -0
  7. package/dist/components/CAccordion.vue.d.ts +34 -0
  8. package/dist/components/CAccordionItem.vue.d.ts +39 -0
  9. package/dist/components/CAppBar.vue.d.ts +59 -0
  10. package/dist/components/CBadge.vue.d.ts +35 -0
  11. package/dist/components/CBottomSheet.vue.d.ts +90 -0
  12. package/dist/components/CButton/CButton.vue.d.ts +97 -0
  13. package/dist/components/CButton/types.d.ts +5 -0
  14. package/dist/components/CButtonStack.vue.d.ts +27 -0
  15. package/dist/components/CCard.vue.d.ts +53 -0
  16. package/dist/components/CCardFooter.vue.d.ts +20 -0
  17. package/dist/components/CCardHeader.vue.d.ts +22 -0
  18. package/dist/components/CCardSection.vue.d.ts +26 -0
  19. package/dist/components/CCheckbox.vue.d.ts +62 -0
  20. package/dist/components/CCol.vue.d.ts +30 -0
  21. package/dist/components/CDivider.vue.d.ts +9 -0
  22. package/dist/components/CDobField.vue.d.ts +60 -0
  23. package/dist/components/CDobSelect.vue.d.ts +50 -0
  24. package/dist/components/CEmailField.vue.d.ts +48 -0
  25. package/dist/components/CExpandTransition.vue.d.ts +29 -0
  26. package/dist/components/CFadeTransition.vue.d.ts +20 -0
  27. package/dist/components/CFileInput.vue.d.ts +50 -0
  28. package/dist/components/CFixedPageFooter.vue.d.ts +153 -0
  29. package/dist/components/CForm.vue.d.ts +44 -0
  30. package/dist/components/CFormFieldCounter.vue.d.ts +15 -0
  31. package/dist/components/CIconButton.vue.d.ts +97 -0
  32. package/dist/components/CLabel.vue.d.ts +36 -0
  33. package/dist/components/CListItem.vue.d.ts +56 -0
  34. package/dist/components/CListItemContent.vue.d.ts +27 -0
  35. package/dist/components/CListItemIcon.vue.d.ts +28 -0
  36. package/dist/components/CLoader.vue.d.ts +23 -0
  37. package/dist/components/CLogo.vue.d.ts +9 -0
  38. package/dist/components/CMaskedTextField.vue.d.ts +511 -0
  39. package/dist/components/CMenu.vue.d.ts +17 -0
  40. package/dist/components/CMenuItem.vue.d.ts +37 -0
  41. package/dist/components/CMenuLabel.vue.d.ts +20 -0
  42. package/dist/components/CModal.vue.d.ts +59 -0
  43. package/dist/components/CModalLoading.vue.d.ts +36 -0
  44. package/dist/components/CNotification.vue.d.ts +64 -0
  45. package/dist/components/CPhoneField.vue.d.ts +792 -0
  46. package/dist/components/CPill.vue.d.ts +41 -0
  47. package/dist/components/CPillGroup.vue.d.ts +39 -0
  48. package/dist/components/CPopup.vue.d.ts +37 -0
  49. package/dist/components/CProgressLinear.vue.d.ts +21 -0
  50. package/dist/components/CProgressRing.vue.d.ts +48 -0
  51. package/dist/components/CRadio.vue.d.ts +40 -0
  52. package/dist/components/CRadioGroup.vue.d.ts +54 -0
  53. package/dist/components/CRebrand.vue.d.ts +28 -0
  54. package/dist/components/CRow.vue.d.ts +41 -0
  55. package/dist/components/CSafeArea.vue.d.ts +18 -0
  56. package/dist/components/CSectionHeader.vue.d.ts +29 -0
  57. package/dist/components/CSelect.vue.d.ts +96 -0
  58. package/dist/components/CSkeleton.vue.d.ts +3 -0
  59. package/dist/components/CSkeletonLoaderCard.vue.d.ts +9 -0
  60. package/dist/components/CSkeletonLoaderCircle.vue.d.ts +3 -0
  61. package/dist/components/CSkeletonLoaderText.vue.d.ts +16 -0
  62. package/dist/components/CSlideFadeTransition.vue.d.ts +36 -0
  63. package/dist/components/CSplitInput.vue.d.ts +56 -0
  64. package/dist/components/CSquaredIcon.vue.d.ts +33 -0
  65. package/dist/components/CSsnField.vue.d.ts +798 -0
  66. package/dist/components/CStatusDot.vue.d.ts +10 -0
  67. package/dist/components/CSwitch.vue.d.ts +39 -0
  68. package/dist/components/CSwitchListItem.vue.d.ts +48 -0
  69. package/dist/components/CTextArea.vue.d.ts +96 -0
  70. package/dist/components/CTextField.vue.d.ts +129 -0
  71. package/dist/components/CTextLink.vue.d.ts +36 -0
  72. package/dist/components/CThirdPartyLogo.vue.d.ts +22 -0
  73. package/dist/components/CTimeago.vue.d.ts +12 -0
  74. package/dist/components/CToast.vue.d.ts +69 -0
  75. package/dist/components/CToastsList.vue.d.ts +3 -0
  76. package/dist/components/CValidationMessage.vue.d.ts +37 -0
  77. package/dist/components/CZipcodeField.vue.d.ts +796 -0
  78. package/dist/components/index.d.ts +66 -0
  79. package/dist/components/internal/CCloseButton.vue.d.ts +14 -0
  80. package/dist/composables/accessibility.d.ts +1 -0
  81. package/dist/composables/animation.d.ts +12 -0
  82. package/dist/composables/binding.d.ts +19 -0
  83. package/dist/composables/colors.d.ts +13 -0
  84. package/dist/composables/elements.d.ts +3 -0
  85. package/dist/composables/fields.d.ts +10 -0
  86. package/dist/composables/gestures.d.ts +53 -0
  87. package/dist/composables/i18n.d.ts +3 -0
  88. package/dist/composables/id.d.ts +11 -0
  89. package/dist/composables/input-mask.d.ts +18 -0
  90. package/dist/composables/router.d.ts +30 -0
  91. package/dist/composables/slots.d.ts +2 -0
  92. package/dist/composables/toast.d.ts +21 -0
  93. package/dist/composables/validations.d.ts +77 -0
  94. package/dist/icons.cdn.mjs +3 -0
  95. package/dist/icons.cdn.mjs.map +1 -0
  96. package/dist/icons.d.ts +1 -0
  97. package/dist/icons.mjs +6 -0
  98. package/dist/icons.mjs.map +1 -0
  99. package/dist/index.cdn.mjs +9328 -12875
  100. package/dist/index.cdn.mjs.map +1 -1
  101. package/dist/index.cdn2.mjs +55255 -0
  102. package/dist/index.cdn2.mjs.map +1 -0
  103. package/dist/index.d.ts +8 -0
  104. package/dist/index.mjs +3946 -0
  105. package/dist/index.mjs.map +1 -0
  106. package/dist/plugin.d.ts +3 -0
  107. package/dist/services/animation.d.ts +17 -0
  108. package/dist/services/directives/index.d.ts +2 -0
  109. package/dist/services/directives/scroll-into-view.d.ts +7 -0
  110. package/dist/services/directives/tap-animation.d.ts +6 -0
  111. package/dist/services/id.d.ts +22 -0
  112. package/dist/services/injections/accordions.d.ts +3 -0
  113. package/dist/services/injections/animations.d.ts +2 -0
  114. package/dist/services/injections/buttons.d.ts +4 -0
  115. package/dist/services/injections/forms.d.ts +6 -0
  116. package/dist/services/injections/icon-buttons.d.ts +3 -0
  117. package/dist/services/injections/pills.d.ts +4 -0
  118. package/dist/services/injections/radio.d.ts +10 -0
  119. package/dist/{styles/main.css → styles.css} +40 -2
  120. package/dist/theme/icons.d.ts +36 -0
  121. package/dist/types/CForm.d.ts +12 -0
  122. package/dist/types/font-awesome.d.ts +5 -0
  123. package/dist/types.d.ts +13 -0
  124. package/package.json +11 -4
  125. package/src/colors/colors.ts +8 -3
  126. package/src/components/CAccordion.vue +31 -24
  127. package/src/components/CAccordionItem.vue +46 -45
  128. package/src/components/CAppBar.vue +108 -101
  129. package/src/components/CBadge.vue +33 -25
  130. package/src/components/CBottomSheet.vue +212 -199
  131. package/src/components/CButton/CButton.vue +135 -147
  132. package/src/components/CButtonStack.vue +21 -13
  133. package/src/components/CCard.vue +72 -69
  134. package/src/components/CCardFooter.vue +5 -5
  135. package/src/components/CCardHeader.vue +9 -7
  136. package/src/components/CCardSection.vue +15 -8
  137. package/src/components/CCheckbox.vue +68 -69
  138. package/src/components/CCol.vue +21 -22
  139. package/src/components/CDivider.vue +9 -8
  140. package/src/components/CDobField.vue +114 -105
  141. package/src/components/CDobSelect.vue +162 -164
  142. package/src/components/CEmailField.vue +39 -27
  143. package/src/components/CExpandTransition.vue +14 -17
  144. package/src/components/CFadeTransition.vue +3 -3
  145. package/src/components/CFileInput.vue +57 -50
  146. package/src/components/CFixedPageFooter.vue +23 -17
  147. package/src/components/CForm.vue +67 -60
  148. package/src/components/CFormFieldCounter.vue +25 -28
  149. package/src/components/CIconButton.vue +84 -65
  150. package/src/components/CLabel.vue +19 -13
  151. package/src/components/CListItem.vue +67 -66
  152. package/src/components/CListItemContent.vue +14 -16
  153. package/src/components/CListItemIcon.vue +18 -14
  154. package/src/components/CLoader.vue +47 -56
  155. package/src/components/CLogo.vue +13 -12
  156. package/src/components/CMaskedTextField.vue +80 -64
  157. package/src/components/CMenu.vue +14 -6
  158. package/src/components/CMenuItem.vue +28 -22
  159. package/src/components/CMenuLabel.vue +6 -5
  160. package/src/components/CModal.vue +76 -71
  161. package/src/components/CModalLoading.vue +24 -15
  162. package/src/components/CNotification.vue +77 -28
  163. package/src/components/CPhoneField.vue +34 -25
  164. package/src/components/CPill.vue +92 -88
  165. package/src/components/CPillGroup.vue +30 -21
  166. package/src/components/CPopup.vue +46 -37
  167. package/src/components/CProgressLinear.vue +17 -11
  168. package/src/components/CProgressRing.vue +33 -33
  169. package/src/components/CRadio.vue +57 -57
  170. package/src/components/CRadioGroup.vue +85 -72
  171. package/src/components/CRow.vue +22 -20
  172. package/src/components/CSectionHeader.vue +20 -12
  173. package/src/components/CSelect.vue +89 -73
  174. package/src/components/CSkeletonLoaderCard.vue +9 -15
  175. package/src/components/CSkeletonLoaderCircle.vue +1 -9
  176. package/src/components/CSkeletonLoaderText.vue +17 -18
  177. package/src/components/CSlideFadeTransition.vue +12 -34
  178. package/src/components/CSplitInput.vue +46 -45
  179. package/src/components/CSquaredIcon.vue +39 -29
  180. package/src/components/CSsnField.vue +48 -36
  181. package/src/components/CStatusDot.vue +16 -16
  182. package/src/components/CSwitch.vue +31 -22
  183. package/src/components/CSwitchListItem.vue +27 -28
  184. package/src/components/CTextArea.vue +116 -83
  185. package/src/components/CTextField.vue +194 -198
  186. package/src/components/CTextLink.vue +28 -25
  187. package/src/components/CThirdPartyLogo.vue +30 -59
  188. package/src/components/CToast.vue +135 -132
  189. package/src/components/CToastsList.vue +2 -15
  190. package/src/components/CValidationMessage.vue +31 -24
  191. package/src/components/CZipcodeField.vue +40 -27
  192. package/src/composables/elements.ts +1 -1
  193. package/src/composables/fields.ts +4 -4
  194. package/src/composables/router.ts +6 -5
  195. package/src/icons.ts +6 -0
  196. package/src/services/injections/buttons.ts +1 -1
  197. package/src/styles/_core.scss +1 -2
  198. package/src/styles/_reset.scss +1 -1
  199. package/src/styles/main.scss +2 -0
  200. package/src/types.ts +2 -0
  201. package/dist/index.cdn.css +0 -1
  202. package/dist/styles/utils.css +0 -2709
package/dist/index.mjs ADDED
@@ -0,0 +1,3946 @@
1
+ import { defineComponent as $, toRefs as te, provide as W, ref as I, nextTick as ft, createElementBlock as g, openBlock as f, renderSlot as b, onMounted as Q, unref as u, isRef as ta, watch as q, inject as X, computed as p, withModifiers as pt, normalizeClass as O, createVNode as P, createElementVNode as S, createBlock as M, Transition as vt, withCtx as w, toValue as de, normalizeStyle as x, toDisplayString as F, createTextVNode as G, toRef as mt, resolveDynamicComponent as De, withDirectives as aa, onBeforeUnmount as he, useSlots as bt, Comment as la, Fragment as ce, createCommentVNode as R, mergeProps as U, toHandlers as Be, useAttrs as we, getCurrentInstance as sa, renderList as fe, createSlots as gt, watchEffect as ht, onUnmounted as oa } from "vue";
2
+ import { faChevronDown as qe, faXmark as Re, faCheck as _t, faEye as na, faEyeSlash as ia, faChevronRight as ra, faLock as da, faCircleExclamation as ua, faCircleCheck as ca, faInfoCircle as fa } from "@fortawesome/pro-regular-svg-icons";
3
+ import { FontAwesomeIcon as z } from "@fortawesome/vue-fontawesome";
4
+ import "@shoelace-style/shoelace/dist/components/details/details";
5
+ import { getAnimation as pa, setAnimation as Ze } from "@shoelace-style/shoelace/dist/utilities/animation-registry.js";
6
+ import "@shoelace-style/shoelace/dist/components/drawer/drawer.js";
7
+ import { debounce as va } from "lodash";
8
+ import "@shoelace-style/shoelace/dist/components/button/button.js";
9
+ import { useLink as ma } from "vue-router";
10
+ import ge from "dayjs";
11
+ import { MaskInput as ba, Mask as ga } from "maska";
12
+ import "lodash/defaults";
13
+ import ha from "scroll-into-view-if-needed";
14
+ import "@shoelace-style/shoelace/dist/components/menu/menu.js";
15
+ import "@shoelace-style/shoelace/dist/components/menu-item/menu-item.js";
16
+ import "@shoelace-style/shoelace/dist/components/menu-label/menu-label.js";
17
+ import "@shoelace-style/shoelace/dist/components/dialog/dialog.js";
18
+ import "@shoelace-style/shoelace/dist/components/popup/popup.js";
19
+ import "@shoelace-style/shoelace/dist/components/progress-bar/progress-bar.js";
20
+ import "@shoelace-style/shoelace/dist/components/switch/switch.js";
21
+ import "@shoelace-style/shoelace/dist/components/alert/alert.js";
22
+ import { faXmark as _a, faCircle as Ca, faSquare as ya } from "@fortawesome/pro-light-svg-icons";
23
+ import { faCircleDot as $a, faSquareCheck as ka } from "@fortawesome/pro-solid-svg-icons";
24
+ const Ct = Symbol("fluid"), yt = Symbol("on-toggle"), Ta = /* @__PURE__ */ $({
25
+ __name: "CAccordion",
26
+ props: {
27
+ fluid: { type: Boolean, default: !1 }
28
+ },
29
+ emits: ["change"],
30
+ setup(l, { emit: e }) {
31
+ const t = l, a = e, { fluid: o } = te(t);
32
+ W(Ct, o);
33
+ const s = I(null);
34
+ return W(yt, async () => {
35
+ await ft();
36
+ const n = Array.from(
37
+ s.value.querySelectorAll("[data-accordion-item]")
38
+ ).reduce((r, d, c) => d.hasAttribute("open") ? [...r, c] : r, []);
39
+ a("change", n);
40
+ }), (i, n) => (f(), g("div", {
41
+ ref_key: "accordion",
42
+ ref: s,
43
+ "data-test": "accordion"
44
+ }, [
45
+ b(i.$slots, "default")
46
+ ], 512));
47
+ }
48
+ });
49
+ function ue(l, e, t) {
50
+ let a = null;
51
+ Q(() => {
52
+ if (l.value) {
53
+ a = pa(l.value, e, { dir: "ltr" });
54
+ const o = u(t);
55
+ o !== "default" && Ze(l.value, e, o);
56
+ }
57
+ }), ta(t) && q(t, () => {
58
+ if (l.value) {
59
+ const o = t.value === "default" ? a : t.value;
60
+ Ze(l.value, e, o);
61
+ }
62
+ });
63
+ }
64
+ const et = 100;
65
+ function $t({
66
+ el: l,
67
+ keyframes: e
68
+ }) {
69
+ const t = I(null), a = I(null);
70
+ function o() {
71
+ var i, n;
72
+ l.value && ((i = a.value) == null || i.cancel(), a.value = null, (n = t.value) == null || n.cancel(), t.value = l.value.animate([e.default, e.pressed], {
73
+ duration: et,
74
+ fill: "forwards"
75
+ }));
76
+ }
77
+ async function s() {
78
+ !t.value || a.value || !l.value || (await t.value.finished.catch(() => {
79
+ }), l.value && (a.value = l.value.animate([e.pressed, e.default], {
80
+ duration: et,
81
+ fill: "forwards"
82
+ }), await a.value.finished.catch(() => {
83
+ }), a.value = null, t.value = null));
84
+ }
85
+ return {
86
+ pointerdown: o,
87
+ pointerup: s,
88
+ pointerleave: s,
89
+ pointercancel: s
90
+ };
91
+ }
92
+ function ae(l, e = {}) {
93
+ const t = I(l.value);
94
+ return q(l, (a) => {
95
+ t.value = a;
96
+ }), q(t, (a) => {
97
+ var o;
98
+ a !== l.value && ((o = e.onChange) == null || o.call(e, a));
99
+ }), t;
100
+ }
101
+ const La = ["open"], Ea = {
102
+ slot: "summary",
103
+ class: "c-accordion-item__header",
104
+ "data-test": "accordion-item-header"
105
+ }, Ia = {
106
+ "data-test": "accordion-item-content",
107
+ class: "c-accordion-item__content"
108
+ }, Aa = /* @__PURE__ */ $({
109
+ __name: "CAccordionItem",
110
+ props: {
111
+ value: { type: Boolean, default: !1 },
112
+ fluid: { type: [Boolean, null], default: null }
113
+ },
114
+ emits: ["input"],
115
+ setup(l, { emit: e }) {
116
+ const t = l, a = e, o = I(null);
117
+ ue(o, "details.show", {
118
+ keyframes: [{ height: "0" }, { height: "auto" }],
119
+ options: { duration: 200, easing: "ease" }
120
+ }), ue(o, "details.hide", {
121
+ keyframes: [{ height: "auto" }, { height: "0" }],
122
+ options: { duration: 200, easing: "ease" }
123
+ });
124
+ const s = X(Ct, I(!1)), i = p(() => t.fluid !== null ? t.fluid : s.value ?? !1), n = p(() => t.value), r = ae(n, { onChange: (m) => a("input", m) }), d = X(yt, void 0), c = (m) => {
125
+ r.value = m, d == null || d(), a("input", m);
126
+ };
127
+ return (m, h) => (f(), g("sl-details", {
128
+ ref_key: "details",
129
+ ref: o,
130
+ "data-test": "accordion-item",
131
+ "data-accordion-item": "",
132
+ class: O(["c-accordion-item", { "c-accordion-item--fluid": i.value }]),
133
+ open: u(r) || void 0,
134
+ onSlShow: h[0] || (h[0] = (y) => c(!0)),
135
+ onSlHide: h[1] || (h[1] = pt((y) => c(!1), ["stop"]))
136
+ }, [
137
+ P(u(z), {
138
+ slot: "expand-icon",
139
+ icon: u(qe)
140
+ }, null, 8, ["icon"]),
141
+ P(u(z), {
142
+ slot: "collapse-icon",
143
+ icon: u(qe)
144
+ }, null, 8, ["icon"]),
145
+ S("div", Ea, [
146
+ b(m.$slots, "header", {}, void 0, !0)
147
+ ]),
148
+ S("div", Ia, [
149
+ b(m.$slots, "default", {}, void 0, !0)
150
+ ])
151
+ ], 42, La));
152
+ }
153
+ }), L = (l, e) => {
154
+ const t = l.__vccOpts || l;
155
+ for (const [a, o] of e)
156
+ t[a] = o;
157
+ return t;
158
+ }, Sa = /* @__PURE__ */ L(Aa, [["__scopeId", "data-v-0d90e6cc"]]), Ee = "#000000", Ie = "rgba(0, 0, 0, 0.04)", Ae = "rgba(0, 0, 0, 0.1)", He = "rgba(0, 0, 0, 0.31)", Fe = "rgba(0, 0, 0, 0.48)", Pe = "rgba(0, 0, 0, 0.69)", tt = "#1f7400", at = "#f47500", lt = "#cd000c", ee = {
159
+ ACCENT_BLUE: "#5560cb",
160
+ ACCENT_BLUE_SHADE_1: "#404898",
161
+ ACCENT_BLUE_SHADE_2: "#2f3570",
162
+ ACCENT_GREEN: "#49a24c",
163
+ ACCENT_GREEN_SHADE_1: "#3a823d",
164
+ ACCENT_GREEN_SHADE_2: "#17551a",
165
+ ACCENT_ORANGE: "#ffa895",
166
+ ACCENT_ORANGE_SHADE_1: "#e15c1b",
167
+ ACCENT_ORANGE_SHADE_2: "#a9440b",
168
+ ACCENT_PINK: "#d75fae",
169
+ ACCENT_PINK_SHADE_1: "#7c3872",
170
+ ACCENT_PINK_SHADE_2: "#56204e",
171
+ ACCENT_RED_SHADE_1: "#981d31",
172
+ ACCENT_RED_SHADE_2: "#701323",
173
+ ALERT_RED: "#c34459",
174
+ BACKGROUND: Ie,
175
+ BLACK: Ee,
176
+ GRAY_100: Ie,
177
+ GRAY_200: Ae,
178
+ GRAY_300: He,
179
+ GRAY_400: Fe,
180
+ GRAY_500: Pe,
181
+ // NOTE(slanden, Seth): Transparency does not work or make sense in all contexts, (e.g. the in-app
182
+ // browser cannot handle transparency in rgba colors). These provide hex the equivalent of each
183
+ // gray over a white background.
184
+ GRAY_100_HEX: "#f5f5f5",
185
+ GRAY_200_HEX: "#e6e6e6",
186
+ GRAY_300_HEX: "#b0b0b0",
187
+ GRAY_400_HEX: "#858585",
188
+ GRAY_500_HEX: "#4f4f4f",
189
+ NAVY: Ee,
190
+ NAVY_TINT_1: Pe,
191
+ NAVY_TINT_2: Fe,
192
+ NAVY_TINT_3: He,
193
+ NAVY_TINT_4: Ae,
194
+ NAVY_TINT_5: Ie,
195
+ NEUTRAL: Ie,
196
+ NEUTRAL_SHADE: Ae,
197
+ NEUTRAL_SHADE_2: "#707070",
198
+ ORANGE: "#ffa895",
199
+ ORANGE_TINT_1: "#fdcab7",
200
+ ORANGE_TINT_2: "#ffdbce",
201
+ PINK: "#f6a0d1",
202
+ PINK_TINT_1: "#fdc3e4",
203
+ PINK_TINT_2: "#ffdef1",
204
+ PROVIDERS_BLUE: "#a3b0f9",
205
+ PROVIDERS_BLUE_TINT_1: "#d1d7fc",
206
+ PROVIDERS_BLUE_TINT_2: "#e8ebfd",
207
+ PROVIDERS_GREEN: "#49a24c",
208
+ PROVIDERS_GREEN_TINT_1: "#b3f6a2",
209
+ PROVIDERS_GREEN_TINT_2: "#d1fac7",
210
+ TEXT_PRIMARY: Ee,
211
+ TEXT_SECONDARY: Pe,
212
+ TEXT_PLACEHOLDER: Fe,
213
+ TEXT_DISABLED: He,
214
+ WHITE: "#ffffff",
215
+ YELLOW: "#ffc200",
216
+ YELLOW_100: "#ffdc6b",
217
+ YELLOW_TINT_1: "#ffdc6b",
218
+ YELLOW_TINT_2: "#fee69a",
219
+ BLUE_100: "#e0edff",
220
+ BLUE_200: "#b2cffa",
221
+ BLUE_300: "#7a95f8",
222
+ BLUE_400: "#496ae0",
223
+ BLUE_500: "#1a43d7",
224
+ BORDER: Ae,
225
+ BUTTON_BACKGROUND: Ee,
226
+ GOLD_500: at,
227
+ GOLD_400: "#f99500",
228
+ GOLD_300: "#ffc120",
229
+ GOLD_200: "#fcde74",
230
+ GOLD_100: "#fff0ba",
231
+ GREEN_500: tt,
232
+ GREEN_400: "#3fa41c",
233
+ GREEN_300: "#8bc95a",
234
+ GREEN_200: "#b8da96",
235
+ GREEN_100: "#dcf2cb",
236
+ PURPLE_500: "#6431d0",
237
+ PURPLE_400: "#804fe8",
238
+ PURPLE_300: "#ac8eff",
239
+ PURPLE_200: "#cdbcff",
240
+ PURPLE_100: "#ebe4ff",
241
+ RED_500: lt,
242
+ RED_400: "#f52323",
243
+ RED_300: "#ff6969",
244
+ RED_200: "#ffaaa5",
245
+ RED_100: "#ffe5dd",
246
+ STATUS_SUCCESS: tt,
247
+ STATUS_WARNING: at,
248
+ STATUS_ERROR: lt
249
+ };
250
+ function kt(l) {
251
+ return l ? /^#([0-9A-Fa-f]{3}){1,2}$/i.test(l) : !1;
252
+ }
253
+ function Tt(l) {
254
+ return l ? /^rgba\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*[\d.]+\s*\)$/i.test(l) : !1;
255
+ }
256
+ function Ye(l) {
257
+ return kt(l) || Tt(l);
258
+ }
259
+ function Da(l) {
260
+ return l ? Object.keys(ee).includes(l) : !1;
261
+ }
262
+ const Ba = /* @__PURE__ */ $({
263
+ __name: "CFadeTransition",
264
+ setup(l) {
265
+ return (e, t) => (f(), M(vt, {
266
+ mode: "out-in",
267
+ name: "fade"
268
+ }, {
269
+ default: w(() => [
270
+ b(e.$slots, "default", {}, void 0, !0)
271
+ ]),
272
+ _: 3
273
+ }));
274
+ }
275
+ }), je = /* @__PURE__ */ L(Ba, [["__scopeId", "data-v-b3f4d795"]]);
276
+ function J(l) {
277
+ const e = p(
278
+ () => {
279
+ var s;
280
+ return Ye(de(l)) ? (s = de(l)) == null ? void 0 : s.toLowerCase() : void 0;
281
+ }
282
+ ), t = p(() => {
283
+ var s;
284
+ if (de(l) && !Ye(de(l)))
285
+ return (s = de(l)) == null ? void 0 : s.replace(/-/g, "_").toUpperCase();
286
+ }), a = p(() => {
287
+ if (t.value && Da(t.value))
288
+ return ee[t.value];
289
+ if (Ye(e.value) && Object.values(ee).includes(e.value))
290
+ return e.value;
291
+ }), o = p(() => a.value !== void 0);
292
+ return { cssColor: a, isValidColor: o };
293
+ }
294
+ const wa = ["aria-label", "data-size"], Ra = /* @__PURE__ */ $({
295
+ __name: "CLoader",
296
+ props: {
297
+ accessibleText: { default: void 0 },
298
+ color: { default: "default" },
299
+ small: { type: Boolean, default: !1 },
300
+ size: { default: "lg" },
301
+ trackColor: { default: "default" }
302
+ },
303
+ setup(l) {
304
+ const e = {
305
+ sm: "20px",
306
+ md: "26px",
307
+ lg: "32px"
308
+ }, t = {
309
+ sm: "2.5px",
310
+ md: "3px",
311
+ lg: "3px"
312
+ }, a = l, o = p(() => a.color === "default" ? "black" : a.color), s = p(() => a.trackColor !== "default" ? a.trackColor : a.color === "white" || a.color === ee.WHITE ? "gray-500" : "gray-200"), i = p(() => a.small ? "sm" : a.size), { cssColor: n } = J(o), { cssColor: r } = J(s);
313
+ return (d, c) => (f(), g("span", {
314
+ "aria-label": d.accessibleText || d.$t("Loading..."),
315
+ class: "c-loader",
316
+ "data-size": i.value,
317
+ "data-test": "loader",
318
+ role: "progressbar",
319
+ style: x({
320
+ "--indicator-color": u(n),
321
+ "--loader-size": e[i.value],
322
+ "--track-color": u(r),
323
+ "--track-width": t[i.value]
324
+ })
325
+ }, c[0] || (c[0] = [
326
+ S("svg", { class: "c-loader__svg" }, [
327
+ S("circle", { class: "c-loader__track" }),
328
+ S("circle", { class: "c-loader__indicator" })
329
+ ], -1)
330
+ ]), 12, wa));
331
+ }
332
+ }), Me = /* @__PURE__ */ L(Ra, [["__scopeId", "data-v-0a94cfd0"]]), Ne = Symbol("tertiary"), Lt = Symbol("inherit-color"), Ma = ["data-background-color", "data-color"], Na = {
333
+ class: "c-app-bar__left",
334
+ "data-test": "app-bar-left"
335
+ }, Va = {
336
+ "data-test": "app-bar-title",
337
+ class: "c-app-bar__title"
338
+ }, Oa = {
339
+ key: "title",
340
+ class: "c-app-bar__title-content",
341
+ "data-test": "app-bar-title-text"
342
+ }, Ha = {
343
+ key: "slot",
344
+ class: "c-app-bar__title-content"
345
+ }, Fa = {
346
+ class: "c-app-bar__right",
347
+ "data-test": "app-bar-right"
348
+ }, Pa = /* @__PURE__ */ $({
349
+ __name: "CAppBar",
350
+ props: {
351
+ backgroundColor: { default: "default" },
352
+ border: { type: Boolean, default: !1 },
353
+ color: { default: void 0 },
354
+ fixed: { type: Boolean, default: !1 },
355
+ loaderAccessibleText: { default: "" },
356
+ loading: { type: Boolean, default: !1 },
357
+ title: { default: "" }
358
+ },
359
+ setup(l) {
360
+ const e = l;
361
+ W(Ne, I(!0)), W(Lt, I(!0));
362
+ const t = p(() => e.backgroundColor === "default" ? ee.WHITE : e.backgroundColor), { cssColor: a } = J(t), o = p(() => {
363
+ const n = a.value;
364
+ if (!n)
365
+ return ee.BLACK;
366
+ let r, d, c;
367
+ if (kt(n)) {
368
+ const h = n.substring(1), y = h.length === 3 ? h.replace(/(.)/g, "$1$1") : h;
369
+ r = parseInt(y.substring(0, 2), 16) / 255, d = parseInt(y.substring(2, 4), 16) / 255, c = parseInt(y.substring(4, 6), 16) / 255;
370
+ } else if (Tt(n)) {
371
+ const h = n.match(
372
+ /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([\d.]+)\s*\)$/i
373
+ );
374
+ if (!h)
375
+ return ee.BLACK;
376
+ const y = Number(h[1]) / 255, _ = Number(h[2]) / 255, N = Number(h[3]) / 255, A = Number(h[4]);
377
+ r = y * A + (1 - A), d = _ * A + (1 - A), c = N * A + (1 - A);
378
+ } else
379
+ return ee.BLACK;
380
+ return 0.2126 * r + 0.7152 * d + 0.0722 * c < 0.5 ? ee.WHITE : ee.BLACK;
381
+ }), { cssColor: s } = J(() => e.color), i = p(() => s.value ? s.value : o.value);
382
+ return (n, r) => (f(), g("header", {
383
+ "data-test": "app-bar",
384
+ class: O(["c-app-bar", {
385
+ "c-app-bar--fixed": n.fixed,
386
+ "c-app-bar--border": n.border
387
+ }]),
388
+ style: x({
389
+ "--c-app-bar-background-color": u(a),
390
+ "--c-app-bar-color": i.value
391
+ }),
392
+ "data-background-color": u(a),
393
+ "data-color": i.value
394
+ }, [
395
+ S("div", Na, [
396
+ b(n.$slots, "left", {}, void 0, !0)
397
+ ]),
398
+ S("div", Va, [
399
+ P(je, null, {
400
+ default: w(() => [
401
+ n.loading ? (f(), M(Me, {
402
+ key: "loader",
403
+ "data-test": "app-bar-loader",
404
+ class: "c-app-bar__loader",
405
+ small: "",
406
+ color: i.value,
407
+ "accessible-text": n.loaderAccessibleText
408
+ }, null, 8, ["color", "accessible-text"])) : !n.loading && n.title ? (f(), g("h1", Oa, F(n.title), 1)) : (f(), g("div", Ha, [
409
+ b(n.$slots, "title", {}, void 0, !0)
410
+ ]))
411
+ ]),
412
+ _: 3
413
+ })
414
+ ]),
415
+ S("div", Fa, [
416
+ b(n.$slots, "right", {}, void 0, !0)
417
+ ])
418
+ ], 14, Ma));
419
+ }
420
+ }), Ya = /* @__PURE__ */ L(Pa, [["__scopeId", "data-v-bc70ac40"]]), Ua = ["data-test", "data-color", "data-text-color"], za = /* @__PURE__ */ $({
421
+ __name: "CBadge",
422
+ props: {
423
+ dataTest: { default: "badge" },
424
+ color: { default: "purple-200" },
425
+ text: { default: void 0 },
426
+ textColor: { default: "text-primary" }
427
+ },
428
+ setup(l) {
429
+ const e = l, { cssColor: t } = J(() => e.color), { cssColor: a } = J(() => e.textColor), o = p(() => {
430
+ const s = {};
431
+ return t.value && (s["--c-badge-background-color"] = t.value), a.value && (s["--c-badge-text-color"] = a.value), s;
432
+ });
433
+ return (s, i) => (f(), g("span", {
434
+ class: "c-badge",
435
+ "data-test": s.dataTest,
436
+ "data-color": s.color,
437
+ "data-text-color": s.textColor,
438
+ style: x(o.value)
439
+ }, [
440
+ b(s.$slots, "default", {}, () => [
441
+ G(F(s.text), 1)
442
+ ], !0)
443
+ ], 12, Ua));
444
+ }
445
+ }), Ga = /* @__PURE__ */ L(za, [["__scopeId", "data-v-dc4dde8c"]]), Et = Symbol("block"), It = Symbol("large"), At = Symbol("bounce-amount"), qa = /* @__PURE__ */ $({
446
+ __name: "CButtonStack",
447
+ props: {
448
+ tag: { default: "div" },
449
+ large: { type: [Boolean, null], default: null }
450
+ },
451
+ setup(l) {
452
+ const t = mt(l, "large");
453
+ return W(Et, I(!0)), W(It, t), (a, o) => (f(), M(De(a.tag), {
454
+ class: "c-button-stack",
455
+ "data-test": "c-button-stack"
456
+ }, {
457
+ default: w(() => [
458
+ b(a.$slots, "default", {}, void 0, !0)
459
+ ]),
460
+ _: 3
461
+ }));
462
+ }
463
+ }), Ve = /* @__PURE__ */ L(qa, [["__scopeId", "data-v-8dcd3648"]]), Ue = () => window.visualViewport ?? window, Za = (l) => {
464
+ var c, m, h, y;
465
+ const e = l.getBoundingClientRect(), t = window.innerHeight || document.documentElement.clientHeight, a = (c = document.getElementById("app")) == null ? void 0 : c.clientHeight, o = ((m = document.getElementsByClassName("app-bar c-app-bar")[0]) == null ? void 0 : m.clientHeight) || 64, s = ((h = document.getElementsByClassName("c-fixed-page-footer")[0]) == null ? void 0 : h.clientHeight) || ((y = document.getElementsByClassName("scrollable-footer")[0]) == null ? void 0 : y.clientHeight) || 0, i = a ? t - (a - o) : o, n = t - s, r = e.top < i, d = e.bottom > n;
466
+ (r || d) && l.scrollIntoView({ behavior: "smooth", block: "center" });
467
+ }, ja = {
468
+ beforeMount(l) {
469
+ const e = l.querySelector("input,textarea");
470
+ e && (l.scrollDirective = {
471
+ focusable: e,
472
+ scrollIfNeeded: va(() => {
473
+ Za(l);
474
+ }, 300),
475
+ focusListener: () => {
476
+ l.scrollDirective && (l.scrollDirective.scrollIfNeeded(), Ue().addEventListener("resize", l.scrollDirective.scrollIfNeeded));
477
+ },
478
+ blurListener: () => {
479
+ l.scrollDirective && (l.scrollDirective.scrollIfNeeded.cancel(), Ue().removeEventListener("resize", l.scrollDirective.scrollIfNeeded));
480
+ }
481
+ }, e.addEventListener("focus", l.scrollDirective.focusListener), e.addEventListener("blur", l.scrollDirective.blurListener));
482
+ },
483
+ unmounted(l) {
484
+ l.scrollDirective && (l.scrollDirective.scrollIfNeeded.cancel(), l.scrollDirective.focusable.removeEventListener("focus", l.scrollDirective.focusListener), l.scrollDirective.focusable.removeEventListener("blur", l.scrollDirective.blurListener), Ue().removeEventListener("resize", l.scrollDirective.scrollIfNeeded));
485
+ }
486
+ }, st = 0.94;
487
+ function ot(l, e) {
488
+ const t = $t({
489
+ el: I(l),
490
+ keyframes: {
491
+ default: { transform: "scale(1)" },
492
+ pressed: { transform: `scale(${e})` }
493
+ }
494
+ });
495
+ Object.entries(t).forEach(([a, o]) => {
496
+ l.addEventListener(a, o);
497
+ }), l.__tapAnimationCleanup = () => {
498
+ Object.entries(t).forEach(([a, o]) => {
499
+ l.removeEventListener(a, o);
500
+ });
501
+ };
502
+ }
503
+ const St = {
504
+ beforeMount(l, e) {
505
+ var o;
506
+ if (window.matchMedia("(prefers-reduced-motion: reduce)").matches)
507
+ return;
508
+ const a = ((o = e.value) == null ? void 0 : o.bounceAmount) ?? st;
509
+ ot(l, a);
510
+ },
511
+ updated(l, e) {
512
+ var a, o, s, i;
513
+ if (!window.matchMedia("(prefers-reduced-motion: reduce)").matches && ((a = e.value) == null ? void 0 : a.bounceAmount) !== ((o = e.oldValue) == null ? void 0 : o.bounceAmount)) {
514
+ (s = l.__tapAnimationCleanup) == null || s.call(l);
515
+ const n = ((i = e.value) == null ? void 0 : i.bounceAmount) ?? st;
516
+ ot(l, n);
517
+ }
518
+ },
519
+ unmounted(l) {
520
+ var e;
521
+ (e = l.__tapAnimationCleanup) == null || e.call(l);
522
+ }
523
+ }, Wa = ["aria-label", "disabled"], Xa = /* @__PURE__ */ $({
524
+ __name: "CCloseButton",
525
+ props: {
526
+ disabled: { type: Boolean }
527
+ },
528
+ emits: ["click", "focus", "blur"],
529
+ setup(l, { emit: e }) {
530
+ const t = e, a = () => {
531
+ t("click");
532
+ };
533
+ return (o, s) => aa((f(), g("button", {
534
+ class: "c-close-button",
535
+ "data-test": "c-close-button",
536
+ "aria-label": o.$t("Close"),
537
+ disabled: o.disabled,
538
+ onClick: a
539
+ }, [
540
+ P(u(z), { icon: u(Re) }, null, 8, ["icon"])
541
+ ], 8, Wa)), [
542
+ [u(St)]
543
+ ]);
544
+ }
545
+ }), Ka = /* @__PURE__ */ L(Xa, [["__scopeId", "data-v-9db7ba0f"]]);
546
+ function Dt(l, e) {
547
+ if (!("ResizeObserver" in window))
548
+ return;
549
+ let t = null;
550
+ q(
551
+ l,
552
+ (a) => {
553
+ a && (t = new ResizeObserver(e), t.observe(a));
554
+ },
555
+ { immediate: !0 }
556
+ ), he(() => {
557
+ t && (t.disconnect(), t = null);
558
+ });
559
+ }
560
+ function Bt(l, e) {
561
+ const t = e.reduce(
562
+ (a, o) => ({ ...a, [o]: I(null) }),
563
+ {}
564
+ );
565
+ return Q(async () => {
566
+ var o;
567
+ if (!l.value)
568
+ return;
569
+ try {
570
+ await customElements.whenDefined(l.value.tagName.toLowerCase());
571
+ } catch {
572
+ return;
573
+ }
574
+ const a = (o = l.value) == null ? void 0 : o.shadowRoot;
575
+ if (a)
576
+ for (const s of e)
577
+ t[s].value = a.querySelector(`[part="${s}"]`);
578
+ }), t;
579
+ }
580
+ const wt = (l, e) => {
581
+ const t = I(null), a = I(null), o = I(null), s = p(() => !t.value || !a.value ? { x: 0, y: 0 } : {
582
+ x: a.value.position.x - t.value.position.x,
583
+ y: a.value.position.y - t.value.position.y
584
+ }), i = (h) => {
585
+ const { clientX: y, clientY: _ } = h.touches[0];
586
+ return { position: { x: y, y: _ }, timestamp: h.timeStamp };
587
+ }, n = (h) => {
588
+ t.value = i(h), a.value = t.value;
589
+ }, r = (h) => {
590
+ const y = i(h);
591
+ if (a.value) {
592
+ const _ = y.timestamp - a.value.timestamp;
593
+ o.value = {
594
+ x: (y.position.x - a.value.position.x) / _,
595
+ y: (y.position.y - a.value.position.y) / _
596
+ };
597
+ }
598
+ a.value = y;
599
+ }, d = () => {
600
+ var h;
601
+ (h = e == null ? void 0 : e.onDragEnd) == null || h.call(e, {
602
+ distance: s.value,
603
+ velocity: o.value ?? { x: 0, y: 0 }
604
+ }), t.value = null, a.value = null, o.value = null;
605
+ }, c = (h) => {
606
+ h && (h.addEventListener("touchstart", n), h.addEventListener("touchmove", r), h.addEventListener("touchend", d));
607
+ }, m = (h) => {
608
+ h && (h.removeEventListener("touchstart", n), h.removeEventListener("touchmove", r), h.removeEventListener("touchend", d));
609
+ };
610
+ return Q(async () => {
611
+ c(l.value);
612
+ }), q(l, (h, y) => {
613
+ m(y), c(h);
614
+ }), { dragDistance: s, dragVelocity: o };
615
+ }, Ja = (l) => {
616
+ const e = I(!1), t = () => {
617
+ e.value = !0;
618
+ }, a = (n) => {
619
+ e.value && n.stopPropagation();
620
+ }, o = (n) => {
621
+ a(n), e.value = !1;
622
+ }, s = (n) => {
623
+ n && (n.addEventListener("scroll", t), n.addEventListener("touchstart", a), n.addEventListener("touchmove", a), n.addEventListener("touchend", o));
624
+ }, i = (n) => {
625
+ n && (n.removeEventListener("scroll", t), n.removeEventListener("touchstart", a), n.removeEventListener("touchmove", a), n.removeEventListener("touchend", o));
626
+ };
627
+ Q(() => {
628
+ s(l.value);
629
+ }), q(l, (n, r) => {
630
+ i(r), s(n);
631
+ });
632
+ }, Qa = (l, e) => p(() => {
633
+ var i;
634
+ if (l.value === null)
635
+ return 0;
636
+ const t = ((i = e == null ? void 0 : e.value) == null ? void 0 : i.resistance) ?? 7, { min: a, max: o } = (e == null ? void 0 : e.value) ?? {}, s = Math.abs(l.value);
637
+ return a && l.value < 0 ? a * s / (s - a * t) : o && l.value > 0 ? o * s / (s + o * t) : l.value;
638
+ });
639
+ function Rt(l) {
640
+ if (l.type === la)
641
+ return !1;
642
+ if (l.type === ce || l.type === "template") {
643
+ const e = l.children;
644
+ if (!e || Array.isArray(e) && e.length === 0)
645
+ return !1;
646
+ if (Array.isArray(e))
647
+ return e.some((t) => typeof t == "object" && t !== null && "type" in t ? Rt(t) : !0);
648
+ }
649
+ return !0;
650
+ }
651
+ function K(l) {
652
+ const e = bt();
653
+ return p(() => {
654
+ const t = e[l];
655
+ return t ? t().filter(Rt).length > 0 : !1;
656
+ });
657
+ }
658
+ const _e = 300, Ce = "ease";
659
+ function nt({
660
+ start: l = 0,
661
+ duration: e = _e,
662
+ easing: t = Ce
663
+ } = {}) {
664
+ return {
665
+ keyframes: [
666
+ { opacity: l, offset: 0 },
667
+ { opacity: 1, offset: 1 }
668
+ ],
669
+ options: { duration: e, easing: t }
670
+ };
671
+ }
672
+ function ze({
673
+ start: l = 0,
674
+ duration: e = _e,
675
+ easing: t = Ce
676
+ } = {}) {
677
+ return {
678
+ keyframes: [
679
+ { opacity: 1 - l, offset: 0 },
680
+ { opacity: 0, offset: 1 }
681
+ ],
682
+ options: { duration: e, easing: t }
683
+ };
684
+ }
685
+ function it({
686
+ start: l = 0,
687
+ duration: e = _e,
688
+ easing: t = Ce
689
+ } = {}) {
690
+ return {
691
+ keyframes: [
692
+ { translate: `0 ${(1 - l) * 100}%`, offset: 0 },
693
+ { translate: "0 0", offset: 1 }
694
+ ],
695
+ options: { duration: e, easing: t }
696
+ };
697
+ }
698
+ function Ge({
699
+ start: l = 0,
700
+ duration: e = _e,
701
+ easing: t = Ce
702
+ } = {}) {
703
+ return {
704
+ keyframes: [
705
+ { translate: `0 ${l * 100}%`, offset: 0 },
706
+ { translate: "0 100%", offset: 1 }
707
+ ],
708
+ options: { duration: e, easing: t }
709
+ };
710
+ }
711
+ function rt({
712
+ start: l = 0,
713
+ duration: e = _e,
714
+ easing: t = Ce,
715
+ end: a = 1
716
+ } = {}) {
717
+ return {
718
+ keyframes: [
719
+ { translate: `${l * 100}% 0`, offset: 0 },
720
+ { translate: `${a * 100}% 0`, offset: 1 }
721
+ ],
722
+ options: { duration: e, easing: t }
723
+ };
724
+ }
725
+ function dt({
726
+ start: l = 0,
727
+ duration: e = _e,
728
+ easing: t = Ce,
729
+ end: a = 1
730
+ } = {}) {
731
+ return {
732
+ keyframes: [
733
+ { translate: `${-l * 100}% 0`, offset: 0 },
734
+ { translate: `${-a * 100}% 0`, offset: 1 }
735
+ ],
736
+ options: { duration: e, easing: t }
737
+ };
738
+ }
739
+ const xa = ["data-test", "open", "no-header", "label", "contained", "divided"], el = ["data-test"], tl = ["data-test"], al = ["slot"], ll = 100, sl = 0.75, ol = 1.5, nl = 100, ut = 240, il = 300, rl = /* @__PURE__ */ $({
740
+ __name: "CBottomSheet",
741
+ props: {
742
+ ariaLabel: { default: "" },
743
+ backgroundColor: { default: "" },
744
+ contained: { type: Boolean, default: !1 },
745
+ dataTest: { default: "bottom-sheet" },
746
+ disableDismiss: { type: Boolean, default: !1 },
747
+ divided: { type: Boolean, default: !1 },
748
+ fixedSize: { default: "" },
749
+ hideDismiss: { type: Boolean, default: !1 },
750
+ hideTitle: { type: Boolean, default: !1 },
751
+ overlay: { type: Boolean, default: !0 },
752
+ persistent: { type: Boolean, default: !1 },
753
+ skipInitialAnimation: { type: Boolean, default: !1 },
754
+ title: { default: "" },
755
+ value: { type: Boolean, default: !1 }
756
+ },
757
+ emits: ["input", "opened", "closed"],
758
+ setup(l, { emit: e }) {
759
+ function t(C, V, oe) {
760
+ C.value && Ze(C.value, V, oe);
761
+ }
762
+ const a = l, o = e, s = mt(a, "value"), i = ae(s, { onChange: (C) => o("input", C) }), n = I(!1), r = p(() => !a.skipInitialAnimation && !n.value ? !1 : i.value), { cssColor: d } = J(() => a.backgroundColor);
763
+ Q(async () => {
764
+ await ft(), n.value = !0;
765
+ });
766
+ const c = I(null), {
767
+ panel: m,
768
+ overlay: h,
769
+ body: y
770
+ } = Bt(c, ["panel", "overlay", "body"]);
771
+ Ja(y), t(c, "drawer.showBottom", it()), t(c, "drawer.overlay.show", nt()), t(c, "drawer.hideBottom", Ge()), t(c, "drawer.overlay.hide", ze());
772
+ const _ = () => {
773
+ i.value = !1;
774
+ }, N = (C) => {
775
+ a.persistent && C.preventDefault();
776
+ }, A = () => {
777
+ t(c, "drawer.hideBottom", Ge()), t(c, "drawer.overlay.hide", ze()), o("closed");
778
+ }, B = (C) => {
779
+ var V;
780
+ return C / (((V = m.value) == null ? void 0 : V.clientHeight) ?? il);
781
+ }, { dragDistance: v } = wt(m, {
782
+ onDragEnd: async ({ distance: C, velocity: V }) => {
783
+ var me, ne;
784
+ if (!a.persistent && (C.y > ll || V.y > sl)) {
785
+ const be = m.value.clientHeight - v.value.y, ie = Math.max(
786
+ be / Math.max(V.y, ol),
787
+ nl
788
+ ), re = B(C.y);
789
+ t(
790
+ c,
791
+ "drawer.hideBottom",
792
+ Ge({ start: re, duration: ie })
793
+ ), t(
794
+ c,
795
+ "drawer.overlay.hide",
796
+ ze({ start: re, duration: ie })
797
+ ), _();
798
+ } else {
799
+ const be = 1 - B(v.value.y), ie = it({ start: be }), re = nt({ start: be });
800
+ (me = m.value) == null || me.animate(ie.keyframes, ie.options), (ne = h.value) == null || ne.animate(re.keyframes, re.options);
801
+ }
802
+ }
803
+ }), E = Qa(
804
+ p(() => {
805
+ var C;
806
+ return ((C = v.value) == null ? void 0 : C.y) ?? 0;
807
+ }),
808
+ p(() => ({
809
+ min: -ut,
810
+ max: a.persistent ? ut : void 0
811
+ }))
812
+ ), D = p(() => B(E.value)), Y = p(() => `translateY(${E.value}px)`), le = p(() => {
813
+ const C = 1 - D.value;
814
+ return isNaN(C) ? 1 : C;
815
+ }), Z = (C) => {
816
+ const V = C ? `${a.dataTest}-${C}` : a.dataTest;
817
+ return i.value ? V : null;
818
+ }, H = K("footer"), T = p(
819
+ () => !a.persistent && !a.hideDismiss || a.disableDismiss
820
+ );
821
+ return (C, V) => (f(), g("sl-drawer", {
822
+ ref_key: "sheet",
823
+ ref: c,
824
+ class: O(["c-bottom-sheet", {
825
+ "c-bottom-sheet--hide-overlay": !C.overlay,
826
+ "c-bottom-sheet--hide-title": C.hideTitle,
827
+ "c-bottom-sheet--with-footer": u(H),
828
+ "c-bottom-sheet--with-dismiss": T.value
829
+ }]),
830
+ style: x({
831
+ "--panel-transform": Y.value,
832
+ "--background-color-hex-code": u(d),
833
+ "--overlay-opacity": le.value,
834
+ "--size": C.fixedSize || void 0
835
+ }),
836
+ "data-test": Z(),
837
+ open: r.value || void 0,
838
+ "no-header": C.hideTitle || void 0,
839
+ label: C.ariaLabel,
840
+ placement: "bottom",
841
+ contained: C.contained || void 0,
842
+ divided: C.divided || void 0,
843
+ onSlRequestClose: N,
844
+ onSlHide: _,
845
+ onSlAfterHide: A,
846
+ onSlAfterShow: V[1] || (V[1] = (oe) => C.$emit("opened"))
847
+ }, [
848
+ S("div", {
849
+ slot: "label",
850
+ "data-test": C.value ? `${C.dataTest}-title` : null
851
+ }, [
852
+ b(C.$slots, "header", {}, () => [
853
+ G(F(C.title), 1)
854
+ ], !0)
855
+ ], 8, el),
856
+ b(C.$slots, "image", {}, void 0, !0),
857
+ S("div", {
858
+ class: "c-bottom-sheet__body",
859
+ "data-test": Z("body")
860
+ }, [
861
+ b(C.$slots, "body", {}, void 0, !0)
862
+ ], 8, tl),
863
+ T.value ? (f(), g("div", {
864
+ key: 0,
865
+ slot: C.hideTitle ? void 0 : "header-actions",
866
+ class: "c-bottom-sheet__actions"
867
+ }, [
868
+ P(Ka, {
869
+ "data-test": Z("dismiss"),
870
+ disabled: C.disableDismiss,
871
+ onClick: V[0] || (V[0] = (oe) => i.value = !1)
872
+ }, null, 8, ["data-test", "disabled"])
873
+ ], 8, al)) : R("", !0),
874
+ u(H) ? (f(), M(Ve, {
875
+ key: 1,
876
+ slot: "footer",
877
+ "data-test": Z("footer")
878
+ }, {
879
+ default: w(() => [
880
+ b(C.$slots, "footer", {}, void 0, !0)
881
+ ]),
882
+ _: 3
883
+ }, 8, ["data-test"])) : R("", !0)
884
+ ], 46, xa));
885
+ }
886
+ }), dl = /* @__PURE__ */ L(rl, [["__scopeId", "data-v-adaf0929"]]);
887
+ function ul(l) {
888
+ return p(() => l.value ? { role: "link", tabindex: "0", href: l.value } : {});
889
+ }
890
+ function We(l) {
891
+ const e = p(() => de(l) ?? ""), t = ma({ to: e }), { navigate: a, href: o } = t, s = p(() => !!de(l)), i = p(() => s.value ? o.value : void 0);
892
+ return { linkAttrs: ul(i), href: i, navigate: async (d) => {
893
+ if (s.value)
894
+ try {
895
+ await a(d);
896
+ } catch (c) {
897
+ console.debug(c);
898
+ }
899
+ } };
900
+ }
901
+ const cl = ["data-block", "data-href", "data-level", "data-loading", "data-size", "data-variant", "disabled", "href", "loading", "size", "target", "variant"], fl = ["slot"], pl = 0.96, vl = 0.94, ml = /* @__PURE__ */ $({
902
+ __name: "CButton",
903
+ props: {
904
+ block: { type: Boolean, default: !1 },
905
+ disabled: { type: Boolean, default: !1 },
906
+ href: { default: void 0 },
907
+ icon: { default: void 0 },
908
+ iconPosition: { default: "prefix" },
909
+ large: { type: Boolean, default: !1 },
910
+ level: { default: "normal" },
911
+ loading: { type: Boolean, default: !1 },
912
+ secondary: { type: Boolean, default: !1 },
913
+ size: { default: "medium" },
914
+ target: { default: void 0 },
915
+ tertiary: { type: Boolean, default: !1 },
916
+ to: { default: void 0 },
917
+ variant: { default: "primary" }
918
+ },
919
+ emits: ["click", "focus", "blur"],
920
+ setup(l, { emit: e }) {
921
+ const t = {
922
+ primary: "primary",
923
+ // Shoelace `default` is an outline style
924
+ secondary: "default",
925
+ tertiary: "text"
926
+ }, a = l, o = e, { href: s, navigate: i } = We(() => a.to), n = p(() => s.value ?? a.href), r = p(() => a.loading || void 0), d = X(Et, void 0), c = p(() => (d == null ? void 0 : d.value) ?? a.block), m = p(() => c.value || void 0), h = K("icon"), y = p(() => h.value || !!a.icon), _ = p(() => a.secondary ? "secondary" : a.tertiary ? "tertiary" : a.variant), N = p(() => t[_.value]), A = X(It, void 0), B = p(() => (A == null ? void 0 : A.value) ?? a.large), v = p(() => B.value ? "large" : a.size);
927
+ function E(H) {
928
+ a.disabled || a.loading || (i(H), o("click", H));
929
+ }
930
+ const D = I(null), Y = X(At, null), le = p(() => a.disabled || a.loading ? 1 : Y || (a.block ? pl : vl)), Z = $t({
931
+ el: D,
932
+ keyframes: {
933
+ default: { transform: "scale(1)" },
934
+ pressed: { transform: `scale(${le.value})` }
935
+ }
936
+ });
937
+ return (H, T) => (f(), g("sl-button", U(H.$attrs, {
938
+ ref_key: "button",
939
+ ref: D,
940
+ class: ["c-button", {
941
+ "c-button--block": c.value,
942
+ "c-button--has-prefix-icon": y.value && H.iconPosition === "prefix",
943
+ "c-button--has-suffix-icon": y.value && H.iconPosition === "suffix",
944
+ [`c-button-level--${H.level}`]: H.level,
945
+ [`c-button-variant--${_.value}`]: _.value,
946
+ [`c-button-size--${v.value}`]: v.value
947
+ }],
948
+ "data-block": m.value,
949
+ "data-href": n.value,
950
+ "data-level": H.level,
951
+ "data-loading": r.value,
952
+ "data-size": v.value,
953
+ "data-test": "button",
954
+ "data-variant": _.value,
955
+ disabled: H.disabled,
956
+ href: n.value,
957
+ loading: H.loading || void 0,
958
+ size: v.value,
959
+ target: H.target,
960
+ variant: N.value
961
+ }, Be(u(Z), !0), {
962
+ onClick: E,
963
+ onSlFocus: T[0] || (T[0] = (C) => H.$emit("focus", C)),
964
+ onSlBlur: T[1] || (T[1] = (C) => H.$emit("blur", C))
965
+ }), [
966
+ y.value ? (f(), g("span", {
967
+ key: 0,
968
+ slot: H.iconPosition,
969
+ "data-test": "button-icon-slot"
970
+ }, [
971
+ b(H.$slots, "icon", {}, () => [
972
+ H.icon ? (f(), M(u(z), {
973
+ key: 0,
974
+ icon: H.icon
975
+ }, null, 8, ["icon"])) : R("", !0)
976
+ ], !0)
977
+ ], 8, fl)) : R("", !0),
978
+ b(H.$slots, "default", { dataTest: "button-default-slot" }, void 0, !0)
979
+ ], 16, cl));
980
+ }
981
+ }), Xe = /* @__PURE__ */ L(ml, [["__scopeId", "data-v-77b8314e"]]), bl = {
982
+ "data-test": "card-title",
983
+ class: "c-card-header__title"
984
+ }, gl = { class: "c-card-header__append" }, hl = /* @__PURE__ */ $({
985
+ __name: "CCardHeader",
986
+ setup(l) {
987
+ return W(Ne, I(!0)), (e, t) => (f(), g("div", U(e.$attrs, {
988
+ class: "c-card-header",
989
+ "data-test": "card-header"
990
+ }), [
991
+ S("div", bl, [
992
+ b(e.$slots, "default", {}, void 0, !0)
993
+ ]),
994
+ S("div", gl, [
995
+ b(e.$slots, "append", {}, void 0, !0)
996
+ ])
997
+ ], 16));
998
+ }
999
+ }), Mt = /* @__PURE__ */ L(hl, [["__scopeId", "data-v-58c36d8e"]]), _l = /* @__PURE__ */ $({
1000
+ __name: "CCard",
1001
+ props: {
1002
+ borderColor: { default: void 0 },
1003
+ borderless: { type: Boolean, default: !1 },
1004
+ color: { default: void 0 },
1005
+ href: { default: void 0 },
1006
+ stretch: { type: Boolean, default: !1 },
1007
+ tile: { type: Boolean, default: !1 },
1008
+ title: { default: void 0 },
1009
+ to: { default: void 0 }
1010
+ },
1011
+ setup(l) {
1012
+ const e = l, t = we(), { cssColor: a } = J(() => e.color), { cssColor: o } = J(() => e.borderColor), s = p(() => e.to ? "internal" : e.href ? "external" : "none"), i = p(() => {
1013
+ switch (s.value) {
1014
+ case "internal":
1015
+ return {
1016
+ attrs: t,
1017
+ element: "router-link",
1018
+ isLink: !0
1019
+ };
1020
+ case "external":
1021
+ return {
1022
+ attrs: {
1023
+ ...t,
1024
+ role: "link",
1025
+ tabindex: "0",
1026
+ target: "_blank"
1027
+ },
1028
+ element: "a",
1029
+ isLink: !0
1030
+ };
1031
+ case "none":
1032
+ default:
1033
+ return { attrs: t, element: "div", isLink: !1 };
1034
+ }
1035
+ });
1036
+ return (n, r) => (f(), M(De(i.value.element), U(i.value.attrs, {
1037
+ "data-test": "card",
1038
+ class: ["c-card", {
1039
+ "c-card--tile": n.tile,
1040
+ "c-card--borderless": n.borderless,
1041
+ "c-card--link": i.value.isLink,
1042
+ "c-card--stretch": n.stretch
1043
+ }],
1044
+ href: n.href,
1045
+ style: {
1046
+ "--background-color": u(a),
1047
+ "--border-color": u(o)
1048
+ },
1049
+ to: n.to
1050
+ }), {
1051
+ default: w(() => [
1052
+ n.title ? (f(), M(Mt, { key: 0 }, {
1053
+ default: w(() => [
1054
+ G(F(n.title), 1)
1055
+ ]),
1056
+ _: 1
1057
+ })) : R("", !0),
1058
+ b(n.$slots, "default", {}, void 0, !0)
1059
+ ]),
1060
+ _: 3
1061
+ }, 16, ["class", "href", "style", "to"]));
1062
+ }
1063
+ }), Cl = /* @__PURE__ */ L(_l, [["__scopeId", "data-v-6f25cf6e"]]), yl = /* @__PURE__ */ $({
1064
+ __name: "CCardFooter",
1065
+ setup(l) {
1066
+ return (e, t) => (f(), M(Ve, U(e.$attrs, {
1067
+ "data-test": "card-footer",
1068
+ class: "c-card-footer"
1069
+ }), {
1070
+ default: w(() => [
1071
+ b(e.$slots, "default", {}, void 0, !0)
1072
+ ]),
1073
+ _: 3
1074
+ }, 16));
1075
+ }
1076
+ }), $l = /* @__PURE__ */ L(yl, [["__scopeId", "data-v-8bb985e5"]]), kl = /* @__PURE__ */ $({
1077
+ __name: "CCardSection",
1078
+ props: {
1079
+ fluid: { type: Boolean, default: !1 }
1080
+ },
1081
+ setup(l) {
1082
+ return (e, t) => (f(), g("div", U(e.$attrs, {
1083
+ "data-test": "card-section",
1084
+ class: ["c-card-section", { "c-card-section--fluid": e.fluid }]
1085
+ }), [
1086
+ b(e.$slots, "default", {}, void 0, !0)
1087
+ ], 16));
1088
+ }
1089
+ }), Tl = /* @__PURE__ */ L(kl, [["__scopeId", "data-v-a5ccfb80"]]), Ll = ["data-test"], El = ["data-test"], Il = { key: "empty" }, Al = /* @__PURE__ */ $({
1090
+ __name: "CValidationMessage",
1091
+ props: {
1092
+ dataTest: { default: "validation-message" },
1093
+ hide: { type: [Boolean, String], default: !1 },
1094
+ validationMessage: { default: null }
1095
+ },
1096
+ setup(l) {
1097
+ const e = l, t = K("append"), a = p(() => e.hide === "auto" ? !e.validationMessage && !t.value : e.hide);
1098
+ return (o, s) => a.value ? R("", !0) : (f(), g("div", {
1099
+ key: 0,
1100
+ "data-test": o.dataTest,
1101
+ class: O(["c-validation-message", { "c-validation-message--invalid": !!o.validationMessage }])
1102
+ }, [
1103
+ P(je, { "aria-live": "polite" }, {
1104
+ default: w(() => [
1105
+ o.validationMessage ? (f(), g("span", {
1106
+ key: "message",
1107
+ role: "alert",
1108
+ "data-test": `${o.dataTest}-text`
1109
+ }, F(o.validationMessage), 9, El)) : (f(), g("span", Il, [
1110
+ b(o.$slots, "default", {}, void 0, !0)
1111
+ ]))
1112
+ ]),
1113
+ _: 3
1114
+ }),
1115
+ b(o.$slots, "append", {}, void 0, !0)
1116
+ ], 10, Ll));
1117
+ }
1118
+ }), ye = /* @__PURE__ */ L(Al, [["__scopeId", "data-v-83d75a24"]]);
1119
+ let Sl = 0;
1120
+ function pe(l) {
1121
+ return p(() => l.value ? l.value : `c-${Sl++}`);
1122
+ }
1123
+ const Nt = Symbol("validations");
1124
+ function Dl(l) {
1125
+ const { value: e, rules: t, required: a } = l, o = I(!1), s = I(null), i = I(!0), n = (_) => _ == null || typeof _ == "string" && _.trim() === "", r = (_) => a != null && a.value ? !n(_) : !0, d = p(() => {
1126
+ const _ = [...t.value, r];
1127
+ for (const N of _) {
1128
+ const A = N(e.value);
1129
+ if (A === !1 || typeof A == "string")
1130
+ return A;
1131
+ }
1132
+ return !0;
1133
+ }), c = p(() => d.value === !0), m = () => {
1134
+ var _;
1135
+ return o.value && (i.value = c.value, s.value = typeof d.value == "string" ? d.value : null, (_ = l.onValidationResultChange) == null || _.call(l, { message: s.value, valid: i.value })), i.value;
1136
+ };
1137
+ return q(e, () => m(), { immediate: !0 }), q(t, () => m()), a && q(a, () => m()), { message: s, valid: i, startValidating: () => (o.value = !0, m()), clearValidations: () => {
1138
+ s.value = null, i.value = !0, o.value = !1;
1139
+ }, passesRules: c };
1140
+ }
1141
+ function Vt(l) {
1142
+ const e = X(Nt, null);
1143
+ if (e) {
1144
+ if (!l.id)
1145
+ throw new Error("id is required to support form validations");
1146
+ e.register(l);
1147
+ }
1148
+ he(() => {
1149
+ e && l.id && e.unregister(l.id);
1150
+ });
1151
+ }
1152
+ function Le(l) {
1153
+ var h;
1154
+ const e = p(() => u(l.validateOn) ?? "blur"), t = ({ valid: y }) => {
1155
+ var _;
1156
+ (_ = l.field) != null && _.value && l.field.value.setAttribute("aria-invalid", y ? "false" : "true");
1157
+ }, { message: a, valid: o, startValidating: s, passesRules: i, clearValidations: n } = Dl(
1158
+ {
1159
+ value: l.value,
1160
+ rules: l.rules,
1161
+ required: l.required,
1162
+ onValidationResultChange: t
1163
+ }
1164
+ );
1165
+ Vt({
1166
+ id: (h = l.id) == null ? void 0 : h.value,
1167
+ valid: i,
1168
+ validate: s,
1169
+ field: l.field
1170
+ });
1171
+ const r = () => {
1172
+ e.value === "input" && s();
1173
+ }, d = () => {
1174
+ s();
1175
+ }, c = () => {
1176
+ e.value === "change" && s();
1177
+ };
1178
+ return q(e, (y, _) => {
1179
+ ["input", "change"].includes(y) && y !== _ && s();
1180
+ }), { message: a, valid: o, listeners: { input: r, blur: d, change: c }, startValidating: s, clearValidations: n };
1181
+ }
1182
+ const Bl = { class: "c-checkbox__container" }, wl = ["data-test"], Rl = ["id", "data-test", "aria-checked", "aria-describedby", "aria-invalid", "checked"], Ml = ["data-test"], Nl = /* @__PURE__ */ $({
1183
+ __name: "CCheckbox",
1184
+ props: {
1185
+ dataTest: { default: "checkbox" },
1186
+ hideDetails: { type: [Boolean, String], default: !1 },
1187
+ id: { default: null },
1188
+ label: { default: void 0 },
1189
+ rules: { default: () => [] },
1190
+ value: { type: Boolean, default: !1 },
1191
+ variant: { default: "contained" }
1192
+ },
1193
+ emits: ["change", "focus", "blur"],
1194
+ setup(l, { emit: e }) {
1195
+ const t = l, a = e, { value: o, rules: s, id: i } = te(t), n = pe(i), r = ae(o, {
1196
+ onChange: (_) => a("change", _)
1197
+ }), d = I(null), {
1198
+ message: c,
1199
+ valid: m,
1200
+ listeners: h
1201
+ } = Le({
1202
+ id: n,
1203
+ value: r,
1204
+ rules: s,
1205
+ validateOn: "change",
1206
+ field: d
1207
+ }), y = (_) => {
1208
+ const N = _.target;
1209
+ r.value = !!N.checked;
1210
+ };
1211
+ return (_, N) => (f(), g("div", Bl, [
1212
+ S("label", {
1213
+ class: O(["c-checkbox", {
1214
+ "c-checkbox--checked": u(r),
1215
+ "c-checkbox--invalid": !u(m),
1216
+ "c-checkbox--contained": _.variant === "contained"
1217
+ }]),
1218
+ "data-test": _.dataTest
1219
+ }, [
1220
+ S("input", U({
1221
+ id: u(n),
1222
+ type: "checkbox",
1223
+ "data-test": `${_.dataTest}-input`,
1224
+ class: "c-checkbox__input",
1225
+ "aria-checked": u(r),
1226
+ "aria-describedby": `${u(n)}-message`,
1227
+ "aria-invalid": !u(m),
1228
+ checked: u(r) || void 0,
1229
+ onChange: y,
1230
+ onBlur: N[0] || (N[0] = (A) => _.$emit("blur")),
1231
+ onFocus: N[1] || (N[1] = (A) => _.$emit("focus"))
1232
+ }, Be(u(h), !0)), null, 16, Rl),
1233
+ S("span", {
1234
+ class: "c-checkbox__control",
1235
+ "data-test": `${_.dataTest}-control`
1236
+ }, [
1237
+ u(r) ? (f(), M(u(z), {
1238
+ key: 0,
1239
+ icon: u(_t)
1240
+ }, null, 8, ["icon"])) : R("", !0)
1241
+ ], 8, Ml),
1242
+ b(_.$slots, "label", {}, () => [
1243
+ G(F(_.label), 1)
1244
+ ], !0)
1245
+ ], 10, wl),
1246
+ P(ye, {
1247
+ class: "c-checkbox__message",
1248
+ "data-test": `${_.dataTest}-message`,
1249
+ "validation-message": u(c),
1250
+ hide: _.hideDetails
1251
+ }, {
1252
+ default: w(() => [
1253
+ b(_.$slots, "message", {}, void 0, !0)
1254
+ ]),
1255
+ _: 3
1256
+ }, 8, ["data-test", "validation-message", "hide"])
1257
+ ]));
1258
+ }
1259
+ }), Ot = /* @__PURE__ */ L(Nl, [["__scopeId", "data-v-df7b401d"]]), Vl = /* @__PURE__ */ $({
1260
+ __name: "CCol",
1261
+ props: {
1262
+ cols: { default: null }
1263
+ },
1264
+ setup(l) {
1265
+ return (e, t) => (f(), g("div", {
1266
+ class: O(["c-col", { [`c-col-${e.cols}`]: e.cols }])
1267
+ }, [
1268
+ b(e.$slots, "default", {}, void 0, !0)
1269
+ ], 2));
1270
+ }
1271
+ }), Ol = /* @__PURE__ */ L(Vl, [["__scopeId", "data-v-6dd23f0c"]]), Hl = ["aria-orientation"], Fl = /* @__PURE__ */ $({
1272
+ __name: "CDivider",
1273
+ props: {
1274
+ vertical: { type: Boolean, default: !1 }
1275
+ },
1276
+ setup(l) {
1277
+ return (e, t) => (f(), g("hr", {
1278
+ class: O(["c-divider", { "c-divider--vertical": e.vertical }]),
1279
+ "aria-orientation": e.vertical ? "vertical" : "horizontal"
1280
+ }, null, 10, Hl));
1281
+ }
1282
+ }), Pl = /* @__PURE__ */ L(Fl, [["__scopeId", "data-v-72e806c2"]]), Ht = /* @__PURE__ */ $({
1283
+ __name: "CFormFieldCounter",
1284
+ props: {
1285
+ counter: { default: null },
1286
+ counterValue: { type: [Number, Function, null], default: null },
1287
+ value: { default: "" }
1288
+ },
1289
+ setup(l) {
1290
+ const e = l, t = p(() => typeof e.counterValue == "function" ? e.counterValue() : typeof e.counterValue == "number" ? e.counterValue : e.value.length), a = p(() => `${t.value}/${e.counter}`);
1291
+ return (o, s) => (f(), g("div", null, F(a.value), 1));
1292
+ }
1293
+ });
1294
+ function Ft(l, e) {
1295
+ we(), Q(() => {
1296
+ });
1297
+ }
1298
+ const Yl = ["aria-label", "aria-labelledby"], Ul = /* @__PURE__ */ $({
1299
+ __name: "CIconButton",
1300
+ props: {
1301
+ ariaLabel: { default: void 0 },
1302
+ ariaLabelledby: { default: void 0 },
1303
+ disabled: { type: Boolean, default: !1 },
1304
+ href: { default: void 0 },
1305
+ icon: { default: void 0 },
1306
+ large: { type: Boolean, default: !1 },
1307
+ level: { default: "normal" },
1308
+ loading: { type: Boolean, default: !1 },
1309
+ secondary: { type: Boolean, default: !1 },
1310
+ size: { default: "medium" },
1311
+ spinIcon: { type: Boolean, default: !1 },
1312
+ target: { default: void 0 },
1313
+ tertiary: { type: Boolean, default: !1 },
1314
+ to: { default: void 0 },
1315
+ variant: { default: "primary" }
1316
+ },
1317
+ emits: ["blur", "click", "focus"],
1318
+ setup(l) {
1319
+ const e = l;
1320
+ Ft();
1321
+ const t = X(Ne, void 0), a = p(() => (t == null ? void 0 : t.value) ?? e.tertiary), o = p(() => e.secondary ? "secondary" : a.value ? "tertiary" : e.variant), s = p(() => e.large ? "large" : e.size), i = X(Lt, void 0);
1322
+ return W(At, 0.9), (n, r) => (f(), M(Xe, U(n.$attrs, {
1323
+ class: ["c-icon-button", {
1324
+ "c-icon-button--inherit": u(i),
1325
+ [`c-icon-button-size--${s.value}`]: s.value
1326
+ }],
1327
+ "data-inherit-color": u(i),
1328
+ "data-size": s.value,
1329
+ "data-test": "icon-button",
1330
+ disabled: n.disabled,
1331
+ href: n.href,
1332
+ level: n.level,
1333
+ loading: n.loading,
1334
+ size: s.value,
1335
+ target: n.target,
1336
+ to: n.to,
1337
+ variant: o.value,
1338
+ onBlur: r[0] || (r[0] = (d) => n.$emit("blur", d)),
1339
+ onClick: r[1] || (r[1] = (d) => n.$emit("click", d)),
1340
+ onFocus: r[2] || (r[2] = (d) => n.$emit("focus", d))
1341
+ }), {
1342
+ default: w(() => [
1343
+ S("div", {
1344
+ role: "img",
1345
+ "data-test": "icon-button-a11y",
1346
+ "aria-label": n.ariaLabel,
1347
+ "aria-labelledby": n.ariaLabelledby
1348
+ }, [
1349
+ b(n.$slots, "default", {}, () => [
1350
+ n.icon ? (f(), M(u(z), {
1351
+ key: 0,
1352
+ class: O(["c-icon-button__icon", { "c-icon-button__icon--spin": n.spinIcon }]),
1353
+ "data-test": "icon-button-icon",
1354
+ icon: n.icon
1355
+ }, null, 8, ["class", "icon"])) : R("", !0)
1356
+ ], !0)
1357
+ ], 8, Yl)
1358
+ ]),
1359
+ _: 3
1360
+ }, 16, ["class", "data-inherit-color", "data-size", "disabled", "href", "level", "loading", "size", "target", "to", "variant"]));
1361
+ }
1362
+ }), ke = /* @__PURE__ */ L(Ul, [["__scopeId", "data-v-3fe2f247"]]);
1363
+ function ve() {
1364
+ const l = sa();
1365
+ if (!l || !l.proxy)
1366
+ throw new Error("useTranslation must be called within a Vue component");
1367
+ return { t: l.proxy.$t };
1368
+ }
1369
+ const zl = ["data-test"], Gl = ["for", "data-test"], ql = { class: "c-text-field__container" }, Zl = ["data-test"], jl = ["id", "data-test", "aria-label", "aria-describedby", "aria-invalid", "type", "placeholder", "minlength", "maxlength", "disabled", "value", "inputmode", "required"], Wl = ["data-test"], Xl = ["id", "data-test"], Kl = /* @__PURE__ */ $({
1370
+ inheritAttrs: !1,
1371
+ __name: "CTextField",
1372
+ props: {
1373
+ id: { default: null },
1374
+ label: { default: null },
1375
+ ariaLabel: { default: null },
1376
+ placeholder: { default: "" },
1377
+ type: { default: "text" },
1378
+ clearable: { type: Boolean, default: !1 },
1379
+ size: { default: "medium" },
1380
+ inputmode: { default: void 0 },
1381
+ minlength: { default: void 0 },
1382
+ maxlength: { default: void 0 },
1383
+ disabled: { type: Boolean, default: !1 },
1384
+ hideable: { type: Boolean, default: !1 },
1385
+ hideLabel: { type: Boolean, default: !1 },
1386
+ hideDetails: { type: [Boolean, String], default: !1 },
1387
+ value: { default: "" },
1388
+ dataTest: { default: "text-field" },
1389
+ counter: { default: null },
1390
+ counterValue: { type: [Number, Function, null], default: null },
1391
+ rules: { default: () => [] },
1392
+ validateOnBlur: { type: Boolean, default: !0 },
1393
+ required: { type: Boolean, default: !1 },
1394
+ errorMessage: { default: void 0 }
1395
+ },
1396
+ emits: ["keyup", "keydown", "keypress", "input", "focus", "blur", "change", "click", "click:hide"],
1397
+ setup(l, { expose: e, emit: t }) {
1398
+ const a = l, o = t, s = we(), i = bt(), { t: n } = ve(), r = I(!1), d = I(!0), c = p(() => a.hideable && d.value ? "password" : a.type), m = p(() => a.hideable && d.value ? n("Show input value") : n("Hide input value")), { id: h, value: y, rules: _, required: N } = te(a), A = pe(h), B = ae(y, {
1399
+ onChange: (k) => {
1400
+ o("input", k);
1401
+ }
1402
+ }), v = I(null), {
1403
+ message: E,
1404
+ valid: D,
1405
+ listeners: Y,
1406
+ startValidating: le
1407
+ } = Le({
1408
+ id: A,
1409
+ value: B,
1410
+ rules: _,
1411
+ required: N,
1412
+ validateOn: p(() => a.validateOnBlur ? "blur" : "input"),
1413
+ field: v
1414
+ }), Z = p(() => !D.value || !!a.errorMessage), H = K("prepend-inner"), T = K("append"), C = K("message"), V = () => {
1415
+ d.value = !d.value, o("click:hide", d.value);
1416
+ }, oe = (k) => {
1417
+ const j = k.target;
1418
+ j.value !== B.value && (B.value = j.value, Y.input(k));
1419
+ }, me = (k) => {
1420
+ Y.change(k);
1421
+ const j = k.target;
1422
+ o("change", j.value);
1423
+ }, ne = (k) => {
1424
+ r.value = !0, o("focus", k);
1425
+ }, be = (k) => {
1426
+ r.value = !1, Y.blur(k), o("blur", k);
1427
+ }, ie = () => {
1428
+ o("input", "");
1429
+ }, re = () => {
1430
+ var k;
1431
+ (k = v.value) == null || k.focus();
1432
+ }, Qt = () => {
1433
+ var k;
1434
+ (k = v.value) == null || k.blur();
1435
+ };
1436
+ Q(() => {
1437
+ !a.label && !i.label && !a.ariaLabel && console.error(
1438
+ "Missing CTextField label. Please provide a label prop, an ariaLabel prop or pass a label via the label slot."
1439
+ );
1440
+ }), e({ input: v, focus: re, blur: Qt, startValidating: le });
1441
+ const xt = p(() => {
1442
+ const { class: k, style: j, ...se } = s;
1443
+ return se;
1444
+ }), ea = p(() => s.style);
1445
+ return (k, j) => (f(), g("div", {
1446
+ class: O(["c-text-field", [
1447
+ {
1448
+ "c-text-field--disabled": k.disabled,
1449
+ "c-text-field--invalid": Z.value,
1450
+ "c-text-field--hide-label": k.hideLabel,
1451
+ "c-text-field--focused": r.value,
1452
+ "c-text-field--medium": k.size === "medium",
1453
+ "c-text-field--large": k.size === "large"
1454
+ },
1455
+ k.$attrs.class
1456
+ ]]),
1457
+ "data-test": k.dataTest,
1458
+ style: x(ea.value)
1459
+ }, [
1460
+ S("label", {
1461
+ class: "c-text-field__label",
1462
+ for: u(A),
1463
+ "data-test": `${k.dataTest}-label`
1464
+ }, [
1465
+ b(k.$slots, "label", {}, () => [
1466
+ G(F(k.label), 1)
1467
+ ], !0)
1468
+ ], 8, Gl),
1469
+ S("div", ql, [
1470
+ u(H) ? (f(), g("div", {
1471
+ key: 0,
1472
+ class: "c-text-field__prefix",
1473
+ "data-test": `${k.dataTest}-prefix`
1474
+ }, [
1475
+ b(k.$slots, "prepend-inner", {}, void 0, !0)
1476
+ ], 8, Zl)) : R("", !0),
1477
+ S("input", U(xt.value, {
1478
+ id: u(A),
1479
+ ref_key: "input",
1480
+ ref: v,
1481
+ class: ["c-text-field__input", {
1482
+ "c-text-field__input--has-prefix": u(H),
1483
+ "c-text-field__input--has-suffix": u(T),
1484
+ "c-text-field__input--clearable": k.clearable && u(y),
1485
+ "c-text-field__input--hideable": k.hideable
1486
+ }],
1487
+ "data-test": `${k.dataTest}-input`,
1488
+ "aria-label": k.ariaLabel || k.label || void 0,
1489
+ "aria-describedby": `${u(A)}-validation-message ${u(A)}-message`,
1490
+ "aria-invalid": Z.value ? "true" : "false",
1491
+ type: c.value,
1492
+ placeholder: k.placeholder,
1493
+ minlength: k.minlength,
1494
+ maxlength: k.maxlength,
1495
+ disabled: k.disabled,
1496
+ value: u(B),
1497
+ inputmode: k.inputmode,
1498
+ required: u(N),
1499
+ onKeyup: j[0] || (j[0] = (se) => k.$emit("keyup", se)),
1500
+ onKeydown: j[1] || (j[1] = (se) => k.$emit("keydown", se)),
1501
+ onKeypress: j[2] || (j[2] = (se) => k.$emit("keypress", se)),
1502
+ onClick: j[3] || (j[3] = (se) => k.$emit("click", se)),
1503
+ onInput: oe,
1504
+ onChange: me,
1505
+ onFocus: ne,
1506
+ onBlur: be
1507
+ }), null, 16, jl),
1508
+ k.clearable && u(y) ? (f(), M(ke, {
1509
+ key: 1,
1510
+ "aria-label": k.$t("Clear"),
1511
+ "data-test": `${k.dataTest}-clear`,
1512
+ class: "c-text-field__clear-btn c-text-field__suffix-btn",
1513
+ type: "button",
1514
+ tertiary: "",
1515
+ icon: u(Re),
1516
+ onClick: ie
1517
+ }, null, 8, ["aria-label", "data-test", "icon"])) : R("", !0),
1518
+ k.hideable ? (f(), M(ke, {
1519
+ key: 2,
1520
+ "aria-label": m.value,
1521
+ "data-test": `${k.dataTest}-hide-toggle`,
1522
+ "data-hidden": d.value || void 0,
1523
+ class: "c-text-field__suffix-btn",
1524
+ type: "button",
1525
+ tertiary: "",
1526
+ icon: d.value ? u(na) : u(ia),
1527
+ onClick: V
1528
+ }, null, 8, ["aria-label", "data-test", "data-hidden", "icon"])) : R("", !0),
1529
+ u(T) ? (f(), g("div", {
1530
+ key: 3,
1531
+ class: "c-text-field__suffix",
1532
+ "data-test": `${k.dataTest}-suffix`
1533
+ }, [
1534
+ b(k.$slots, "append", {}, void 0, !0)
1535
+ ], 8, Wl)) : R("", !0)
1536
+ ]),
1537
+ P(ye, {
1538
+ id: `${u(A)}-validation-message`,
1539
+ class: "c-text-field__validation-message",
1540
+ "data-test": `${k.dataTest}-validation-message`,
1541
+ "validation-message": k.errorMessage || u(E),
1542
+ hide: k.hideDetails
1543
+ }, {
1544
+ append: w(() => [
1545
+ k.counter ? (f(), M(Ht, {
1546
+ key: 0,
1547
+ "data-test": `${k.dataTest}-counter`,
1548
+ counter: k.counter,
1549
+ "counter-value": k.counterValue !== null ? k.counterValue : void 0,
1550
+ value: u(B)
1551
+ }, null, 8, ["data-test", "counter", "counter-value", "value"])) : R("", !0)
1552
+ ]),
1553
+ _: 1
1554
+ }, 8, ["id", "data-test", "validation-message", "hide"]),
1555
+ u(C) ? (f(), g("div", {
1556
+ key: 0,
1557
+ id: `${u(A)}-message`,
1558
+ class: "c-text-field__message",
1559
+ "data-test": `${k.dataTest}-message`
1560
+ }, [
1561
+ b(k.$slots, "message", {}, void 0, !0)
1562
+ ], 8, Xl)) : R("", !0)
1563
+ ], 14, zl));
1564
+ }
1565
+ }), Ke = /* @__PURE__ */ L(Kl, [["__scopeId", "data-v-13e975d5"]]), Pt = (l) => {
1566
+ if (l === null || l === "")
1567
+ return null;
1568
+ if (typeof l == "number")
1569
+ return l;
1570
+ {
1571
+ const e = parseInt(l, 10);
1572
+ return isNaN(e) ? null : e;
1573
+ }
1574
+ };
1575
+ function Jl(l, e, t) {
1576
+ const a = ae(e), o = p(() => {
1577
+ const r = t.value.onMaska, d = Array.isArray(r) ? r : r ? [r] : [];
1578
+ return {
1579
+ ...t.value,
1580
+ onMaska: [
1581
+ (c) => {
1582
+ a.value = c.unmasked;
1583
+ },
1584
+ ...d
1585
+ ]
1586
+ };
1587
+ });
1588
+ let s = null;
1589
+ q(l, (r) => {
1590
+ r ? s = new ba(r, o.value) : (s == null || s.destroy(), s = null);
1591
+ });
1592
+ const i = p(() => new ga(o.value)), n = p(() => i.value ? i.value.masked(a.value) : e.value);
1593
+ return {
1594
+ mask: i,
1595
+ maskedValue: n,
1596
+ unmaskedValue: a
1597
+ };
1598
+ }
1599
+ function Ql(l, e, t) {
1600
+ const a = p(() => ["#", "@", "*", ...Object.keys(t.value.tokens ?? {})]), o = (i, n) => {
1601
+ const r = i.split(""), d = r.findIndex((c, m) => r.slice(0, m + 1).filter((y) => a.value.includes(y)).length === n);
1602
+ return d === -1 ? i.length : d + 1;
1603
+ };
1604
+ return p(() => {
1605
+ const i = t.value.mask, n = Pt(l.value);
1606
+ return n ? i ? typeof i == "function" ? o(i(e.value), n) : typeof i == "string" ? o(i, n) : Array.isArray(i) ? Math.min(...i.map((r) => o(r, n))) : n : n : null;
1607
+ });
1608
+ }
1609
+ function xl(l, e) {
1610
+ return p(() => {
1611
+ const t = e.value.mask, a = Pt(l.value);
1612
+ return a ? t ? Math.max(a, t.length) : a : null;
1613
+ });
1614
+ }
1615
+ const $e = /* @__PURE__ */ $({
1616
+ __name: "CMaskedTextField",
1617
+ props: {
1618
+ counter: { default: null },
1619
+ dataTest: { default: "masked-text-field" },
1620
+ id: { default: void 0 },
1621
+ label: { default: null },
1622
+ mask: {},
1623
+ minlength: { default: null },
1624
+ maxlength: { default: null },
1625
+ placeholder: { default: void 0 },
1626
+ rules: { default: () => [] },
1627
+ tokens: { default: null },
1628
+ unmaskRules: { type: Boolean, default: !0 },
1629
+ value: { default: "" }
1630
+ },
1631
+ emits: ["keyup", "keydown", "keypress", "input", "focus", "blur", "change", "input:masked"],
1632
+ setup(l, { expose: e, emit: t }) {
1633
+ const a = l, o = t, { minlength: s, maxlength: i, value: n } = te(a), r = I(null), d = p(() => {
1634
+ var v;
1635
+ return ((v = r.value) == null ? void 0 : v.input) ?? null;
1636
+ }), c = p(() => ({
1637
+ mask: a.mask,
1638
+ tokens: {
1639
+ // NOTE (ej): For the EBT Card Number we accept a mask 'N' from the server
1640
+ // to hide all but the last 4 digits. e.g. XXXXXXXXXXXXXXX2114
1641
+ N: { pattern: /[0-9X]/ },
1642
+ ...a.tokens
1643
+ },
1644
+ onMaska: (v) => {
1645
+ o("input", v.unmasked), o("input:masked", v.masked);
1646
+ }
1647
+ })), { maskedValue: m, mask: h, unmaskedValue: y } = Jl(d, n, c), _ = Ql(s, n, c), N = xl(i, c), A = p(() => y.value.length), B = p(() => a.rules.map((v) => (E) => {
1648
+ var Y;
1649
+ const D = ((Y = h.value) == null ? void 0 : Y.unmasked(E)) ?? E;
1650
+ return v(D);
1651
+ }));
1652
+ return e({ input: d }), (v, E) => (f(), M(Ke, U(v.$attrs, {
1653
+ id: v.id,
1654
+ ref_key: "textField",
1655
+ ref: r,
1656
+ "data-test": v.dataTest,
1657
+ "data-mask": v.mask,
1658
+ value: u(m),
1659
+ label: v.label,
1660
+ placeholder: v.placeholder,
1661
+ minlength: u(_) !== null ? u(_) : void 0,
1662
+ maxlength: u(N) !== null ? u(N) : void 0,
1663
+ rules: v.unmaskRules ? B.value : v.rules,
1664
+ counter: v.counter,
1665
+ "counter-value": A.value,
1666
+ onKeyup: E[0] || (E[0] = (D) => v.$emit("keyup", D)),
1667
+ onKeydown: E[1] || (E[1] = (D) => v.$emit("keydown", D)),
1668
+ onKeypress: E[2] || (E[2] = (D) => v.$emit("keypress", D)),
1669
+ onBlur: E[3] || (E[3] = (D) => v.$emit("blur", D)),
1670
+ onFocus: E[4] || (E[4] = (D) => v.$emit("focus", D)),
1671
+ onChange: E[5] || (E[5] = (D) => v.$emit("change", D))
1672
+ }), {
1673
+ label: w(() => [
1674
+ b(v.$slots, "label")
1675
+ ]),
1676
+ "prepend-inner": w(() => [
1677
+ b(v.$slots, "prepend-inner")
1678
+ ]),
1679
+ append: w(() => [
1680
+ b(v.$slots, "append")
1681
+ ]),
1682
+ message: w(() => [
1683
+ b(v.$slots, "message")
1684
+ ]),
1685
+ _: 3
1686
+ }, 16, ["id", "data-test", "data-mask", "value", "label", "placeholder", "minlength", "maxlength", "rules", "counter", "counter-value"]));
1687
+ }
1688
+ });
1689
+ function es(l) {
1690
+ const e = new Date(l);
1691
+ return isNaN(e.getTime()) ? null : e;
1692
+ }
1693
+ function ts(l) {
1694
+ const e = /* @__PURE__ */ new Date();
1695
+ let t = e.getFullYear() - l.getFullYear();
1696
+ const a = e.getMonth() - l.getMonth();
1697
+ return (a < 0 || a === 0 && e.getDate() < l.getDate()) && t--, t;
1698
+ }
1699
+ function as(l) {
1700
+ return (e) => e.length >= l;
1701
+ }
1702
+ function ls(l, e) {
1703
+ return (t) => t && l(t) ? !0 : e;
1704
+ }
1705
+ function Te(l, e) {
1706
+ return ls(as(l), e);
1707
+ }
1708
+ function ss(l, e) {
1709
+ return (t) => {
1710
+ const a = es(t), o = a ? ts(a) : null;
1711
+ return !(o === null || o > e || o < l);
1712
+ };
1713
+ }
1714
+ function os(l) {
1715
+ return /^[A-Z0-9]+([-.+_]+[A-Z0-9]+)*@([A-Z0-9]([A-Z0-9-]{0,61}[A-Z0-9])?\.)+([A-Z]{2,6}|[A-Z0-9-]{2,})$/i.test(
1716
+ l
1717
+ );
1718
+ }
1719
+ const ns = /* @__PURE__ */ $({
1720
+ __name: "CDobField",
1721
+ props: {
1722
+ dataTest: { default: "dob-field" },
1723
+ id: { default: void 0 },
1724
+ label: { default: null },
1725
+ placeholder: { default: "" },
1726
+ rules: { default: () => [] },
1727
+ value: { default: "" },
1728
+ yearOnly: { type: Boolean, default: !1 }
1729
+ },
1730
+ emits: ["input", "blur", "focus", "change"],
1731
+ setup(l, { emit: e }) {
1732
+ const t = l, a = e, { t: o } = ve(), s = (v) => {
1733
+ if (t.yearOnly)
1734
+ return v;
1735
+ if (!v)
1736
+ return "";
1737
+ const [E, D, Y] = v.split("-");
1738
+ return !E || !D || !Y ? (console.warn(`Invalid date format. Expected YYYY-MM-DD, received: ${v}.`), "") : `${D}${Y}${E}`;
1739
+ }, i = I(s(t.value));
1740
+ let n = t.value;
1741
+ q(
1742
+ () => t.value,
1743
+ (v) => {
1744
+ v !== n && (i.value = t.yearOnly ? v : s(v));
1745
+ }
1746
+ );
1747
+ const r = (v) => {
1748
+ if (t.yearOnly)
1749
+ a("input", v);
1750
+ else {
1751
+ const E = v.substring(0, 2), D = v.substring(2, 4), Y = v.substring(4, 8);
1752
+ n = Y && E && D ? `${Y}-${E}-${D}` : "", a("input", n);
1753
+ }
1754
+ }, d = p(() => t.yearOnly ? o("Year of birth") : o("Date of birth")), c = p(() => t.yearOnly ? o("YYYY") : o("MM/DD/YYYY")), m = p(() => {
1755
+ const v = t.yearOnly ? o("year of birth") : o("date of birth");
1756
+ return o("Please enter a valid {inputLabel}", { inputLabel: v });
1757
+ }), h = p(() => {
1758
+ const v = Te(t.yearOnly ? 4 : 10, m.value), E = (Y) => ss(0, 125)(Y) || m.value, D = (Y) => ge(Y, "MM/DD/YYYY", !0).isValid() || m.value;
1759
+ return [v, E, t.yearOnly ? void 0 : D].filter(
1760
+ Boolean
1761
+ );
1762
+ }), y = p(() => t.label || d.value), _ = p(() => t.placeholder || c.value), N = p(() => [...h.value, ...t.rules]), A = p(() => t.yearOnly ? 4 : 8), B = p(() => t.yearOnly ? "####" : "##/##/####");
1763
+ return (v, E) => (f(), M($e, U(v.$attrs, {
1764
+ id: v.id,
1765
+ "data-test": v.dataTest,
1766
+ value: i.value,
1767
+ inputmode: "numeric",
1768
+ name: "dob",
1769
+ label: y.value,
1770
+ placeholder: _.value,
1771
+ mask: B.value,
1772
+ minlength: A.value,
1773
+ maxlength: A.value,
1774
+ "unmask-rules": !1,
1775
+ rules: N.value,
1776
+ autocorrect: "off",
1777
+ autocapitalize: "none",
1778
+ onBlur: E[0] || (E[0] = (D) => v.$emit("blur", D)),
1779
+ onFocus: E[1] || (E[1] = (D) => v.$emit("focus", D)),
1780
+ onInput: E[2] || (E[2] = (D) => r(D))
1781
+ }), {
1782
+ label: w(() => [
1783
+ b(v.$slots, "label")
1784
+ ]),
1785
+ message: w(() => [
1786
+ b(v.$slots, "message")
1787
+ ]),
1788
+ _: 3
1789
+ }, 16, ["id", "data-test", "value", "label", "placeholder", "mask", "minlength", "maxlength", "rules"]));
1790
+ }
1791
+ }), is = ["data-test"], rs = ["for", "data-test"], ds = { class: "c-select__input-container" }, us = ["id", "aria-label", "data-test", "value", "disabled", "required"], cs = {
1792
+ key: 0,
1793
+ value: "",
1794
+ disabled: "",
1795
+ selected: ""
1796
+ }, fs = ["value", "disabled"], ps = /* @__PURE__ */ $({
1797
+ __name: "CSelect",
1798
+ props: {
1799
+ ariaLabel: { default: void 0 },
1800
+ dataTest: { default: "select" },
1801
+ disabled: { type: Boolean, default: !1 },
1802
+ hideDetails: { type: [Boolean, String], default: !1 },
1803
+ hideLabel: { type: Boolean, default: !1 },
1804
+ id: { default: void 0 },
1805
+ items: { default: () => [] },
1806
+ label: { default: void 0 },
1807
+ loading: { type: Boolean, default: !1 },
1808
+ placeholder: { default: void 0 },
1809
+ required: { type: Boolean, default: !1 },
1810
+ rules: { default: () => [] },
1811
+ value: { default: "" }
1812
+ },
1813
+ emits: ["input", "focus", "blur", "keydown"],
1814
+ setup(l, { expose: e, emit: t }) {
1815
+ const a = l, o = t, { id: s, value: i, rules: n, required: r } = te(a), d = pe(s), c = ae(i, {
1816
+ onChange: (v) => o("input", v)
1817
+ }), m = I(null), {
1818
+ message: h,
1819
+ valid: y,
1820
+ listeners: _,
1821
+ startValidating: N,
1822
+ clearValidations: A
1823
+ } = Le({
1824
+ id: d,
1825
+ field: m,
1826
+ value: c,
1827
+ rules: n,
1828
+ required: r,
1829
+ validateOn: "blur"
1830
+ });
1831
+ function B(v) {
1832
+ const E = v.target;
1833
+ c.value = E.value;
1834
+ }
1835
+ return e({ startValidating: N, clearValidations: A }), (v, E) => (f(), g("div", {
1836
+ class: O(["c-select", {
1837
+ "c-select--disabled": v.disabled,
1838
+ "c-select--invalid": !u(y)
1839
+ }]),
1840
+ "data-test": v.dataTest
1841
+ }, [
1842
+ S("label", {
1843
+ for: u(s),
1844
+ class: O(["c-select__label", { "c-select__label--hidden": v.hideLabel }]),
1845
+ "data-test": `${v.dataTest}-label`
1846
+ }, [
1847
+ b(v.$slots, "label", {}, () => [
1848
+ G(F(v.label), 1)
1849
+ ], !0)
1850
+ ], 10, rs),
1851
+ S("div", ds, [
1852
+ S("select", U({
1853
+ id: u(s),
1854
+ ref_key: "select",
1855
+ ref: m,
1856
+ class: ["c-select__input", {
1857
+ "c-select__input--has-value": u(c) && !v.disabled,
1858
+ "c-select__input--invalid": !u(y),
1859
+ "c-select__input--loading": v.loading,
1860
+ "c-select__input--disabled": v.disabled
1861
+ }],
1862
+ "aria-label": v.ariaLabel || v.label,
1863
+ "data-test": `${v.dataTest}-select`,
1864
+ value: u(c),
1865
+ disabled: v.disabled,
1866
+ required: u(r),
1867
+ onInput: B,
1868
+ onFocus: E[0] || (E[0] = (D) => v.$emit("focus", D)),
1869
+ onBlur: E[1] || (E[1] = (D) => v.$emit("blur", D)),
1870
+ onKeydown: E[2] || (E[2] = (D) => v.$emit("keydown", D))
1871
+ }, Be(u(_), !0)), [
1872
+ v.placeholder ? (f(), g("option", cs, F(v.placeholder), 1)) : R("", !0),
1873
+ (f(!0), g(ce, null, fe(v.items, (D) => (f(), g("option", {
1874
+ key: D.value,
1875
+ value: D.value,
1876
+ disabled: D.disabled,
1877
+ "data-test": "option"
1878
+ }, F(D.label), 9, fs))), 128))
1879
+ ], 16, us),
1880
+ v.loading ? (f(), M(Me, {
1881
+ key: 0,
1882
+ small: "",
1883
+ class: "c-select__icon",
1884
+ "data-test": "select-icon-loading"
1885
+ })) : (f(), M(u(z), {
1886
+ key: 1,
1887
+ class: "c-select__icon",
1888
+ icon: u(qe)
1889
+ }, null, 8, ["icon"]))
1890
+ ]),
1891
+ P(ye, {
1892
+ class: "c-select__message",
1893
+ "data-test": `${v.dataTest}-message`,
1894
+ "validation-message": u(h),
1895
+ hide: v.hideDetails
1896
+ }, {
1897
+ default: w(() => [
1898
+ b(v.$slots, "message", {}, void 0, !0)
1899
+ ]),
1900
+ _: 3
1901
+ }, 8, ["data-test", "validation-message", "hide"])
1902
+ ], 10, is));
1903
+ }
1904
+ }), Se = /* @__PURE__ */ L(ps, [["__scopeId", "data-v-14768c38"]]), vs = ["id", "data-test"], ms = ["for", "data-test"], bs = { class: "c-dob-select__container" }, gs = /* @__PURE__ */ $({
1905
+ __name: "CDobSelect",
1906
+ props: {
1907
+ dataTest: { default: "dob-select" },
1908
+ id: { default: void 0 },
1909
+ label: { default: null },
1910
+ required: { type: Boolean, default: !1 },
1911
+ rules: { default: () => [] },
1912
+ hideLabel: { type: Boolean, default: !1 },
1913
+ hideDetails: { type: Boolean, default: !1 },
1914
+ value: { default: "" },
1915
+ disabled: { type: Boolean, default: !1 }
1916
+ },
1917
+ emits: ["input", "focus", "blur"],
1918
+ setup(l, { emit: e }) {
1919
+ const t = l, a = e, { t: o } = ve(), s = p(() => t.label ?? o("Date of birth")), i = I(""), n = I(""), r = I(""), d = I(t.required && t.value === ""), c = I([]), m = p(() => n.value && i.value && r.value ? `${r.value}-${i.value}-${n.value}` : ""), h = p(() => !t.required && !i.value ? [] : [() => i.value !== ""]), y = p(() => !t.required && !n.value ? [] : [() => n.value !== ""]), _ = p(() => !t.required && !r.value ? [] : [() => r.value !== ""]), N = p(() => c.value[0] ?? ""), A = Array.from({ length: 12 }, (T, C) => ({
1920
+ value: (C + 1).toString().padStart(2, "0"),
1921
+ label: ge().set("month", C).format("MMM")
1922
+ })), B = p(() => {
1923
+ const T = Number(r.value) || 2e3, C = Number(i.value) - 1 || 0, V = ge().year(T).month(C).daysInMonth();
1924
+ return Array.from({ length: V }, (oe, me) => {
1925
+ const ne = (me + 1).toString();
1926
+ return { value: ne.padStart(2, "0"), label: ne };
1927
+ });
1928
+ }), v = ge().year(), E = Array.from({ length: 120 }, (T, C) => {
1929
+ const V = (v - C).toString();
1930
+ return { value: V, label: V };
1931
+ }), D = o("Please enter a valid {inputLabel}", {
1932
+ inputLabel: o("date of birth")
1933
+ }), Y = p(() => !t.required && !m.value ? [] : [(C) => ge(C, "YYYY-MM-DD", !0).isValid() || D, ...t.rules]), le = p(() => !d.value), Z = () => (c.value = Y.value.map((T) => {
1934
+ const C = T(m.value);
1935
+ return typeof C == "string" ? C : "";
1936
+ }).filter((T) => T !== ""), d.value = t.required && m.value === "" || c.value.length > 0, !d.value), H = () => {
1937
+ if (m.value) {
1938
+ if (!Z()) {
1939
+ n.value = "", a("input", "");
1940
+ return;
1941
+ }
1942
+ a("input", m.value);
1943
+ }
1944
+ };
1945
+ return q(
1946
+ () => t.value,
1947
+ (T) => {
1948
+ if (!T || T === m.value)
1949
+ return;
1950
+ const C = ge(T, "YYYY-MM-DD", !0);
1951
+ if (!C.isValid()) {
1952
+ console.error("Invalid date in CDobSelect", T);
1953
+ return;
1954
+ }
1955
+ i.value = C.format("MM"), n.value = C.format("DD"), r.value = C.format("YYYY");
1956
+ },
1957
+ { immediate: !0 }
1958
+ ), Vt({
1959
+ id: t.id,
1960
+ valid: le,
1961
+ validate: Z
1962
+ }), (T, C) => (f(), g("div", {
1963
+ id: T.id,
1964
+ class: "c-dob-select",
1965
+ "data-test": T.dataTest
1966
+ }, [
1967
+ b(T.$slots, "label", {}, () => [
1968
+ T.hideLabel ? R("", !0) : (f(), g("label", {
1969
+ key: 0,
1970
+ class: "c-dob-select__label",
1971
+ for: `${T.id}-month`,
1972
+ "data-test": `${T.dataTest}-label`
1973
+ }, F(s.value), 9, ms))
1974
+ ], !0),
1975
+ S("div", bs, [
1976
+ P(Se, {
1977
+ id: `${T.id}-month`,
1978
+ class: "c-dob-select__field",
1979
+ "hide-label": "",
1980
+ "hide-details": "",
1981
+ value: i.value,
1982
+ "data-test": `${T.dataTest}-month`,
1983
+ "aria-label": T.$t("Month"),
1984
+ placeholder: T.$t("Month"),
1985
+ items: u(A),
1986
+ rules: h.value,
1987
+ required: T.required,
1988
+ disabled: T.disabled,
1989
+ onInput: C[0] || (C[0] = (V) => (i.value = V) && H()),
1990
+ onFocus: C[1] || (C[1] = (V) => T.$emit("focus")),
1991
+ onBlur: C[2] || (C[2] = (V) => T.$emit("blur"))
1992
+ }, null, 8, ["id", "value", "data-test", "aria-label", "placeholder", "items", "rules", "required", "disabled"]),
1993
+ P(Se, {
1994
+ id: `${T.id}-day`,
1995
+ class: "c-dob-select__field",
1996
+ "hide-label": "",
1997
+ "hide-details": "",
1998
+ value: n.value,
1999
+ "aria-label": T.$t("Day"),
2000
+ placeholder: T.$t("Day"),
2001
+ "data-test": `${T.dataTest}-day`,
2002
+ items: B.value,
2003
+ rules: y.value,
2004
+ required: T.required,
2005
+ disabled: T.disabled,
2006
+ onInput: C[3] || (C[3] = (V) => (n.value = V) && H()),
2007
+ onFocus: C[4] || (C[4] = (V) => T.$emit("focus")),
2008
+ onBlur: C[5] || (C[5] = (V) => T.$emit("blur"))
2009
+ }, null, 8, ["id", "value", "aria-label", "placeholder", "data-test", "items", "rules", "required", "disabled"]),
2010
+ P(Se, {
2011
+ id: `${T.id}-year`,
2012
+ class: "c-dob-select__field",
2013
+ "hide-label": "",
2014
+ "hide-details": "",
2015
+ value: r.value,
2016
+ "aria-label": T.$t("Year"),
2017
+ placeholder: T.$t("Year"),
2018
+ "data-test": `${T.dataTest}-year`,
2019
+ items: u(E),
2020
+ rules: _.value,
2021
+ required: T.required,
2022
+ disabled: T.disabled,
2023
+ onInput: C[6] || (C[6] = (V) => (r.value = V) && H()),
2024
+ onFocus: C[7] || (C[7] = (V) => T.$emit("focus")),
2025
+ onBlur: C[8] || (C[8] = (V) => T.$emit("blur"))
2026
+ }, null, 8, ["id", "value", "aria-label", "placeholder", "data-test", "items", "rules", "required", "disabled"])
2027
+ ]),
2028
+ P(ye, {
2029
+ class: "c-dob-select__messages",
2030
+ "data-test": `${T.dataTest}-messages`,
2031
+ "validation-message": N.value,
2032
+ hide: T.hideDetails
2033
+ }, null, 8, ["data-test", "validation-message", "hide"])
2034
+ ], 8, vs));
2035
+ }
2036
+ }), hs = /* @__PURE__ */ L(gs, [["__scopeId", "data-v-16260a2c"]]), _s = /* @__PURE__ */ $({
2037
+ __name: "CEmailField",
2038
+ props: {
2039
+ dataTest: { default: "email-field" },
2040
+ id: { default: void 0 },
2041
+ label: { default: null },
2042
+ placeholder: { default: null },
2043
+ rules: { default: () => [] },
2044
+ value: { default: "" }
2045
+ },
2046
+ emits: ["input", "focus", "blur", "change"],
2047
+ setup(l) {
2048
+ const { t: e } = ve(), t = [
2049
+ (a) => !a || os(a) ? !0 : e("Please enter a valid {inputLabel}", { inputLabel: e("email") })
2050
+ ];
2051
+ return (a, o) => (f(), M(Ke, U(a.$attrs, {
2052
+ id: a.id,
2053
+ value: a.value,
2054
+ "data-test": a.dataTest,
2055
+ type: "email",
2056
+ name: "email",
2057
+ rules: [...t, ...a.rules],
2058
+ label: a.label || a.$t("Email"),
2059
+ placeholder: a.placeholder || a.$t("example@email.com"),
2060
+ onInput: o[0] || (o[0] = (s) => a.$emit("input", s)),
2061
+ onFocus: o[1] || (o[1] = (s) => a.$emit("focus", s)),
2062
+ onBlur: o[2] || (o[2] = (s) => a.$emit("blur", s)),
2063
+ onChange: o[3] || (o[3] = (s) => a.$emit("change", s))
2064
+ }), {
2065
+ label: w(() => [
2066
+ b(a.$slots, "label")
2067
+ ]),
2068
+ message: w(() => [
2069
+ b(a.$slots, "message")
2070
+ ]),
2071
+ _: 3
2072
+ }, 16, ["id", "value", "data-test", "rules", "label", "placeholder"]));
2073
+ }
2074
+ }), Cs = Symbol("animations-disabled"), ys = /* @__PURE__ */ $({
2075
+ __name: "CExpandTransition",
2076
+ props: {
2077
+ disabled: { type: Boolean, default: !1 }
2078
+ },
2079
+ setup(l) {
2080
+ const e = l, t = X(Cs, I(!1)), a = p(() => e.disabled || t.value), o = I(null), s = I("auto");
2081
+ return Dt(o, ([i]) => {
2082
+ s.value = `${i.contentRect.height}px`;
2083
+ }), (i, n) => (f(), g("div", {
2084
+ "data-test": "expand-transition",
2085
+ class: O(["c-expand-transition", { "c-expand-transition--disabled": a.value }]),
2086
+ style: x({ height: a.value ? void 0 : s.value })
2087
+ }, [
2088
+ S("div", {
2089
+ ref_key: "content",
2090
+ ref: o,
2091
+ class: "c-expand-transition__content"
2092
+ }, [
2093
+ b(i.$slots, "default", {}, void 0, !0)
2094
+ ], 512)
2095
+ ], 6));
2096
+ }
2097
+ }), Yt = /* @__PURE__ */ L(ys, [["__scopeId", "data-v-9917a865"]]), $s = ["id", "data-test"], ks = ["for", "data-test"], Ts = ["id", "data-test", "aria-describedby", "multiple", "disabled", "required"], Ls = ["id"], Es = {
2098
+ key: 0,
2099
+ class: "c-file-input__file"
2100
+ }, Is = /* @__PURE__ */ $({
2101
+ __name: "CFileInput",
2102
+ props: {
2103
+ dataTest: { default: "file-input" },
2104
+ disabled: { type: Boolean, default: !1 },
2105
+ id: {},
2106
+ label: {},
2107
+ multiple: { type: Boolean, default: !1 },
2108
+ prompt: {},
2109
+ required: { type: Boolean, default: !1 },
2110
+ value: { default: null }
2111
+ },
2112
+ emits: ["input"],
2113
+ setup(l, { emit: e }) {
2114
+ const t = l, a = e, { id: o, value: s } = te(t), i = pe(o), n = ae(s, {
2115
+ onChange: (c) => {
2116
+ a("input", c);
2117
+ }
2118
+ }), r = p(() => Array.isArray(n.value) ? n.value.length > 0 : !!n.value);
2119
+ function d(c) {
2120
+ const m = c.target.files;
2121
+ m ? n.value = t.multiple ? Array.from(m) : m[0] : n.value = null;
2122
+ }
2123
+ return (c, m) => (f(), g("label", {
2124
+ class: O(["c-file-input", { "c-file-input--disabled": c.disabled }])
2125
+ }, [
2126
+ S("p", {
2127
+ id: `${u(i)}-label`,
2128
+ class: "c-file-input__label",
2129
+ "data-test": `${c.dataTest}-label`
2130
+ }, [
2131
+ b(c.$slots, "label", {}, () => [
2132
+ G(F(c.label), 1)
2133
+ ], !0)
2134
+ ], 8, $s),
2135
+ S("span", {
2136
+ for: u(i),
2137
+ class: "c-file-input__prompt",
2138
+ "data-test": `${c.dataTest}-prompt`
2139
+ }, [
2140
+ b(c.$slots, "prompt", {}, () => [
2141
+ G(F(c.prompt), 1)
2142
+ ], !0)
2143
+ ], 8, ks),
2144
+ S("input", {
2145
+ id: u(i),
2146
+ "data-test": `${c.dataTest}-input`,
2147
+ class: "c-file-input__input",
2148
+ type: "file",
2149
+ "aria-describedby": `${u(i)}-files`,
2150
+ multiple: c.multiple,
2151
+ disabled: c.disabled,
2152
+ required: c.required,
2153
+ onChange: d
2154
+ }, null, 40, Ts),
2155
+ r.value ? (f(), g("div", {
2156
+ key: 0,
2157
+ id: `${u(i)}-files`,
2158
+ class: "c-file-input__files"
2159
+ }, [
2160
+ !Array.isArray(u(n)) && u(n) ? (f(), g("span", Es, F(u(n).name), 1)) : R("", !0),
2161
+ Array.isArray(u(n)) ? (f(!0), g(ce, { key: 1 }, fe(u(n), (h) => (f(), g("span", {
2162
+ key: h.name,
2163
+ class: "c-file-input__file"
2164
+ }, F(h.name), 1))), 128)) : R("", !0)
2165
+ ], 8, Ls)) : R("", !0)
2166
+ ], 2));
2167
+ }
2168
+ }), As = /* @__PURE__ */ L(Is, [["__scopeId", "data-v-e5d85a35"]]), Ss = { class: "c-fixed-page-footer__content" }, Ds = /* @__PURE__ */ $({
2169
+ __name: "CFixedPageFooter",
2170
+ props: {
2171
+ tag: { default: "footer" }
2172
+ },
2173
+ emits: ["change:height"],
2174
+ setup(l, { emit: e }) {
2175
+ const t = e, a = I(null), o = p(() => {
2176
+ var s;
2177
+ return ((s = a.value) == null ? void 0 : s.$el) ?? null;
2178
+ });
2179
+ return Dt(o, ([s]) => t("change:height", s.contentRect.height)), he(() => t("change:height", 0)), (s, i) => (f(), M(Ve, {
2180
+ ref_key: "footer",
2181
+ ref: a,
2182
+ "data-test": "fixed-page-footer",
2183
+ tag: s.tag,
2184
+ large: "",
2185
+ class: "c-fixed-page-footer"
2186
+ }, {
2187
+ default: w(() => [
2188
+ S("div", Ss, [
2189
+ b(s.$slots, "default", {}, void 0, !0)
2190
+ ])
2191
+ ]),
2192
+ _: 3
2193
+ }, 8, ["tag"]));
2194
+ }
2195
+ }), Bs = /* @__PURE__ */ L(Ds, [["__scopeId", "data-v-ecb09be1"]]), ws = ["data-test"], Rs = /* @__PURE__ */ $({
2196
+ __name: "CForm",
2197
+ props: {
2198
+ dataTest: { default: "form" }
2199
+ },
2200
+ emits: ["submit", "input"],
2201
+ setup(l, { expose: e, emit: t }) {
2202
+ const a = t, o = I(null), s = I({});
2203
+ W(Nt, {
2204
+ register: (d) => {
2205
+ s.value = { ...s.value, [d.id]: d };
2206
+ },
2207
+ unregister: (d) => {
2208
+ const c = { ...s.value };
2209
+ delete c[d], s.value = c;
2210
+ }
2211
+ });
2212
+ const i = p(() => Object.values(s.value)), n = (d) => i.value.filter((c) => d ? !c.validate() : !c.valid);
2213
+ return q(n, (d, c) => {
2214
+ const m = d.length === 0, h = (c == null ? void 0 : c.length) === 0;
2215
+ m !== h && a("input", m);
2216
+ }), Q(() => a("input", n().length === 0)), e({ validate: () => {
2217
+ var m;
2218
+ if (!o.value)
2219
+ return !1;
2220
+ const d = n(!0), c = (m = d.find((h) => h.field)) == null ? void 0 : m.field;
2221
+ return c && ha(c, {
2222
+ behavior: "smooth",
2223
+ block: "center",
2224
+ scrollMode: "if-needed"
2225
+ }), d.length === 0;
2226
+ }, inputs: i }), (d, c) => (f(), g("form", {
2227
+ ref_key: "form",
2228
+ ref: o,
2229
+ "data-test": d.dataTest,
2230
+ novalidate: "",
2231
+ onSubmit: c[0] || (c[0] = pt((m) => d.$emit("submit", m), ["prevent"]))
2232
+ }, [
2233
+ b(d.$slots, "default")
2234
+ ], 40, ws));
2235
+ }
2236
+ }), Ms = ["data-test"], Ns = {
2237
+ class: "c-label__text",
2238
+ "data-test": "label-text"
2239
+ }, Vs = /* @__PURE__ */ $({
2240
+ __name: "CLabel",
2241
+ props: {
2242
+ icon: { default: null },
2243
+ dataTest: { default: "label" }
2244
+ },
2245
+ setup(l) {
2246
+ return (e, t) => (f(), g("div", {
2247
+ class: "c-label",
2248
+ "data-test": e.dataTest
2249
+ }, [
2250
+ b(e.$slots, "icon", {}, () => [
2251
+ e.icon ? (f(), M(u(z), {
2252
+ key: 0,
2253
+ "data-test": "label-icon",
2254
+ icon: e.icon,
2255
+ size: "xs"
2256
+ }, null, 8, ["icon"])) : R("", !0)
2257
+ ], !0),
2258
+ S("div", Ns, [
2259
+ b(e.$slots, "default", {}, void 0, !0)
2260
+ ])
2261
+ ], 8, Ms));
2262
+ }
2263
+ }), Os = /* @__PURE__ */ L(Vs, [["__scopeId", "data-v-4d7e42d8"]]), Hs = {
2264
+ class: "c-list-item-content",
2265
+ "data-test": "list-item-content"
2266
+ }, Fs = {
2267
+ key: 0,
2268
+ class: "c-list-item-content__title",
2269
+ "data-test": "list-item-title"
2270
+ }, Ps = {
2271
+ key: 1,
2272
+ class: "c-list-item-content__label",
2273
+ "data-test": "list-item-label"
2274
+ }, Ys = /* @__PURE__ */ $({
2275
+ __name: "CListItemContent",
2276
+ props: {
2277
+ title: { default: "" },
2278
+ label: { default: "" }
2279
+ },
2280
+ setup(l) {
2281
+ const e = K("title"), t = K("label");
2282
+ return (a, o) => (f(), g("div", Hs, [
2283
+ b(a.$slots, "default", {}, () => [
2284
+ a.title || u(e) ? (f(), g("div", Fs, [
2285
+ b(a.$slots, "title", {}, () => [
2286
+ G(F(a.title), 1)
2287
+ ], !0)
2288
+ ])) : R("", !0),
2289
+ a.label || u(t) ? (f(), g("div", Ps, [
2290
+ b(a.$slots, "label", {}, () => [
2291
+ G(F(a.label), 1)
2292
+ ], !0)
2293
+ ])) : R("", !0)
2294
+ ], !0)
2295
+ ]));
2296
+ }
2297
+ }), Ut = /* @__PURE__ */ L(Ys, [["__scopeId", "data-v-1855e2e2"]]), Us = ["data-icon", "data-color"], zs = /* @__PURE__ */ $({
2298
+ __name: "CSquaredIcon",
2299
+ props: {
2300
+ color: { default: "gray-100" },
2301
+ icon: { default: null },
2302
+ large: { type: Boolean, default: !1 }
2303
+ },
2304
+ setup(l) {
2305
+ const e = z, t = l;
2306
+ Q(() => {
2307
+ });
2308
+ const { cssColor: a } = J(() => t.color), o = p(() => t.color === "black");
2309
+ return (s, i) => (f(), g("div", {
2310
+ "data-test": "squared-icon",
2311
+ "data-icon": s.icon,
2312
+ "data-color": u(a),
2313
+ class: O(["c-squared-icon", { "c-squared-icon--white-icon": o.value, "c-squared-icon--large": s.large }]),
2314
+ style: x({ backgroundColor: u(a) })
2315
+ }, [
2316
+ b(s.$slots, "default", {}, () => [
2317
+ s.icon ? (f(), M(u(e), {
2318
+ key: 0,
2319
+ "data-test": "squared-icon-icon",
2320
+ icon: s.icon
2321
+ }, null, 8, ["icon"])) : R("", !0)
2322
+ ], !0)
2323
+ ], 14, Us));
2324
+ }
2325
+ }), Je = /* @__PURE__ */ L(zs, [["__scopeId", "data-v-f322d32b"]]), Gs = /* @__PURE__ */ $({
2326
+ __name: "CListItemIcon",
2327
+ props: {
2328
+ icon: { default: null },
2329
+ iconColor: { default: "gray-100" }
2330
+ },
2331
+ setup(l) {
2332
+ const e = K("icon");
2333
+ return (t, a) => t.icon || u(e) ? (f(), M(Je, {
2334
+ key: 0,
2335
+ icon: t.icon,
2336
+ color: t.iconColor,
2337
+ class: "c-list-item-icon"
2338
+ }, {
2339
+ default: w(() => [
2340
+ b(t.$slots, "icon", {}, void 0, !0)
2341
+ ]),
2342
+ _: 3
2343
+ }, 8, ["icon", "color"])) : R("", !0);
2344
+ }
2345
+ }), Qe = /* @__PURE__ */ L(Gs, [["__scopeId", "data-v-a2993619"]]), qs = { class: "flex-1 d-flex flex-row gap-3 justify-between align-center" }, Zs = {
2346
+ key: 0,
2347
+ "data-test": "list-item-action",
2348
+ class: "c-list-item__append__action flex-shrink-0"
2349
+ }, js = /* @__PURE__ */ $({
2350
+ __name: "CListItem",
2351
+ props: {
2352
+ icon: { default: null },
2353
+ actionIcon: { default: null },
2354
+ iconColor: { default: "gray-100" },
2355
+ title: { default: void 0 },
2356
+ label: { default: void 0 },
2357
+ to: { default: void 0 },
2358
+ target: { default: void 0 },
2359
+ href: { default: void 0 },
2360
+ align: { default: "center" },
2361
+ hideAction: { type: Boolean, default: !1 }
2362
+ },
2363
+ setup(l) {
2364
+ const e = l, t = we(), { to: a } = te(e), { href: o, navigate: s } = We(a), i = p(() => o.value ?? e.href), n = p(() => !!i.value), r = p(() => !!t.onClick), d = p(() => n.value || r.value), c = p(() => n.value ? "a" : r.value ? "button" : "div"), m = p(() => r.value ? { type: "button" } : {}), h = K("action"), y = p(() => e.hideAction ? !1 : d.value || h.value), _ = K("icon"), N = p(() => U(t, m.value));
2365
+ return (A, B) => (f(), M(De(c.value), U(N.value, {
2366
+ class: ["c-list-item d-flex flex-col justify-center w-full", { "c-list-item--is-tappable": d.value }],
2367
+ href: i.value,
2368
+ target: A.target,
2369
+ onClick: u(s)
2370
+ }), {
2371
+ default: w(() => [
2372
+ S("div", {
2373
+ class: O(["d-flex flex-row gap-3 justify-between w-full p-4", {
2374
+ "align-start": A.align === "top",
2375
+ "align-center": A.align !== "top"
2376
+ }])
2377
+ }, [
2378
+ b(A.$slots, "prepend", {}, () => [
2379
+ A.icon || u(_) ? (f(), M(Qe, {
2380
+ key: 0,
2381
+ icon: A.icon,
2382
+ "icon-color": A.iconColor
2383
+ }, {
2384
+ icon: w(() => [
2385
+ b(A.$slots, "icon", {}, void 0, !0)
2386
+ ]),
2387
+ _: 3
2388
+ }, 8, ["icon", "icon-color"])) : R("", !0)
2389
+ ], !0),
2390
+ S("div", qs, [
2391
+ P(Ut, {
2392
+ title: A.title,
2393
+ label: A.label
2394
+ }, gt({ _: 2 }, [
2395
+ fe(["title", "label", "default"], (v) => ({
2396
+ name: v,
2397
+ fn: w(() => [
2398
+ b(A.$slots, v, {}, void 0, !0)
2399
+ ])
2400
+ }))
2401
+ ]), 1032, ["title", "label"]),
2402
+ b(A.$slots, "append", {}, () => [
2403
+ y.value ? (f(), g("div", Zs, [
2404
+ b(A.$slots, "action", {}, () => [
2405
+ P(u(z), {
2406
+ "data-test": "list-item-action-icon",
2407
+ class: "c-list-item__append__action-icon",
2408
+ "fixed-width": "",
2409
+ icon: A.actionIcon ? A.actionIcon : u(ra)
2410
+ }, null, 8, ["icon"])
2411
+ ], !0)
2412
+ ])) : R("", !0)
2413
+ ], !0)
2414
+ ])
2415
+ ], 2)
2416
+ ]),
2417
+ _: 3
2418
+ }, 16, ["class", "href", "target", "onClick"]));
2419
+ }
2420
+ }), zt = /* @__PURE__ */ L(js, [["__scopeId", "data-v-c3185322"]]), Ws = "data:image/svg+xml,%3csvg%20width='30'%20height='37'%20viewBox='0%200%2030%2037'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_911_9050)'%3e%3cpath%20d='M7.39438%200.692966C7.39438%200.692966%206.35052%201.4649%205.56982%202.23683C5.3242%202.44735%205.35052%202.66665%205.36806%202.98244C5.44701%204.04384%205.64876%206.40349%207.25403%208.14033C8.85052%209.87718%2010.9119%209.64033%2010.9119%209.64033L15.2979%208.67542L7.39438%200.692966Z'%20fill='black'%20stroke='black'%20stroke-width='0.964912'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0.482422%2022.6316C0.482422%2029.6754%206.42979%2035.386%2013.7719%2035.386C21.114%2035.386%2027.0614%2029.6754%2027.0614%2022.6316C27.0614%2015.5877%2021.114%209.8772%2013.7719%209.8772C6.42979%209.8772%200.482422%2015.5877%200.482422%2022.6316ZM7.8947%2022.6316C7.8947%2025.9123%2010.6666%2028.5702%2014.0877%2028.5702C17.5087%2028.5702%2020.2807%2025.9123%2020.2807%2022.6316C20.2807%2019.3509%2017.5087%2016.693%2014.0877%2016.693C10.6666%2016.693%207.8947%2019.3509%207.8947%2022.6316Z'%20fill='black'%20stroke='black'%20stroke-width='0.964912'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.73633%2022.0965C2.73633%2029.4912%208.72755%2035.4824%2016.1223%2035.4824C23.517%2035.4824%2029.5083%2029.4912%2029.5083%2022.0965C29.5083%2014.7017%2023.517%208.71051%2016.1223%208.71051C8.72755%208.71051%202.73633%2014.7017%202.73633%2022.0965ZM9.88545%2022.0965C9.88545%2025.5438%2012.6749%2028.3333%2016.1223%2028.3333C19.5697%2028.3333%2022.3591%2025.5438%2022.3591%2022.0965C22.3591%2018.6491%2019.5697%2015.8596%2016.1223%2015.8596C12.6749%2015.8596%209.88545%2018.6491%209.88545%2022.0965Z'%20fill='%23FFC120'%20stroke='black'%20stroke-width='0.978516'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M4.88672%2013.1491C7.41303%2010.9912%209.76391%209.74562%2013.3078%209.00001'%20stroke='black'%20stroke-width='0.973684'%20stroke-miterlimit='10'%20stroke-linecap='round'/%3e%3cpath%20d='M9.53516%2034.7193C12.7808%2035.7193%2015.7281%2035.8597%2018.9211%2035.193'%20stroke='black'%20stroke-width='0.973684'%20stroke-miterlimit='10'%20stroke-linecap='round'/%3e%3cpath%20d='M15.2988%208.67545C15.4742%208.64036%2015.6321%208.54387%2015.7286%208.38598C16.4567%207.21054%2016.1672%204.71054%2014.6146%203.28948C12.869%201.7544%2011.5707%202.0965%208.44792%200.614046C7.6409%200.228081%206.99178%200.736853%207.11459%201.71054C7.23739%202.68422%208.04441%206.3772%2010.3339%207.91229C11.9655%209.00001%2014.4655%208.85966%2015.2988%208.68422V8.67545Z'%20fill='%238BC95A'%20stroke='black'%20stroke-width='0.978516'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_911_9050'%3e%3crect%20width='30'%20height='36.0877'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", Xs = "data:image/svg+xml,%3csvg%20width='120'%20height='38'%20viewBox='0%200%20120%2038'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M40.3101%2022.5039H36.5387C36.383%2022.5039%2036.2563%2022.6306%2036.2563%2022.7863V29.808C36.2563%2030.018%2036.0862%2030.1881%2035.8763%2030.1881H32.2206C32.0107%2030.1881%2031.8406%2030.018%2031.8406%2029.808V8.18892C31.8406%207.98261%2032.0107%207.8125%2032.2206%207.8125H40.3101C44.5847%207.8125%2048.0594%2010.5488%2048.0594%2015.1419C48.0594%2019.735%2044.5847%2022.5039%2040.3101%2022.5039ZM36.2563%2018.2764C36.2563%2018.432%2036.383%2018.5587%2036.5387%2018.5587H40.1364C42.4275%2018.5587%2043.6437%2017.1109%2043.6437%2015.1383C43.6437%2013.1657%2042.4275%2011.7505%2040.1364%2011.7505H36.5387C36.383%2011.7505%2036.2563%2011.8772%2036.2563%2012.0328V18.2728V18.2764Z'%20fill='black'/%3e%3cpath%20d='M53.7021%2014.5594V15.3919C53.7021%2015.533%2053.8723%2015.5945%2053.9664%2015.4932C54.7771%2014.6064%2056.2937%2014.0454%2057.9116%2014.0454H58.9214C59.1313%2014.0454%2059.3015%2014.2155%2059.3015%2014.4255V17.7119C59.3015%2017.9219%2059.1313%2018.092%2058.9214%2018.092H57.879C55.1499%2018.092%2053.7021%2019.8438%2053.7021%2022.4064V29.8118C53.7021%2030.0218%2053.532%2030.1919%2053.3221%2030.1919H49.8329C49.623%2030.1919%2049.4529%2030.0218%2049.4529%2029.8118V14.5594C49.4529%2014.3495%2049.623%2014.1793%2049.8329%2014.1793H53.3221C53.532%2014.1793%2053.7021%2014.3495%2053.7021%2014.5594Z'%20fill='black'/%3e%3cpath%20d='M76.9102%2022.1999C76.9102%2027.0174%2073.1713%2030.6224%2068.2162%2030.6224C63.2611%2030.6224%2059.5222%2027.0174%2059.5222%2022.1999C59.5222%2017.3824%2063.2611%2013.7412%2068.2162%2013.7412C73.1713%2013.7412%2076.9102%2017.3462%2076.9102%2022.1999ZM63.7715%2022.1999C63.7715%2024.8639%2065.6898%2026.7134%2068.2198%2026.7134C70.7498%2026.7134%2072.6681%2024.8602%2072.6681%2022.1999C72.6681%2019.5396%2070.7462%2017.6502%2068.2198%2017.6502C65.6934%2017.6502%2063.7715%2019.5034%2063.7715%2022.1999Z'%20fill='black'/%3e%3cpath%20d='M87.5261%2030.6224C85.9046%2030.6224%2084.2505%2030.1193%2083.1538%2029.2181C83.0307%2029.1167%2082.8425%2029.2%2082.8425%2029.3629V36.6814C82.8425%2036.8914%2082.6724%2037.0615%2082.4625%2037.0615H78.9733C78.7634%2037.0615%2078.5933%2036.8914%2078.5933%2036.6814V14.5556C78.5933%2014.3457%2078.7634%2014.1756%2078.9733%2014.1756H82.4625C82.6724%2014.1756%2082.8425%2014.3457%2082.8425%2014.5556V15.0478C82.8425%2015.1781%2082.9909%2015.2469%2083.0886%2015.1637C84.1853%2014.2335%2085.8684%2013.7412%2087.5261%2013.7412C92.6803%2013.7412%2095.7134%2017.7842%2095.7134%2022.1637C95.7134%2026.5433%2092.6803%2030.6224%2087.5261%2030.6224ZM87.1895%2017.6502C84.931%2017.6502%2082.676%2019.1342%2082.676%2022.1637C82.676%2025.1932%2084.9346%2026.7134%2087.1895%2026.7134C89.7159%2026.7134%2091.4677%2024.625%2091.4677%2022.1637C91.4677%2019.7025%2089.7159%2017.6502%2087.1895%2017.6502Z'%20fill='black'/%3e%3cpath%20d='M112.989%2025.3344C113.264%2025.3344%20113.449%2025.6167%20113.337%2025.8664C111.983%2028.791%20108.917%2030.6224%20105.674%2030.6224C100.686%2030.6224%2097.0127%2027.0174%2097.0127%2022.1637C97.0127%2017.31%20100.549%2013.7412%20105.504%2013.7412C110.459%2013.7412%20113.829%2017.3824%20113.829%2022.0986C113.829%2022.5184%20113.829%2022.855%20113.796%2023.2351C113.778%2023.4305%20113.615%2023.5826%20113.42%2023.5826H101.801C101.609%2023.5826%20101.468%2023.7708%20101.53%2023.9518C102.091%2025.6601%20103.72%2026.717%20105.674%2026.717C106.955%2026.717%20108.114%2026.3515%20108.863%2025.4755C108.939%2025.3887%20109.044%2025.3344%20109.156%2025.3344H112.989ZM108.968%2020.4119C109.149%2020.4119%20109.286%2020.2418%20109.243%2020.0644C108.838%2018.4103%20107.332%2017.3788%20105.504%2017.3788C103.676%2017.3788%20102.033%2018.4393%20101.602%2020.0608C101.555%2020.2382%20101.696%2020.4119%20101.877%2020.4119H108.968Z'%20fill='black'/%3e%3cpath%20d='M120%208.18912V29.8082C120%2030.0182%20119.83%2030.1883%20119.62%2030.1883H116.131C115.921%2030.1883%20115.751%2030.0182%20115.751%2029.8082V8.18912C115.751%207.97919%20115.921%207.80908%20116.131%207.80908H119.62C119.83%207.80908%20120%207.97919%20120%208.18912Z'%20fill='black'/%3e%3cpath%20d='M13.725%207.37832C14.1268%206.19475%2013.7757%204.37054%2012.556%203.25212C11.6909%202.49203%2010.9561%202.26762%2010.0259%201.98531C9.3672%201.78623%208.6252%201.56182%207.61899%201.08405C7.17018%200.8705%206.71774%200.892218%206.37751%201.14196C6.34132%201.1673%206.30512%201.19988%206.27255%201.22884C6.08795%201.37%205.40025%201.89481%204.85009%202.43412C4.50262%202.74539%204.52796%203.1001%204.54606%203.3607V3.3969C4.61483%204.24023%204.77046%206.22008%206.14224%207.7113C6.5802%208.18545%207.05435%208.49312%207.50317%208.69219C6.46438%209.15186%205.49436%209.73821%204.49539%2010.4947C4.29993%2010.6395%204.10448%2010.7915%203.91989%2010.9507C3.86922%2010.9905%203.81854%2011.0304%203.76787%2011.0738C3.74615%2011.0919%203.72806%2011.11%203.71358%2011.1281C1.43693%2013.1441%200%2016.0904%200%2019.3696C0%2024.3102%203.26476%2028.5016%207.74929%2029.8987C7.77463%2029.9095%207.79634%2029.9204%207.8253%2029.9276C9.39615%2030.3873%2010.8946%2030.6153%2012.3967%2030.6153C13.5332%2030.6153%2014.6697%2030.485%2015.8352%2030.2244C15.8388%2030.2244%2015.8461%2030.2208%2015.8497%2030.2208C21.0581%2029.1024%2024.9707%2024.4622%2024.9707%2018.9244C24.9707%2012.6555%2019.9505%207.53757%2013.7214%207.37469L13.725%207.37832ZM12.7333%2023.5827C11.738%2023.4379%2010.815%2022.9782%2010.0911%2022.2544C9.2007%2021.364%208.71207%2020.184%208.71207%2018.9244C8.71207%2017.2341%209.60608%2015.7502%2010.9489%2014.9213C11.0539%2014.9141%2011.1625%2014.9068%2011.271%2014.9068C13.7323%2014.9068%2015.7338%2016.9084%2015.7338%2019.3696C15.7338%2021.3169%2014.4779%2022.9746%2012.7369%2023.5827H12.7333Z'%20fill='black'/%3e%3cpath%20d='M11.9405%203.93626C11.2347%203.31371%2010.6447%203.13636%209.75796%202.86852C9.10284%202.66945%208.28846%202.42332%207.22433%201.91659C7.14832%201.8804%207.07231%201.8623%207.0144%201.8623C6.97459%201.8623%206.94201%201.86954%206.9203%201.88763C6.86238%201.93107%206.80447%202.06499%206.83705%202.30026C6.95649%203.20875%207.60438%205.79666%209.15713%206.83183C10.2502%207.56297%2012.0418%207.50506%2012.6897%207.36752C12.7151%207.36028%2012.7295%207.34942%2012.7368%207.33856C13.3449%206.34682%2012.6861%204.62034%2011.9405%203.93626Z'%20fill='%238BC95A'/%3e%3cpath%20d='M13.4209%208.29395C7.55737%208.29395%202.79053%2013.0644%202.79053%2018.9243C2.79053%2021.7656%203.89809%2024.4332%205.90327%2026.442C7.91208%2028.4508%2010.5796%2029.5547%2013.4209%2029.5547C19.2845%2029.5547%2024.0513%2024.7843%2024.0513%2018.9243C24.0513%2013.0644%2019.2808%208.29395%2013.4209%208.29395ZM17.4023%2022.9058C16.3382%2023.9699%2014.9266%2024.5526%2013.4209%2024.5526C11.9188%2024.5526%2010.5036%2023.9663%209.4395%2022.9058C8.37537%2021.8453%207.79264%2020.43%207.79264%2018.9243C7.79264%2015.8224%2010.319%2013.2961%2013.4209%2013.2961C16.5228%2013.2961%2019.0492%2015.8224%2019.0492%2018.9243C19.0492%2020.4264%2018.4628%2021.8416%2017.4023%2022.9058Z'%20fill='%23FFC120'/%3e%3c/svg%3e", Ks = ["src", "alt"], Js = /* @__PURE__ */ $({
2421
+ __name: "CLogo",
2422
+ props: {
2423
+ icon: { type: Boolean, default: !1 }
2424
+ },
2425
+ setup(l) {
2426
+ const e = l, t = p(() => e.icon ? Ws : Xs);
2427
+ return (a, o) => (f(), g("img", {
2428
+ src: t.value,
2429
+ alt: a.$t("{appName}")
2430
+ }, null, 8, Ks));
2431
+ }
2432
+ }), Qs = /* @__PURE__ */ $({
2433
+ __name: "CMenu",
2434
+ emits: ["select"],
2435
+ setup(l) {
2436
+ return (e, t) => (f(), g("sl-menu", {
2437
+ class: "c-menu pa-0 elevation-4",
2438
+ onSlSelect: t[0] || (t[0] = (a) => e.$emit("select", a.detail.item))
2439
+ }, [
2440
+ b(e.$slots, "default", {}, void 0, !0)
2441
+ ], 32));
2442
+ }
2443
+ }), xs = /* @__PURE__ */ L(Qs, [["__scopeId", "data-v-d8ec7807"]]), eo = ["type", "checked"], to = { slot: "prefix" }, ao = {
2444
+ key: 1,
2445
+ class: "check-icon mr-3"
2446
+ }, lo = /* @__PURE__ */ $({
2447
+ __name: "CMenuItem",
2448
+ props: {
2449
+ checkable: { type: Boolean, default: !1 },
2450
+ checked: { type: Boolean, default: !1 },
2451
+ checkType: { default: "checkbox" },
2452
+ selectable: { type: Boolean, default: !0 }
2453
+ },
2454
+ setup(l) {
2455
+ const e = l, t = (a) => {
2456
+ e.selectable || (a.preventDefault(), a.stopPropagation());
2457
+ };
2458
+ return (a, o) => (f(), g("sl-menu-item", {
2459
+ type: a.checkable ? "checkbox" : "normal",
2460
+ checked: a.checked,
2461
+ class: O(["menu-item", { selectable: a.selectable }]),
2462
+ onClick: t
2463
+ }, [
2464
+ S("div", to, [
2465
+ b(a.$slots, "prepend-inner", {}, () => [
2466
+ a.checkable ? (f(), g(ce, { key: 0 }, [
2467
+ a.checkType === "checkbox" ? (f(), M(Ot, {
2468
+ key: 0,
2469
+ value: a.checked,
2470
+ variant: "minimal",
2471
+ "hide-details": "",
2472
+ "aria-hidden": "true",
2473
+ class: "checkbox mr-3"
2474
+ }, null, 8, ["value"])) : (f(), g("div", ao, [
2475
+ a.checked ? (f(), M(u(z), {
2476
+ key: 0,
2477
+ icon: u(_t)
2478
+ }, null, 8, ["icon"])) : R("", !0)
2479
+ ]))
2480
+ ], 64)) : R("", !0)
2481
+ ], !0)
2482
+ ]),
2483
+ b(a.$slots, "default", {}, void 0, !0)
2484
+ ], 10, eo));
2485
+ }
2486
+ }), so = /* @__PURE__ */ L(lo, [["__scopeId", "data-v-6fd3ba36"]]), oo = { class: "menu-label pt-3 px-4" }, no = /* @__PURE__ */ $({
2487
+ __name: "CMenuLabel",
2488
+ setup(l) {
2489
+ return (e, t) => (f(), g("sl-menu-label", oo, [
2490
+ b(e.$slots, "default", {}, void 0, !0)
2491
+ ]));
2492
+ }
2493
+ }), io = /* @__PURE__ */ L(no, [["__scopeId", "data-v-53bb607d"]]), ro = ["label", "open", "data-loading", "data-state", "data-test"], uo = {
2494
+ key: 0,
2495
+ class: "c-modal__body"
2496
+ }, co = ["data-test"], fo = ["data-test"], po = ["data-test"], vo = ["data-test"], mo = { class: "c-modal__loading__loader" }, bo = ["data-test"], go = /* @__PURE__ */ $({
2497
+ __name: "CModal",
2498
+ props: {
2499
+ ariaLabel: { default: "" },
2500
+ dataTest: { default: "modal" },
2501
+ dismissible: { type: Boolean, default: !0 },
2502
+ fullscreen: { type: Boolean, default: !1 },
2503
+ loading: { type: [String, Boolean], default: !1 },
2504
+ title: { default: null },
2505
+ transition: { type: Boolean, default: !0 },
2506
+ value: { type: Boolean, default: !1 }
2507
+ },
2508
+ emits: ["input"],
2509
+ setup(l) {
2510
+ const e = l, t = (m) => {
2511
+ e.dismissible || m.preventDefault();
2512
+ }, a = I(null), o = p(() => e.transition ? "default" : null);
2513
+ ue(a, "dialog.show", o), ue(a, "dialog.hide", o), ue(a, "dialog.overlay.show", o), ue(a, "dialog.overlay.hide", o);
2514
+ const s = I(!1), i = p(() => !e.fullscreen && s.value), n = (m) => m ? `${e.dataTest}-${m}` : e.dataTest, r = p(() => typeof e.loading == "string" ? e.loading : null), d = p(() => r.value ? r.value : e.title || e.ariaLabel), c = K("footer");
2515
+ return (m, h) => (f(), g("sl-dialog", {
2516
+ ref_key: "modal",
2517
+ ref: a,
2518
+ label: d.value,
2519
+ "no-header": "",
2520
+ open: m.value,
2521
+ class: O(["c-modal", { "c-modal--fullscreen": m.fullscreen }]),
2522
+ "data-loading": m.loading || void 0,
2523
+ "data-state": m.value ? "open" : "closed",
2524
+ "data-test": n(),
2525
+ onSlHide: h[1] || (h[1] = (y) => m.$emit("input", !1)),
2526
+ onSlRequestClose: t,
2527
+ onSlAfterShow: h[2] || (h[2] = (y) => s.value = !0),
2528
+ onSlAfterHide: h[3] || (h[3] = (y) => s.value = !1)
2529
+ }, [
2530
+ P(Yt, {
2531
+ class: "c-modal__wrapper",
2532
+ disabled: !i.value
2533
+ }, {
2534
+ default: w(() => [
2535
+ m.loading ? (f(), g("div", {
2536
+ key: 1,
2537
+ class: "c-modal__loading",
2538
+ "data-test": m.value ? `${m.dataTest}-loading` : null
2539
+ }, [
2540
+ S("div", mo, [
2541
+ P(Me)
2542
+ ]),
2543
+ b(m.$slots, "loading", {}, () => [
2544
+ r.value ? (f(), g("div", {
2545
+ key: 0,
2546
+ "data-test": m.value ? `${m.dataTest}-loading-message` : null
2547
+ }, F(r.value), 9, bo)) : R("", !0)
2548
+ ], !0)
2549
+ ], 8, vo)) : (f(), g("div", uo, [
2550
+ S("div", {
2551
+ "data-test": n("content"),
2552
+ class: "c-modal__content"
2553
+ }, [
2554
+ m.title ? (f(), g("h2", {
2555
+ key: 0,
2556
+ class: "c-modal__title",
2557
+ "data-test": n("title")
2558
+ }, F(m.title), 9, fo)) : R("", !0),
2559
+ m.dismissible ? (f(), g("button", {
2560
+ key: 1,
2561
+ class: "c-modal__dismiss",
2562
+ "data-test": n("dismiss"),
2563
+ onClick: h[0] || (h[0] = (y) => m.$emit("input", !1))
2564
+ }, F(m.$t("Dismiss")), 9, po)) : R("", !0),
2565
+ b(m.$slots, "default", {}, void 0, !0)
2566
+ ], 8, co),
2567
+ u(c) ? (f(), M(Ve, {
2568
+ key: 0,
2569
+ tag: "footer",
2570
+ class: "c-modal__footer",
2571
+ large: m.fullscreen || void 0,
2572
+ "data-test": n("footer")
2573
+ }, {
2574
+ default: w(() => [
2575
+ b(m.$slots, "footer", {}, void 0, !0)
2576
+ ]),
2577
+ _: 3
2578
+ }, 8, ["large", "data-test"])) : R("", !0)
2579
+ ]))
2580
+ ]),
2581
+ _: 3
2582
+ }, 8, ["disabled"])
2583
+ ], 42, ro));
2584
+ }
2585
+ }), Gt = /* @__PURE__ */ L(go, [["__scopeId", "data-v-aec1f72d"]]), ho = /* @__PURE__ */ $({
2586
+ __name: "CModalLoading",
2587
+ props: {
2588
+ dataTest: { default: "loading-modal" },
2589
+ message: { default: null },
2590
+ value: { type: Boolean, default: !1 }
2591
+ },
2592
+ emits: ["input"],
2593
+ setup(l) {
2594
+ return (e, t) => (f(), M(Gt, {
2595
+ value: e.value,
2596
+ loading: e.message || !0,
2597
+ "data-test": e.dataTest,
2598
+ dismissible: !1,
2599
+ onInput: t[0] || (t[0] = (a) => e.$emit("input", a))
2600
+ }, {
2601
+ loading: w(() => [
2602
+ b(e.$slots, "loading")
2603
+ ]),
2604
+ _: 3
2605
+ }, 8, ["value", "loading", "data-test"]));
2606
+ }
2607
+ }), _o = {
2608
+ key: 0,
2609
+ class: "c-notification__title",
2610
+ "data-test": "notification-title"
2611
+ }, Co = {
2612
+ "data-test": "notification-title-text",
2613
+ class: "c-notification__title-text"
2614
+ }, yo = {
2615
+ "data-test": "notification-body",
2616
+ class: "c-notification__text"
2617
+ }, $o = /* @__PURE__ */ $({
2618
+ __name: "CNotification",
2619
+ props: {
2620
+ alert: { type: Boolean, default: !1 },
2621
+ warning: { type: Boolean, default: !1 },
2622
+ variant: { default: "info" },
2623
+ dismissible: { type: Boolean, default: !1 },
2624
+ title: { default: "" },
2625
+ titleIcon: { default: void 0 },
2626
+ buttonText: { default: void 0 },
2627
+ buttonTo: { default: void 0 },
2628
+ buttonHref: { default: void 0 },
2629
+ buttonTarget: { default: void 0 },
2630
+ buttonLoading: { type: Boolean, default: !1 }
2631
+ },
2632
+ emits: ["click:button", "dismiss"],
2633
+ setup(l) {
2634
+ const e = z, t = l, a = p(() => !!t.buttonText), o = p(() => t.alert ? "alert" : t.warning ? "warning" : t.variant);
2635
+ return (s, i) => (f(), g("div", {
2636
+ "data-test": "notification",
2637
+ class: O(["c-notification", `c-notification--${o.value}`])
2638
+ }, [
2639
+ s.dismissible ? (f(), M(ke, {
2640
+ key: 0,
2641
+ "data-test": "notification-dismiss",
2642
+ variant: "tertiary",
2643
+ class: "c-notification__close-button",
2644
+ icon: u(Re),
2645
+ "aria-label": s.$t("Dismiss"),
2646
+ onClick: i[0] || (i[0] = (n) => s.$emit("dismiss"))
2647
+ }, null, 8, ["icon", "aria-label"])) : R("", !0),
2648
+ b(s.$slots, "title", {}, () => [
2649
+ s.title || s.titleIcon ? (f(), g("div", _o, [
2650
+ s.titleIcon ? (f(), M(u(e), {
2651
+ key: 0,
2652
+ class: "c-notification__title-icon",
2653
+ "data-test": "notification-title-icon",
2654
+ icon: s.titleIcon
2655
+ }, null, 8, ["icon"])) : R("", !0),
2656
+ S("div", Co, [
2657
+ S("strong", null, F(s.title), 1)
2658
+ ])
2659
+ ])) : R("", !0)
2660
+ ], !0),
2661
+ S("div", yo, [
2662
+ b(s.$slots, "default", {}, void 0, !0)
2663
+ ]),
2664
+ a.value ? (f(), M(Xe, {
2665
+ key: 1,
2666
+ "data-test": "notification-button",
2667
+ class: "c-notification__button",
2668
+ loading: s.buttonLoading,
2669
+ to: s.buttonTo,
2670
+ href: s.buttonHref,
2671
+ target: s.buttonTarget,
2672
+ onClick: i[1] || (i[1] = (n) => s.$emit("click:button"))
2673
+ }, {
2674
+ default: w(() => [
2675
+ G(F(s.buttonText), 1)
2676
+ ]),
2677
+ _: 1
2678
+ }, 8, ["loading", "to", "href", "target"])) : R("", !0)
2679
+ ], 2));
2680
+ }
2681
+ }), ko = /* @__PURE__ */ L($o, [["__scopeId", "data-v-9c0ebc16"]]);
2682
+ function xe() {
2683
+ const l = I(null), e = p(() => {
2684
+ var a;
2685
+ return (a = l.value) == null ? void 0 : a.input;
2686
+ });
2687
+ function t() {
2688
+ e == null || e.value.focus();
2689
+ }
2690
+ return { field: l, focus: t };
2691
+ }
2692
+ const To = /* @__PURE__ */ $({
2693
+ __name: "CPhoneField",
2694
+ props: {
2695
+ dataTest: { default: "phone-field" },
2696
+ id: { default: void 0 },
2697
+ label: { default: null },
2698
+ placeholder: { default: "" },
2699
+ rules: { default: () => [] },
2700
+ value: { default: "" }
2701
+ },
2702
+ setup(l, { expose: e }) {
2703
+ const { t } = ve(), a = p(() => {
2704
+ const i = t("Please enter a valid {inputLabel}", {
2705
+ inputLabel: t("phone number")
2706
+ });
2707
+ return [Te(10, i)];
2708
+ }), { field: o, focus: s } = xe();
2709
+ return e({ focus: s }), (i, n) => (f(), M($e, U(i.$attrs, {
2710
+ id: i.id,
2711
+ ref_key: "field",
2712
+ ref: o,
2713
+ value: i.value,
2714
+ type: "tel",
2715
+ label: i.label || i.$t("Phone number"),
2716
+ mask: "(###) ###-####",
2717
+ minlength: 10,
2718
+ maxlength: 10,
2719
+ placeholder: i.placeholder || "(555) 555-5555",
2720
+ "data-test": i.dataTest,
2721
+ rules: [...a.value, ...i.rules],
2722
+ autocorrect: "off",
2723
+ autocapitalize: "none"
2724
+ }), {
2725
+ label: w(() => [
2726
+ b(i.$slots, "label")
2727
+ ]),
2728
+ message: w(() => [
2729
+ b(i.$slots, "message")
2730
+ ]),
2731
+ _: 3
2732
+ }, 16, ["id", "value", "label", "placeholder", "data-test", "rules"]));
2733
+ }
2734
+ }), qt = Symbol("selected-value"), Zt = Symbol("toggle-value"), jt = Symbol("role"), Lo = ["aria-checked", "role"], Eo = {
2735
+ class: "c-pill-body",
2736
+ "data-test": "pill-body"
2737
+ }, Io = {
2738
+ key: 0,
2739
+ class: "c-pill-icon"
2740
+ }, Ao = { class: "c-pill-text" }, So = /* @__PURE__ */ $({
2741
+ __name: "CPill",
2742
+ props: {
2743
+ icon: { default: void 0 },
2744
+ value: { type: [Boolean, String], default: void 0 }
2745
+ },
2746
+ emits: ["click", "input"],
2747
+ setup(l, { emit: e }) {
2748
+ const t = z, a = l, o = e, s = X(jt, void 0), i = X(qt, void 0), n = X(Zt, void 0), r = p(() => n ? "group" : a.value !== void 0 ? "standalone" : "none"), d = p(() => {
2749
+ if (r.value === "standalone")
2750
+ return a.value;
2751
+ if (i != null && i.value)
2752
+ return i.value === a.value;
2753
+ }), c = p(() => {
2754
+ if (d.value !== void 0)
2755
+ return d.value ? "true" : "false";
2756
+ }), m = p(() => {
2757
+ if (r.value === "standalone")
2758
+ return "radio";
2759
+ if (r.value === "group")
2760
+ return (s == null ? void 0 : s.value) ?? void 0;
2761
+ }), h = () => {
2762
+ if (r.value === "standalone" && o("input", !a.value), r.value === "group" && n) {
2763
+ const y = d.value ? void 0 : a.value;
2764
+ n(y);
2765
+ }
2766
+ o("click");
2767
+ };
2768
+ return (y, _) => (f(), g("span", U(y.$attrs, {
2769
+ "aria-checked": c.value,
2770
+ class: [{ "c-pill--active": d.value }, "c-pill"],
2771
+ "data-test": "pill",
2772
+ role: m.value,
2773
+ onClick: h
2774
+ }), [
2775
+ S("span", Eo, [
2776
+ y.icon || y.$slots.icon ? (f(), g("span", Io, [
2777
+ b(y.$slots, "icon", {}, () => [
2778
+ y.icon ? (f(), M(u(t), {
2779
+ key: 0,
2780
+ "data-test": "pill-icon",
2781
+ "fixed-width": "",
2782
+ icon: y.icon
2783
+ }, null, 8, ["icon"])) : R("", !0)
2784
+ ], !0)
2785
+ ])) : R("", !0),
2786
+ S("span", Ao, [
2787
+ b(y.$slots, "default", {}, void 0, !0)
2788
+ ])
2789
+ ])
2790
+ ], 16, Lo));
2791
+ }
2792
+ }), Wt = /* @__PURE__ */ L(So, [["__scopeId", "data-v-43172803"]]), Do = {
2793
+ class: "c-pill-group",
2794
+ "data-test": "pill-group"
2795
+ }, Bo = { class: "c-pill-group__track" }, wo = /* @__PURE__ */ $({
2796
+ __name: "CPillGroup",
2797
+ props: {
2798
+ options: { default: () => [] },
2799
+ value: { default: "" }
2800
+ },
2801
+ emits: ["input"],
2802
+ setup(l, { emit: e }) {
2803
+ const t = l, a = e;
2804
+ return W(jt, I("radio")), W(
2805
+ qt,
2806
+ p(() => t.value)
2807
+ ), W(Zt, (o) => {
2808
+ a("input", o);
2809
+ }), (o, s) => (f(), g("div", Do, [
2810
+ S("fieldset", Bo, [
2811
+ b(o.$slots, "default", {}, () => [
2812
+ (f(!0), g(ce, null, fe(o.options, (i) => (f(), M(Wt, {
2813
+ key: i.value,
2814
+ value: i.value,
2815
+ icon: i.icon
2816
+ }, {
2817
+ default: w(() => [
2818
+ G(F(i.label), 1)
2819
+ ]),
2820
+ _: 2
2821
+ }, 1032, ["value", "icon"]))), 128))
2822
+ ], !0)
2823
+ ])
2824
+ ]));
2825
+ }
2826
+ }), Ro = /* @__PURE__ */ L(wo, [["__scopeId", "data-v-370f74c6"]]), Mo = ["active"], No = {
2827
+ slot: "anchor",
2828
+ class: "anchor"
2829
+ }, Vo = /* @__PURE__ */ $({
2830
+ __name: "CPopup",
2831
+ props: {
2832
+ value: { type: Boolean, default: !1 }
2833
+ },
2834
+ emits: ["mouseleave", "outside-click"],
2835
+ setup(l, { emit: e }) {
2836
+ const t = l, a = e, o = I(null), s = () => {
2837
+ t.value && a("mouseleave");
2838
+ }, i = ({ target: n }) => {
2839
+ var r;
2840
+ n instanceof HTMLElement && !((r = o.value) != null && r.contains(n)) && a("outside-click");
2841
+ };
2842
+ return ht(async () => {
2843
+ t.value ? document.addEventListener("click", i) : document.removeEventListener("click", i);
2844
+ }), Q(() => {
2845
+ var n;
2846
+ (n = o.value) == null || n.addEventListener("mouseleave", s);
2847
+ }), oa(() => {
2848
+ var n;
2849
+ document.removeEventListener("click", i), (n = o.value) == null || n.removeEventListener("mouseleave", s);
2850
+ }), (n, r) => (f(), g("sl-popup", {
2851
+ ref_key: "popup",
2852
+ ref: o,
2853
+ active: n.value,
2854
+ distance: "8",
2855
+ class: "c-popup"
2856
+ }, [
2857
+ S("span", No, [
2858
+ b(n.$slots, "default", {}, void 0, !0)
2859
+ ]),
2860
+ b(n.$slots, "content", {}, void 0, !0)
2861
+ ], 8, Mo));
2862
+ }
2863
+ }), Oo = /* @__PURE__ */ L(Vo, [["__scopeId", "data-v-fcdb504f"]]), Ho = ["data-test", "value", "indeterminate", "label"], Fo = /* @__PURE__ */ $({
2864
+ __name: "CProgressLinear",
2865
+ props: {
2866
+ accessibleText: { default: void 0 },
2867
+ dataTest: { default: "c-progress-linear" },
2868
+ indeterminate: { type: Boolean, default: !1 },
2869
+ rounded: { type: Boolean, default: !0 },
2870
+ value: { default: 0 }
2871
+ },
2872
+ setup(l) {
2873
+ return (e, t) => (f(), g("sl-progress-bar", {
2874
+ class: O(["c-progress-linear", { "c-progress-linear--rounded": e.rounded }]),
2875
+ "data-test": e.dataTest,
2876
+ value: e.value,
2877
+ indeterminate: e.indeterminate || void 0,
2878
+ label: e.accessibleText || e.$t("Loading...")
2879
+ }, null, 10, Ho));
2880
+ }
2881
+ }), Po = /* @__PURE__ */ L(Fo, [["__scopeId", "data-v-46381206"]]), Yo = ["data-test", "aria-label", "aria-valuemax", "aria-valuenow"], Uo = { class: "c-progress-ring__label" }, zo = /* @__PURE__ */ $({
2882
+ __name: "CProgressRing",
2883
+ props: {
2884
+ accessibleText: { default: void 0 },
2885
+ dataTest: { default: "c-progress-ring" },
2886
+ value: { default: 0 },
2887
+ valueMax: { default: 100 },
2888
+ size: { default: 44 },
2889
+ trackWidth: { default: 4 },
2890
+ color: { default: "blue-500" },
2891
+ trackColor: { default: "gray-200" }
2892
+ },
2893
+ setup(l) {
2894
+ const e = l, { cssColor: t } = J(() => e.color), { cssColor: a } = J(() => e.trackColor), o = p(() => 100 * Number(e.value) / Number(e.valueMax));
2895
+ return (s, i) => (f(), g("span", {
2896
+ class: "c-progress-ring",
2897
+ "data-test": s.dataTest,
2898
+ "aria-label": s.accessibleText || s.$t("Loading..."),
2899
+ role: "progressbar",
2900
+ "aria-valuemin": "0",
2901
+ "aria-valuemax": String(s.valueMax),
2902
+ "aria-valuenow": String(s.value),
2903
+ style: x({
2904
+ "--size": `${s.size}px`,
2905
+ "--indicator-color": u(t),
2906
+ "--track-color": u(a),
2907
+ "--track-width": `${s.trackWidth}px`,
2908
+ "--indicator-length": `${o.value}`
2909
+ })
2910
+ }, [
2911
+ i[0] || (i[0] = S("svg", { class: "c-progress-ring__svg" }, [
2912
+ S("circle", { class: "c-progress-ring__track" }),
2913
+ S("circle", {
2914
+ class: "c-progress-ring__indicator",
2915
+ pathLength: "100"
2916
+ })
2917
+ ], -1)),
2918
+ S("span", Uo, [
2919
+ b(s.$slots, "default", {}, void 0, !0)
2920
+ ])
2921
+ ], 12, Yo));
2922
+ }
2923
+ }), Go = /* @__PURE__ */ L(zo, [["__scopeId", "data-v-b9b9c802"]]), Xt = Symbol("radio-state"), qo = ["id", "for", "data-test", "data-selected"], Zo = ["id", "data-test", "name", "value", "checked"], jo = /* @__PURE__ */ $({
2924
+ __name: "CRadio",
2925
+ props: {
2926
+ value: {},
2927
+ id: { default: null },
2928
+ label: { default: null },
2929
+ dataTest: { default: "radio-group-option" },
2930
+ hideRadio: { type: Boolean, default: !1 }
2931
+ },
2932
+ emits: ["change", "blur", "focus"],
2933
+ setup(l, { emit: e }) {
2934
+ const t = l, a = e, { id: o } = te(t), s = pe(o), i = X(
2935
+ Xt,
2936
+ I({
2937
+ value: null,
2938
+ name: s.value,
2939
+ invalid: !1,
2940
+ update: () => {
2941
+ },
2942
+ register: () => {
2943
+ },
2944
+ unregister: () => {
2945
+ }
2946
+ })
2947
+ ), n = (r) => {
2948
+ const d = r.target;
2949
+ i.value.update(d.checked ? t.value : null), a("change", r);
2950
+ };
2951
+ return Q(() => {
2952
+ i.value.register(t.value);
2953
+ }), he(() => {
2954
+ i.value.unregister(t.value);
2955
+ }), (r, d) => (f(), g("label", {
2956
+ id: u(s),
2957
+ for: `${u(s)}-input`,
2958
+ "data-test": r.dataTest,
2959
+ "data-selected": u(i).value === r.value || void 0,
2960
+ class: O(["c-radio", {
2961
+ "c-radio--invalid": u(i).invalid,
2962
+ "c-radio--checked": u(i).value === r.value
2963
+ }])
2964
+ }, [
2965
+ S("input", {
2966
+ id: `${u(s)}-input`,
2967
+ type: "radio",
2968
+ "data-test": `${r.dataTest}-input`,
2969
+ class: O(["c-radio__input", { "sr-only": r.hideRadio }]),
2970
+ name: u(i).name,
2971
+ value: r.value,
2972
+ checked: u(i).value === r.value || void 0,
2973
+ onChange: d[0] || (d[0] = (c) => n(c)),
2974
+ onBlur: d[1] || (d[1] = (c) => r.$emit("blur")),
2975
+ onFocus: d[2] || (d[2] = (c) => r.$emit("focus"))
2976
+ }, null, 42, Zo),
2977
+ b(r.$slots, "label", {}, () => [
2978
+ G(F(r.label), 1)
2979
+ ], !0)
2980
+ ], 10, qo));
2981
+ }
2982
+ }), Wo = /* @__PURE__ */ L(jo, [["__scopeId", "data-v-a18ed533"]]), Xo = ["id", "data-test", "aria-invalid", "aria-labelledby", "aria-errormessage"], Ko = ["id", "data-test"], Jo = /* @__PURE__ */ $({
2983
+ __name: "CRadioGroup",
2984
+ props: {
2985
+ value: { default: null },
2986
+ id: { default: null },
2987
+ dataTest: { default: "radio-group" },
2988
+ label: { default: null },
2989
+ column: { type: Boolean, default: !0 },
2990
+ mandatory: { type: Boolean, default: !1 },
2991
+ rules: { default: () => [] },
2992
+ hideDetails: { type: [Boolean, String], default: !1 }
2993
+ },
2994
+ emits: ["change", "input"],
2995
+ setup(l, { emit: e }) {
2996
+ const t = l, a = e, { value: o, rules: s, id: i, mandatory: n } = te(t), r = pe(i), d = I(null), c = ae(o, {
2997
+ onChange: (_) => {
2998
+ a("change", _), a("input", _);
2999
+ }
3000
+ }), {
3001
+ startValidating: m,
3002
+ message: h,
3003
+ valid: y
3004
+ } = Le({
3005
+ id: r,
3006
+ value: c,
3007
+ rules: s,
3008
+ required: n,
3009
+ validateOn: "change"
3010
+ });
3011
+ return W(
3012
+ Xt,
3013
+ p(() => ({
3014
+ invalid: !y.value,
3015
+ value: c.value,
3016
+ name: r.value,
3017
+ update: (_) => {
3018
+ c.value = _;
3019
+ },
3020
+ register: (_) => {
3021
+ t.mandatory && c.value === null && (c.value = _);
3022
+ },
3023
+ unregister: (_) => {
3024
+ c.value === _ && (c.value = null);
3025
+ }
3026
+ }))
3027
+ ), q(c, () => {
3028
+ m();
3029
+ }), (_, N) => (f(), g("fieldset", {
3030
+ id: u(r),
3031
+ ref_key: "radioGroup",
3032
+ ref: d,
3033
+ "data-test": _.dataTest,
3034
+ role: "radiogroup",
3035
+ class: O(["c-radio-group", {
3036
+ "c-radio-group--column": _.column,
3037
+ "c-radio-group--row": !_.column,
3038
+ "c-radio-group--invalid": !u(y)
3039
+ }]),
3040
+ "aria-invalid": u(y) ? "false" : "true",
3041
+ "aria-labelledby": `${u(r)}-label`,
3042
+ "aria-errormessage": `${u(r)}-message`
3043
+ }, [
3044
+ S("span", {
3045
+ id: `${u(r)}-label`,
3046
+ "data-test": `${_.dataTest}-label`
3047
+ }, [
3048
+ b(_.$slots, "label", {}, () => [
3049
+ G(F(_.label), 1)
3050
+ ], !0)
3051
+ ], 8, Ko),
3052
+ b(_.$slots, "default", {}, void 0, !0),
3053
+ P(ye, {
3054
+ id: `${u(r)}-message`,
3055
+ "data-test": `${_.dataTest}-message`,
3056
+ "validation-message": u(h),
3057
+ hide: _.hideDetails
3058
+ }, {
3059
+ default: w(() => [
3060
+ b(_.$slots, "message", {}, void 0, !0)
3061
+ ]),
3062
+ _: 3
3063
+ }, 8, ["id", "data-test", "validation-message", "hide"])
3064
+ ], 10, Xo));
3065
+ }
3066
+ }), Qo = /* @__PURE__ */ L(Jo, [["__scopeId", "data-v-d68efbf0"]]), xo = /* @__PURE__ */ $({
3067
+ __name: "CRebrand",
3068
+ props: {
3069
+ fullWidth: { type: Boolean, default: !1 }
3070
+ },
3071
+ setup(l) {
3072
+ return (e, t) => (f(), g("div", {
3073
+ class: O({ "w-100": e.fullWidth })
3074
+ }, [
3075
+ b(e.$slots, "default", {}, void 0, !0)
3076
+ ], 2));
3077
+ }
3078
+ }), en = /* @__PURE__ */ L(xo, [["__scopeId", "data-v-011ad982"]]), tn = /* @__PURE__ */ $({
3079
+ __name: "CRow",
3080
+ props: {
3081
+ align: { default: null },
3082
+ alignContent: { default: null },
3083
+ dense: { type: Boolean, default: !1 },
3084
+ noGutters: { type: Boolean, default: !1 },
3085
+ justify: { default: null }
3086
+ },
3087
+ setup(l) {
3088
+ return (e, t) => (f(), g("div", {
3089
+ class: O(["c-row", {
3090
+ "c-row--dense": e.dense,
3091
+ "c-row--no-gutters": e.noGutters,
3092
+ [`align-${e.align}`]: e.align,
3093
+ [`align-content-${e.alignContent}`]: e.alignContent,
3094
+ [`justify-${e.justify}`]: e.justify
3095
+ }])
3096
+ }, [
3097
+ b(e.$slots, "default", {}, void 0, !0)
3098
+ ], 2));
3099
+ }
3100
+ }), an = /* @__PURE__ */ L(tn, [["__scopeId", "data-v-426af58c"]]), ln = {}, sn = { class: "c-safe-area" };
3101
+ function on(l, e) {
3102
+ return f(), g("div", sn, [
3103
+ b(l.$slots, "default", {}, void 0, !0)
3104
+ ]);
3105
+ }
3106
+ const nn = /* @__PURE__ */ L(ln, [["render", on], ["__scopeId", "data-v-d4b412f9"]]), rn = {
3107
+ class: "c-section-header",
3108
+ "data-test": "section-header"
3109
+ }, dn = /* @__PURE__ */ $({
3110
+ __name: "CSectionHeader",
3111
+ props: {
3112
+ tag: { default: "h2" },
3113
+ title: { default: "" }
3114
+ },
3115
+ setup(l) {
3116
+ return W(Ne, I(!0)), (e, t) => (f(), g("div", rn, [
3117
+ (f(), M(De(e.tag), {
3118
+ class: "c-section-header__title",
3119
+ "data-test": "section-header-title"
3120
+ }, {
3121
+ default: w(() => [
3122
+ G(F(e.title), 1)
3123
+ ]),
3124
+ _: 1
3125
+ })),
3126
+ b(e.$slots, "append", {}, void 0, !0)
3127
+ ]));
3128
+ }
3129
+ }), un = /* @__PURE__ */ L(dn, [["__scopeId", "data-v-f3be92b0"]]), cn = {}, fn = {
3130
+ class: "c-skeleton",
3131
+ "data-test": "skeleton"
3132
+ };
3133
+ function pn(l, e) {
3134
+ return f(), g("div", fn, e[0] || (e[0] = [
3135
+ S("div", { class: "c-skeleton__indicator" }, null, -1)
3136
+ ]));
3137
+ }
3138
+ const Oe = /* @__PURE__ */ L(cn, [["render", pn], ["__scopeId", "data-v-aecc010b"]]), vn = /* @__PURE__ */ $({
3139
+ __name: "CSkeletonLoaderCard",
3140
+ props: {
3141
+ height: { default: 100 }
3142
+ },
3143
+ setup(l) {
3144
+ return (e, t) => (f(), g("div", {
3145
+ class: "c-skeleton-loader-card",
3146
+ "data-test": "skeleton-loader-card",
3147
+ style: x({ height: `${e.height}px` })
3148
+ }, [
3149
+ P(Oe)
3150
+ ], 4));
3151
+ }
3152
+ }), mn = {
3153
+ class: "c-skeleton-loader-circle",
3154
+ "data-test": "skeleton-loader-circle"
3155
+ }, bn = /* @__PURE__ */ $({
3156
+ __name: "CSkeletonLoaderCircle",
3157
+ setup(l) {
3158
+ return (e, t) => (f(), g("div", mn, [
3159
+ P(Oe)
3160
+ ]));
3161
+ }
3162
+ }), gn = /* @__PURE__ */ L(bn, [["__scopeId", "data-v-bb292787"]]), hn = /* @__PURE__ */ $({
3163
+ __name: "CSkeletonLoaderText",
3164
+ props: {
3165
+ align: { default: "start" },
3166
+ rows: { default: 2 },
3167
+ type: { default: "body" }
3168
+ },
3169
+ setup(l) {
3170
+ const e = {
3171
+ balance: "c-skeleton-loader-text__line--balance",
3172
+ body: "c-skeleton-loader-text__line--body",
3173
+ caption: "c-skeleton-loader-text__line--caption",
3174
+ eyebrow: "c-skeleton-loader-text__line--eyebrow",
3175
+ headline: "c-skeleton-loader-text__line--headline",
3176
+ "large-headline": "c-skeleton-loader-text__line--large-headline",
3177
+ // @deprecated use 'eyebrow' instead
3178
+ overline: "c-skeleton-loader-text__line--eyebrow",
3179
+ statement: "c-skeleton-loader-text__line--statement",
3180
+ subheadline: "c-skeleton-loader-text__line--subheadline",
3181
+ "wallet-caption": "c-skeleton-loader-text__line--wallet-caption",
3182
+ "x-large-headline": "c-skeleton-loader-text__line--x-large-headline"
3183
+ }, t = l, a = p(() => e[t.type]);
3184
+ return (o, s) => (f(), g("div", {
3185
+ "data-test": "skeleton-loader-text",
3186
+ class: O(["c-skeleton-loader-text", { [`align-${o.align}`]: o.align }])
3187
+ }, [
3188
+ (f(!0), g(ce, null, fe(o.rows, (i) => (f(), g("div", {
3189
+ key: i,
3190
+ class: O([a.value, "c-skeleton-loader-text__line"]),
3191
+ "data-test": "skeleton-loader-text-line"
3192
+ }, [
3193
+ P(Oe, { class: "c-skeleton-loader-text__line__skeleton" }),
3194
+ s[0] || (s[0] = G("   ", -1))
3195
+ ], 2))), 128))
3196
+ ], 2));
3197
+ }
3198
+ }), _n = /* @__PURE__ */ L(hn, [["__scopeId", "data-v-faff1792"]]), Cn = /* @__PURE__ */ $({
3199
+ __name: "CSlideFadeTransition",
3200
+ props: {
3201
+ amount: { default: 20 },
3202
+ direction: { default: "to-left" }
3203
+ },
3204
+ setup(l) {
3205
+ return (e, t) => (f(), g("div", {
3206
+ class: O(e.direction),
3207
+ style: x({ "--slide-fade-amount": `${e.amount}px` })
3208
+ }, [
3209
+ P(vt, {
3210
+ name: "slide-fade",
3211
+ mode: "out-in"
3212
+ }, {
3213
+ default: w(() => [
3214
+ b(e.$slots, "default", {}, void 0, !0)
3215
+ ]),
3216
+ _: 3
3217
+ })
3218
+ ], 6));
3219
+ }
3220
+ }), yn = /* @__PURE__ */ L(Cn, [["__scopeId", "data-v-587b729f"]]), $n = /* @__PURE__ */ $({
3221
+ __name: "CSplitInput",
3222
+ props: {
3223
+ autocomplete: { default: void 0 },
3224
+ dataTest: { default: "split-input" },
3225
+ disabled: { type: Boolean, default: !1 },
3226
+ fields: {},
3227
+ inputmode: { default: void 0 },
3228
+ label: { default: null },
3229
+ name: { default: void 0 },
3230
+ rules: { default: () => [] },
3231
+ type: { default: "text" },
3232
+ value: { default: "" }
3233
+ },
3234
+ setup(l) {
3235
+ const e = l, t = I(""), a = p(() => e.fields.map((s) => `${s.placeholder ?? ""}${s.separator ?? ""}`).join("")), o = p(() => e.fields.map((s) => `${Array(s.characters).fill("*").join("")}${s.separator ?? ""}`).join(""));
3236
+ return (s, i) => (f(), M($e, U(s.$attrs, {
3237
+ "data-test": s.dataTest,
3238
+ class: "c-split-input",
3239
+ type: s.type,
3240
+ label: s.label,
3241
+ name: s.name,
3242
+ inputmode: s.inputmode,
3243
+ value: s.value,
3244
+ rules: s.rules,
3245
+ placeholder: a.value,
3246
+ disabled: s.disabled,
3247
+ autocomplete: s.autocomplete,
3248
+ size: "large",
3249
+ mask: o.value,
3250
+ "onInput:masked": i[0] || (i[0] = (n) => t.value = n)
3251
+ }), {
3252
+ label: w(() => [
3253
+ b(s.$slots, "label", {}, void 0, !0)
3254
+ ]),
3255
+ message: w(() => [
3256
+ b(s.$slots, "message", {}, void 0, !0)
3257
+ ]),
3258
+ _: 3
3259
+ }, 16, ["data-test", "type", "label", "name", "inputmode", "value", "rules", "placeholder", "disabled", "autocomplete", "mask"]));
3260
+ }
3261
+ }), kn = /* @__PURE__ */ L($n, [["__scopeId", "data-v-d07558f9"]]), Tn = /* @__PURE__ */ $({
3262
+ __name: "CSsnField",
3263
+ props: {
3264
+ dataTest: { default: "ssn-field" },
3265
+ id: { default: void 0 },
3266
+ label: { default: null },
3267
+ rules: { default: () => [] },
3268
+ value: { default: "" },
3269
+ fourDigitSsn: { type: Boolean, default: !1 }
3270
+ },
3271
+ emits: ["input", "focus", "blur", "change"],
3272
+ setup(l, { expose: e }) {
3273
+ const t = l, { t: a } = ve(), o = p(() => t.fourDigitSsn ? a("Last 4 digits of SSN") : a("Social Security number")), s = p(() => {
3274
+ const d = Te(4, a("Please enter the last four digits of your SSN")), c = Te(
3275
+ 9,
3276
+ a("Please enter a valid {inputLabel}", { inputLabel: a("Social Security number") })
3277
+ );
3278
+ return [t.fourDigitSsn ? d : c];
3279
+ }), i = p(() => [...s.value, ...t.rules]), { field: n, focus: r } = xe();
3280
+ return e({ focus: r }), (d, c) => (f(), M($e, U(d.$attrs, {
3281
+ id: d.id,
3282
+ ref_key: "field",
3283
+ ref: n,
3284
+ "data-test": d.dataTest,
3285
+ value: d.value,
3286
+ label: d.label || o.value,
3287
+ placeholder: d.fourDigitSsn ? "XXXX" : "XXX-XX-XXXX",
3288
+ inputmode: "numeric",
3289
+ mask: d.fourDigitSsn ? "####" : "###-##-####",
3290
+ minlength: d.fourDigitSsn ? 4 : 9,
3291
+ maxlength: d.fourDigitSsn ? 4 : 9,
3292
+ hideable: !d.fourDigitSsn,
3293
+ autocorrect: "off",
3294
+ autocapitalize: "none",
3295
+ rules: i.value,
3296
+ onInput: c[0] || (c[0] = (m) => d.$emit("input", m)),
3297
+ onFocus: c[1] || (c[1] = (m) => d.$emit("focus", m)),
3298
+ onBlur: c[2] || (c[2] = (m) => d.$emit("blur", m)),
3299
+ onChange: c[3] || (c[3] = (m) => d.$emit("change", m))
3300
+ }), {
3301
+ label: w(() => [
3302
+ b(d.$slots, "label")
3303
+ ]),
3304
+ message: w(() => [
3305
+ b(d.$slots, "message")
3306
+ ]),
3307
+ append: w(() => [
3308
+ d.fourDigitSsn ? (f(), M(u(z), {
3309
+ key: 0,
3310
+ icon: u(da),
3311
+ "fixed-width": ""
3312
+ }, null, 8, ["icon"])) : R("", !0)
3313
+ ]),
3314
+ _: 3
3315
+ }, 16, ["id", "data-test", "value", "label", "placeholder", "mask", "minlength", "maxlength", "hideable", "rules"]));
3316
+ }
3317
+ }), Ln = /* @__PURE__ */ $({
3318
+ __name: "CStatusDot",
3319
+ props: {
3320
+ count: { default: null },
3321
+ bordered: { type: Boolean, default: !1 }
3322
+ },
3323
+ setup(l) {
3324
+ const e = l;
3325
+ Ft();
3326
+ const t = p(() => e.count !== null), a = p(() => e.count && e.count > 9 ? "9+" : e.count);
3327
+ return (o, s) => (f(), g("div", {
3328
+ class: O(["c-status-dot", {
3329
+ "c-status-dot--count": t.value,
3330
+ "c-status-dot--bordered": o.bordered
3331
+ }]),
3332
+ "data-test": "status-dot",
3333
+ role: "img"
3334
+ }, F(a.value), 3));
3335
+ }
3336
+ }), En = /* @__PURE__ */ L(Ln, [["__scopeId", "data-v-3f2f25d9"]]), In = ["checked", "disabled"], An = {
3337
+ key: 0,
3338
+ class: "c-switch__sr-label"
3339
+ }, Sn = /* @__PURE__ */ $({
3340
+ __name: "CSwitch",
3341
+ props: {
3342
+ ariaLabel: { default: "" },
3343
+ disabled: { type: Boolean, default: !1 },
3344
+ labelFirst: { type: Boolean, default: !1 },
3345
+ value: { type: Boolean, default: !1 }
3346
+ },
3347
+ emits: ["input"],
3348
+ setup(l, { emit: e }) {
3349
+ const t = l, a = e, { value: o } = te(t), s = ae(o, {
3350
+ onChange: (i) => a("input", i)
3351
+ });
3352
+ return (i, n) => (f(), g("sl-switch", {
3353
+ class: O(["c-switch", {
3354
+ "c-switch--label-first": i.labelFirst,
3355
+ "c-switch--disabled": i.disabled,
3356
+ "c-switch--checked": u(s),
3357
+ "c-switch--aria-labelled": i.ariaLabel
3358
+ }]),
3359
+ checked: u(s) || void 0,
3360
+ disabled: i.disabled || void 0,
3361
+ onSlChange: n[0] || (n[0] = (r) => s.value = !u(s))
3362
+ }, [
3363
+ b(i.$slots, "default", {}, void 0, !0),
3364
+ i.ariaLabel ? (f(), g("span", An, F(i.ariaLabel), 1)) : R("", !0)
3365
+ ], 42, In));
3366
+ }
3367
+ }), Kt = /* @__PURE__ */ L(Sn, [["__scopeId", "data-v-e6b0a9f0"]]), Dn = /* @__PURE__ */ $({
3368
+ __name: "CSwitchListItem",
3369
+ props: {
3370
+ align: { default: "center" },
3371
+ disabled: { type: Boolean, default: !1 },
3372
+ icon: { default: null },
3373
+ iconColor: { default: "gray-100" },
3374
+ label: { default: void 0 },
3375
+ title: { default: void 0 },
3376
+ value: { type: Boolean, default: !1 }
3377
+ },
3378
+ emits: ["input"],
3379
+ setup(l) {
3380
+ const e = K("icon");
3381
+ return (t, a) => (f(), M(zt, null, {
3382
+ default: w(() => [
3383
+ P(Kt, {
3384
+ "data-test": "list-item-switch",
3385
+ class: "c-switch-list-item__switch",
3386
+ value: t.value,
3387
+ disabled: t.disabled,
3388
+ onInput: a[0] || (a[0] = (o) => t.$emit("input", o))
3389
+ }, {
3390
+ default: w(() => [
3391
+ S("div", {
3392
+ class: O(["d-flex flex-row gap-3", {
3393
+ "align-start": t.align === "top",
3394
+ "align-center": t.align !== "top"
3395
+ }])
3396
+ }, [
3397
+ b(t.$slots, "prepend", {}, () => [
3398
+ t.icon || u(e) ? (f(), M(Qe, {
3399
+ key: 0,
3400
+ icon: t.icon,
3401
+ "icon-color": t.iconColor
3402
+ }, {
3403
+ icon: w(() => [
3404
+ b(t.$slots, "icon", {}, void 0, !0)
3405
+ ]),
3406
+ _: 3
3407
+ }, 8, ["icon", "icon-color"])) : R("", !0)
3408
+ ], !0),
3409
+ P(Ut, {
3410
+ title: t.title,
3411
+ label: t.label
3412
+ }, gt({ _: 2 }, [
3413
+ fe(["title", "label", "default"], (o) => ({
3414
+ name: o,
3415
+ fn: w(() => [
3416
+ b(t.$slots, o, {}, void 0, !0)
3417
+ ])
3418
+ }))
3419
+ ]), 1032, ["title", "label"])
3420
+ ], 2)
3421
+ ]),
3422
+ _: 3
3423
+ }, 8, ["value", "disabled"])
3424
+ ]),
3425
+ _: 3
3426
+ }));
3427
+ }
3428
+ }), Bn = /* @__PURE__ */ L(Dn, [["__scopeId", "data-v-337edd4f"]]), wn = ["data-test"], Rn = ["for", "data-test"], Mn = ["id", "aria-label", "aria-describedby", "aria-invalid", "data-test", "disabled", "placeholder", "maxlength", "required", "value"], Nn = ["id", "data-test"], Vn = /* @__PURE__ */ $({
3429
+ __name: "CTextArea",
3430
+ props: {
3431
+ counter: { default: null },
3432
+ counterValue: { type: [Number, Function, null], default: null },
3433
+ dataTest: { default: "text-area" },
3434
+ disabled: { type: Boolean, default: !1 },
3435
+ errorMessage: { default: null },
3436
+ hideLabel: { type: Boolean, default: !1 },
3437
+ hideDetails: { type: [Boolean, String], default: !1 },
3438
+ id: { default: null },
3439
+ label: { default: null },
3440
+ maxlength: { default: void 0 },
3441
+ placeholder: { default: "" },
3442
+ required: { type: Boolean, default: !1 },
3443
+ rules: { default: () => [] },
3444
+ value: { default: "" }
3445
+ },
3446
+ emits: ["input", "change", "blur", "focus"],
3447
+ setup(l, { emit: e }) {
3448
+ const t = l, a = e, { value: o, rules: s, required: i, id: n } = te(t), r = pe(n), d = ae(o, {
3449
+ onChange: (B) => a("input", B)
3450
+ }), c = K("message"), m = I(null), {
3451
+ message: h,
3452
+ valid: y,
3453
+ listeners: _
3454
+ } = Le({
3455
+ id: r,
3456
+ value: d,
3457
+ rules: s,
3458
+ required: i,
3459
+ field: m
3460
+ }), N = p(() => !y.value || !!t.errorMessage), A = (B) => {
3461
+ const v = B.target;
3462
+ d.value = v.value;
3463
+ };
3464
+ return (B, v) => (f(), g("div", {
3465
+ class: O(["d-flex flex-column gap-1", {
3466
+ "c-text-area--disabled": B.disabled,
3467
+ "c-text-area--invalid": N.value,
3468
+ "c-text-area--hide-label": B.hideLabel
3469
+ }]),
3470
+ "data-test": B.dataTest
3471
+ }, [
3472
+ S("label", {
3473
+ class: "c-text-area__label",
3474
+ for: u(r),
3475
+ "data-test": `${B.dataTest}-label`
3476
+ }, [
3477
+ b(B.$slots, "label", {}, () => [
3478
+ G(F(B.label), 1)
3479
+ ], !0)
3480
+ ], 8, Rn),
3481
+ S("textarea", U({
3482
+ id: u(r),
3483
+ ref_key: "textarea",
3484
+ ref: m,
3485
+ class: "c-text-area__input",
3486
+ rows: "4",
3487
+ "aria-label": B.label || void 0,
3488
+ "aria-describedby": `${u(r)}-message ${u(r)}-validation-message`,
3489
+ "aria-invalid": N.value ? "true" : "false",
3490
+ "data-test": `${B.dataTest}-textarea`,
3491
+ disabled: B.disabled,
3492
+ placeholder: B.placeholder,
3493
+ maxlength: B.maxlength,
3494
+ required: u(i),
3495
+ value: u(d),
3496
+ onInput: A,
3497
+ onBlur: v[0] || (v[0] = (E) => B.$emit("blur")),
3498
+ onFocus: v[1] || (v[1] = (E) => B.$emit("focus")),
3499
+ onChange: v[2] || (v[2] = (E) => B.$emit("change", u(d)))
3500
+ }, Be(u(_), !0)), null, 16, Mn),
3501
+ P(ye, {
3502
+ "data-test": `${B.dataTest}-validation-message`,
3503
+ "validation-message": B.errorMessage || u(h),
3504
+ hide: B.hideDetails
3505
+ }, {
3506
+ append: w(() => [
3507
+ B.counter ? (f(), M(Ht, {
3508
+ key: 0,
3509
+ "data-test": `${B.dataTest}-counter`,
3510
+ counter: B.counter,
3511
+ "counter-value": B.counterValue,
3512
+ value: u(d)
3513
+ }, null, 8, ["data-test", "counter", "counter-value", "value"])) : R("", !0)
3514
+ ]),
3515
+ _: 1
3516
+ }, 8, ["data-test", "validation-message", "hide"]),
3517
+ u(c) ? (f(), g("div", {
3518
+ key: 0,
3519
+ id: `${u(r)}-message`,
3520
+ class: "c-text-area__message",
3521
+ "data-test": `${B.dataTest}-message`
3522
+ }, [
3523
+ b(B.$slots, "message", {}, void 0, !0)
3524
+ ], 8, Nn)) : R("", !0)
3525
+ ], 10, wn));
3526
+ }
3527
+ }), On = /* @__PURE__ */ L(Vn, [["__scopeId", "data-v-6a001914"]]), Hn = ["target", "href", "tabindex", "role"], Fn = /* @__PURE__ */ $({
3528
+ __name: "CTextLink",
3529
+ props: {
3530
+ to: { default: void 0 },
3531
+ href: { default: void 0 },
3532
+ target: { default: void 0 },
3533
+ underline: { type: Boolean, default: !0 }
3534
+ },
3535
+ setup(l) {
3536
+ const e = l, t = p(() => e.to), { href: a, navigate: o } = We(t), s = p(() => a.value ?? e.href), i = p(() => !e.to && !e.href);
3537
+ return (n, r) => (f(), g("a", U(n.$attrs, {
3538
+ target: n.target,
3539
+ href: s.value,
3540
+ tabindex: i.value ? 0 : void 0,
3541
+ role: i.value ? "button" : void 0,
3542
+ class: ["c-text-link", { "c-text-link--underline": n.underline }],
3543
+ onClick: r[0] || (r[0] = //@ts-ignore
3544
+ (...d) => u(o) && u(o)(...d))
3545
+ }), [
3546
+ b(n.$slots, "default", {}, void 0, !0)
3547
+ ], 16, Hn));
3548
+ }
3549
+ }), Pn = /* @__PURE__ */ L(Fn, [["__scopeId", "data-v-8ac57bbb"]]), Yn = ["src", "alt"], Un = /* @__PURE__ */ $({
3550
+ __name: "CThirdPartyLogo",
3551
+ props: {
3552
+ alt: {},
3553
+ color: { default: "gray-100" },
3554
+ icon: { default: null },
3555
+ size: { default: "medium" },
3556
+ src: { default: "" }
3557
+ },
3558
+ setup(l) {
3559
+ const e = {
3560
+ medium: "40px",
3561
+ large: "56px"
3562
+ }, t = I("loading"), a = () => {
3563
+ t.value = "failed";
3564
+ }, o = () => {
3565
+ t.value = "loaded";
3566
+ };
3567
+ return (s, i) => (f(), g("div", {
3568
+ class: "c-third-party-logo",
3569
+ style: x({ "--size": e[s.size] })
3570
+ }, [
3571
+ t.value === "loaded" || t.value === "loading" ? (f(), g("img", {
3572
+ key: 0,
3573
+ class: O(["c-third-party-logo__img transition-opacity", { "opacity-0": t.value === "loading" }]),
3574
+ src: s.src,
3575
+ alt: s.alt,
3576
+ onError: a,
3577
+ onLoad: o
3578
+ }, null, 42, Yn)) : R("", !0),
3579
+ P(Je, {
3580
+ class: O(["transition-opacity", { "opacity-0": t.value === "loaded" }]),
3581
+ icon: s.icon,
3582
+ color: s.color,
3583
+ large: s.size === "large"
3584
+ }, null, 8, ["class", "icon", "color", "large"])
3585
+ ], 4));
3586
+ }
3587
+ }), zn = /* @__PURE__ */ L(Un, [["__scopeId", "data-v-ccf3620c"]]), Gn = ["datetime"], qn = /* @__PURE__ */ $({
3588
+ __name: "CTimeago",
3589
+ props: {
3590
+ datetime: {},
3591
+ converter: {},
3592
+ locale: { default: "en" },
3593
+ autoUpdate: { type: [Number, Boolean], default: 60 }
3594
+ },
3595
+ setup(l) {
3596
+ const e = l, t = I(0);
3597
+ let a = null;
3598
+ const o = p(() => new Date(e.datetime).toISOString()), s = p(
3599
+ () => e.converter(e.datetime, e.locale, t.value)
3600
+ ), i = () => {
3601
+ e.autoUpdate && (a = setInterval(() => t.value++, e.autoUpdate * 1e3));
3602
+ }, n = () => {
3603
+ a && (clearInterval(a), a = null);
3604
+ };
3605
+ return q(
3606
+ () => e.autoUpdate,
3607
+ (r) => {
3608
+ n(), r && i();
3609
+ }
3610
+ ), Q(() => {
3611
+ i();
3612
+ }), he(() => {
3613
+ n();
3614
+ }), (r, d) => (f(), g("time", U(r.$attrs, { datetime: o.value }), F(s.value), 17, Gn));
3615
+ }
3616
+ }), Zn = ["data-test", "data-open", "data-variant", "duration"], jn = { class: "flex-grow-1 d-flex flex-row align-center gap-4" }, Wn = {
3617
+ class: "c-toast__message flex-grow-1",
3618
+ "data-test": "toast-message"
3619
+ }, Xn = 5e3, Kn = 150, ct = 0.75, Jn = /* @__PURE__ */ $({
3620
+ __name: "CToast",
3621
+ props: {
3622
+ dataTest: { default: "toast" },
3623
+ dismissible: { type: Boolean, default: void 0 },
3624
+ error: { type: Boolean, default: !1 },
3625
+ message: { default: "" },
3626
+ success: { type: Boolean, default: !1 },
3627
+ value: { type: Boolean, default: !1 },
3628
+ variant: { default: "info" },
3629
+ warning: { type: Boolean, default: !1 }
3630
+ },
3631
+ emits: ["hide", "input"],
3632
+ setup(l, { emit: e }) {
3633
+ const t = l, a = e, o = I(null), s = I(t.value), i = p(() => t.error ? "error" : t.success ? "success" : t.warning ? "warning" : t.variant), n = async () => {
3634
+ var v;
3635
+ s.value = !0, (v = o.value) == null || v.toast();
3636
+ }, r = () => {
3637
+ s.value = !1, a("input", !1), a("hide");
3638
+ }, d = async () => {
3639
+ var v;
3640
+ (v = o.value) == null || v.hide();
3641
+ };
3642
+ ht(() => t.value ? n() : d()), he(() => d());
3643
+ const c = p(() => t.dismissible !== void 0 ? !t.dismissible : i.value === "success"), m = p(() => c.value ? Xn : 1 / 0), h = p(() => i.value === "error" ? ua : i.value === "success" ? ca : fa), y = I("default");
3644
+ ue(o, "alert.hide", y);
3645
+ const _ = () => {
3646
+ y.value = "default";
3647
+ }, { base: N } = Bt(o, ["base"]), { dragDistance: A } = wt(N, {
3648
+ onDragEnd: async ({ distance: v, velocity: E }) => {
3649
+ var H;
3650
+ const D = Math.abs(v.x), Y = Math.abs(E.x), le = D > Kn || Y > ct, Z = D / N.value.clientWidth;
3651
+ if (le) {
3652
+ const C = Math.max(N.value.clientWidth - D, 0) / Math.max(Y, ct), V = E.x > 0 ? rt : dt;
3653
+ y.value = V({
3654
+ start: Z,
3655
+ duration: C,
3656
+ end: 1.1
3657
+ }), d();
3658
+ } else {
3659
+ const C = (E.x > 0 ? rt : dt)({ start: Z, end: 0 });
3660
+ (H = N.value) == null || H.animate(C.keyframes, C.options);
3661
+ }
3662
+ }
3663
+ }), B = p(() => {
3664
+ var v;
3665
+ return `translateX(${((v = A.value) == null ? void 0 : v.x) ?? 0}px)`;
3666
+ });
3667
+ return (v, E) => (f(), g("sl-alert", {
3668
+ ref_key: "alert",
3669
+ ref: o,
3670
+ class: O(["c-toast", `c-toast--${i.value}`]),
3671
+ "data-test": v.dataTest,
3672
+ "data-open": s.value || void 0,
3673
+ "data-variant": i.value,
3674
+ duration: m.value,
3675
+ style: x({ "--toast-base-transform": B.value }),
3676
+ onSlHide: r,
3677
+ onSlAfterHide: _
3678
+ }, [
3679
+ S("div", jn, [
3680
+ b(v.$slots, "icon", {}, () => [
3681
+ P(u(z), {
3682
+ "data-test": "toast-icon",
3683
+ "fixed-width": "",
3684
+ class: "c-toast__icon",
3685
+ icon: h.value
3686
+ }, null, 8, ["icon"])
3687
+ ], !0),
3688
+ S("div", Wn, [
3689
+ b(v.$slots, "default", {}, () => [
3690
+ G(F(v.message), 1)
3691
+ ], !0)
3692
+ ])
3693
+ ]),
3694
+ P(ke, {
3695
+ "data-test": "toast-dismiss",
3696
+ variant: "tertiary",
3697
+ "aria-label": v.$t("Close"),
3698
+ icon: u(Re),
3699
+ onClick: d
3700
+ }, null, 8, ["aria-label", "icon"])
3701
+ ], 46, Zn));
3702
+ }
3703
+ }), Jt = /* @__PURE__ */ L(Jn, [["__scopeId", "data-v-2b78e8be"]]), Qn = "GLOBAL_TOAST";
3704
+ function xn() {
3705
+ return X(Qn, {
3706
+ dismissToast: () => {
3707
+ },
3708
+ showToast: () => {
3709
+ },
3710
+ toasts: I([])
3711
+ });
3712
+ }
3713
+ const ei = /* @__PURE__ */ $({
3714
+ __name: "CToastsList",
3715
+ setup(l) {
3716
+ const { toasts: e, dismissToast: t } = xn();
3717
+ return (a, o) => (f(!0), g(ce, null, fe(u(e), (s) => (f(), M(Jt, {
3718
+ key: s.id,
3719
+ value: !0,
3720
+ "data-test": s.dataTest || "c-toast",
3721
+ message: s.message,
3722
+ variant: s.variant,
3723
+ onHide: (i) => u(t)(s.id)
3724
+ }, null, 8, ["data-test", "message", "variant", "onHide"]))), 128));
3725
+ }
3726
+ }), ti = /* @__PURE__ */ $({
3727
+ __name: "CZipcodeField",
3728
+ props: {
3729
+ dataTest: { default: "zipcode-field" },
3730
+ id: { default: void 0 },
3731
+ label: { default: null },
3732
+ placeholder: { default: null },
3733
+ rules: { default: () => [] },
3734
+ value: { default: "" }
3735
+ },
3736
+ emits: ["input", "focus", "blur", "change"],
3737
+ setup(l, { expose: e }) {
3738
+ const t = l, { t: a } = ve(), o = [
3739
+ Te(5, a("Please enter a valid {inputLabel}", { inputLabel: a("ZIP Code") }))
3740
+ ], s = p(() => [...o, ...t.rules]), { field: i, focus: n } = xe();
3741
+ return e({ focus: n }), (r, d) => (f(), M($e, U(r.$attrs, {
3742
+ id: r.id,
3743
+ ref_key: "field",
3744
+ ref: i,
3745
+ "data-test": r.dataTest,
3746
+ value: r.value,
3747
+ name: "zip",
3748
+ label: r.label || r.$t("ZIP Code"),
3749
+ mask: "#####",
3750
+ placeholder: r.placeholder || "12345",
3751
+ minlength: 5,
3752
+ maxlength: 5,
3753
+ type: "tel",
3754
+ autocorrect: "off",
3755
+ autocapitalize: "none",
3756
+ rules: s.value,
3757
+ onInput: d[0] || (d[0] = (c) => r.$emit("input", c)),
3758
+ onFocus: d[1] || (d[1] = (c) => r.$emit("focus", c)),
3759
+ onBlur: d[2] || (d[2] = (c) => r.$emit("blur", c)),
3760
+ onChange: d[3] || (d[3] = (c) => r.$emit("change", c))
3761
+ }), {
3762
+ label: w(() => [
3763
+ b(r.$slots, "label")
3764
+ ]),
3765
+ message: w(() => [
3766
+ b(r.$slots, "message")
3767
+ ]),
3768
+ _: 3
3769
+ }, 16, ["id", "data-test", "value", "label", "placeholder", "rules"]));
3770
+ }
3771
+ }), ai = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3772
+ __proto__: null,
3773
+ CAccordion: Ta,
3774
+ CAccordionItem: Sa,
3775
+ CAppBar: Ya,
3776
+ CBadge: Ga,
3777
+ CBottomSheet: dl,
3778
+ CButton: Xe,
3779
+ CCard: Cl,
3780
+ CCardFooter: $l,
3781
+ CCardHeader: Mt,
3782
+ CCardSection: Tl,
3783
+ CCheckbox: Ot,
3784
+ CCol: Ol,
3785
+ CDivider: Pl,
3786
+ CDobField: ns,
3787
+ CDobSelect: hs,
3788
+ CEmailField: _s,
3789
+ CExpandTransition: Yt,
3790
+ CFadeTransition: je,
3791
+ CFileInput: As,
3792
+ CFixedPageFooter: Bs,
3793
+ CForm: Rs,
3794
+ CIconButton: ke,
3795
+ CLabel: Os,
3796
+ CListItem: zt,
3797
+ CListItemIcon: Qe,
3798
+ CLoader: Me,
3799
+ CLogo: Js,
3800
+ CMaskedTextField: $e,
3801
+ CMenu: xs,
3802
+ CMenuItem: so,
3803
+ CMenuLabel: io,
3804
+ CModal: Gt,
3805
+ CModalLoading: ho,
3806
+ CNotification: ko,
3807
+ CPhoneField: To,
3808
+ CPill: Wt,
3809
+ CPillGroup: Ro,
3810
+ CPopup: Oo,
3811
+ CProgressLinear: Po,
3812
+ CProgressRing: Go,
3813
+ CRadio: Wo,
3814
+ CRadioGroup: Qo,
3815
+ CRebrand: en,
3816
+ CRow: an,
3817
+ CSafeArea: nn,
3818
+ CSectionHeader: un,
3819
+ CSelect: Se,
3820
+ CSkeleton: Oe,
3821
+ CSkeletonLoaderCard: vn,
3822
+ CSkeletonLoaderCircle: gn,
3823
+ CSkeletonLoaderText: _n,
3824
+ CSlideFadeTransition: yn,
3825
+ CSplitInput: kn,
3826
+ CSquaredIcon: Je,
3827
+ CSsnField: Tn,
3828
+ CStatusDot: En,
3829
+ CSwitch: Kt,
3830
+ CSwitchListItem: Bn,
3831
+ CTextArea: On,
3832
+ CTextField: Ke,
3833
+ CTextLink: Pn,
3834
+ CThirdPartyLogo: zn,
3835
+ CTimeago: qn,
3836
+ CToast: Jt,
3837
+ CToastsList: ei,
3838
+ CZipcodeField: ti
3839
+ }, Symbol.toStringTag, { value: "Module" })), Ai = {
3840
+ install(l) {
3841
+ Object.entries(ai).forEach(([e, t]) => {
3842
+ l.component(e, t);
3843
+ }), l.config.compilerOptions.isCustomElement = (e) => e.startsWith("sl-"), l.directive("scroll-into-view", ja), l.directive("tap-animation", St);
3844
+ }
3845
+ }, Si = Object.entries(ee).reduce((l, [e, t]) => {
3846
+ const a = e.toLowerCase().replace(/_/g, "-");
3847
+ return l[a] = t, l;
3848
+ }, {}), Di = {
3849
+ citrusCheckboxOn: {
3850
+ component: z,
3851
+ props: { icon: ka }
3852
+ },
3853
+ citrusCheckboxOff: {
3854
+ component: z,
3855
+ props: { icon: ya }
3856
+ },
3857
+ citrusRadioOn: {
3858
+ component: z,
3859
+ props: { icon: $a }
3860
+ },
3861
+ citrusRadioOff: {
3862
+ component: z,
3863
+ props: { icon: Ca }
3864
+ },
3865
+ citrusClear: {
3866
+ component: z,
3867
+ props: { icon: _a }
3868
+ }
3869
+ };
3870
+ var li = /* @__PURE__ */ ((l) => (l.DEFAULT = "default", l.CONTAINED = "contained", l.SEGMENTED = "segmented", l))(li || {});
3871
+ export {
3872
+ Ta as CAccordion,
3873
+ Sa as CAccordionItem,
3874
+ Ya as CAppBar,
3875
+ Ga as CBadge,
3876
+ dl as CBottomSheet,
3877
+ Xe as CButton,
3878
+ Cl as CCard,
3879
+ $l as CCardFooter,
3880
+ Mt as CCardHeader,
3881
+ Tl as CCardSection,
3882
+ Ot as CCheckbox,
3883
+ Ol as CCol,
3884
+ Pl as CDivider,
3885
+ ns as CDobField,
3886
+ hs as CDobSelect,
3887
+ _s as CEmailField,
3888
+ Yt as CExpandTransition,
3889
+ je as CFadeTransition,
3890
+ As as CFileInput,
3891
+ Bs as CFixedPageFooter,
3892
+ Rs as CForm,
3893
+ ke as CIconButton,
3894
+ Os as CLabel,
3895
+ zt as CListItem,
3896
+ Qe as CListItemIcon,
3897
+ Me as CLoader,
3898
+ Js as CLogo,
3899
+ $e as CMaskedTextField,
3900
+ xs as CMenu,
3901
+ so as CMenuItem,
3902
+ io as CMenuLabel,
3903
+ Gt as CModal,
3904
+ ho as CModalLoading,
3905
+ ko as CNotification,
3906
+ To as CPhoneField,
3907
+ Wt as CPill,
3908
+ Ro as CPillGroup,
3909
+ Oo as CPopup,
3910
+ Po as CProgressLinear,
3911
+ Go as CProgressRing,
3912
+ Wo as CRadio,
3913
+ Qo as CRadioGroup,
3914
+ en as CRebrand,
3915
+ an as CRow,
3916
+ nn as CSafeArea,
3917
+ un as CSectionHeader,
3918
+ Se as CSelect,
3919
+ Oe as CSkeleton,
3920
+ vn as CSkeletonLoaderCard,
3921
+ gn as CSkeletonLoaderCircle,
3922
+ _n as CSkeletonLoaderText,
3923
+ yn as CSlideFadeTransition,
3924
+ kn as CSplitInput,
3925
+ Je as CSquaredIcon,
3926
+ Tn as CSsnField,
3927
+ En as CStatusDot,
3928
+ Kt as CSwitch,
3929
+ Bn as CSwitchListItem,
3930
+ On as CTextArea,
3931
+ Ke as CTextField,
3932
+ Pn as CTextLink,
3933
+ zn as CThirdPartyLogo,
3934
+ qn as CTimeago,
3935
+ Jt as CToast,
3936
+ ei as CToastsList,
3937
+ ti as CZipcodeField,
3938
+ ee as Colors,
3939
+ Di as Icons,
3940
+ li as InputVariants,
3941
+ Si as Theme,
3942
+ Ai as default,
3943
+ ja as scrollIntoView,
3944
+ St as tapAnimation
3945
+ };
3946
+ //# sourceMappingURL=index.mjs.map