@onereach/ui-components 23.1.0 → 23.1.1

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.
@@ -12,8 +12,8 @@ const m = [
12
12
  // Typography
13
13
  "typography-body-2-bold",
14
14
  // Theme
15
- "theme-foreground-secondary",
16
- "dark:theme-foreground-secondary-dark",
15
+ "theme-foreground-outline",
16
+ "dark:theme-foreground-outline-dark",
17
17
  "theme-border-transparent border-b-2",
18
18
  "dark:theme-border-transparent-dark",
19
19
  // Theme (hover)
@@ -93,4 +93,4 @@ const $ = /* @__PURE__ */ u(f, [["render", v]]);
93
93
  export {
94
94
  $ as O
95
95
  };
96
- //# sourceMappingURL=OrTab-Cl_ZBFjH.mjs.map
96
+ //# sourceMappingURL=OrTab-BdtxL_PY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrTab-BdtxL_PY.mjs","sources":["../../../components/or-tab-v3/src/styles.ts","../../../components/or-tab-v3/src/OrTab.vue"],"sourcesContent":["export const Tab: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Spacing\n '-mb-[1px]',\n\n 'px-0',\n 'py-[6px]',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-body-2-bold',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n 'theme-border-transparent border-b-2',\n 'dark:theme-border-transparent-dark',\n\n // Theme (hover)\n 'hover:md:theme-foreground-default',\n 'dark:hover:md:theme-foreground-default-dark',\n\n // Theme (active)\n 'active:theme-foreground-default',\n 'dark:active:theme-foreground-default-dark',\n\n 'active:theme-border-current active:border-b-2',\n 'dark:active:theme-border-current-dark',\n\n // Theme (selected)\n 'selected:theme-foreground-default',\n 'dark:selected:theme-foreground-default-dark',\n\n 'selected:theme-border-current selected:border-b-2',\n 'dark:selected:theme-border-current-dark',\n\n // Theme (invalid)\n 'invalid:theme-foreground-error',\n 'dark:invalid:theme-foreground-error-dark',\n\n // Theme (invalid + hover)\n 'hover:invalid:md:theme-foreground-error-hover',\n 'dark:hover:invalid:md:theme-foreground-error-hover-dark',\n\n // Theme (invalid + active)\n 'active:invalid:theme-foreground-error',\n 'dark:active:invalid:theme-foreground-error-dark',\n\n 'active:invalid:theme-border-current active:invalid:border-b-2',\n 'dark:active:invalid:theme-border-current-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :invalid=\"invalid\"\n :disabled=\"disabled\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { Tab } from './styles';\n\nexport default defineComponent({\n name: 'OrTab',\n\n props: {\n selected: {\n type: Boolean,\n default: false,\n },\n\n invalid: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\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-tab-v3',\n ...Tab,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n"],"names":["Tab","_sfc_main","defineComponent","root","ref","rootStyles","computed","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","$event"],"mappings":";;AAAO,MAAMA,IAAgB;AAAA;AAAA,EAE3B;AAAA;AAAA,EAGA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GCpCAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,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,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGN;AAAA,IAAA,CACJ;AAEM,WAAA;AAAA,MACL,MAAAG;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA9DSE,EAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IACA,OAAOC,EAASR,EAAA,UAAA;AAAA,IAChB,UAAUA,EAAA;AAAA,IACV,SAAKA,EAAA;AAAA,IACL,UAAKA,EAAA;AAAA,IACL,SAAIC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAET,EAAK,MAAA,SAASS,CAAM;AAAA,IAAA,SAAAR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,SAAAS,CAAA;AAAA,IAE3B,QAAQR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,QAAAS,CAAA;AAAA,EAAA,GAAA;AAAA;;;;"}
@@ -4,7 +4,7 @@ import { useProxyModelValue as _ } from "@onereach/ui-components-common/hooks";
4
4
  import { O as x } from "./OrIcon-k8cyvh-D.mjs";
5
5
  import { O as ee } from "./OrMenuItem-BHRMA0L1.mjs";
6
6
  import { O as oe } from "./OrMenu-CJT4Snay.mjs";
7
- import { O as te } from "./OrTab-Cl_ZBFjH.mjs";
7
+ import { O as te } from "./OrTab-BdtxL_PY.mjs";
8
8
  import { _ as ne } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
9
9
  var D = /* @__PURE__ */ ((e) => (e.Default = "default", e.Fitted = "fitted", e))(D || {}), c = /* @__PURE__ */ ((e) => (e.MD = "md", e.LG = "lg", e.XL = "xl", e))(c || {});
10
10
  const le = [
@@ -248,4 +248,4 @@ export {
248
248
  D as T,
249
249
  c as a
250
250
  };
251
- //# sourceMappingURL=OrTabs-6NfHHn7M.mjs.map
251
+ //# sourceMappingURL=OrTabs-BUXLSz8o.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrTabs-6NfHHn7M.mjs","sources":["../../../components/or-tabs-v3/src/props.ts","../../../components/or-tabs-v3/src/styles.ts","../../../components/or-tabs-v3/src/OrTabs.vue"],"sourcesContent":["export enum TabsVariant {\n Default = 'default',\n Fitted = 'fitted',\n}\n\nexport enum TabsSpacing {\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n}\n","import { TabsVariant, TabsSpacing } from './props';\n\nexport const TabsContainer: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n];\n\nexport const TabsContainerSpacings: Record<TabsSpacing, string[]> = {\n [TabsSpacing.MD]: [\n // Spacing\n 'gap-md',\n ],\n [TabsSpacing.LG]: [\n // Spacing\n 'gap-lg',\n ],\n [TabsSpacing.XL]: [\n // Spacing\n 'gap-xl',\n ],\n};\n\nexport const Tabs: string[] = [\n // Layout\n 'grid grid-flow-col items-center shrink-0',\n\n // Theme\n 'theme-border-outline border-b-1',\n 'dark:theme-border-outline',\n];\n\nexport const TabsVariants: Record<TabsVariant, string[]> = {\n 'default': [\n // Layout\n 'auto-cols-max',\n\n // Spacing\n 'gap-lg',\n ],\n\n 'fitted': [\n // Layout\n 'auto-cols-auto',\n\n // Spacing (children)\n 'children:px-lg',\n ],\n};\n\nexport const TabsContent: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n\n // Overflow\n 'overflow-auto',\n];\n","<template>\n <div :class=\"containerStyles\">\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrTab\n v-for=\"tab in tabs.normal\"\n :key=\"tab.value\"\n :selected=\"tab.value === proxyModelValue\"\n :invalid=\"tab.invalid\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab)\"\n >\n <slot\n name=\"tab\"\n :tab=\"tab\"\n :active-tab=\"activeTab\"\n >\n {{ tab.label }}\n </slot>\n </OrTab>\n\n <template v-if=\"tabs.hidden.length > 0\">\n <OrTab\n :ref=\"'overflowTab'\"\n @click.stop=\"overflowMenu && overflowMenu.toggle()\"\n >\n <OrIcon\n :icon=\"'more_horiz'\"\n :variant=\"'filled-bold'\"\n />\n </OrTab>\n\n <OrMenu\n :ref=\"'overflowMenu'\"\n :trigger=\"overflowTabRoot\"\n >\n <OrMenuItem\n v-for=\"tab in tabs.hidden\"\n :key=\"tab.value\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab); overflowMenu && overflowMenu.close()\"\n >\n {{ tab.label }}\n </OrMenuItem>\n </OrMenu>\n </template>\n </div>\n\n <div :class=\"contentStyles\">\n <template v-for=\"tab in items\">\n <div\n v-if=\"isTabRendered(tab.value)\"\n v-show=\"String(proxyModelValue) === String(tab.value)\"\n :key=\"tab.value\"\n class=\"contents\"\n >\n <slot :name=\"String(tab.value)\" />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core';\nimport { PropType, computed, defineComponent, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrMenuV3 as OrMenu } from '@onereach/ui-components.or-menu-v3';\nimport { OrTabV3 as OrTab } from '@onereach/ui-components.or-tab-v3';\nimport { TabsVariant, TabsSpacing } from './props';\nimport * as Styles from './styles';\nimport { EditorTabsItem } from './types';\n\nexport default defineComponent({\n name: 'OrTabs',\n\n components: {\n OrIcon,\n OrMenu,\n OrMenuItem,\n OrTab,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined,\n },\n\n items: {\n type: Array as PropType<EditorTabsItem[]>,\n required: true,\n },\n\n spacing: {\n type: String as PropType<`${TabsSpacing}`>,\n default: TabsSpacing.LG,\n },\n\n variant: {\n type: String as PropType<`${TabsVariant}`>,\n default: () => TabsVariant.Default,\n },\n\n keepAlive: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n const overflowTab = ref<InstanceType<typeof OrTab>>();\n const overflowTabRoot = computed(() => overflowTab.value?.root);\n\n const overflowMenu = ref<InstanceType<typeof OrMenu>>();\n const overflowMenuRoot = computed(() => overflowMenu.value?.root);\n\n // Styles\n const containerStyles = computed(() => [\n ...Styles.TabsContainer,\n ...Styles.TabsContainerSpacings[props.spacing],\n ]);\n\n const rootStyles = computed(() => [\n 'or-tabs-v3',\n ...Styles.Tabs,\n ...Styles.TabsVariants[props.variant],\n ]);\n\n const contentStyles = computed(() => [\n ...Styles.TabsContent,\n ]);\n\n // State\n const tabs = reactive({\n normal: [] as EditorTabsItem[],\n hidden: [] as EditorTabsItem[],\n });\n\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const activeTab = computed(() => props.items.find(({ value }) => value === proxyModelValue.value)!);\n\n // Methods\n function selectTab(tab: EditorTabsItem): void {\n if (!tab.disabled) {\n proxyModelValue.value = tab.value;\n }\n }\n\n function rearrangeTabs(items: EditorTabsItem[], activeTab: EditorTabsItem, rootElement: Element): typeof tabs {\n const { children } = rootElement;\n\n const nextNormalTabs: EditorTabsItem[] = [...items];\n const nextHiddenTabs: EditorTabsItem[] = [];\n\n let currentWidth = rootElement.scrollWidth;\n\n [...children].reverse().forEach((element) => {\n if (currentWidth > rootElement.clientWidth) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n currentWidth -= element.clientWidth + (props.variant === TabsVariant.Default ? 16 : 0);\n }\n });\n\n if (nextHiddenTabs.includes(activeTab)) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n nextNormalTabs.push(...nextHiddenTabs.splice(nextHiddenTabs.indexOf(activeTab), 1));\n }\n\n return {\n normal: nextNormalTabs,\n hidden: nextHiddenTabs,\n };\n }\n\n function isTabRendered(value: string|number): boolean {\n return props.keepAlive || proxyModelValue.value === value;\n }\n\n // Effects\n watch([\n () => props.items,\n activeTab,\n root,\n ], ([\n items,\n activeTab,\n rootElement,\n ]) => {\n tabs.normal = items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(items, activeTab, rootElement!));\n });\n });\n\n // #region Resize\n useResizeObserver(root, () => {\n tabs.normal = props.items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(props.items, activeTab.value, root.value!));\n });\n });\n // #endregion\n\n onMounted(() => {\n if (!proxyModelValue.value) {\n proxyModelValue.value = props.items[0]?.value;\n }\n });\n\n return {\n root,\n overflowTab,\n overflowTabRoot,\n overflowMenu,\n overflowMenuRoot,\n containerStyles,\n rootStyles,\n contentStyles,\n tabs,\n proxyModelValue,\n activeTab,\n selectTab,\n isTabRendered,\n };\n },\n});\n</script>\n"],"names":["TabsVariant","TabsSpacing","TabsContainer","TabsContainerSpacings","Tabs","TabsVariants","TabsContent","_sfc_main","defineComponent","OrIcon","OrMenu","OrMenuItem","OrTab","props","context","root","ref","overflowTab","overflowTabRoot","computed","_a","overflowMenu","overflowMenuRoot","containerStyles","Styles.TabsContainer","Styles.TabsContainerSpacings","rootStyles","Styles.Tabs","Styles.TabsVariants","contentStyles","Styles.TabsContent","tabs","reactive","proxyModelValue","useProxyModelValue","toRef","activeTab","value","selectTab","tab","rearrangeTabs","items","rootElement","children","nextNormalTabs","nextHiddenTabs","currentWidth","element","isTabRendered","watch","nextTick","useResizeObserver","onMounted","_resolveComponent","_normalizeClass","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","_createBlock","_component_OrTab","_withModifiers","$event","_withCtx","_renderSlot","_createVNode","_cache","_component_OrIcon","_component_OrMenu","_component_OrMenuItem","_createCommentVNode","_createElementVNode"],"mappings":";;;;;;;;AAAY,IAAAA,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,SAAS,UAFCA,IAAAA,KAAA,CAAA,CAAA,GAKAC,sBAAAA,OACVA,EAAA,KAAK,MACLA,EAAA,KAAK,MACLA,EAAA,KAAK,MAHKA,IAAAA,KAAA,CAAA,CAAA;ACHL,MAAMC,KAA0B;AAAA;AAAA,EAErC;AAAA,EACA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAuD;AAAA,EAClE,CAACF,EAAY,EAAE,GAAG;AAAA;AAAA,IAEhB;AAAA,EACF;AAAA,EACA,CAACA,EAAY,EAAE,GAAG;AAAA;AAAA,IAEhB;AAAA,EACF;AAAA,EACA,CAACA,EAAY,EAAE,GAAG;AAAA;AAAA,IAEhB;AAAA,EACF;AACF,GAEaG,KAAiB;AAAA;AAAA,EAE5B;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAA8C;AAAA,EACzD,SAAW;AAAA;AAAA,IAET;AAAA;AAAA,IAGA;AAAA,EACF;AAAA,EAEA,QAAU;AAAA;AAAA,IAER;AAAA;AAAA,IAGA;AAAA,EACF;AACF,GAEaC,KAAwB;AAAA;AAAA,EAEnC;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GCcAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASX,EAAY;AAAA,IACvB;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMD,EAAY;AAAA,IAC7B;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMa,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAEPC,IAAcD,KACdE,IAAkBC,EAAS,MAAA;;AAAM,cAAAC,IAAAH,EAAY,UAAZ,gBAAAG,EAAmB;AAAA,KAAI,GAExDC,IAAeL,KACfM,IAAmBH,EAAS,MAAA;;AAAM,cAAAC,IAAAC,EAAa,UAAb,gBAAAD,EAAoB;AAAA,KAAI,GAG1DG,IAAkBJ,EAAS,MAAM;AAAA,MACrC,GAAGK;AAAAA,MACH,GAAGC,GAA6BZ,EAAM,OAAO;AAAA,IAAA,CAC9C,GAEKa,IAAaP,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGQ;AAAAA,MACH,GAAGC,GAAoBf,EAAM,OAAO;AAAA,IAAA,CACrC,GAEKgB,IAAgBV,EAAS,MAAM;AAAA,MACnC,GAAGW;AAAAA,IAAO,CACX,GAGKC,IAAOC,EAAS;AAAA,MACpB,QAAQ,CAAC;AAAA,MACT,QAAQ,CAAC;AAAA,IAAA,CACV,GAEKC,IAAkBC,EAAmBC,EAAMtB,GAAO,YAAY,GAAGC,EAAQ,IAAI,GAE7EsB,IAAYjB,EAAS,MAAMN,EAAM,MAAM,KAAK,CAAC,EAAE,OAAAwB,EAAM,MAAMA,MAAUJ,EAAgB,KAAK,CAAE;AAGlG,aAASK,EAAUC,GAA2B;AACxC,MAACA,EAAI,aACPN,EAAgB,QAAQM,EAAI;AAAA,IAEhC;AAES,aAAAC,EAAcC,GAAyBL,GAA2BM,GAAmC;AACtG,YAAA,EAAE,UAAAC,EAAa,IAAAD,GAEfE,IAAmC,CAAC,GAAGH,CAAK,GAC5CI,IAAmC,CAAA;AAEzC,UAAIC,IAAeJ,EAAY;AAE/B,cAAC,GAAGC,CAAQ,EAAE,QAAU,EAAA,QAAQ,CAACI,MAAY;AACvC,QAAAD,IAAeJ,EAAY,gBACdG,EAAA,QAAQD,EAAe,IAAM,CAAA,GAC5CE,KAAgBC,EAAQ,eAAelC,EAAM,YAAYb,EAAY,UAAU,KAAK;AAAA,MACtF,CACD,GAEG6C,EAAe,SAAST,CAAS,MACpBS,EAAA,QAAQD,EAAe,IAAM,CAAA,GAC7BA,EAAA,KAAK,GAAGC,EAAe,OAAOA,EAAe,QAAQT,CAAS,GAAG,CAAC,CAAC,IAG7E;AAAA,QACL,QAAQQ;AAAA,QACR,QAAQC;AAAA,MAAA;AAAA,IAEZ;AAEA,aAASG,EAAcX,GAA+B;AAC7C,aAAAxB,EAAM,aAAaoB,EAAgB,UAAUI;AAAA,IACtD;AAGM,WAAAY,EAAA;AAAA,MACJ,MAAMpC,EAAM;AAAA,MACZuB;AAAA,MACArB;AAAA,IAAA,GACC,CAAC;AAAA,MACF0B;AAAA,MACAL;AAAAA,MACAM;AAAA,IAAA,MACI;AACJ,MAAAX,EAAK,SAASU,GAEdS,EAAS,MAAM;AACb,eAAO,OAAOnB,GAAMS,EAAcC,GAAOL,GAAWM,CAAY,CAAC;AAAA,MAAA,CAClE;AAAA,IAAA,CACF,GAGDS,EAAkBpC,GAAM,MAAM;AAC5B,MAAAgB,EAAK,SAASlB,EAAM,OAEpBqC,EAAS,MAAM;AACN,eAAA,OAAOnB,GAAMS,EAAc3B,EAAM,OAAOuB,EAAU,OAAOrB,EAAK,KAAM,CAAC;AAAA,MAAA,CAC7E;AAAA,IAAA,CACF,GAGDqC,EAAU,MAAM;;AACV,MAACnB,EAAgB,UACnBA,EAAgB,SAAQb,IAAAP,EAAM,MAAM,CAAC,MAAb,gBAAAO,EAAgB;AAAA,IAC1C,CACD,GAEM;AAAA,MACL,MAAAL;AAAA,MACA,aAAAE;AAAA,MACA,iBAAAC;AAAA,MACA,cAAAG;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,YAAAG;AAAA,MACA,eAAAG;AAAA,MACA,MAAAE;AAAA,MACA,iBAAAE;AAAA,MACA,WAAAG;AAAA,MACA,WAAAE;AAAA,MACA,eAAAU;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;kEAxPCK,EA6DM,QAAA;;IA5DJ,OA8CMC,EAAAC,EAAA,eAAA;AAAA,EAAA,GAAA;AAAA,MA5CE,OAAE;AAAA,MAAA,KAAA;AAAA,MAER,OAAAD,EAAAC,EAAA,UAAA;AAAA,IAAA,GAAA;AAAA,OAEWC,EAAA,EAAC,GAAKC,EAAAC,GAAA,MAAAC,EAAAJ,EAAA,KAAA,QAAA,CAAAhB,OACdiB,EAAc,GAAKI,EAAKC,GAAe;AAAA,QACvC,KAAStB,EAAA;AAAA,QACT,UAAUA,EAAI,UAAQgB,EAAA;AAAA,QACtB,SAAKhB,EAAA;AAAA,QAAA,UAAAA,EAAA;AAAA,QAQC,SAAAuB,EAAA,CAAAC,MAAAR,EAAA,UAAAhB,CAAA,GAAA,CAAA,MAAA,CAAA;AAAA,MAAA,GAAA;AAAA,iBAJCyB,EAAG,MAAA;AAAA,UAAAC,EACEV,EAAE,QAAS,OAAA;AAAA,YAAA,KAAAhB;AAAA;;;;;;MAMV,GAAA,MAAK,CAAa,YAAA,WAAA,YAAA,SAAA,CAAA,EAAA,GAAA,GAAA;AAAA,MAChCgB,EAAA,KAAA,OAAA,SAQQ,UAPaE,EAAAC,GAAA,EAAA,KAAA,EAAA,GAAA;AAAA,QACbQ,EAAAL,GAAA;AAAA,UAAA,KAAA;AAAA,UAKJ,SAAAM,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAL,EAAA,CAAAC,MAAAR,EAAA,gBAAAA,EAAA,aAAA,OAAA,GAAA,CAAA,MAAA,CAAA;AAAA,QAAA,GAAA;AAAA,UAFK,SAAAS,EAAE,MAAY;AAAA,YAAAE,EACTE,GAAa;AAAA,cAAA,MAAA;AAAA;;;UAI3B,GAAA;AAAA,QAAA,CAAA;AAAA,UAEYC,GAAe;AAAA,UAAA,KAAA;AAAA;;;aAIdb,EAAA,EAAC,GAAKC,EAAAC,GAAA,MAAAC,EAAAJ,EAAA,KAAA,QAAA,CAAAhB,OACdiB,EAAA,GAAsBI,EAAAU,GAAA;AAAA,cACtB,KAAK/B,EAAA;AAAA,cAAA,UAAAA,EAAA;AAAA,cAES,SAAAuB,EAAA,CAAAC,MAAA;AAAA,gBAAAR,EAAA,UAAAhB,CAAA,GAAAgB,EAAA,gBAAAA,EAAA,aAAA,MAAA;AAAA,cAAA,GAAA,CAAA,MAAA,CAAA;AAAA,YAAA,GAAA;AAAA;;;;;;;;gBAMvBgB,EAWM,IAAA,EAAA;AAAA,IAXA,GAAA,CAAA;AAAA,IAAAC,EAAA,OAAA;AAAA,eACJjB,EASW,aAAA;AAAA,IAAA,GAAA;AAAA,SAPD,EAAuB,GAAAE,EAAAC,GAAA,MAAAC,EAAAJ,EAAA,OAAA,CAAAhB,cAD/BmB,GAOM,MAAA;AAAA,QAJHH,EAAA,cAAchB,cACTiB,EAAU,GAAAC,EAAA,OAAA;AAAA,UAAA,KAAAlB,EAAA;AAAA,UAEhB,OAAA;AAAA,QAAA,GAAA;AAAA,UAJQ0B,EAAAV,EAAO,iBAAe,KAAM,CAAA;AAAA,QAAA,CAAA,IAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"OrTabs-BUXLSz8o.mjs","sources":["../../../components/or-tabs-v3/src/props.ts","../../../components/or-tabs-v3/src/styles.ts","../../../components/or-tabs-v3/src/OrTabs.vue"],"sourcesContent":["export enum TabsVariant {\n Default = 'default',\n Fitted = 'fitted',\n}\n\nexport enum TabsSpacing {\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n}\n","import { TabsVariant, TabsSpacing } from './props';\n\nexport const TabsContainer: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n];\n\nexport const TabsContainerSpacings: Record<TabsSpacing, string[]> = {\n [TabsSpacing.MD]: [\n // Spacing\n 'gap-md',\n ],\n [TabsSpacing.LG]: [\n // Spacing\n 'gap-lg',\n ],\n [TabsSpacing.XL]: [\n // Spacing\n 'gap-xl',\n ],\n};\n\nexport const Tabs: string[] = [\n // Layout\n 'grid grid-flow-col items-center shrink-0',\n\n // Theme\n 'theme-border-outline border-b-1',\n 'dark:theme-border-outline',\n];\n\nexport const TabsVariants: Record<TabsVariant, string[]> = {\n 'default': [\n // Layout\n 'auto-cols-max',\n\n // Spacing\n 'gap-lg',\n ],\n\n 'fitted': [\n // Layout\n 'auto-cols-auto',\n\n // Spacing (children)\n 'children:px-lg',\n ],\n};\n\nexport const TabsContent: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n\n // Overflow\n 'overflow-auto',\n];\n","<template>\n <div :class=\"containerStyles\">\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrTab\n v-for=\"tab in tabs.normal\"\n :key=\"tab.value\"\n :selected=\"tab.value === proxyModelValue\"\n :invalid=\"tab.invalid\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab)\"\n >\n <slot\n name=\"tab\"\n :tab=\"tab\"\n :active-tab=\"activeTab\"\n >\n {{ tab.label }}\n </slot>\n </OrTab>\n\n <template v-if=\"tabs.hidden.length > 0\">\n <OrTab\n :ref=\"'overflowTab'\"\n @click.stop=\"overflowMenu && overflowMenu.toggle()\"\n >\n <OrIcon\n :icon=\"'more_horiz'\"\n :variant=\"'filled-bold'\"\n />\n </OrTab>\n\n <OrMenu\n :ref=\"'overflowMenu'\"\n :trigger=\"overflowTabRoot\"\n >\n <OrMenuItem\n v-for=\"tab in tabs.hidden\"\n :key=\"tab.value\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab); overflowMenu && overflowMenu.close()\"\n >\n {{ tab.label }}\n </OrMenuItem>\n </OrMenu>\n </template>\n </div>\n\n <div :class=\"contentStyles\">\n <template v-for=\"tab in items\">\n <div\n v-if=\"isTabRendered(tab.value)\"\n v-show=\"String(proxyModelValue) === String(tab.value)\"\n :key=\"tab.value\"\n class=\"contents\"\n >\n <slot :name=\"String(tab.value)\" />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core';\nimport { PropType, computed, defineComponent, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrMenuV3 as OrMenu } from '@onereach/ui-components.or-menu-v3';\nimport { OrTabV3 as OrTab } from '@onereach/ui-components.or-tab-v3';\nimport { TabsVariant, TabsSpacing } from './props';\nimport * as Styles from './styles';\nimport { EditorTabsItem } from './types';\n\nexport default defineComponent({\n name: 'OrTabs',\n\n components: {\n OrIcon,\n OrMenu,\n OrMenuItem,\n OrTab,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined,\n },\n\n items: {\n type: Array as PropType<EditorTabsItem[]>,\n required: true,\n },\n\n spacing: {\n type: String as PropType<`${TabsSpacing}`>,\n default: TabsSpacing.LG,\n },\n\n variant: {\n type: String as PropType<`${TabsVariant}`>,\n default: () => TabsVariant.Default,\n },\n\n keepAlive: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n const overflowTab = ref<InstanceType<typeof OrTab>>();\n const overflowTabRoot = computed(() => overflowTab.value?.root);\n\n const overflowMenu = ref<InstanceType<typeof OrMenu>>();\n const overflowMenuRoot = computed(() => overflowMenu.value?.root);\n\n // Styles\n const containerStyles = computed(() => [\n ...Styles.TabsContainer,\n ...Styles.TabsContainerSpacings[props.spacing],\n ]);\n\n const rootStyles = computed(() => [\n 'or-tabs-v3',\n ...Styles.Tabs,\n ...Styles.TabsVariants[props.variant],\n ]);\n\n const contentStyles = computed(() => [\n ...Styles.TabsContent,\n ]);\n\n // State\n const tabs = reactive({\n normal: [] as EditorTabsItem[],\n hidden: [] as EditorTabsItem[],\n });\n\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const activeTab = computed(() => props.items.find(({ value }) => value === proxyModelValue.value)!);\n\n // Methods\n function selectTab(tab: EditorTabsItem): void {\n if (!tab.disabled) {\n proxyModelValue.value = tab.value;\n }\n }\n\n function rearrangeTabs(items: EditorTabsItem[], activeTab: EditorTabsItem, rootElement: Element): typeof tabs {\n const { children } = rootElement;\n\n const nextNormalTabs: EditorTabsItem[] = [...items];\n const nextHiddenTabs: EditorTabsItem[] = [];\n\n let currentWidth = rootElement.scrollWidth;\n\n [...children].reverse().forEach((element) => {\n if (currentWidth > rootElement.clientWidth) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n currentWidth -= element.clientWidth + (props.variant === TabsVariant.Default ? 16 : 0);\n }\n });\n\n if (nextHiddenTabs.includes(activeTab)) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n nextNormalTabs.push(...nextHiddenTabs.splice(nextHiddenTabs.indexOf(activeTab), 1));\n }\n\n return {\n normal: nextNormalTabs,\n hidden: nextHiddenTabs,\n };\n }\n\n function isTabRendered(value: string|number): boolean {\n return props.keepAlive || proxyModelValue.value === value;\n }\n\n // Effects\n watch([\n () => props.items,\n activeTab,\n root,\n ], ([\n items,\n activeTab,\n rootElement,\n ]) => {\n tabs.normal = items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(items, activeTab, rootElement!));\n });\n });\n\n // #region Resize\n useResizeObserver(root, () => {\n tabs.normal = props.items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(props.items, activeTab.value, root.value!));\n });\n });\n // #endregion\n\n onMounted(() => {\n if (!proxyModelValue.value) {\n proxyModelValue.value = props.items[0]?.value;\n }\n });\n\n return {\n root,\n overflowTab,\n overflowTabRoot,\n overflowMenu,\n overflowMenuRoot,\n containerStyles,\n rootStyles,\n contentStyles,\n tabs,\n proxyModelValue,\n activeTab,\n selectTab,\n isTabRendered,\n };\n },\n});\n</script>\n"],"names":["TabsVariant","TabsSpacing","TabsContainer","TabsContainerSpacings","Tabs","TabsVariants","TabsContent","_sfc_main","defineComponent","OrIcon","OrMenu","OrMenuItem","OrTab","props","context","root","ref","overflowTab","overflowTabRoot","computed","_a","overflowMenu","overflowMenuRoot","containerStyles","Styles.TabsContainer","Styles.TabsContainerSpacings","rootStyles","Styles.Tabs","Styles.TabsVariants","contentStyles","Styles.TabsContent","tabs","reactive","proxyModelValue","useProxyModelValue","toRef","activeTab","value","selectTab","tab","rearrangeTabs","items","rootElement","children","nextNormalTabs","nextHiddenTabs","currentWidth","element","isTabRendered","watch","nextTick","useResizeObserver","onMounted","_resolveComponent","_normalizeClass","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","_createBlock","_component_OrTab","_withModifiers","$event","_withCtx","_renderSlot","_createVNode","_cache","_component_OrIcon","_component_OrMenu","_component_OrMenuItem","_createCommentVNode","_createElementVNode"],"mappings":"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"}
@@ -79,8 +79,8 @@ import { S as Te, a as ce } from "../OrSlider.vue_vue_type_script_lang-C5rLh1F0.
79
79
  import { O as Se } from "../OrSorting-DCAarSF1.mjs";
80
80
  import { O as Pe, a as Ce, S as Ie } from "../OrStatus-D4QIuE7R.mjs";
81
81
  import { O as De } from "../OrSwitch-Cmi57-QB.mjs";
82
- import { O as ke } from "../OrTab-Cl_ZBFjH.mjs";
83
- import { O as Be, a as Ee, T as he } from "../OrTabs-6NfHHn7M.mjs";
82
+ import { O as ke } from "../OrTab-BdtxL_PY.mjs";
83
+ import { O as Be, a as Ee, T as he } from "../OrTabs-BUXLSz8o.mjs";
84
84
  import { O as ve } from "../OrTagInput-CjYmyfIU.mjs";
85
85
  import { O as Le, a as Me, T as we } from "../OrTag-Bixe0EQq.mjs";
86
86
  import { O as Ge, T as Ae } from "../OrTags-CS0bcLtx.mjs";
@@ -1,4 +1,4 @@
1
- import { O as o } from "../../OrTab-Cl_ZBFjH.mjs";
1
+ import { O as o } from "../../OrTab-BdtxL_PY.mjs";
2
2
  export {
3
3
  o as OrTabV3
4
4
  };
@@ -1,4 +1,4 @@
1
- import { O as r, a as T, T as b } from "../../OrTabs-6NfHHn7M.mjs";
1
+ import { O as r, a as T, T as b } from "../../OrTabs-BUXLSz8o.mjs";
2
2
  export {
3
3
  r as OrTabsV3,
4
4
  T as TabsSpacing,
@@ -79,8 +79,8 @@ import { S as Te, a as ce } from "./OrSlider.vue_vue_type_script_lang-C5rLh1F0.m
79
79
  import { O as Se } from "./OrSorting-DCAarSF1.mjs";
80
80
  import { O as Pe, a as Ce, S as Ie } from "./OrStatus-D4QIuE7R.mjs";
81
81
  import { O as De } from "./OrSwitch-Cmi57-QB.mjs";
82
- import { O as ke } from "./OrTab-Cl_ZBFjH.mjs";
83
- import { O as Be, a as Ee, T as he } from "./OrTabs-6NfHHn7M.mjs";
82
+ import { O as ke } from "./OrTab-BdtxL_PY.mjs";
83
+ import { O as Be, a as Ee, T as he } from "./OrTabs-BUXLSz8o.mjs";
84
84
  import { O as ve } from "./OrTagInput-CjYmyfIU.mjs";
85
85
  import { O as Le, a as Me, T as we } from "./OrTag-Bixe0EQq.mjs";
86
86
  import { O as Ge, T as Ae } from "./OrTags-CS0bcLtx.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/ui-components",
3
- "version": "23.1.0",
3
+ "version": "23.1.1",
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": "^23.1.0",
50
- "@onereach/ui-components-common": "^23.1.0",
49
+ "@onereach/styles": "^23.1.1",
50
+ "@onereach/ui-components-common": "^23.1.1",
51
51
  "@splidejs/splide": "4.0.6",
52
52
  "@tiptap/core": "2.0.3",
53
53
  "@tiptap/extension-blockquote": "2.0.3",
@@ -103,5 +103,5 @@
103
103
  "access": "public"
104
104
  },
105
105
  "npmUnpacked": "4.15.2",
106
- "gitHead": "c80586c67acb60cb9347476f07f6bb516c731aca"
106
+ "gitHead": "3614031074e59c370f06423b86612dcf0bd30b1f"
107
107
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrTab-Cl_ZBFjH.mjs","sources":["../../../components/or-tab-v3/src/styles.ts","../../../components/or-tab-v3/src/OrTab.vue"],"sourcesContent":["export const Tab: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Spacing\n '-mb-[1px]',\n\n 'px-0',\n 'py-[6px]',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-body-2-bold',\n\n // Theme\n 'theme-foreground-secondary',\n 'dark:theme-foreground-secondary-dark',\n\n 'theme-border-transparent border-b-2',\n 'dark:theme-border-transparent-dark',\n\n // Theme (hover)\n 'hover:md:theme-foreground-default',\n 'dark:hover:md:theme-foreground-default-dark',\n\n // Theme (active)\n 'active:theme-foreground-default',\n 'dark:active:theme-foreground-default-dark',\n\n 'active:theme-border-current active:border-b-2',\n 'dark:active:theme-border-current-dark',\n\n // Theme (selected)\n 'selected:theme-foreground-default',\n 'dark:selected:theme-foreground-default-dark',\n\n 'selected:theme-border-current selected:border-b-2',\n 'dark:selected:theme-border-current-dark',\n\n // Theme (invalid)\n 'invalid:theme-foreground-error',\n 'dark:invalid:theme-foreground-error-dark',\n\n // Theme (invalid + hover)\n 'hover:invalid:md:theme-foreground-error-hover',\n 'dark:hover:invalid:md:theme-foreground-error-hover-dark',\n\n // Theme (invalid + active)\n 'active:invalid:theme-foreground-error',\n 'dark:active:invalid:theme-foreground-error-dark',\n\n 'active:invalid:theme-border-current active:invalid:border-b-2',\n 'dark:active:invalid:theme-border-current-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :invalid=\"invalid\"\n :disabled=\"disabled\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { Tab } from './styles';\n\nexport default defineComponent({\n name: 'OrTab',\n\n props: {\n selected: {\n type: Boolean,\n default: false,\n },\n\n invalid: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\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-tab-v3',\n ...Tab,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n"],"names":["Tab","_sfc_main","defineComponent","root","ref","rootStyles","computed","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","$event"],"mappings":";;AAAO,MAAMA,IAAgB;AAAA;AAAA,EAE3B;AAAA;AAAA,EAGA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GCpCAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,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,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGN;AAAA,IAAA,CACJ;AAEM,WAAA;AAAA,MACL,MAAAG;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA9DSE,EAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IACA,OAAOC,EAASR,EAAA,UAAA;AAAA,IAChB,UAAUA,EAAA;AAAA,IACV,SAAKA,EAAA;AAAA,IACL,UAAKA,EAAA;AAAA,IACL,SAAIC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAET,EAAK,MAAA,SAASS,CAAM;AAAA,IAAA,SAAAR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,SAAAS,CAAA;AAAA,IAE3B,QAAQR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,QAAAS,CAAA;AAAA,EAAA,GAAA;AAAA;;;;"}