@7pmlabs/design-system 1.0.2 → 1.0.3

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.
@@ -1,9 +1,71 @@
1
- import o from "./design-system128.mjs";
2
- var r = 1, n = 4;
3
- function L(e) {
4
- return o(e, r | n);
5
- }
1
+ import { defineComponent as w, ref as a, watch as c, onMounted as B, withDirectives as b, openBlock as D, createElementBlock as O, vModelText as x } from "vue";
2
+ const _ = ["disabled"], K = /* @__PURE__ */ w({
3
+ __name: "BOtpFieldBox",
4
+ props: {
5
+ value: { default: "" },
6
+ focus: { type: Boolean, default: !1 },
7
+ isDisabled: { type: Boolean, default: !1 }
8
+ },
9
+ emits: ["on-change", "on-keydown", "on-keyup", "on-paste", "on-focus", "on-blur"],
10
+ setup(d, { expose: i, emit: r }) {
11
+ const t = d, s = r, n = a(t.value || ""), o = a(null), u = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], f = () => {
12
+ if (!u.includes(n.value)) {
13
+ n.value = "";
14
+ return;
15
+ }
16
+ return n.value = n.value.toString(), n.value.length > 1 && (n.value = n.value.slice(0, 1)), s("on-change", n.value);
17
+ }, p = (e) => {
18
+ t.isDisabled && e.preventDefault();
19
+ const l = e;
20
+ [
21
+ "Alt",
22
+ "Control",
23
+ "Meta",
24
+ "Backspace",
25
+ "ArrowLeft",
26
+ "ArrowRight",
27
+ "v",
28
+ ...u
29
+ ].includes(l.key) ? s("on-keydown", e) : l.preventDefault();
30
+ }, v = (e) => {
31
+ s("on-keyup", e);
32
+ }, h = (e) => {
33
+ s("on-paste", e);
34
+ }, m = () => (o.value.select(), s("on-focus")), y = () => s("on-blur"), g = () => {
35
+ o.value.focus(), o.value.select();
36
+ };
37
+ return c(
38
+ () => t.value,
39
+ (e, l) => {
40
+ e !== l && (n.value = e);
41
+ }
42
+ ), c(
43
+ () => t.focus,
44
+ (e, l) => {
45
+ l !== e && o.value && t.focus && (o.value.focus(), o.value.select());
46
+ }
47
+ ), B(() => {
48
+ o.value && t.focus && (o.value.focus(), o.value.select());
49
+ }), i({ focus: g }), (e, l) => b((D(), O("input", {
50
+ ref_key: "inputRef",
51
+ ref: o,
52
+ "onUpdate:modelValue": l[0] || (l[0] = (k) => n.value = k),
53
+ disabled: e.isDisabled,
54
+ class: "ds-h-11 ds-w-11 ds-rounded-lg ds-border ds-text-center ds-drop-shadow-light ds-transition-all ds-duration-200",
55
+ inputmode: "numeric",
56
+ maxlength: "1",
57
+ onBlur: y,
58
+ onFocus: m,
59
+ onInput: f,
60
+ onKeydown: p,
61
+ onKeyup: v,
62
+ onPaste: h
63
+ }, null, 40, _)), [
64
+ [x, n.value]
65
+ ]);
66
+ }
67
+ });
6
68
  export {
7
- L as default
69
+ K as default
8
70
  };
9
71
  //# sourceMappingURL=design-system100.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system100.mjs","sources":["../node_modules/lodash-es/cloneDeep.js"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n"],"names":["CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","cloneDeep","value","baseClone"],"mappings":";AAGA,IAAIA,IAAkB,GAClBC,IAAqB;AAoBzB,SAASC,EAAUC,GAAO;AACxB,SAAOC,EAAUD,GAAOH,IAAkBC,CAAkB;AAC9D;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"design-system100.mjs","sources":["../src/components/BOtpField/BOtpFieldBox.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"disabled\"]\n\nimport { onMounted, ref, type Ref, watch } from 'vue';\n\n//#region Props\nexport interface Props {\n value?: string;\n focus?: boolean;\n isDisabled?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BOtpFieldBox',\n props: {\n value: { default: '' },\n focus: { type: Boolean, default: false },\n isDisabled: { type: Boolean, default: false }\n },\n emits: [\"on-change\", \"on-keydown\", \"on-keyup\", \"on-paste\", \"on-focus\", \"on-blur\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst model = ref(props.value || '');\nconst inputRef = ref<HTMLInputElement | null>(null) as Ref<HTMLInputElement>;\nconst digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\n//#endregion\n\n//#region Methods\nconst handleOnChange = () => {\n if (!digits.includes(model.value)) {\n model.value = '';\n return;\n }\n\n model.value = model.value.toString();\n if (model.value.length > 1) {\n model.value = model.value.slice(0, 1);\n }\n return emit('on-change', model.value);\n};\n\nconst handleOnKeyDown = (event: KeyboardEvent) => {\n if (props.isDisabled) {\n event.preventDefault();\n }\n // Only allow characters 0-9, DEL, Backspace, Enter, Right and Left Arrows, and Pasting\n const keyEvent = event;\n if (\n [\n 'Alt',\n 'Control',\n 'Meta',\n 'Backspace',\n 'ArrowLeft',\n 'ArrowRight',\n 'v',\n ...digits,\n ].includes(keyEvent.key)\n ) {\n emit('on-keydown', event);\n } else {\n keyEvent.preventDefault();\n }\n};\nconst handleOnKeyUp = (event: KeyboardEvent) => {\n emit('on-keyup', event);\n};\nconst handleOnPaste = (event: ClipboardEvent) => {\n emit('on-paste', event);\n};\nconst handleOnFocus = () => {\n inputRef.value.select();\n return emit('on-focus');\n};\nconst handleOnBlur = () => emit('on-blur');\nconst focusFn = () => {\n inputRef.value.focus();\n inputRef.value.select();\n};\n//#endregion\n\n//#region Watchers\nwatch(\n () => props.value,\n (newValue, oldValue) => {\n if (newValue !== oldValue) {\n model.value = newValue;\n }\n },\n);\nwatch(\n () => props.focus,\n (newFocusValue, oldFocusValue) => {\n // Check if focusedInput changed\n // Prevent calling function if input already in focus\n if (oldFocusValue !== newFocusValue && inputRef.value && props.focus) {\n inputRef.value.focus();\n inputRef.value.select();\n }\n },\n);\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n if (inputRef.value && props.focus) {\n inputRef.value.focus();\n inputRef.value.select();\n }\n});\n//#endregion\n\n__expose({ focus: focusFn });\n\nreturn (_ctx: any,_cache: any) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((model).value = $event)),\n disabled: _ctx.isDisabled,\n class: \"ds-h-11 ds-w-11 ds-rounded-lg ds-border ds-text-center ds-drop-shadow-light ds-transition-all ds-duration-200\",\n inputmode: \"numeric\",\n maxlength: \"1\",\n onBlur: handleOnBlur,\n onFocus: handleOnFocus,\n onInput: handleOnChange,\n onKeydown: handleOnKeyDown,\n onKeyup: handleOnKeyUp,\n onPaste: handleOnPaste\n }, null, 40, _hoisted_1)), [\n [_vModelText, model.value]\n ])\n}\n}\n\n})"],"names":["_hoisted_1","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","model","ref","inputRef","digits","handleOnChange","handleOnKeyDown","event","keyEvent","handleOnKeyUp","handleOnPaste","handleOnFocus","handleOnBlur","focusFn","watch","newValue","oldValue","newFocusValue","oldFocusValue","onMounted","_ctx","_cache","_withDirectives","_openBlock","_createElementBlock","$event","_vModelText"],"mappings":"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"}
@@ -1,70 +1,9 @@
1
- import { defineComponent as C, ref as h, computed as a, onMounted as B, onBeforeUnmount as E, openBlock as x, createBlock as y, withCtx as L, createElementVNode as d, normalizeClass as c, renderSlot as _ } from "vue";
2
- import { BModalSize as t } from "./design-system5.mjs";
3
- import M from "./design-system35.mjs";
4
- const P = /* @__PURE__ */ C({
5
- __name: "BModalContainer",
6
- props: {
7
- size: { default: t.Medium },
8
- fullscreen: { type: Boolean, default: !1 },
9
- persistent: { type: Boolean, default: !1 }
10
- },
11
- emits: ["close"],
12
- setup(i, { emit: u }) {
13
- const s = i, n = u, o = h(null), m = a(() => {
14
- let e = "ds-relative ds-w-full ds-h-auto ds-m-auto ds-flex ds-items-center ";
15
- if (s.fullscreen)
16
- e += "ds-w-screen ds-h-screen ";
17
- else
18
- switch (e += "ds-p-4 ", s.size) {
19
- case t.Small:
20
- e += "ds-max-w-md ";
21
- break;
22
- case t.Large:
23
- e += "ds-max-w-4xl ";
24
- break;
25
- case t.Medium:
26
- default:
27
- e += "ds-max-w-2xl ";
28
- break;
29
- }
30
- return e;
31
- }), p = a(() => {
32
- let e = "ds-relative ds-rounded-lg ds-shadow ";
33
- return e += s.fullscreen ? "ds-w-screen ds-h-screen ds-rounded-none " : "", e;
34
- }), f = () => {
35
- document.addEventListener("keydown", r);
36
- }, r = (e) => {
37
- e.key === "Escape" && n("close");
38
- }, v = () => {
39
- document.addEventListener("click", l);
40
- }, l = (e) => {
41
- [o.value].some((k) => e.composedPath().includes(k)) || n("close");
42
- };
43
- return B(() => {
44
- s.persistent || setTimeout(() => {
45
- f(), v();
46
- }, 200);
47
- }), E(() => {
48
- s.persistent || (document.removeEventListener("keydown", r), document.removeEventListener("click", l));
49
- }), (e, w) => (x(), y(M, null, {
50
- default: L(() => [
51
- d("div", {
52
- class: c([m.value, "modal-wrapper"])
53
- }, [
54
- d("div", {
55
- ref_key: "modalWrapperContentRef",
56
- ref: o,
57
- class: c([p.value, "modal-wrapper-content ds-w-full"])
58
- }, [
59
- _(e.$slots, "default")
60
- ], 2)
61
- ], 2)
62
- ]),
63
- _: 3
64
- }));
65
- }
66
- });
1
+ import o from "./design-system128.mjs";
2
+ var r = 1, n = 4;
3
+ function L(e) {
4
+ return o(e, r | n);
5
+ }
67
6
  export {
68
- P as default
7
+ L as default
69
8
  };
70
9
  //# sourceMappingURL=design-system101.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system101.mjs","sources":["../src/components/BModal/BModalContainer.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { BModalSize } from '@/constants/Enums';\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue';\nimport BOverlay from '../BOverlay.vue';\n\n//#region Props\nexport interface Props {\n size?: BModalSize;\n fullscreen?: boolean;\n persistent?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BModalContainer',\n props: {\n size: { default: BModalSize.Medium },\n fullscreen: { type: Boolean, default: false },\n persistent: { type: Boolean, default: false }\n },\n emits: [\"close\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst modalWrapperContentRef = ref<HTMLDivElement | null>(null);\nconst modalWrapperCssClass = computed(() => {\n let result = `ds-relative ds-w-full ds-h-auto ds-m-auto ds-flex ds-items-center `;\n\n if (props.fullscreen) {\n result += `ds-w-screen ds-h-screen `;\n } else {\n result += `ds-p-4 `;\n switch (props.size) {\n case BModalSize.Small:\n result += `ds-max-w-md `;\n break;\n case BModalSize.Large:\n result += `ds-max-w-4xl `;\n break;\n case BModalSize.Medium:\n default:\n result += `ds-max-w-2xl `;\n break;\n }\n }\n\n return result;\n});\nconst modalWrapperContentCssClass = computed(() => {\n let result = `ds-relative ds-rounded-lg ds-shadow `;\n result += props.fullscreen ? `ds-w-screen ds-h-screen ds-rounded-none ` : ``;\n\n return result;\n});\n//#endregion\n\n//#region Methods\nconst initPressEscapeEventListener = () => {\n document.addEventListener('keydown', closeOnEscapePressed);\n};\nconst closeOnEscapePressed = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n emit('close');\n }\n};\nconst initClickOutsideEventListener = () => {\n document.addEventListener('click', closeOnClickOutside);\n};\nconst closeOnClickOutside = (event: any) => {\n const refs = [modalWrapperContentRef.value];\n const withinBoundaries = refs.some((r) => event.composedPath().includes(r));\n if (!withinBoundaries) {\n emit('close');\n }\n};\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n if (!props.persistent) {\n setTimeout(() => {\n initPressEscapeEventListener();\n initClickOutsideEventListener();\n }, 200);\n }\n});\nonBeforeUnmount(() => {\n if (!props.persistent) {\n document.removeEventListener('keydown', closeOnEscapePressed);\n document.removeEventListener('click', closeOnClickOutside);\n }\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BOverlay, null, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: _normalizeClass([modalWrapperCssClass.value, \"modal-wrapper\"])\n }, [\n _createElementVNode(\"div\", {\n ref_key: \"modalWrapperContentRef\",\n ref: modalWrapperContentRef,\n class: _normalizeClass([modalWrapperContentCssClass.value, \"modal-wrapper-content ds-w-full\"])\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 2)\n ], 2)\n ]),\n _: 3\n }))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","BModalSize","__props","__emit","props","emit","modalWrapperContentRef","ref","modalWrapperCssClass","computed","result","modalWrapperContentCssClass","initPressEscapeEventListener","closeOnEscapePressed","event","initClickOutsideEventListener","closeOnClickOutside","r","onMounted","onBeforeUnmount","_ctx","_cache","_openBlock","_createBlock","BOverlay","_withCtx","_createElementVNode","_normalizeClass","_renderSlot"],"mappings":";;;AAeA,MAA4BA,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,MAAM,EAAE,SAASC,EAAW,OAAO;AAAA,IACnC,YAAY,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC5C,YAAY,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EAC9C;AAAA,EACA,OAAO,CAAC,OAAO;AAAA,EACf,MAAMC,GAAc,EAAE,MAAMC,KAAU;AAExC,UAAMC,IAAQF,GAIRG,IAAOF,GAIPG,IAAyBC,EAA2B,IAAI,GACxDC,IAAuBC,EAAS,MAAM;AAC1C,UAAIC,IAAS;AAEb,UAAIN,EAAM;AACE,QAAAM,KAAA;AAAA;AAGV,gBADUA,KAAA,WACFN,EAAM,MAAM;AAAA,UAClB,KAAKH,EAAW;AACJ,YAAAS,KAAA;AACV;AAAA,UACF,KAAKT,EAAW;AACJ,YAAAS,KAAA;AACV;AAAA,UACF,KAAKT,EAAW;AAAA,UAChB;AACY,YAAAS,KAAA;AACV;AAAA,QACJ;AAGK,aAAAA;AAAA,IAAA,CACR,GACKC,IAA8BF,EAAS,MAAM;AACjD,UAAIC,IAAS;AACH,aAAAA,KAAAN,EAAM,aAAa,6CAA6C,IAEnEM;AAAA,IAAA,CACR,GAIKE,IAA+B,MAAM;AAChC,eAAA,iBAAiB,WAAWC,CAAoB;AAAA,IAAA,GAErDA,IAAuB,CAACC,MAAyB;AACjD,MAAAA,EAAM,QAAQ,YAChBT,EAAK,OAAO;AAAA,IACd,GAEIU,IAAgC,MAAM;AACjC,eAAA,iBAAiB,SAASC,CAAmB;AAAA,IAAA,GAElDA,IAAsB,CAACF,MAAe;AAG1C,MAFa,CAACR,EAAuB,KAAK,EACZ,KAAK,CAACW,MAAMH,EAAM,eAAe,SAASG,CAAC,CAAC,KAExEZ,EAAK,OAAO;AAAA,IACd;AAKF,WAAAa,EAAU,MAAM;AACV,MAACd,EAAM,cACT,WAAW,MAAM;AACc,QAAAQ,KACCG;SAC7B,GAAG;AAAA,IACR,CACD,GACDI,EAAgB,MAAM;AAChB,MAACf,EAAM,eACA,SAAA,oBAAoB,WAAWS,CAAoB,GACnD,SAAA,oBAAoB,SAASG,CAAmB;AAAA,IAC3D,CACD,GAGM,CAACI,GAAUC,OACRC,EAAW,GAAGC,EAAaC,GAAU,MAAM;AAAA,MACjD,SAASC,EAAS,MAAM;AAAA,QACtBC,EAAoB,OAAO;AAAA,UACzB,OAAOC,EAAgB,CAACnB,EAAqB,OAAO,eAAe,CAAC;AAAA,QAAA,GACnE;AAAA,UACDkB,EAAoB,OAAO;AAAA,YACzB,SAAS;AAAA,YACT,KAAKpB;AAAA,YACL,OAAOqB,EAAgB,CAAChB,EAA4B,OAAO,iCAAiC,CAAC;AAAA,UAAA,GAC5F;AAAA,YACDiB,EAAYR,EAAK,QAAQ,SAAS;AAAA,aACjC,CAAC;AAAA,WACH,CAAC;AAAA,MAAA,CACL;AAAA,MACD,GAAG;AAAA,IAAA,CACJ;AAAA,EAEH;AAEA,CAAC;"}
1
+ {"version":3,"file":"design-system101.mjs","sources":["../node_modules/lodash-es/cloneDeep.js"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n"],"names":["CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","cloneDeep","value","baseClone"],"mappings":";AAGA,IAAIA,IAAkB,GAClBC,IAAqB;AAoBzB,SAASC,EAAUC,GAAO;AACxB,SAAOC,EAAUD,GAAOH,IAAkBC,CAAkB;AAC9D;","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import f from "./design-system101.mjs";
1
+ import f from "./design-system99.mjs";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import f from "./design-system99.mjs";
1
+ import f from "./design-system100.mjs";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as u, computed as m, watch as f, onBeforeUnmount as p, openBlock as o, createBlock as a, Teleport as y, createVNode as B, Transition as _, withCtx as r, normalizeClass as v, renderSlot as z, createCommentVNode as V } from "vue";
2
2
  import { BModalSize as k } from "./design-system5.mjs";
3
3
  import { lockScrollBody as C, unlockScrollBody as n } from "./design-system6.mjs";
4
- import S from "./design-system101.mjs";
4
+ import S from "./design-system99.mjs";
5
5
  const $ = {
6
6
  // https://vuejs.org/guide/components/attrs.html#disabling-attribute-inheritance
7
7
  inheritAttrs: !1
@@ -1,4 +1,4 @@
1
- import { defineComponent as ae, ref as v, computed as h, watch as q, nextTick as C, onMounted as oe, onBeforeUnmount as ne, openBlock as d, createElementBlock as n, createElementVNode as i, createVNode as F, normalizeClass as f, unref as M, Fragment as N, renderList as O, toDisplayString as I, createBlock as U, createCommentVNode as _, createTextVNode as ue, withDirectives as re, withModifiers as ie, vShow as ce } from "vue";
1
+ import { defineComponent as ae, ref as v, computed as h, watch as q, nextTick as C, onMounted as oe, onBeforeUnmount as ne, openBlock as d, createElementBlock as n, createElementVNode as r, createVNode as F, normalizeClass as f, unref as M, Fragment as N, renderList as O, toDisplayString as I, createBlock as U, createCommentVNode as _, createTextVNode as ue, withDirectives as ie, withModifiers as re, vShow as ce } from "vue";
2
2
  import { useValidationField as ve } from "./design-system3.mjs";
3
3
  import { lockScrollBody as fe, unlockScrollBody as A, ensureVisiblePosition as pe, resetPosition as me, ensureVisibleY as ge } from "./design-system6.mjs";
4
4
  import { useI18n as be } from "./design-system49.mjs";
@@ -78,8 +78,8 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
78
78
  );
79
79
  const R = () => {
80
80
  p.value = a.value.map((e) => {
81
- let s = p.value.find((r) => r.value === e);
82
- return s || (s = l.items.find((r) => r.value === e)), { text: s == null ? void 0 : s.text, value: e, cssClass: s == null ? void 0 : s.cssClass };
81
+ let s = p.value.find((i) => i.value === e);
82
+ return s || (s = l.items.find((i) => i.value === e)), { text: s == null ? void 0 : s.text, value: e, cssClass: s == null ? void 0 : s.cssClass };
83
83
  });
84
84
  }, X = () => {
85
85
  document.addEventListener("keydown", S);
@@ -90,7 +90,7 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
90
90
  }, z = (e) => {
91
91
  [g.value, b.value].some((t) => e.composedPath().includes(t)) || (D(), $());
92
92
  }, P = (e) => {
93
- const s = a.value.findIndex((r) => r === e.value);
93
+ const s = a.value.findIndex((i) => i === e.value);
94
94
  s !== -1 ? a.value.splice(s, 1) : a.value.push(e.value), m("change", e.value), C(() => {
95
95
  E();
96
96
  }), ge(g.value, b.value);
@@ -108,7 +108,7 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
108
108
  var e;
109
109
  u.value = !1, (e = B.value) == null || e.blur(), V.value = "";
110
110
  }, te = (e) => {
111
- const s = a.value.findIndex((r) => r === e.value);
111
+ const s = a.value.findIndex((i) => i === e.value);
112
112
  s !== -1 && (a.value.splice(s, 1), m("change", e.value), C(() => {
113
113
  E();
114
114
  }));
@@ -137,9 +137,9 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
137
137
  })) : o.value = -1) : e.key === "Enter" && o.value >= 0 ? (e.preventDefault(), P(l.items[o.value])) : e.key === "Tab" && D();
138
138
  };
139
139
  return (e, s) => {
140
- var r;
140
+ var i;
141
141
  return d(), n("div", null, [
142
- i("div", {
142
+ r("div", {
143
143
  ref_key: "selectEl",
144
144
  ref: g
145
145
  }, [
@@ -157,7 +157,7 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
157
157
  "ds-border-error": !M(w).valid
158
158
  }, "ds-relative ds-flex ds-flex-wrap ds-items-center ds-gap-x-1 ds-rounded-lg ds-border ds-bg-white ds-px-3 ds-py-1 ds-drop-shadow-light"])
159
159
  }, [
160
- i("div", Ce, [
160
+ r("div", Ce, [
161
161
  (d(), n("svg", {
162
162
  class: f([[u.value ? "ds-rotate-180" : ""], "ds-h-4 ds-min-h-4 ds-w-4 ds-min-w-4 ds-transition-transform"]),
163
163
  viewBox: "0 0 320 512",
@@ -167,21 +167,21 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
167
167
  return (c = B.value) == null ? void 0 : c.focus();
168
168
  })
169
169
  }, s[5] || (s[5] = [
170
- i("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1)
170
+ r("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1)
171
171
  ]), 2))
172
172
  ]),
173
173
  (d(!0), n(N, null, O(p.value, (t, c) => (d(), n("div", {
174
174
  key: `item${c}`,
175
175
  class: "ds-my-0.5 ds-flex-initial ds-space-x-1 ds-rounded-lg ds-bg-black/10 ds-px-2"
176
176
  }, [
177
- i("span", null, I(t.text), 1),
177
+ r("span", null, I(t.text), 1),
178
178
  (d(), n("svg", {
179
179
  class: "ds-mb-1 ds-inline ds-h-4 ds-w-4 ds-cursor-pointer ds-fill-black/60 hover:ds-fill-black/40",
180
180
  viewBox: "0 0 512 512",
181
181
  xmlns: "http://www.w3.org/2000/svg",
182
182
  onClick: (x) => te(t)
183
183
  }, s[6] || (s[6] = [
184
- i("path", { d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z" }, null, -1)
184
+ r("path", { d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z" }, null, -1)
185
185
  ]), 8, Me))
186
186
  ]))), 128)),
187
187
  l.allowInput ? (d(), U(ye, {
@@ -213,7 +213,7 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
213
213
  p.value.length > 0 ? (d(), n("span", {
214
214
  key: 0,
215
215
  class: f([e.valueCssClass, "ds-truncate ds-text-sm"])
216
- }, I((r = p.value) == null ? void 0 : r.map((t) => t.text).join(", ")), 3)) : (d(), n("span", {
216
+ }, I((i = p.value) == null ? void 0 : i.map((t) => t.text).join(", ")), 3)) : (d(), n("span", {
217
217
  key: 1,
218
218
  class: f([e.valueCssClass, "ds-truncate ds-text-sm ds-text-black/[0.4]"])
219
219
  }, I(l.placeholder), 3)),
@@ -223,10 +223,10 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
223
223
  viewBox: "0 0 320 512",
224
224
  xmlns: "http://www.w3.org/2000/svg"
225
225
  }, s[7] || (s[7] = [
226
- i("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1)
226
+ r("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1)
227
227
  ]), 2))
228
228
  ], 10, $e)),
229
- re(i("div", {
229
+ ie(r("div", {
230
230
  id: `${k.value}Menu`,
231
231
  ref_key: "selectMenuEl",
232
232
  ref: b,
@@ -234,17 +234,17 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
234
234
  "data-cy": e.$attrs["data-cy"] ? `${e.$attrs["data-cy"]}Menu` : void 0,
235
235
  "data-ut": e.$attrs["data-ut"] ? `${e.$attrs["data-ut"]}Menu` : void 0
236
236
  }, [
237
- i("div", Be, [
238
- i("ul", Ve, [
237
+ r("div", Be, [
238
+ r("ul", Ve, [
239
239
  (d(!0), n(N, null, O(e.items, (t, c) => (d(), n("li", {
240
240
  key: `item${c}`,
241
241
  ref_for: !0,
242
242
  ref_key: "itemRefs",
243
243
  ref: y,
244
244
  class: "ds-cursor-pointer",
245
- onClick: ie((x) => P(t), ["prevent"])
245
+ onClick: re((x) => P(t), ["prevent"])
246
246
  }, [
247
- i("a", {
247
+ r("a", {
248
248
  class: f([[
249
249
  t.cssClass,
250
250
  {
@@ -257,9 +257,10 @@ const Ce = { class: "ds-absolute ds-right-3 ds-z-[1]" }, Me = ["onClick"], $e =
257
257
  modelValue: a.value,
258
258
  "onUpdate:modelValue": s[4] || (s[4] = (x) => a.value = x),
259
259
  value: t.value,
260
+ "hide-details": "",
260
261
  size: "sm"
261
262
  }, null, 8, ["modelValue", "value"]),
262
- i("span", null, I(t == null ? void 0 : t.text), 1)
263
+ r("span", null, I(t == null ? void 0 : t.text), 1)
263
264
  ], 2)
264
265
  ], 8, Ee))), 128))
265
266
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"design-system16.mjs","sources":["../src/components/BMultiSelect.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-absolute ds-right-3 ds-z-[1]\" }\nconst _hoisted_2 = [\"onClick\"]\nconst _hoisted_3 = [\"id\", \"disabled\"]\nconst _hoisted_4 = [\"id\", \"data-cy\", \"data-ut\"]\nconst _hoisted_5 = { class: \"ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow\" }\nconst _hoisted_6 = { class: \"ds-py-1 ds-text-sm ds-text-black/[0.85]\" }\nconst _hoisted_7 = [\"onClick\"]\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport {\n ensureVisiblePosition,\n ensureVisibleY,\n lockScrollBody,\n resetPosition,\n unlockScrollBody,\n} from '@/helpers/ComponentHelper';\nimport { v4 as uuid } from 'uuid';\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BCheckbox from './BCheckbox.vue';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport BTextField from './BTextField.vue';\nimport type { DisplayItem } from '@/types';\n\n//#region Props\nexport interface BMultiSelectProps {\n inputId?: string;\n modelValue: Array<string | number>;\n label?: string;\n items: DisplayItem[];\n disabled?: boolean;\n placeholder?: string;\n valueCssClass?: string;\n menuCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Show number of selected items.\n */\n showSelectedItemCount?: boolean;\n /**\n * Allow to type to search.\n */\n allowInput?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BMultiSelect',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n items: {},\n disabled: { type: Boolean, default: false },\n placeholder: { default: '' },\n valueCssClass: { default: '' },\n menuCssClass: { default: '' },\n validationRules: { default: undefined },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n showSelectedItemCount: { type: Boolean, default: false },\n allowInput: { type: Boolean, default: false }\n },\n emits: [\"change\", \"open\", \"close\", \"change:input\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n// https://vuejs.org/guide/essentials/event-handling.html#event-modifiers\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst selectEl = ref<HTMLElement | null>(null);\nconst inputRef = ref<InstanceType<typeof BTextField> | null>(null);\nconst selectMenuEl = ref<HTMLElement | null>(null);\nconst selectMenu = ref(false);\nconst { t } = useI18n();\nconst validateRequired: ValidationRule = {\n validateRule: (val: Array<string | number>) => !!val && val.length > 0,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst inputText = ref('');\nconst selectedItems = ref<DisplayItem[]>([]);\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst btnCssClass = computed(() => {\n let result = `ds-border ds-drop-shadow-light ds-text-sm ds-h-[40px] ds-px-3 ds-rounded-lg ds-block ds-w-full ds-inline-flex ds-items-center ds-justify-between `;\n result += props.disabled\n ? `ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4] `\n : `ds-bg-white ds-text-black/[0.85] `;\n result += !validationResult.value.valid\n ? `ds-border-error focus:ds-ring-1 focus:ds-ring-error `\n : `ds-border-black/10 focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus `;\n\n return result;\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst selectedItemCount = computed(() =>\n value.value?.length > 1\n ? ` (${t('ds.components.base.multi_select.selected_item_count', {\n count: value.value?.length,\n })})`\n : '',\n);\nconst labelDisplay = computed(() =>\n props.showSelectedItemCount\n ? `${props.label}${selectedItemCount.value}`\n : props.label,\n);\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Watchers\nwatch(selectMenu, (val) => {\n if (val) {\n lockScrollBody();\n ensureMenuPosition();\n emit('open');\n } else {\n unlockScrollBody();\n resetMenuPosition();\n emit('close');\n }\n});\nwatch(\n value,\n () => {\n ensureSelectedItems();\n },\n {\n deep: true,\n },\n);\nwatch(\n () => props.items,\n () => {\n if (value.value.length !== 0 && selectedItems.value.length === 0) {\n ensureSelectedItems();\n }\n },\n {\n deep: true,\n },\n);\n//#endregion\n\n//#region Methods\nconst ensureSelectedItems = () => {\n selectedItems.value = value.value.map((v) => {\n let item = selectedItems.value.find((i) => i.value === v);\n if (!item) {\n item = props.items.find((i) => i.value === v);\n }\n return { text: item?.text, value: v, cssClass: item?.cssClass };\n });\n};\nconst initPressEscapeEventListener = () => {\n document.addEventListener('keydown', closeOnEscapePressed);\n};\nconst closeOnEscapePressed = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeSelectMenu();\n resetFocusedIndex();\n }\n};\nconst initClickOutsideEventListener = () => {\n document.addEventListener('click', closeOnClickOutside);\n};\nconst closeOnClickOutside = (event: any) => {\n const refs = [selectEl.value, selectMenuEl.value];\n const withinBoundaries = refs.some((r) => event.composedPath().includes(r));\n if (!withinBoundaries) {\n closeSelectMenu();\n resetFocusedIndex();\n }\n};\nconst onClickItem = (item: DisplayItem) => {\n const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n } else {\n value.value.push(item.value);\n }\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n\n // Reset calculate the position of the menu\n ensureVisibleY(selectEl.value!, selectMenuEl.value!);\n};\nconst ensureMenuWidth = (parentEl: HTMLElement, menuEl: HTMLElement) => {\n menuEl.style.width = `${parentEl.offsetWidth}px`;\n};\nconst ensureMenuPosition = () => {\n nextTick(() => {\n ensureVisiblePosition(selectEl.value!, selectMenuEl.value!);\n ensureMenuWidth(selectEl.value!, selectMenuEl.value!);\n });\n};\nconst resetMenuPosition = () => {\n resetPosition(selectEl.value!, selectMenuEl.value!);\n};\nconst onChangeInputText = (text: string) => {\n emit('change:input', text);\n resetFocusedIndex();\n};\nconst closeSelectMenu = () => {\n selectMenu.value = false;\n inputRef.value?.blur();\n inputText.value = '';\n};\nconst deselectItem = (item: DisplayItem) => {\n const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n }\n};\nconst init = () => {\n if (props.items?.length > 0) {\n ensureSelectedItems();\n }\n};\ninit();\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n initPressEscapeEventListener();\n initClickOutsideEventListener();\n});\nonBeforeUnmount(() => {\n document.removeEventListener('keydown', closeOnEscapePressed);\n document.removeEventListener('click', closeOnClickOutside);\n unlockScrollBody();\n // Make sure dropdown menu unmounted with itself\n resetMenuPosition();\n});\n//#endregion\n\n__expose({ validate, selectMenu });\n\nconst itemRefs = ref<HTMLLIElement[] | null>(null);\nconst focusedIndex = ref(-1);\nconst resetFocusedIndex = () => {\n focusedIndex.value = -1;\n};\nconst onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (focusedIndex.value < props.items.length - 1) {\n focusedIndex.value++;\n nextTick(() => {\n if (itemRefs.value) {\n itemRefs.value[focusedIndex.value]?.scrollIntoView({\n block: 'nearest',\n });\n }\n });\n }\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n if (focusedIndex.value > 0) {\n focusedIndex.value--;\n nextTick(() => {\n if (itemRefs.value) {\n itemRefs.value[focusedIndex.value]?.scrollIntoView({\n block: 'nearest',\n });\n }\n });\n } else {\n // If at the top of the list, leave the list\n focusedIndex.value = -1;\n }\n } else if (event.key === 'Enter' && focusedIndex.value >= 0) {\n event.preventDefault();\n onClickItem(props.items[focusedIndex.value]);\n } else if (event.key === 'Tab') {\n closeSelectMenu();\n }\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", {\n ref_key: \"selectEl\",\n ref: selectEl\n }, [\n _createVNode(BLabel, {\n id: id.value,\n label: labelDisplay.value,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n (props.allowInput)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([{\n 'ds-border-focus ds-ring-1 ds-ring-focus':\n selectMenu.value && _unref(validationResult).valid,\n 'ds-ring-1 ds-ring-error': selectMenu.value && !_unref(validationResult).valid,\n 'ds-border-black/10': _unref(validationResult).valid,\n 'ds-border-error': !_unref(validationResult).valid,\n }, \"ds-relative ds-flex ds-flex-wrap ds-items-center ds-gap-x-1 ds-rounded-lg ds-border ds-bg-white ds-px-3 ds-py-1 ds-drop-shadow-light\"])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-min-h-4 ds-w-4 ds-min-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (inputRef.value?.focus()))\n }, _cache[5] || (_cache[5] = [\n _createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\n ]), 2))\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(selectedItems.value, (item, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `item${i}`,\n class: \"ds-my-0.5 ds-flex-initial ds-space-x-1 ds-rounded-lg ds-bg-black/10 ds-px-2\"\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.text), 1),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: \"ds-mb-1 ds-inline ds-h-4 ds-w-4 ds-cursor-pointer ds-fill-black/60 hover:ds-fill-black/40\",\n viewBox: \"0 0 512 512\",\n xmlns: \"http://www.w3.org/2000/svg\",\n onClick: ($event: any) => (deselectItem(item))\n }, _cache[6] || (_cache[6] = [\n _createElementVNode(\"path\", { d: \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\" }, null, -1)\n ]), 8, _hoisted_2))\n ]))\n }), 128)),\n (props.allowInput)\n ? (_openBlock(), _createBlock(BTextField, {\n key: 0,\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n modelValue: inputText.value,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event: any) => ((inputText).value = $event)),\n onChangeInputText\n ],\n disabled: props.disabled,\n class: \"ds-flex-auto\",\n \"hide-details\": \"\",\n \"input-css-class\": \"ds-drop-shadow-none ds-border-none !ds-ring-0 ds-px-0 !ds-h-[30px] ds-pl-0\",\n onChange: resetFocusedIndex,\n onFocus: _cache[2] || (_cache[2] = ($event: any) => (selectMenu.value = true)),\n onKeydown: onKeyDown\n }, null, 8, [\"id\", \"modelValue\", \"disabled\"]))\n : _createCommentVNode(\"\", true)\n ], 2))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n id: id.value,\n class: _normalizeClass(btnCssClass.value),\n disabled: _ctx.disabled,\n type: \"button\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (selectMenu.value = !selectMenu.value))\n }, [\n (selectedItems.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm\"])\n }, _toDisplayString(selectedItems.value?.map((s) => s.text).join(', ')), 3))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm ds-text-black/[0.4]\"])\n }, _toDisplayString(props.placeholder), 3)),\n _cache[8] || (_cache[8] = _createTextVNode(\"   \")),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-min-h-4 ds-w-4 ds-min-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _cache[7] || (_cache[7] = [\n _createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\n ]), 2))\n ], 10, _hoisted_3)),\n _withDirectives(_createElementVNode(\"div\", {\n id: `${id.value}Menu`,\n ref_key: \"selectMenuEl\",\n ref: selectMenuEl,\n class: _normalizeClass([_ctx.menuCssClass, \"ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1\"]),\n \"data-cy\": _ctx.$attrs['data-cy'] ? `${_ctx.$attrs['data-cy']}Menu` : undefined,\n \"data-ut\": _ctx.$attrs['data-ut'] ? `${_ctx.$attrs['data-ut']}Menu` : undefined\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `item${index}`,\n ref_for: true,\n ref_key: \"itemRefs\",\n ref: itemRefs,\n class: \"ds-cursor-pointer\",\n onClick: _withModifiers(($event: any) => (onClickItem(item)), [\"prevent\"])\n }, [\n _createElementVNode(\"a\", {\n class: _normalizeClass([[\n item.cssClass,\n {\n 'ds-bg-slate-100':\n focusedIndex.value !== index &&\n selectedItems.value.some((s) => s.value === item.value),\n 'ds-bg-slate-300': focusedIndex.value === index,\n },\n ], \"ds-flex ds-items-center ds-space-x-2 ds-px-4 ds-py-2 hover:ds-bg-slate-300\"])\n }, [\n _createVNode(BCheckbox, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((value).value = $event)),\n value: item.value,\n size: \"sm\"\n }, null, 8, [\"modelValue\", \"value\"]),\n _createElementVNode(\"span\", null, _toDisplayString(item?.text), 1)\n ], 2)\n ], 8, _hoisted_7))\n }), 128))\n ])\n ])\n ], 10, _hoisted_4), [\n [_vShow, selectMenu.value]\n ])\n ], 512),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","selectEl","ref","inputRef","selectMenuEl","selectMenu","t","useI18n","validateRequired","val","inputText","selectedItems","id","computed","uuid","value","btnCssClass","result","validationResult","vRules","selectedItemCount","_a","_b","labelDisplay","validate","useValidationField","watch","lockScrollBody","ensureMenuPosition","unlockScrollBody","resetMenuPosition","ensureSelectedItems","v","item","i","initPressEscapeEventListener","closeOnEscapePressed","event","closeSelectMenu","resetFocusedIndex","initClickOutsideEventListener","closeOnClickOutside","r","onClickItem","index","nextTick","ensureVisibleY","ensureMenuWidth","parentEl","menuEl","ensureVisiblePosition","resetPosition","onChangeInputText","text","deselectItem","onMounted","onBeforeUnmount","itemRefs","focusedIndex","onKeyDown","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_createVNode","BLabel","_normalizeClass","_unref","$event","_Fragment","_renderList","_toDisplayString","_createBlock","BTextField","_createCommentVNode","s","_createTextVNode","_withDirectives","_withModifiers","BCheckbox","_vShow","BErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"design-system16.mjs","sources":["../src/components/BMultiSelect.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-absolute ds-right-3 ds-z-[1]\" }\nconst _hoisted_2 = [\"onClick\"]\nconst _hoisted_3 = [\"id\", \"disabled\"]\nconst _hoisted_4 = [\"id\", \"data-cy\", \"data-ut\"]\nconst _hoisted_5 = { class: \"ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow\" }\nconst _hoisted_6 = { class: \"ds-py-1 ds-text-sm ds-text-black/[0.85]\" }\nconst _hoisted_7 = [\"onClick\"]\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport {\n ensureVisiblePosition,\n ensureVisibleY,\n lockScrollBody,\n resetPosition,\n unlockScrollBody,\n} from '@/helpers/ComponentHelper';\nimport { v4 as uuid } from 'uuid';\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BCheckbox from './BCheckbox.vue';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport BTextField from './BTextField.vue';\nimport type { DisplayItem } from '@/types';\n\n//#region Props\nexport interface BMultiSelectProps {\n inputId?: string;\n modelValue: Array<string | number>;\n label?: string;\n items: DisplayItem[];\n disabled?: boolean;\n placeholder?: string;\n valueCssClass?: string;\n menuCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Show number of selected items.\n */\n showSelectedItemCount?: boolean;\n /**\n * Allow to type to search.\n */\n allowInput?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BMultiSelect',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n items: {},\n disabled: { type: Boolean, default: false },\n placeholder: { default: '' },\n valueCssClass: { default: '' },\n menuCssClass: { default: '' },\n validationRules: { default: undefined },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n showSelectedItemCount: { type: Boolean, default: false },\n allowInput: { type: Boolean, default: false }\n },\n emits: [\"change\", \"open\", \"close\", \"change:input\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\n// https://vuejs.org/guide/essentials/event-handling.html#event-modifiers\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst selectEl = ref<HTMLElement | null>(null);\nconst inputRef = ref<InstanceType<typeof BTextField> | null>(null);\nconst selectMenuEl = ref<HTMLElement | null>(null);\nconst selectMenu = ref(false);\nconst { t } = useI18n();\nconst validateRequired: ValidationRule = {\n validateRule: (val: Array<string | number>) => !!val && val.length > 0,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst inputText = ref('');\nconst selectedItems = ref<DisplayItem[]>([]);\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst btnCssClass = computed(() => {\n let result = `ds-border ds-drop-shadow-light ds-text-sm ds-h-[40px] ds-px-3 ds-rounded-lg ds-block ds-w-full ds-inline-flex ds-items-center ds-justify-between `;\n result += props.disabled\n ? `ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4] `\n : `ds-bg-white ds-text-black/[0.85] `;\n result += !validationResult.value.valid\n ? `ds-border-error focus:ds-ring-1 focus:ds-ring-error `\n : `ds-border-black/10 focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus `;\n\n return result;\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst selectedItemCount = computed(() =>\n value.value?.length > 1\n ? ` (${t('ds.components.base.multi_select.selected_item_count', {\n count: value.value?.length,\n })})`\n : '',\n);\nconst labelDisplay = computed(() =>\n props.showSelectedItemCount\n ? `${props.label}${selectedItemCount.value}`\n : props.label,\n);\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Watchers\nwatch(selectMenu, (val) => {\n if (val) {\n lockScrollBody();\n ensureMenuPosition();\n emit('open');\n } else {\n unlockScrollBody();\n resetMenuPosition();\n emit('close');\n }\n});\nwatch(\n value,\n () => {\n ensureSelectedItems();\n },\n {\n deep: true,\n },\n);\nwatch(\n () => props.items,\n () => {\n if (value.value.length !== 0 && selectedItems.value.length === 0) {\n ensureSelectedItems();\n }\n },\n {\n deep: true,\n },\n);\n//#endregion\n\n//#region Methods\nconst ensureSelectedItems = () => {\n selectedItems.value = value.value.map((v) => {\n let item = selectedItems.value.find((i) => i.value === v);\n if (!item) {\n item = props.items.find((i) => i.value === v);\n }\n return { text: item?.text, value: v, cssClass: item?.cssClass };\n });\n};\nconst initPressEscapeEventListener = () => {\n document.addEventListener('keydown', closeOnEscapePressed);\n};\nconst closeOnEscapePressed = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeSelectMenu();\n resetFocusedIndex();\n }\n};\nconst initClickOutsideEventListener = () => {\n document.addEventListener('click', closeOnClickOutside);\n};\nconst closeOnClickOutside = (event: any) => {\n const refs = [selectEl.value, selectMenuEl.value];\n const withinBoundaries = refs.some((r) => event.composedPath().includes(r));\n if (!withinBoundaries) {\n closeSelectMenu();\n resetFocusedIndex();\n }\n};\nconst onClickItem = (item: DisplayItem) => {\n const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n } else {\n value.value.push(item.value);\n }\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n\n // Reset calculate the position of the menu\n ensureVisibleY(selectEl.value!, selectMenuEl.value!);\n};\nconst ensureMenuWidth = (parentEl: HTMLElement, menuEl: HTMLElement) => {\n menuEl.style.width = `${parentEl.offsetWidth}px`;\n};\nconst ensureMenuPosition = () => {\n nextTick(() => {\n ensureVisiblePosition(selectEl.value!, selectMenuEl.value!);\n ensureMenuWidth(selectEl.value!, selectMenuEl.value!);\n });\n};\nconst resetMenuPosition = () => {\n resetPosition(selectEl.value!, selectMenuEl.value!);\n};\nconst onChangeInputText = (text: string) => {\n emit('change:input', text);\n resetFocusedIndex();\n};\nconst closeSelectMenu = () => {\n selectMenu.value = false;\n inputRef.value?.blur();\n inputText.value = '';\n};\nconst deselectItem = (item: DisplayItem) => {\n const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n }\n};\nconst init = () => {\n if (props.items?.length > 0) {\n ensureSelectedItems();\n }\n};\ninit();\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n initPressEscapeEventListener();\n initClickOutsideEventListener();\n});\nonBeforeUnmount(() => {\n document.removeEventListener('keydown', closeOnEscapePressed);\n document.removeEventListener('click', closeOnClickOutside);\n unlockScrollBody();\n // Make sure dropdown menu unmounted with itself\n resetMenuPosition();\n});\n//#endregion\n\n__expose({ validate, selectMenu });\n\nconst itemRefs = ref<HTMLLIElement[] | null>(null);\nconst focusedIndex = ref(-1);\nconst resetFocusedIndex = () => {\n focusedIndex.value = -1;\n};\nconst onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (focusedIndex.value < props.items.length - 1) {\n focusedIndex.value++;\n nextTick(() => {\n if (itemRefs.value) {\n itemRefs.value[focusedIndex.value]?.scrollIntoView({\n block: 'nearest',\n });\n }\n });\n }\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n if (focusedIndex.value > 0) {\n focusedIndex.value--;\n nextTick(() => {\n if (itemRefs.value) {\n itemRefs.value[focusedIndex.value]?.scrollIntoView({\n block: 'nearest',\n });\n }\n });\n } else {\n // If at the top of the list, leave the list\n focusedIndex.value = -1;\n }\n } else if (event.key === 'Enter' && focusedIndex.value >= 0) {\n event.preventDefault();\n onClickItem(props.items[focusedIndex.value]);\n } else if (event.key === 'Tab') {\n closeSelectMenu();\n }\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", {\n ref_key: \"selectEl\",\n ref: selectEl\n }, [\n _createVNode(BLabel, {\n id: id.value,\n label: labelDisplay.value,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n (props.allowInput)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([{\n 'ds-border-focus ds-ring-1 ds-ring-focus':\n selectMenu.value && _unref(validationResult).valid,\n 'ds-ring-1 ds-ring-error': selectMenu.value && !_unref(validationResult).valid,\n 'ds-border-black/10': _unref(validationResult).valid,\n 'ds-border-error': !_unref(validationResult).valid,\n }, \"ds-relative ds-flex ds-flex-wrap ds-items-center ds-gap-x-1 ds-rounded-lg ds-border ds-bg-white ds-px-3 ds-py-1 ds-drop-shadow-light\"])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-min-h-4 ds-w-4 ds-min-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (inputRef.value?.focus()))\n }, _cache[5] || (_cache[5] = [\n _createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\n ]), 2))\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(selectedItems.value, (item, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `item${i}`,\n class: \"ds-my-0.5 ds-flex-initial ds-space-x-1 ds-rounded-lg ds-bg-black/10 ds-px-2\"\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.text), 1),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: \"ds-mb-1 ds-inline ds-h-4 ds-w-4 ds-cursor-pointer ds-fill-black/60 hover:ds-fill-black/40\",\n viewBox: \"0 0 512 512\",\n xmlns: \"http://www.w3.org/2000/svg\",\n onClick: ($event: any) => (deselectItem(item))\n }, _cache[6] || (_cache[6] = [\n _createElementVNode(\"path\", { d: \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\" }, null, -1)\n ]), 8, _hoisted_2))\n ]))\n }), 128)),\n (props.allowInput)\n ? (_openBlock(), _createBlock(BTextField, {\n key: 0,\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n modelValue: inputText.value,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event: any) => ((inputText).value = $event)),\n onChangeInputText\n ],\n disabled: props.disabled,\n class: \"ds-flex-auto\",\n \"hide-details\": \"\",\n \"input-css-class\": \"ds-drop-shadow-none ds-border-none !ds-ring-0 ds-px-0 !ds-h-[30px] ds-pl-0\",\n onChange: resetFocusedIndex,\n onFocus: _cache[2] || (_cache[2] = ($event: any) => (selectMenu.value = true)),\n onKeydown: onKeyDown\n }, null, 8, [\"id\", \"modelValue\", \"disabled\"]))\n : _createCommentVNode(\"\", true)\n ], 2))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n id: id.value,\n class: _normalizeClass(btnCssClass.value),\n disabled: _ctx.disabled,\n type: \"button\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (selectMenu.value = !selectMenu.value))\n }, [\n (selectedItems.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm\"])\n }, _toDisplayString(selectedItems.value?.map((s) => s.text).join(', ')), 3))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm ds-text-black/[0.4]\"])\n }, _toDisplayString(props.placeholder), 3)),\n _cache[8] || (_cache[8] = _createTextVNode(\"   \")),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-min-h-4 ds-w-4 ds-min-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _cache[7] || (_cache[7] = [\n _createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\n ]), 2))\n ], 10, _hoisted_3)),\n _withDirectives(_createElementVNode(\"div\", {\n id: `${id.value}Menu`,\n ref_key: \"selectMenuEl\",\n ref: selectMenuEl,\n class: _normalizeClass([_ctx.menuCssClass, \"ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1\"]),\n \"data-cy\": _ctx.$attrs['data-cy'] ? `${_ctx.$attrs['data-cy']}Menu` : undefined,\n \"data-ut\": _ctx.$attrs['data-ut'] ? `${_ctx.$attrs['data-ut']}Menu` : undefined\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `item${index}`,\n ref_for: true,\n ref_key: \"itemRefs\",\n ref: itemRefs,\n class: \"ds-cursor-pointer\",\n onClick: _withModifiers(($event: any) => (onClickItem(item)), [\"prevent\"])\n }, [\n _createElementVNode(\"a\", {\n class: _normalizeClass([[\n item.cssClass,\n {\n 'ds-bg-slate-100':\n focusedIndex.value !== index &&\n selectedItems.value.some((s) => s.value === item.value),\n 'ds-bg-slate-300': focusedIndex.value === index,\n },\n ], \"ds-flex ds-items-center ds-space-x-2 ds-px-4 ds-py-2 hover:ds-bg-slate-300\"])\n }, [\n _createVNode(BCheckbox, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((value).value = $event)),\n value: item.value,\n \"hide-details\": \"\",\n size: \"sm\"\n }, null, 8, [\"modelValue\", \"value\"]),\n _createElementVNode(\"span\", null, _toDisplayString(item?.text), 1)\n ], 2)\n ], 8, _hoisted_7))\n }), 128))\n ])\n ])\n ], 10, _hoisted_4), [\n [_vShow, selectMenu.value]\n ])\n ], 512),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","selectEl","ref","inputRef","selectMenuEl","selectMenu","t","useI18n","validateRequired","val","inputText","selectedItems","id","computed","uuid","value","btnCssClass","result","validationResult","vRules","selectedItemCount","_a","_b","labelDisplay","validate","useValidationField","watch","lockScrollBody","ensureMenuPosition","unlockScrollBody","resetMenuPosition","ensureSelectedItems","v","item","initPressEscapeEventListener","closeOnEscapePressed","event","closeSelectMenu","resetFocusedIndex","initClickOutsideEventListener","closeOnClickOutside","r","onClickItem","index","nextTick","ensureVisibleY","ensureMenuWidth","parentEl","menuEl","ensureVisiblePosition","resetPosition","onChangeInputText","text","deselectItem","onMounted","onBeforeUnmount","itemRefs","focusedIndex","onKeyDown","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_createVNode","BLabel","_normalizeClass","_unref","$event","_Fragment","_renderList","i","_toDisplayString","_createBlock","BTextField","_createCommentVNode","s","_createTextVNode","_withDirectives","_withModifiers","BCheckbox","_vShow","BErrorMessage"],"mappings":"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"}
@@ -2,9 +2,9 @@ import { defineComponent as L, ref as f, computed as l, openBlock as d, createEl
2
2
  import J from "./design-system29.mjs";
3
3
  import { useValidationField as Q } from "./design-system3.mjs";
4
4
  import { useI18n as T } from "./design-system49.mjs";
5
- import X from "./design-system99.mjs";
5
+ import X from "./design-system100.mjs";
6
6
  import Y from "./design-system98.mjs";
7
- import Z from "./design-system100.mjs";
7
+ import Z from "./design-system101.mjs";
8
8
  const ee = { class: "ds-flex ds-items-center ds-justify-center ds-space-x-2" }, re = /* @__PURE__ */ L({
9
9
  __name: "BOtpField",
10
10
  props: {
@@ -1,8 +1,8 @@
1
1
  import o from "./design-system90.mjs";
2
2
  import "./design-system91.mjs";
3
3
  import t from "./design-system53.mjs";
4
- const _ = /* @__PURE__ */ t(o, [["__scopeId", "data-v-94d47575"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-ce4e513c"]]);
5
5
  export {
6
- _ as default
6
+ m as default
7
7
  };
8
8
  //# sourceMappingURL=design-system47.mjs.map
@@ -21,12 +21,12 @@ const k = { class: "b-switch ds-flex ds-items-center" }, w = ["id", "disabled",
21
21
  });
22
22
  return (t, o) => (s(), r("div", k, [
23
23
  f(u("input", {
24
- "onUpdate:modelValue": o[0] || (o[0] = (p) => a.value = p),
25
24
  id: l.value,
25
+ "onUpdate:modelValue": o[0] || (o[0] = (p) => a.value = p),
26
26
  disabled: e.disabled,
27
27
  value: t.$attrs.value,
28
- type: "checkbox",
29
- class: "b-switch__input"
28
+ class: "b-switch__input",
29
+ type: "checkbox"
30
30
  }, null, 8, w), [
31
31
  [b, a.value]
32
32
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"design-system90.mjs","sources":["../src/components/BSwitch.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { vModelCheckbox as _vModelCheckbox, createElementVNode as _createElementVNode, withDirectives as _withDirectives, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"b-switch ds-flex ds-items-center\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"value\"]\nconst _hoisted_3 = [\"for\"]\nconst _hoisted_4 = [\"for\"]\n\nimport { v4 as uuid } from 'uuid';\nimport { computed } from 'vue';\n\n//#region Props\nexport interface BCheckboxProps {\n inputId?: string;\n modelValue: boolean | Array<string | number>;\n label?: string;\n /**\n * Clicking on label will not turn on/off the switch.\n */\n labelOrphan?: boolean;\n disabled?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BSwitch',\n props: {\n inputId: { default: '' },\n modelValue: { type: [Boolean, Array], default: false },\n label: { default: '' },\n labelOrphan: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false }\n },\n emits: [\"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((value).value = $event)),\n id: id.value,\n disabled: props.disabled,\n value: _ctx.$attrs.value,\n type: \"checkbox\",\n class: \"b-switch__input\"\n }, null, 8, _hoisted_2), [\n [_vModelCheckbox, value.value]\n ]),\n _createElementVNode(\"label\", {\n for: id.value,\n class: \"b-switch__input-label ds-border ds-border-black/[0.1] ds-drop-shadow-light\"\n }, null, 8, _hoisted_3),\n (props.label || _ctx.$slots.default)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n for: props.labelOrphan ? undefined : id.value,\n class: \"ds-ml-2 ds-text-sm ds-font-medium ds-text-gray-900\"\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, () => [\n _createTextVNode(_toDisplayString(props.label), 1)\n ], true)\n ], 8, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","_defineComponent","__props","__emit","props","emit","id","computed","uuid","value","val","_ctx","_cache","_openBlock","_createElementBlock","_withDirectives","_createElementVNode","$event","_vModelCheckbox","_renderSlot","_createTextVNode","_toDisplayString","_createCommentVNode"],"mappings":";;AAGA,MAAMA,IAAa,EAAE,OAAO,sCACtBC,IAAa,CAAC,MAAM,YAAY,OAAO,GACvCC,IAAa,CAAC,KAAK,GACnBC,IAAa,CAAC,KAAK,GAkBGC,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,YAAY,EAAE,MAAM,CAAC,SAAS,KAAK,GAAG,SAAS,GAAM;AAAA,IACrD,OAAO,EAAE,SAAS,GAAG;AAAA,IACrB,aAAa,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC7C,UAAU,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAMC,GAAc,EAAE,MAAMC,KAAU;AAExC,UAAMC,IAAQF,GAIRG,IAAOF,GAIPG,IAAKC,EAAS,MAAMH,EAAM,WAAW,MAAMI,GAAM,EAAE,GACnDC,IAAQF,EAAS;AAAA,MACrB,MAAM;AACJ,eAAOH,EAAM;AAAA,MACf;AAAA,MACA,IAAIM,GAAK;AACP,QAAAL,EAAK,qBAAqBK,CAAG;AAAA,MAC/B;AAAA,IAAA,CACD;AAGM,WAAA,CAACC,GAAUC,OACRC,EAAW,GAAGC,EAAoB,OAAOlB,GAAY;AAAA,MAC3DmB,EAAgBC,EAAoB,SAAS;AAAA,QAC3C,uBAAuBJ,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI,CAACK,MAAkBR,EAAO,QAAQQ;AAAA,QACnF,IAAIX,EAAG;AAAA,QACP,UAAUF,EAAM;AAAA,QAChB,OAAOO,EAAK,OAAO;AAAA,QACnB,MAAM;AAAA,QACN,OAAO;AAAA,MAAA,GACN,MAAM,GAAGd,CAAU,GAAG;AAAA,QACvB,CAACqB,GAAiBT,EAAM,KAAK;AAAA,MAAA,CAC9B;AAAA,MACDO,EAAoB,SAAS;AAAA,QAC3B,KAAKV,EAAG;AAAA,QACR,OAAO;AAAA,MAAA,GACN,MAAM,GAAGR,CAAU;AAAA,MACrBM,EAAM,SAASO,EAAK,OAAO,WACvBE,EAAW,GAAGC,EAAoB,SAAS;AAAA,QAC1C,KAAK;AAAA,QACL,KAAKV,EAAM,cAAc,SAAYE,EAAG;AAAA,QACxC,OAAO;AAAA,MAAA,GACN;AAAA,QACDa,EAAYR,EAAK,QAAQ,WAAW,IAAI,MAAM;AAAA,UAC5CS,EAAiBC,EAAiBjB,EAAM,KAAK,GAAG,CAAC;AAAA,WAChD,EAAI;AAAA,SACN,GAAGL,CAAU,KAChBuB,EAAoB,IAAI,EAAI;AAAA,IAAA,CACjC;AAAA,EAEH;AAEA,CAAC;"}
1
+ {"version":3,"file":"design-system90.mjs","sources":["../src/components/BSwitch.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { vModelCheckbox as _vModelCheckbox, createElementVNode as _createElementVNode, withDirectives as _withDirectives, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"b-switch ds-flex ds-items-center\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"value\"]\nconst _hoisted_3 = [\"for\"]\nconst _hoisted_4 = [\"for\"]\n\nimport { v4 as uuid } from 'uuid';\nimport { computed } from 'vue';\n\n//#region Props\nexport interface BSwitchProps {\n inputId?: string;\n modelValue: boolean | Array<string | number>;\n label?: string;\n /**\n * Clicking on label will not turn on/off the switch.\n */\n labelOrphan?: boolean;\n disabled?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BSwitch',\n props: {\n inputId: { default: '' },\n modelValue: { type: [Boolean, Array], default: false },\n label: { default: '' },\n labelOrphan: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false }\n },\n emits: [\"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n id: id.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((value).value = $event)),\n disabled: props.disabled,\n value: _ctx.$attrs.value,\n class: \"b-switch__input\",\n type: \"checkbox\"\n }, null, 8, _hoisted_2), [\n [_vModelCheckbox, value.value]\n ]),\n _createElementVNode(\"label\", {\n for: id.value,\n class: \"b-switch__input-label ds-border ds-border-black/[0.1] ds-drop-shadow-light\"\n }, null, 8, _hoisted_3),\n (props.label || _ctx.$slots.default)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n for: props.labelOrphan ? undefined : id.value,\n class: \"ds-ml-2 ds-text-sm ds-font-medium ds-text-gray-900\"\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, () => [\n _createTextVNode(_toDisplayString(props.label), 1)\n ], true)\n ], 8, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_sfc_main","_defineComponent","__props","__emit","props","emit","id","computed","uuid","value","val","_ctx","_cache","_openBlock","_createElementBlock","_withDirectives","_createElementVNode","$event","_vModelCheckbox","_renderSlot","_createTextVNode","_toDisplayString","_createCommentVNode"],"mappings":";;AAGA,MAAMA,IAAa,EAAE,OAAO,sCACtBC,IAAa,CAAC,MAAM,YAAY,OAAO,GACvCC,IAAa,CAAC,KAAK,GACnBC,IAAa,CAAC,KAAK,GAkBGC,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,YAAY,EAAE,MAAM,CAAC,SAAS,KAAK,GAAG,SAAS,GAAM;AAAA,IACrD,OAAO,EAAE,SAAS,GAAG;AAAA,IACrB,aAAa,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC7C,UAAU,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EAC5C;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAMC,GAAc,EAAE,MAAMC,KAAU;AAExC,UAAMC,IAAQF,GAIRG,IAAOF,GAIPG,IAAKC,EAAS,MAAMH,EAAM,WAAW,MAAMI,GAAM,EAAE,GACnDC,IAAQF,EAAS;AAAA,MACrB,MAAM;AACJ,eAAOH,EAAM;AAAA,MACf;AAAA,MACA,IAAIM,GAAK;AACP,QAAAL,EAAK,qBAAqBK,CAAG;AAAA,MAC/B;AAAA,IAAA,CACD;AAGM,WAAA,CAACC,GAAUC,OACRC,EAAW,GAAGC,EAAoB,OAAOlB,GAAY;AAAA,MAC3DmB,EAAgBC,EAAoB,SAAS;AAAA,QAC3C,IAAIV,EAAG;AAAA,QACP,uBAAuBM,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI,CAACK,MAAkBR,EAAO,QAAQQ;AAAA,QACnF,UAAUb,EAAM;AAAA,QAChB,OAAOO,EAAK,OAAO;AAAA,QACnB,OAAO;AAAA,QACP,MAAM;AAAA,MAAA,GACL,MAAM,GAAGd,CAAU,GAAG;AAAA,QACvB,CAACqB,GAAiBT,EAAM,KAAK;AAAA,MAAA,CAC9B;AAAA,MACDO,EAAoB,SAAS;AAAA,QAC3B,KAAKV,EAAG;AAAA,QACR,OAAO;AAAA,MAAA,GACN,MAAM,GAAGR,CAAU;AAAA,MACrBM,EAAM,SAASO,EAAK,OAAO,WACvBE,EAAW,GAAGC,EAAoB,SAAS;AAAA,QAC1C,KAAK;AAAA,QACL,KAAKV,EAAM,cAAc,SAAYE,EAAG;AAAA,QACxC,OAAO;AAAA,MAAA,GACN;AAAA,QACDa,EAAYR,EAAK,QAAQ,WAAW,IAAI,MAAM;AAAA,UAC5CS,EAAiBC,EAAiBjB,EAAM,KAAK,GAAG,CAAC;AAAA,WAChD,EAAI;AAAA,SACN,GAAGL,CAAU,KAChBuB,EAAoB,IAAI,EAAI;AAAA,IAAA,CACjC;AAAA,EAEH;AAEA,CAAC;"}
@@ -1,5 +1,5 @@
1
- const _ = "";
1
+ const e = "";
2
2
  export {
3
- _ as default
3
+ e as default
4
4
  };
5
5
  //# sourceMappingURL=design-system91.mjs.map
@@ -1,71 +1,70 @@
1
- import { defineComponent as w, ref as a, watch as c, onMounted as B, withDirectives as b, openBlock as D, createElementBlock as O, vModelText as x } from "vue";
2
- const _ = ["disabled"], K = /* @__PURE__ */ w({
3
- __name: "BOtpFieldBox",
1
+ import { defineComponent as C, ref as h, computed as a, onMounted as B, onBeforeUnmount as E, openBlock as x, createBlock as y, withCtx as L, createElementVNode as d, normalizeClass as c, renderSlot as _ } from "vue";
2
+ import { BModalSize as t } from "./design-system5.mjs";
3
+ import M from "./design-system35.mjs";
4
+ const P = /* @__PURE__ */ C({
5
+ __name: "BModalContainer",
4
6
  props: {
5
- value: { default: "" },
6
- focus: { type: Boolean, default: !1 },
7
- isDisabled: { type: Boolean, default: !1 }
7
+ size: { default: t.Medium },
8
+ fullscreen: { type: Boolean, default: !1 },
9
+ persistent: { type: Boolean, default: !1 }
8
10
  },
9
- emits: ["on-change", "on-keydown", "on-keyup", "on-paste", "on-focus", "on-blur"],
10
- setup(d, { expose: i, emit: r }) {
11
- const t = d, s = r, n = a(t.value || ""), o = a(null), u = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], f = () => {
12
- if (!u.includes(n.value)) {
13
- n.value = "";
14
- return;
15
- }
16
- return n.value = n.value.toString(), n.value.length > 1 && (n.value = n.value.slice(0, 1)), s("on-change", n.value);
17
- }, p = (e) => {
18
- t.isDisabled && e.preventDefault();
19
- const l = e;
20
- [
21
- "Alt",
22
- "Control",
23
- "Meta",
24
- "Backspace",
25
- "ArrowLeft",
26
- "ArrowRight",
27
- "v",
28
- ...u
29
- ].includes(l.key) ? s("on-keydown", e) : l.preventDefault();
30
- }, v = (e) => {
31
- s("on-keyup", e);
32
- }, h = (e) => {
33
- s("on-paste", e);
34
- }, m = () => (o.value.select(), s("on-focus")), y = () => s("on-blur"), g = () => {
35
- o.value.focus(), o.value.select();
11
+ emits: ["close"],
12
+ setup(i, { emit: u }) {
13
+ const s = i, n = u, o = h(null), m = a(() => {
14
+ let e = "ds-relative ds-w-full ds-h-auto ds-m-auto ds-flex ds-items-center ";
15
+ if (s.fullscreen)
16
+ e += "ds-w-screen ds-h-screen ";
17
+ else
18
+ switch (e += "ds-p-4 ", s.size) {
19
+ case t.Small:
20
+ e += "ds-max-w-md ";
21
+ break;
22
+ case t.Large:
23
+ e += "ds-max-w-4xl ";
24
+ break;
25
+ case t.Medium:
26
+ default:
27
+ e += "ds-max-w-2xl ";
28
+ break;
29
+ }
30
+ return e;
31
+ }), p = a(() => {
32
+ let e = "ds-relative ds-rounded-lg ds-shadow ";
33
+ return e += s.fullscreen ? "ds-w-screen ds-h-screen ds-rounded-none " : "", e;
34
+ }), f = () => {
35
+ document.addEventListener("keydown", r);
36
+ }, r = (e) => {
37
+ e.key === "Escape" && n("close");
38
+ }, v = () => {
39
+ document.addEventListener("click", l);
40
+ }, l = (e) => {
41
+ [o.value].some((k) => e.composedPath().includes(k)) || n("close");
36
42
  };
37
- return c(
38
- () => t.value,
39
- (e, l) => {
40
- e !== l && (n.value = e);
41
- }
42
- ), c(
43
- () => t.focus,
44
- (e, l) => {
45
- l !== e && o.value && t.focus && (o.value.focus(), o.value.select());
46
- }
47
- ), B(() => {
48
- o.value && t.focus && (o.value.focus(), o.value.select());
49
- }), i({ focus: g }), (e, l) => b((D(), O("input", {
50
- ref_key: "inputRef",
51
- ref: o,
52
- "onUpdate:modelValue": l[0] || (l[0] = (k) => n.value = k),
53
- disabled: e.isDisabled,
54
- class: "ds-h-11 ds-w-11 ds-rounded-lg ds-border ds-text-center ds-drop-shadow-light ds-transition-all ds-duration-200",
55
- inputmode: "numeric",
56
- maxlength: "1",
57
- onBlur: y,
58
- onFocus: m,
59
- onInput: f,
60
- onKeydown: p,
61
- onKeyup: v,
62
- onPaste: h
63
- }, null, 40, _)), [
64
- [x, n.value]
65
- ]);
43
+ return B(() => {
44
+ s.persistent || setTimeout(() => {
45
+ f(), v();
46
+ }, 200);
47
+ }), E(() => {
48
+ s.persistent || (document.removeEventListener("keydown", r), document.removeEventListener("click", l));
49
+ }), (e, w) => (x(), y(M, null, {
50
+ default: L(() => [
51
+ d("div", {
52
+ class: c([m.value, "modal-wrapper"])
53
+ }, [
54
+ d("div", {
55
+ ref_key: "modalWrapperContentRef",
56
+ ref: o,
57
+ class: c([p.value, "modal-wrapper-content ds-w-full"])
58
+ }, [
59
+ _(e.$slots, "default")
60
+ ], 2)
61
+ ], 2)
62
+ ]),
63
+ _: 3
64
+ }));
66
65
  }
67
66
  });
68
67
  export {
69
- K as default
68
+ P as default
70
69
  };
71
70
  //# sourceMappingURL=design-system99.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system99.mjs","sources":["../src/components/BOtpField/BOtpFieldBox.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"disabled\"]\n\nimport { onMounted, ref, type Ref, watch } from 'vue';\n\n//#region Props\nexport interface Props {\n value?: string;\n focus?: boolean;\n isDisabled?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BOtpFieldBox',\n props: {\n value: { default: '' },\n focus: { type: Boolean, default: false },\n isDisabled: { type: Boolean, default: false }\n },\n emits: [\"on-change\", \"on-keydown\", \"on-keyup\", \"on-paste\", \"on-focus\", \"on-blur\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst model = ref(props.value || '');\nconst inputRef = ref<HTMLInputElement | null>(null) as Ref<HTMLInputElement>;\nconst digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\n//#endregion\n\n//#region Methods\nconst handleOnChange = () => {\n if (!digits.includes(model.value)) {\n model.value = '';\n return;\n }\n\n model.value = model.value.toString();\n if (model.value.length > 1) {\n model.value = model.value.slice(0, 1);\n }\n return emit('on-change', model.value);\n};\n\nconst handleOnKeyDown = (event: KeyboardEvent) => {\n if (props.isDisabled) {\n event.preventDefault();\n }\n // Only allow characters 0-9, DEL, Backspace, Enter, Right and Left Arrows, and Pasting\n const keyEvent = event;\n if (\n [\n 'Alt',\n 'Control',\n 'Meta',\n 'Backspace',\n 'ArrowLeft',\n 'ArrowRight',\n 'v',\n ...digits,\n ].includes(keyEvent.key)\n ) {\n emit('on-keydown', event);\n } else {\n keyEvent.preventDefault();\n }\n};\nconst handleOnKeyUp = (event: KeyboardEvent) => {\n emit('on-keyup', event);\n};\nconst handleOnPaste = (event: ClipboardEvent) => {\n emit('on-paste', event);\n};\nconst handleOnFocus = () => {\n inputRef.value.select();\n return emit('on-focus');\n};\nconst handleOnBlur = () => emit('on-blur');\nconst focusFn = () => {\n inputRef.value.focus();\n inputRef.value.select();\n};\n//#endregion\n\n//#region Watchers\nwatch(\n () => props.value,\n (newValue, oldValue) => {\n if (newValue !== oldValue) {\n model.value = newValue;\n }\n },\n);\nwatch(\n () => props.focus,\n (newFocusValue, oldFocusValue) => {\n // Check if focusedInput changed\n // Prevent calling function if input already in focus\n if (oldFocusValue !== newFocusValue && inputRef.value && props.focus) {\n inputRef.value.focus();\n inputRef.value.select();\n }\n },\n);\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n if (inputRef.value && props.focus) {\n inputRef.value.focus();\n inputRef.value.select();\n }\n});\n//#endregion\n\n__expose({ focus: focusFn });\n\nreturn (_ctx: any,_cache: any) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((model).value = $event)),\n disabled: _ctx.isDisabled,\n class: \"ds-h-11 ds-w-11 ds-rounded-lg ds-border ds-text-center ds-drop-shadow-light ds-transition-all ds-duration-200\",\n inputmode: \"numeric\",\n maxlength: \"1\",\n onBlur: handleOnBlur,\n onFocus: handleOnFocus,\n onInput: handleOnChange,\n onKeydown: handleOnKeyDown,\n onKeyup: handleOnKeyUp,\n onPaste: handleOnPaste\n }, null, 40, _hoisted_1)), [\n [_vModelText, model.value]\n ])\n}\n}\n\n})"],"names":["_hoisted_1","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","model","ref","inputRef","digits","handleOnChange","handleOnKeyDown","event","keyEvent","handleOnKeyUp","handleOnPaste","handleOnFocus","handleOnBlur","focusFn","watch","newValue","oldValue","newFocusValue","oldFocusValue","onMounted","_ctx","_cache","_withDirectives","_openBlock","_createElementBlock","$event","_vModelText"],"mappings":";AAGA,MAAMA,IAAa,CAAC,UAAU,GAYFC,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,OAAO,EAAE,SAAS,GAAG;AAAA,IACrB,OAAO,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IACvC,YAAY,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EAC9C;AAAA,EACA,OAAO,CAAC,aAAa,cAAc,YAAY,YAAY,YAAY,SAAS;AAAA,EAChF,MAAMC,GAAc,EAAE,QAAQC,GAAU,MAAMC,KAAU;AAE1D,UAAMC,IAAQH,GAIRI,IAAOF,GAIPG,IAAQC,EAAIH,EAAM,SAAS,EAAE,GAC7BI,IAAWD,EAA6B,IAAI,GAC5CE,IAAS,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAI1DC,IAAiB,MAAM;AAC3B,UAAI,CAACD,EAAO,SAASH,EAAM,KAAK,GAAG;AACjC,QAAAA,EAAM,QAAQ;AACd;AAAA,MACF;AAEM,aAAAA,EAAA,QAAQA,EAAM,MAAM,SAAS,GAC/BA,EAAM,MAAM,SAAS,MACvBA,EAAM,QAAQA,EAAM,MAAM,MAAM,GAAG,CAAC,IAE/BD,EAAK,aAAaC,EAAM,KAAK;AAAA,IAAA,GAGhCK,IAAkB,CAACC,MAAyB;AAChD,MAAIR,EAAM,cACRQ,EAAM,eAAe;AAGvB,YAAMC,IAAWD;AAEf,MAAA;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAGH;AAAA,MAAA,EACH,SAASI,EAAS,GAAG,IAEvBR,EAAK,cAAcO,CAAK,IAExBC,EAAS,eAAe;AAAA,IAC1B,GAEIC,IAAgB,CAACF,MAAyB;AAC9C,MAAAP,EAAK,YAAYO,CAAK;AAAA,IAAA,GAElBG,IAAgB,CAACH,MAA0B;AAC/C,MAAAP,EAAK,YAAYO,CAAK;AAAA,IAAA,GAElBI,IAAgB,OACpBR,EAAS,MAAM,UACRH,EAAK,UAAU,IAElBY,IAAe,MAAMZ,EAAK,SAAS,GACnCa,IAAU,MAAM;AACpB,MAAAV,EAAS,MAAM,SACfA,EAAS,MAAM;IAAO;AAKxB,WAAAW;AAAA,MACE,MAAMf,EAAM;AAAA,MACZ,CAACgB,GAAUC,MAAa;AACtB,QAAID,MAAaC,MACff,EAAM,QAAQc;AAAA,MAElB;AAAA,IAAA,GAEFD;AAAA,MACE,MAAMf,EAAM;AAAA,MACZ,CAACkB,GAAeC,MAAkB;AAGhC,QAAIA,MAAkBD,KAAiBd,EAAS,SAASJ,EAAM,UAC7DI,EAAS,MAAM,SACfA,EAAS,MAAM;MAEnB;AAAA,IAAA,GAKFgB,EAAU,MAAM;AACV,MAAAhB,EAAS,SAASJ,EAAM,UAC1BI,EAAS,MAAM,SACfA,EAAS,MAAM;IACjB,CACD,GAGQN,EAAA,EAAE,OAAOgB,EAAA,CAAS,GAEpB,CAACO,GAAUC,MACTC,GAAiBC,KAAcC,EAAoB,SAAS;AAAA,MACjE,SAAS;AAAA,MACT,KAAKrB;AAAA,MACL,uBAAuBkB,EAAO,CAAC,MAAMA,EAAO,CAAC,IAAI,CAACI,MAAkBxB,EAAO,QAAQwB;AAAA,MACnF,UAAUL,EAAK;AAAA,MACf,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQR;AAAA,MACR,SAASD;AAAA,MACT,SAASN;AAAA,MACT,WAAWC;AAAA,MACX,SAASG;AAAA,MACT,SAASC;AAAA,IAAA,GACR,MAAM,IAAIjB,CAAU,IAAI;AAAA,MACzB,CAACiC,GAAazB,EAAM,KAAK;AAAA,IAAA,CAC1B;AAAA,EAEH;AAEA,CAAC;"}
1
+ {"version":3,"file":"design-system99.mjs","sources":["../src/components/BModal/BModalContainer.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { BModalSize } from '@/constants/Enums';\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue';\nimport BOverlay from '../BOverlay.vue';\n\n//#region Props\nexport interface Props {\n size?: BModalSize;\n fullscreen?: boolean;\n persistent?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BModalContainer',\n props: {\n size: { default: BModalSize.Medium },\n fullscreen: { type: Boolean, default: false },\n persistent: { type: Boolean, default: false }\n },\n emits: [\"close\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst modalWrapperContentRef = ref<HTMLDivElement | null>(null);\nconst modalWrapperCssClass = computed(() => {\n let result = `ds-relative ds-w-full ds-h-auto ds-m-auto ds-flex ds-items-center `;\n\n if (props.fullscreen) {\n result += `ds-w-screen ds-h-screen `;\n } else {\n result += `ds-p-4 `;\n switch (props.size) {\n case BModalSize.Small:\n result += `ds-max-w-md `;\n break;\n case BModalSize.Large:\n result += `ds-max-w-4xl `;\n break;\n case BModalSize.Medium:\n default:\n result += `ds-max-w-2xl `;\n break;\n }\n }\n\n return result;\n});\nconst modalWrapperContentCssClass = computed(() => {\n let result = `ds-relative ds-rounded-lg ds-shadow `;\n result += props.fullscreen ? `ds-w-screen ds-h-screen ds-rounded-none ` : ``;\n\n return result;\n});\n//#endregion\n\n//#region Methods\nconst initPressEscapeEventListener = () => {\n document.addEventListener('keydown', closeOnEscapePressed);\n};\nconst closeOnEscapePressed = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n emit('close');\n }\n};\nconst initClickOutsideEventListener = () => {\n document.addEventListener('click', closeOnClickOutside);\n};\nconst closeOnClickOutside = (event: any) => {\n const refs = [modalWrapperContentRef.value];\n const withinBoundaries = refs.some((r) => event.composedPath().includes(r));\n if (!withinBoundaries) {\n emit('close');\n }\n};\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n if (!props.persistent) {\n setTimeout(() => {\n initPressEscapeEventListener();\n initClickOutsideEventListener();\n }, 200);\n }\n});\nonBeforeUnmount(() => {\n if (!props.persistent) {\n document.removeEventListener('keydown', closeOnEscapePressed);\n document.removeEventListener('click', closeOnClickOutside);\n }\n});\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BOverlay, null, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: _normalizeClass([modalWrapperCssClass.value, \"modal-wrapper\"])\n }, [\n _createElementVNode(\"div\", {\n ref_key: \"modalWrapperContentRef\",\n ref: modalWrapperContentRef,\n class: _normalizeClass([modalWrapperContentCssClass.value, \"modal-wrapper-content ds-w-full\"])\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 2)\n ], 2)\n ]),\n _: 3\n }))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","BModalSize","__props","__emit","props","emit","modalWrapperContentRef","ref","modalWrapperCssClass","computed","result","modalWrapperContentCssClass","initPressEscapeEventListener","closeOnEscapePressed","event","initClickOutsideEventListener","closeOnClickOutside","r","onMounted","onBeforeUnmount","_ctx","_cache","_openBlock","_createBlock","BOverlay","_withCtx","_createElementVNode","_normalizeClass","_renderSlot"],"mappings":";;;AAeA,MAA4BA,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,MAAM,EAAE,SAASC,EAAW,OAAO;AAAA,IACnC,YAAY,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC5C,YAAY,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,EAC9C;AAAA,EACA,OAAO,CAAC,OAAO;AAAA,EACf,MAAMC,GAAc,EAAE,MAAMC,KAAU;AAExC,UAAMC,IAAQF,GAIRG,IAAOF,GAIPG,IAAyBC,EAA2B,IAAI,GACxDC,IAAuBC,EAAS,MAAM;AAC1C,UAAIC,IAAS;AAEb,UAAIN,EAAM;AACE,QAAAM,KAAA;AAAA;AAGV,gBADUA,KAAA,WACFN,EAAM,MAAM;AAAA,UAClB,KAAKH,EAAW;AACJ,YAAAS,KAAA;AACV;AAAA,UACF,KAAKT,EAAW;AACJ,YAAAS,KAAA;AACV;AAAA,UACF,KAAKT,EAAW;AAAA,UAChB;AACY,YAAAS,KAAA;AACV;AAAA,QACJ;AAGK,aAAAA;AAAA,IAAA,CACR,GACKC,IAA8BF,EAAS,MAAM;AACjD,UAAIC,IAAS;AACH,aAAAA,KAAAN,EAAM,aAAa,6CAA6C,IAEnEM;AAAA,IAAA,CACR,GAIKE,IAA+B,MAAM;AAChC,eAAA,iBAAiB,WAAWC,CAAoB;AAAA,IAAA,GAErDA,IAAuB,CAACC,MAAyB;AACjD,MAAAA,EAAM,QAAQ,YAChBT,EAAK,OAAO;AAAA,IACd,GAEIU,IAAgC,MAAM;AACjC,eAAA,iBAAiB,SAASC,CAAmB;AAAA,IAAA,GAElDA,IAAsB,CAACF,MAAe;AAG1C,MAFa,CAACR,EAAuB,KAAK,EACZ,KAAK,CAACW,MAAMH,EAAM,eAAe,SAASG,CAAC,CAAC,KAExEZ,EAAK,OAAO;AAAA,IACd;AAKF,WAAAa,EAAU,MAAM;AACV,MAACd,EAAM,cACT,WAAW,MAAM;AACc,QAAAQ,KACCG;SAC7B,GAAG;AAAA,IACR,CACD,GACDI,EAAgB,MAAM;AAChB,MAACf,EAAM,eACA,SAAA,oBAAoB,WAAWS,CAAoB,GACnD,SAAA,oBAAoB,SAASG,CAAmB;AAAA,IAC3D,CACD,GAGM,CAACI,GAAUC,OACRC,EAAW,GAAGC,EAAaC,GAAU,MAAM;AAAA,MACjD,SAASC,EAAS,MAAM;AAAA,QACtBC,EAAoB,OAAO;AAAA,UACzB,OAAOC,EAAgB,CAACnB,EAAqB,OAAO,eAAe,CAAC;AAAA,QAAA,GACnE;AAAA,UACDkB,EAAoB,OAAO;AAAA,YACzB,SAAS;AAAA,YACT,KAAKpB;AAAA,YACL,OAAOqB,EAAgB,CAAChB,EAA4B,OAAO,iCAAiC,CAAC;AAAA,UAAA,GAC5F;AAAA,YACDiB,EAAYR,EAAK,QAAQ,SAAS;AAAA,aACjC,CAAC;AAAA,WACH,CAAC;AAAA,MAAA,CACL;AAAA,MACD,GAAG;AAAA,IAAA,CACJ;AAAA,EAEH;AAEA,CAAC;"}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @layer design-system{*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--ds-colors-primary-f: 6 182 212;--ds-colors-primary-t: 59 130 246;--ds-colors-focus: 86 221 214;--ds-colors-primary-f-stop: 0%;--ds-colors-primary-t-stop: 100%}.ds-container{width:100%}@media (min-width: 640px){.ds-container{max-width:640px}}@media (min-width: 768px){.ds-container{max-width:768px}}@media (min-width: 1024px){.ds-container{max-width:1024px}}@media (min-width: 1280px){.ds-container{max-width:1280px}}@media (min-width: 1536px){.ds-container{max-width:1536px}}.ds-pointer-events-none{pointer-events:none}.ds-fixed{position:fixed}.ds-absolute{position:absolute}.ds-relative{position:relative}.ds-left-0{left:0}.ds-left-3{left:.75rem}.ds-right-0{right:0}.ds-right-1{right:.25rem}.ds-right-3{right:.75rem}.ds-right-4{right:1rem}.ds-top-0{top:0}.ds-top-1{top:.25rem}.ds-top-4{top:1rem}.ds-z-10{z-index:10}.ds-z-100{z-index:100}.ds-z-50{z-index:50}.ds-z-\[110\]{z-index:110}.ds-z-\[1\]{z-index:1}.ds-z-\[3\]{z-index:3}.ds-m-auto{margin:auto}.-ds-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.ds-mx-auto{margin-left:auto;margin-right:auto}.ds-my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.ds-my-2{margin-top:.5rem;margin-bottom:.5rem}.ds-my-24{margin-top:6rem;margin-bottom:6rem}.-ds-ml-\[25px\]{margin-left:-25px}.ds-mb-0\.5{margin-bottom:.125rem}.ds-mb-1{margin-bottom:.25rem}.ds-mb-2{margin-bottom:.5rem}.ds-mb-4{margin-bottom:1rem}.ds-ml-0{margin-left:0}.ds-ml-1{margin-left:.25rem}.ds-ml-2{margin-left:.5rem}.ds-ml-4{margin-left:1rem}.ds-mt-1{margin-top:.25rem}.ds-mt-4{margin-top:1rem}.ds-mt-8{margin-top:2rem}.ds-block{display:block}.ds-inline-block{display:inline-block}.ds-inline{display:inline}.ds-flex{display:flex}.ds-inline-flex{display:inline-flex}.ds-grid{display:grid}.ds-hidden{display:none}.ds-aspect-square{aspect-ratio:1 / 1}.\!ds-h-\[30px\]{height:30px!important}.ds-h-10{height:2.5rem}.ds-h-11{height:2.75rem}.ds-h-12{height:3rem}.ds-h-3\.5{height:.875rem}.ds-h-4{height:1rem}.ds-h-4\.5{height:1.125rem}.ds-h-5{height:1.25rem}.ds-h-8{height:2rem}.ds-h-9{height:2.25rem}.ds-h-\[40px\]{height:40px}.ds-h-auto{height:auto}.ds-h-full{height:100%}.ds-h-screen{height:100vh}.ds-max-h-72{max-height:18rem}.ds-min-h-4,.ds-min-h-\[1rem\]{min-height:1rem}.ds-min-h-\[6rem\]{min-height:6rem}.ds-w-10{width:2.5rem}.ds-w-11{width:2.75rem}.ds-w-12{width:3rem}.ds-w-3\.5{width:.875rem}.ds-w-4{width:1rem}.ds-w-4\.5{width:1.125rem}.ds-w-5{width:1.25rem}.ds-w-8{width:2rem}.ds-w-80{width:20rem}.ds-w-full{width:100%}.ds-w-screen{width:100vw}.ds-min-w-4{min-width:1rem}.ds-min-w-\[5rem\]{min-width:5rem}.ds-min-w-\[8rem\]{min-width:8rem}.ds-max-w-2xl{max-width:42rem}.ds-max-w-4xl{max-width:56rem}.ds-max-w-md{max-width:28rem}.ds-flex-1{flex:1 1 0%}.ds-flex-auto{flex:1 1 auto}.ds-flex-initial{flex:0 1 auto}.ds-rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ds-cursor-default{cursor:default}.ds-cursor-not-allowed{cursor:not-allowed}.ds-cursor-pointer{cursor:pointer}.ds-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.ds-grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.ds-grid-rows-\[0fr\]{grid-template-rows:0fr}.ds-grid-rows-\[1fr\]{grid-template-rows:1fr}.ds-flex-wrap{flex-wrap:wrap}.ds-items-start{align-items:flex-start}.ds-items-center{align-items:center}.ds-justify-end{justify-content:flex-end}.ds-justify-center{justify-content:center}.ds-justify-between{justify-content:space-between}.ds-gap-1{gap:.25rem}.ds-gap-2{gap:.5rem}.ds-gap-3{gap:.75rem}.ds-gap-4{gap:1rem}.ds-gap-5{gap:1.25rem}.ds-gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.ds-gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.ds-gap-y-3{row-gap:.75rem}.ds-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.ds-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.ds-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.ds-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.ds-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ds-overflow-hidden{overflow:hidden}.ds-overflow-y-auto{overflow-y:auto}.ds-overflow-x-hidden{overflow-x:hidden}.ds-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-whitespace-nowrap{white-space:nowrap}.ds-rounded-full{border-radius:9999px}.ds-rounded-lg{border-radius:.5rem}.ds-rounded-none{border-radius:0}.ds-rounded-xl{border-radius:.75rem}.ds-rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ds-rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.ds-border{border-width:1px}.ds-border-2{border-width:2px}.ds-border-l-2{border-left-width:2px}.ds-border-none{border-style:none}.\!ds-border-focus{--tw-border-opacity: 1 !important;border-color:rgb(var(--ds-colors-focus) / var(--tw-border-opacity))!important}.ds-border-black\/10,.ds-border-black\/\[0\.1\]{border-color:#0000001a}.ds-border-error{--tw-border-opacity: 1;border-color:rgb(236 55 65 / var(--tw-border-opacity))}.ds-border-focus{--tw-border-opacity: 1;border-color:rgb(var(--ds-colors-focus) / var(--tw-border-opacity))}.ds-border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.ds-border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.ds-border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.ds-border-primary-f\/50{border-color:rgb(var(--ds-colors-primary-f) / .5)}.ds-bg-\[\#f2f2f2\]{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.ds-bg-black\/10{background-color:#0000001a}.ds-bg-black\/20{background-color:#0003}.ds-bg-black\/65{background-color:#000000a6}.ds-bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.ds-bg-gray-150{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.ds-bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.ds-bg-primary-f{--tw-bg-opacity: 1;background-color:rgb(var(--ds-colors-primary-f) / var(--tw-bg-opacity))}.ds-bg-primary-f\/40{background-color:rgb(var(--ds-colors-primary-f) / .4)}.ds-bg-primary-t{--tw-bg-opacity: 1;background-color:rgb(var(--ds-colors-primary-t) / var(--tw-bg-opacity))}.ds-bg-primary-t\/10{background-color:rgb(var(--ds-colors-primary-t) / .1)}.ds-bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.ds-bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.ds-bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.ds-bg-transparent{background-color:transparent}.ds-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.ds-bg-\[url\(\'https\:\/\/wallpapers\.com\/images\/hd\/colorful-love-birds-0ctuhn6r2rubq7v3\.webp\'\)\]{background-image:url(https://wallpapers.com/images/hd/colorful-love-birds-0ctuhn6r2rubq7v3.webp)}.ds-bg-\[url\(\'https\:\/\/wallpapers\.com\/images\/hd\/elegant-feline-in-soft-natural-light-00nbm86akvtczty6\.webp\'\)\]{background-image:url(https://wallpapers.com/images/hd/elegant-feline-in-soft-natural-light-00nbm86akvtczty6.webp)}.ds-bg-\[url\(\'https\:\/\/wallpapers\.com\/images\/high\/dog-underwater-swimming-2siawk4nemp214kj\.webp\'\)\]{background-image:url(https://wallpapers.com/images/high/dog-underwater-swimming-2siawk4nemp214kj.webp)}.ds-bg-\[url\(\'https\:\/\/wallpapers\.com\/images\/high\/three-teen-lions-9xiimjysh7htjow3\.webp\'\)\]{background-image:url(https://wallpapers.com/images/high/three-teen-lions-9xiimjysh7htjow3.webp)}.ds-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.ds-from-primary-f{--tw-gradient-from: rgb(var(--ds-colors-primary-f) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--ds-colors-primary-f) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.ds-from-primary-f-stop{--tw-gradient-from-position: var(--ds-colors-primary-f-stop)}.ds-to-primary-t{--tw-gradient-to: rgb(var(--ds-colors-primary-t) / 1) var(--tw-gradient-to-position)}.ds-bg-contain{background-size:contain}.ds-bg-cover{background-size:cover}.ds-bg-center{background-position:center}.ds-bg-no-repeat{background-repeat:no-repeat}.ds-fill-\[\#00a86b\]{fill:#00a86b}.ds-fill-black\/40{fill:#0006}.ds-fill-black\/60{fill:#0009}.ds-fill-black\/80{fill:#000c}.ds-fill-gray-500{fill:#6b7280}.ds-fill-gray-600{fill:#4b5563}.ds-fill-primary-t{fill:rgb(var(--ds-colors-primary-t) / 1)}.ds-fill-red-600{fill:#dc2626}.ds-fill-white{fill:#fff}.ds-p-0\.5{padding:.125rem}.ds-p-2{padding:.5rem}.ds-p-3{padding:.75rem}.ds-p-4{padding:1rem}.ds-p-5{padding:1.25rem}.ds-px-0{padding-left:0;padding-right:0}.ds-px-2{padding-left:.5rem;padding-right:.5rem}.ds-px-3{padding-left:.75rem;padding-right:.75rem}.ds-px-4{padding-left:1rem;padding-right:1rem}.ds-py-1{padding-top:.25rem;padding-bottom:.25rem}.ds-py-2{padding-top:.5rem;padding-bottom:.5rem}.ds-py-3{padding-top:.75rem;padding-bottom:.75rem}.ds-py-4{padding-top:1rem;padding-bottom:1rem}.ds-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.ds-pb-2{padding-bottom:.5rem}.ds-pl-0{padding-left:0}.ds-pl-1{padding-left:.25rem}.ds-pl-2{padding-left:.5rem}.ds-pr-1{padding-right:.25rem}.ds-pr-2{padding-right:.5rem}.ds-text-center{text-align:center}.ds-text-right{text-align:right}.ds-text-2xl{font-size:1.5rem;line-height:2rem}.ds-text-4xl{font-size:2.25rem;line-height:2.5rem}.ds-text-base{font-size:1rem;line-height:1.5rem}.ds-text-sm{font-size:.875rem;line-height:1.25rem}.ds-text-xs{font-size:.75rem;line-height:1rem}.ds-font-bold{font-weight:700}.ds-font-medium{font-weight:500}.ds-font-semibold{font-weight:600}.ds-capitalize{text-transform:capitalize}.ds-leading-4{line-height:1rem}.ds-text-black\/40{color:#0006}.ds-text-black\/80{color:#000c}.ds-text-black\/\[0\.4\]{color:#0006}.ds-text-black\/\[0\.85\]{color:#000000d9}.ds-text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.ds-text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.ds-text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.ds-text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.ds-text-primary-t{--tw-text-opacity: 1;color:rgb(var(--ds-colors-primary-t) / var(--tw-text-opacity))}.ds-text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.ds-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.ds-opacity-0{opacity:0}.ds-shadow{--tw-shadow: 0px 5px 10px rgba(0, 0, 0, .04), 0px 1px 2px rgba(0, 0, 0, .06);--tw-shadow-colored: 0px 5px 10px var(--tw-shadow-color), 0px 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ds-shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ds-shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\!ds-ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important}.ds-ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ds-ring-error{--tw-ring-opacity: 1;--tw-ring-color: rgb(236 55 65 / var(--tw-ring-opacity))}.ds-ring-focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ds-colors-focus) / var(--tw-ring-opacity))}.ds-drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ds-drop-shadow-light{--tw-drop-shadow: drop-shadow(0 1px 3px rgba(0, 0, 0, .11));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ds-drop-shadow-none{--tw-drop-shadow: drop-shadow(0 0 #0000);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ds-backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.ds-transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-duration-200{transition-duration:.2s}.ds-duration-300{transition-duration:.3s}.ds-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:focus-visible{outline-offset:unset;outline:unset}.ds-border-inner-secondary{box-shadow:inset 0 0 0 1px rgb(var(--ds-colors-primary-t) / 1)}.ds-border-inner-secondary--disabled{box-shadow:inset 0 0 0 1px #0006}.ds-border-inner-additional,.ds-border-inner-additional--disabled{box-shadow:inset 0 0 0 1px #00000040}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .3s cubic-bezier(.4,0,.2,1)}}.after\:ds-mx-3:after{content:var(--tw-content);margin-left:.75rem;margin-right:.75rem}.after\:ds-h-1:after{content:var(--tw-content);height:.25rem}.after\:ds-w-full:after{content:var(--tw-content);width:100%}.after\:ds-border-b:after{content:var(--tw-content);border-bottom-width:1px}.after\:ds-border-gray-200:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.hover\:ds-bg-blue-light:hover{--tw-bg-opacity: 1;background-color:rgb(230 240 254 / var(--tw-bg-opacity))}.hover\:ds-bg-gray-150:hover{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.hover\:ds-bg-primary-f\/70:hover{background-color:rgb(var(--ds-colors-primary-f) / .7)}.hover\:ds-bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.hover\:ds-bg-slate-300:hover{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.hover\:ds-bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\:ds-fill-black\/40:hover{fill:#0006}.hover\:ds-fill-primary-t\/80:hover{fill:rgb(var(--ds-colors-primary-t) / .8)}.hover\:ds-fill-white\/60:hover{fill:#fff9}.hover\:ds-text-primary-t:hover{--tw-text-opacity: 1;color:rgb(var(--ds-colors-primary-t) / var(--tw-text-opacity))}.hover\:ds-ring-2:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ds-ring-primary-t:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ds-colors-primary-t) / var(--tw-ring-opacity))}.focus\:ds-border-focus:focus{--tw-border-opacity: 1;border-color:rgb(var(--ds-colors-focus) / var(--tw-border-opacity))}.focus\:ds-ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ds-ring-error:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(236 55 65 / var(--tw-ring-opacity))}.focus\:ds-ring-focus:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ds-colors-focus) / var(--tw-ring-opacity))}.focus\:ds-ring-primary-t:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ds-colors-primary-t) / var(--tw-ring-opacity))}.focus-visible\:ds-bg-blue-light:focus-visible{--tw-bg-opacity: 1;background-color:rgb(230 240 254 / var(--tw-bg-opacity))}.focus-visible\:ds-bg-gray-150:focus-visible{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.focus-visible\:ds-from-primary-f\/90:focus-visible{--tw-gradient-from: rgb(var(--ds-colors-primary-f) / .9) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--ds-colors-primary-f) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.focus-visible\:ds-to-primary-t\/90:focus-visible{--tw-gradient-to: rgb(var(--ds-colors-primary-t) / .9) var(--tw-gradient-to-position)}.focus-visible\:ds-fill-primary-t\/80:focus-visible{fill:rgb(var(--ds-colors-primary-t) / .8)}.enabled\:ds-text-gray-400:enabled{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.enabled\:hover\:ds-bg-blue-light:hover:enabled{--tw-bg-opacity: 1;background-color:rgb(230 240 254 / var(--tw-bg-opacity))}.enabled\:hover\:ds-bg-gray-150:hover:enabled{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.enabled\:hover\:ds-from-primary-f\/90:hover:enabled{--tw-gradient-from: rgb(var(--ds-colors-primary-f) / .9) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--ds-colors-primary-f) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.enabled\:hover\:ds-to-primary-t\/90:hover:enabled{--tw-gradient-to: rgb(var(--ds-colors-primary-t) / .9) var(--tw-gradient-to-position)}.\*\:enabled\:hover\:ds-bg-gray-150:hover:enabled>*{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.disabled\:ds-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:ds-bg-gray-150:disabled{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.disabled\:ds-fill-black\/40:disabled{fill:#0006}.disabled\:ds-text-black\/40:disabled{color:#0006}.disabled\:ds-text-black\/\[0\.4\]:disabled{color:#0006}.disabled\:ds-text-gray-200:disabled{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:ds-absolute{position:absolute}.sm\:ds-left-\[unset\]{left:unset}.sm\:ds-top-\[unset\]{top:unset}.sm\:ds-z-50{z-index:50}.sm\:ds-block{display:block}.sm\:ds-h-auto{height:auto}.sm\:ds-w-auto{width:auto}.sm\:ds-bg-transparent{background-color:transparent}.sm\:ds-backdrop-blur-none{--tw-backdrop-blur: ;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}}.tab[data-v-797a82dc]{display:none}.tab.active[data-v-797a82dc]{display:block}.b-loading-bar[data-v-31348ccc]{height:.25rem;display:block;width:100%;background-color:#e6effe;overflow:hidden}.b-loading-bar .b-loading-bar-indeterminate[data-v-31348ccc]{background-color:#3b82f6}.b-loading-bar .b-loading-bar-indeterminate[data-v-31348ccc]:before{content:"";position:absolute;z-index:100;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-31348ccc 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.b-loading-bar .b-loading-bar-indeterminate[data-v-31348ccc]:after{content:"";position:absolute;z-index:100;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short-31348ccc 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate-31348ccc{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short-31348ccc{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.carousel-content[data-v-b5c5062f]{position:absolute;top:0;left:0;width:100%;max-height:100%;height:100%}.carousel-navigation--left[data-v-b5c5062f],.carousel-navigation--right[data-v-b5c5062f]{padding:0 1rem;height:100%;position:absolute;display:flex;justify-content:center;align-items:center}.carousel-navigation--right[data-v-b5c5062f]{right:0}.carousel-pagination[data-v-b5c5062f]{position:absolute;bottom:.5rem;width:100%;display:flex;gap:1rem;justify-content:center;align-items:center}.carousel-pagination span[data-v-b5c5062f]{cursor:pointer;width:1.25rem;height:1.25rem;border-radius:50%;background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;opacity:.8}.b-checkbox .b-checkbox__input[data-v-1d793d06]{display:none;width:1.5rem;height:1.5rem;min-width:1.5rem;min-height:1.5rem}.b-checkbox .b-checkbox__input:checked+.b-checkbox__input-label[data-v-1d793d06]{background-color:rgb(var(--ds-colors-primary-t) / 1)}.b-checkbox .b-checkbox__input:checked+.b-checkbox__input-label[data-v-1d793d06]:after{border-color:#fff}.b-checkbox .b-checkbox__input:disabled+.b-checkbox__input-label[data-v-1d793d06]{background-color:#f3f4f6}.b-checkbox .b-checkbox__input:disabled+.b-checkbox__input-label[data-v-1d793d06]:after{border-color:#f3f4f6}.b-checkbox .b-checkbox__input-label[data-v-1d793d06]{position:relative;background-color:#fff;border-radius:.5rem;cursor:pointer;width:1.5rem;height:1.5rem;transition:all .15s linear}.b-checkbox .b-checkbox__input-label[data-v-1d793d06]:after{border:3px solid transparent;border-top:none;border-right:none;content:"";height:7px;left:5.5px;position:absolute;top:7px;transform:rotate(-45deg);width:.75rem;transition:all .15s linear}.b-checkbox.size-sm .b-checkbox__input[data-v-1d793d06]{width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem}.b-checkbox.size-sm .b-checkbox__input-label[data-v-1d793d06]{width:1.25rem;height:1.25rem}.b-checkbox.size-sm .b-checkbox__input-label[data-v-1d793d06]:after{border:2.5px solid transparent;border-top:none;border-right:none;left:3.5px;top:4.5px}.spinner[data-v-c49c635e]{border:.25rem solid #e5e7eb;border-radius:50%;border-top:.25rem solid rgb(var(--ds-colors-primary-t) / 1);border-right:.25rem solid rgb(var(--ds-colors-primary-t) / 1);border-bottom:.25rem solid rgb(var(--ds-colors-primary-t) / 1);animation:spin-c49c635e 2s linear infinite}@keyframes spin-c49c635e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.carousel-item[data-v-6f2b0dc4]{position:absolute;height:100%;width:100%;display:none;transform:translate(100%)}.carousel-item.reverse[data-v-6f2b0dc4]{transform:translate(-100%)}.carousel-item.active[data-v-6f2b0dc4]{display:block}.slide-in[data-v-6f2b0dc4]{animation:slide-in-6f2b0dc4 .5s forwards}.slide-out[data-v-6f2b0dc4]{animation:slide-out-6f2b0dc4 .5s forwards}@keyframes slide-in-6f2b0dc4{to{transform:translate(0)}}@keyframes slide-out-6f2b0dc4{0%{transform:translate(0)}to{transform:translate(-100%)}}.slide-in-reverse[data-v-6f2b0dc4]{animation:slide-in-reverse-6f2b0dc4 .5s forwards}.slide-out-reverse[data-v-6f2b0dc4]{animation:slide-out-reverse-6f2b0dc4 .5s forwards}@keyframes slide-in-reverse-6f2b0dc4{to{transform:translate(0)}}@keyframes slide-out-reverse-6f2b0dc4{0%{transform:translate(0)}to{transform:translate(100%)}}.carousel-item img{min-width:100%;height:100%}.b-radio__input[data-v-98637356]{display:none}.b-radio__input:checked+.b-radio__input-label[data-v-98637356]:before{background-color:rgb(var(--ds-colors-primary-t) / 1)}.b-radio__input:disabled+.b-radio__input-label[data-v-98637356]{background-color:#f3f4f6}.b-radio__input:disabled+.b-radio__input-label[data-v-98637356]:before{background-color:#f3f4f6}.b-radio__input-label[data-v-98637356]{position:relative;width:1.5rem;height:1.5rem;background-color:#fff;border-radius:9999px}.b-radio__input-label[data-v-98637356]:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:transparent;height:1rem;width:1rem;border-radius:9999px;transition:all .15s linear}.tab-header.active[data-v-646ae8c4]{background-color:#fff;color:rgb(var(--ds-colors-primary-t) / 1)}.b-text-field:has(.b-text-field__prepend-icon) input[data-v-d47b93d4]{padding-left:2.25rem}.b-text-field:has(.b-text-field__append-icon) input[data-v-d47b93d4]{padding-right:2.25rem}.tooltip-arrow[data-v-419a3aa7]{position:absolute;left:0;transform:translate3d(59.5px,0,0)}.b-image-picker[data-v-8033e228]{container-name:image-picker;container-type:inline-size}.b-image-picker__draggable[data-v-8033e228]{width:100%;position:relative}.b-image-picker__draggable[data-v-8033e228]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:.5rem}@container image-picker (min-width: 640px){.b-image-picker__draggable[data-v-8033e228]{width:calc(33.3333333333% - .3333333333rem)}}@container image-pbnicker (min-width: 768px){.b-image-picker__draggable[data-v-8033e228]{width:calc(25% - .375rem)}}@container image-picker (min-width: 1280px){.b-image-picker__draggable[data-v-8033e228]{width:calc(20% - .4rem)}}.dragging[data-v-8033e228]{opacity:.5}.dropped-target[data-v-8033e228]{border-width:2px;--tw-border-opacity: 1;border-color:rgb(var(--ds-colors-primary-f) / var(--tw-border-opacity))}.b-currency-field:has(.b-currency-field__prepend-icon) input[data-v-5cbc4bba]{padding-left:2.25rem}.b-currency-field:has(.b-currency-field__append-icon) input[data-v-5cbc4bba]{padding-right:2.25rem}.b-switch__input[data-v-94d47575]{display:none}.b-switch__input:checked+.b-switch__input-label[data-v-94d47575]{background-color:rgb(var(--ds-colors-primary-t) / 1)}.b-switch__input:checked+.b-switch__input-label[data-v-94d47575]:before{transform:translate(100%);background-color:#fff}.b-switch__input:disabled+.b-switch__input-label[data-v-94d47575]:before{background-color:#f3f4f6}.b-switch__input-label[data-v-94d47575]{position:relative;display:flex;background-color:#e5e7eb;border-radius:1rem;padding:.125rem;width:2.75rem;height:1.5rem}.b-switch__input-label[data-v-94d47575]:before{content:"";position:absolute;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:9999px;left:calc(.125rem - 1px);top:calc(.125rem - 1px);transition:all .15s linear}.date-range:not(:has(.--start):has(.--end)) .date-item.--selected~.date-item:has(~.date-item:hover) .date-item__inner[data-v-9a965dba]{background-color:rgb(var(--ds-colors-primary-t) / 10%)}.date-range:not(:has(.--start):has(.--end)) .date-item:hover~.date-item:has(~.date-item.--selected) .date-item__inner[data-v-9a965dba]{background-color:rgb(var(--ds-colors-primary-t) / 10%)}
1
+ @layer design-system{*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--ds-colors-primary-f: 6 182 212;--ds-colors-primary-t: 59 130 246;--ds-colors-focus: 86 221 214;--ds-colors-primary-f-stop: 0%;--ds-colors-primary-t-stop: 100%}.ds-container{width:100%}@media (min-width: 640px){.ds-container{max-width:640px}}@media (min-width: 768px){.ds-container{max-width:768px}}@media (min-width: 1024px){.ds-container{max-width:1024px}}@media (min-width: 1280px){.ds-container{max-width:1280px}}@media (min-width: 1536px){.ds-container{max-width:1536px}}.ds-pointer-events-none{pointer-events:none}.ds-fixed{position:fixed}.ds-absolute{position:absolute}.ds-relative{position:relative}.ds-left-0{left:0}.ds-left-3{left:.75rem}.ds-right-0{right:0}.ds-right-1{right:.25rem}.ds-right-3{right:.75rem}.ds-right-4{right:1rem}.ds-top-0{top:0}.ds-top-1{top:.25rem}.ds-top-4{top:1rem}.ds-z-10{z-index:10}.ds-z-100{z-index:100}.ds-z-50{z-index:50}.ds-z-\[110\]{z-index:110}.ds-z-\[1\]{z-index:1}.ds-z-\[3\]{z-index:3}.ds-m-auto{margin:auto}.-ds-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.ds-mx-auto{margin-left:auto;margin-right:auto}.ds-my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.ds-my-2{margin-top:.5rem;margin-bottom:.5rem}.ds-my-24{margin-top:6rem;margin-bottom:6rem}.-ds-ml-\[25px\]{margin-left:-25px}.ds-mb-0\.5{margin-bottom:.125rem}.ds-mb-1{margin-bottom:.25rem}.ds-mb-2{margin-bottom:.5rem}.ds-mb-4{margin-bottom:1rem}.ds-ml-0{margin-left:0}.ds-ml-1{margin-left:.25rem}.ds-ml-2{margin-left:.5rem}.ds-ml-4{margin-left:1rem}.ds-mt-1{margin-top:.25rem}.ds-mt-4{margin-top:1rem}.ds-mt-8{margin-top:2rem}.ds-block{display:block}.ds-inline-block{display:inline-block}.ds-inline{display:inline}.ds-flex{display:flex}.ds-inline-flex{display:inline-flex}.ds-grid{display:grid}.ds-hidden{display:none}.ds-aspect-square{aspect-ratio:1 / 1}.\!ds-h-\[30px\]{height:30px!important}.ds-h-10{height:2.5rem}.ds-h-11{height:2.75rem}.ds-h-12{height:3rem}.ds-h-3\.5{height:.875rem}.ds-h-4{height:1rem}.ds-h-4\.5{height:1.125rem}.ds-h-5{height:1.25rem}.ds-h-8{height:2rem}.ds-h-9{height:2.25rem}.ds-h-\[40px\]{height:40px}.ds-h-auto{height:auto}.ds-h-full{height:100%}.ds-h-screen{height:100vh}.ds-max-h-72{max-height:18rem}.ds-min-h-4,.ds-min-h-\[1rem\]{min-height:1rem}.ds-min-h-\[6rem\]{min-height:6rem}.ds-w-10{width:2.5rem}.ds-w-11{width:2.75rem}.ds-w-12{width:3rem}.ds-w-3\.5{width:.875rem}.ds-w-4{width:1rem}.ds-w-4\.5{width:1.125rem}.ds-w-5{width:1.25rem}.ds-w-8{width:2rem}.ds-w-80{width:20rem}.ds-w-full{width:100%}.ds-w-screen{width:100vw}.ds-min-w-4{min-width:1rem}.ds-min-w-\[5rem\]{min-width:5rem}.ds-min-w-\[8rem\]{min-width:8rem}.ds-max-w-2xl{max-width:42rem}.ds-max-w-4xl{max-width:56rem}.ds-max-w-md{max-width:28rem}.ds-flex-1{flex:1 1 0%}.ds-flex-auto{flex:1 1 auto}.ds-flex-initial{flex:0 1 auto}.ds-rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ds-cursor-default{cursor:default}.ds-cursor-not-allowed{cursor:not-allowed}.ds-cursor-pointer{cursor:pointer}.ds-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.ds-grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.ds-grid-rows-\[0fr\]{grid-template-rows:0fr}.ds-grid-rows-\[1fr\]{grid-template-rows:1fr}.ds-flex-wrap{flex-wrap:wrap}.ds-items-start{align-items:flex-start}.ds-items-center{align-items:center}.ds-justify-end{justify-content:flex-end}.ds-justify-center{justify-content:center}.ds-justify-between{justify-content:space-between}.ds-gap-1{gap:.25rem}.ds-gap-2{gap:.5rem}.ds-gap-3{gap:.75rem}.ds-gap-4{gap:1rem}.ds-gap-5{gap:1.25rem}.ds-gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.ds-gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.ds-gap-y-3{row-gap:.75rem}.ds-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.ds-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.ds-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.ds-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.ds-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.ds-overflow-hidden{overflow:hidden}.ds-overflow-y-auto{overflow-y:auto}.ds-overflow-x-hidden{overflow-x:hidden}.ds-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-whitespace-nowrap{white-space:nowrap}.ds-rounded-full{border-radius:9999px}.ds-rounded-lg{border-radius:.5rem}.ds-rounded-none{border-radius:0}.ds-rounded-xl{border-radius:.75rem}.ds-rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.ds-rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.ds-border{border-width:1px}.ds-border-2{border-width:2px}.ds-border-l-2{border-left-width:2px}.ds-border-none{border-style:none}.\!ds-border-focus{--tw-border-opacity: 1 !important;border-color:rgb(var(--ds-colors-focus) / var(--tw-border-opacity))!important}.ds-border-black\/10,.ds-border-black\/\[0\.1\]{border-color:#0000001a}.ds-border-error{--tw-border-opacity: 1;border-color:rgb(236 55 65 / var(--tw-border-opacity))}.ds-border-focus{--tw-border-opacity: 1;border-color:rgb(var(--ds-colors-focus) / var(--tw-border-opacity))}.ds-border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.ds-border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.ds-border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.ds-border-primary-f\/50{border-color:rgb(var(--ds-colors-primary-f) / .5)}.ds-bg-\[\#f2f2f2\]{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.ds-bg-black\/10{background-color:#0000001a}.ds-bg-black\/20{background-color:#0003}.ds-bg-black\/65{background-color:#000000a6}.ds-bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.ds-bg-gray-150{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.ds-bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.ds-bg-primary-f{--tw-bg-opacity: 1;background-color:rgb(var(--ds-colors-primary-f) / var(--tw-bg-opacity))}.ds-bg-primary-f\/40{background-color:rgb(var(--ds-colors-primary-f) / .4)}.ds-bg-primary-t{--tw-bg-opacity: 1;background-color:rgb(var(--ds-colors-primary-t) / var(--tw-bg-opacity))}.ds-bg-primary-t\/10{background-color:rgb(var(--ds-colors-primary-t) / .1)}.ds-bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.ds-bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.ds-bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.ds-bg-transparent{background-color:transparent}.ds-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.ds-bg-\[url\(\'https\:\/\/wallpapers\.com\/images\/hd\/colorful-love-birds-0ctuhn6r2rubq7v3\.webp\'\)\]{background-image:url(https://wallpapers.com/images/hd/colorful-love-birds-0ctuhn6r2rubq7v3.webp)}.ds-bg-\[url\(\'https\:\/\/wallpapers\.com\/images\/hd\/elegant-feline-in-soft-natural-light-00nbm86akvtczty6\.webp\'\)\]{background-image:url(https://wallpapers.com/images/hd/elegant-feline-in-soft-natural-light-00nbm86akvtczty6.webp)}.ds-bg-\[url\(\'https\:\/\/wallpapers\.com\/images\/high\/dog-underwater-swimming-2siawk4nemp214kj\.webp\'\)\]{background-image:url(https://wallpapers.com/images/high/dog-underwater-swimming-2siawk4nemp214kj.webp)}.ds-bg-\[url\(\'https\:\/\/wallpapers\.com\/images\/high\/three-teen-lions-9xiimjysh7htjow3\.webp\'\)\]{background-image:url(https://wallpapers.com/images/high/three-teen-lions-9xiimjysh7htjow3.webp)}.ds-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.ds-from-primary-f{--tw-gradient-from: rgb(var(--ds-colors-primary-f) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--ds-colors-primary-f) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.ds-from-primary-f-stop{--tw-gradient-from-position: var(--ds-colors-primary-f-stop)}.ds-to-primary-t{--tw-gradient-to: rgb(var(--ds-colors-primary-t) / 1) var(--tw-gradient-to-position)}.ds-bg-contain{background-size:contain}.ds-bg-cover{background-size:cover}.ds-bg-center{background-position:center}.ds-bg-no-repeat{background-repeat:no-repeat}.ds-fill-\[\#00a86b\]{fill:#00a86b}.ds-fill-black\/40{fill:#0006}.ds-fill-black\/60{fill:#0009}.ds-fill-black\/80{fill:#000c}.ds-fill-gray-500{fill:#6b7280}.ds-fill-gray-600{fill:#4b5563}.ds-fill-primary-t{fill:rgb(var(--ds-colors-primary-t) / 1)}.ds-fill-red-600{fill:#dc2626}.ds-fill-white{fill:#fff}.ds-p-0\.5{padding:.125rem}.ds-p-2{padding:.5rem}.ds-p-3{padding:.75rem}.ds-p-4{padding:1rem}.ds-p-5{padding:1.25rem}.ds-px-0{padding-left:0;padding-right:0}.ds-px-2{padding-left:.5rem;padding-right:.5rem}.ds-px-3{padding-left:.75rem;padding-right:.75rem}.ds-px-4{padding-left:1rem;padding-right:1rem}.ds-py-1{padding-top:.25rem;padding-bottom:.25rem}.ds-py-2{padding-top:.5rem;padding-bottom:.5rem}.ds-py-3{padding-top:.75rem;padding-bottom:.75rem}.ds-py-4{padding-top:1rem;padding-bottom:1rem}.ds-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.ds-pb-2{padding-bottom:.5rem}.ds-pl-0{padding-left:0}.ds-pl-1{padding-left:.25rem}.ds-pl-2{padding-left:.5rem}.ds-pr-1{padding-right:.25rem}.ds-pr-2{padding-right:.5rem}.ds-text-center{text-align:center}.ds-text-right{text-align:right}.ds-text-2xl{font-size:1.5rem;line-height:2rem}.ds-text-4xl{font-size:2.25rem;line-height:2.5rem}.ds-text-base{font-size:1rem;line-height:1.5rem}.ds-text-sm{font-size:.875rem;line-height:1.25rem}.ds-text-xs{font-size:.75rem;line-height:1rem}.ds-font-bold{font-weight:700}.ds-font-medium{font-weight:500}.ds-font-semibold{font-weight:600}.ds-capitalize{text-transform:capitalize}.ds-leading-4{line-height:1rem}.ds-text-black\/40{color:#0006}.ds-text-black\/80{color:#000c}.ds-text-black\/\[0\.4\]{color:#0006}.ds-text-black\/\[0\.85\]{color:#000000d9}.ds-text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.ds-text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.ds-text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.ds-text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.ds-text-primary-t{--tw-text-opacity: 1;color:rgb(var(--ds-colors-primary-t) / var(--tw-text-opacity))}.ds-text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.ds-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.ds-opacity-0{opacity:0}.ds-shadow{--tw-shadow: 0px 5px 10px rgba(0, 0, 0, .04), 0px 1px 2px rgba(0, 0, 0, .06);--tw-shadow-colored: 0px 5px 10px var(--tw-shadow-color), 0px 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ds-shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ds-shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\!ds-ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important}.ds-ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ds-ring-error{--tw-ring-opacity: 1;--tw-ring-color: rgb(236 55 65 / var(--tw-ring-opacity))}.ds-ring-focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ds-colors-focus) / var(--tw-ring-opacity))}.ds-drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ds-drop-shadow-light{--tw-drop-shadow: drop-shadow(0 1px 3px rgba(0, 0, 0, .11));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ds-drop-shadow-none{--tw-drop-shadow: drop-shadow(0 0 #0000);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ds-backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.ds-transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ds-duration-200{transition-duration:.2s}.ds-duration-300{transition-duration:.3s}.ds-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:focus-visible{outline-offset:unset;outline:unset}.ds-border-inner-secondary{box-shadow:inset 0 0 0 1px rgb(var(--ds-colors-primary-t) / 1)}.ds-border-inner-secondary--disabled{box-shadow:inset 0 0 0 1px #0006}.ds-border-inner-additional,.ds-border-inner-additional--disabled{box-shadow:inset 0 0 0 1px #00000040}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .3s cubic-bezier(.4,0,.2,1)}}.after\:ds-mx-3:after{content:var(--tw-content);margin-left:.75rem;margin-right:.75rem}.after\:ds-h-1:after{content:var(--tw-content);height:.25rem}.after\:ds-w-full:after{content:var(--tw-content);width:100%}.after\:ds-border-b:after{content:var(--tw-content);border-bottom-width:1px}.after\:ds-border-gray-200:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.hover\:ds-bg-blue-light:hover{--tw-bg-opacity: 1;background-color:rgb(230 240 254 / var(--tw-bg-opacity))}.hover\:ds-bg-gray-150:hover{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.hover\:ds-bg-primary-f\/70:hover{background-color:rgb(var(--ds-colors-primary-f) / .7)}.hover\:ds-bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.hover\:ds-bg-slate-300:hover{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity))}.hover\:ds-bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\:ds-fill-black\/40:hover{fill:#0006}.hover\:ds-fill-primary-t\/80:hover{fill:rgb(var(--ds-colors-primary-t) / .8)}.hover\:ds-fill-white\/60:hover{fill:#fff9}.hover\:ds-text-primary-t:hover{--tw-text-opacity: 1;color:rgb(var(--ds-colors-primary-t) / var(--tw-text-opacity))}.hover\:ds-ring-2:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ds-ring-primary-t:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ds-colors-primary-t) / var(--tw-ring-opacity))}.focus\:ds-border-focus:focus{--tw-border-opacity: 1;border-color:rgb(var(--ds-colors-focus) / var(--tw-border-opacity))}.focus\:ds-ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ds-ring-error:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(236 55 65 / var(--tw-ring-opacity))}.focus\:ds-ring-focus:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ds-colors-focus) / var(--tw-ring-opacity))}.focus\:ds-ring-primary-t:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ds-colors-primary-t) / var(--tw-ring-opacity))}.focus-visible\:ds-bg-blue-light:focus-visible{--tw-bg-opacity: 1;background-color:rgb(230 240 254 / var(--tw-bg-opacity))}.focus-visible\:ds-bg-gray-150:focus-visible{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.focus-visible\:ds-from-primary-f\/90:focus-visible{--tw-gradient-from: rgb(var(--ds-colors-primary-f) / .9) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--ds-colors-primary-f) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.focus-visible\:ds-to-primary-t\/90:focus-visible{--tw-gradient-to: rgb(var(--ds-colors-primary-t) / .9) var(--tw-gradient-to-position)}.focus-visible\:ds-fill-primary-t\/80:focus-visible{fill:rgb(var(--ds-colors-primary-t) / .8)}.enabled\:ds-text-gray-400:enabled{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.enabled\:hover\:ds-bg-blue-light:hover:enabled{--tw-bg-opacity: 1;background-color:rgb(230 240 254 / var(--tw-bg-opacity))}.enabled\:hover\:ds-bg-gray-150:hover:enabled{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.enabled\:hover\:ds-from-primary-f\/90:hover:enabled{--tw-gradient-from: rgb(var(--ds-colors-primary-f) / .9) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--ds-colors-primary-f) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.enabled\:hover\:ds-to-primary-t\/90:hover:enabled{--tw-gradient-to: rgb(var(--ds-colors-primary-t) / .9) var(--tw-gradient-to-position)}.\*\:enabled\:hover\:ds-bg-gray-150:hover:enabled>*{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.disabled\:ds-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:ds-bg-gray-150:disabled{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity))}.disabled\:ds-fill-black\/40:disabled{fill:#0006}.disabled\:ds-text-black\/40:disabled{color:#0006}.disabled\:ds-text-black\/\[0\.4\]:disabled{color:#0006}.disabled\:ds-text-gray-200:disabled{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:ds-absolute{position:absolute}.sm\:ds-left-\[unset\]{left:unset}.sm\:ds-top-\[unset\]{top:unset}.sm\:ds-z-50{z-index:50}.sm\:ds-block{display:block}.sm\:ds-h-auto{height:auto}.sm\:ds-w-auto{width:auto}.sm\:ds-bg-transparent{background-color:transparent}.sm\:ds-backdrop-blur-none{--tw-backdrop-blur: ;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}}.tab[data-v-797a82dc]{display:none}.tab.active[data-v-797a82dc]{display:block}.b-checkbox .b-checkbox__input[data-v-1d793d06]{display:none;width:1.5rem;height:1.5rem;min-width:1.5rem;min-height:1.5rem}.b-checkbox .b-checkbox__input:checked+.b-checkbox__input-label[data-v-1d793d06]{background-color:rgb(var(--ds-colors-primary-t) / 1)}.b-checkbox .b-checkbox__input:checked+.b-checkbox__input-label[data-v-1d793d06]:after{border-color:#fff}.b-checkbox .b-checkbox__input:disabled+.b-checkbox__input-label[data-v-1d793d06]{background-color:#f3f4f6}.b-checkbox .b-checkbox__input:disabled+.b-checkbox__input-label[data-v-1d793d06]:after{border-color:#f3f4f6}.b-checkbox .b-checkbox__input-label[data-v-1d793d06]{position:relative;background-color:#fff;border-radius:.5rem;cursor:pointer;width:1.5rem;height:1.5rem;transition:all .15s linear}.b-checkbox .b-checkbox__input-label[data-v-1d793d06]:after{border:3px solid transparent;border-top:none;border-right:none;content:"";height:7px;left:5.5px;position:absolute;top:7px;transform:rotate(-45deg);width:.75rem;transition:all .15s linear}.b-checkbox.size-sm .b-checkbox__input[data-v-1d793d06]{width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem}.b-checkbox.size-sm .b-checkbox__input-label[data-v-1d793d06]{width:1.25rem;height:1.25rem}.b-checkbox.size-sm .b-checkbox__input-label[data-v-1d793d06]:after{border:2.5px solid transparent;border-top:none;border-right:none;left:3.5px;top:4.5px}.b-loading-bar[data-v-31348ccc]{height:.25rem;display:block;width:100%;background-color:#e6effe;overflow:hidden}.b-loading-bar .b-loading-bar-indeterminate[data-v-31348ccc]{background-color:#3b82f6}.b-loading-bar .b-loading-bar-indeterminate[data-v-31348ccc]:before{content:"";position:absolute;z-index:100;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-31348ccc 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.b-loading-bar .b-loading-bar-indeterminate[data-v-31348ccc]:after{content:"";position:absolute;z-index:100;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;animation:indeterminate-short-31348ccc 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes indeterminate-31348ccc{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short-31348ccc{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.carousel-item[data-v-6f2b0dc4]{position:absolute;height:100%;width:100%;display:none;transform:translate(100%)}.carousel-item.reverse[data-v-6f2b0dc4]{transform:translate(-100%)}.carousel-item.active[data-v-6f2b0dc4]{display:block}.slide-in[data-v-6f2b0dc4]{animation:slide-in-6f2b0dc4 .5s forwards}.slide-out[data-v-6f2b0dc4]{animation:slide-out-6f2b0dc4 .5s forwards}@keyframes slide-in-6f2b0dc4{to{transform:translate(0)}}@keyframes slide-out-6f2b0dc4{0%{transform:translate(0)}to{transform:translate(-100%)}}.slide-in-reverse[data-v-6f2b0dc4]{animation:slide-in-reverse-6f2b0dc4 .5s forwards}.slide-out-reverse[data-v-6f2b0dc4]{animation:slide-out-reverse-6f2b0dc4 .5s forwards}@keyframes slide-in-reverse-6f2b0dc4{to{transform:translate(0)}}@keyframes slide-out-reverse-6f2b0dc4{0%{transform:translate(0)}to{transform:translate(100%)}}.carousel-item img{min-width:100%;height:100%}.spinner[data-v-c49c635e]{border:.25rem solid #e5e7eb;border-radius:50%;border-top:.25rem solid rgb(var(--ds-colors-primary-t) / 1);border-right:.25rem solid rgb(var(--ds-colors-primary-t) / 1);border-bottom:.25rem solid rgb(var(--ds-colors-primary-t) / 1);animation:spin-c49c635e 2s linear infinite}@keyframes spin-c49c635e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.carousel-content[data-v-b5c5062f]{position:absolute;top:0;left:0;width:100%;max-height:100%;height:100%}.carousel-navigation--left[data-v-b5c5062f],.carousel-navigation--right[data-v-b5c5062f]{padding:0 1rem;height:100%;position:absolute;display:flex;justify-content:center;align-items:center}.carousel-navigation--right[data-v-b5c5062f]{right:0}.carousel-pagination[data-v-b5c5062f]{position:absolute;bottom:.5rem;width:100%;display:flex;gap:1rem;justify-content:center;align-items:center}.carousel-pagination span[data-v-b5c5062f]{cursor:pointer;width:1.25rem;height:1.25rem;border-radius:50%;background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;opacity:.8}.b-radio__input[data-v-98637356]{display:none}.b-radio__input:checked+.b-radio__input-label[data-v-98637356]:before{background-color:rgb(var(--ds-colors-primary-t) / 1)}.b-radio__input:disabled+.b-radio__input-label[data-v-98637356]{background-color:#f3f4f6}.b-radio__input:disabled+.b-radio__input-label[data-v-98637356]:before{background-color:#f3f4f6}.b-radio__input-label[data-v-98637356]{position:relative;width:1.5rem;height:1.5rem;background-color:#fff;border-radius:9999px}.b-radio__input-label[data-v-98637356]:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:transparent;height:1rem;width:1rem;border-radius:9999px;transition:all .15s linear}.tab-header.active[data-v-646ae8c4]{background-color:#fff;color:rgb(var(--ds-colors-primary-t) / 1)}.b-text-field:has(.b-text-field__prepend-icon) input[data-v-d47b93d4]{padding-left:2.25rem}.b-text-field:has(.b-text-field__append-icon) input[data-v-d47b93d4]{padding-right:2.25rem}.tooltip-arrow[data-v-419a3aa7]{position:absolute;left:0;transform:translate3d(59.5px,0,0)}.b-image-picker[data-v-8033e228]{container-name:image-picker;container-type:inline-size}.b-image-picker__draggable[data-v-8033e228]{width:100%;position:relative}.b-image-picker__draggable[data-v-8033e228]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:.5rem}@container image-picker (min-width: 640px){.b-image-picker__draggable[data-v-8033e228]{width:calc(33.3333333333% - .3333333333rem)}}@container image-pbnicker (min-width: 768px){.b-image-picker__draggable[data-v-8033e228]{width:calc(25% - .375rem)}}@container image-picker (min-width: 1280px){.b-image-picker__draggable[data-v-8033e228]{width:calc(20% - .4rem)}}.dragging[data-v-8033e228]{opacity:.5}.dropped-target[data-v-8033e228]{border-width:2px;--tw-border-opacity: 1;border-color:rgb(var(--ds-colors-primary-f) / var(--tw-border-opacity))}.b-currency-field:has(.b-currency-field__prepend-icon) input[data-v-5cbc4bba]{padding-left:2.25rem}.b-currency-field:has(.b-currency-field__append-icon) input[data-v-5cbc4bba]{padding-right:2.25rem}.b-switch__input[data-v-ce4e513c]{display:none}.b-switch__input:checked+.b-switch__input-label[data-v-ce4e513c]{background-color:rgb(var(--ds-colors-primary-t) / 1)}.b-switch__input:checked+.b-switch__input-label[data-v-ce4e513c]:before{transform:translate(100%);background-color:#fff}.b-switch__input:disabled+.b-switch__input-label[data-v-ce4e513c]:before{background-color:#f3f4f6}.b-switch__input-label[data-v-ce4e513c]{position:relative;display:flex;background-color:#e5e7eb;border-radius:1rem;padding:.125rem;width:2.75rem;height:1.5rem}.b-switch__input-label[data-v-ce4e513c]:before{content:"";position:absolute;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:9999px;left:calc(.125rem - 1px);top:calc(.125rem - 1px);transition:all .15s linear}.date-range:not(:has(.--start):has(.--end)) .date-item.--selected~.date-item:has(~.date-item:hover) .date-item__inner[data-v-9a965dba]{background-color:rgb(var(--ds-colors-primary-t) / 10%)}.date-range:not(:has(.--start):has(.--end)) .date-item:hover~.date-item:has(~.date-item.--selected) .date-item__inner[data-v-9a965dba]{background-color:rgb(var(--ds-colors-primary-t) / 10%)}
@@ -1,4 +1,4 @@
1
- export interface BCheckboxProps {
1
+ export interface BSwitchProps {
2
2
  inputId?: string;
3
3
  modelValue: boolean | Array<string | number>;
4
4
  label?: string;
@@ -8,7 +8,7 @@ export interface BCheckboxProps {
8
8
  labelOrphan?: boolean;
9
9
  disabled?: boolean;
10
10
  }
11
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BCheckboxProps>, {
11
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BSwitchProps>, {
12
12
  inputId: string;
13
13
  modelValue: boolean;
14
14
  label: string;
@@ -16,7 +16,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
16
16
  disabled: boolean;
17
17
  }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
18
  "update:modelValue": (value: boolean | (string | number)[]) => void;
19
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BCheckboxProps>, {
19
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BSwitchProps>, {
20
20
  inputId: string;
21
21
  modelValue: boolean;
22
22
  label: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@7pmlabs/design-system",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "homepage": "https://github.com/ngphanducthinh/design-system",
5
5
  "sideEffects": [
6
6
  "style.css"