@leaflink/stash 51.3.0 → 51.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,29 @@
1
+ <svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g style="mix-blend-mode:multiply">
3
+ <path d="M82 77C82 71.4772 86.4772 67 92 67H220C225.523 67 230 71.4772 230 77L230 235C230 240.523 225.523 245 220 245H92C86.4772 245 82 240.523 82 235L82 77Z" fill="#E8E9EE"/>
4
+ </g>
5
+ <path d="M80 55.5L208 55.5C213.247 55.5 217.5 59.7533 217.5 65L217.5 223C217.5 228.247 213.247 232.5 208 232.5H80C74.7533 232.5 70.5 228.247 70.5 223L70.5 65C70.5 59.7533 74.7533 55.5 80 55.5Z" fill="white" stroke="#06040F"/>
6
+ <rect x="82" y="173" width="76" height="6" rx="3" fill="#E8E9EE"/>
7
+ <rect x="82" y="183" width="76" height="6" rx="3" fill="#E8E9EE"/>
8
+ <rect x="82" y="193" width="76" height="6" rx="3" fill="#E8E9EE"/>
9
+ <rect x="82" y="163" width="30" height="6" rx="3" fill="#C5C9D4"/>
10
+ <rect x="168" y="173" width="15.2" height="6" rx="3" fill="#E8E9EE"/>
11
+ <rect x="168" y="183" width="15.2" height="6" rx="3" fill="#E8E9EE"/>
12
+ <rect x="168" y="193" width="15.2" height="6" rx="3" fill="#E8E9EE"/>
13
+ <rect x="187" y="173" width="19" height="6" rx="3" fill="#E8E9EE"/>
14
+ <rect x="187" y="183" width="19" height="6" rx="3" fill="#E8E9EE"/>
15
+ <rect x="187" y="193" width="19" height="6" rx="3" fill="#E8E9EE"/>
16
+ <rect x="168" y="163" width="21.7143" height="6" rx="3" fill="#C5C9D4"/>
17
+ <rect x="168" y="77" width="30.4" height="6" rx="3" fill="#E8E9EE"/>
18
+ <rect x="168" y="97" width="30.4" height="6" rx="3" fill="#E8E9EE"/>
19
+ <rect x="168" y="87" width="38" height="6" rx="3" fill="#C5C9D4"/>
20
+ <rect x="168" y="121" width="38" height="8" rx="4" fill="#E8E9EE"/>
21
+ <rect x="168" y="133" width="38" height="8" rx="4" fill="#E8E9EE"/>
22
+ <rect x="168" y="145" width="38" height="8" rx="4" fill="#C5C9D4"/>
23
+ <rect width="76" height="76" rx="4" transform="matrix(1 0 -4.30719e-05 1 82.0029 77)" fill="#E8E9EE"/>
24
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M115.877 105.118C116.954 99.4693 119.992 91 119.992 91C119.992 91 123.029 99.4693 124.106 105.118C124.638 107.909 124.262 111.556 123.77 114.443C125.17 112.942 126.711 111.477 128.192 110.453C132.833 107.242 140.798 103.465 140.798 103.465C140.798 103.465 137.129 111.665 134.01 116.442C133.553 117.142 133.005 117.856 132.405 118.562C137.983 118.282 145.999 119.042 145.999 119.042C145.999 119.042 138.838 124.255 133.817 126.787C132.375 127.515 130.562 128.015 128.728 128.36C131.761 130.015 135.568 132.786 135.568 132.786C135.568 132.786 130.159 133.3 126.704 133.057C125.473 132.971 124.045 132.602 122.735 132.171L122.734 139L117.249 139L117.249 132.176C115.943 132.604 114.52 132.971 113.293 133.057C109.838 133.3 104.429 132.786 104.429 132.786C104.429 132.786 108.236 130.015 111.269 128.36C109.435 128.016 107.623 127.515 106.18 126.787C101.159 124.255 93.9988 119.042 93.9988 119.042C93.9988 119.042 102.015 118.282 107.593 118.562C106.993 117.856 106.446 117.142 105.989 116.442C102.87 111.665 99.2012 103.465 99.2012 103.465C99.2012 103.465 107.166 107.242 111.807 110.453C113.281 111.472 114.815 112.928 116.209 114.422C115.719 111.538 115.347 107.902 115.877 105.118Z" fill="#C5C9D4"/>
25
+ <path d="M217.5 66.5V65C217.5 59.7533 213.247 55.5 208 55.5H80C74.7533 55.5 70.5 59.7533 70.5 65V66.5H217.5Z" fill="#C5C9D4" stroke="#06040F"/>
26
+ <path d="M70.5 209.5L70.5 223C70.5 228.247 74.7533 232.5 80 232.5L208 232.5C213.247 232.5 217.5 228.247 217.5 223L217.5 209.5L70.5 209.5Z" fill="#E8E9EE" stroke="#06040F"/>
27
+ <rect x="170" y="217" width="36" height="8" rx="4" fill="#C5C9D4"/>
28
+ <rect x="130" y="217" width="36" height="8" rx="4" fill="#C5C9D4"/>
29
+ </svg>
@@ -8,7 +8,7 @@ const p = ["data-variant"], h = /* @__PURE__ */ a({
8
8
  throw new Error("DescriptionListDetail must be used within a DescriptionList component.");
9
9
  const { variant: e } = t;
10
10
  return (s, _) => (r(), o("dd", {
11
- class: c(["stash-description-list-detail tw-flex-1 tw-text-ice-700", {
11
+ class: c(["stash-description-list-detail tw-flex-1 tw-text-ice-900", {
12
12
  "md:tw-text-right": i(e) === "space-between"
13
13
  }]),
14
14
  "data-test": "stash-description-list-detail",
@@ -1 +1 @@
1
- {"version":3,"file":"DescriptionListDetail.js","sources":["../src/components/DescriptionListDetail/DescriptionListDetail.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { inject } from 'vue';\n\n import { DESCRIPTION_LIST_INJECTION } from '../DescriptionList/DescriptionList.keys';\n\n const descriptionListInjectedValues = inject(DESCRIPTION_LIST_INJECTION.key);\n if (!descriptionListInjectedValues) {\n throw new Error('DescriptionListDetail must be used within a DescriptionList component.');\n }\n const { variant } = descriptionListInjectedValues;\n</script>\n\n<template>\n <dd\n class=\"stash-description-list-detail tw-flex-1 tw-text-ice-700\"\n :class=\"{\n 'md:tw-text-right': variant === 'space-between',\n }\"\n data-test=\"stash-description-list-detail\"\n :data-variant=\"variant\"\n >\n <!-- @slot Default slot, for rendering a description detail -->\n <slot></slot>\n </dd>\n</template>\n"],"names":["descriptionListInjectedValues","inject","DESCRIPTION_LIST_INJECTION","variant"],"mappings":";;;;;AAKQ,UAAAA,IAAgCC,EAAOC,EAA2B,GAAG;AAC3E,QAAI,CAACF;AACG,YAAA,IAAI,MAAM,wEAAwE;AAEpF,UAAA,EAAE,SAAAG,MAAYH;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DescriptionListDetail.js","sources":["../src/components/DescriptionListDetail/DescriptionListDetail.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { inject } from 'vue';\n\n import { DESCRIPTION_LIST_INJECTION } from '../DescriptionList/DescriptionList.keys';\n\n const descriptionListInjectedValues = inject(DESCRIPTION_LIST_INJECTION.key);\n if (!descriptionListInjectedValues) {\n throw new Error('DescriptionListDetail must be used within a DescriptionList component.');\n }\n const { variant } = descriptionListInjectedValues;\n</script>\n\n<template>\n <dd\n class=\"stash-description-list-detail tw-flex-1 tw-text-ice-900\"\n :class=\"{\n 'md:tw-text-right': variant === 'space-between',\n }\"\n data-test=\"stash-description-list-detail\"\n :data-variant=\"variant\"\n >\n <!-- @slot Default slot, for rendering a description detail -->\n <slot></slot>\n </dd>\n</template>\n"],"names":["descriptionListInjectedValues","inject","DESCRIPTION_LIST_INJECTION","variant"],"mappings":";;;;;AAKQ,UAAAA,IAAgCC,EAAOC,EAA2B,GAAG;AAC3E,QAAI,CAACF;AACG,YAAA,IAAI,MAAM,wEAAwE;AAEpF,UAAA,EAAE,SAAAG,MAAYH;;;;;;;;;;;;"}
@@ -1,26 +1,26 @@
1
- import { defineComponent as n, inject as o, createElementBlock as r, openBlock as p, unref as t, normalizeClass as d, renderSlot as c } from "vue";
1
+ import { defineComponent as n, inject as r, createElementBlock as o, openBlock as d, unref as t, normalizeClass as p, renderSlot as c } from "vue";
2
2
  import { D as l } from "./DescriptionList.keys-BHlHYV6b.js";
3
- const w = ["data-divide", "data-variant"], v = /* @__PURE__ */ n({
3
+ const m = ["data-divide", "data-variant"], v = /* @__PURE__ */ n({
4
4
  __name: "DescriptionListGroup",
5
- setup(m) {
6
- const s = o(l.key);
7
- if (!s)
5
+ setup(w) {
6
+ const i = r(l.key);
7
+ if (!i)
8
8
  throw new Error("DescriptionListDetail must be used within a DescriptionList component.");
9
- const { divide: i, variant: e } = s;
10
- return (a, u) => (p(), r("div", {
11
- class: d(["stash-description-list-group", {
12
- "md:tw-flex md:tw-gap-x-6": t(e) === "columns" || t(e) === "space-between",
9
+ const { divide: s, variant: e } = i;
10
+ return (a, u) => (d(), o("div", {
11
+ class: p(["stash-description-list-group", {
12
+ "md:tw-flex md:tw-items-start md:tw-gap-x-6": t(e) === "columns" || t(e) === "space-between",
13
13
  "tw-justify-between": t(e) === "space-between",
14
- "md:tw-flex": t(e) === "inline",
15
- "tw-py-1.5 first:tw-pt-0 last:tw-pb-0": !t(i),
16
- "tw-py-3 first:tw-pt-0 last:tw-pb-0": t(i)
14
+ "md:tw-flex md:tw-items-start": t(e) === "inline",
15
+ "tw-py-1.5 first:tw-pt-0 last:tw-pb-0": !t(s),
16
+ "tw-py-3 first:tw-pt-0 last:tw-pb-0": t(s)
17
17
  }]),
18
18
  "data-test": "stash-description-list-group",
19
- "data-divide": t(i),
19
+ "data-divide": t(s),
20
20
  "data-variant": t(e)
21
21
  }, [
22
22
  c(a.$slots, "default")
23
- ], 10, w));
23
+ ], 10, m));
24
24
  }
25
25
  });
26
26
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"DescriptionListGroup.js","sources":["../src/components/DescriptionListGroup/DescriptionListGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { inject } from 'vue';\n\n import { DESCRIPTION_LIST_INJECTION } from '../DescriptionList/DescriptionList.keys';\n\n const descriptionListInjectedValues = inject(DESCRIPTION_LIST_INJECTION.key);\n if (!descriptionListInjectedValues) {\n throw new Error('DescriptionListDetail must be used within a DescriptionList component.');\n }\n const { divide, variant } = descriptionListInjectedValues;\n</script>\n\n<template>\n <div\n class=\"stash-description-list-group\"\n :class=\"{\n 'md:tw-flex md:tw-gap-x-6': variant === 'columns' || variant === 'space-between',\n 'tw-justify-between': variant === 'space-between',\n 'md:tw-flex': variant === 'inline',\n 'tw-py-1.5 first:tw-pt-0 last:tw-pb-0': !divide,\n 'tw-py-3 first:tw-pt-0 last:tw-pb-0': divide,\n }\"\n data-test=\"stash-description-list-group\"\n :data-divide=\"divide\"\n :data-variant=\"variant\"\n >\n <!-- @slot Default slot, for rendering a description detail -->\n <slot></slot>\n </div>\n</template>\n"],"names":["descriptionListInjectedValues","inject","DESCRIPTION_LIST_INJECTION","divide","variant"],"mappings":";;;;;AAKQ,UAAAA,IAAgCC,EAAOC,EAA2B,GAAG;AAC3E,QAAI,CAACF;AACG,YAAA,IAAI,MAAM,wEAAwE;AAEpF,UAAA,EAAE,QAAAG,GAAQ,SAAAC,EAAA,IAAYJ;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DescriptionListGroup.js","sources":["../src/components/DescriptionListGroup/DescriptionListGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { inject } from 'vue';\n\n import { DESCRIPTION_LIST_INJECTION } from '../DescriptionList/DescriptionList.keys';\n\n const descriptionListInjectedValues = inject(DESCRIPTION_LIST_INJECTION.key);\n if (!descriptionListInjectedValues) {\n throw new Error('DescriptionListDetail must be used within a DescriptionList component.');\n }\n const { divide, variant } = descriptionListInjectedValues;\n</script>\n\n<template>\n <div\n class=\"stash-description-list-group\"\n :class=\"{\n 'md:tw-flex md:tw-items-start md:tw-gap-x-6': variant === 'columns' || variant === 'space-between',\n 'tw-justify-between': variant === 'space-between',\n 'md:tw-flex md:tw-items-start': variant === 'inline',\n 'tw-py-1.5 first:tw-pt-0 last:tw-pb-0': !divide,\n 'tw-py-3 first:tw-pt-0 last:tw-pb-0': divide,\n }\"\n data-test=\"stash-description-list-group\"\n :data-divide=\"divide\"\n :data-variant=\"variant\"\n >\n <!-- @slot Default slot, for rendering a description detail -->\n <slot></slot>\n </div>\n</template>\n"],"names":["descriptionListInjectedValues","inject","DESCRIPTION_LIST_INJECTION","divide","variant"],"mappings":";;;;;AAKQ,UAAAA,IAAgCC,EAAOC,EAA2B,GAAG;AAC3E,QAAI,CAACF;AACG,YAAA,IAAI,MAAM,wEAAwE;AAEpF,UAAA,EAAE,QAAAG,GAAQ,SAAAC,EAAA,IAAYJ;;;;;;;;;;;;;;;;;"}
@@ -1,17 +1,14 @@
1
- import { defineComponent as o, inject as r, createElementBlock as i, openBlock as n, unref as e, normalizeClass as c, renderSlot as d, createCommentVNode as m } from "vue";
2
- import { D as l } from "./DescriptionList.keys-BHlHYV6b.js";
3
- const p = ["data-variant"], w = {
4
- key: 0,
5
- class: "tw-hidden md:tw-inline"
6
- }, k = /* @__PURE__ */ o({
1
+ import { defineComponent as a, inject as o, createElementBlock as r, openBlock as c, unref as e, normalizeClass as p, renderSlot as n } from "vue";
2
+ import { D as d } from "./DescriptionList.keys-BHlHYV6b.js";
3
+ const m = ["data-variant"], _ = /* @__PURE__ */ a({
7
4
  __name: "DescriptionListTerm",
8
- setup(_) {
9
- const s = r(l.key);
10
- if (!s)
5
+ setup(l) {
6
+ const i = o(d.key);
7
+ if (!i)
11
8
  throw new Error("DescriptionListDetail must be used within a DescriptionList component.");
12
- const { variant: t } = s;
13
- return (a, u) => (n(), i("dt", {
14
- class: c(["stash-description-list-term tw-font-medium tw-text-ice-900", {
9
+ const { variant: t } = i;
10
+ return (s, w) => (c(), r("dt", {
11
+ class: p(["stash-description-list-term tw-flex tw-items-center tw-gap-x-1 tw-font-bold tw-text-ice-900", {
15
12
  "md:tw-max-w-40 md:tw-basis-2/5": e(t) === "columns",
16
13
  "tw-mr-1.5": e(t) === "inline",
17
14
  "tw-pb-1.5": e(t) === "stacked",
@@ -20,12 +17,13 @@ const p = ["data-variant"], w = {
20
17
  "data-test": "stash-description-list-term",
21
18
  "data-variant": e(t)
22
19
  }, [
23
- d(a.$slots, "default"),
24
- e(t) === "inline" ? (n(), i("span", w, ":")) : m("", !0)
25
- ], 10, p));
20
+ n(s.$slots, "prepend"),
21
+ n(s.$slots, "default"),
22
+ n(s.$slots, "append")
23
+ ], 10, m));
26
24
  }
27
25
  });
28
26
  export {
29
- k as default
27
+ _ as default
30
28
  };
31
29
  //# sourceMappingURL=DescriptionListTerm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DescriptionListTerm.js","sources":["../src/components/DescriptionListTerm/DescriptionListTerm.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { inject } from 'vue';\n\n import { DESCRIPTION_LIST_INJECTION } from '../DescriptionList/DescriptionList.keys';\n\n const descriptionListInjectedValues = inject(DESCRIPTION_LIST_INJECTION.key);\n if (!descriptionListInjectedValues) {\n throw new Error('DescriptionListDetail must be used within a DescriptionList component.');\n }\n const { variant } = descriptionListInjectedValues;\n</script>\n\n<template>\n <dt\n class=\"stash-description-list-term tw-font-medium tw-text-ice-900\"\n :class=\"{\n 'md:tw-max-w-40 md:tw-basis-2/5': variant === 'columns',\n 'tw-mr-1.5': variant === 'inline',\n 'tw-pb-1.5': variant === 'stacked',\n 'tw-pb-1.5 md:tw-pb-0': variant !== 'stacked',\n }\"\n data-test=\"stash-description-list-term\"\n :data-variant=\"variant\"\n >\n <!-- @slot Default slot, for rendering a term -->\n <slot></slot><span v-if=\"variant === 'inline'\" class=\"tw-hidden md:tw-inline\">:</span>\n </dt>\n</template>\n"],"names":["descriptionListInjectedValues","inject","DESCRIPTION_LIST_INJECTION","variant"],"mappings":";;;;;;;;AAKQ,UAAAA,IAAgCC,EAAOC,EAA2B,GAAG;AAC3E,QAAI,CAACF;AACG,YAAA,IAAI,MAAM,wEAAwE;AAEpF,UAAA,EAAE,SAAAG,MAAYH;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DescriptionListTerm.js","sources":["../src/components/DescriptionListTerm/DescriptionListTerm.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { inject } from 'vue';\n\n import { DESCRIPTION_LIST_INJECTION } from '../DescriptionList/DescriptionList.keys';\n\n const descriptionListInjectedValues = inject(DESCRIPTION_LIST_INJECTION.key);\n if (!descriptionListInjectedValues) {\n throw new Error('DescriptionListDetail must be used within a DescriptionList component.');\n }\n const { variant } = descriptionListInjectedValues;\n</script>\n\n<template>\n <dt\n class=\"stash-description-list-term tw-flex tw-items-center tw-gap-x-1 tw-font-bold tw-text-ice-900\"\n :class=\"{\n 'md:tw-max-w-40 md:tw-basis-2/5': variant === 'columns',\n 'tw-mr-1.5': variant === 'inline',\n 'tw-pb-1.5': variant === 'stacked',\n 'tw-pb-1.5 md:tw-pb-0': variant !== 'stacked',\n }\"\n data-test=\"stash-description-list-term\"\n :data-variant=\"variant\"\n >\n <!-- @slot Prepend slot, for rendering a prepended element -->\n <slot name=\"prepend\"></slot>\n <!-- @slot Default slot, for rendering a term -->\n <slot></slot>\n <!-- @slot Append slot, for rendering an appended element -->\n <slot name=\"append\"></slot>\n </dt>\n</template>\n"],"names":["descriptionListInjectedValues","inject","DESCRIPTION_LIST_INJECTION","variant"],"mappings":";;;;;AAKQ,UAAAA,IAAgCC,EAAOC,EAA2B,GAAG;AAC3E,QAAI,CAACF;AACG,YAAA,IAAI,MAAM,wEAAwE;AAEpF,UAAA,EAAE,SAAAG,MAAYH;;;;;;;;;;;;;;;;;"}
@@ -10,7 +10,9 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
10
10
  };
11
11
 
12
12
  declare const _default: __VLS_WithTemplateSlots<DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
13
+ prepend?(_: {}): any;
13
14
  default?(_: {}): any;
15
+ append?(_: {}): any;
14
16
  }>;
15
17
  export default _default;
16
18
 
package/dist/Dialog.js CHANGED
@@ -82,7 +82,7 @@ const U = ["open", "aria-labelledby", "data-test"], W = ["id"], X = {
82
82
  "data-test": "stash-dialog|body-content"
83
83
  }, [
84
84
  a("div", {
85
- class: o(["tw-flex tw-items-center", x.value && "tw-mb-1.5"])
85
+ class: o(["tw-flex tw-items-start", x.value && "tw-mb-1.5"])
86
86
  }, [
87
87
  t.status ? (l(), f(Q, {
88
88
  key: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sources":["../src/components/Dialog/Dialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import capitalize from 'lodash-es/capitalize';\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, nextTick, ref, useAttrs, useCssModule, useSlots, watchEffect } from 'vue';\n\n import {\n StatusColor,\n StatusColors,\n StatusIcon,\n StatusIcons,\n StatusSeverities,\n StatusSeverity,\n } from '../../../types/statusLevels';\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import Icon from '../Icon/Icon.vue';\n\n export interface DialogProps {\n /**\n * Shows or hides the dialog.\n * Usage: v-model:open=\"isOpen\"\n */\n open?: boolean;\n\n /**\n * Whether the confirmation button is enabled or not.\n */\n disabled?: boolean;\n\n /**\n * Is this a dangerous action? Will turn the confirmation button red.\n */\n dangerZone?: boolean;\n\n /**\n * Header text.\n */\n header?: string;\n\n /**\n * Description text.\n */\n description?: string;\n\n /**\n * Cancel button text.\n */\n cancelText?: string;\n\n /**\n * Confirm button text.\n */\n confirmText?: string;\n\n /**\n * Callback function when the confirm button is clicked.\n */\n onConfirm?: (event: Event) => Promise<void> | void;\n\n /**\n * Treats it like an Alert Dialog, with only the confirmation button showing.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/alert}\n */\n alert?: boolean;\n\n /**\n * Adds a top accent border and icon next to the header.\n * This behaves similarly to the Alert component in respect to the levels, icons, and colors\n * passing `error` will treat the dialog the same as `dangerZone`\n */\n status?: StatusSeverity;\n }\n\n const props = withDefaults(defineProps<DialogProps>(), {\n open: false,\n disabled: false,\n dangerZone: false,\n header: t('ll.areYouSure'),\n description: '',\n cancelText: t('ll.cancel'),\n confirmText: '',\n onConfirm: () => undefined,\n alert: false,\n status: undefined,\n });\n\n defineOptions({\n name: 'll-dialog',\n inheritAttrs: false,\n });\n\n const emits = defineEmits<{\n (e: 'update:open', value: boolean): void;\n (e: 'cancel'): void;\n }>();\n\n const slots = useSlots();\n const attrs = useAttrs();\n const classes = useCssModule();\n const headerId = uniqueId('dialog-header-');\n\n const isConfirming = ref(false);\n const root = ref();\n\n // Set the default confirm button text to \"Confirm\".\n // If the `alert` prop is true, the default text is \"Okay\".\n // If the `confirmText` prop is provided, `confirmText` is used whether the alert prop is true.\n const modifiedConfirmText = computed(() => props.confirmText || (props.alert ? t('ll.okay') : t('ll.confirm')));\n\n const hasDescription = computed(() => !!slots.default || props.description);\n\n const statusIcon = computed<StatusIcon>(() =>\n props.status ? StatusIcons[capitalize(props.status)] : StatusIcons.Info,\n );\n const statusTitle = computed<StatusSeverity>(() =>\n props.status ? StatusSeverities[capitalize(props.status)] : StatusSeverities.Info,\n );\n const statusColor = computed<StatusColor>(() =>\n props.status ? StatusColors[capitalize(props.status)] : StatusColors.Info,\n );\n\n const computedDangerZone = computed(() => props.dangerZone || props.status === StatusSeverities.Error);\n\n function cancel() {\n emits('update:open', false);\n emits('cancel');\n }\n\n async function handleConfirm(event: Event) {\n if (isConfirming.value) {\n return;\n }\n\n isConfirming.value = true;\n\n try {\n await props.onConfirm(event);\n } finally {\n isConfirming.value = false;\n }\n }\n\n watchEffect(() => {\n if (props.open && root.value) {\n // Move focus to confirm button\n nextTick(function () {\n root.value.focus();\n });\n }\n });\n</script>\n\n<template>\n <transition name=\"fade\">\n <dialog\n v-if=\"props.open\"\n ref=\"root\"\n :open=\"props.open\"\n tabindex=\"0\"\n :aria-labelledby=\"headerId\"\n aria-modal=\"true\"\n class=\"stash-dialog\"\n :class=\"classes.dialog\"\n :data-test=\"attrs['data-test'] || 'll-dialog'\"\n v-bind=\"attrs\"\n @keydown.esc=\"cancel\"\n >\n <div\n class=\"stash-dialog__body\"\n :class=\"[\n classes.body,\n `tw-border-${statusColor}`,\n {\n 'tw-border-t-6': props.status,\n },\n ]\"\n data-test=\"stash-dialog|body\"\n >\n <div class=\"stash-dialog__body__content\" :class=\"classes.content\" data-test=\"stash-dialog|body-content\">\n <div class=\"tw-flex tw-items-center\" :class=\"hasDescription && 'tw-mb-1.5'\">\n <Icon\n v-if=\"props.status\"\n data-test=\"dialog-status-icon\"\n :name=\"statusIcon\"\n :title=\"statusTitle\"\n :class=\"`tw-text-${statusColor}`\"\n />\n <h3 :id=\"headerId\" :class=\"{ 'tw-ml-1.5 tw-mt-px': props.status }\">{{ props.header }}</h3>\n </div>\n\n <p v-if=\"hasDescription\" class=\"tw-mb-0\">\n <slot v-if=\"slots.default\"></slot>\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span v-else v-html=\"props.description\"></span>\n </p>\n </div>\n\n <footer class=\"stash-dialog__footer\" :class=\"classes.footer\" data-test=\"stash-dialog|footer\">\n <div class=\"tw-text-right\">\n <div :class=\"{ 'button-grid': !props.alert }\">\n <Button v-if=\"!props.alert\" data-test=\"button|cancel\" secondary @click=\"cancel\">\n {{ props.cancelText }}\n </Button>\n\n <Button\n data-test=\"button|confirm\"\n :disabled=\"props.disabled\"\n :is-loading=\"isConfirming\"\n :color=\"computedDangerZone ? 'red' : 'blue'\"\n :class=\"{\n 'tw-w-full': props.alert,\n }\"\n @click=\"handleConfirm\"\n >\n {{ modifiedConfirmText }}\n </Button>\n </div>\n </div>\n </footer>\n </div>\n </dialog>\n </transition>\n</template>\n\n<style module>\n .dialog {\n background: rgb(0 0 0 / 30%);\n bottom: 0;\n display: flex;\n flex-direction: column;\n left: 0;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n place-content: center;\n position: fixed;\n right: 0;\n top: 0;\n z-index: theme('zIndex.dialog');\n width: 100%;\n height: 100vh;\n }\n\n .body {\n @apply tw-shadow-3xl;\n\n background: var(--color-white);\n color: var(--color-ice-700);\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n max-height: 100vh;\n max-width: 360px;\n transition: transform theme('transitionDuration.150') theme('transitionTimingFunction.swing');\n width: 100%;\n\n &.grey {\n background: var(--color-ice-200);\n border-radius: theme('borderRadius.DEFAULT');\n }\n\n @media screen('md') {\n border-radius: theme('borderRadius.DEFAULT');\n }\n }\n\n .content {\n flex-grow: 1;\n padding: theme('spacing.6') var(--grid-gutter);\n }\n\n .footer {\n background: var(--color-ice-200);\n border-top: theme('borderWidth.DEFAULT') solid var(--color-ice-500);\n display: initial; /* TEMP. Will need to fix marketplace `footer` style */\n padding: theme('spacing.6') var(--grid-gutter);\n\n @media screen('md') {\n border-bottom-left-radius: theme('borderRadius.DEFAULT');\n border-bottom-right-radius: theme('borderRadius.DEFAULT');\n }\n }\n\n :global(.fade-enter-from),\n :global(.fade-leave-active) {\n .body {\n transform: translate3d(0, theme('spacing.3'), 0);\n }\n }\n</style>\n"],"names":["props","__props","emits","__emit","slots","useSlots","attrs","useAttrs","classes","useCssModule","headerId","uniqueId","isConfirming","ref","root","modifiedConfirmText","computed","t","hasDescription","statusIcon","StatusIcons","capitalize","statusTitle","StatusSeverities","statusColor","StatusColors","computedDangerZone","cancel","handleConfirm","event","watchEffect","nextTick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EE,UAAMA,IAAQC,GAkBRC,IAAQC,GAKRC,IAAQC,EAAS,GACjBC,IAAQC,EAAS,GACjBC,IAAUC,EAAa,GACvBC,IAAWC,EAAS,gBAAgB,GAEpCC,IAAeC,EAAI,EAAK,GACxBC,IAAOD,EAAI,GAKXE,IAAsBC,EAAS,MAAMhB,EAAM,gBAAgBA,EAAM,QAAQiB,EAAE,SAAS,IAAIA,EAAE,YAAY,EAAE,GAExGC,IAAiBF,EAAS,MAAM,CAAC,CAACZ,EAAM,WAAWJ,EAAM,WAAW,GAEpEmB,IAAaH;AAAA,MAAqB,MACtChB,EAAM,SAASoB,EAAYC,EAAWrB,EAAM,MAAM,CAAC,IAAIoB,EAAY;AAAA,IACrE,GACME,IAAcN;AAAA,MAAyB,MAC3ChB,EAAM,SAASuB,EAAiBF,EAAWrB,EAAM,MAAM,CAAC,IAAIuB,EAAiB;AAAA,IAC/E,GACMC,IAAcR;AAAA,MAAsB,MACxChB,EAAM,SAASyB,EAAaJ,EAAWrB,EAAM,MAAM,CAAC,IAAIyB,EAAa;AAAA,IACvE,GAEMC,IAAqBV,EAAS,MAAMhB,EAAM,cAAcA,EAAM,WAAWuB,EAAiB,KAAK;AAErG,aAASI,IAAS;AAChB,MAAAzB,EAAM,eAAe,EAAK,GAC1BA,EAAM,QAAQ;AAAA,IAAA;AAGhB,mBAAe0B,EAAcC,GAAc;AACzC,UAAI,CAAAjB,EAAa,OAIjB;AAAA,QAAAA,EAAa,QAAQ;AAEjB,YAAA;AACI,gBAAAZ,EAAM,UAAU6B,CAAK;AAAA,QAAA,UAC3B;AACA,UAAAjB,EAAa,QAAQ;AAAA,QAAA;AAAA;AAAA,IACvB;AAGF,WAAAkB,EAAY,MAAM;AACZ,MAAA9B,EAAM,QAAQc,EAAK,SAErBiB,EAAS,WAAY;AACnB,QAAAjB,EAAK,MAAM,MAAM;AAAA,MAAA,CAClB;AAAA,IACH,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Dialog.js","sources":["../src/components/Dialog/Dialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import capitalize from 'lodash-es/capitalize';\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, nextTick, ref, useAttrs, useCssModule, useSlots, watchEffect } from 'vue';\n\n import {\n StatusColor,\n StatusColors,\n StatusIcon,\n StatusIcons,\n StatusSeverities,\n StatusSeverity,\n } from '../../../types/statusLevels';\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import Icon from '../Icon/Icon.vue';\n\n export interface DialogProps {\n /**\n * Shows or hides the dialog.\n * Usage: v-model:open=\"isOpen\"\n */\n open?: boolean;\n\n /**\n * Whether the confirmation button is enabled or not.\n */\n disabled?: boolean;\n\n /**\n * Is this a dangerous action? Will turn the confirmation button red.\n */\n dangerZone?: boolean;\n\n /**\n * Header text.\n */\n header?: string;\n\n /**\n * Description text.\n */\n description?: string;\n\n /**\n * Cancel button text.\n */\n cancelText?: string;\n\n /**\n * Confirm button text.\n */\n confirmText?: string;\n\n /**\n * Callback function when the confirm button is clicked.\n */\n onConfirm?: (event: Event) => Promise<void> | void;\n\n /**\n * Treats it like an Alert Dialog, with only the confirmation button showing.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/alert}\n */\n alert?: boolean;\n\n /**\n * Adds a top accent border and icon next to the header.\n * This behaves similarly to the Alert component in respect to the levels, icons, and colors\n * passing `error` will treat the dialog the same as `dangerZone`\n */\n status?: StatusSeverity;\n }\n\n const props = withDefaults(defineProps<DialogProps>(), {\n open: false,\n disabled: false,\n dangerZone: false,\n header: t('ll.areYouSure'),\n description: '',\n cancelText: t('ll.cancel'),\n confirmText: '',\n onConfirm: () => undefined,\n alert: false,\n status: undefined,\n });\n\n defineOptions({\n name: 'll-dialog',\n inheritAttrs: false,\n });\n\n const emits = defineEmits<{\n (e: 'update:open', value: boolean): void;\n (e: 'cancel'): void;\n }>();\n\n const slots = useSlots();\n const attrs = useAttrs();\n const classes = useCssModule();\n const headerId = uniqueId('dialog-header-');\n\n const isConfirming = ref(false);\n const root = ref();\n\n // Set the default confirm button text to \"Confirm\".\n // If the `alert` prop is true, the default text is \"Okay\".\n // If the `confirmText` prop is provided, `confirmText` is used whether the alert prop is true.\n const modifiedConfirmText = computed(() => props.confirmText || (props.alert ? t('ll.okay') : t('ll.confirm')));\n\n const hasDescription = computed(() => !!slots.default || props.description);\n\n const statusIcon = computed<StatusIcon>(() =>\n props.status ? StatusIcons[capitalize(props.status)] : StatusIcons.Info,\n );\n const statusTitle = computed<StatusSeverity>(() =>\n props.status ? StatusSeverities[capitalize(props.status)] : StatusSeverities.Info,\n );\n const statusColor = computed<StatusColor>(() =>\n props.status ? StatusColors[capitalize(props.status)] : StatusColors.Info,\n );\n\n const computedDangerZone = computed(() => props.dangerZone || props.status === StatusSeverities.Error);\n\n function cancel() {\n emits('update:open', false);\n emits('cancel');\n }\n\n async function handleConfirm(event: Event) {\n if (isConfirming.value) {\n return;\n }\n\n isConfirming.value = true;\n\n try {\n await props.onConfirm(event);\n } finally {\n isConfirming.value = false;\n }\n }\n\n watchEffect(() => {\n if (props.open && root.value) {\n // Move focus to confirm button\n nextTick(function () {\n root.value.focus();\n });\n }\n });\n</script>\n\n<template>\n <transition name=\"fade\">\n <dialog\n v-if=\"props.open\"\n ref=\"root\"\n :open=\"props.open\"\n tabindex=\"0\"\n :aria-labelledby=\"headerId\"\n aria-modal=\"true\"\n class=\"stash-dialog\"\n :class=\"classes.dialog\"\n :data-test=\"attrs['data-test'] || 'll-dialog'\"\n v-bind=\"attrs\"\n @keydown.esc=\"cancel\"\n >\n <div\n class=\"stash-dialog__body\"\n :class=\"[\n classes.body,\n `tw-border-${statusColor}`,\n {\n 'tw-border-t-6': props.status,\n },\n ]\"\n data-test=\"stash-dialog|body\"\n >\n <div class=\"stash-dialog__body__content\" :class=\"classes.content\" data-test=\"stash-dialog|body-content\">\n <div class=\"tw-flex tw-items-start\" :class=\"hasDescription && 'tw-mb-1.5'\">\n <Icon\n v-if=\"props.status\"\n data-test=\"dialog-status-icon\"\n :name=\"statusIcon\"\n :title=\"statusTitle\"\n :class=\"`tw-text-${statusColor}`\"\n />\n <h3 :id=\"headerId\" :class=\"{ 'tw-ml-1.5 tw-mt-px': props.status }\">{{ props.header }}</h3>\n </div>\n\n <p v-if=\"hasDescription\" class=\"tw-mb-0\">\n <slot v-if=\"slots.default\"></slot>\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span v-else v-html=\"props.description\"></span>\n </p>\n </div>\n\n <footer class=\"stash-dialog__footer\" :class=\"classes.footer\" data-test=\"stash-dialog|footer\">\n <div class=\"tw-text-right\">\n <div :class=\"{ 'button-grid': !props.alert }\">\n <Button v-if=\"!props.alert\" data-test=\"button|cancel\" secondary @click=\"cancel\">\n {{ props.cancelText }}\n </Button>\n\n <Button\n data-test=\"button|confirm\"\n :disabled=\"props.disabled\"\n :is-loading=\"isConfirming\"\n :color=\"computedDangerZone ? 'red' : 'blue'\"\n :class=\"{\n 'tw-w-full': props.alert,\n }\"\n @click=\"handleConfirm\"\n >\n {{ modifiedConfirmText }}\n </Button>\n </div>\n </div>\n </footer>\n </div>\n </dialog>\n </transition>\n</template>\n\n<style module>\n .dialog {\n background: rgb(0 0 0 / 30%);\n bottom: 0;\n display: flex;\n flex-direction: column;\n left: 0;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n place-content: center;\n position: fixed;\n right: 0;\n top: 0;\n z-index: theme('zIndex.dialog');\n width: 100%;\n height: 100vh;\n }\n\n .body {\n @apply tw-shadow-3xl;\n\n background: var(--color-white);\n color: var(--color-ice-700);\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n max-height: 100vh;\n max-width: 360px;\n transition: transform theme('transitionDuration.150') theme('transitionTimingFunction.swing');\n width: 100%;\n\n &.grey {\n background: var(--color-ice-200);\n border-radius: theme('borderRadius.DEFAULT');\n }\n\n @media screen('md') {\n border-radius: theme('borderRadius.DEFAULT');\n }\n }\n\n .content {\n flex-grow: 1;\n padding: theme('spacing.6') var(--grid-gutter);\n }\n\n .footer {\n background: var(--color-ice-200);\n border-top: theme('borderWidth.DEFAULT') solid var(--color-ice-500);\n display: initial; /* TEMP. Will need to fix marketplace `footer` style */\n padding: theme('spacing.6') var(--grid-gutter);\n\n @media screen('md') {\n border-bottom-left-radius: theme('borderRadius.DEFAULT');\n border-bottom-right-radius: theme('borderRadius.DEFAULT');\n }\n }\n\n :global(.fade-enter-from),\n :global(.fade-leave-active) {\n .body {\n transform: translate3d(0, theme('spacing.3'), 0);\n }\n }\n</style>\n"],"names":["props","__props","emits","__emit","slots","useSlots","attrs","useAttrs","classes","useCssModule","headerId","uniqueId","isConfirming","ref","root","modifiedConfirmText","computed","t","hasDescription","statusIcon","StatusIcons","capitalize","statusTitle","StatusSeverities","statusColor","StatusColors","computedDangerZone","cancel","handleConfirm","event","watchEffect","nextTick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EE,UAAMA,IAAQC,GAkBRC,IAAQC,GAKRC,IAAQC,EAAS,GACjBC,IAAQC,EAAS,GACjBC,IAAUC,EAAa,GACvBC,IAAWC,EAAS,gBAAgB,GAEpCC,IAAeC,EAAI,EAAK,GACxBC,IAAOD,EAAI,GAKXE,IAAsBC,EAAS,MAAMhB,EAAM,gBAAgBA,EAAM,QAAQiB,EAAE,SAAS,IAAIA,EAAE,YAAY,EAAE,GAExGC,IAAiBF,EAAS,MAAM,CAAC,CAACZ,EAAM,WAAWJ,EAAM,WAAW,GAEpEmB,IAAaH;AAAA,MAAqB,MACtChB,EAAM,SAASoB,EAAYC,EAAWrB,EAAM,MAAM,CAAC,IAAIoB,EAAY;AAAA,IACrE,GACME,IAAcN;AAAA,MAAyB,MAC3ChB,EAAM,SAASuB,EAAiBF,EAAWrB,EAAM,MAAM,CAAC,IAAIuB,EAAiB;AAAA,IAC/E,GACMC,IAAcR;AAAA,MAAsB,MACxChB,EAAM,SAASyB,EAAaJ,EAAWrB,EAAM,MAAM,CAAC,IAAIyB,EAAa;AAAA,IACvE,GAEMC,IAAqBV,EAAS,MAAMhB,EAAM,cAAcA,EAAM,WAAWuB,EAAiB,KAAK;AAErG,aAASI,IAAS;AAChB,MAAAzB,EAAM,eAAe,EAAK,GAC1BA,EAAM,QAAQ;AAAA,IAAA;AAGhB,mBAAe0B,EAAcC,GAAc;AACzC,UAAI,CAAAjB,EAAa,OAIjB;AAAA,QAAAA,EAAa,QAAQ;AAEjB,YAAA;AACI,gBAAAZ,EAAM,UAAU6B,CAAK;AAAA,QAAA,UAC3B;AACA,UAAAjB,EAAa,QAAQ;AAAA,QAAA;AAAA;AAAA,IACvB;AAGF,WAAAkB,EAAY,MAAM;AACZ,MAAA9B,EAAM,QAAQc,EAAK,SAErBiB,EAAS,WAAY;AACnB,QAAAjB,EAAK,MAAM,MAAM;AAAA,MAAA,CAClB;AAAA,IACH,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as f, useCssModule as p, useSlots as g, createElementBlock as o, openBlock as s, createBlock as _, createCommentVNode as i, createElementVNode as u, renderSlot as a, toDisplayString as n, normalizeClass as m, unref as r, createTextVNode as y } from "vue";
2
2
  import { t as w } from "./locale.js";
3
- import { _ as b } from "./Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js";
3
+ import { _ as b } from "./Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js";
4
4
  import { _ as h } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  const x = {
6
6
  key: "empty",
@@ -74,7 +74,7 @@ src: string;
74
74
  };
75
75
  text: string;
76
76
  subtitle: string;
77
- vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
77
+ vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
78
78
  footnote: string;
79
79
  vignetteSize: number;
80
80
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<EmptyStateSlots> & EmptyStateSlots>;
@@ -145,6 +145,7 @@ declare enum VignetteName {
145
145
  Payments = "payments",
146
146
  PieChart = "pie-chart",
147
147
  ProductCards = "product-cards",
148
+ ProductDetails = "product-details",
148
149
  ProductDisplay = "product-display",
149
150
  Search = "search",
150
151
  SearchStorefront = "search-storefront",
package/dist/HttpError.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as B, useCssModule as b, useSlots as z, computed as l, resolveComponent as S, createElementBlock as _, openBlock as m, normalizeClass as n, unref as s, createElementVNode as o, createVNode as p, createCommentVNode as V, withCtx as h, toDisplayString as a, createTextVNode as c, renderSlot as X } from "vue";
2
2
  import { t } from "./locale.js";
3
3
  import I from "./Button.js";
4
- import { _ as N, V as $, I as M } from "./Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js";
4
+ import { _ as N, V as $, I as M } from "./Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js";
5
5
  import { _ as T } from "./Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js";
6
6
  import { _ as D } from "./_plugin-vue_export-helper-CHgC5LLL.js";
7
7
  const H = { class: "heading-jumbo tw-m-0 tw-mb-3 !tw-text-white" }, j = { class: "tw-mb-8 tw-text-white" }, F = { class: "tw-mb-4 tw-text-white" }, R = ["href"], Y = {
@@ -1,5 +1,5 @@
1
- import { _ as s } from "./Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js";
2
- import { I as m, S as o, V as p, s as r, v as i } from "./Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js";
1
+ import { _ as s } from "./Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js";
2
+ import { I as m, S as o, V as p, s as r, v as i } from "./Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js";
3
3
  export {
4
4
  m as IllustrationType,
5
5
  o as SpotName,
@@ -234,6 +234,7 @@ export declare enum VignetteName {
234
234
  Payments = "payments",
235
235
  PieChart = "pie-chart",
236
236
  ProductCards = "product-cards",
237
+ ProductDetails = "product-details",
237
238
  ProductDisplay = "product-display",
238
239
  Search = "search",
239
240
  SearchStorefront = "search-storefront",
@@ -3,9 +3,9 @@ import v from "lodash-es/uniqueId";
3
3
  import { I as b } from "./index-D6bxWkZ1.js";
4
4
  var l = /* @__PURE__ */ ((r) => (r.Approved = "approved", r.Avatar = "avatar", r.Barcode = "barcode", r.Calendar = "calendar", r.Cartridge = "cartridge", r.Celebrate = "celebrate", r.ChatBubble = "chat-bubble", r.CheckBox = "check-box", r.CheckCircle = "check-circle", r.Click = "click", r.Cocktail = "cocktail", r.Confirmation = "confirmation", r.Connnect = "connnect", r.Cookie = "cookie", r.CreditCard = "credit-card", r.Crm = "crm", r.Cultivation = "cultivation", r.Data = "data", r.DeliveryCompleted = "delivery-completed", r.Delivery = "delivery", r.DigitalPayments = "digital-payments", r.Discover = "discover", r.Diversity = "diversity", r.Drink = "drink", r.Dolly = "dolly", r.EasyReconciliations = "easy-reconciliations", r.Efficiency = "efficiency", r.Error = "error", r.ExtendDate = "extend-date", r.FinancialGrowth = "financial-growth", r.FinancialInstitution = "financial-institution", r.Focus = "focus", r.FulfillmentIssues = "fulfillment-issues", r.Growth = "growth", r.Handshake = "handshake", r.Hierarchy = "hierarchy", r.Home = "home", r.Laptop = "laptop", r.Licenses = "licenses", r.LightBulb = "light-bulb", r.LightbulbError = "lightbulb-error", r.LineChart = "line-chart", r.Link = "link", r.LocationPin = "location-pin", r.Lock = "lock", r.Messaging = "messaging", r.Messages = "messages", r.Microchip = "microchip", r.MissingData = "missing-data", r.MoneyTransfer = "money-transfer", r.Money = "money", r.NoInventoryAccess = "no-inventory-access", r.NoInventory = "no-inventory", r.NoPromote = "no-promote", r.PackageReceived = "package-received", r.Package = "package", r.PaymentProcessing = "payment-processing", r.Phone = "phone", r.PieChart = "pie-chart", r.ProductCycle = "product-cycle", r.Puzzle = "puzzle", r.Receipt = "receipt", r.Retail = "retail", r.SearchingDocument = "searching-document", r.ShoppingBasket = "shopping-basket", r.Shopping = "shopping", r.Sign = "sign", r.Smile = "smile", r.Speed = "speed", r.Time = "time", r.Tools = "tools", r.Truck = "truck", r.User = "user", r.Warehouse = "warehouse", r.Warning = "warning", r.XCircle = "x-circle", r))(l || {});
5
5
  const C = Object.values(l);
6
- var o = /* @__PURE__ */ ((r) => (r.Api = "api", r.Bank = "bank", r.Basket = "basket", r.BrandMenu = "brand-menu", r.Calendar = "calendar", r.Dashboard = "dashboard", r.Deals = "deals", r.DocumentSearch = "document-search", r.Edit = "edit", r.EmptyTray = "empty-tray", r.Graph = "graph", r.Integrations = "integrations", r.LightBulb = "light-bulb", r.Map = "map", r.Megaphone = "megaphone", r.Messages = "messages", r.MoneyBank = "money-bank", r.Notifications = "notifications", r.OrdersEmpty = "orders-empty", r.Payments = "payments", r.PieChart = "pie-chart", r.ProductCards = "product-cards", r.ProductDisplay = "product-display", r.Search = "search", r.SearchStorefront = "search-storefront", r.Store = "store", r.Todo = "todo", r.Truck = "truck", r.Users = "users", r.Warehouse = "warehouse", r.WarehouseDelivery = "warehouse-delivery", r))(o || {});
6
+ var o = /* @__PURE__ */ ((r) => (r.Api = "api", r.Bank = "bank", r.Basket = "basket", r.BrandMenu = "brand-menu", r.Calendar = "calendar", r.Dashboard = "dashboard", r.Deals = "deals", r.DocumentSearch = "document-search", r.Edit = "edit", r.EmptyTray = "empty-tray", r.Graph = "graph", r.Integrations = "integrations", r.LightBulb = "light-bulb", r.Map = "map", r.Megaphone = "megaphone", r.Messages = "messages", r.MoneyBank = "money-bank", r.Notifications = "notifications", r.OrdersEmpty = "orders-empty", r.Payments = "payments", r.PieChart = "pie-chart", r.ProductCards = "product-cards", r.ProductDetails = "product-details", r.ProductDisplay = "product-display", r.Search = "search", r.SearchStorefront = "search-storefront", r.Store = "store", r.Todo = "todo", r.Truck = "truck", r.Users = "users", r.Warehouse = "warehouse", r.WarehouseDelivery = "warehouse-delivery", r))(o || {});
7
7
  const g = Object.values(o);
8
- var s = /* @__PURE__ */ ((r) => (r.Spot = "spot", r.Vignette = "vignette", r.Scene = "scene", r))(s || {});
8
+ var i = /* @__PURE__ */ ((r) => (r.Spot = "spot", r.Vignette = "vignette", r.Scene = "scene", r))(i || {});
9
9
  const I = /* @__PURE__ */ d({
10
10
  __name: "Illustration",
11
11
  props: {
@@ -13,44 +13,44 @@ const I = /* @__PURE__ */ d({
13
13
  name: {},
14
14
  title: { default: "" },
15
15
  size: { default: 48 },
16
- type: { default: s.Spot },
16
+ type: { default: i.Spot },
17
17
  fillColor: { default: "blue" },
18
18
  strokeColor: { default: "purple-500" },
19
19
  staticPath: { default: "" }
20
20
  },
21
21
  setup(r) {
22
- const i = r;
23
- if (i.type === s.Scene)
22
+ const s = r;
23
+ if (s.type === i.Scene)
24
24
  throw new Error(
25
25
  "Scene illustration types are not supported. Illustrations will need to be uploaded under ./assets/illustrations/scene. Illustrations to be provided by design."
26
26
  );
27
- if (i.type === s.Spot && !C.includes(i.name) || i.type === s.Vignette && !g.includes(i.name))
27
+ if (s.type === i.Spot && !C.includes(s.name) || s.type === i.Vignette && !g.includes(s.name))
28
28
  throw new Error(
29
- `${i.type} illustration name ${i.name} not found. Did you check that you are using the correct type for your illustration?`
29
+ `${s.type} illustration name ${s.name} not found. Did you check that you are using the correct type for your illustration?`
30
30
  );
31
31
  const n = u("stashOptions", {
32
32
  staticPath: "/static"
33
- }), e = c(() => i.type === s.Spot), t = c(() => e.value ? "0" : !1), a = c(() => i.staticPath || (n == null ? void 0 : n.staticPath));
33
+ }), e = c(() => s.type === i.Spot), t = c(() => e.value ? "0" : !1), a = c(() => s.staticPath || (n == null ? void 0 : n.staticPath));
34
34
  return (w, P) => (y(), h(k(b), {
35
- id: i.id,
35
+ id: s.id,
36
36
  class: f(["tw-inline-block tw-align-middle", {
37
- [`tw-text-${i.fillColor}-400 tw-stroke-${i.strokeColor}`]: e.value
37
+ [`tw-text-${s.fillColor}-400 tw-stroke-${s.strokeColor}`]: e.value
38
38
  }]),
39
- title: i.title,
40
- height: i.size,
41
- width: i.size,
39
+ title: s.title,
40
+ height: s.size,
41
+ width: s.size,
42
42
  "stroke-width": t.value,
43
43
  fill: "none",
44
- src: `${a.value}/illustrations/${i.type}/${i.name}.svg`
44
+ src: `${a.value}/illustrations/${s.type}/${s.name}.svg`
45
45
  }, null, 8, ["id", "class", "title", "height", "width", "stroke-width", "src"]));
46
46
  }
47
47
  });
48
48
  export {
49
- s as I,
49
+ i as I,
50
50
  l as S,
51
51
  o as V,
52
52
  I as _,
53
53
  C as s,
54
54
  g as v
55
55
  };
56
- //# sourceMappingURL=Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js.map
56
+ //# sourceMappingURL=Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js","sources":["../src/components/Illustration/Illustration.models.ts","../src/components/Illustration/Illustration.vue"],"sourcesContent":["/**\n * Enum to strongly map between a friendly name and file name of the illustration\n */\nexport enum SpotName {\n Approved = 'approved',\n Avatar = 'avatar',\n Barcode = 'barcode',\n Calendar = 'calendar',\n Cartridge = 'cartridge',\n Celebrate = 'celebrate',\n ChatBubble = 'chat-bubble',\n CheckBox = 'check-box',\n CheckCircle = 'check-circle',\n Click = 'click',\n Cocktail = 'cocktail',\n Confirmation = 'confirmation',\n Connnect = 'connnect',\n Cookie = 'cookie',\n CreditCard = 'credit-card',\n Crm = 'crm',\n Cultivation = 'cultivation',\n Data = 'data',\n DeliveryCompleted = 'delivery-completed',\n Delivery = 'delivery',\n DigitalPayments = 'digital-payments',\n Discover = 'discover',\n Diversity = 'diversity',\n Drink = 'drink',\n Dolly = 'dolly',\n EasyReconciliations = 'easy-reconciliations',\n Efficiency = 'efficiency',\n Error = 'error',\n ExtendDate = 'extend-date',\n FinancialGrowth = 'financial-growth',\n FinancialInstitution = 'financial-institution',\n Focus = 'focus',\n FulfillmentIssues = 'fulfillment-issues',\n Growth = 'growth',\n Handshake = 'handshake',\n Hierarchy = 'hierarchy',\n Home = 'home',\n Laptop = 'laptop',\n Licenses = 'licenses',\n LightBulb = 'light-bulb',\n LightbulbError = 'lightbulb-error',\n LineChart = 'line-chart',\n Link = 'link',\n LocationPin = 'location-pin',\n Lock = 'lock',\n Messaging = 'messaging',\n Messages = 'messages',\n Microchip = 'microchip',\n MissingData = 'missing-data',\n MoneyTransfer = 'money-transfer',\n Money = 'money',\n NoInventoryAccess = 'no-inventory-access',\n NoInventory = 'no-inventory',\n NoPromote = 'no-promote',\n PackageReceived = 'package-received',\n Package = 'package',\n PaymentProcessing = 'payment-processing',\n Phone = 'phone',\n PieChart = 'pie-chart',\n ProductCycle = 'product-cycle',\n Puzzle = 'puzzle',\n Receipt = 'receipt',\n Retail = 'retail',\n SearchingDocument = 'searching-document',\n ShoppingBasket = 'shopping-basket',\n Shopping = 'shopping',\n Sign = 'sign',\n Smile = 'smile',\n Speed = 'speed',\n Time = 'time',\n Tools = 'tools',\n Truck = 'truck',\n User = 'user',\n Warehouse = 'warehouse',\n Warning = 'warning',\n XCircle = 'x-circle',\n}\n\nexport type SpotNames = `${SpotName}`;\n\n/**\n * String array of all illustration names\n */\nexport const spotNames = Object.values(SpotName);\n\nexport enum VignetteName {\n Api = 'api',\n Bank = 'bank',\n Basket = 'basket',\n BrandMenu = 'brand-menu',\n Calendar = 'calendar',\n Dashboard = 'dashboard',\n Deals = 'deals',\n DocumentSearch = 'document-search',\n Edit = 'edit',\n EmptyTray = 'empty-tray',\n Graph = 'graph',\n Integrations = 'integrations',\n LightBulb = 'light-bulb',\n Map = 'map',\n Megaphone = 'megaphone',\n Messages = 'messages',\n MoneyBank = 'money-bank',\n Notifications = 'notifications',\n OrdersEmpty = 'orders-empty',\n Payments = 'payments',\n PieChart = 'pie-chart',\n ProductCards = 'product-cards',\n ProductDetails = 'product-details',\n ProductDisplay = 'product-display',\n Search = 'search',\n SearchStorefront = 'search-storefront',\n Store = 'store',\n Todo = 'todo',\n Truck = 'truck',\n Users = 'users',\n Warehouse = 'warehouse',\n WarehouseDelivery = 'warehouse-delivery',\n}\n\nexport type VignetteNames = `${VignetteName}`;\n\n/**\n * String array of all vignette names\n */\nexport const vignetteNames = Object.values(VignetteName);\n\n/**\n * Types of illustrations that map to the subfolder under ./assets/illustrations/<type>\n */\nexport enum IllustrationType {\n Spot = 'spot',\n Vignette = 'vignette',\n // Scene is not implemented, but adding it for future work mentioned in STASH-61.\n Scene = 'scene',\n}\n\nexport type IllustrationTypes = `${IllustrationType}`;\n","<script lang=\"ts\">\n export * from './Illustration.models';\n</script>\n\n<script lang=\"ts\" setup>\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, inject } from 'vue';\n import InlineSvg from 'vue-inline-svg';\n\n import { StashPrimaryColor, StashPrimaryColorGroup } from '../../../types/colors';\n import { StashProvideState } from '../../../types/misc';\n import {\n IllustrationType,\n IllustrationTypes,\n SpotName,\n SpotNames,\n spotNames,\n VignetteName,\n VignetteNames,\n vignetteNames,\n } from './Illustration.models';\n\n export interface IllustrationProps {\n id?: string;\n\n /**\n * The filename of the icon that should be displayed\n */\n name: SpotNames | VignetteNames;\n\n /**\n * Accessible, short-text description for the icon. Not rendered as part of the graphic, but\n * browsers usually display it as a tooltip and screen readers use this.\n */\n title?: string;\n\n /**\n * The size in pixels of the illustration. This number will be used for width and height\n */\n size?: number;\n\n /**\n * Type of the illustration\n */\n type?: IllustrationTypes;\n\n /**\n * The fill color for the illustration. This component will use the 400 shade of the color\n * per design's request. Defaults to teal.\n */\n fillColor?: StashPrimaryColorGroup;\n\n /**\n * The color theme for the illustration. This component will use the standard 500 shade of the color.\n * Defaults to purple\n */\n strokeColor?: StashPrimaryColor;\n\n /**\n * Illustration's custom static path. It'll default to either the staticPath defined on the library installation or '/static' if none are provided.\n */\n staticPath?: string;\n }\n\n const props = withDefaults(defineProps<IllustrationProps>(), {\n id: uniqueId('ll-illustration-'),\n title: '',\n size: 48,\n type: IllustrationType.Spot,\n fillColor: 'blue',\n strokeColor: 'purple-500',\n staticPath: '',\n });\n\n if (props.type === IllustrationType.Scene) {\n throw new Error(\n 'Scene illustration types are not supported. Illustrations will need to be uploaded under ./assets/illustrations/scene. Illustrations to be provided by design.',\n );\n }\n\n if (\n (props.type === IllustrationType.Spot && !spotNames.includes(props.name as SpotName)) ||\n (props.type === IllustrationType.Vignette && !vignetteNames.includes(props.name as VignetteName))\n ) {\n throw new Error(\n `${props.type} illustration name ${props.name} not found. Did you check that you are using the correct type for your illustration?`,\n );\n }\n\n const stashOptions = inject<Partial<StashProvideState>>('stashOptions', {\n staticPath: '/static',\n });\n\n const isSpotIllustration = computed(() => props.type === IllustrationType.Spot);\n\n /**\n * Browsers won't add the `stroke-width` attribute if it is set to false.\n * However, setting it to specific number value affects vignettes\n */\n const strokeWidth = computed<boolean | string>(() => {\n return isSpotIllustration.value ? '0' : false;\n });\n\n const computedStaticPath = computed(() => {\n return props.staticPath || stashOptions?.staticPath;\n });\n</script>\n\n<template>\n <!-- InlineSvg package (https://github.com/shrpne/vue-inline-svg) swaps external svgs and puts\n them inline so we can style them with CSS -->\n <!-- Having to override fill to be none and stroke to be zero so the exported svgs from Figma\n that do not have those attributes specified do not get a default one applied -->\n <InlineSvg\n :id=\"props.id\"\n class=\"tw-inline-block tw-align-middle\"\n :class=\"{\n [`tw-text-${props.fillColor}-400 tw-stroke-${props.strokeColor}`]: isSpotIllustration,\n }\"\n :title=\"props.title\"\n :height=\"props.size\"\n :width=\"props.size\"\n :stroke-width=\"strokeWidth\"\n fill=\"none\"\n :src=\"`${computedStaticPath}/illustrations/${props.type}/${props.name}.svg`\"\n />\n</template>\n"],"names":["SpotName","spotNames","VignetteName","vignetteNames","IllustrationType","props","__props","stashOptions","inject","isSpotIllustration","computed","strokeWidth","computedStaticPath"],"mappings":"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"}
@@ -3540,7 +3540,7 @@ type: PropType<string>;
3540
3540
  default: string;
3541
3541
  };
3542
3542
  vignette: {
3543
- type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
3543
+ type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
3544
3544
  default: undefined;
3545
3545
  };
3546
3546
  footnote: {
@@ -3559,7 +3559,7 @@ src: string;
3559
3559
  };
3560
3560
  text: string;
3561
3561
  subtitle: string;
3562
- vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
3562
+ vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
3563
3563
  footnote: string;
3564
3564
  vignetteSize: number;
3565
3565
  }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
@@ -3593,7 +3593,7 @@ type: PropType<string>;
3593
3593
  default: string;
3594
3594
  };
3595
3595
  vignette: {
3596
- type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
3596
+ type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
3597
3597
  default: undefined;
3598
3598
  };
3599
3599
  footnote: {
@@ -3612,7 +3612,7 @@ src: string;
3612
3612
  };
3613
3613
  text: string;
3614
3614
  subtitle: string;
3615
- vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
3615
+ vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
3616
3616
  footnote: string;
3617
3617
  vignetteSize: number;
3618
3618
  }>;
@@ -3643,7 +3643,7 @@ type: PropType<string>;
3643
3643
  default: string;
3644
3644
  };
3645
3645
  vignette: {
3646
- type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
3646
+ type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
3647
3647
  default: undefined;
3648
3648
  };
3649
3649
  footnote: {
@@ -3662,7 +3662,7 @@ src: string;
3662
3662
  };
3663
3663
  text: string;
3664
3664
  subtitle: string;
3665
- vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
3665
+ vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
3666
3666
  footnote: string;
3667
3667
  vignetteSize: number;
3668
3668
  }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
@@ -5344,7 +5344,7 @@ type: PropType<string>;
5344
5344
  default: string;
5345
5345
  };
5346
5346
  vignette: {
5347
- type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
5347
+ type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
5348
5348
  default: undefined;
5349
5349
  };
5350
5350
  footnote: {
@@ -5363,7 +5363,7 @@ src: string;
5363
5363
  };
5364
5364
  text: string;
5365
5365
  subtitle: string;
5366
- vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
5366
+ vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
5367
5367
  footnote: string;
5368
5368
  vignetteSize: number;
5369
5369
  }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
@@ -5397,7 +5397,7 @@ type: PropType<string>;
5397
5397
  default: string;
5398
5398
  };
5399
5399
  vignette: {
5400
- type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
5400
+ type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
5401
5401
  default: undefined;
5402
5402
  };
5403
5403
  footnote: {
@@ -5416,7 +5416,7 @@ src: string;
5416
5416
  };
5417
5417
  text: string;
5418
5418
  subtitle: string;
5419
- vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
5419
+ vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
5420
5420
  footnote: string;
5421
5421
  vignetteSize: number;
5422
5422
  }>;
@@ -5447,7 +5447,7 @@ type: PropType<string>;
5447
5447
  default: string;
5448
5448
  };
5449
5449
  vignette: {
5450
- type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
5450
+ type: PropType<"map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery">;
5451
5451
  default: undefined;
5452
5452
  };
5453
5453
  footnote: {
@@ -5466,7 +5466,7 @@ src: string;
5466
5466
  };
5467
5467
  text: string;
5468
5468
  subtitle: string;
5469
- vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
5469
+ vignette: "map" | "search" | "calendar" | "dashboard" | "edit" | "megaphone" | "truck" | "warehouse" | "payments" | "light-bulb" | "messages" | "pie-chart" | "api" | "bank" | "basket" | "brand-menu" | "deals" | "document-search" | "empty-tray" | "graph" | "integrations" | "money-bank" | "notifications" | "orders-empty" | "product-cards" | "product-details" | "product-display" | "search-storefront" | "store" | "todo" | "users" | "warehouse-delivery";
5470
5470
  footnote: string;
5471
5471
  vignetteSize: number;
5472
5472
  }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
package/dist/TableCell.js CHANGED
@@ -3,7 +3,7 @@ import "lodash-es/cloneDeep";
3
3
  import "lodash-es/get";
4
4
  import "lodash-es/uniqueId";
5
5
  import "./DataView.keys-aSOnA4AD.js";
6
- import "./Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js";
6
+ import "./Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js";
7
7
  import "@leaflink/snitch";
8
8
  import { T as w } from "./Table.keys-LHQf6FEH.js";
9
9
  import { _ as x } from "./_plugin-vue_export-helper-CHgC5LLL.js";
@@ -3,7 +3,7 @@ import "lodash-es/cloneDeep";
3
3
  import "lodash-es/get";
4
4
  import f from "./Icon.js";
5
5
  import { D as b } from "./DataView.keys-aSOnA4AD.js";
6
- import "./Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js";
6
+ import "./Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js";
7
7
  import "lodash-es/uniqueId";
8
8
  import "@leaflink/snitch";
9
9
  import { T as N } from "./Table.keys-LHQf6FEH.js";
@@ -4,7 +4,7 @@ import v from "./Checkbox.js";
4
4
  import { D as w } from "./DataView.keys-aSOnA4AD.js";
5
5
  import "lodash-es/cloneDeep";
6
6
  import "lodash-es/uniqueId";
7
- import "./Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js";
7
+ import "./Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js";
8
8
  import { T as N } from "./Table.keys-LHQf6FEH.js";
9
9
  import h from "./TableHeaderCell.js";
10
10
  import { _ as g } from "./_plugin-vue_export-helper-CHgC5LLL.js";
package/dist/TableRow.js CHANGED
@@ -6,7 +6,7 @@ import { _ as U } from "./ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_q
6
6
  import { _ as G } from "./Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js";
7
7
  import "lodash-es/cloneDeep";
8
8
  import "./DataView.keys-aSOnA4AD.js";
9
- import "./Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js";
9
+ import "./Illustration.vue_vue_type_script_setup_true_lang-DlY0OGCe.js";
10
10
  import y from "./TableCell.js";
11
11
  import { T as H } from "./Table.keys-LHQf6FEH.js";
12
12
  import { _ as K } from "./_plugin-vue_export-helper-CHgC5LLL.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflink/stash",
3
- "version": "51.3.0",
3
+ "version": "51.5.0",
4
4
  "description": "LeafLink's design system.",
5
5
  "homepage": "https://stash.leaflink.com",
6
6
  "main": "./dist/index.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Illustration.vue_vue_type_script_setup_true_lang-BBqgoJO8.js","sources":["../src/components/Illustration/Illustration.models.ts","../src/components/Illustration/Illustration.vue"],"sourcesContent":["/**\n * Enum to strongly map between a friendly name and file name of the illustration\n */\nexport enum SpotName {\n Approved = 'approved',\n Avatar = 'avatar',\n Barcode = 'barcode',\n Calendar = 'calendar',\n Cartridge = 'cartridge',\n Celebrate = 'celebrate',\n ChatBubble = 'chat-bubble',\n CheckBox = 'check-box',\n CheckCircle = 'check-circle',\n Click = 'click',\n Cocktail = 'cocktail',\n Confirmation = 'confirmation',\n Connnect = 'connnect',\n Cookie = 'cookie',\n CreditCard = 'credit-card',\n Crm = 'crm',\n Cultivation = 'cultivation',\n Data = 'data',\n DeliveryCompleted = 'delivery-completed',\n Delivery = 'delivery',\n DigitalPayments = 'digital-payments',\n Discover = 'discover',\n Diversity = 'diversity',\n Drink = 'drink',\n Dolly = 'dolly',\n EasyReconciliations = 'easy-reconciliations',\n Efficiency = 'efficiency',\n Error = 'error',\n ExtendDate = 'extend-date',\n FinancialGrowth = 'financial-growth',\n FinancialInstitution = 'financial-institution',\n Focus = 'focus',\n FulfillmentIssues = 'fulfillment-issues',\n Growth = 'growth',\n Handshake = 'handshake',\n Hierarchy = 'hierarchy',\n Home = 'home',\n Laptop = 'laptop',\n Licenses = 'licenses',\n LightBulb = 'light-bulb',\n LightbulbError = 'lightbulb-error',\n LineChart = 'line-chart',\n Link = 'link',\n LocationPin = 'location-pin',\n Lock = 'lock',\n Messaging = 'messaging',\n Messages = 'messages',\n Microchip = 'microchip',\n MissingData = 'missing-data',\n MoneyTransfer = 'money-transfer',\n Money = 'money',\n NoInventoryAccess = 'no-inventory-access',\n NoInventory = 'no-inventory',\n NoPromote = 'no-promote',\n PackageReceived = 'package-received',\n Package = 'package',\n PaymentProcessing = 'payment-processing',\n Phone = 'phone',\n PieChart = 'pie-chart',\n ProductCycle = 'product-cycle',\n Puzzle = 'puzzle',\n Receipt = 'receipt',\n Retail = 'retail',\n SearchingDocument = 'searching-document',\n ShoppingBasket = 'shopping-basket',\n Shopping = 'shopping',\n Sign = 'sign',\n Smile = 'smile',\n Speed = 'speed',\n Time = 'time',\n Tools = 'tools',\n Truck = 'truck',\n User = 'user',\n Warehouse = 'warehouse',\n Warning = 'warning',\n XCircle = 'x-circle',\n}\n\nexport type SpotNames = `${SpotName}`;\n\n/**\n * String array of all illustration names\n */\nexport const spotNames = Object.values(SpotName);\n\nexport enum VignetteName {\n Api = 'api',\n Bank = 'bank',\n Basket = 'basket',\n BrandMenu = 'brand-menu',\n Calendar = 'calendar',\n Dashboard = 'dashboard',\n Deals = 'deals',\n DocumentSearch = 'document-search',\n Edit = 'edit',\n EmptyTray = 'empty-tray',\n Graph = 'graph',\n Integrations = 'integrations',\n LightBulb = 'light-bulb',\n Map = 'map',\n Megaphone = 'megaphone',\n Messages = 'messages',\n MoneyBank = 'money-bank',\n Notifications = 'notifications',\n OrdersEmpty = 'orders-empty',\n Payments = 'payments',\n PieChart = 'pie-chart',\n ProductCards = 'product-cards',\n ProductDisplay = 'product-display',\n Search = 'search',\n SearchStorefront = 'search-storefront',\n Store = 'store',\n Todo = 'todo',\n Truck = 'truck',\n Users = 'users',\n Warehouse = 'warehouse',\n WarehouseDelivery = 'warehouse-delivery',\n}\n\nexport type VignetteNames = `${VignetteName}`;\n\n/**\n * String array of all vignette names\n */\nexport const vignetteNames = Object.values(VignetteName);\n\n/**\n * Types of illustrations that map to the subfolder under ./assets/illustrations/<type>\n */\nexport enum IllustrationType {\n Spot = 'spot',\n Vignette = 'vignette',\n // Scene is not implemented, but adding it for future work mentioned in STASH-61.\n Scene = 'scene',\n}\n\nexport type IllustrationTypes = `${IllustrationType}`;\n","<script lang=\"ts\">\n export * from './Illustration.models';\n</script>\n\n<script lang=\"ts\" setup>\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, inject } from 'vue';\n import InlineSvg from 'vue-inline-svg';\n\n import { StashPrimaryColor, StashPrimaryColorGroup } from '../../../types/colors';\n import { StashProvideState } from '../../../types/misc';\n import {\n IllustrationType,\n IllustrationTypes,\n SpotName,\n SpotNames,\n spotNames,\n VignetteName,\n VignetteNames,\n vignetteNames,\n } from './Illustration.models';\n\n export interface IllustrationProps {\n id?: string;\n\n /**\n * The filename of the icon that should be displayed\n */\n name: SpotNames | VignetteNames;\n\n /**\n * Accessible, short-text description for the icon. Not rendered as part of the graphic, but\n * browsers usually display it as a tooltip and screen readers use this.\n */\n title?: string;\n\n /**\n * The size in pixels of the illustration. This number will be used for width and height\n */\n size?: number;\n\n /**\n * Type of the illustration\n */\n type?: IllustrationTypes;\n\n /**\n * The fill color for the illustration. This component will use the 400 shade of the color\n * per design's request. Defaults to teal.\n */\n fillColor?: StashPrimaryColorGroup;\n\n /**\n * The color theme for the illustration. This component will use the standard 500 shade of the color.\n * Defaults to purple\n */\n strokeColor?: StashPrimaryColor;\n\n /**\n * Illustration's custom static path. It'll default to either the staticPath defined on the library installation or '/static' if none are provided.\n */\n staticPath?: string;\n }\n\n const props = withDefaults(defineProps<IllustrationProps>(), {\n id: uniqueId('ll-illustration-'),\n title: '',\n size: 48,\n type: IllustrationType.Spot,\n fillColor: 'blue',\n strokeColor: 'purple-500',\n staticPath: '',\n });\n\n if (props.type === IllustrationType.Scene) {\n throw new Error(\n 'Scene illustration types are not supported. Illustrations will need to be uploaded under ./assets/illustrations/scene. Illustrations to be provided by design.',\n );\n }\n\n if (\n (props.type === IllustrationType.Spot && !spotNames.includes(props.name as SpotName)) ||\n (props.type === IllustrationType.Vignette && !vignetteNames.includes(props.name as VignetteName))\n ) {\n throw new Error(\n `${props.type} illustration name ${props.name} not found. Did you check that you are using the correct type for your illustration?`,\n );\n }\n\n const stashOptions = inject<Partial<StashProvideState>>('stashOptions', {\n staticPath: '/static',\n });\n\n const isSpotIllustration = computed(() => props.type === IllustrationType.Spot);\n\n /**\n * Browsers won't add the `stroke-width` attribute if it is set to false.\n * However, setting it to specific number value affects vignettes\n */\n const strokeWidth = computed<boolean | string>(() => {\n return isSpotIllustration.value ? '0' : false;\n });\n\n const computedStaticPath = computed(() => {\n return props.staticPath || stashOptions?.staticPath;\n });\n</script>\n\n<template>\n <!-- InlineSvg package (https://github.com/shrpne/vue-inline-svg) swaps external svgs and puts\n them inline so we can style them with CSS -->\n <!-- Having to override fill to be none and stroke to be zero so the exported svgs from Figma\n that do not have those attributes specified do not get a default one applied -->\n <InlineSvg\n :id=\"props.id\"\n class=\"tw-inline-block tw-align-middle\"\n :class=\"{\n [`tw-text-${props.fillColor}-400 tw-stroke-${props.strokeColor}`]: isSpotIllustration,\n }\"\n :title=\"props.title\"\n :height=\"props.size\"\n :width=\"props.size\"\n :stroke-width=\"strokeWidth\"\n fill=\"none\"\n :src=\"`${computedStaticPath}/illustrations/${props.type}/${props.name}.svg`\"\n />\n</template>\n"],"names":["SpotName","spotNames","VignetteName","vignetteNames","IllustrationType","props","__props","stashOptions","inject","isSpotIllustration","computed","strokeWidth","computedStaticPath"],"mappings":";;;AAGY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,UAAU,WACVA,EAAA,WAAW,YACXA,EAAA,YAAY,aACZA,EAAA,YAAY,aACZA,EAAA,aAAa,eACbA,EAAA,WAAW,aACXA,EAAA,cAAc,gBACdA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,eAAe,gBACfA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,aAAa,eACbA,EAAA,MAAM,OACNA,EAAA,cAAc,eACdA,EAAA,OAAO,QACPA,EAAA,oBAAoB,sBACpBA,EAAA,WAAW,YACXA,EAAA,kBAAkB,oBAClBA,EAAA,WAAW,YACXA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,sBAAsB,wBACtBA,EAAA,aAAa,cACbA,EAAA,QAAQ,SACRA,EAAA,aAAa,eACbA,EAAA,kBAAkB,oBAClBA,EAAA,uBAAuB,yBACvBA,EAAA,QAAQ,SACRA,EAAA,oBAAoB,sBACpBA,EAAA,SAAS,UACTA,EAAA,YAAY,aACZA,EAAA,YAAY,aACZA,EAAA,OAAO,QACPA,EAAA,SAAS,UACTA,EAAA,WAAW,YACXA,EAAA,YAAY,cACZA,EAAA,iBAAiB,mBACjBA,EAAA,YAAY,cACZA,EAAA,OAAO,QACPA,EAAA,cAAc,gBACdA,EAAA,OAAO,QACPA,EAAA,YAAY,aACZA,EAAA,WAAW,YACXA,EAAA,YAAY,aACZA,EAAA,cAAc,gBACdA,EAAA,gBAAgB,kBAChBA,EAAA,QAAQ,SACRA,EAAA,oBAAoB,uBACpBA,EAAA,cAAc,gBACdA,EAAA,YAAY,cACZA,EAAA,kBAAkB,oBAClBA,EAAA,UAAU,WACVA,EAAA,oBAAoB,sBACpBA,EAAA,QAAQ,SACRA,EAAA,WAAW,aACXA,EAAA,eAAe,iBACfA,EAAA,SAAS,UACTA,EAAA,UAAU,WACVA,EAAA,SAAS,UACTA,EAAA,oBAAoB,sBACpBA,EAAA,iBAAiB,mBACjBA,EAAA,WAAW,YACXA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,YAAY,aACZA,EAAA,UAAU,WACVA,EAAA,UAAU,YA5EAA,IAAAA,KAAA,CAAA,CAAA;AAoFC,MAAAC,IAAY,OAAO,OAAOD,CAAQ;AAEnC,IAAAE,sBAAAA,OACVA,EAAA,MAAM,OACNA,EAAA,OAAO,QACPA,EAAA,SAAS,UACTA,EAAA,YAAY,cACZA,EAAA,WAAW,YACXA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,iBAAiB,mBACjBA,EAAA,OAAO,QACPA,EAAA,YAAY,cACZA,EAAA,QAAQ,SACRA,EAAA,eAAe,gBACfA,EAAA,YAAY,cACZA,EAAA,MAAM,OACNA,EAAA,YAAY,aACZA,EAAA,WAAW,YACXA,EAAA,YAAY,cACZA,EAAA,gBAAgB,iBAChBA,EAAA,cAAc,gBACdA,EAAA,WAAW,YACXA,EAAA,WAAW,aACXA,EAAA,eAAe,iBACfA,EAAA,iBAAiB,mBACjBA,EAAA,SAAS,UACTA,EAAA,mBAAmB,qBACnBA,EAAA,QAAQ,SACRA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,YAAY,aACZA,EAAA,oBAAoB,sBA/BVA,IAAAA,KAAA,CAAA,CAAA;AAuCC,MAAAC,IAAgB,OAAO,OAAOD,CAAY;AAK3C,IAAAE,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,WAAW,YAEXA,EAAA,QAAQ,SAJEA,IAAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;ACrEV,UAAMC,IAAQC;AAUV,QAAAD,EAAM,SAASD,EAAiB;AAClC,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAGF,QACGC,EAAM,SAASD,EAAiB,QAAQ,CAACH,EAAU,SAASI,EAAM,IAAgB,KAClFA,EAAM,SAASD,EAAiB,YAAY,CAACD,EAAc,SAASE,EAAM,IAAoB;AAE/F,YAAM,IAAI;AAAA,QACR,GAAGA,EAAM,IAAI,sBAAsBA,EAAM,IAAI;AAAA,MAC/C;AAGI,UAAAE,IAAeC,EAAmC,gBAAgB;AAAA,MACtE,YAAY;AAAA,IAAA,CACb,GAEKC,IAAqBC,EAAS,MAAML,EAAM,SAASD,EAAiB,IAAI,GAMxEO,IAAcD,EAA2B,MACtCD,EAAmB,QAAQ,MAAM,EACzC,GAEKG,IAAqBF,EAAS,MAC3BL,EAAM,eAAcE,KAAA,gBAAAA,EAAc,WAC1C;;;;;;;;;;;;;;;"}