@onereach/ui-components 26.2.1 → 26.2.2-beta.5851.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/esm/{OrAutocomplete-DUrxhDnG.mjs → OrAutocomplete-b1S9lrS_.mjs} +3 -3
  2. package/dist/esm/{OrAutocomplete-DUrxhDnG.mjs.map → OrAutocomplete-b1S9lrS_.mjs.map} +1 -1
  3. package/dist/esm/{OrButton-_RCmYvxT.mjs → OrButton-ZxDr22t7.mjs} +2 -2
  4. package/dist/esm/{OrButton-_RCmYvxT.mjs.map → OrButton-ZxDr22t7.mjs.map} +1 -1
  5. package/dist/esm/{OrButton.vue_vue_type_script_lang-CAOLKmru.mjs → OrButton.vue_vue_type_script_lang-CkMyXNEI.mjs} +26 -26
  6. package/dist/esm/OrButton.vue_vue_type_script_lang-CkMyXNEI.mjs.map +1 -0
  7. package/dist/esm/{OrButtonGroup-BA_S1Gl5.mjs → OrButtonGroup-CzWH9eea.mjs} +2 -2
  8. package/dist/esm/{OrButtonGroup-BA_S1Gl5.mjs.map → OrButtonGroup-CzWH9eea.mjs.map} +1 -1
  9. package/dist/esm/{OrCardCollection-BCS_tX5j.mjs → OrCardCollection-52Rx7yQ3.mjs} +2 -2
  10. package/dist/esm/{OrCardCollection-BCS_tX5j.mjs.map → OrCardCollection-52Rx7yQ3.mjs.map} +1 -1
  11. package/dist/esm/{OrCheckboxGroup-BbV_sTYd.mjs → OrCheckboxGroup-C76zxQ10.mjs} +2 -2
  12. package/dist/esm/{OrCheckboxGroup-BbV_sTYd.mjs.map → OrCheckboxGroup-C76zxQ10.mjs.map} +1 -1
  13. package/dist/esm/{OrCheckboxTree-Bj6BZxdn.mjs → OrCheckboxTree-D5Ejbly0.mjs} +2 -2
  14. package/dist/esm/{OrCheckboxTree-Bj6BZxdn.mjs.map → OrCheckboxTree-D5Ejbly0.mjs.map} +1 -1
  15. package/dist/esm/{OrConfirm-CHaw4Kx9.mjs → OrConfirm-DaPDWu0q.mjs} +31 -31
  16. package/dist/esm/OrConfirm-DaPDWu0q.mjs.map +1 -0
  17. package/dist/esm/{OrDataGrid-DilQSW6Y.mjs → OrDataGrid-BCwAsNEo.mjs} +8 -8
  18. package/dist/esm/{OrDataGrid-DilQSW6Y.mjs.map → OrDataGrid-BCwAsNEo.mjs.map} +1 -1
  19. package/dist/esm/{OrDateFormat-tizCaRnI.mjs → OrDateFormat-C6cy1EvX.mjs} +2 -2
  20. package/dist/esm/{OrDateFormat-tizCaRnI.mjs.map → OrDateFormat-C6cy1EvX.mjs.map} +1 -1
  21. package/dist/esm/{OrDatePicker-B_N24Q-T.mjs → OrDatePicker-DNeOsEsZ.mjs} +2 -2
  22. package/dist/esm/{OrDatePicker-B_N24Q-T.mjs.map → OrDatePicker-DNeOsEsZ.mjs.map} +1 -1
  23. package/dist/esm/{OrDateRangePicker-B1WDbBMb.mjs → OrDateRangePicker-Crpgxb7Q.mjs} +2 -2
  24. package/dist/esm/{OrDateRangePicker-B1WDbBMb.mjs.map → OrDateRangePicker-Crpgxb7Q.mjs.map} +1 -1
  25. package/dist/esm/{OrDateTimeFormat-BYiqGZKc.mjs → OrDateTimeFormat-DilIntxx.mjs} +2 -2
  26. package/dist/esm/{OrDateTimeFormat-BYiqGZKc.mjs.map → OrDateTimeFormat-DilIntxx.mjs.map} +1 -1
  27. package/dist/esm/{OrDateTimePicker-CNt_o1Js.mjs → OrDateTimePicker-4_NxJ8fZ.mjs} +2 -2
  28. package/dist/esm/{OrDateTimePicker-CNt_o1Js.mjs.map → OrDateTimePicker-4_NxJ8fZ.mjs.map} +1 -1
  29. package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-Btv1OOQV.mjs → OrDateTimePicker.vue_vue_type_script_lang-DpBAUAHC.mjs} +2 -2
  30. package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-Btv1OOQV.mjs.map → OrDateTimePicker.vue_vue_type_script_lang-DpBAUAHC.mjs.map} +1 -1
  31. package/dist/esm/{OrFilter-DRhu4YA2.mjs → OrFilter-CYD-gDsX.mjs} +2 -2
  32. package/dist/esm/{OrFilter-DRhu4YA2.mjs.map → OrFilter-CYD-gDsX.mjs.map} +1 -1
  33. package/dist/esm/{OrFilterPopover-BZJ1Au34.mjs → OrFilterPopover-DXO-6y8a.mjs} +2 -2
  34. package/dist/esm/{OrFilterPopover-BZJ1Au34.mjs.map → OrFilterPopover-DXO-6y8a.mjs.map} +1 -1
  35. package/dist/esm/{OrList-CX3cwJvm.mjs → OrList-B2rj_Y5Z.mjs} +2 -2
  36. package/dist/esm/{OrList-CX3cwJvm.mjs.map → OrList-B2rj_Y5Z.mjs.map} +1 -1
  37. package/dist/esm/{OrPagination-pcDCKc9g.mjs → OrPagination-BXzDa-Su.mjs} +2 -2
  38. package/dist/esm/{OrPagination-pcDCKc9g.mjs.map → OrPagination-BXzDa-Su.mjs.map} +1 -1
  39. package/dist/esm/{OrRichTextEditor-D0UmlBKz.mjs → OrRichTextEditor-yRGXHaoT.mjs} +2 -2
  40. package/dist/esm/{OrRichTextEditor-D0UmlBKz.mjs.map → OrRichTextEditor-yRGXHaoT.mjs.map} +1 -1
  41. package/dist/esm/{OrSelect-ZitJ7RzV.mjs → OrSelect-BeL73iXu.mjs} +3 -3
  42. package/dist/esm/OrSelect-BeL73iXu.mjs.map +1 -0
  43. package/dist/esm/{OrSorting-ydjXM1Si.mjs → OrSorting-DdcXOjvm.mjs} +2 -2
  44. package/dist/esm/{OrSorting-ydjXM1Si.mjs.map → OrSorting-DdcXOjvm.mjs.map} +1 -1
  45. package/dist/esm/{OrTagInput-Dh7CXsmw.mjs → OrTagInput-B2U22gXE.mjs} +2 -2
  46. package/dist/esm/{OrTagInput-Dh7CXsmw.mjs.map → OrTagInput-B2U22gXE.mjs.map} +1 -1
  47. package/dist/esm/{OrTags-Ce70YtZr.mjs → OrTags-dP8zjvgS.mjs} +2 -2
  48. package/dist/esm/{OrTags-Ce70YtZr.mjs.map → OrTags-dP8zjvgS.mjs.map} +1 -1
  49. package/dist/esm/{OrTimeFormat-DY_z5-U0.mjs → OrTimeFormat-BDWTGw-r.mjs} +2 -2
  50. package/dist/esm/{OrTimeFormat-DY_z5-U0.mjs.map → OrTimeFormat-BDWTGw-r.mjs.map} +1 -1
  51. package/dist/esm/{OrTimePicker-BMaG_y1J.mjs → OrTimePicker-BzUELsN7.mjs} +2 -2
  52. package/dist/esm/{OrTimePicker-BMaG_y1J.mjs.map → OrTimePicker-BzUELsN7.mjs.map} +1 -1
  53. package/dist/esm/{OrTimeRangePicker-DFNCEq78.mjs → OrTimeRangePicker-D5-xT9Bk.mjs} +2 -2
  54. package/dist/esm/{OrTimeRangePicker-DFNCEq78.mjs.map → OrTimeRangePicker-D5-xT9Bk.mjs.map} +1 -1
  55. package/dist/esm/{OrTree-BEas_s3i.mjs → OrTree-D6Rn9TKW.mjs} +2 -2
  56. package/dist/esm/{OrTree-BEas_s3i.mjs.map → OrTree-D6Rn9TKW.mjs.map} +1 -1
  57. package/dist/esm/components/index.mjs +29 -29
  58. package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
  59. package/dist/esm/components/or-button-group-v3/index.mjs +1 -1
  60. package/dist/esm/components/or-button-v3/index.mjs +2 -2
  61. package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
  62. package/dist/esm/components/or-checkbox-group-v3/index.mjs +1 -1
  63. package/dist/esm/components/or-checkbox-tree-v3/index.mjs +1 -1
  64. package/dist/esm/components/or-confirm-v3/index.mjs +1 -1
  65. package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
  66. package/dist/esm/components/or-date-format-v3/index.mjs +1 -1
  67. package/dist/esm/components/or-date-picker-v3/index.mjs +1 -1
  68. package/dist/esm/components/or-date-range-picker-v3/index.mjs +1 -1
  69. package/dist/esm/components/or-date-time-format-v3/index.mjs +1 -1
  70. package/dist/esm/components/or-date-time-picker-v3/index.mjs +2 -2
  71. package/dist/esm/components/or-filter-popover-v3/index.mjs +1 -1
  72. package/dist/esm/components/or-filter-v3/index.mjs +1 -1
  73. package/dist/esm/components/or-list-v3/index.mjs +1 -1
  74. package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
  75. package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
  76. package/dist/esm/components/or-select-v3/index.mjs +1 -1
  77. package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
  78. package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
  79. package/dist/esm/components/or-tags-v3/index.mjs +1 -1
  80. package/dist/esm/components/or-time-format-v3/index.mjs +1 -1
  81. package/dist/esm/components/or-time-picker-v3/index.mjs +1 -1
  82. package/dist/esm/components/or-time-range-picker-v3/index.mjs +1 -1
  83. package/dist/esm/components/or-toast-v3/index.mjs +1 -1
  84. package/dist/esm/components/or-tree-v3/index.mjs +1 -1
  85. package/dist/esm/index.mjs +29 -29
  86. package/dist/esm/{types-BoAoZvZV.mjs → types-B5xGdMJQ.mjs} +13 -13
  87. package/dist/esm/types-B5xGdMJQ.mjs.map +1 -0
  88. package/package.json +4 -5
  89. package/dist/esm/OrButton.vue_vue_type_script_lang-CAOLKmru.mjs.map +0 -1
  90. package/dist/esm/OrConfirm-CHaw4Kx9.mjs.map +0 -1
  91. package/dist/esm/OrSelect-ZitJ7RzV.mjs.map +0 -1
  92. package/dist/esm/types-BoAoZvZV.mjs.map +0 -1
@@ -2,23 +2,23 @@
2
2
  import { useElevation as Y } from "@onereach/ui-components-common/hooks";
3
3
  import { O as G } from "./OrTeleport.vue3-C9kW_8PS.mjs";
4
4
  import { createSharedComposable as Q, useEventBus as $, useToggle as X, noop as J } from "@vueuse/core";
5
- import { defineComponent as N, ref as _, computed as f, resolveComponent as A, openBlock as h, createElementBlock as b, normalizeClass as C, renderSlot as K, createVNode as D, createCommentVNode as I, createElementVNode as U, toDisplayString as W, createBlock as B, withModifiers as Z, onBeforeMount as x, onBeforeUnmount as ee, nextTick as te, withCtx as M, TransitionGroup as oe, Fragment as se, renderList as re, mergeProps as ne } from "vue";
5
+ import { defineComponent as N, ref as w, computed as f, resolveComponent as _, openBlock as h, createElementBlock as b, normalizeClass as C, renderSlot as K, createVNode as D, createCommentVNode as I, createElementVNode as U, toDisplayString as W, createBlock as B, withModifiers as Z, onBeforeMount as x, onBeforeUnmount as ee, nextTick as te, withCtx as M, TransitionGroup as oe, Fragment as se, renderList as re, mergeProps as ne } from "vue";
6
6
  import { error as ae, success as ie } from "@onereach/ui-components-common/assets";
7
7
  import { O as le } from "./OrIconButton-Ds8k8FmS.mjs";
8
8
  import { O as ue } from "./OrLoader-2SaTMxmZ.mjs";
9
9
  import { _ as P } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
10
- var L = /* @__PURE__ */ ((e) => (e.Right = "right", e.Left = "left", e.Center = "center", e))(L || {}), w = /* @__PURE__ */ ((e) => (e.Top = "top", e.Bottom = "bottom", e))(w || {}), E = /* @__PURE__ */ ((e) => (e.Slide = "slide", e.Fade = "fade", e))(E || {}), y = /* @__PURE__ */ ((e) => (e.Success = "success", e.Error = "error", e.Loading = "loading", e))(y || {});
10
+ var L = /* @__PURE__ */ ((e) => (e.Right = "right", e.Left = "left", e.Center = "center", e))(L || {}), A = /* @__PURE__ */ ((e) => (e.Top = "top", e.Bottom = "bottom", e))(A || {}), E = /* @__PURE__ */ ((e) => (e.Slide = "slide", e.Fade = "fade", e))(E || {}), y = /* @__PURE__ */ ((e) => (e.Success = "success", e.Error = "error", e.Loading = "loading", e))(y || {});
11
11
  const He = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
12
12
  __proto__: null,
13
13
  PositionsX: L,
14
- PositionsY: w,
14
+ PositionsY: A,
15
15
  ToastType: y,
16
16
  TransitionType: E
17
17
  }, Symbol.toStringTag, { value: "Module" })), ce = [
18
18
  // Layout
19
19
  "layout-row",
20
20
  // Box
21
- "w-[343px] md:w-[512px]",
21
+ "w-[theme(tokens.mobile-toast-width)] md:w-[theme(tokens.desktop-toast-width)]",
22
22
  // Shape
23
23
  "rounded-md",
24
24
  // Spacing
@@ -120,7 +120,7 @@ const He = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
120
120
  "root"
121
121
  ],
122
122
  setup(e, t) {
123
- const r = _(), u = f(() => [
123
+ const r = w(), u = f(() => [
124
124
  ...ce
125
125
  ]), g = f(() => [
126
126
  "self-center",
@@ -173,7 +173,7 @@ const He = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
173
173
  class: /* @__PURE__ */ C(["layout-row", "self-start", "gap-md"])
174
174
  }, ye = ["href", "target"];
175
175
  function ke(e, t, r, u, g, d) {
176
- const a = A("OrLoader"), n = A("OrIconButton");
176
+ const a = _("OrLoader"), n = _("OrIconButton");
177
177
  return h(), b("div", {
178
178
  ref: "root",
179
179
  class: C(e.rootStyles)
@@ -219,11 +219,11 @@ function ke(e, t, r, u, g, d) {
219
219
  }
220
220
  const Te = /* @__PURE__ */ P(fe, [["render", ke], ["__scopeId", "data-v-eb7c5bd0"]]);
221
221
  function be(e) {
222
- const t = _(e || []);
222
+ const t = w(e || []);
223
223
  return {
224
224
  queue: t,
225
225
  addItem: (a) => {
226
- const n = _(a);
226
+ const n = w(a);
227
227
  t.value.push(n);
228
228
  },
229
229
  removeItem: (a) => {
@@ -269,7 +269,7 @@ const Ce = () => {
269
269
  type: Object,
270
270
  default: {
271
271
  positionX: L.Right,
272
- positionY: w.Bottom
272
+ positionY: A.Bottom
273
273
  }
274
274
  },
275
275
  transition: {
@@ -278,14 +278,14 @@ const Ce = () => {
278
278
  }
279
279
  },
280
280
  setup(e) {
281
- const t = _(), { on: r, off: u } = q(), { queue: g, addItem: d, removeItem: a, clearAll: n, getItem: s } = be(), [l, m] = X(!1), v = f(() => {
281
+ const t = w(), { on: r, off: u } = q(), { queue: g, addItem: d, removeItem: a, clearAll: n, getItem: s } = be(), [l, m] = X(!1), v = f(() => {
282
282
  var o;
283
283
  return [
284
284
  "or-toast-container-v3",
285
285
  ...de,
286
286
  ...me[`${e.position.positionX}-${e.position.positionY}`],
287
287
  {
288
- "position--top--with-header": ((o = e.position) == null ? void 0 : o.positionY) === w.Top && e.includeHeaderHeight
288
+ "position--top--with-header": ((o = e.position) == null ? void 0 : o.positionY) === A.Top && e.includeHeaderHeight
289
289
  }
290
290
  ];
291
291
  }), k = f(() => {
@@ -355,7 +355,7 @@ const Ce = () => {
355
355
  }
356
356
  });
357
357
  function Oe(e, t, r, u, g, d) {
358
- const a = A("OrToast"), n = A("OrTeleport");
358
+ const a = _("OrToast"), n = _("OrTeleport");
359
359
  return h(), B(n, { disabled: e.isActive }, {
360
360
  default: M(() => [
361
361
  U("div", {
@@ -477,4 +477,4 @@ export {
477
477
  De as t,
478
478
  Ne as u
479
479
  };
480
- //# sourceMappingURL=types-BoAoZvZV.mjs.map
480
+ //# sourceMappingURL=types-B5xGdMJQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-B5xGdMJQ.mjs","sources":["../../../components/or-toast-v3/src/props.ts","../../../components/or-toast-v3/src/styles.ts","../../../components/or-toast-v3/src/OrToast.vue","../../../components/or-toast-v3/src/composable/useQueue.ts","../../../components/or-toast-v3/src/composable/useToastEventBus.ts","../../../components/or-toast-v3/src/or-toast-container-v3/OrToastContainer.vue","../../../components/or-toast-v3/src/Timer.ts","../../../components/or-toast-v3/src/composable/useToast.ts"],"sourcesContent":["export enum PositionsX {\n Right = 'right',\n Left = 'left',\n Center = 'center',\n}\n\nexport enum PositionsY {\n Top = 'top',\n Bottom = 'bottom',\n}\n\nexport enum TransitionType {\n Slide = 'slide',\n Fade = 'fade',\n}\n\nexport enum ToastType {\n Success = 'success',\n Error = 'error',\n Loading = 'loading',\n}\n","import { PositionsX, PositionsY, ToastType } from './props';\n\nexport const Toast: string[] = [\n // Layout\n 'layout-row',\n\n // Box\n 'w-[theme(tokens.mobile-toast-width)] md:w-[theme(tokens.desktop-toast-width)]',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-md',\n\n // Typography\n 'typography-caption-regular',\n\n // Elevation\n 'shadow-card',\n 'dark:shadow-card-dark',\n\n // Theme\n 'theme-background-surface-inverse',\n 'dark:theme-background-surface-inverse-dark',\n\n 'theme-foreground-on-surface-inverse',\n 'dark:theme-foreground-on-surface-inverse-dark',\n\n // Theme (children)\n '[&_:any-link]:text-inverse-primary',\n 'dark:[&_:any-link]:text-inverse-primary-dark',\n];\n\nexport const ToastContainer: string[] = [\n // Position\n 'absolute',\n\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-sm',\n\n // Overflow\n 'overflow-hidden',\n];\n\nexport const ToastContainerPositions: Record<`${PositionsX}-${PositionsY}`, string[]> = {\n 'left-top': [\n // Position\n 'left-md md:left-lg',\n 'top-md md:top-lg',\n ],\n\n 'center-top': [\n // Position\n 'top-md md:top-lg',\n ],\n\n 'right-top': [\n // Position\n 'right-md md:right-lg',\n 'top-md md:top-lg',\n ],\n\n 'left-bottom': [\n // Position\n 'left-md md:left-lg',\n 'bottom-md md:bottom-lg',\n ],\n\n 'center-bottom': [\n // Position\n 'bottom-md md:bottom-lg',\n ],\n\n 'right-bottom': [\n // Position\n 'right-md md:right-lg',\n 'bottom-md md:bottom-lg',\n ],\n};\n\nexport const messageStyleVariant: Record<ToastType, string[]> = {\n 'success': [\n // Typography\n 'typography-caption-regular',\n ],\n\n 'error': [\n // Typography\n 'typography-caption-regular',\n ],\n\n 'loading': [\n // Typography\n 'typography-caption-regular',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot name=\"content\">\n <!-- before message -->\n <div\n v-if=\"toastType === 'loading'\"\n :class=\"loaderStyle\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'inherit'\"\n :size=\"'s'\"\n />\n </div>\n\n <img\n v-else-if=\"emojiSrc\"\n :class=\"toastIconStyle\"\n :src=\"emojiSrc\"\n alt=\"Emoji\"\n >\n\n <!-- message -->\n <div\n v-if=\"messageText\"\n :class=\"messageStyle\"\n v-html=\"messageText\"\n />\n </slot>\n\n <div :class=\"['layout-row', 'self-start', 'gap-md']\">\n <template v-if=\"link\">\n <a\n class=\"or-toast__link\"\n :href=\"link.href\"\n :target=\"hrefTarget\"\n @click=\"onLinkClick\"\n >\n {{ link.title }}\n </a>\n </template>\n\n <template v-if=\"dismissible\">\n <OrIconButton\n :icon=\"'close'\"\n :size=\"'m'\"\n @click.stop=\"onClose()\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { error as errorPng, success as successPng } from '@onereach/ui-components-common/assets';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { computed, defineComponent, PropType, ref } from 'vue';\n\nimport { ToastType } from './props';\nimport { messageStyleVariant, Toast } from './styles';\nimport { ToastLink } from './types';\n\nexport default defineComponent({\n name: 'OrToast',\n\n components: {\n OrIconButton,\n OrLoader,\n },\n\n props: {\n toastType: {\n type: String as PropType<`${ToastType}`>,\n default: () => ToastType.Success,\n },\n\n link: {\n type: Object as PropType<ToastLink>,\n default: undefined,\n },\n\n messageText: {\n type: String,\n default: undefined,\n },\n\n dismissible: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'close',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n ...Toast,\n ]);\n\n const toastIconStyle = computed(() => [\n 'self-center',\n 'object-cover',\n // Box\n 'w-[20px]',\n 'h-[20px]',\n ]);\n\n const messageStyle = computed(() => [\n ...messageStyleVariant[props.toastType],\n 'grow',\n ]);\n\n const loaderStyle = computed(() => [\n //Layout\n 'self-center',\n // Theme\n 'text-inverse-primary',\n 'dark:text-inverse-primary-dark',\n ]);\n\n // State\n const emojiSrc = computed(() => {\n switch (props.toastType) {\n case ToastType.Success:\n return successPng;\n case ToastType.Error:\n return errorPng;\n default:\n return null;\n }\n });\n\n const hrefTarget = computed(() => {\n return props.link?.target ?? '_self';\n });\n\n // Methods\n function onClose(): void {\n context.emit('close');\n }\n\n function onLinkClick(event: MouseEvent): void {\n if (props.link?.callback) {\n event.preventDefault();\n props.link.callback?.();\n }\n }\n\n return {\n root,\n toastIconStyle,\n rootStyles,\n loaderStyle,\n messageStyle,\n emojiSrc,\n hrefTarget,\n onClose,\n onLinkClick,\n };\n },\n});\n</script>\n\n<style lang=\"scss\" scoped>\n.or-toast__link {\n word-break: break-word;\n white-space: nowrap;\n cursor: pointer;\n}\n</style>\n","import { Ref, ref } from 'vue';\n\nexport default function useQueue<T>(initialValue?: Array<T>) {\n //generic needed! see https://github.com/vuejs/core/issues/2136\n const queue = ref<Array<T>>(initialValue || []) as Ref<Ref<T>[]>;\n\n const addItem = (item: T): void => {\n const refItem = ref<T>(item) as Ref<T>;\n queue.value.push(refItem);\n };\n\n const removeItem = (condition: (i: T, index: number, queue: Ref<T>[]) => boolean): void => {\n const index = queue.value.findIndex((i, idx, q) => {\n return condition?.(i.value, idx, q);\n });\n if (index !== -1) queue.value.splice(index, 1);\n };\n\n const getItem = (condition: (i: T, index: number, queue: Ref<T>[]) => boolean): Ref<T> => {\n return queue.value.filter((i, idx, q) => {\n return condition?.(i.value, idx, q);\n })[0];\n };\n\n const clearAll = (): void => {\n queue.value = [];\n };\n\n return {\n queue,\n addItem,\n removeItem,\n clearAll,\n getItem,\n };\n\n}\n","import { EventBusListener, useEventBus, UseEventBusReturn, createSharedComposable } from '@vueuse/core';\n\nimport { ToastConfiguration } from '../types';\n\nexport type ToastEventsBusEvents = 'toastNotify'|'toastClose'|'toastCloseAll' | 'toastUpdate';\n\nconst useToastEventBus = () => {\n const busPull: Record<ToastEventsBusEvents, UseEventBusReturn<ToastConfiguration, any>> = {\n toastNotify: useEventBus('toastNotify'),\n toastClose: useEventBus('toastClose'),\n toastCloseAll: useEventBus('toastCloseAll'),\n toastUpdate: useEventBus('toastUpdate'),\n };\n return {\n on: (namedQueue: ToastEventsBusEvents, listener: EventBusListener<ToastConfiguration>) => {\n busPull[namedQueue].on(listener);\n },\n off: (namedQueue: ToastEventsBusEvents, listener: EventBusListener<ToastConfiguration>) => {\n busPull[namedQueue].off(listener);\n },\n emit: (namedQueue: ToastEventsBusEvents, data?: ToastConfiguration) => {\n busPull[namedQueue].emit(data);\n },\n };\n};\nexport default createSharedComposable(useToastEventBus);\n\n","<template>\n <OrTeleport :disabled=\"isActive\">\n <div\n :ref=\"'root'\"\n :class=\"classes\"\n >\n <TransitionGroup\n :name=\"transitionName\"\n tag=\"div\"\n class=\"contents\"\n @after-leave=\"onToastHidden\"\n >\n <OrToast\n v-for=\"toastConfiguration in queue\"\n v-bind=\"toastConfiguration.toastProps\"\n :key=\"toastConfiguration.hash\"\n @click=\"onClick(toastConfiguration.toastBehaviour)\"\n @mouseenter=\"onToastEnter(toastConfiguration)\"\n @mouseleave=\"onToastLeave(toastConfiguration)\"\n @close=\"toastRemove(toastConfiguration)\"\n />\n </TransitionGroup>\n </div>\n </OrTeleport>\n</template>\n\n<script lang=\"ts\">\nimport { useElevation } from '@onereach/ui-components-common/hooks';\nimport { OrTeleportV3 as OrTeleport } from '@onereach/ui-components.or-teleport-v3';\nimport { useToggle } from '@vueuse/core';\nimport { computed, defineComponent, nextTick, onBeforeMount, onBeforeUnmount, PropType, ref } from 'vue';\n\nimport useQueue from '../composable/useQueue';\nimport useToastEventBus from '../composable/useToastEventBus';\nimport OrToast from '../OrToast.vue';\nimport { PositionsX, PositionsY, TransitionType } from '../props';\nimport { ToastContainer, ToastContainerPositions } from '../styles';\nimport { Position, ToastBehaviour, ToastConfiguration } from '../types';\n\nexport default defineComponent({\n name: 'OrToastContainer',\n\n components: {\n OrTeleport,\n OrToast,\n },\n\n props: {\n includeHeaderHeight: {\n type: Boolean,\n default: true,\n },\n\n position: {\n type: Object as PropType<Position>,\n default: {\n positionX: PositionsX.Right,\n positionY: PositionsY.Bottom,\n } as Position,\n },\n\n transition: {\n type: String as PropType<`${TransitionType}`>,\n default: () => TransitionType.Slide,\n },\n },\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n const { on, off } = useToastEventBus();\n const { queue: queueRef, addItem, removeItem, clearAll, getItem } = useQueue<ToastConfiguration>();\n const [isActive, toggle] = useToggle(false);\n const classes = computed(() => [\n 'or-toast-container-v3',\n ...ToastContainer,\n ...ToastContainerPositions[`${props.position.positionX}-${props.position.positionY}`],\n {\n 'position--top--with-header': props.position?.positionY === PositionsY.Top && props.includeHeaderHeight,\n },\n ]);\n const transitionName = computed<string>(() => `or-toast--position-${props.position?.positionX} or-toast--transition-${props.transition}`);\n\n // State\n const queue = computed<ToastConfiguration[]>(() => {\n return queueRef.value.map(({ value }) => value);\n });\n\n // Methods\n function createToast(toastConfiguration: ToastConfiguration): void {\n const caller = () => {\n addItem(toastConfiguration);\n toastConfiguration.timer?.start(toastRemove.bind(null, toastConfiguration),\n toastConfiguration.toastBehaviour.duration,\n );\n };\n\n if (!isActive.value) {\n // before create toast we need change isActive props, to render or-teleport,\n // in other case first item will not be animated\n toggle(true);\n nextTick(caller);\n } else {\n caller();\n }\n }\n\n function toastUpdate(toast: ToastConfiguration): void {\n const toastItem = getItem((item) => {\n return item.hash === toast.hash;\n });\n\n if (toastItem)\n toastItem.value = toast;\n }\n\n function toastRemove(toast: ToastConfiguration): void {\n removeItem((item) => {\n if (item.hash === toast.hash) {\n item.toastBehaviour?.onToastClose?.();\n item.timer?.stop();\n return true;\n }\n return false;\n });\n }\n\n function onToastEnter(toast: ToastConfiguration): void {\n if (toast.toastBehaviour.pauseOnHover)\n toast.timer?.pause();\n }\n\n function onToastLeave(toast: ToastConfiguration): void {\n if (toast.toastBehaviour.pauseOnHover)\n toast.timer?.resume();\n }\n\n function onClick(toastBehaviour: ToastBehaviour): void {\n toastBehaviour.onToastClick?.();\n }\n\n function onToastHidden(): void {\n toggle(queue.value.length > 0);\n }\n\n // Effects\n onBeforeMount(() => {\n on('toastNotify', createToast);\n on('toastClose', toastRemove);\n on('toastUpdate', toastUpdate);\n on('toastCloseAll', clearAll);\n });\n\n onBeforeUnmount(() => {\n off('toastNotify', createToast);\n off('toastClose', toastRemove);\n off('toastUpdate', toastUpdate);\n off('toastCloseAll', clearAll);\n });\n\n useElevation(root, isActive);\n\n return {\n on,\n off,\n classes,\n transitionName,\n isActive,\n toggle,\n addItem,\n removeItem,\n clearAll,\n getItem,\n queue,\n root,\n createToast,\n toastUpdate,\n toastRemove,\n onToastEnter,\n onToastLeave,\n onClick,\n onToastHidden,\n };\n },\n});\n</script>\n\n<style lang=\"scss\" scoped>\n$header-height: 48px;\n$spacing: 32px;\n\n.or-toast--transition-slide-enter-active,\n.or-toast--transition-slide-leave-active {\n transition: transform 0.4s ease;\n}\n\n.or-toast--transition-slide-enter-from.or-toast--position-right,\n.or-toast--transition-slide-leave-to.or-toast--position-right {\n transform: translateX(999px);\n}\n\n.or-toast--transition-slide-enter-from.or-toast--position-left,\n.or-toast--transition-slide-leave-to.or-toast--position-left {\n transform: translateX(-999px);\n}\n\n.or-toast--transition-fade-enter-active,\n.or-toast--transition-fade-leave-active {\n transition: opacity 0.4s ease;\n}\n\n.or-toast--transition-fade-enter-from,\n.or-toast--transition-fade-leave-to {\n opacity: 0;\n}\n</style>\n","import { noop } from '@vueuse/core';\n\nexport default class Timer {\n private startedAt: number| null = null;\n private timer: ReturnType<typeof setTimeout> | null = null;\n private callback: () => void = noop;\n private delay = 0;\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n constructor() {}\n\n start(callback: () => void, delay?: number) {\n if (delay && delay > 0) {\n this.callback = callback;\n this.delay = delay;\n this.startedAt = Date.now();\n this.timer = setTimeout(this.callback, this.delay);\n }\n }\n\n pause() {\n if (this.timer && this.startedAt) {\n this.stop();\n this.delay -= Date.now() - this.startedAt;\n }\n }\n\n resume() {\n this.stop();\n if (this.delay > 0) {\n this.startedAt = Date.now();\n this.timer = setTimeout(this.callback, this.delay);\n }\n }\n\n stop() {\n if (this.timer)\n clearTimeout(this.timer);\n }\n}\n","import { ToastType } from '../props';\nimport Timer from '../Timer';\nimport { ToastBehaviour, ToastConfiguration, ToastProps, UseToastNotifyReturnsV3 } from '../types';\n\nimport useToastEventBus from './useToastEventBus';\n\n\nexport default function useToast(globalToastProps: ToastProps = {}) {\n const { emit } = useToastEventBus();\n\n function notify(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n const { duration = 5000, pauseOnHover = true, onToastClose, onToastClick } = behaviour;\n const propsData = {\n ...props,\n ...globalToastProps,\n };\n\n const config: ToastConfiguration = {\n toastProps: propsData,\n //generate ToastHash\n hash: Math.random().toString(36).slice(2),\n ...(Number.isInteger(duration) && { timer: new Timer() }),\n toastBehaviour: {\n duration,\n pauseOnHover,\n onToastClose,\n onToastClick,\n },\n };\n\n emit('toastNotify', config);\n\n return ({\n close: () => emit('toastClose', config),\n update: (data: ToastProps) => emit('toastUpdate', {\n ...config,\n toastProps: {\n ...config.toastProps,\n ...data,\n },\n }),\n });\n }\n\n function clearAll(): void {\n emit('toastCloseAll');\n }\n\n function success(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n ...props,\n toastType: ToastType.Success,\n }, behaviour);\n }\n\n function error(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n ...props,\n toastType: ToastType.Error,\n }, behaviour);\n }\n\n\n function loading(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n dismissible: false,\n ...props,\n toastType: ToastType.Loading,\n }, {\n ...behaviour,\n duration: 0, // <- toast with type \"loading\" will not cloe automatically\n });\n }\n\n return {\n notify,\n clearAll,\n success,\n error,\n loading,\n };\n}\n"],"names":["PositionsX","PositionsY","TransitionType","ToastType","Toast","ToastContainer","ToastContainerPositions","messageStyleVariant","_sfc_main$1","defineComponent","OrIconButton","OrLoader","props","context","root","ref","rootStyles","computed","toastIconStyle","messageStyle","loaderStyle","emojiSrc","successPng","errorPng","hrefTarget","_a","onClose","onLinkClick","event","_c","_b","_hoisted_2","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_3","_toDisplayString","_createBlock","_component_OrIconButton","useQueue","initialValue","queue","item","refItem","condition","index","i","idx","q","useToastEventBus","busPull","useEventBus","namedQueue","listener","data","useToastEventBus$1","createSharedComposable","_sfc_main","OrTeleport","OrToast","on","off","queueRef","addItem","removeItem","clearAll","getItem","isActive","toggle","useToggle","classes","transitionName","value","createToast","toastConfiguration","caller","toastRemove","nextTick","toastUpdate","toast","toastItem","onToastEnter","onToastLeave","onClick","toastBehaviour","onToastHidden","onBeforeMount","onBeforeUnmount","useElevation","_component_OrTeleport","_withCtx","_createVNode","_TransitionGroup","_Fragment","_renderList","_component_OrToast","_mergeProps","$event","Timer","noop","callback","delay","useToast","globalToastProps","emit","notify","behaviour","duration","pauseOnHover","onToastClose","onToastClick","config","success","error","loading"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/ui-components",
3
- "version": "26.2.1",
3
+ "version": "26.2.2-beta.5851.0",
4
4
  "description": "Vue components library for v3",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -46,8 +46,8 @@
46
46
  "@codemirror/view": "^6",
47
47
  "@floating-ui/dom": "1.5.3",
48
48
  "@lezer/highlight": "*",
49
- "@onereach/styles": "^26.2.1",
50
- "@onereach/ui-components-common": "^26.2.1",
49
+ "@onereach/styles": "^26.2.2-beta.5851.0",
50
+ "@onereach/ui-components-common": "^26.2.2-beta.5851.0",
51
51
  "@splidejs/splide": "4.0.6",
52
52
  "@tiptap/core": "2.0.3",
53
53
  "@tiptap/extension-blockquote": "2.0.3",
@@ -102,6 +102,5 @@
102
102
  "publishConfig": {
103
103
  "access": "public"
104
104
  },
105
- "npmUnpacked": "4.15.2",
106
- "gitHead": "33b563263047ca8b24c122f8b47c709cae951614"
105
+ "npmUnpacked": "4.15.2"
107
106
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrButton.vue_vue_type_script_lang-CAOLKmru.mjs","sources":["../../../components/or-button-v3/src/props.ts","../../../components/or-button-v3/src/styles.ts","../../../components/or-button-v3/src/OrButton.vue"],"sourcesContent":["export enum ButtonVariant {\n Contained = 'contained',\n Outlined = 'outlined',\n Text = 'text',\n Link = 'link',\n}\n\nexport enum ButtonColor {\n Primary = 'primary',\n Danger = 'danger',\n Inherit = 'inherit',\n}\n\nexport enum ButtonType {\n Button = 'button',\n Submit = 'submit',\n Reset = 'reset',\n}\n","import { ButtonColor, ButtonVariant } from './props';\n\nexport const Button: string[] = [\n // Layout\n 'layout-inline-row',\n\n // Overflow\n 'overflow-hidden',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-md',\n\n // Typography\n 'typography-button',\n];\n\nexport const ButtonVariants: Record<ButtonVariant, string[]> = {\n [ButtonVariant.Contained]: [\n // Layout\n 'layout-inline-row justify-center',\n\n // Box\n 'min-w-[96px]',\n\n // Spacing\n 'px-md md:px-md',\n 'py-sm+ md:py-sm',\n ],\n\n [ButtonVariant.Outlined]: [\n // Layout\n 'layout-inline-row justify-center',\n\n // Box\n 'min-w-[96px]',\n\n // Spacing\n 'px-md* md:px-md*',\n 'py-sm+* md:py-sm*',\n\n ],\n\n [ButtonVariant.Text]: [\n // Layout\n 'layout-inline-row justify-center',\n\n // Box\n 'min-w-[96px]',\n\n // Spacing\n 'px-md md:px-md',\n 'py-sm+ md:py-sm',\n ],\n\n [ButtonVariant.Link]: [\n // Layout\n 'layout-inline-row justify-center',\n\n ],\n};\n\nexport const ButtonContainerVariants: Record<ButtonVariant, string[]> = {\n [ButtonVariant.Contained]: [\n // Layout\n 'layout-inline-row',\n\n 'gap-sm+ md:gap-sm',\n ],\n\n [ButtonVariant.Outlined]: [\n // Layout\n 'layout-inline-row',\n\n 'gap-sm+ md:gap-sm',\n ],\n\n [ButtonVariant.Text]: [\n // Layout\n 'layout-inline-row',\n\n 'gap-sm+ md:gap-sm',\n ],\n\n [ButtonVariant.Link]: [\n // Layout\n 'layout-inline-row',\n\n // Spacing\n 'gap-xs',\n ],\n};\n\nexport const ButtonColors: Record<`${ButtonColor}-${ButtonVariant}`, string[]> = {\n 'primary-contained': [\n // Theme\n 'theme-preset-1-primary',\n 'dark:theme-preset-1-primary-dark',\n\n // Elevation (enabled)\n 'enabled:shadow-button',\n 'dark:enabled:shadow-button-dark',\n ],\n\n 'danger-contained': [\n // Theme\n 'theme-preset-1-error',\n 'dark:theme-preset-1-error-dark',\n\n // Elevation (enabled)\n 'enabled:shadow-button',\n 'dark:enabled:shadow-button-dark',\n ],\n\n 'inherit-contained': [\n // Elevation (enabled)\n 'enabled:shadow-button',\n 'dark:enabled:shadow-button-dark',\n ],\n\n 'primary-outlined': [\n // Theme\n 'theme-preset-3-primary',\n 'dark:theme-preset-3-primary-dark',\n\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n\n // Theme (active)\n 'active:theme-border-primary active:border-1',\n 'dark:active:theme-border-primary-dark',\n ],\n\n 'danger-outlined': [\n // Theme\n 'theme-preset-3-error',\n 'dark:theme-preset-3-error-dark',\n\n 'theme-border-error border-1',\n 'dark:theme-border-error-dark',\n ],\n\n 'inherit-outlined': [],\n\n 'primary-text': [\n // Theme\n 'theme-preset-4-primary',\n 'dark:theme-preset-4-primary-dark',\n ],\n\n 'danger-text': [\n // Theme\n 'theme-preset-4-error',\n 'dark:theme-preset-4-error-dark',\n ],\n\n 'inherit-text': [\n // Theme\n 'theme-foreground-inherit',\n 'dark:theme-foreground-inherit-dark',\n ],\n\n 'primary-link': [\n // Theme\n 'theme-preset-4-primary',\n 'dark:theme-preset-4-primary-dark',\n ],\n\n 'danger-link': [\n // Theme\n 'theme-preset-4-error',\n 'dark:theme-preset-4-error-dark',\n ],\n\n 'inherit-link': [\n // Theme\n 'theme-foreground-inherit',\n 'dark:theme-foreground-inherit-dark',\n\n // Theme (activated)\n 'activated:theme-foreground-default',\n 'dark:activated:theme-foreground-default-dark',\n ],\n};\n\nexport const ButtonLoadingColors: Record<`${ButtonColor}-${ButtonVariant}`, string[]> = {\n 'primary-contained': [\n 'interactivity-none',\n 'bg-primary-hover dark:bg-primary-hover-dark',\n ],\n\n 'danger-contained': [\n 'interactivity-none',\n 'bg-error-hover dark:bg-error-hover-dark',\n ],\n\n 'inherit-contained': [\n 'interactivity-none',\n ],\n\n 'primary-outlined': [\n 'interactivity-none',\n ],\n\n 'danger-outlined': [\n 'interactivity-none',\n ],\n\n 'inherit-outlined': [\n 'interactivity-none',\n ],\n\n 'primary-text': [\n 'interactivity-none',\n 'text-primary-hover dark:text-primary-hover-dark',\n ],\n\n 'danger-text': [\n 'interactivity-none',\n 'text-error-hover dark:text-error-hover-dark',\n ],\n\n 'inherit-text': [\n 'interactivity-none',\n ],\n\n 'primary-link': [\n 'interactivity-none',\n 'text-primary-hover dark:text-primary-hover-dark',\n ],\n\n 'danger-link': [\n 'interactivity-none',\n 'text-error-hover dark:text-error-hover-dark',\n ],\n\n 'inherit-link': [\n 'interactivity-none',\n ],\n};\n\n\nexport const ButtonContainerVariantsLoading: Record<ButtonVariant, string[]> = {\n 'contained': [\n // Position\n 'relative',\n 'flex',\n\n // Box\n 'w-full',\n 'h-full',\n\n // Aligment\n 'items-center',\n 'justify-center',\n ],\n 'outlined': [\n // Position\n 'relative',\n 'flex',\n\n // Box\n 'w-full',\n 'h-full',\n\n // Aligment\n 'items-center',\n 'justify-center',\n ],\n 'text': [\n // Position\n 'relative',\n 'flex',\n\n // Box\n 'w-full',\n 'h-full',\n\n // Aligment\n 'items-center',\n 'justify-center',\n ],\n 'link': [\n 'contents',\n ],\n};\n\nexport const ButtonContentLoading: Record<ButtonVariant, string[]> = {\n 'contained': [\n 'invisible',\n ],\n 'outlined': [\n 'invisible',\n ],\n 'text': [\n 'hidden',\n ],\n 'link': [\n 'hidden',\n ],\n};\n","<template>\n <button\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :type=\"type\"\n :activated=\"activated\"\n :disabled=\"disabled\"\n :data-loading=\"loading\"\n v-on=\"{\n ...(isVue3 ? {} : $listeners),\n click: onClick,\n focus: onFocus,\n blur: onBlur,\n }\"\n >\n <div :class=\"contentContainerStyles\">\n <div :class=\"contentStyles\">\n <slot />\n </div>\n\n <template v-if=\"loading\">\n <template v-if=\"variant == 'contained' || variant == 'outlined'\">\n <div :class=\"['absolute']\">\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'inherit'\"\n :size=\"'s'\"\n />\n </div>\n </template>\n\n <template v-else>\n <OrLoader\n variant=\"text\"\n :text=\"loadingText\"\n />\n </template>\n </template>\n </div>\n </button>\n</template>\n\n<script lang=\"ts\">\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { isVue3 } from '@/constants';\n\nimport { ButtonColor, ButtonType, ButtonVariant } from './props';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrButton',\n\n components: {\n OrLoader,\n },\n\n props: {\n type: {\n type: String as PropType<`${ButtonType}`>,\n default: () => ButtonType.Button,\n },\n\n variant: {\n type: String as PropType<`${ButtonVariant}`>,\n default: () => ButtonVariant.Contained,\n },\n\n color: {\n type: String as PropType<`${ButtonColor}`>,\n default: () => ButtonColor.Primary,\n },\n\n activated: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n loadingText: {\n type: String,\n default: 'Loading',\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, { emit }) {\n // Refs\n const root = ref<HTMLButtonElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-button-v3',\n ...Styles.Button,\n ...Styles.ButtonVariants[props.variant],\n ...Styles.ButtonColors[`${props.color}-${props.variant}`],\n ...(props.loading ? Styles.ButtonLoadingColors[`${props.color}-${props.variant}`] : []),\n ]);\n\n const contentContainerStyles = computed(() => [\n ...Styles.ButtonContainerVariants[props.variant],\n ...(props.loading ? Styles.ButtonContainerVariantsLoading[props.variant] : []),\n ]);\n\n const contentStyles = computed(() => [\n 'contents',\n ...(props.loading ? Styles.ButtonContentLoading[props.variant] : []),\n ]);\n\n return {\n root,\n rootStyles,\n contentStyles,\n contentContainerStyles,\n isVue3,\n onClick: (e: unknown) => emit('click', e),\n onFocus: (e: unknown) => emit('focus', e),\n onBlur: (e: unknown) => emit('blur', e),\n };\n },\n});\n</script>\n"],"names":["ButtonVariant","ButtonColor","ButtonType","Button","ButtonVariants","ButtonContainerVariants","ButtonColors","ButtonLoadingColors","ButtonContainerVariantsLoading","ButtonContentLoading","_sfc_main","defineComponent","OrLoader","props","emit","root","ref","rootStyles","computed","Styles.Button","Styles.ButtonVariants","Styles.ButtonColors","Styles.ButtonLoadingColors","contentContainerStyles","Styles.ButtonContainerVariants","Styles.ButtonContainerVariantsLoading","contentStyles","Styles.ButtonContentLoading","isVue3","e"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrConfirm-CHaw4Kx9.mjs","sources":["../../../components/or-confirm-v3/src/props.ts","../../../components/or-confirm-v3/src/styles.ts","../../../components/or-confirm-v3/src/OrConfirm.vue"],"sourcesContent":["export enum ConfirmType {\n D = 'd', // destructive / dangerous\n C = 'c', // consequential / common\n}\n","import { ConfirmType } from './props';\n\nexport const Confirm: string[] = [\n // Position\n 'fixed md:static',\n\n 'left-0',\n 'right-0',\n 'bottom-0',\n\n // Layout\n 'layout-column',\n\n // Box\n 'w-full md:w-[320px]',\n\n // Spacing\n 'px-lg',\n 'py-lg',\n\n 'gap-md',\n\n // Shape\n 'md:rounded-md',\n\n // Elevation\n 'shadow-modal',\n 'dark:shadow-modal-dark',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const ConfirmHeader: string[] = [\n // Layout\n 'layout-row justify-between',\n\n // Typography\n 'typography-headline-3',\n];\n\nexport const ConfirmInput: string[] = [\n // Box\n 'w-full',\n\n // Spacing\n 'mt-md',\n];\n\nexport const ConfirmFooter: string[] = [\n // Spacing\n 'gap-md',\n];\n\nexport const ConfirmFooterTypes: Record<ConfirmType, string[]> = {\n [ConfirmType.C]: [\n // Layout\n 'layout-row',\n ],\n\n [ConfirmType.D]: [\n // Layout\n 'layout-row-reverse',\n ],\n};\n\nexport const ConfirmFooterButtons: string[] = [\n // Layout\n '!grow',\n\n // Box\n 'w-auto md:w-[128px]',\n];\n","<template>\n <OrOverlay\n v-if=\"state === 'open'\"\n :fullscreen=\"true\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :role=\"'alertdialog'\"\n >\n <div :class=\"headerStyles\">\n <slot name=\"header\">\n <OrText\n :text=\"titleText\"\n :slice-index=\"4\"\n />\n </slot>\n </div>\n\n <div class=\"grow\">\n <div class=\"overflow-y-auto overflow-x-hidden\">\n <slot />\n </div>\n <div\n v-if=\"confirmationText\"\n :class=\"inputBoxStyles\"\n >\n <OrInput\n :ref=\"'confirmationInput'\"\n v-model=\"confirmationValue\"\n :label=\"textConfirmationLabel\"\n :placeholder=\"textConfirmationPlaceholder\"\n @focus=\"onInputFocus\"\n @blur=\"onInputBlur\"\n />\n </div>\n </div>\n\n <slot\n name=\"footer\"\n :confirm=\"confirm\"\n :cancel=\"close\"\n >\n <div :class=\"footerStyles\">\n <OrButton\n :class=\"buttonsStyles\"\n :variant=\"'outlined'\"\n :disabled=\"loading\"\n @click=\"close()\"\n >\n {{ cancelButtonText }}\n </OrButton>\n\n <OrButton\n :ref=\"'confirmationButton'\"\n :class=\"buttonsStyles\"\n :color=\"confirmButtonColor\"\n :loading=\"loading\"\n :disabled=\"isConfirmationButtonDisabled\"\n @click=\"onConfirmClick\"\n >\n {{ confirmButtonText }}\n </OrButton>\n </div>\n </slot>\n </div>\n </OrOverlay>\n</template>\n\n<script lang=\"ts\">\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { ButtonColor, OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrOverlayV3 as OrOverlay } from '@onereach/ui-components.or-overlay-v3';\nimport { OrTextV3 as OrText } from '@onereach/ui-components.or-text-v3';\nimport { onClickOutside, useMagicKeys, whenever } from '@vueuse/core';\nimport { logicAnd } from '@vueuse/math';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport { ConfirmType } from './props';\nimport { Confirm, ConfirmFooter, ConfirmFooterButtons, ConfirmFooterTypes, ConfirmHeader, ConfirmInput } from './styles';\n\nexport default defineComponent({\n name: 'OrConfirm',\n\n components: {\n OrOverlay,\n OrButton,\n OrInput,\n OrText,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n titleText: {\n type: String,\n required: false,\n default: null,\n },\n\n confirmButtonText: {\n type: String,\n default: 'Confirm',\n },\n\n autoCloseOnConfirm: {\n type: Boolean,\n default: true,\n },\n\n closeOnClickOutside: {\n type: Boolean,\n default: true,\n },\n\n cancelButtonText: {\n type: String,\n default: 'Cancel',\n },\n\n confirmType: {\n type: String as PropType<`${ConfirmType}`>,\n default: () => ConfirmType.C,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n\n confirmationText: {\n type: String,\n default: undefined,\n },\n\n textConfirmationLabel: {\n type: String,\n default: undefined,\n },\n\n textConfirmationPlaceholder: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n 'confirm',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n const confirmationInput = ref<InstanceType<typeof OrInput>>();\n const confirmationButton = ref<InstanceType<typeof OrButton>>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-confirm-v3',\n ...Confirm,\n ]);\n\n const headerStyles = computed(() => [\n ...ConfirmHeader,\n ]);\n\n const inputBoxStyles = computed(() => [\n ...ConfirmInput,\n ]);\n\n const footerStyles = computed(() => [\n ...ConfirmFooter,\n ...ConfirmFooterTypes[props.confirmType],\n ]);\n\n const buttonsStyles = computed(() => [\n ...ConfirmFooterButtons,\n ]);\n\n // State\n const { state, open, close } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n const isInputActive = ref(false);\n const confirmationValue = ref('');\n\n watch(state, () => {\n confirmationValue.value = '';\n });\n\n const { escape, enter } = useMagicKeys();\n\n const isInvalid = computed(() => {\n return !!props.confirmationText && props.confirmationText !== confirmationValue.value;\n });\n\n const isConfirmationButtonDisabled = computed(() => !!props.disabled || isInvalid.value);\n\n const confirmButtonColor = computed(() =>\n props.confirmType === ConfirmType.C ? ButtonColor.Primary : ButtonColor.Danger,\n );\n\n // Methods\n function confirm(): void {\n if (!props.disabled && !isInvalid.value) {\n context.emit('confirm');\n }\n }\n\n function onInputFocus(): void {\n isInputActive.value = true;\n }\n\n function onInputBlur(): void {\n isInputActive.value = false;\n }\n\n function onConfirmClick(): void {\n confirm();\n if (props.autoCloseOnConfirm) {\n close();\n }\n }\n // Events\n watch(escape, (val) => {\n if (val) close();\n });\n\n // types here are used for fixing TS2349\n watch(confirmationInput as any, (val: InstanceType<typeof OrInput>) =>\n (val?.focus as (() => void) | undefined)?.());\n\n // types here are used for fixing TS2349\n watch(confirmationButton as any, (val: InstanceType<typeof OrButton>) => {\n if (val && !props.confirmationText) {\n const button = val.root as HTMLButtonElement | undefined;\n button?.focus();\n }\n });\n\n whenever(logicAnd(enter, isInputActive), () => confirm());\n\n // #region Click Outside\n onClickOutside(root, () => {\n props.closeOnClickOutside ? close() : undefined;\n });\n // #endregion\n\n return {\n root,\n confirmationInput,\n confirmationButton,\n confirmationValue,\n confirmButtonColor,\n isInvalid,\n isConfirmationButtonDisabled,\n state,\n isInputActive,\n escape,\n rootStyles,\n headerStyles,\n inputBoxStyles,\n footerStyles,\n buttonsStyles,\n confirm,\n onConfirmClick,\n open,\n close,\n onInputFocus,\n onInputBlur,\n };\n },\n});\n</script>\n"],"names":["ConfirmType","Confirm","ConfirmHeader","ConfirmInput","ConfirmFooter","ConfirmFooterTypes","ConfirmFooterButtons","_sfc_main","defineComponent","OrOverlay","OrButton","OrInput","OrText","props","context","root","ref","confirmationInput","confirmationButton","rootStyles","computed","headerStyles","inputBoxStyles","footerStyles","buttonsStyles","state","open","close","usePopoverState","toRef","isInputActive","confirmationValue","watch","escape","enter","useMagicKeys","isInvalid","isConfirmationButtonDisabled","confirmButtonColor","ButtonColor","confirm","onInputFocus","onInputBlur","onConfirmClick","val","_a","button","whenever","logicAnd","onClickOutside","_component_OrOverlay","_resolveComponent","_ctx","_openBlock","_createBlock","_withCtx","_createElementVNode","_mergeProps","_normalizeClass","_createVNode","_component_OrText","_hoisted_1","_hoisted_2","_renderSlot","_createElementBlock","_component_OrInput","_cache","$event","_createCommentVNode","_component_OrButton"],"mappings":";;;;;;;;;;AAAY,IAAAA,sBAAAA,OACVA,EAAA,IAAI,KACJA,EAAA,IAAI,KAFMA,IAAAA,KAAA,CAAA,CAAA;ACEL,MAAMC,KAAoB;AAAA;AAAA,EAE/B;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAA0B;AAAA;AAAA,EAErC;AAAA;AAAA,EAGA;AACF,GAEaC,KAAyB;AAAA;AAAA,EAEpC;AAAA;AAAA,EAGA;AACF,GAEaC,KAA0B;AAAA;AAAA,EAErC;AACF,GAEaC,KAAoD;AAAA,EAC/D,CAACL,EAAY,CAAC,GAAG;AAAA;AAAA,IAEf;AAAA,EACF;AAAA,EAEA,CAACA,EAAY,CAAC,GAAG;AAAA;AAAA,IAEf;AAAA,EACF;AACF,GAEaM,KAAiC;AAAA;AAAA,EAE5C;AAAA;AAAA,EAGA;AACF,GCIAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,IAEA,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAMZ,EAAY;AAAA,IAC7B;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,IAEA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,6BAA6B;AAAA,MAC3B,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMa,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAEPC,IAAoBD,KACpBE,IAAqBF,KAGrBG,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGnB;AAAA,IAAA,CACJ,GAEKoB,IAAeD,EAAS,MAAM;AAAA,MAClC,GAAGlB;AAAA,IAAA,CACJ,GAEKoB,IAAiBF,EAAS,MAAM;AAAA,MACpC,GAAGjB;AAAA,IAAA,CACJ,GAEKoB,IAAeH,EAAS,MAAM;AAAA,MAClC,GAAGhB;AAAA,MACH,GAAGC,GAAmBQ,EAAM,WAAW;AAAA,IAAA,CACxC,GAEKW,IAAgBJ,EAAS,MAAM;AAAA,MACnC,GAAGd;AAAA,IAAA,CACJ,GAGK,EAAE,OAAAmB,GAAO,MAAAC,GAAM,OAAAC,EAAM,IAAIC,EAAgBC,EAAMhB,GAAO,QAAQ,GAAGC,EAAQ,IAAI,GAC7EgB,IAAgBd,EAAI,EAAK,GACzBe,IAAoBf,EAAI,EAAE;AAEhC,IAAAgB,EAAMP,GAAO,MAAM;AACjB,MAAAM,EAAkB,QAAQ;AAAA,IAAA,CAC3B;AAED,UAAM,EAAE,QAAAE,GAAQ,OAAAC,EAAM,IAAIC,EAAa,GAEjCC,IAAYhB,EAAS,MAClB,CAAC,CAACP,EAAM,oBAAoBA,EAAM,qBAAqBkB,EAAkB,KACjF,GAEKM,IAA+BjB,EAAS,MAAM,CAAC,CAACP,EAAM,YAAYuB,EAAU,KAAK,GAEjFE,IAAqBlB;AAAA,MAAS,MAClCP,EAAM,gBAAgBb,EAAY,IAAIuC,EAAY,UAAUA,EAAY;AAAA,IAAA;AAI1E,aAASC,IAAgB;AACvB,MAAI,CAAC3B,EAAM,YAAY,CAACuB,EAAU,SAChCtB,EAAQ,KAAK,SAAS;AAAA,IAE1B;AAEA,aAAS2B,IAAqB;AAC5B,MAAAX,EAAc,QAAQ;AAAA,IACxB;AAEA,aAASY,IAAoB;AAC3B,MAAAZ,EAAc,QAAQ;AAAA,IACxB;AAEA,aAASa,IAAuB;AACtB,MAAAH,KACJ3B,EAAM,sBACFc;IAEV;AAEM,WAAAK,EAAAC,GAAQ,CAACW,MAAQ;AACrB,MAAIA,KAAWjB;IAAA,CAChB,GAGDK,EAAMf,GAA0B,CAAC2B,MAC9B;;AAAA,cAAAC,IAAAD,KAAA,gBAAAA,EAAK,UAAL,gBAAAC,EAAA,KAAAD;AAAA,KAA2C,GAGxCZ,EAAAd,GAA2B,CAAC0B,MAAuC;AACnE,UAAAA,KAAO,CAAC/B,EAAM,kBAAkB;AAClC,cAAMiC,IAASF,EAAI;AACnB,QAAAE,KAAA,QAAAA,EAAQ;AAAA,MACV;AAAA,IAAA,CACD,GAEDC,EAASC,EAASd,GAAOJ,CAAa,GAAG,MAAMU,GAAS,GAGxDS,EAAelC,GAAM,MAAM;AACnB,MAAAF,EAAA,uBAAsBc,EAAU;AAAA,IAAA,CACvC,GAGM;AAAA,MACL,MAAAZ;AAAA,MACA,mBAAAE;AAAA,MACA,oBAAAC;AAAA,MACA,mBAAAa;AAAA,MACA,oBAAAO;AAAA,MACA,WAAAF;AAAA,MACA,8BAAAC;AAAA,MACA,OAAAZ;AAAA,MACA,eAAAK;AAAA,MACA,QAAAG;AAAA,MACA,YAAAd;AAAA,MACA,cAAAE;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,eAAAC;AAAA,MACA,SAAAgB;AAAA,MACA,gBAAAG;AAAA,MACA,MAAAjB;AAAA,MACA,OAAAC;AAAA,MACA,cAAAc;AAAA,MACA,aAAAC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;8DAvScQ,IAAAC,EAAA,WAAA;AACA,SAAAC,EAAA,UAAA,UAAAC,EAAA,GAAEC,EAAIJ,GAAA;AAAA,IAAA,KAAA;AAAA;;aAITK,EAAM,MAAA;AAAA,MAAAC,EACJ,OAAUC,EAAAL,EAAA,QAAA;AAAA,QACjB,KAAI;AAAA,QAAA,OAAAA,EAAA;AAAA,QAEL,MAAA;AAAA,MAAA,CAAM,GAAA;AAAA,QAAAI,EAAA,OAAA;AAAA,UACJ,OAKOE,EAAAN,EAAA,YAAA;AAAA,QAAA,GAAA;AAAA,YAHIA,EAAS,QAAA,UAAA,CAAA,GAAA,MAAA;AAAA,YAAAO,EACfC,GAAc;AAAA,cAAA,MAAAR,EAAA;AAAA;;UAKrB,CAAA;AAAA,QACE,GAAA,CAAA;AAAA,QACUI,EAAA,OAAAK,IAAA;AAAA,UAAAL,EAAA,OAAAM,IAAA;AAAA,YAGFC,EAAgBX,EAAA,QAAA,SAAA;AAAA,UAAA,CAAA;AAAA,qCACdY,GAAA,OAAA;AAAA,YAAA,KAAA;AAAA,YAER,OAOEN,EAAAN,EAAA,cAAA;AAAA,UAAA,GAAA;AAAA,YALSO,EAAAM,GAAA;AAAA,cAAA,KAAA;AAAA,cACR,YAAOb,EAAA;AAAA,cACP,uBAAac,EAA2B,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAf,EAAA,oBAAAe;AAAA,cACxC,OAAKf,EAAE;AAAA,cACP,aAAMA,EAAA;AAAA,cAAA,SAAAA,EAAA;AAAA;;mBAKbgB,EA0BO,IAAA,EAAA;AAAA,QAAA,CAAA;AAAA,UAvBIhB,EAAK,QAAA,UAAA;AAAA,UAuBT,SAAAA,EAAA;AAAA,UArBL,QAAAA,EAAA;AAAA,QAAA,GAAW,MAAA;AAAA,UAAAI,EAAA,OAAA;AAAA,YACT,OAOWE,EAAAN,EAAA,YAAA;AAAA,UAAA,GAAA;AAAA,cALCiB,GAAU;AAAA,cACnB,OAAiBX,EAAAN,EAAA,aAAA;AAAA,cACjB,SAAK;AAAA,cAAA,UAAAA,EAAA;AAAA,cAEgB,SAAAc,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAf,EAAA;YAAA,GAAA;AAAA;;;cAGxB,GAAA;AAAA,YACG,GAAA,GAAG,CAAE,SAAoB,UAAA,CAAA;AAAA,YAAAO,EACpBU,GAAE;AAAA,cACP,KAAK;AAAA,cACL,OAAOX,EAASN,EAAA,aAAA;AAAA,cAChB,OAAUA,EAAA;AAAA,cACV,SAAOA,EAAA;AAAA,cAAA,UAAAA,EAAA;AAAA;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrSelect-ZitJ7RzV.mjs","sources":["../../../components/or-select-v3/src/partials/or-select-control-input/styles.ts","../../../components/or-select-v3/src/partials/or-select-control-input/OrSelectControlInput.vue","../../../components/or-select-v3/src/partials/or-select-placeholder/styles.ts","../../../components/or-select-v3/src/partials/or-select-placeholder/OrSelectPlaceholder.vue","../../../components/or-select-v3/src/partials/or-select-multiple-control/styles.ts","../../../components/or-select-v3/src/partials/or-select-multiple-control/OrSelectMultipleControl.vue","../../../components/or-select-v3/src/partials/or-select-single-control/styles.ts","../../../components/or-select-v3/src/partials/or-select-single-control/OrSelectSingleControl.vue","../../../components/or-select-v3/src/styles.ts","../../../components/or-select-v3/src/OrSelect.vue"],"sourcesContent":["export const SelectControlInput: string[] = [\n // Base\n 'appearance-none',\n\n // Typography\n 'typography-inherit',\n\n // Theme (placeholder)\n 'placeholder:theme-foreground-outline',\n 'dark:placeholder:theme-foreground-outline-dark',\n 'theme-background-transparent',\n 'outline-none',\n];\n","<template>\n <input\n :ref=\"'root'\"\n v-model=\"proxyModelValue\"\n :style=\"controlInlineStyles\"\n :class=\"controlStyles\"\n :type=\"'text'\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :autocomplete=\"'off'\"\n :minlength=\"undefined\"\n :maxlength=\"undefined\"\n >\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { useFocus } from '@vueuse/core';\nimport { computed, defineComponent, ref, toRefs } from 'vue';\n\nimport { SelectControlInput } from './styles';\n\nexport default defineComponent({\n name: 'OrSelectControlInput',\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n\n placeholder: {\n type: String,\n default: '',\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'focused',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLInputElement>();\n\n // Props\n const { placeholder, modelValue } = toRefs(props);\n\n // State\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n const { focused } = useFocus(root);\n\n // Styles\n const controlStyles = computed(() => [\n ...SelectControlInput,\n ]);\n\n const controlInlineStyles = computed(() => {\n const chars = proxyModelValue.value.length > 0\n ? proxyModelValue.value.length\n : placeholder.value?.length;\n\n return {\n width: `${Math.max(chars + 1 || 0, 2)}ch`,\n };\n });\n\n // Methods\n function focus() {\n focused.value = true;\n }\n\n return {\n root,\n proxyModelValue,\n controlStyles,\n controlInlineStyles,\n focused,\n focus,\n };\n },\n});\n</script>\n","export const SelectPlaceholder: string[] = [\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-inherit truncate',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport { SelectPlaceholder } from './styles';\n\nexport default defineComponent({\n name: 'OrSelectPlaceholder',\n\n props: {\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-select-placeholder-v3',\n ...SelectPlaceholder,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const SelectMultipleControlRoot: string[] = [\n // Layout\n 'layout-row',\n 'w-full',\n];\n\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrTags\n v-show=\"!isEmpty || enableSearch\"\n :ref=\"'tags'\"\n :items=\"selection\"\n class=\"grow\"\n :disabled=\"disabled\"\n :tag-props=\"{\n variant: readonly || disabled ? 'tag' : 'reset',\n disabled: disabled\n }\"\n :overflow=\"overflow\"\n @reset=\"$emit('reset', $event)\"\n >\n <template v-slot:tag=\"{item}\">\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </template>\n\n <template\n v-if=\"enableSearch\"\n v-slot:tail\n >\n <div class=\"inline-flex w-fit max-w-full\">\n <OrSelectControlInput\n :ref=\"'searchControl'\"\n v-model=\"searchModelValue\"\n :placeholder=\"isEmpty ? placeholder: ''\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n />\n </div>\n </template>\n </OrTags>\n\n <template v-if=\"isEmpty && !enableSearch\">\n <OrSelectPlaceholder :disabled=\"disabled\">\n {{ placeholder }}\n </OrSelectPlaceholder>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { isEqual, isNil, toArray } from '@onereach/ui-components-common/utils';\nimport { OrTagsV3 as OrTags, Tag, TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { PropType, computed, defineComponent, ref, toRefs, watch } from 'vue';\n\nimport { SelectItem, SelectModelValue } from '../../types';\nimport { OrSelectControlInput } from '../or-select-control-input';\nimport OrSelectPlaceholder from '../or-select-placeholder/OrSelectPlaceholder.vue';\n\nimport { SelectMultipleControlRoot } from './styles';\n\nexport default defineComponent({\n name: 'OrSelectMultipleControl',\n\n components: {\n OrSelectPlaceholder,\n OrSelectControlInput,\n OrTags,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n\n model: {\n type: undefined as unknown as PropType<SelectModelValue>,\n default: () => [],\n },\n\n options: {\n type: Array as PropType<SelectItem[]>,\n default: () => [],\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n enableSearch: {\n type: Boolean,\n default: false,\n },\n\n isOpen: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n 'reset',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'focused',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLDivElement>();\n\n const searchControl = ref<InstanceType<typeof OrSelectControlInput>>();\n const tags = ref<InstanceType<typeof OrTags>>();\n\n // Props\n const { modelValue, model, options, overflow } = toRefs(props);\n\n // State\n const searchModelValue = useProxyModelValue(modelValue, context.emit);\n\n const focused = computed(() => {\n return searchControl.value?.focused;\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-select-multiple-control-v3',\n ...SelectMultipleControlRoot,\n ]);\n\n // Computed\n const value = computed(() => isNil(model.value) ? [] : toArray(model.value));\n const isEmpty = computed(() => value.value.length === 0);\n\n const selection = computed(() => {\n if (model.value === undefined || model.value === null) {\n return [];\n }\n\n return value.value\n .map((value) => options.value.find((option) => isEqual(option.value, value)))\n .filter<SelectItem>((value): value is SelectItem => !!value)\n .map((option) => ({\n value: option.value,\n label: option.label,\n tagProps: option.disabled && { disabled: option.disabled },\n } as Tag));\n });\n\n watch(selection, (items, prevItems) => {\n if (items.length != prevItems.length && overflow.value === TagsOverflow.Scroll && tags.value) {\n (tags.value.scrollToEnd as () => void)();\n }\n });\n\n // Methods\n function focus(): void {\n if (searchControl.value) {\n (searchControl.value.focus as () => void)();\n }\n }\n\n return {\n root,\n tags,\n rootStyles,\n searchControl,\n searchModelValue,\n isEmpty,\n selection,\n value,\n focus,\n focused,\n };\n },\n});\n</script>\n","export const SelectSingleControlInput: string[] = [\n // Layout\n 'w-full',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"isOpen && enableSearch\">\n <OrSelectControlInput\n :ref=\"'searchControl'\"\n v-model=\"searchModelValue\"\n :placeholder=\"isEmptyModelValue ? placeholder : selectionLabel\"\n />\n </template>\n\n <template v-else>\n <template v-if=\"isEmptyModelValue\">\n <OrSelectPlaceholder :disabled=\"disabled\">\n {{ placeholder }}\n </OrSelectPlaceholder>\n </template>\n\n <template v-else>\n <div class=\"flex\">\n <div\n ref=\"selectionLabelRef\"\n class=\"truncate w-full\"\n @mouseenter=\"checkTooltip\"\n @mouseleave=\"closeTooltip\"\n >\n {{ selectionLabel }}\n </div>\n <OrTooltip\n ref=\"tooltipRef\"\n :content=\"selectionLabel\"\n :trigger=\"selectionLabelRef\"\n />\n </div>\n </template>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { isEmpty, isEqual } from '@onereach/ui-components-common/utils';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport { PropType, computed, defineComponent, ref, toRefs, watch } from 'vue';\n\n\nimport { SelectItem, SelectModelValue } from '../../types';\nimport OrSelectControlInput from '../or-select-control-input/OrSelectControlInput.vue';\nimport OrSelectPlaceholder from '../or-select-placeholder/OrSelectPlaceholder.vue';\n\n\nimport { SelectSingleControlInput } from './styles';\n\nexport default defineComponent({\n name: 'OrSelectSingleControl',\n\n components: {\n OrSelectPlaceholder,\n OrSelectControlInput,\n OrTooltip,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n\n model: {\n type: undefined as unknown as PropType<SelectModelValue>,\n default: undefined,\n },\n\n options: {\n type: Array as PropType<SelectItem[]>,\n default: () => [],\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n enableSearch: {\n type: Boolean,\n default: false,\n },\n\n isOpen: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'focused',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLDivElement>();\n const searchControl = ref<InstanceType<typeof OrSelectControlInput>>();\n const selectionLabelRef = ref<HTMLDialogElement>();\n const tooltipRef = ref<InstanceType<typeof OrTooltip>>();\n\n // Props\n const { modelValue, model, options } = toRefs(props);\n\n // State\n const searchModelValue = useProxyModelValue(modelValue, context.emit);\n\n const isEmptyModelValue = computed(() => {\n return isEmpty(model.value);\n });\n\n const selection = computed(() => {\n return options.value.find((option) => isEqual(option.value, model.value));\n });\n\n const selectionLabel = computed(() => {\n return selection.value?.label;\n });\n\n watch(\n () => props.isOpen,\n () => {\n tooltipRef.value?.close();\n },\n );\n\n const focused = computed(() => {\n return searchControl.value?.focused;\n });\n\n const openTooltip = () => {\n if (tooltipRef.value) tooltipRef.value.open();\n };\n\n const closeTooltip = () => {\n if (tooltipRef.value) tooltipRef.value.close();\n };\n\n // Styles\n const rootStyles = computed(() => ([\n 'or-select-single-control-v3',\n ...SelectSingleControlInput,\n ]));\n\n // Methods\n function focus() {\n if (searchControl.value) {\n (searchControl.value.focus as () => void)();\n }\n }\n\n function checkTooltip() {\n if (!selectionLabelRef.value) return; // to prevent fro TS error; normally ref will always be available here since the method is a mouse event callback\n const isContentTruncated = selectionLabelRef.value.scrollWidth > selectionLabelRef.value.clientWidth;\n if (isContentTruncated) openTooltip();\n }\n\n return {\n root,\n rootStyles,\n searchControl,\n searchModelValue,\n isEmptyModelValue,\n selection,\n selectionLabel,\n focus,\n focused,\n selectionLabelRef,\n tooltipRef,\n openTooltip,\n closeTooltip,\n checkTooltip,\n };\n },\n});\n</script>\n","export const Select: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const SelectControl: string[] = [\n // Layout\n 'layout-row',\n 'w-full',\n\n // Layout (empty)\n 'empty:hidden',\n\n // Overflow\n 'overflow-hidden',\n\n // Spacing\n 'gap-xs',\n\n // Typography\n 'typography-inherit',\n];\n\nexport const SelectSearchControl: string[] = [\n // Spacing\n '!mx-lg md:!-mx-sm+',\n '!my-sm md:!my-0',\n];\n\nexport const SelectDropdown: string[] = [\n // Overflow\n 'overflow-y-auto',\n\n // Box\n 'max-h-[172px]', // equals 5 items\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n];\n\nexport const SelectDropdownDefault: string[] = [\n // Shape\n 'rounded-b-md',\n\n // Theme\n '!border-t-0',\n];\n\nexport const SelectDropdownFlipped: string[] = [\n // Shape\n 'rounded-t-md',\n\n // Theme\n '!border-b-0',\n];\n\nexport const SelectDropdownItem: string[] = [\n // Typography\n '!typography-body-2-regular',\n\n // Padding Override todo: check design\n 'md:!pt-[6px] md:!pb-[7px]',\n\n // Typography (selected)\n 'selected:!typography-body-2-semibold',\n\n // Theme\n '!theme-foreground-default dark:!theme-foreground-default-dark',\n];\n\nexport const SelectDropdownItemPaddingSingle = [\n // Padding Override\n '!py-md md:!pt-[6px] md:!pb-[7px]',\n];\n\nexport const SelectDropdownItemPaddingMultiple = [\n // Padding Override\n 'md:!pt-[6px] md:!pb-[7px]',\n];\n\nexport const SelectDropdownItemPaddingMultipleMobile = [\n // Padding Override\n 'px-md',\n];\n\nexport const SelectNoSearchResults: string[] = [\n // Layout\n 'layout-row justify-center',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n\nexport const SelectLoader: string[] = [\n // Layout\n 'w-fit',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'text-outline dark:text-outline-dark',\n];\n\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots.label || $slots.addon || label\">\n <OrLabel\n :control-id=\"controlId\"\n :variant=\"'input'\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n\n <OrInputBox\n :ref=\"'inputBox'\"\n v-dropdown-open=\"toggle\"\n v-dropdown-close=\"close\"\n class=\"interactivity-click\"\n :class=\"[popoverState === 'open' && (popover && popover.isFlipped ? 'rounded-t-0' : 'rounded-b-0'), { 'outline-none': variant === 'embedded' }]\"\n :variant=\"variant\"\n :size=\"size\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :force-state=\"isOpen ? 'focus-within': undefined\"\n :tabindex=\"!disabled ? 0 : null\"\n >\n <div\n :id=\"controlId\"\n :ref=\"'control'\"\n :class=\"controlStyles\"\n :disabled=\"disabled\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <slot\n name=\"valueTemplate\"\n :model=\"proxyModelValue\"\n >\n <template v-if=\"multiple\">\n <OrSelectMultipleControl\n :ref=\"'multipleControl'\"\n v-model=\"searchText\"\n :model=\"proxyModelValue\"\n :options=\"options\"\n :overflow=\"overflow\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :enable-search=\"enableSearch\"\n :is-open=\"popoverState === 'open'\"\n @reset=\"deselectOption($event)\"\n >\n <template v-slot:tag=\"{item}\">\n <slot\n name=\"tag\"\n :item=\"item\"\n />\n </template>\n </OrSelectMultipleControl>\n </template>\n\n <template v-else>\n <OrSelectSingleControl\n :ref=\"'singleControl'\"\n v-model=\"searchText\"\n :model=\"proxyModelValue\"\n :options=\"options\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :enable-search=\"enableSearch\"\n :is-open=\"popoverState === 'open'\"\n />\n </template>\n </slot>\n </div>\n\n <div :class=\"['layout-inline-row', 'gap-sm']\">\n <template v-if=\"showClear\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"'inherit'\"\n :additional-styles=\"['!text-outline', '!dark:text-outline-dark']\"\n :disabled=\"readonly || disabled\"\n @click.stop=\"$emit('update:modelValue', multiple ? [] : undefined)\"\n />\n </template>\n\n <OrIcon\n v-show=\"!(popoverState === 'open' && enableSearch && enableClear && !isEmptyModelValue)\"\n :icon=\"popoverState === 'open' ? enableSearch ? 'search' : 'arrow_drop_up' : 'arrow_drop_down'\"\n :class=\" popoverState === 'open' && enableSearch ? '!text-outline !dark:text-outline-dark' : ''\"\n :variant=\"'outlined'\"\n />\n </div>\n\n <OrPopover\n :ref=\"'popover'\"\n :variant=\"'auto'\"\n :trigger=\"anchor || inputBoxRoot\"\n :placement=\"'bottom'\"\n :offset=\"0\"\n :full-width=\"true\"\n :disable-default-styles=\"true\"\n >\n <div :class=\"dropdownStyles\">\n <template v-if=\"popoverState === 'open' && enableSearch && isMobile\">\n <OrInput\n :ref=\"'searchControl'\"\n v-model=\"searchText\"\n :class=\"searchControlStyles\"\n :type=\"'search'\"\n :placeholder=\"placeholder\"\n />\n </template>\n <div :class=\"dropdownContainerStyles\">\n <template v-if=\"loading\">\n <div :class=\"['px-sm+', 'py-xs']\">\n <slot name=\"loading\">\n <OrLoader\n :class=\"loaderStyles\"\n variant=\"text\"\n :text=\"loadingText\"\n />\n </slot>\n </div>\n </template>\n\n <template v-else-if=\"resolvedSearchOptions.length > 0\">\n <template v-if=\"groupByFunction\">\n <OrExpansionPanel\n v-for=\"(group, groupName) in groupedOptions\"\n :key=\"groupName\"\n :label=\"groupName\"\n >\n <template v-if=\"multiple\">\n <OrMenuItem\n v-for=\"(option, i) in group\"\n :key=\"i\"\n :tooltip-text=\"option.label\"\n :selected=\"proxyModelValue && proxyModelValue.includes(option.value)\"\n :disabled=\"option.disabled\"\n >\n <slot\n name=\"optionTemplate\"\n :model=\"proxyModelValue\"\n :option=\"option\"\n >\n <OrCheckbox\n v-model=\"proxyModelValue\"\n :value=\"option.value\"\n :label=\"option.label\"\n :label-variant=\"'menu-item'\"\n :disabled=\"option.disabled\"\n />\n </slot>\n </OrMenuItem>\n </template>\n\n <template v-else>\n <OrMenuItem\n v-for=\"(option, i) in group\"\n :key=\"i\"\n :class=\"dropdownItemStyles\"\n :tooltip-text=\"option.label\"\n :selected=\"proxyModelValue === option.value\"\n :disabled=\"option.disabled\"\n @click.stop=\"selectOption(option.value)\"\n >\n <slot\n name=\"optionTemplate\"\n :model=\"proxyModelValue\"\n :option=\"option\"\n >\n {{ option.label }}\n </slot>\n </OrMenuItem>\n </template>\n </OrExpansionPanel>\n </template>\n\n <template v-else>\n <template v-if=\"multiple\">\n <OrMenuItem\n v-for=\"(option, i) in resolvedSearchOptions\"\n :key=\"i\"\n :tooltip-text=\"option.label\"\n :class=\"dropdownItemStyles\"\n :selected=\"proxyModelValue && proxyModelValue.includes(option.value)\"\n :disabled=\"option.disabled\"\n :data-value=\"option.value\"\n @click.stop=\"!option.disabled && toggleOption(option.value)\"\n >\n <OrCheckbox\n :model-value=\"proxyModelValue\"\n :value=\"option.value\"\n :label-variant=\"'menu-item'\"\n :disabled=\"option.disabled\"\n >\n <div @click.stop.prevent=\"!option.disabled && toggleOption(option.value)\">\n <slot\n name=\"optionTemplate\"\n :model=\"proxyModelValue\"\n :option=\"option\"\n >\n {{ option.label }}\n </slot>\n </div>\n </OrCheckbox>\n </OrMenuItem>\n </template>\n\n <template v-else>\n <OrMenuItem\n v-for=\"(option, i) in resolvedSearchOptions\"\n :key=\"i\"\n :class=\"dropdownItemStyles\"\n :selected=\"proxyModelValue === option.value\"\n :tooltip-text=\"option.label\"\n :data-value=\"option.value\"\n :disabled=\"option.disabled\"\n @click.stop=\"selectOption(option.value); close()\"\n >\n <slot\n name=\"optionTemplate\"\n :model=\"proxyModelValue\"\n :option=\"option\"\n >\n {{ option.label }}\n </slot>\n </OrMenuItem>\n </template>\n </template>\n </template>\n\n <template v-else>\n <div :class=\"noSearchResultsStyles\">\n <slot\n name=\"noSearchResultsTemplate\"\n :search-text=\"searchText\"\n >\n No results\n </slot>\n </div>\n </template>\n </div>\n </div>\n </OrPopover>\n </OrInputBox>\n\n <template v-if=\"$slots.hint || hint\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ReferenceElement } from '@floating-ui/dom';\nimport { DropdownClose, DropdownOpen } from '@onereach/ui-components-common/directives';\nimport { searchItemsByLabel } from '@onereach/ui-components-common/helpers';\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { GroupFunction, SearchFunction } from '@onereach/ui-components-common/types';\nimport { exclude, include, isEmpty, toArray } from '@onereach/ui-components-common/utils';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrExpansionPanelV3 as OrExpansionPanel } from '@onereach/ui-components.or-expansion-panel-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { InputBoxSize, InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { computed, defineComponent, getCurrentInstance, PropType, ref, toRefs, watch, nextTick } from 'vue';\n\nimport { OrSelectMultipleControl, OrSelectSingleControl } from './partials';\nimport * as Styles from './styles';\nimport { SelectItem, SelectModelValue } from './types';\n\n\nexport default defineComponent({\n name: 'OrSelect',\n\n components: {\n OrCheckbox,\n OrError,\n OrExpansionPanel,\n OrHint,\n OrIcon,\n OrIconButton,\n OrInput,\n OrInputBox,\n OrLabel,\n OrMenuItem,\n OrPopover,\n OrSelectMultipleControl,\n OrSelectSingleControl,\n OrLoader,\n },\n\n directives: {\n DropdownClose,\n DropdownOpen,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<SelectModelValue>,\n default: undefined,\n },\n\n options: {\n type: Array as PropType<SelectItem[]>,\n default: () => [],\n },\n\n searchOptions: {\n type: Array as PropType<SelectItem[]>,\n default: () => [],\n },\n\n multiple: {\n type: Boolean,\n default: false,\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n size: {\n type: String as PropType<`${InputBoxSize}`>,\n default: undefined,\n },\n\n anchor: {\n type: Object as PropType<ReferenceElement>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n loadingText: {\n type: String,\n default: 'Loading',\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n enableSearch: {\n type: Boolean,\n default: false,\n },\n\n enableClear: {\n type: Boolean,\n default: false,\n },\n\n searchFunction: {\n type: Function as PropType<SearchFunction<SelectItem>>,\n default: searchItemsByLabel as SearchFunction<SelectItem>,\n },\n\n groupByFunction: {\n type: Function as PropType<GroupFunction<SelectItem>>,\n default: undefined,\n },\n\n externalControl: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'focus',\n 'blur',\n\n 'search',\n ],\n\n expose: [\n 'root',\n\n 'open',\n 'close',\n 'toggle',\n\n 'toggleOption',\n 'resetSearch',\n\n 'popover',\n 'popoverState',\n ],\n\n setup(props, context) {\n const currentInstance = getCurrentInstance()!;\n\n // Refs\n const root = ref<HTMLElement>();\n\n const inputBox = ref<InstanceType<typeof OrInputBox>>();\n const inputBoxRoot = computed(() => inputBox.value?.root);\n\n const control = ref<HTMLElement>();\n const multipleControl = ref<InstanceType<typeof OrSelectMultipleControl>>();\n const singleControl = ref<InstanceType<typeof OrSelectSingleControl>>();\n const searchControl = ref<HTMLElement>();\n\n const popover = ref<InstanceType<typeof OrPopover>>();\n\n const popoverRoot = computed(() => popover.value?.root);\n const popoverState = computed(() => popover.value?.state);\n\n const isOpen = computed(() => popoverState.value === 'open');\n\n // Props\n const { enableClear, enableSearch, modelValue, multiple } = toRefs(props);\n\n // State\n const controlId = ref(context.attrs.id as string ?? currentInstance.uid.toString());\n\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n\n const bottomSheetFullscreen = computed(() => {\n return popover.value?.bottomSheet?.fullscreen;\n });\n\n const isEmptyModelValue = computed(() => {\n return isEmpty(proxyModelValue.value);\n });\n\n const showClear = computed(() => {\n return enableClear.value && !isEmptyModelValue.value;\n });\n\n\n const focused = computed(() => {\n if (multiple.value) {\n return multipleControl.value?.focused;\n } else {\n return singleControl.value?.focused;\n }\n });\n\n const readonly = computed(() => context.attrs.readonly as boolean);\n\n const internalSearchOptions = ref<SelectItem[]>(props.options);\n\n const resolvedSearchOptions = computed(() => {\n return props.externalControl ? props.searchOptions : internalSearchOptions.value;\n });\n\n const searchText = ref<string>('');\n\n watch([\n () => props.externalControl,\n searchText,\n () => props.options,\n ], async ([externalControl, searchText, options]) => {\n if (externalControl) {\n context.emit('search', searchText);\n } else {\n internalSearchOptions.value = await props.searchFunction(searchText, options);\n }\n }, { deep: true });\n\n\n watch(isOpen, (value) => {\n if (!value) {\n resetSearch();\n }\n });\n\n const groupedOptions = computed(() => {\n const groupBy = props.groupByFunction;\n\n if (groupBy) {\n return internalSearchOptions.value.reduce((accumulator, option) => {\n const group = groupBy(option);\n\n return {\n ...accumulator,\n [group]: [\n ...accumulator[group] ?? [],\n option,\n ],\n };\n }, {} as Record<string, SelectItem[]>);\n }\n\n return {\n '': props.options,\n };\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-select-v3',\n ...Styles.Select,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const controlStyles = computed(() => [\n ...Styles.SelectControl,\n ]);\n\n const searchControlStyles = computed(() => [\n ...Styles.SelectSearchControl,\n ]);\n\n const dropdownStyles = computed(() => [\n 'or-select-popover-v3',\n ...(isMobile.value ? [] : [\n ...Styles.SelectDropdown,\n ...popover.value?.isFlipped ? Styles.SelectDropdownFlipped : Styles.SelectDropdownDefault,\n ]),\n ]);\n\n const dropdownContainerStyles = computed(() => [\n isMobile.value ? 'layout-column' : 'contains',\n bottomSheetFullscreen.value ? 'overflow-y-auto' : 'overflow-hidden',\n ]);\n\n const dropdownItemStyles = computed(() => [\n ...Styles.SelectDropdownItem,\n ...(props.multiple ? Styles.SelectDropdownItemPaddingMultiple : Styles.SelectDropdownItemPaddingSingle),\n ...(isMobile.value ? Styles.SelectDropdownItemPaddingMultipleMobile : []),\n ]);\n\n const noSearchResultsStyles = computed(() => [\n ...Styles.SelectNoSearchResults,\n ]);\n\n const loaderStyles = computed(() => [\n ...Styles.SelectLoader,\n ]);\n\n // Methods\n function toggle(): void {\n if (!readonly.value && !props.disabled) {\n const popoverInstance = popover.value;\n\n if (popoverInstance) {\n if (popoverState.value === 'open' && !focused.value) {\n close();\n } else {\n open();\n\n setTimeout(() => {\n focus();\n });\n }\n }\n }\n }\n\n function open(): void {\n nextTick(() => {\n const popoverInstance = popover.value;\n if (popoverInstance) {\n (popoverInstance.open as () => void)();\n }\n if (proxyModelValue.value) {\n const value = Array.isArray(proxyModelValue.value) ? proxyModelValue.value[0] : proxyModelValue.value;\n const selectedOptionElement = document.querySelector(`[data-value=\"${value}\"]`);\n if (selectedOptionElement) {\n setTimeout(() => {\n selectedOptionElement.scrollIntoView({\n behavior: 'auto',\n block: 'start',\n });\n });\n }\n }\n });\n }\n\n function close(): void {\n const popoverInstance = popover.value;\n\n if (popoverInstance) {\n (popoverInstance.close as () => void)();\n }\n }\n\n function focus(): void {\n if (enableSearch.value) {\n const controlInstance = isMobile.value\n ? searchControl.value\n : multiple.value\n ? multipleControl.value\n : singleControl.value;\n\n if (controlInstance) {\n (controlInstance.focus as () => void)();\n }\n }\n }\n\n function selectOption(value: SelectItem['value']): void {\n if (props.multiple) {\n proxyModelValue.value = include(value, toArray(proxyModelValue.value));\n } else {\n proxyModelValue.value = value;\n }\n\n resetSearch();\n }\n\n function deselectOption(value: SelectItem['value']): void {\n if (props.multiple) {\n proxyModelValue.value = exclude(value, toArray(proxyModelValue.value));\n } else {\n proxyModelValue.value = undefined;\n }\n }\n\n function toggleOption(value: SelectItem['value']): void {\n if (props.multiple) {\n const model = toArray(proxyModelValue.value);\n\n if (!model.includes(value)) {\n proxyModelValue.value = include(value, model);\n } else {\n proxyModelValue.value = exclude(value, model);\n }\n } else {\n proxyModelValue.value = proxyModelValue.value !== value ? value : undefined;\n }\n\n resetSearch();\n }\n\n function resetSearch(): void {\n nextTick(() => {\n setTimeout(() => searchText.value = '');\n });\n }\n\n // Utils\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n inputBox,\n inputBoxRoot,\n control,\n multipleControl,\n singleControl,\n searchControl,\n popover,\n popoverRoot,\n popoverState,\n rootStyles,\n controlStyles,\n searchControlStyles,\n dropdownStyles,\n dropdownContainerStyles,\n dropdownItemStyles,\n noSearchResultsStyles,\n loaderStyles,\n controlId,\n proxyModelValue,\n readonly,\n isEmptyModelValue,\n isOpen,\n showClear,\n searchText,\n internalSearchOptions,\n resolvedSearchOptions,\n groupedOptions,\n\n toggle,\n close,\n open,\n\n selectOption,\n deselectOption,\n toggleOption,\n resetSearch,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["SelectControlInput","_sfc_main$4","defineComponent","props","context","root","ref","placeholder","modelValue","toRefs","proxyModelValue","useProxyModelValue","focused","useFocus","controlStyles","computed","controlInlineStyles","chars","_a","focus","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_withDirectives","_openBlock","_createElementBlock","$event","_normalizeStyle","SelectPlaceholder","_sfc_main$3","rootStyles","_normalizeClass","SelectMultipleControlRoot","_sfc_main$2","OrSelectPlaceholder","OrSelectControlInput","OrTags","TagsOverflow","searchControl","tags","model","options","overflow","searchModelValue","value","isNil","toArray","isEmpty","selection","option","isEqual","watch","items","prevItems","_resolveComponent","_createVNode","_component_OrTags","_createSlots","_withCtx","item","_createElementVNode","_hoisted_1","_component_OrSelectControlInput","_vShow","_createBlock","_component_OrSelectPlaceholder","SelectSingleControlInput","_sfc_main$1","OrTooltip","selectionLabelRef","tooltipRef","isEmptyModelValue","selectionLabel","openTooltip","closeTooltip","checkTooltip","_Fragment","args","_toDisplayString","_component_OrTooltip","Select","SelectControl","SelectSearchControl","SelectDropdown","SelectDropdownDefault","SelectDropdownFlipped","SelectDropdownItem","SelectDropdownItemPaddingSingle","SelectDropdownItemPaddingMultiple","SelectDropdownItemPaddingMultipleMobile","SelectNoSearchResults","SelectLoader","_sfc_main","OrCheckbox","OrError","OrExpansionPanel","OrHint","OrIcon","OrIconButton","OrInput","OrInputBox","OrLabel","OrMenuItem","OrPopover","OrSelectMultipleControl","OrSelectSingleControl","OrLoader","DropdownClose","DropdownOpen","searchItemsByLabel","currentInstance","getCurrentInstance","inputBox","inputBoxRoot","control","multipleControl","singleControl","popover","popoverRoot","popoverState","isOpen","enableClear","enableSearch","multiple","controlId","bottomSheetFullscreen","_b","showClear","readonly","internalSearchOptions","resolvedSearchOptions","searchText","externalControl","resetSearch","groupedOptions","groupBy","accumulator","group","Styles.Select","InputBoxVariant","Styles.SelectControl","searchControlStyles","Styles.SelectSearchControl","dropdownStyles","isMobile","Styles.SelectDropdown","Styles.SelectDropdownFlipped","Styles.SelectDropdownDefault","dropdownContainerStyles","dropdownItemStyles","Styles.SelectDropdownItem","Styles.SelectDropdownItemPaddingMultiple","Styles.SelectDropdownItemPaddingSingle","Styles.SelectDropdownItemPaddingMultipleMobile","noSearchResultsStyles","Styles.SelectNoSearchResults","loaderStyles","Styles.SelectLoader","toggle","close","open","nextTick","popoverInstance","selectedOptionElement","controlInstance","selectOption","include","deselectOption","exclude","toggleOption","isDesktop","useResponsive","_hoisted_3","_resolveDirective","_component_OrLabel","_renderSlot","_createCommentVNode","_component_OrInputBox","_component_OrSelectMultipleControl","_component_OrSelectSingleControl","_hoisted_2","_component_OrIconButton","_component_OrIcon","_component_OrPopover","_component_OrInput","_component_OrLoader","_renderList","groupName","_component_OrExpansionPanel","i","_component_OrMenuItem","_withModifiers","_component_OrCheckbox","_directive_dropdown_open","_directive_dropdown_close","_component_OrHint","_component_OrError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,KAA+B;AAAA;AAAA,EAE1C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GCWAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAGP,EAAE,aAAAC,GAAa,YAAAC,EAAW,IAAIC,GAAON,CAAK,GAG1CO,IAAkBC,GAAmBH,GAAYJ,EAAQ,IAAI,GAC7D,EAAE,SAAAQ,EAAA,IAAYC,GAASR,CAAI,GAG3BS,IAAgBC,EAAS,MAAM;AAAA,MACnC,GAAGf;AAAA,IAAA,CACJ,GAEKgB,IAAsBD,EAAS,MAAM;;AACnC,YAAAE,IAAQP,EAAgB,MAAM,SAAS,IACzCA,EAAgB,MAAM,UACtBQ,IAAAX,EAAY,UAAZ,gBAAAW,EAAmB;AAEhB,aAAA;AAAA,QACL,OAAO,GAAG,KAAK,IAAID,IAAQ,KAAK,GAAG,CAAC,CAAC;AAAA,MAAA;AAAA,IACvC,CACD;AAGD,aAASE,IAAQ;AACf,MAAAP,EAAQ,QAAQ;AAAA,IAClB;AAEO,WAAA;AAAA,MACL,MAAAP;AAAA,MACA,iBAAAK;AAAA,MACA,eAAAI;AAAA,MACA,qBAAAE;AAAA,MACA,SAAAJ;AAAA,MACA,OAAAO;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAtGSC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;AACH,SAAAC,GAAAC,KAAAC,EAAA,SAAA;AAAA,IACR,KAAK;AAAA,IACL,uBAAOP,EAAa,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,kBAAAS;AAAA,IACpB,OAAMC,GAAMV,EAAA,mBAAA;AAAA,IACZ,SAAaA,EAAW,aAAA;AAAA,IACxB,MAAA;AAAA,IACA,aAAUA,EAAA;AAAA,IACV,UAAcA,EAAA;AAAA,IACd,UAASA,EAAE;AAAA,IACX,cAAW;AAAA,IAAA,WAAA;AAAA;;;;;oDCZHW,KAA8B;AAAA;AAAA,EAEzC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GCKAC,KAAe/B,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMG,IAAOC,KAGP4B,IAAanB,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGiB;AAAA,IAAA,CACJ;AAEM,WAAA;AAAA,MACL,MAAA3B;AAAA,MACA,YAAA6B;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA1CSd,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNE,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IAAA,OAAAM,EAAAd,EAAA,UAAA;AAAA,IAED,UAAQA,EAAA;AAAA,EAAA,GAAA;AAAA;;;oDCNCe,KAAsC;AAAA;AAAA,EAEjD;AAAA,EACA;AACF,GC2DAC,KAAenC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,qBAAAoC;AAAA,IACA,sBAAAC;AAAA,IACA,QAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAMC,GAAa;AAAA,IAC9B;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMtC,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAEPoC,IAAgBpC,KAChBqC,IAAOrC,KAGP,EAAE,YAAAE,GAAY,OAAAoC,GAAO,SAAAC,GAAS,UAAAC,MAAarC,GAAON,CAAK,GAGvD4C,IAAmBpC,GAAmBH,GAAYJ,EAAQ,IAAI,GAE9DQ,IAAUG,EAAS,MAAM;;AAC7B,cAAOG,IAAAwB,EAAc,UAAd,gBAAAxB,EAAqB;AAAA,IAAA,CAC7B,GAGKgB,IAAanB,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGqB;AAAA,IAAA,CACJ,GAGKY,IAAQjC,EAAS,MAAMkC,GAAML,EAAM,KAAK,IAAI,CAAA,IAAKM,EAAQN,EAAM,KAAK,CAAC,GACrEO,IAAUpC,EAAS,MAAMiC,EAAM,MAAM,WAAW,CAAC,GAEjDI,IAAYrC,EAAS,MACrB6B,EAAM,UAAU,UAAaA,EAAM,UAAU,OACxC,KAGFI,EAAM,MACV,IAAI,CAACA,MAAUH,EAAQ,MAAM,KAAK,CAACQ,MAAWC,GAAQD,EAAO,OAAOL,CAAK,CAAC,CAAC,EAC3E,OAAmB,CAACA,MAA+B,CAAC,CAACA,CAAK,EAC1D,IAAI,CAACK,OAAY;AAAA,MAChB,OAAOA,EAAO;AAAA,MACd,OAAOA,EAAO;AAAA,MACd,UAAUA,EAAO,YAAY,EAAE,UAAUA,EAAO,SAAS;AAAA,IAClD,EAAA,CACZ;AAEK,IAAAE,EAAAH,GAAW,CAACI,GAAOC,MAAc;AACjC,MAAAD,EAAM,UAAUC,EAAU,UAAUX,EAAS,UAAUL,GAAa,UAAUE,EAAK,SACpFA,EAAK,MAAM;IACd,CACD;AAGD,aAASxB,IAAc;AACrB,MAAIuB,EAAc,SACfA,EAAc,MAAM;IAEzB;AAEO,WAAA;AAAA,MACL,MAAArC;AAAA,MACA,MAAAsC;AAAA,MACA,YAAAT;AAAA,MACA,eAAAQ;AAAA,MACA,kBAAAK;AAAA,MACA,SAAAI;AAAA,MACA,WAAAC;AAAA,MACA,OAAAJ;AAAA,MACA,OAAA7B;AAAA,MACA,SAAAP;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;4DA3MC8C,EA+CM,qBAAA;SA7CE9B,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,aAElBR,EAoCS,UAAA;AAAA,EAAA,GAAA;AAAA,MAjCCsC,EAASC,GAAA;AAAA,MACjB,KAAK;AAAA,MACJ,OAAUvC,EAAA;AAAA,MACV,OAAA;AAAA,MAA8B,UAAAA,EAAA;AAAA,MAA0D,aAAA;AAAA,QAAA,SAAAA,EAAA,YAAAA,EAAA,WAAA,QAAA;AAAA,QAIxF,UAAUA,EAAA;AAAA,MACV;AAAA,MAAA,UAAAA,EAAA;AAAA,MAEgB,SAAGC,EAAG,CAAI,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,SAAAS,CAAA;AAAA,IAMlB,GAAA+B,GAAA;AAAA,MAAA,KAAAC,EAAA,CAAA,EAAA,MAAAC,QAAA;AAAA;;;;MAID,GAAA;AAAA,IAAA,GAAA;AAAA;QAGN,MAAA;AAAA,QAAA,IACED,EAME,MAAA;AAAA,UAAAE,EALM,OAAeC,IAAA;AAAA,YACIN,EAAAO,GAAA;AAAA,cAAA,KAAA;AAAA,cACxB,YAAW7C,EAAE;AAAA,cACb,uBAAkBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,mBAAAS;AAAA,cAClB,aAAUT,EAAQ,UAAAA,EAAA,cAAA;AAAA,cAAA,UAAAA,EAAA;AAAA;;;;;;;MAMX,CAAA8C,GAAA,CAAA9C,EAAO,WAAKA,EAAY,YAAA;AAAA,IAAA,CAAA;AAAA,sCACE,GAAA+C,EAAAC,GAAA;AAAA,MAAA,KAAA;AAAA;;;;;;;;;oDC5CjCC,KAAqC;AAAA;AAAA,EAEhD;AACF,GCoDAC,KAAerE,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,qBAAAoC;AAAA,IACA,sBAAAC;AAAA,IACA,WAAAiC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMrE,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KACPoC,IAAgBpC,KAChBmE,IAAoBnE,KACpBoE,IAAapE,KAGb,EAAE,YAAAE,GAAY,OAAAoC,GAAO,SAAAC,EAAQ,IAAIpC,GAAON,CAAK,GAG7C4C,IAAmBpC,GAAmBH,GAAYJ,EAAQ,IAAI,GAE9DuE,IAAoB5D,EAAS,MAC1BoC,GAAQP,EAAM,KAAK,CAC3B,GAEKQ,IAAYrC,EAAS,MAClB8B,EAAQ,MAAM,KAAK,CAACQ,MAAWC,GAAQD,EAAO,OAAOT,EAAM,KAAK,CAAC,CACzE,GAEKgC,IAAiB7D,EAAS,MAAM;;AACpC,cAAOG,IAAAkC,EAAU,UAAV,gBAAAlC,EAAiB;AAAA,IAAA,CACzB;AAED,IAAAqC;AAAA,MACE,MAAMpD,EAAM;AAAA,MACZ,MAAM;;AACJ,SAAAe,IAAAwD,EAAW,UAAX,QAAAxD,EAAkB;AAAA,MACpB;AAAA,IAAA;AAGI,UAAAN,IAAUG,EAAS,MAAM;;AAC7B,cAAOG,IAAAwB,EAAc,UAAd,gBAAAxB,EAAqB;AAAA,IAAA,CAC7B,GAEK2D,IAAc,MAAM;AACxB,MAAIH,EAAW,SAAkBA,EAAA,MAAM,KAAK;AAAA,IAAA,GAGxCI,IAAe,MAAM;AACzB,MAAIJ,EAAW,SAAkBA,EAAA,MAAM,MAAM;AAAA,IAAA,GAIzCxC,IAAanB,EAAS,MAAO;AAAA,MACjC;AAAA,MACA,GAAGuD;AAAA,IAAA,CACH;AAGF,aAASnD,IAAQ;AACf,MAAIuB,EAAc,SACfA,EAAc,MAAM;IAEzB;AAEA,aAASqC,IAAe;AAClB,UAAA,CAACN,EAAkB,MAAO;AAE9B,MAD2BA,EAAkB,MAAM,cAAcA,EAAkB,MAAM,eACrDI;IACtC;AAEO,WAAA;AAAA,MACL,MAAAxE;AAAA,MACA,YAAA6B;AAAA,MACA,eAAAQ;AAAA,MACA,kBAAAK;AAAA,MACA,mBAAA4B;AAAA,MACA,WAAAvB;AAAA,MACA,gBAAAwB;AAAA,MACA,OAAAzD;AAAA,MACA,SAAAP;AAAA,MACA,mBAAA6D;AAAA,MACA,YAAAC;AAAA,MACA,aAAAG;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAhLYd,KAAY;AAAA,EAAA,KAAA;AAAA;;;yEApBvBP,EAqCM,WAAA;SAnCE9B,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAEF,OAAAM,EAAUd,EAAY,UAAA;AAAA,EAAA,GAAA;AAAA,oCAEb,GAAA+C,EAAAF,GAAA;AAAA,MAAA,KAAA;AAAA;MAEpB,YAAW7C,EAAE;AAAA,MAAA,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,mBAAAS;AAAA,mBAIlBT,EAwBW,oBAAAA,EAAA,cAAAA,EAAA;AAAA,IAAA,GAvBO,wBAAiB,aAGT,CAAA,MAAAO,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA;AAAA,MAAA3D,EAAA,qBAAAO,KAFkBwC,EAAAC,GAAA;AAAA,QAAA,KAAA;AAAA;;;;;;MAOtC,GAAA,GAAA,CAAA,UAAA,CAAA,MAAAzC,EAAA,GACyBC,EAAA,OAAAoC,IAAA;AAAA,QAAAD,EACjB,OAAiB;AAAA,UACtB,KAAA;AAAA,UACA,OAAA;AAAA,UAAA,cAAA1C,EAEE,CAAc,MAAAA,EAAA,CAAA,IAAA,IAAA2D,MAAA5D,EAAA,gBAAAA,EAAA,aAAA,GAAA4D,CAAA;AAAA,UAEnB,cAIE3D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,IAAA2D,MAAA5D,EAAA,gBAAAA,EAAA,aAAA,GAAA4D,CAAA;AAAA,QAAA,GAHAC,EAAgB7D,EAAA,cAAA,GAAA,GAAA;AAAA,QAAAsC,EACNwB,GAAc;AAAA,UACvB,KAAA;AAAA,UAAA,SAAA9D,EAAA;AAAA;;;;;;oDCjCA+D,KAAmB;AAAA;AAAA,EAE9B;AAAA;AAAA,EAGA;AACF,GAEaC,KAA0B;AAAA;AAAA,EAErC;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAgC;AAAA;AAAA,EAE3C;AAAA,EACA;AACF,GAEaC,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AACF,GAEaC,KAA+B;AAAA;AAAA,EAE1C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AACF,GAEaC,KAAoC;AAAA;AAAA,EAE/C;AACF,GAEaC,KAA0C;AAAA;AAAA,EAErD;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAyB;AAAA;AAAA,EAEpC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GC6LAC,KAAe9F,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAA+F;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,UAAAC;AAAA,EACF;AAAA,EAEA,YAAY;AAAA,IACV,eAAAC;AAAA,IACA,cAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAMvE,GAAa;AAAA,IAC9B;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,OAAO;AAAA,MACtB,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAASwE;AAAA,IACX;AAAA,IAEA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAM9G,GAAOC,GAAS;AACpB,UAAM8G,IAAkBC,MAGlB9G,IAAOC,KAEP8G,IAAW9G,KACX+G,IAAetG,EAAS,MAAA;;AAAM,cAAAG,IAAAkG,EAAS,UAAT,gBAAAlG,EAAgB;AAAA,KAAI,GAElDoG,IAAUhH,KACViH,IAAkBjH,KAClBkH,IAAgBlH,KAChBoC,IAAgBpC,KAEhBmH,IAAUnH,KAEVoH,IAAc3G,EAAS,MAAA;;AAAM,cAAAG,IAAAuG,EAAQ,UAAR,gBAAAvG,EAAe;AAAA,KAAI,GAChDyG,IAAe5G,EAAS,MAAA;;AAAM,cAAAG,IAAAuG,EAAQ,UAAR,gBAAAvG,EAAe;AAAA,KAAK,GAElD0G,IAAS7G,EAAS,MAAM4G,EAAa,UAAU,MAAM,GAGrD,EAAE,aAAAE,GAAa,cAAAC,GAAc,YAAAtH,GAAY,UAAAuH,MAAatH,GAAON,CAAK,GAGlE6H,IAAY1H,EAAIF,EAAQ,MAAM,MAAgB8G,EAAgB,IAAI,UAAU,GAE5ExG,IAAkBC,GAAmBH,GAAYJ,EAAQ,IAAI,GAE7D6H,KAAwBlH,EAAS,MAAM;;AACpC,cAAAmH,KAAAhH,IAAAuG,EAAQ,UAAR,gBAAAvG,EAAe,gBAAf,gBAAAgH,EAA4B;AAAA,IAAA,CACpC,GAEKvD,IAAoB5D,EAAS,MAC1BoC,GAAQzC,EAAgB,KAAK,CACrC,GAEKyH,IAAYpH,EAAS,MAClB8G,EAAY,SAAS,CAAClD,EAAkB,KAChD,GAGK/D,IAAUG,EAAS,MAAM;;AAC7B,aAAIgH,EAAS,SACJ7G,IAAAqG,EAAgB,UAAhB,gBAAArG,EAAuB,WAEvBgH,IAAAV,EAAc,UAAd,gBAAAU,EAAqB;AAAA,IAC9B,CACD,GAEKE,IAAWrH,EAAS,MAAMX,EAAQ,MAAM,QAAmB,GAE3DiI,IAAwB/H,EAAkBH,EAAM,OAAO,GAEvDmI,IAAwBvH,EAAS,MAC9BZ,EAAM,kBAAkBA,EAAM,gBAAgBkI,EAAsB,KAC5E,GAEKE,KAAajI,EAAY,EAAE;AAE3B,IAAAiD,EAAA;AAAA,MACJ,MAAMpD,EAAM;AAAA,MACZoI;AAAA,MACA,MAAMpI,EAAM;AAAA,OACX,OAAO,CAACqI,GAAiBD,GAAY1F,CAAO,MAAM;AACnD,MAAI2F,IACMpI,EAAA,KAAK,UAAUmI,CAAU,IAEjCF,EAAsB,QAAQ,MAAMlI,EAAM,eAAeoI,GAAY1F,CAAO;AAAA,IAC9E,GACC,EAAE,MAAM,GAAA,CAAM,GAGXU,EAAAqE,GAAQ,CAAC5E,MAAU;AACvB,MAAKA,KACSyF;IACd,CACD;AAEK,UAAAC,KAAiB3H,EAAS,MAAM;AACpC,YAAM4H,IAAUxI,EAAM;AAEtB,aAAIwI,IACKN,EAAsB,MAAM,OAAO,CAACO,GAAavF,MAAW;AAC3D,cAAAwF,KAAQF,EAAQtF,CAAM;AAErB,eAAA;AAAA,UACL,GAAGuF;AAAA,UACH,CAACC,EAAK,GAAG;AAAA,YACP,GAAGD,EAAYC,EAAK,KAAK,CAAC;AAAA,YAC1BxF;AAAA,UACF;AAAA,QAAA;AAAA,MAEJ,GAAG,CAAkC,CAAA,IAGhC;AAAA,QACL,IAAIlD,EAAM;AAAA,MAAA;AAAA,IACZ,CACD,GAGK+B,KAAanB,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG+H;AAAAA,MACH,GAAG3I,EAAM,YAAY4I,GAAgB,WAAW,CAAC,MAAM,IAAI,CAAC;AAAA,IAAA,CAC7D,GAEKjI,KAAgBC,EAAS,MAAM;AAAA,MACnC,GAAGiI;AAAAA,IAAO,CACX,GAEKC,KAAsBlI,EAAS,MAAM;AAAA,MACzC,GAAGmI;AAAAA,IAAO,CACX,GAEKC,KAAiBpI,EAAS,MAAM;;AAAA;AAAA,QACpC;AAAA,QACA,GAAIqI,EAAS,QAAQ,KAAK;AAAA,UACxB,GAAGC;AAAAA,UACH,IAAGnI,IAAAuG,EAAQ,UAAR,QAAAvG,EAAe,YAAYoI,KAA+BC;AAAAA,QAC/D;AAAA,MAAA;AAAA,KACD,GAEKC,KAA0BzI,EAAS,MAAM;AAAA,MAC7CqI,EAAS,QAAQ,kBAAkB;AAAA,MACnCnB,GAAsB,QAAQ,oBAAoB;AAAA,IAAA,CACnD,GAEKwB,KAAqB1I,EAAS,MAAM;AAAA,MACxC,GAAG2I;AAAAA,MACH,GAAIvJ,EAAM,WAAWwJ,KAA2CC;AAAAA,MAChE,GAAIR,EAAS,QAAQS,KAAiD,CAAC;AAAA,IAAA,CACxE,GAEKC,KAAwB/I,EAAS,MAAM;AAAA,MAC3C,GAAGgJ;AAAAA,IAAO,CACX,GAEKC,KAAejJ,EAAS,MAAM;AAAA,MAClC,GAAGkJ;AAAAA,IAAO,CACX;AAGD,aAASC,KAAe;AACtB,MAAI,CAAC9B,EAAS,SAAS,CAACjI,EAAM,YACJsH,EAAQ,UAG1BE,EAAa,UAAU,UAAU,CAAC/G,EAAQ,QACtCuJ,QAEDC,MAEL,WAAW,MAAM;AACT,QAAAjJ;MAAA,CACP;AAAA,IAIT;AAEA,aAASiJ,KAAa;AACpB,MAAAC,GAAS,MAAM;AACb,cAAMC,IAAkB7C,EAAQ;AAIhC,YAHI6C,KACDA,EAAgB,KAAoB,GAEnC5J,EAAgB,OAAO;AACnB,gBAAAsC,IAAQ,MAAM,QAAQtC,EAAgB,KAAK,IAAIA,EAAgB,MAAM,CAAC,IAAIA,EAAgB,OAC1F6J,IAAwB,SAAS,cAAc,gBAAgBvH,CAAK,IAAI;AAC9E,UAAIuH,KACF,WAAW,MAAM;AACf,YAAAA,EAAsB,eAAe;AAAA,cACnC,UAAU;AAAA,cACV,OAAO;AAAA,YAAA,CACR;AAAA,UAAA,CACF;AAAA,QAEL;AAAA,MAAA,CACD;AAAA,IACH;AAEA,aAASJ,KAAc;AACrB,YAAMG,IAAkB7C,EAAQ;AAEhC,MAAI6C,KACDA,EAAgB,MAAqB;AAAA,IAE1C;AAEA,aAASnJ,KAAc;AACrB,UAAI2G,EAAa,OAAO;AAChB,cAAA0C,IAAkBpB,EAAS,QAC7B1G,EAAc,QACdqF,EAAS,QACPR,EAAgB,QAChBC,EAAc;AAEpB,QAAIgD,KACDA,EAAgB,MAAqB;AAAA,MAE1C;AAAA,IACF;AAEA,aAASC,GAAazH,GAAkC;AACtD,MAAI7C,EAAM,WACRO,EAAgB,QAAQgK,GAAQ1H,GAAOE,EAAQxC,EAAgB,KAAK,CAAC,IAErEA,EAAgB,QAAQsC,GAGdyF;IACd;AAEA,aAASkC,GAAe3H,GAAkC;AACxD,MAAI7C,EAAM,WACRO,EAAgB,QAAQkK,GAAQ5H,GAAOE,EAAQxC,EAAgB,KAAK,CAAC,IAErEA,EAAgB,QAAQ;AAAA,IAE5B;AAEA,aAASmK,GAAa7H,GAAkC;AACtD,UAAI7C,EAAM,UAAU;AACZ,cAAAyC,IAAQM,EAAQxC,EAAgB,KAAK;AAE3C,QAAKkC,EAAM,SAASI,CAAK,IAGPtC,EAAA,QAAQkK,GAAQ5H,GAAOJ,CAAK,IAF5BlC,EAAA,QAAQgK,GAAQ1H,GAAOJ,CAAK;AAAA,MAG9C;AAEA,QAAAlC,EAAgB,QAAQA,EAAgB,UAAUsC,IAAQA,IAAQ;AAGxD,MAAAyF;IACd;AAEA,aAASA,IAAoB;AAC3B,MAAA4B,GAAS,MAAM;AACF,mBAAA,MAAM9B,GAAW,QAAQ,EAAE;AAAA,MAAA,CACvC;AAAA,IACH;AAGA,UAAM,EAAE,WAAAuC,IAAW,UAAA1B,EAAS,IAAI2B,GAAc;AAEvC,WAAA;AAAA,MACL,MAAA1K;AAAA,MACA,UAAA+G;AAAA,MACA,cAAAC;AAAA,MACA,SAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,eAAA9E;AAAA,MACA,SAAA+E;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,YAAAzF;AAAA,MACA,eAAApB;AAAA,MACA,qBAAAmI;AAAA,MACA,gBAAAE;AAAA,MACA,yBAAAK;AAAA,MACA,oBAAAC;AAAA,MACA,uBAAAK;AAAA,MACA,cAAAE;AAAA,MACA,WAAAhC;AAAA,MACA,iBAAAtH;AAAA,MACA,UAAA0H;AAAA,MACA,mBAAAzD;AAAA,MACA,QAAAiD;AAAA,MACA,WAAAO;AAAA,MACA,YAAAI;AAAA,MACA,uBAAAF;AAAA,MACA,uBAAAC;AAAA,MACA,gBAAAI;AAAA,MAEA,QAAAwB;AAAA,MACA,OAAAC;AAAA,MACA,MAAAC;AAAA,MAEA,cAAAK;AAAA,MACA,gBAAAE;AAAA,MACA,cAAAE;AAAA,MACA,aAAApC;AAAA,MAEA,WAAAqC;AAAA,MACA,UAAA1B;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GA/pBWnF,KAAK,CAAA,MAAA,UAAA;;GAwCG+G,KAAK;AAAA,EAAA,KAAA;AAAA;;;wVA7HvBC,GAmRM,gBAAA;SAjRErJ,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAEF,OAAAM,EAAgBd,EAAO,UAAA;AAAA,EAAA,GAAA;AAAA,IAElCA,EAAA,OAAA,SAAAA,EAAA,OAAA,SAAAA,EAAA,SAAAO,KAAUwC,EAAE8G,GAAS;AAAA,MACrB,KAAA;AAAA,MACA,cAAU7J,EAAA;AAAA,MACV,SAAQ;AAAA,MAAA,UAAAA,EAAA;AAAA,MAMQ,UAAKA,EAAA;AAAA,IAAA,GAAA;AAAA;QAFf8J,EAAA9J,EAAA,QAAA,OAAA;AAAA,MAAA,CAAA;AAAA;;;;;;IAQX,GAAA,GAAA,CAAA,cAAA,YAAA,UA2Oa,MA1OV+J,EAAe,IAAA,EAAA;AAAA,IAAAzJ,GAGXC,KACgBwC,EAAAiH,GAAA;AAAA,MACpB,KAAA;AAAA,MACA,OAAMlJ,EAAI,CAAA,uBAAA,CAAAd,EAAA,iBAAA,WAAAA,EAAA,WAAAA,EAAA,QAAA,YAAA,gBAAA,gBAAA,EAAA,gBAAAA,EAAA,YAAA,WAAA,CAAA,CAAA,CAAA;AAAA,MACV,SAAOA,EAAI;AAAA,MACX,MAAUA,EAAA;AAAA,MACV,SAAQ,CAAE,CAAAA,EAAA;AAAA,MACV,UAAaA,EAAA;AAAA,MACb,UAAQA,EAAG;AAAA,MAAA,eAAAA,EAAA,SAAA,iBAAA;AAAA,MAkDN,UAAAA,EAAA,WAAA,OAAA;AAAA,IAAA,GAAA;AAAA,eA/CCyC,EAAS,MAAA;AAAA,QACCE,EAAA,OAAA;AAAA,UACd,IAAK3C,EAAA;AAAA,UACL,KAAA;AAAA,UACA,OAAKc,EAAAd,EAAA,aAAA;AAAA,UACL,UAAIA,EAAA;AAAA,UAAA,SAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,SAAAS,CAAA;AAAA,UAEL,QAuCOR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MArCJT,EAAK,MAAE,QAAAS,CAAA;AAAA,QAAA,GAAA;AAAA,sBAGN,iBAmB0B,EAAA,OAAAT,EAAA,gBAAA,GAAA,MAAA;AAAA,YAAAA,EAAA,YAAAO,KAlBDwC,EAAAkH,GAAA;AAAA,cAAA,KAAA;AAAA;cAEtB,YAAOjK,EAAA;AAAA,cACP,uBAAgBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,aAAAS;AAAA,cAChB,OAAUT,EAAA;AAAA,cACV,SAAaA,EAAA;AAAA,cACb,UAAUA,EAAA;AAAA,cACV,aAAUA,EAAA;AAAA,cACV,UAAaA,EAAA;AAAA,cACb,UAAOA,EAAE;AAAA,cACT,iBAAKA,EAAA;AAAA,cAAA,WAAAA,EAAA,iBAAA;AAAA,cAEW,SAAGC,EAAG,CAAI,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,eAAAS,CAAA;AAAA,YAAA,GAAA;AAAA;;;;2IAWN,GAAAsC,EAAAmH,GAAA;AAAA,cAAA,KAAA;AAAA;cAEpB,YAAOlK,EAAA;AAAA,cACP,uBAAgBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,aAAAS;AAAA,cAChB,OAAWT,EAAA;AAAA,cACX,SAAQA,EAAE;AAAA,cACV,aAAeA,EAAA;AAAA,cACf,UAAOA,EAAE;AAAA,cAAA,iBAAAA,EAAA;AAAA;;UAMlB,CAAA;AAAA,QAAA,GACkB,IAAS4C,EAAA;AAAA,QAAAD,EAAA,OACvBwH,IAME;AAAA,UAAAnK,EAAA,aAAAO,KALcwC,EAAAqH,GAAA;AAAA,YACb,KAAK;AAAA,YACL,MAAA;AAAA,YACA,OAAA;AAAA,YACA,qBAAK,CAAO,iBAAA,yBAAA;AAAA,YAAA,UAAApK,EAAA,YAAAA,EAAA;AAAA;UAIjB,GAAA,MAAA,GAAA,CAAA,UAAA,CAAA,KAEG+J,EAAM,IAAY,EAAA;AAAA,UAAAzJ,EACbgC,EAAG+H,GAAY;AAAA,YACpB,QAAS,iBAAU,SAAArK,EAAA,eAAA,WAAA,kBAAA;AAAA,YAAA,OAAAc,EAAAd,EAAA,iBAAA,UAAAA,EAAA,eAAA,0CAAA,EAAA;AAAA;;;UAIxB,CAAA;AAAA,QAAA,CAAA;AAAA,UAEYsK,GAAM;AAAA,UACf,KAAA;AAAA,UACA,SAAS;AAAA,UACT,SAAStK,EAAA,UAAAA,EAAA;AAAA,UACT,WAAA;AAAA,UACA,QAAA;AAAA,UAAA,cAAA;AAAA,UA+IK,0BAAA;AAAA,QAAA,GAAA;AAAA,UA7IK,SAAAyC,EAAA,MAAA;AAAA,YAAAE,EAAA,OAAA;AAAA,cACO,OAAA7B,EAAYd,EAAe,cAAA;AAAA,YAAA,GAAA;AAAA,gFAElB+C,EAAAwH,GAAA;AAAA,gBAAA,KAAA;AAAA;gBAEpB,YAAKvK,EAAA;AAAA,gBACL,uBAAcC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,aAAAS;AAAA,gBACd,SAAaT,EAAW,mBAAA;AAAA,gBAAA,MAAA;AAAA;iBAqIvB,MAAA,GAAA,CAAA,cAAA,SAAA,aAAA,CAAA,KAlIA+J,EAAK,IAAE,EAAA;AAAA,cAAApH,EAAA,OAAA;AAAA,uBACK7B,EAAOd,EAAA,uBAAA;AAAA,cAAA,GAAA;AAAA,gBAEnBA,EAAA,WAAAO,EAAA,GAKIC,EAAA,OAAAmJ,IAAA;AAAA,kBAAAG,EAHM9J,qBAAE,CAAY,GAAA,MAAA;AAAA,oBAAAsC,EACZkI,GAAM;AAAA,sBACb,OAAM1J,EAAWd,EAAA,YAAA;AAAA,sBAAA,SAAA;AAAA;;kBAML,CAAA;AAAA,gBACH,CAAA,KAAAA,EAAA,sBAAe,qBAC7B2D,GAgDmB,EAAA,KAAA,EAAA,GAAA;AAAA,kBAAA3D,EAAA,mBAAAO,EA9CX,EAAS,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAzK,EAAA,gBAAA,CAAAwH,GAAAkD,OACTnK,EAAW,GAAAwC,EAAA4H,GAAA;AAAA,oBAAA,KAAAD;AAAA;;;sBAKN1K,EAAA,YAAAO,EAAA,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAjD,GAAA,CAAAxF,GAAA4I,OACNrK,EAAA,GAA0BwC,EAAA8H,GAAA;AAAA,wBAC1B,KAAAD;AAAA,wBACA,gBAAgB5I,EAAC;AAAA,wBAAA,UAAAhC,EAAA,mBAAAA,EAAA,gBAAA,SAAAgC,EAAA,KAAA;AAAA;;iCAIVS,EAAE,MAAA;AAAA,0BAAAqH,EACC9J,EAAM,QAAA,kBAAA;AAAA,4BASV,OAAAA,EAAA;AAAA,4BAPL,QAAAgC;AAAA,0BAAA,GAAA,MAAA;AAAA;8BAEG,YAAOhC,EAAO;AAAA,8BACd,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,kBAAAS;AAAA,8BACnB,OAAAuB,EAAA;AAAA,8BACA,OAAUA,EAAA;AAAA,8BAAA,iBAAA;AAAA;;;;;gDAOjB,YAgBa,UAAA,CAAA,EAdJ,GAAA,GAAA,MAAAzB,EAAA,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAjD,GAAA,CAAAxF,GAAA4I,OACDrK,EAAA,GAAAwC,EAAE8H,GAAkB;AAAA,wBACzB,KAAAD;AAAA,wBACA,SAAU5K,EAA2B,kBAAA;AAAA,wBACrC,gBAAgBgC,EAAC;AAAA,wBACjB,UAAKhC,EAAO,oBAAAgC,EAAA;AAAA,wBAAA,UAAAA,EAAA;AAAA,wBAQN,SAAA8I,EAAA,CAAArK,MAAAT,EAAA,aAAAgC,EAAA,KAAA,GAAA,CAAA,MAAA,CAAA;AAAA,sBAAA,GAAA;AAAA,iCAJCS,EAAE,MAAA;AAAA,0BAAAqH,EACC9J,EAAM,QAAA,kBAAA;AAAA,4BAGV,OAAAA,EAAA;AAAA,4BAAA,QAAAgC;AAAA;;;;;;;;kBAMf,GAAA,MAAA,CAAA,OAAA,CAAA,EAAA,GACkB,gBACd2B,GA0Ba,EAAA,KAAA,KAAA;AAAA,oBAxBJ3D,EAAA,YAAAO,EAAA,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAzK,EAAA,uBAAA,CAAAgC,GAAA4I,OACNrK,EAAA,GAA0BwC,EAAA8H,GAAA;AAAA,sBAC1B,KAAKD;AAAA,sBACL,gBAAU5I,EAAA;AAAA,sBACV,SAAiBhC,EAAQ,kBAAA;AAAA,sBACzB,YAAY,mBAAYA,EAAA,gBAAA,SAAAgC,EAAA,KAAA;AAAA,sBACxB,UAAKA,EAAA;AAAA,sBAAA,cAAAA,EAAA;AAAA,sBAiBO,SAAA8I,EAAA,CAAArK,MAAA,CAAAuB,EAAA,YAAAhC,EAAA,aAAAgC,EAAA,KAAA,GAAA,CAAA,MAAA,CAAA;AAAA,oBAAA,GAAA;AAAA,sBAdV,SAAAS,EAAW,MAAE;AAAA,wBAAAH,EACNyI,GAAY;AAAA,0BACnB,eAAa/K,EAAE;AAAA,0BACf,OAAUgC,EAAA;AAAA,0BAAA,iBAAA;AAAA;;mCAELS,EAAK,MAAA;AAAA,4BAAAE,EAAA,OAAA;AAAA,8BACT,SAMOmI,EAAA,CAAArK,MAAA,CAAAuB,EAAA,YAAAhC,EAAA,aAAAgC,EAAA,KAAA,GAAA,CAAA,QAAA,SAAA,CAAA;AAAA,4BAAA,GAAA;AAAA,gCAHIhC,EAAM,QAAA,kBAAA;AAAA,gCAGV,OAAAA,EAAA;AAAA,gCAAA,QAAAgC;AAAA;;;;;;;;;oBAOb,GAAA,MAAA,CAAA,gBAAA,SAAA,YAiBa,YAhBW,cAAA,SAAA,CAAA,EACf,GAAA,GAAA,MAAAzB,EAAA,EAAA,GAAAC,EAAAmD,GAAA,EAAA,KAAA,EAAA,GAAA8G,EAAAzK,EAAA,uBAAA,CAAAgC,GAAA4I,OACDrK,EAAA,GAAAwC,EAAE8H,GAAkB;AAAA,sBACzB,KAAAD;AAAA,sBACA,SAAqB5K,EAAK,kBAAA;AAAA,sBAC1B,YAAY,oBAAYgC,EAAA;AAAA,sBACxB,gBAAgBA,EAAC;AAAA,sBACjB,cAAKA,EAAA;AAAA,sBAAA,UAAAA,EAAA;AAAA,sBAQC,SAAA8I,EAAA,CAAArK,MAAA;AAAA,wBAAAT,EAAA,aAAAgC,EAAA,KAAA,GAAAhC,EAAA,MAAA;AAAA,sBAAA,GAAA,CAAA,MAAA,CAAA;AAAA,oBAAA,GAAA;AAAA,+BAJCyC,EAAE,MAAA;AAAA,wBAAAqH,EACC9J,EAAM,QAAA,kBAAA;AAAA,0BAGV,OAAAA,EAAA;AAAA,0BAAA,QAAAgC;AAAA;;;;;;;gCAOAxB,EAAA,OAAA;AAAA,kBAAA,KAAA;AAAA,kBACX,OAKOM,EAAAd,EAAA,qBAAA;AAAA,gBAAA,GAAA;AAAA;;;;;;;;;;;uCAlOC,WAAK,YAAA,YAAA,eAAA,UAAA,CAAA,IAAA;AAAA,MAAA,CAAAgL,IAAAhL,EAAA,MAAA;AAAA,MA0OT,CAAmBiL,GAAAjL,EAAA,KAAA;AAAA,IAAA,CAAA;AAAA,iCAGpBO,EAAQ,GAAAwC,EAAAmI,GAAA;AAAA,MAAA,KAAA;AAAA;;;;;;;;;;IAYV,CAAA,IAAAnB,EAAA,IAAA,EAAA;AAAA,IAAHzJ,EAAAgC,EAAA6I,GAAA,EAAA,UAAAnL,EAAA,YAAA;AAAA,MAAA,SAAAyC,EAAA,MAAA;AAAA;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-BoAoZvZV.mjs","sources":["../../../components/or-toast-v3/src/props.ts","../../../components/or-toast-v3/src/styles.ts","../../../components/or-toast-v3/src/OrToast.vue","../../../components/or-toast-v3/src/composable/useQueue.ts","../../../components/or-toast-v3/src/composable/useToastEventBus.ts","../../../components/or-toast-v3/src/or-toast-container-v3/OrToastContainer.vue","../../../components/or-toast-v3/src/Timer.ts","../../../components/or-toast-v3/src/composable/useToast.ts"],"sourcesContent":["export enum PositionsX {\n Right = 'right',\n Left = 'left',\n Center = 'center',\n}\n\nexport enum PositionsY {\n Top = 'top',\n Bottom = 'bottom',\n}\n\nexport enum TransitionType {\n Slide = 'slide',\n Fade = 'fade',\n}\n\nexport enum ToastType {\n Success = 'success',\n Error = 'error',\n Loading = 'loading',\n}\n","import { PositionsX, PositionsY, ToastType } from './props';\n\nexport const Toast: string[] = [\n // Layout\n 'layout-row',\n\n // Box\n 'w-[343px] md:w-[512px]',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-md',\n\n // Typography\n 'typography-caption-regular',\n\n // Elevation\n 'shadow-card',\n 'dark:shadow-card-dark',\n\n // Theme\n 'theme-background-surface-inverse',\n 'dark:theme-background-surface-inverse-dark',\n\n 'theme-foreground-on-surface-inverse',\n 'dark:theme-foreground-on-surface-inverse-dark',\n\n // Theme (children)\n '[&_:any-link]:text-inverse-primary',\n 'dark:[&_:any-link]:text-inverse-primary-dark',\n];\n\nexport const ToastContainer: string[] = [\n // Position\n 'absolute',\n\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-sm',\n\n // Overflow\n 'overflow-hidden',\n];\n\nexport const ToastContainerPositions: Record<`${PositionsX}-${PositionsY}`, string[]> = {\n 'left-top': [\n // Position\n 'left-md md:left-lg',\n 'top-md md:top-lg',\n ],\n\n 'center-top': [\n // Position\n 'top-md md:top-lg',\n ],\n\n 'right-top': [\n // Position\n 'right-md md:right-lg',\n 'top-md md:top-lg',\n ],\n\n 'left-bottom': [\n // Position\n 'left-md md:left-lg',\n 'bottom-md md:bottom-lg',\n ],\n\n 'center-bottom': [\n // Position\n 'bottom-md md:bottom-lg',\n ],\n\n 'right-bottom': [\n // Position\n 'right-md md:right-lg',\n 'bottom-md md:bottom-lg',\n ],\n};\n\nexport const messageStyleVariant: Record<ToastType, string[]> = {\n 'success': [\n // Typography\n 'typography-caption-regular',\n ],\n\n 'error': [\n // Typography\n 'typography-caption-regular',\n ],\n\n 'loading': [\n // Typography\n 'typography-caption-regular',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot name=\"content\">\n <!-- before message -->\n <div\n v-if=\"toastType === 'loading'\"\n :class=\"loaderStyle\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'inherit'\"\n :size=\"'s'\"\n />\n </div>\n\n <img\n v-else-if=\"emojiSrc\"\n :class=\"toastIconStyle\"\n :src=\"emojiSrc\"\n alt=\"Emoji\"\n >\n\n <!-- message -->\n <div\n v-if=\"messageText\"\n :class=\"messageStyle\"\n v-html=\"messageText\"\n />\n </slot>\n\n <div :class=\"['layout-row', 'self-start', 'gap-md']\">\n <template v-if=\"link\">\n <a\n class=\"or-toast__link\"\n :href=\"link.href\"\n :target=\"hrefTarget\"\n @click=\"onLinkClick\"\n >\n {{ link.title }}\n </a>\n </template>\n\n <template v-if=\"dismissible\">\n <OrIconButton\n :icon=\"'close'\"\n :size=\"'m'\"\n @click.stop=\"onClose()\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { error as errorPng, success as successPng } from '@onereach/ui-components-common/assets';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { computed, defineComponent, PropType, ref } from 'vue';\n\nimport { ToastType } from './props';\nimport { messageStyleVariant, Toast } from './styles';\nimport { ToastLink } from './types';\n\nexport default defineComponent({\n name: 'OrToast',\n\n components: {\n OrIconButton,\n OrLoader,\n },\n\n props: {\n toastType: {\n type: String as PropType<`${ToastType}`>,\n default: () => ToastType.Success,\n },\n\n link: {\n type: Object as PropType<ToastLink>,\n default: undefined,\n },\n\n messageText: {\n type: String,\n default: undefined,\n },\n\n dismissible: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'close',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n ...Toast,\n ]);\n\n const toastIconStyle = computed(() => [\n 'self-center',\n 'object-cover',\n // Box\n 'w-[20px]',\n 'h-[20px]',\n ]);\n\n const messageStyle = computed(() => [\n ...messageStyleVariant[props.toastType],\n 'grow',\n ]);\n\n const loaderStyle = computed(() => [\n //Layout\n 'self-center',\n // Theme\n 'text-inverse-primary',\n 'dark:text-inverse-primary-dark',\n ]);\n\n // State\n const emojiSrc = computed(() => {\n switch (props.toastType) {\n case ToastType.Success:\n return successPng;\n case ToastType.Error:\n return errorPng;\n default:\n return null;\n }\n });\n\n const hrefTarget = computed(() => {\n return props.link?.target ?? '_self';\n });\n\n // Methods\n function onClose(): void {\n context.emit('close');\n }\n\n function onLinkClick(event: MouseEvent): void {\n if (props.link?.callback) {\n event.preventDefault();\n props.link.callback?.();\n }\n }\n\n return {\n root,\n toastIconStyle,\n rootStyles,\n loaderStyle,\n messageStyle,\n emojiSrc,\n hrefTarget,\n onClose,\n onLinkClick,\n };\n },\n});\n</script>\n\n<style lang=\"scss\" scoped>\n.or-toast__link {\n word-break: break-word;\n white-space: nowrap;\n cursor: pointer;\n}\n</style>\n","import { Ref, ref } from 'vue';\n\nexport default function useQueue<T>(initialValue?: Array<T>) {\n //generic needed! see https://github.com/vuejs/core/issues/2136\n const queue = ref<Array<T>>(initialValue || []) as Ref<Ref<T>[]>;\n\n const addItem = (item: T): void => {\n const refItem = ref<T>(item) as Ref<T>;\n queue.value.push(refItem);\n };\n\n const removeItem = (condition: (i: T, index: number, queue: Ref<T>[]) => boolean): void => {\n const index = queue.value.findIndex((i, idx, q) => {\n return condition?.(i.value, idx, q);\n });\n if (index !== -1) queue.value.splice(index, 1);\n };\n\n const getItem = (condition: (i: T, index: number, queue: Ref<T>[]) => boolean): Ref<T> => {\n return queue.value.filter((i, idx, q) => {\n return condition?.(i.value, idx, q);\n })[0];\n };\n\n const clearAll = (): void => {\n queue.value = [];\n };\n\n return {\n queue,\n addItem,\n removeItem,\n clearAll,\n getItem,\n };\n\n}\n","import { EventBusListener, useEventBus, UseEventBusReturn, createSharedComposable } from '@vueuse/core';\n\nimport { ToastConfiguration } from '../types';\n\nexport type ToastEventsBusEvents = 'toastNotify'|'toastClose'|'toastCloseAll' | 'toastUpdate';\n\nconst useToastEventBus = () => {\n const busPull: Record<ToastEventsBusEvents, UseEventBusReturn<ToastConfiguration, any>> = {\n toastNotify: useEventBus('toastNotify'),\n toastClose: useEventBus('toastClose'),\n toastCloseAll: useEventBus('toastCloseAll'),\n toastUpdate: useEventBus('toastUpdate'),\n };\n return {\n on: (namedQueue: ToastEventsBusEvents, listener: EventBusListener<ToastConfiguration>) => {\n busPull[namedQueue].on(listener);\n },\n off: (namedQueue: ToastEventsBusEvents, listener: EventBusListener<ToastConfiguration>) => {\n busPull[namedQueue].off(listener);\n },\n emit: (namedQueue: ToastEventsBusEvents, data?: ToastConfiguration) => {\n busPull[namedQueue].emit(data);\n },\n };\n};\nexport default createSharedComposable(useToastEventBus);\n\n","<template>\n <OrTeleport :disabled=\"isActive\">\n <div\n :ref=\"'root'\"\n :class=\"classes\"\n >\n <TransitionGroup\n :name=\"transitionName\"\n tag=\"div\"\n class=\"contents\"\n @after-leave=\"onToastHidden\"\n >\n <OrToast\n v-for=\"toastConfiguration in queue\"\n v-bind=\"toastConfiguration.toastProps\"\n :key=\"toastConfiguration.hash\"\n @click=\"onClick(toastConfiguration.toastBehaviour)\"\n @mouseenter=\"onToastEnter(toastConfiguration)\"\n @mouseleave=\"onToastLeave(toastConfiguration)\"\n @close=\"toastRemove(toastConfiguration)\"\n />\n </TransitionGroup>\n </div>\n </OrTeleport>\n</template>\n\n<script lang=\"ts\">\nimport { useElevation } from '@onereach/ui-components-common/hooks';\nimport { OrTeleportV3 as OrTeleport } from '@onereach/ui-components.or-teleport-v3';\nimport { useToggle } from '@vueuse/core';\nimport { computed, defineComponent, nextTick, onBeforeMount, onBeforeUnmount, PropType, ref } from 'vue';\n\nimport useQueue from '../composable/useQueue';\nimport useToastEventBus from '../composable/useToastEventBus';\nimport OrToast from '../OrToast.vue';\nimport { PositionsX, PositionsY, TransitionType } from '../props';\nimport { ToastContainer, ToastContainerPositions } from '../styles';\nimport { Position, ToastBehaviour, ToastConfiguration } from '../types';\n\nexport default defineComponent({\n name: 'OrToastContainer',\n\n components: {\n OrTeleport,\n OrToast,\n },\n\n props: {\n includeHeaderHeight: {\n type: Boolean,\n default: true,\n },\n\n position: {\n type: Object as PropType<Position>,\n default: {\n positionX: PositionsX.Right,\n positionY: PositionsY.Bottom,\n } as Position,\n },\n\n transition: {\n type: String as PropType<`${TransitionType}`>,\n default: () => TransitionType.Slide,\n },\n },\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n const { on, off } = useToastEventBus();\n const { queue: queueRef, addItem, removeItem, clearAll, getItem } = useQueue<ToastConfiguration>();\n const [isActive, toggle] = useToggle(false);\n const classes = computed(() => [\n 'or-toast-container-v3',\n ...ToastContainer,\n ...ToastContainerPositions[`${props.position.positionX}-${props.position.positionY}`],\n {\n 'position--top--with-header': props.position?.positionY === PositionsY.Top && props.includeHeaderHeight,\n },\n ]);\n const transitionName = computed<string>(() => `or-toast--position-${props.position?.positionX} or-toast--transition-${props.transition}`);\n\n // State\n const queue = computed<ToastConfiguration[]>(() => {\n return queueRef.value.map(({ value }) => value);\n });\n\n // Methods\n function createToast(toastConfiguration: ToastConfiguration): void {\n const caller = () => {\n addItem(toastConfiguration);\n toastConfiguration.timer?.start(toastRemove.bind(null, toastConfiguration),\n toastConfiguration.toastBehaviour.duration,\n );\n };\n\n if (!isActive.value) {\n // before create toast we need change isActive props, to render or-teleport,\n // in other case first item will not be animated\n toggle(true);\n nextTick(caller);\n } else {\n caller();\n }\n }\n\n function toastUpdate(toast: ToastConfiguration): void {\n const toastItem = getItem((item) => {\n return item.hash === toast.hash;\n });\n\n if (toastItem)\n toastItem.value = toast;\n }\n\n function toastRemove(toast: ToastConfiguration): void {\n removeItem((item) => {\n if (item.hash === toast.hash) {\n item.toastBehaviour?.onToastClose?.();\n item.timer?.stop();\n return true;\n }\n return false;\n });\n }\n\n function onToastEnter(toast: ToastConfiguration): void {\n if (toast.toastBehaviour.pauseOnHover)\n toast.timer?.pause();\n }\n\n function onToastLeave(toast: ToastConfiguration): void {\n if (toast.toastBehaviour.pauseOnHover)\n toast.timer?.resume();\n }\n\n function onClick(toastBehaviour: ToastBehaviour): void {\n toastBehaviour.onToastClick?.();\n }\n\n function onToastHidden(): void {\n toggle(queue.value.length > 0);\n }\n\n // Effects\n onBeforeMount(() => {\n on('toastNotify', createToast);\n on('toastClose', toastRemove);\n on('toastUpdate', toastUpdate);\n on('toastCloseAll', clearAll);\n });\n\n onBeforeUnmount(() => {\n off('toastNotify', createToast);\n off('toastClose', toastRemove);\n off('toastUpdate', toastUpdate);\n off('toastCloseAll', clearAll);\n });\n\n useElevation(root, isActive);\n\n return {\n on,\n off,\n classes,\n transitionName,\n isActive,\n toggle,\n addItem,\n removeItem,\n clearAll,\n getItem,\n queue,\n root,\n createToast,\n toastUpdate,\n toastRemove,\n onToastEnter,\n onToastLeave,\n onClick,\n onToastHidden,\n };\n },\n});\n</script>\n\n<style lang=\"scss\" scoped>\n$header-height: 48px;\n$spacing: 32px;\n\n.or-toast--transition-slide-enter-active,\n.or-toast--transition-slide-leave-active {\n transition: transform 0.4s ease;\n}\n\n.or-toast--transition-slide-enter-from.or-toast--position-right,\n.or-toast--transition-slide-leave-to.or-toast--position-right {\n transform: translateX(999px);\n}\n\n.or-toast--transition-slide-enter-from.or-toast--position-left,\n.or-toast--transition-slide-leave-to.or-toast--position-left {\n transform: translateX(-999px);\n}\n\n.or-toast--transition-fade-enter-active,\n.or-toast--transition-fade-leave-active {\n transition: opacity 0.4s ease;\n}\n\n.or-toast--transition-fade-enter-from,\n.or-toast--transition-fade-leave-to {\n opacity: 0;\n}\n</style>\n","import { noop } from '@vueuse/core';\n\nexport default class Timer {\n private startedAt: number| null = null;\n private timer: ReturnType<typeof setTimeout> | null = null;\n private callback: () => void = noop;\n private delay = 0;\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n constructor() {}\n\n start(callback: () => void, delay?: number) {\n if (delay && delay > 0) {\n this.callback = callback;\n this.delay = delay;\n this.startedAt = Date.now();\n this.timer = setTimeout(this.callback, this.delay);\n }\n }\n\n pause() {\n if (this.timer && this.startedAt) {\n this.stop();\n this.delay -= Date.now() - this.startedAt;\n }\n }\n\n resume() {\n this.stop();\n if (this.delay > 0) {\n this.startedAt = Date.now();\n this.timer = setTimeout(this.callback, this.delay);\n }\n }\n\n stop() {\n if (this.timer)\n clearTimeout(this.timer);\n }\n}\n","import { ToastType } from '../props';\nimport Timer from '../Timer';\nimport { ToastBehaviour, ToastConfiguration, ToastProps, UseToastNotifyReturnsV3 } from '../types';\n\nimport useToastEventBus from './useToastEventBus';\n\n\nexport default function useToast(globalToastProps: ToastProps = {}) {\n const { emit } = useToastEventBus();\n\n function notify(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n const { duration = 5000, pauseOnHover = true, onToastClose, onToastClick } = behaviour;\n const propsData = {\n ...props,\n ...globalToastProps,\n };\n\n const config: ToastConfiguration = {\n toastProps: propsData,\n //generate ToastHash\n hash: Math.random().toString(36).slice(2),\n ...(Number.isInteger(duration) && { timer: new Timer() }),\n toastBehaviour: {\n duration,\n pauseOnHover,\n onToastClose,\n onToastClick,\n },\n };\n\n emit('toastNotify', config);\n\n return ({\n close: () => emit('toastClose', config),\n update: (data: ToastProps) => emit('toastUpdate', {\n ...config,\n toastProps: {\n ...config.toastProps,\n ...data,\n },\n }),\n });\n }\n\n function clearAll(): void {\n emit('toastCloseAll');\n }\n\n function success(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n ...props,\n toastType: ToastType.Success,\n }, behaviour);\n }\n\n function error(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n ...props,\n toastType: ToastType.Error,\n }, behaviour);\n }\n\n\n function loading(props: ToastProps, behaviour: ToastBehaviour = {}): UseToastNotifyReturnsV3 {\n return notify({\n dismissible: false,\n ...props,\n toastType: ToastType.Loading,\n }, {\n ...behaviour,\n duration: 0, // <- toast with type \"loading\" will not cloe automatically\n });\n }\n\n return {\n notify,\n clearAll,\n success,\n error,\n loading,\n };\n}\n"],"names":["PositionsX","PositionsY","TransitionType","ToastType","Toast","ToastContainer","ToastContainerPositions","messageStyleVariant","_sfc_main$1","defineComponent","OrIconButton","OrLoader","props","context","root","ref","rootStyles","computed","toastIconStyle","messageStyle","loaderStyle","emojiSrc","successPng","errorPng","hrefTarget","_a","onClose","onLinkClick","event","_c","_b","_hoisted_2","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_hoisted_1","_createCommentVNode","_createElementVNode","_hoisted_3","_toDisplayString","_createBlock","_component_OrIconButton","useQueue","initialValue","queue","item","refItem","condition","index","i","idx","q","useToastEventBus","busPull","useEventBus","namedQueue","listener","data","useToastEventBus$1","createSharedComposable","_sfc_main","OrTeleport","OrToast","on","off","queueRef","addItem","removeItem","clearAll","getItem","isActive","toggle","useToggle","classes","transitionName","value","createToast","toastConfiguration","caller","toastRemove","nextTick","toastUpdate","toast","toastItem","onToastEnter","onToastLeave","onClick","toastBehaviour","onToastHidden","onBeforeMount","onBeforeUnmount","useElevation","_component_OrTeleport","_withCtx","_createVNode","_TransitionGroup","_Fragment","_renderList","_component_OrToast","_mergeProps","$event","Timer","noop","callback","delay","useToast","globalToastProps","emit","notify","behaviour","duration","pauseOnHover","onToastClose","onToastClick","config","success","error","loading"],"mappings":"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"}