@onereach/ui-components 27.0.2-beta.6097.0 → 27.0.2-beta.6099.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.
@@ -13,7 +13,7 @@ import "./OrDateTimePicker.vue_vue_type_script_lang-BPdT_UVf.mjs";
13
13
  import "@onereach/ui-components-common/types";
14
14
  import { O as Pe } from "./OrInput-KTr5t05G.mjs";
15
15
  import { O as Ne } from "./OrRating-CAwz23JA.mjs";
16
- import { O as Ue } from "./OrSelect-DkMsZ1Pl.mjs";
16
+ import { O as Ue } from "./OrSelect-Dr6j_nSl.mjs";
17
17
  import { O as Ae } from "./OrSwitch-IqjDSZBa.mjs";
18
18
  import { O as Le } from "./OrTagInput-B2cjYeWN.mjs";
19
19
  import { O as qe } from "./OrTimePicker-fI5D3Eo9.mjs";
@@ -1944,4 +1944,4 @@ export {
1944
1944
  ca as q,
1945
1945
  ha as r
1946
1946
  };
1947
- //# sourceMappingURL=OrDataGrid-B328rIKA.mjs.map
1947
+ //# sourceMappingURL=OrDataGrid-CTRE2equ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrDataGrid-B328rIKA.mjs","sources":["../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/OrDataGridFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/OrDataGridHeader.vue","../../../components/or-data-grid-v3/src/types.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/OrDataGridTableContentCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/OrDataGridTableContentRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/OrDataGridTableContent.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/OrDataGridTableFooterCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/OrDataGridTableFooterRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/OrDataGridTableFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/OrDataGridTableHeaderCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/OrDataGridTableHeaderRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/OrDataGridTableHeader.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/OrDataGridTablePlaceholder.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/OrDataGridTable.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/OrDataGridToolbar.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/OrDataGridNotification.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/OrDataGridTableExtraRow.vue","../../../components/or-data-grid-v3/src/styles.ts","../../../components/or-data-grid-v3/src/OrDataGrid.vue"],"sourcesContent":["export const DataGridFooter: string[] = [\n // Layout\n 'layout-row',\n\n // Interactivity\n 'interactivity-default',\n\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xl',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n];\n\nexport const DataGridFooterStatus: string[] = [\n // Typography\n 'typography-body-2-semibold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['status']\">\n <div :class=\"statusStyles\">\n <slot :name=\"'status'\" />\n </div>\n </template>\n\n <slot :name=\"'actions'\" />\n\n <template v-if=\"$slots['paging']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'paging'\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-footer-v3',\n ...Styles.DataGridFooter,\n ]);\n\n const statusStyles = computed(() => [\n ...Styles.DataGridFooterStatus,\n ]);\n\n return {\n root,\n rootStyles,\n\n statusStyles,\n };\n },\n});\n</script>\n","export const DataGridHeader: string[] = [\n // Layout\n 'layout-row items-start gap-md',\n\n // Interactivity\n 'interactivity-default',\n\n // Spacing\n 'pb-md',\n];\n\nexport const DataGridHeaderTitle: string[] = [\n // Typography\n 'typography-headline-2',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title']\">\n <div :class=\"titleStyles\">\n <slot :name=\"'title'\" />\n </div>\n </template>\n\n <template v-if=\"$slots['searching'] || $slots['extraActions']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'searching'\" />\n\n <template v-if=\"$slots['extraActions']\">\n <slot :name=\"'extraActions'\" />\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-header-v3',\n ...Styles.DataGridHeader,\n ]);\n\n const titleStyles = computed(() => [\n ...Styles.DataGridHeaderTitle,\n ]);\n\n return {\n root,\n rootStyles,\n\n titleStyles,\n };\n },\n});\n</script>\n","import { DataModel, Id, ModelValue } from '@onereach/ui-components-common/types';\nimport { PaginationModelValue } from '@onereach/ui-components.or-pagination-v3';\nimport { SelectItem } from '@onereach/ui-components.or-select-v3';\n\nexport type DataGridModelValue = ModelValue<{\n selecting: ModelValue<Id[]>;\n\n // TODO\n filtering: never;\n\n searching: ModelValue<string>;\n\n sorting: ModelValue<{\n column: DataGridColumn['name'];\n direction: 'asc' | 'desc';\n }>;\n\n paging: PaginationModelValue;\n expanded: ModelValue<Id[]>;\n}>;\n\nexport type DataGridRow<T extends object = DataModel> = T;\n\nexport type DataGridItem<T extends object = DataGridRow> = T & {\n children?: DataGridItem<T>[];\n level?: number;\n};\n\nexport type DataGridItemKey<T extends object = DataGridRow> = string | ((item: DataGridItem<T>) => Id);\n\nexport type DataGridColumn = {\n name: string;\n label?: string;\n\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n\n alignment?: 'start' | 'end' | 'center';\n stickiness?: 'start' | 'end';\n sorting?: boolean;\n resizing?: boolean;\n wrapping?: boolean;\n fitContent?: boolean;\n\n control?: {\n type: 'text' | 'number' | 'rating' | 'select' | 'checkbox' | 'switch' | 'date' | 'time' | 'datetime' | 'tags';\n options?: SelectItem[];\n };\n};\n\nexport enum DataGridVariant {\n Standard = 'standard',\n Comfortable = 'comfortable',\n Compact = 'compact',\n Dynamic = 'dynamic',\n}\n\nexport type DataGridVariantValue = `${DataGridVariant}`;\n\nexport type DataGridFeatures = {\n selecting?: boolean | {\n showCounter?: boolean;\n disabled?: boolean;\n };\n filtering?: boolean;\n searching?: boolean;\n sorting?: boolean;\n hierarchy?: boolean;\n\n paging?: {\n length: number;\n options?: number[];\n };\n\n resizing?: boolean;\n storageKey?: string;\n};\n\nexport const DATA_GRID_DEFAULT_MIN_WIDTH = '52px';\nexport const DATA_GRID_SELECTION_COLUMN_WIDTH = '42px';\n","export const DataGridTableContentCell: string[] = [\n // Layout\n 'layout-row items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-disabled border-b-1 border-solid',\n 'dark:theme-border-disabled-dark',\n\n 'theme-outline-transparent outline-2 -outline-offset-1',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (focus)\n 'focus-within:theme-border-primary',\n 'dark:focus-within:theme-border-primary-dark',\n\n 'focus-within:theme-outline-primary',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (Stacking)\n 'relative',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:theme-background-default',\n 'dark:[&.sticky-start]:theme-background-default-dark',\n 'hover:[&.sticky-start]:theme-background-surface-1 dark:hover:[&.sticky-start]:theme-background-surface-1-dark',\n 'selected:[&.sticky-start]:theme-background-surface-2 dark:selected:[&.sticky-start]:theme-background-surface-2-dark',\n 'hover:selected:[&.sticky-start]:theme-background-surface-3 dark:hover:selected:[&.sticky-start]:theme-background-surface-3-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:theme-background-default',\n 'dark:[&.sticky-end]:theme-background-default-dark',\n 'hover:[&.sticky-end]:theme-background-surface-1 dark:hover:[&.sticky-end]:theme-background-surface-1-dark',\n 'selected:[&.sticky-end]:theme-background-surface-2 dark:selected:[&.sticky-end]:theme-background-surface-2-dark',\n 'hover:selected:[&.sticky-end]:theme-background-surface-3 dark:hover:selected:[&.sticky-end]:theme-background-surface-3-dark',\n\n // Theme (.resizable)\n 'relative',\n\n // Border (conditional override for last row/column)\n 'group-last:border-b-0',\n 'last:border-r-0',\n];\n\nexport const DataGridTableContentCellContent: string[] = [\n // interactivity\n 'interactivity-select',\n\n // Typography\n 'truncate',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <template v-if=\"override\">\n <slot />\n </template>\n\n <template v-else-if=\"control\">\n <div\n :class=\"contentStyles\"\n :style=\"contentInlineStyles\"\n >\n <template v-if=\"control.type === 'text'\">\n <OrInput\n v-model=\"model\"\n :type=\"'text'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'number'\">\n <OrInput\n v-model=\"model\"\n :type=\"'number'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'rating'\">\n <OrRating\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'select'\">\n <OrSelect\n v-model=\"model\"\n :options=\"control.options\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'checkbox'\">\n <OrCheckbox\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'switch'\">\n <OrSwitch\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'date'\">\n <OrDatePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'time'\">\n <OrTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'datetime'\">\n <OrDateTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'tags'\">\n <OrTagInput\n v-model=\"model\"\n :variant=\"'embedded'\"\n :class=\"['grow min-w-0']\"\n />\n </template>\n </div>\n </template>\n\n <template v-else>\n <div\n :class=\"contentStyles\"\n :style=\"contentInlineStyles\"\n >\n <slot />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrDatePickerV3 as OrDatePicker } from '@onereach/ui-components.or-date-picker-v3';\nimport { OrDateTimePickerV3 as OrDateTimePicker } from '@onereach/ui-components.or-date-time-picker-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrRatingV3 as OrRating } from '@onereach/ui-components.or-rating-v3';\nimport { OrSelectV3 as OrSelect } from '@onereach/ui-components.or-select-v3';\nimport { OrSwitchV3 as OrSwitch } from '@onereach/ui-components.or-switch-v3';\nimport { OrTagInputV3 as OrTagInput } from '@onereach/ui-components.or-tag-input-v3';\nimport { OrTimePickerV3 as OrTimePicker } from '@onereach/ui-components.or-time-picker-v3';\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DataGridVariant, DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentCell',\n\n components: {\n OrCheckbox,\n OrDatePicker,\n OrDateTimePicker,\n OrInput,\n OrRating,\n OrSelect,\n OrSwitch,\n OrTagInput,\n OrTimePicker,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: undefined as unknown as PropType<any>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'> & {name?: string;}>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n\n variant: {\n type: String as PropType<DataGridVariantValue>,\n default: DataGridVariant.Standard,\n },\n\n override: {\n type: Boolean,\n default: false,\n },\n\n stickyOffset: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: [\n 'input',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-cell-v3',\n ...Styles.DataGridTableContentCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ...!!props.features?.resizing && !!props.column?.name && props.column?.resizing !== false ? ['resizable'] : [],\n ...props.column?.stickiness === 'start' ? ['border-r-1'] : [],\n ...props.column?.stickiness === 'end' ? ['border-l-1'] : [],\n ...!!props.features?.resizing && !!props.column?.name && props.column?.resizing !== false ? ['border-r-1'] : [],\n ...!props.column?.control ? ['!theme-outline-transparent', 'dark:!theme-outline-transparent-dark', '!theme-border-disabled', 'dark:!theme-border-disabled-dark'] : [],\n ]);\n\n const rootInlineStyles = computed(() => {\n const styles: Partial<CSSStyleDeclaration> = {\n justifyContent: props.column?.alignment || (props.column ? undefined : 'center'),\n };\n\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n Object.assign(styles, {\n position: 'sticky',\n insetInlineStart: props.stickyOffset,\n zIndex: '2',\n });\n break;\n\n case 'end':\n Object.assign(styles, {\n position: 'sticky',\n insetInlineEnd: props.stickyOffset,\n zIndex: '2',\n });\n break;\n }\n }\n\n return styles;\n });\n\n const contentStyles = computed(() => {\n const isWrapping = props.column?.wrapping ?? (props.variant === DataGridVariant.Dynamic && !props.column?.control);\n const isFitContent = props.column?.fitContent;\n\n return [\n 'layout-row items-center w-full min-w-0 overflow-hidden',\n ...props.column?.alignment === 'end' ? ['justify-end', 'text-end'] : (props.column?.alignment === 'center' ? ['justify-center', 'text-center'] : []),\n ...Styles.DataGridTableContentCellContent.filter((style) => style !== 'truncate'),\n ...isWrapping ? ['whitespace-pre-wrap break-words'] : (isFitContent ? [] : ['truncate']),\n ];\n });\n\n const contentInlineStyles = computed(() => ({\n minWidth: props.column?.minWidth,\n maxWidth: props.column?.maxWidth,\n justifyContent: props.column?.alignment === 'end' ? undefined : (props.column?.alignment || (props.column ? undefined : 'center')),\n }));\n\n // State\n const model = computed({\n get: () => props.modelValue,\n\n set: (value) => {\n context.emit('input', value);\n },\n });\n\n const control = computed(() => {\n return props.column?.control;\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n contentStyles,\n contentInlineStyles,\n\n model,\n\n control,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableContentRow: string[] = [\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Stacking context\n 'relative z-[1]',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n\n // Theme (hover / children)\n 'children:hover:theme-background-surface-1',\n 'dark:children:hover:theme-background-surface-1-dark',\n\n // Theme (selected / children)\n 'children:selected:theme-background-surface-2',\n 'dark:children:selected:theme-background-surface-2-dark',\n\n // Theme (selected + hover / children)\n 'children:hover:selected:theme-background-surface-3',\n 'dark:children:hover:selected:theme-background-surface-3-dark',\n];\n\nexport const DataGridTableContentRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n interactive: {\n type: Boolean,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-row-v3',\n ...Styles.DataGridTableContentRow,\n ...Styles.DataGridTableContentRowVariants[props.variant],\n ...(props.interactive ? ['cursor-pointer'] : []),\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableContent: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContent',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-v3',\n ...Styles.DataGridTableContent,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooterCell: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterCell',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-cell-v3',\n ...Styles.DataGridTableFooterCell,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableFooterRow: string[] = [\n // Layout\n 'grid grid-cols-1',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableFooterRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-row-v3',\n ...Styles.DataGridTableFooterRow,\n ...Styles.DataGridTableFooterRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooter: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-v3',\n ...Styles.DataGridTableFooter,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeaderCell: string[] = [\n // Layout\n 'layout-row items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-disabled border-b-1 border-solid',\n 'dark:theme-border-disabled-dark',\n\n 'theme-outline-transparent outline-2 -outline-offset-1',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (Stacking)\n 'relative hover:z-[2]',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:theme-background-surface-variant-1',\n 'dark:[&.sticky-start]:theme-background-surface-variant-1-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:theme-background-surface-variant-1',\n 'dark:[&.sticky-end]:theme-background-surface-variant-1-dark',\n\n // Theme (.resizable)\n 'relative',\n\n // Border (conditional override for last column)\n 'last:border-r-0',\n];\n\nexport const DataGridTableHeaderCellResizeHandle: string[] = [\n // Position\n 'absolute top-0 bottom-0 end-0 z-50',\n\n // Box\n 'w-xs cursor-col-resize',\n\n // Theme\n 'theme-background-transparent',\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n @click=\"toggleSorting()\"\n >\n <template v-if=\"override\">\n <slot />\n </template>\n\n <div\n v-else\n :class=\"headerContentStyles\"\n :style=\"headerContentInlineStyles\"\n >\n <div\n :class=\"['truncate']\"\n :style=\"wrapInlineStyle\"\n >\n <slot />\n </div>\n\n <template v-if=\"model\">\n <OrIcon :icon=\"model.direction === 'asc' ? 'arrow_upward' : 'arrow_downward'\" />\n </template>\n </div>\n\n <div\n v-if=\"isResizable\"\n :class=\"resizeHandleStyles\"\n @mousedown.stop.prevent=\"onResizeStart\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { useElementSize } from '@vueuse/core';\nimport { PropType, computed, defineComponent, onUnmounted, ref, watch } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DataGridModelValue, DATA_GRID_DEFAULT_MIN_WIDTH, DATA_GRID_SELECTION_COLUMN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderCell',\n\n components: {\n OrIcon,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Object as PropType<NonNullable<DataGridModelValue>['sorting']>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'> & {name?: string;}>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n\n stickyOffset: {\n type: [Number, String],\n default: 0,\n },\n\n override: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'update:scrollOffset',\n 'remove:scrollOffset',\n\n 'update:column-width',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n // const isSortable = computed(() => (props.features?.sorting && !props.column?.sorting === false) || !!props.column?.name);\n const isSortable = computed(() => !!props.features?.sorting && !!props.column?.name && props.column?.sorting !== false);\n const isResizable = computed(() => !!props.features?.resizing && !!props.column?.name && props.column?.resizing !== false);\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-cell-v3',\n 'relative',\n ...Styles.DataGridTableHeaderCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ...isResizable.value ? ['resizable'] : [],\n ...isSortable.value ? ['interactivity-click'] : [],\n ...props.column?.stickiness === 'start' ? ['border-r-1'] : [],\n ...props.column?.stickiness === 'end' ? ['border-l-1'] : [],\n ...isResizable.value ? ['border-r-1'] : [],\n ]);\n\n const resizeHandleStyles = computed(() => [\n 'or-data-grid-table-header-cell-resize-handle-v3',\n ...Styles.DataGridTableHeaderCellResizeHandle,\n ]);\n\n const wrapInlineStyle = computed(() => {\n return {\n minWidth: props.column?.minWidth,\n maxWidth: props.column?.maxWidth,\n overflow: 'hidden',\n };\n });\n\n const rootInlineStyles = computed(() => {\n const styles: Partial<CSSStyleDeclaration> = {\n justifyContent: props.column?.alignment || (props.column ? undefined : 'center'),\n };\n\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n Object.assign(styles, {\n position: 'sticky',\n insetInlineStart: props.stickyOffset,\n zIndex: '11',\n });\n break;\n\n case 'end':\n Object.assign(styles, {\n position: 'sticky',\n insetInlineEnd: props.stickyOffset,\n zIndex: '11',\n });\n break;\n }\n }\n\n return styles;\n });\n\n // State\n const isResizing = ref(false);\n const model = computed({\n get: () => {\n if (!isSortable.value) {\n return;\n }\n\n return props.modelValue?.column === props.column?.name ? props.modelValue : undefined;\n },\n\n set: (value) => {\n context.emit('update:modelValue', value);\n },\n });\n\n const headerContentStyles = computed(() => [\n 'layout-row items-center w-full min-w-0 overflow-hidden',\n ...props.column?.alignment === 'end' ? ['flex-row-reverse'] : [],\n ]);\n\n const headerContentInlineStyles = computed(() => ({\n justifyContent: props.column?.alignment === 'end' ? undefined : props.column?.alignment,\n }));\n\n // Methods\n function toggleSorting(): void {\n if (!isSortable.value || isResizing.value) {\n return;\n }\n\n if (model.value) {\n model.value = {\n ...model.value,\n direction: model.value.direction === 'asc' ? 'desc' : 'asc',\n };\n } else {\n if (!props.column) {\n throw new Error('[OrDataGridTableHeaderCell]: `column` must be specified.');\n }\n\n model.value = {\n column: props.column?.name || '_check',\n direction: 'asc',\n };\n }\n }\n\n function onResizeStart(event: MouseEvent): void {\n const startX = event.pageX;\n const startWidth = root.value?.offsetWidth || 0;\n\n let rafId: number | null = null;\n const onMouseMove = (moveEvent: MouseEvent) => {\n isResizing.value = true;\n\n if (rafId !== null) return;\n\n rafId = requestAnimationFrame(() => {\n const deltaX = moveEvent.pageX - startX;\n let newWidth = Math.max(0, startWidth + deltaX);\n\n const min = props.column?.minWidth || (props.column?.name === '_check' ? DATA_GRID_SELECTION_COLUMN_WIDTH : DATA_GRID_DEFAULT_MIN_WIDTH);\n if (min && (min.endsWith('px') || !isNaN(Number(min)))) {\n const minPx = parseInt(min, 10);\n newWidth = Math.max(newWidth, minPx);\n }\n\n if (props.column?.maxWidth && (props.column.maxWidth.endsWith('px') || !isNaN(Number(props.column.maxWidth)))) {\n const maxPx = parseInt(props.column.maxWidth, 10);\n newWidth = Math.min(newWidth, maxPx);\n }\n\n context.emit('update:column-width', newWidth);\n rafId = null;\n });\n };\n\n const onMouseUp = () => {\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n rafId = null;\n }\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n\n setTimeout(() => {\n isResizing.value = false;\n }, 0);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n }\n\n // Effects\n const { width } = useElementSize(root, undefined, { box: 'border-box' });\n\n watch([\n root,\n width,\n () => props.column?.stickiness,\n () => props.column?.name,\n ], ([\n nextRoot,\n width,\n ], [\n ,,\n ,\n prevName,\n ]) => {\n if (prevName && prevName !== props.column?.name) {\n context.emit('remove:scrollOffset', prevName);\n }\n\n context.emit('update:scrollOffset', nextRoot, width, props.column);\n });\n\n onUnmounted(() => {\n if (props.column?.name) {\n context.emit('remove:scrollOffset', props.column.name);\n }\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n headerContentStyles,\n headerContentInlineStyles,\n wrapInlineStyle,\n resizeHandleStyles,\n isSortable,\n isResizable,\n\n model,\n\n toggleSorting,\n onResizeStart,\n\n DATA_GRID_DEFAULT_MIN_WIDTH,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableHeaderRow: string[] = [\n // Position\n 'sticky top-0 z-[10]',\n\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Typography\n 'typography-body-2-semibold',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-surface-variant-1',\n 'dark:children:theme-background-surface-variant-1-dark',\n];\n\nexport const DataGridTableHeaderRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-row-v3',\n ...Styles.DataGridTableHeaderRow,\n ...Styles.DataGridTableHeaderRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeader: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-v3',\n ...Styles.DataGridTableHeader,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTablePlaceholder: string[] = [\n // Layout\n 'layout-row justify-center items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n];\n\nexport const DataGridTablePlaceholderVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTablePlaceholder',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-placeholder-v3',\n ...Styles.DataGridTablePlaceholder,\n ...Styles.DataGridTablePlaceholderVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTable: string[] = [\n // Layout\n 'grid content-start',\n 'w-full min-w-0 min-h-0',\n\n // Overflow\n 'overflow-auto',\n\n // Interactivity\n 'interactivity-default',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DATA_GRID_DEFAULT_MIN_WIDTH, DATA_GRID_SELECTION_COLUMN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTable',\n\n props: {\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n columnWidths: {\n type: Object as PropType<Record<string, string>>,\n default: () => ({}),\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-v3',\n ...Styles.DataGridTable,\n ]);\n\n const rootInlineStyles = computed(() => {\n const gridTemplateColumns = props.columns.map((column) => {\n const columnWidth = props.columnWidths[column.name] || column.width;\n\n // If width is already a complex expression like minmax, use it as is\n if (columnWidth && (columnWidth.includes('minmax') || columnWidth.includes('calc'))) {\n return columnWidth;\n }\n\n const width = columnWidth ?? '1fr';\n const min = column.minWidth || (columnWidth ? DATA_GRID_DEFAULT_MIN_WIDTH : (column.fitContent ? 'max-content' : (column.stickiness ? 'max-content' : '120px')));\n const max = column.maxWidth || (columnWidth ? (width === 'max-content' ? 'max-content' : width) : (column.fitContent ? 'max-content' : (column.minWidth || column.stickiness ? 'max-content' : '1fr')));\n\n if (column.fitContent) {\n return 'max-content';\n }\n\n if (width.endsWith('px')) {\n return width;\n }\n\n return `minmax(${min}, ${max})`;\n });\n\n if ((props.features as DataGridFeatures).selecting) {\n return { gridTemplateColumns: `${DATA_GRID_SELECTION_COLUMN_WIDTH} ${gridTemplateColumns.join(' ')}` };\n }\n\n return { gridTemplateColumns: gridTemplateColumns.join(' ') };\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n };\n },\n});\n</script>\n","export const DataGridToolbar: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'gap-xl',\n 'pb-md',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridToolbar',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-toolbar-v3',\n ...Styles.DataGridToolbar,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridNotification: string[] = [\n // Position\n 'grid sticky z-10',\n\n // Layout\n 'col-span-full',\n];\n\nexport const DataGridNotificationPositionVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Position\n 'top-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Position\n 'top-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n\n","<template>\n <div :class=\"rootStyles\">\n <OrNotification\n v-bind=\"notification\"\n class=\"rounded-0 shadow-none\"\n @close=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrNotification>\n </div>\n</template>\n<script lang=\"ts\">\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { computed, defineComponent, PropType } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\n\nexport default defineComponent({\n components: {\n OrNotification,\n },\n props: {\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n required: true,\n },\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n emits: [\n 'close-notification',\n ],\n setup(props) {\n const rootStyles = computed(() => [\n 'or-data-grid-notification-v3',\n ...Styles.DataGridNotification,\n ...Styles.DataGridNotificationPositionVariants[props.variant],\n ]);\n\n return {\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableExtraRow: string[] = [\n // Layout\n 'grid col-span-full grid-cols-[subgrid]',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableExtraRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableExtraRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-extra-row-v3',\n ...Styles.DataGridTableExtraRow,\n ...Styles.DataGridTableExtraRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGrid: string[] = [\n // Layout\n 'layout-column min-h-0 w-full',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title'] || features.searching || $slots['search'] || $slots['extraActions']\">\n <OrDataGridHeader\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"$slots['title']\"\n v-slot:title\n >\n <slot :name=\"'title'\" />\n </template>\n\n <template\n v-if=\"features.searching\"\n v-slot:searching\n >\n <slot\n name=\"search\"\n v-bind=\"{updateSearchingModel, searchingModel}\"\n >\n <OrSearch v-model=\"searchingModel\" />\n </slot>\n </template>\n\n <template\n v-if=\"$slots['extraActions']\"\n v-slot:extraActions\n >\n <slot :name=\"'extraActions'\" />\n </template>\n </OrDataGridHeader>\n </template>\n\n <template v-if=\"$slots['toolbar']\">\n <OrDataGridToolbar\n :class=\"['shrink-0']\"\n >\n <slot :name=\"'toolbar'\" />\n </OrDataGridToolbar>\n </template>\n\n <OrDataGridTable\n ref=\"table\"\n :class=\"['grow', 'overscroll-none', { 'grid-rows-[auto_1fr]': items.length === 0 }]\"\n :style=\"tableInlineStyles\"\n :columns=\"actualColumns\"\n :column-widths=\"columnWidths\"\n :features=\"features\"\n >\n <OrDataGridTableHeader>\n <OrDataGridTableHeaderRow\n :variant=\"variant\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableHeaderCell\n :column=\"{ name: '_check', stickiness: 'start', alignment: 'center' }\"\n :sticky-offset=\"stickyOffsets.start.get('_check')\"\n :override=\"true\"\n class=\"!px-none\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n >\n <OrCheckbox\n v-model=\"selectingIndicator\"\n :indeterminate=\"!selectingIndicator && selectingModel.length > 0\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableHeaderCell>\n </template>\n\n <OrDataGridTableHeaderCell\n v-for=\"column of actualColumns\"\n :key=\"column.name\"\n v-model=\"sortingModel\"\n :column=\"column\"\n :features=\"features\"\n :sticky-offset=\"column.stickiness === 'start' ? stickyOffsets.start.get(column.name) : (column.stickiness === 'end' ? stickyOffsets.end.get(column.name) : undefined)\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n @update:column-width=\"(width) => updateColumnWidth(column, width)\"\n >\n {{ column.label }}\n </OrDataGridTableHeaderCell>\n </OrDataGridTableHeaderRow>\n </OrDataGridTableHeader>\n <OrDataGridNotification\n v-if=\"notification\"\n :notification=\"notification\"\n :variant=\"variant\"\n @close-notification=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n v-slot:notification\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrDataGridNotification>\n <OrDataGridTableContent>\n <template v-if=\"$slots['before-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n class=\"border-b-1\"\n >\n <slot :name=\"'before-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n <template v-if=\"loading\">\n <OrDataGridTableContentRow\n v-for=\"n of skeletonsLength\"\n :key=\"n\"\n :variant=\"variant\"\n :interactive=\"interactiveRows\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ name: '_check', stickiness: 'start', alignment: 'center' }\"\n :sticky-offset=\"stickyOffsets.start.get('_check')\"\n :variant=\"variant\"\n :override=\"true\"\n class=\"!px-none\"\n >\n <OrSkeletonText />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"column of actualColumns\"\n :key=\"column.name\"\n :column=\"column\"\n :features=\"features\"\n :sticky-offset=\"column.stickiness === 'start' ? stickyOffsets.start.get(column.name) : (column.stickiness === 'end' ? stickyOffsets.end.get(column.name) : undefined)\"\n :variant=\"variant\"\n :override=\"true\"\n >\n <slot\n name=\"column-loading\"\n :column=\"column\"\n >\n <OrSkeletonText />\n </slot>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"items.length > 0\">\n <OrDataGridTableContentRow\n v-for=\"item of actualItems\"\n :key=\"getItemId(item)\"\n :variant=\"variant\"\n :selected=\"selectingModel.includes(getItemId(item))\"\n :interactive=\"interactiveRows\"\n @mouseenter=\"() => handleMouseEnterRow(item)\"\n @mouseleave=\"() => handleMouseLeaveRow(item)\"\n @click=\"() => handleRowClick(item)\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ name: '_check', stickiness: 'start', alignment: 'center' }\"\n :sticky-offset=\"stickyOffsets.start.get('_check')\"\n :variant=\"variant\"\n :override=\"true\"\n :force-state=\"'none'\"\n class=\"!px-none\"\n @mouseenter=\"() => handleMouseEnterCell(item, 'selecting', selectingModel.indexOf(getItemId(item)) !== -1)\"\n @mouseleave=\"() => handleMouseLeaveCell(item, 'selecting', selectingModel.indexOf(getItemId(item)) !== -1)\"\n >\n <OrCheckbox\n v-model=\"selectingModel\"\n :value=\"getItemId(item)\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"(column, columnIndex) of actualColumns\"\n :key=\"column.name\"\n :model-value=\"getItemValue(item, column.name)\"\n :column=\"column\"\n :features=\"features\"\n :sticky-offset=\"column.stickiness === 'start' ? stickyOffsets.start.get(column.name) : (column.stickiness === 'end' ? stickyOffsets.end.get(column.name) : undefined)\"\n :variant=\"variant\"\n @input=\"onInput(item, column.name, $event)\"\n @focusin=\"scrollTo($event)\"\n @mouseenter=\"() => handleMouseEnterCell(item, column.name, getItemValue(item, column.name))\"\n @mouseleave=\"() => handleMouseLeaveCell(item, column.name, getItemValue(item, column.name))\"\n >\n <div\n class=\"flex items-center gap-xs h-full w-full min-w-0\"\n :style=\"columnIndex === 0 ? { paddingLeft: ((item.level || 0) * 24) + 'px' } : undefined\"\n :class=\"[\n column.alignment === 'end' ? 'justify-end' : (column.alignment === 'center' ? 'justify-center' : 'justify-start')\n ]\"\n >\n <div\n v-if=\"columnIndex === 0 && features.hierarchy\"\n class=\"flex items-center justify-center w-6 h-6 shrink-0\"\n >\n <OrIconButton\n v-if=\"item.children && item.children.length > 0\"\n :icon=\"'chevron_right'\"\n size=\"m\"\n :class=\"['transition-transform duration-200', { 'rotate-90': isExpanded(item) }]\"\n @click.stop=\"toggleExpand(item)\"\n @mousedown.prevent\n />\n </div>\n\n <div\n class=\"min-w-0\"\n :class=\"[\n columnIndex === 0 ? 'flex-grow' : '',\n column.alignment === 'end' ? 'text-end' : (column.alignment === 'center' ? 'text-center' : 'text-start'),\n (column.wrapping !== undefined && column.wrapping !== null ? column.wrapping : (variant === 'dynamic' && !column.control)) ? 'whitespace-pre-wrap break-words' : (column.fitContent ? '' : 'truncate')\n ]\"\n >\n <slot\n :name=\"column.name\"\n :column=\"column\"\n :item=\"item\"\n >{{ getItemValue(item, column.name) }}</slot>\n </div>\n </div>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"$slots['noSearchResults'] && ((features.filtering && filteringModel) || (features.searching && searchingModel))\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot\n :name=\"'noSearchResults'\"\n :filter=\"filteringModel\"\n :search=\"searchingModel\"\n />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-else-if=\"$slots['empty']\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot :name=\"'empty'\" />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-if=\"$slots['after-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n >\n <slot :name=\"'after-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n </OrDataGridTableContent>\n </OrDataGridTable>\n\n <template v-if=\"$slots['extra-row']\">\n <OrDataGridTableFooter>\n <OrDataGridTableFooterRow\n :class=\"['shrink-0']\"\n :variant=\"variant\"\n >\n <OrDataGridTableFooterCell>\n <slot :name=\"'extra-row'\" />\n </OrDataGridTableFooterCell>\n </OrDataGridTableFooterRow>\n </OrDataGridTableFooter>\n </template>\n\n <template v-if=\"$slots['actions'] || showSelectingCouter || features.paging\">\n <OrDataGridFooter\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"features.selecting && selectingModel.length > 0\"\n v-slot:status\n >\n {{ selectingModel.length }} row(s) selected\n </template>\n\n <template\n v-if=\"$slots['actions']\"\n v-slot:actions\n >\n <slot :name=\"'actions'\" />\n </template>\n\n <template\n v-if=\"features.paging\"\n v-slot:paging\n >\n <OrPagination\n ref=\"pagination\"\n v-model=\"pagingModel\"\n :length=\"features.paging.length\"\n :options=\"features.paging.options\"\n />\n </template>\n </OrDataGridFooter>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { flatten } from '@onereach/ui-components-common/helpers';\nimport { Id } from '@onereach/ui-components-common/types';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { OrPaginationV3 as OrPagination } from '@onereach/ui-components.or-pagination-v3';\nimport { OrSearchV3 as OrSearch } from '@onereach/ui-components.or-search-v3';\nimport { OrSkeletonTextV3 as OrSkeletonText } from '@onereach/ui-components.or-skeleton-v3';\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core';\nimport { PropType, computed, defineComponent, onMounted, reactive, ref, watch } from 'vue';\n\nimport * as Partials from './partials';\nimport * as Styles from './styles';\nimport { DataGridColumn, DataGridFeatures, DataGridItem, DataGridItemKey, DataGridModelValue, DataGridRow, DataGridVariant, DataGridVariantValue } from './types';\n\n// Vue 2 doesn't support generically typed components\ntype T = DataGridRow<object>;\n\nexport default defineComponent({\n name: 'OrDataGrid',\n\n components: {\n OrCheckbox,\n OrDataGridFooter: Partials.OrDataGridFooter,\n OrDataGridHeader: Partials.OrDataGridHeader,\n OrDataGridTable: Partials.OrDataGridTable,\n OrDataGridTableContent: Partials.OrDataGridTableContent,\n OrDataGridTableContentCell: Partials.OrDataGridTableContentCell,\n OrDataGridTableContentRow: Partials.OrDataGridTableContentRow,\n OrDataGridTableFooter: Partials.OrDataGridTableFooter,\n OrDataGridTableFooterCell: Partials.OrDataGridTableFooterCell,\n OrDataGridTableFooterRow: Partials.OrDataGridTableFooterRow,\n OrDataGridTableExtraRow: Partials.OrDataGridTableExtraRow,\n OrDataGridTableHeader: Partials.OrDataGridTableHeader,\n OrDataGridTableHeaderCell: Partials.OrDataGridTableHeaderCell,\n OrDataGridTableHeaderRow: Partials.OrDataGridTableHeaderRow,\n OrDataGridTablePlaceholder: Partials.OrDataGridTablePlaceholder,\n OrDataGridToolbar: Partials.OrDataGridToolbar,\n OrDataGridNotification: Partials.OrDataGridNotification,\n OrIconButton,\n OrPagination,\n OrSearch,\n OrSkeletonText,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<DataGridModelValue>,\n default: undefined,\n },\n\n items: {\n type: Array as PropType<DataGridItem<T>[]>,\n default: () => [],\n },\n\n itemKey: {\n type: [String, Function] as PropType<DataGridItemKey<T>>,\n default: 'id',\n },\n\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n variant: {\n type: String as PropType<DataGridVariantValue>,\n default: () => DataGridVariant.Standard,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: () => ({}),\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n default: undefined,\n },\n\n interactiveRows: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n 'update:item',\n 'close-notification',\n 'hover:row',\n 'blur:row',\n 'hover:cell',\n 'blur:cell',\n 'click:row',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const pagination = ref<InstanceType<typeof OrPagination>>();\n const table = ref<InstanceType<typeof Partials.OrDataGridTable>>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-v3',\n ...Styles.DataGrid,\n ]);\n\n const tableInlineStyles = computed(() => {\n const styles: Record<string, string> = {\n scrollPaddingInlineStart: `${[...scrollOffsetStart.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n scrollPaddingInlineEnd: `${[...scrollOffsetEnd.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n };\n\n scrollOffsetStart.forEach((value, key) => {\n styles[`--or-dg-col-width-${key}`] = `${value}px`;\n });\n\n scrollOffsetEnd.forEach((value, key) => {\n styles[`--or-dg-col-width-${key}`] = `${value}px`;\n });\n\n return styles;\n });\n\n // State\n const selectingIndicator = computed({\n get: () => {\n return !!(props.items && props.items.length) && props.items.every((item) => selectingModel.value.includes(getItemId(item)));\n },\n\n set: (value) => {\n if (value && props.items) {\n selectingModel.value = [\n ...new Set([\n ...selectingModel.value,\n ...props.items.map((item) => getItemId(item)),\n ]),\n ];\n } else {\n selectingModel.value = [];\n }\n },\n });\n\n const selectingModel = computed({\n get: () => (props.modelValue && props.modelValue.selecting) || [],\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n selecting: value,\n } as DataGridModelValue);\n },\n });\n\n const filteringModel = computed({\n get: () => props.modelValue && props.modelValue.filtering,\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n filtering: value,\n\n paging: props.modelValue && props.modelValue.paging ? {\n ...props.modelValue.paging,\n offset: 0,\n } : undefined,\n } as DataGridModelValue);\n },\n });\n\n const searchingModel = computed({\n get: () => props.modelValue && props.modelValue.searching,\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n searching: value,\n\n paging: props.modelValue && props.modelValue.paging ? {\n ...props.modelValue.paging,\n offset: 0,\n } : undefined,\n } as DataGridModelValue);\n },\n });\n\n const sortingModel = computed({\n get: () => props.modelValue && props.modelValue.sorting,\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n sorting: value,\n\n paging: props.modelValue && props.modelValue.paging ? {\n ...props.modelValue.paging,\n offset: 0,\n } : undefined,\n } as DataGridModelValue);\n },\n });\n\n const pagingModel = computed({\n get: () => props.modelValue && props.modelValue.paging,\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n paging: value,\n } as DataGridModelValue);\n },\n });\n\n const expandedModel = computed({\n get: () => (props.modelValue && props.modelValue.expanded) || [],\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n expanded: value,\n } as DataGridModelValue);\n },\n });\n\n const isExpanded = (item: DataGridItem<T>) => expandedModel.value.indexOf(getItemId(item)) !== -1;\n\n const toggleExpand = (item: DataGridItem<T>) => {\n if (!item.children || item.children.length === 0) return;\n const itemId = getItemId(item);\n const expanded = expandedModel.value;\n const index = expanded.indexOf(itemId);\n\n if (index === -1) {\n expandedModel.value = [...expanded, itemId];\n } else {\n expandedModel.value = expanded.filter((id) => id !== itemId);\n }\n };\n\n watch(() => pagingModel.value && pagingModel.value.offset, () => {\n if (table.value && table.value.root) {\n table.value.root.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n });\n\n const actualItems = computed(() => {\n if (!props.features.hierarchy || !props.items) {\n return props.items || [];\n }\n\n return flatten(props.items, isExpanded);\n });\n\n const showSelectingCouter = computed(() => {\n return props.features.selecting &&\n (typeof props.features.selecting === 'object' ? props.features.selecting.showCounter !== false : true);\n });\n\n const selectingDisabled = computed(() => {\n return !props.items || props.items.length === 0\n || props.loading\n || (typeof props.features.selecting === 'object' && props.features.selecting.disabled);\n\n });\n\n const skeletonsLength = computed(() => {\n const paging = pagingModel.value;\n return (paging && paging.limit) || 10;\n });\n\n const columnWidths = ref<Record<string, string>>({});\n\n const actualColumns = computed(() => {\n return props.columns;\n });\n\n const scrollOffsetStart = reactive(new Map<string, number>());\n const scrollOffsetEnd = reactive(new Map<string, number>());\n\n const stickyOffsets = computed(() => {\n const start = new Map<string, string>();\n const end = new Map<string, string>();\n\n const startColumns: DataGridColumn[] = [];\n const endColumns: DataGridColumn[] = [];\n\n if (props.features.selecting) {\n startColumns.push({\n name: '_check',\n stickiness: 'start',\n alignment: 'center',\n });\n }\n\n actualColumns.value.forEach((column) => {\n if (column.stickiness === 'start') {\n startColumns.push(column);\n } else if (column.stickiness === 'end') {\n endColumns.push(column);\n }\n });\n\n let currentStartExpression = '0px';\n startColumns.forEach((column) => {\n start.set(column.name, currentStartExpression);\n currentStartExpression = `calc(${currentStartExpression} + var(--or-dg-col-width-${column.name}, 0px))`;\n });\n\n let currentEndExpression = '0px';\n // End columns are stacked from right to left\n [...endColumns].reverse().forEach((column) => {\n end.set(column.name, currentEndExpression);\n currentEndExpression = `calc(${currentEndExpression} + var(--or-dg-col-width-${column.name}, 0px))`;\n });\n\n return {\n start,\n end,\n };\n });\n\n // Methods\n function updateSearchingModel(value: string): void {\n searchingModel.value = value;\n }\n\n function updateScrollOffset(header: HTMLElement, offset: number, column: DataGridColumn): void {\n switch (column.stickiness) {\n case 'start':\n scrollOffsetStart.set(column.name, offset);\n scrollOffsetEnd.delete(column.name);\n\n break;\n\n case 'end':\n scrollOffsetStart.delete(column.name);\n scrollOffsetEnd.set(column.name, offset);\n\n break;\n\n default:\n removeScrollOffset(column.name);\n break;\n }\n }\n\n function handleMouseEnterRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('hover:row', item);\n }\n\n function handleMouseLeaveRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('blur:row', item);\n }\n\n function handleMouseEnterCell(item: DataGridItem<T>, columnName: string, value: unknown): void {\n if (!props.interactiveRows) return;\n context.emit('hover:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleMouseLeaveCell(item: DataGridItem<T>, columnName: string, value: unknown): void {\n if (!props.interactiveRows) return;\n context.emit('blur:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleRowClick(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('click:row', item);\n }\n\n const saveColumnWidthsDebounced = useDebounceFn(saveColumnWidths, 500);\n\n function saveColumnWidths(): void {\n if (typeof window === 'undefined' || !props.features.storageKey) return;\n\n const widths: Record<string, string> = {};\n actualColumns.value.forEach((column) => {\n const width = columnWidths.value[column.name] || (column as DataGridColumn).width;\n if (column.name && width) {\n widths[column.name] = width;\n }\n });\n\n // Avoid saving if we have no width overrides (widths are same as initial)\n // but if we had some and now we don't, we should clear.\n // Actually, it's safer to always save if storageKey is present.\n\n localStorage.setItem(`or-data-grid-v3-widths-${props.features.storageKey}`, JSON.stringify({\n widths,\n containerWidth: root.value?.offsetWidth,\n }));\n }\n\n const isResizing = ref(false);\n\n function updateColumnWidth(column: DataGridColumn, width: number): void {\n isResizing.value = true;\n columnWidths.value = {\n ...columnWidths.value,\n [column.name]: `${width}px`,\n };\n\n if (props.features.storageKey) {\n saveColumnWidthsDebounced();\n }\n\n resetIsResizingDebounced();\n }\n\n const resetIsResizingDebounced = useDebounceFn(() => {\n isResizing.value = false;\n }, 1000);\n\n const initialContainerWidth = ref(0);\n\n function loadColumnWidths(): void {\n if (typeof window === 'undefined' || !props.features.storageKey) return;\n\n try {\n const stored = localStorage.getItem(`or-data-grid-v3-widths-${props.features.storageKey}`);\n if (stored) {\n const data = JSON.parse(stored);\n const widths = data.widths || data; // Fallback for old format\n const containerWidth = data.containerWidth;\n\n if (containerWidth && root.value && Math.abs(root.value.offsetWidth - containerWidth) > 10) {\n initialContainerWidth.value = containerWidth;\n return;\n }\n\n columnWidths.value = widths;\n }\n } catch (e) {\n console.error('[OrDataGrid]: Failed to load column widths from localStorage', e);\n }\n }\n\n useResizeObserver(root, (entries) => {\n const entry = entries[0];\n const { width } = entry.contentRect;\n if (width <= 0 || isResizing.value || !props.features.storageKey) return;\n\n if (Object.keys(columnWidths.value).length > 0) {\n const stored = localStorage.getItem(`or-data-grid-v3-widths-${props.features.storageKey}`);\n if (stored) {\n try {\n const data = JSON.parse(stored);\n const containerWidth = data.containerWidth;\n if (containerWidth && Math.abs(width - containerWidth) > 10) {\n columnWidths.value = {};\n }\n } catch {\n // ignore\n }\n }\n }\n });\n\n onMounted(() => {\n loadColumnWidths();\n });\n\n function removeScrollOffset(name: string): void {\n scrollOffsetStart.delete(name);\n scrollOffsetEnd.delete(name);\n }\n\n // Helpers\n function scrollTo(event: FocusEvent): void {\n (event.currentTarget as HTMLElement).scrollIntoView({ block: 'nearest' });\n }\n\n function getItemValue(item: DataGridItem<T>, columnName: string): unknown {\n return (item as Record<string, unknown>)[columnName];\n }\n\n function getItemId(item: DataGridItem<T>): Id {\n if (typeof props.itemKey === 'function') {\n return props.itemKey(item);\n }\n\n return getItemValue(item, props.itemKey) as Id;\n }\n\n function setItemValue(item: DataGridItem<T>, columnName: string, value: unknown): void {\n (item as Record<string, unknown>)[columnName] = value;\n }\n\n return {\n root,\n rootStyles,\n\n pagination,\n\n tableInlineStyles,\n\n selectingIndicator,\n showSelectingCouter,\n selectingDisabled,\n skeletonsLength,\n actualColumns,\n actualItems,\n\n handleMouseEnterRow,\n handleMouseLeaveRow,\n handleMouseEnterCell,\n handleMouseLeaveCell,\n handleRowClick,\n toggleExpand,\n isExpanded,\n\n updateColumnWidth,\n\n columnWidths,\n\n selectingModel,\n filteringModel,\n searchingModel,\n sortingModel,\n pagingModel,\n\n stickyOffsets,\n\n updateScrollOffset,\n removeScrollOffset,\n\n updateSearchingModel,\n\n getItemValue,\n getItemId,\n\n scrollToTop: () => {\n if (table.value && table.value.root) {\n table.value.root.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n },\n\n scrollTo,\n onInput: (item: DataGridItem<T>, columnName: string, value: unknown) => {\n setItemValue(item, columnName, value);\n context.emit('update:item', item);\n },\n };\n },\n});\n</script>\n"],"names":["DataGridFooter","DataGridFooterStatus","_sfc_main$g","defineComponent","root","ref","rootStyles","computed","Styles.DataGridFooter","statusStyles","Styles.DataGridFooterStatus","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","_createCommentVNode","_renderSlot","DataGridHeader","DataGridHeaderTitle","_sfc_main$f","Styles.DataGridHeader","titleStyles","Styles.DataGridHeaderTitle","DataGridVariant","DATA_GRID_DEFAULT_MIN_WIDTH","DATA_GRID_SELECTION_COLUMN_WIDTH","DataGridTableContentCell","DataGridTableContentCellContent","_sfc_main$e","OrCheckbox","OrDatePicker","OrDateTimePicker","OrInput","OrRating","OrSelect","OrSwitch","OrTagInput","OrTimePicker","props","context","Styles.DataGridTableContentCell","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","rootInlineStyles","styles","contentStyles","isWrapping","isFitContent","Styles.DataGridTableContentCellContent","style","contentInlineStyles","model","value","control","_resolveComponent","_normalizeStyle","_createBlock","_component_OrInput","$event","_component_OrRating","_component_OrSelect","_component_OrCheckbox","_component_OrSwitch","_component_OrDatePicker","_component_OrTimePicker","_component_OrDateTimePicker","_component_OrTagInput","DataGridTableContentRow","DataGridTableContentRowVariants","_sfc_main$d","Styles.DataGridTableContentRow","Styles.DataGridTableContentRowVariants","DataGridTableContent","_sfc_main$c","Styles.DataGridTableContent","DataGridTableFooterCell","_sfc_main$b","Styles.DataGridTableFooterCell","DataGridTableFooterRow","DataGridTableFooterRowVariants","_sfc_main$a","Styles.DataGridTableFooterRow","Styles.DataGridTableFooterRowVariants","DataGridTableFooter","_sfc_main$9","Styles.DataGridTableFooter","DataGridTableHeaderCell","DataGridTableHeaderCellResizeHandle","_sfc_main$8","OrIcon","isSortable","isResizable","Styles.DataGridTableHeaderCell","resizeHandleStyles","Styles.DataGridTableHeaderCellResizeHandle","wrapInlineStyle","isResizing","headerContentStyles","headerContentInlineStyles","toggleSorting","onResizeStart","event","startX","startWidth","rafId","onMouseMove","moveEvent","deltaX","newWidth","min","minPx","maxPx","onMouseUp","width","useElementSize","watch","nextRoot","prevName","onUnmounted","_component_OrIcon","_withModifiers","args","DataGridTableHeaderRow","DataGridTableHeaderRowVariants","_sfc_main$7","Styles.DataGridTableHeaderRow","Styles.DataGridTableHeaderRowVariants","DataGridTableHeader","_sfc_main$6","Styles.DataGridTableHeader","DataGridTablePlaceholder","DataGridTablePlaceholderVariants","_sfc_main$5","Styles.DataGridTablePlaceholder","Styles.DataGridTablePlaceholderVariants","DataGridTable","_sfc_main$4","Styles.DataGridTable","gridTemplateColumns","column","columnWidth","max","DataGridToolbar","_sfc_main$3","Styles.DataGridToolbar","DataGridNotification","DataGridNotificationPositionVariants","_sfc_main$2","OrNotification","Styles.DataGridNotification","Styles.DataGridNotificationPositionVariants","_createVNode","_component_OrNotification","_mergeProps","_withCtx","DataGridTableExtraRow","DataGridTableExtraRowVariants","_sfc_main$1","Styles.DataGridTableExtraRow","Styles.DataGridTableExtraRowVariants","DataGrid","_sfc_main","Partials.OrDataGridFooter","Partials.OrDataGridHeader","Partials.OrDataGridTable","Partials.OrDataGridTableContent","Partials.OrDataGridTableContentCell","Partials.OrDataGridTableContentRow","Partials.OrDataGridTableFooter","Partials.OrDataGridTableFooterCell","Partials.OrDataGridTableFooterRow","Partials.OrDataGridTableExtraRow","Partials.OrDataGridTableHeader","Partials.OrDataGridTableHeaderCell","Partials.OrDataGridTableHeaderRow","Partials.OrDataGridTablePlaceholder","Partials.OrDataGridToolbar","Partials.OrDataGridNotification","OrIconButton","OrPagination","OrSearch","OrSkeletonText","pagination","table","Styles.DataGrid","tableInlineStyles","scrollOffsetStart","accumulator","scrollOffsetEnd","key","selectingIndicator","item","selectingModel","getItemId","filteringModel","searchingModel","sortingModel","pagingModel","expandedModel","isExpanded","toggleExpand","itemId","expanded","id","actualItems","flatten","showSelectingCouter","selectingDisabled","skeletonsLength","paging","columnWidths","actualColumns","reactive","stickyOffsets","start","end","startColumns","endColumns","currentStartExpression","currentEndExpression","updateSearchingModel","updateScrollOffset","header","offset","removeScrollOffset","handleMouseEnterRow","handleMouseLeaveRow","handleMouseEnterCell","columnName","handleMouseLeaveCell","handleRowClick","saveColumnWidthsDebounced","useDebounceFn","saveColumnWidths","widths","updateColumnWidth","resetIsResizingDebounced","initialContainerWidth","loadColumnWidths","stored","data","containerWidth","e","useResizeObserver","entries","entry","onMounted","name","scrollTo","getItemValue","setItemValue","_component_OrDataGridHeader","_createSlots","_normalizeProps","_guardReactiveProps","_component_OrSearch","_component_OrDataGridToolbar","_component_OrDataGridTable","_component_OrDataGridTableHeader","_component_OrDataGridTableHeaderRow","_component_OrDataGridTableHeaderCell","_Fragment","_renderList","_component_OrDataGridNotification","_component_OrDataGridTableContent","_component_OrDataGridTableExtraRow","n","_component_OrDataGridTableContentRow","_component_OrDataGridTableContentCell","columnIndex","_createElementVNode","_component_OrIconButton","_component_OrDataGridTablePlaceholder","_component_OrDataGridTableFooter","_component_OrDataGridTableFooterRow","_component_OrDataGridTableFooterCell","_component_OrDataGridFooter","_component_OrPagination"],"mappings":"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"}
1
+ {"version":3,"file":"OrDataGrid-CTRE2equ.mjs","sources":["../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/OrDataGridFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/OrDataGridHeader.vue","../../../components/or-data-grid-v3/src/types.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/OrDataGridTableContentCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/OrDataGridTableContentRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/OrDataGridTableContent.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/OrDataGridTableFooterCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/OrDataGridTableFooterRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/OrDataGridTableFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/OrDataGridTableHeaderCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/OrDataGridTableHeaderRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/OrDataGridTableHeader.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/OrDataGridTablePlaceholder.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/OrDataGridTable.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/OrDataGridToolbar.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/OrDataGridNotification.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/OrDataGridTableExtraRow.vue","../../../components/or-data-grid-v3/src/styles.ts","../../../components/or-data-grid-v3/src/OrDataGrid.vue"],"sourcesContent":["export const DataGridFooter: string[] = [\n // Layout\n 'layout-row',\n\n // Interactivity\n 'interactivity-default',\n\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xl',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n];\n\nexport const DataGridFooterStatus: string[] = [\n // Typography\n 'typography-body-2-semibold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['status']\">\n <div :class=\"statusStyles\">\n <slot :name=\"'status'\" />\n </div>\n </template>\n\n <slot :name=\"'actions'\" />\n\n <template v-if=\"$slots['paging']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'paging'\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-footer-v3',\n ...Styles.DataGridFooter,\n ]);\n\n const statusStyles = computed(() => [\n ...Styles.DataGridFooterStatus,\n ]);\n\n return {\n root,\n rootStyles,\n\n statusStyles,\n };\n },\n});\n</script>\n","export const DataGridHeader: string[] = [\n // Layout\n 'layout-row items-start gap-md',\n\n // Interactivity\n 'interactivity-default',\n\n // Spacing\n 'pb-md',\n];\n\nexport const DataGridHeaderTitle: string[] = [\n // Typography\n 'typography-headline-2',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title']\">\n <div :class=\"titleStyles\">\n <slot :name=\"'title'\" />\n </div>\n </template>\n\n <template v-if=\"$slots['searching'] || $slots['extraActions']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'searching'\" />\n\n <template v-if=\"$slots['extraActions']\">\n <slot :name=\"'extraActions'\" />\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-header-v3',\n ...Styles.DataGridHeader,\n ]);\n\n const titleStyles = computed(() => [\n ...Styles.DataGridHeaderTitle,\n ]);\n\n return {\n root,\n rootStyles,\n\n titleStyles,\n };\n },\n});\n</script>\n","import { DataModel, Id, ModelValue } from '@onereach/ui-components-common/types';\nimport { PaginationModelValue } from '@onereach/ui-components.or-pagination-v3';\nimport { SelectItem } from '@onereach/ui-components.or-select-v3';\n\nexport type DataGridModelValue = ModelValue<{\n selecting: ModelValue<Id[]>;\n\n // TODO\n filtering: never;\n\n searching: ModelValue<string>;\n\n sorting: ModelValue<{\n column: DataGridColumn['name'];\n direction: 'asc' | 'desc';\n }>;\n\n paging: PaginationModelValue;\n expanded: ModelValue<Id[]>;\n}>;\n\nexport type DataGridRow<T extends object = DataModel> = T;\n\nexport type DataGridItem<T extends object = DataGridRow> = T & {\n children?: DataGridItem<T>[];\n level?: number;\n};\n\nexport type DataGridItemKey<T extends object = DataGridRow> = string | ((item: DataGridItem<T>) => Id);\n\nexport type DataGridColumn = {\n name: string;\n label?: string;\n\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n\n alignment?: 'start' | 'end' | 'center';\n stickiness?: 'start' | 'end';\n sorting?: boolean;\n resizing?: boolean;\n wrapping?: boolean;\n fitContent?: boolean;\n\n control?: {\n type: 'text' | 'number' | 'rating' | 'select' | 'checkbox' | 'switch' | 'date' | 'time' | 'datetime' | 'tags';\n options?: SelectItem[];\n };\n};\n\nexport enum DataGridVariant {\n Standard = 'standard',\n Comfortable = 'comfortable',\n Compact = 'compact',\n Dynamic = 'dynamic',\n}\n\nexport type DataGridVariantValue = `${DataGridVariant}`;\n\nexport type DataGridFeatures = {\n selecting?: boolean | {\n showCounter?: boolean;\n disabled?: boolean;\n };\n filtering?: boolean;\n searching?: boolean;\n sorting?: boolean;\n hierarchy?: boolean;\n\n paging?: {\n length: number;\n options?: number[];\n };\n\n resizing?: boolean;\n storageKey?: string;\n};\n\nexport const DATA_GRID_DEFAULT_MIN_WIDTH = '52px';\nexport const DATA_GRID_SELECTION_COLUMN_WIDTH = '42px';\n","export const DataGridTableContentCell: string[] = [\n // Layout\n 'layout-row items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-disabled border-b-1 border-solid',\n 'dark:theme-border-disabled-dark',\n\n 'theme-outline-transparent outline-2 -outline-offset-1',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (focus)\n 'focus-within:theme-border-primary',\n 'dark:focus-within:theme-border-primary-dark',\n\n 'focus-within:theme-outline-primary',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (Stacking)\n 'relative',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:theme-background-default',\n 'dark:[&.sticky-start]:theme-background-default-dark',\n 'hover:[&.sticky-start]:theme-background-surface-1 dark:hover:[&.sticky-start]:theme-background-surface-1-dark',\n 'selected:[&.sticky-start]:theme-background-surface-2 dark:selected:[&.sticky-start]:theme-background-surface-2-dark',\n 'hover:selected:[&.sticky-start]:theme-background-surface-3 dark:hover:selected:[&.sticky-start]:theme-background-surface-3-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:theme-background-default',\n 'dark:[&.sticky-end]:theme-background-default-dark',\n 'hover:[&.sticky-end]:theme-background-surface-1 dark:hover:[&.sticky-end]:theme-background-surface-1-dark',\n 'selected:[&.sticky-end]:theme-background-surface-2 dark:selected:[&.sticky-end]:theme-background-surface-2-dark',\n 'hover:selected:[&.sticky-end]:theme-background-surface-3 dark:hover:selected:[&.sticky-end]:theme-background-surface-3-dark',\n\n // Theme (.resizable)\n 'relative',\n\n // Border (conditional override for last row/column)\n 'group-last:border-b-0',\n 'last:border-r-0',\n];\n\nexport const DataGridTableContentCellContent: string[] = [\n // interactivity\n 'interactivity-select',\n\n // Typography\n 'truncate',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <template v-if=\"override\">\n <slot />\n </template>\n\n <template v-else-if=\"control\">\n <div\n :class=\"contentStyles\"\n :style=\"contentInlineStyles\"\n >\n <template v-if=\"control.type === 'text'\">\n <OrInput\n v-model=\"model\"\n :type=\"'text'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'number'\">\n <OrInput\n v-model=\"model\"\n :type=\"'number'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'rating'\">\n <OrRating\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'select'\">\n <OrSelect\n v-model=\"model\"\n :options=\"control.options\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'checkbox'\">\n <OrCheckbox\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'switch'\">\n <OrSwitch\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'date'\">\n <OrDatePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'time'\">\n <OrTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'datetime'\">\n <OrDateTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'tags'\">\n <OrTagInput\n v-model=\"model\"\n :variant=\"'embedded'\"\n :class=\"['grow min-w-0']\"\n />\n </template>\n </div>\n </template>\n\n <template v-else>\n <div\n :class=\"contentStyles\"\n :style=\"contentInlineStyles\"\n >\n <slot />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrDatePickerV3 as OrDatePicker } from '@onereach/ui-components.or-date-picker-v3';\nimport { OrDateTimePickerV3 as OrDateTimePicker } from '@onereach/ui-components.or-date-time-picker-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrRatingV3 as OrRating } from '@onereach/ui-components.or-rating-v3';\nimport { OrSelectV3 as OrSelect } from '@onereach/ui-components.or-select-v3';\nimport { OrSwitchV3 as OrSwitch } from '@onereach/ui-components.or-switch-v3';\nimport { OrTagInputV3 as OrTagInput } from '@onereach/ui-components.or-tag-input-v3';\nimport { OrTimePickerV3 as OrTimePicker } from '@onereach/ui-components.or-time-picker-v3';\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DataGridVariant, DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentCell',\n\n components: {\n OrCheckbox,\n OrDatePicker,\n OrDateTimePicker,\n OrInput,\n OrRating,\n OrSelect,\n OrSwitch,\n OrTagInput,\n OrTimePicker,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: undefined as unknown as PropType<any>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'> & {name?: string;}>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n\n variant: {\n type: String as PropType<DataGridVariantValue>,\n default: DataGridVariant.Standard,\n },\n\n override: {\n type: Boolean,\n default: false,\n },\n\n stickyOffset: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: [\n 'input',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-cell-v3',\n ...Styles.DataGridTableContentCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ...!!props.features?.resizing && !!props.column?.name && props.column?.resizing !== false ? ['resizable'] : [],\n ...props.column?.stickiness === 'start' ? ['border-r-1'] : [],\n ...props.column?.stickiness === 'end' ? ['border-l-1'] : [],\n ...!!props.features?.resizing && !!props.column?.name && props.column?.resizing !== false ? ['border-r-1'] : [],\n ...!props.column?.control ? ['!theme-outline-transparent', 'dark:!theme-outline-transparent-dark', '!theme-border-disabled', 'dark:!theme-border-disabled-dark'] : [],\n ]);\n\n const rootInlineStyles = computed(() => {\n const styles: Partial<CSSStyleDeclaration> = {\n justifyContent: props.column?.alignment || (props.column ? undefined : 'center'),\n };\n\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n Object.assign(styles, {\n position: 'sticky',\n insetInlineStart: props.stickyOffset,\n zIndex: '2',\n });\n break;\n\n case 'end':\n Object.assign(styles, {\n position: 'sticky',\n insetInlineEnd: props.stickyOffset,\n zIndex: '2',\n });\n break;\n }\n }\n\n return styles;\n });\n\n const contentStyles = computed(() => {\n const isWrapping = props.column?.wrapping ?? (props.variant === DataGridVariant.Dynamic && !props.column?.control);\n const isFitContent = props.column?.fitContent;\n\n return [\n 'layout-row items-center w-full min-w-0 overflow-hidden',\n ...props.column?.alignment === 'end' ? ['justify-end', 'text-end'] : (props.column?.alignment === 'center' ? ['justify-center', 'text-center'] : []),\n ...Styles.DataGridTableContentCellContent.filter((style) => style !== 'truncate'),\n ...isWrapping ? ['whitespace-pre-wrap break-words'] : (isFitContent ? [] : ['truncate']),\n ];\n });\n\n const contentInlineStyles = computed(() => ({\n minWidth: props.column?.minWidth,\n maxWidth: props.column?.maxWidth,\n justifyContent: props.column?.alignment === 'end' ? undefined : (props.column?.alignment || (props.column ? undefined : 'center')),\n }));\n\n // State\n const model = computed({\n get: () => props.modelValue,\n\n set: (value) => {\n context.emit('input', value);\n },\n });\n\n const control = computed(() => {\n return props.column?.control;\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n contentStyles,\n contentInlineStyles,\n\n model,\n\n control,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableContentRow: string[] = [\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Stacking context\n 'relative z-[1]',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n\n // Theme (hover / children)\n 'children:hover:theme-background-surface-1',\n 'dark:children:hover:theme-background-surface-1-dark',\n\n // Theme (selected / children)\n 'children:selected:theme-background-surface-2',\n 'dark:children:selected:theme-background-surface-2-dark',\n\n // Theme (selected + hover / children)\n 'children:hover:selected:theme-background-surface-3',\n 'dark:children:hover:selected:theme-background-surface-3-dark',\n];\n\nexport const DataGridTableContentRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n interactive: {\n type: Boolean,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-row-v3',\n ...Styles.DataGridTableContentRow,\n ...Styles.DataGridTableContentRowVariants[props.variant],\n ...(props.interactive ? ['cursor-pointer'] : []),\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableContent: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContent',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-v3',\n ...Styles.DataGridTableContent,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooterCell: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterCell',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-cell-v3',\n ...Styles.DataGridTableFooterCell,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableFooterRow: string[] = [\n // Layout\n 'grid grid-cols-1',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableFooterRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-row-v3',\n ...Styles.DataGridTableFooterRow,\n ...Styles.DataGridTableFooterRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooter: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-v3',\n ...Styles.DataGridTableFooter,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeaderCell: string[] = [\n // Layout\n 'layout-row items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-disabled border-b-1 border-solid',\n 'dark:theme-border-disabled-dark',\n\n 'theme-outline-transparent outline-2 -outline-offset-1',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (Stacking)\n 'relative hover:z-[2]',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:theme-background-surface-variant-1',\n 'dark:[&.sticky-start]:theme-background-surface-variant-1-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:theme-background-surface-variant-1',\n 'dark:[&.sticky-end]:theme-background-surface-variant-1-dark',\n\n // Theme (.resizable)\n 'relative',\n\n // Border (conditional override for last column)\n 'last:border-r-0',\n];\n\nexport const DataGridTableHeaderCellResizeHandle: string[] = [\n // Position\n 'absolute top-0 bottom-0 end-0 z-50',\n\n // Box\n 'w-xs cursor-col-resize',\n\n // Theme\n 'theme-background-transparent',\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n @click=\"toggleSorting()\"\n >\n <template v-if=\"override\">\n <slot />\n </template>\n\n <div\n v-else\n :class=\"headerContentStyles\"\n :style=\"headerContentInlineStyles\"\n >\n <div\n :class=\"['truncate']\"\n :style=\"wrapInlineStyle\"\n >\n <slot />\n </div>\n\n <template v-if=\"model\">\n <OrIcon :icon=\"model.direction === 'asc' ? 'arrow_upward' : 'arrow_downward'\" />\n </template>\n </div>\n\n <div\n v-if=\"isResizable\"\n :class=\"resizeHandleStyles\"\n @mousedown.stop.prevent=\"onResizeStart\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { useElementSize } from '@vueuse/core';\nimport { PropType, computed, defineComponent, onUnmounted, ref, watch } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DataGridModelValue, DATA_GRID_DEFAULT_MIN_WIDTH, DATA_GRID_SELECTION_COLUMN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderCell',\n\n components: {\n OrIcon,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Object as PropType<NonNullable<DataGridModelValue>['sorting']>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'> & {name?: string;}>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n\n stickyOffset: {\n type: [Number, String],\n default: 0,\n },\n\n override: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'update:scrollOffset',\n 'remove:scrollOffset',\n\n 'update:column-width',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n // const isSortable = computed(() => (props.features?.sorting && !props.column?.sorting === false) || !!props.column?.name);\n const isSortable = computed(() => !!props.features?.sorting && !!props.column?.name && props.column?.sorting !== false);\n const isResizable = computed(() => !!props.features?.resizing && !!props.column?.name && props.column?.resizing !== false);\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-cell-v3',\n 'relative',\n ...Styles.DataGridTableHeaderCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ...isResizable.value ? ['resizable'] : [],\n ...isSortable.value ? ['interactivity-click'] : [],\n ...props.column?.stickiness === 'start' ? ['border-r-1'] : [],\n ...props.column?.stickiness === 'end' ? ['border-l-1'] : [],\n ...isResizable.value ? ['border-r-1'] : [],\n ]);\n\n const resizeHandleStyles = computed(() => [\n 'or-data-grid-table-header-cell-resize-handle-v3',\n ...Styles.DataGridTableHeaderCellResizeHandle,\n ]);\n\n const wrapInlineStyle = computed(() => {\n return {\n minWidth: props.column?.minWidth,\n maxWidth: props.column?.maxWidth,\n overflow: 'hidden',\n };\n });\n\n const rootInlineStyles = computed(() => {\n const styles: Partial<CSSStyleDeclaration> = {\n justifyContent: props.column?.alignment || (props.column ? undefined : 'center'),\n };\n\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n Object.assign(styles, {\n position: 'sticky',\n insetInlineStart: props.stickyOffset,\n zIndex: '11',\n });\n break;\n\n case 'end':\n Object.assign(styles, {\n position: 'sticky',\n insetInlineEnd: props.stickyOffset,\n zIndex: '11',\n });\n break;\n }\n }\n\n return styles;\n });\n\n // State\n const isResizing = ref(false);\n const model = computed({\n get: () => {\n if (!isSortable.value) {\n return;\n }\n\n return props.modelValue?.column === props.column?.name ? props.modelValue : undefined;\n },\n\n set: (value) => {\n context.emit('update:modelValue', value);\n },\n });\n\n const headerContentStyles = computed(() => [\n 'layout-row items-center w-full min-w-0 overflow-hidden',\n ...props.column?.alignment === 'end' ? ['flex-row-reverse'] : [],\n ]);\n\n const headerContentInlineStyles = computed(() => ({\n justifyContent: props.column?.alignment === 'end' ? undefined : props.column?.alignment,\n }));\n\n // Methods\n function toggleSorting(): void {\n if (!isSortable.value || isResizing.value) {\n return;\n }\n\n if (model.value) {\n model.value = {\n ...model.value,\n direction: model.value.direction === 'asc' ? 'desc' : 'asc',\n };\n } else {\n if (!props.column) {\n throw new Error('[OrDataGridTableHeaderCell]: `column` must be specified.');\n }\n\n model.value = {\n column: props.column?.name || '_check',\n direction: 'asc',\n };\n }\n }\n\n function onResizeStart(event: MouseEvent): void {\n const startX = event.pageX;\n const startWidth = root.value?.offsetWidth || 0;\n\n let rafId: number | null = null;\n const onMouseMove = (moveEvent: MouseEvent) => {\n isResizing.value = true;\n\n if (rafId !== null) return;\n\n rafId = requestAnimationFrame(() => {\n const deltaX = moveEvent.pageX - startX;\n let newWidth = Math.max(0, startWidth + deltaX);\n\n const min = props.column?.minWidth || (props.column?.name === '_check' ? DATA_GRID_SELECTION_COLUMN_WIDTH : DATA_GRID_DEFAULT_MIN_WIDTH);\n if (min && (min.endsWith('px') || !isNaN(Number(min)))) {\n const minPx = parseInt(min, 10);\n newWidth = Math.max(newWidth, minPx);\n }\n\n if (props.column?.maxWidth && (props.column.maxWidth.endsWith('px') || !isNaN(Number(props.column.maxWidth)))) {\n const maxPx = parseInt(props.column.maxWidth, 10);\n newWidth = Math.min(newWidth, maxPx);\n }\n\n context.emit('update:column-width', newWidth);\n rafId = null;\n });\n };\n\n const onMouseUp = () => {\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n rafId = null;\n }\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n\n setTimeout(() => {\n isResizing.value = false;\n }, 0);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n }\n\n // Effects\n const { width } = useElementSize(root, undefined, { box: 'border-box' });\n\n watch([\n root,\n width,\n () => props.column?.stickiness,\n () => props.column?.name,\n ], ([\n nextRoot,\n width,\n ], [\n ,,\n ,\n prevName,\n ]) => {\n if (prevName && prevName !== props.column?.name) {\n context.emit('remove:scrollOffset', prevName);\n }\n\n context.emit('update:scrollOffset', nextRoot, width, props.column);\n });\n\n onUnmounted(() => {\n if (props.column?.name) {\n context.emit('remove:scrollOffset', props.column.name);\n }\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n headerContentStyles,\n headerContentInlineStyles,\n wrapInlineStyle,\n resizeHandleStyles,\n isSortable,\n isResizable,\n\n model,\n\n toggleSorting,\n onResizeStart,\n\n DATA_GRID_DEFAULT_MIN_WIDTH,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableHeaderRow: string[] = [\n // Position\n 'sticky top-0 z-[10]',\n\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Typography\n 'typography-body-2-semibold',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-surface-variant-1',\n 'dark:children:theme-background-surface-variant-1-dark',\n];\n\nexport const DataGridTableHeaderRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-row-v3',\n ...Styles.DataGridTableHeaderRow,\n ...Styles.DataGridTableHeaderRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeader: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-v3',\n ...Styles.DataGridTableHeader,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTablePlaceholder: string[] = [\n // Layout\n 'layout-row justify-center items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n];\n\nexport const DataGridTablePlaceholderVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTablePlaceholder',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-placeholder-v3',\n ...Styles.DataGridTablePlaceholder,\n ...Styles.DataGridTablePlaceholderVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTable: string[] = [\n // Layout\n 'grid content-start',\n 'w-full min-w-0 min-h-0',\n\n // Overflow\n 'overflow-auto',\n\n // Interactivity\n 'interactivity-default',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DATA_GRID_DEFAULT_MIN_WIDTH, DATA_GRID_SELECTION_COLUMN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTable',\n\n props: {\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n columnWidths: {\n type: Object as PropType<Record<string, string>>,\n default: () => ({}),\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-v3',\n ...Styles.DataGridTable,\n ]);\n\n const rootInlineStyles = computed(() => {\n const gridTemplateColumns = props.columns.map((column) => {\n const columnWidth = props.columnWidths[column.name] || column.width;\n\n // If width is already a complex expression like minmax, use it as is\n if (columnWidth && (columnWidth.includes('minmax') || columnWidth.includes('calc'))) {\n return columnWidth;\n }\n\n const width = columnWidth ?? '1fr';\n const min = column.minWidth || (columnWidth ? DATA_GRID_DEFAULT_MIN_WIDTH : (column.fitContent ? 'max-content' : (column.stickiness ? 'max-content' : '120px')));\n const max = column.maxWidth || (columnWidth ? (width === 'max-content' ? 'max-content' : width) : (column.fitContent ? 'max-content' : (column.minWidth || column.stickiness ? 'max-content' : '1fr')));\n\n if (column.fitContent) {\n return 'max-content';\n }\n\n if (width.endsWith('px')) {\n return width;\n }\n\n return `minmax(${min}, ${max})`;\n });\n\n if ((props.features as DataGridFeatures).selecting) {\n return { gridTemplateColumns: `${DATA_GRID_SELECTION_COLUMN_WIDTH} ${gridTemplateColumns.join(' ')}` };\n }\n\n return { gridTemplateColumns: gridTemplateColumns.join(' ') };\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n };\n },\n});\n</script>\n","export const DataGridToolbar: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'gap-xl',\n 'pb-md',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridToolbar',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-toolbar-v3',\n ...Styles.DataGridToolbar,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridNotification: string[] = [\n // Position\n 'grid sticky z-10',\n\n // Layout\n 'col-span-full',\n];\n\nexport const DataGridNotificationPositionVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Position\n 'top-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Position\n 'top-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n\n","<template>\n <div :class=\"rootStyles\">\n <OrNotification\n v-bind=\"notification\"\n class=\"rounded-0 shadow-none\"\n @close=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrNotification>\n </div>\n</template>\n<script lang=\"ts\">\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { computed, defineComponent, PropType } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\n\nexport default defineComponent({\n components: {\n OrNotification,\n },\n props: {\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n required: true,\n },\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n emits: [\n 'close-notification',\n ],\n setup(props) {\n const rootStyles = computed(() => [\n 'or-data-grid-notification-v3',\n ...Styles.DataGridNotification,\n ...Styles.DataGridNotificationPositionVariants[props.variant],\n ]);\n\n return {\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableExtraRow: string[] = [\n // Layout\n 'grid col-span-full grid-cols-[subgrid]',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableExtraRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariantValue } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableExtraRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariantValue>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-extra-row-v3',\n ...Styles.DataGridTableExtraRow,\n ...Styles.DataGridTableExtraRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGrid: string[] = [\n // Layout\n 'layout-column min-h-0 w-full',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title'] || features.searching || $slots['search'] || $slots['extraActions']\">\n <OrDataGridHeader\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"$slots['title']\"\n v-slot:title\n >\n <slot :name=\"'title'\" />\n </template>\n\n <template\n v-if=\"features.searching\"\n v-slot:searching\n >\n <slot\n name=\"search\"\n v-bind=\"{updateSearchingModel, searchingModel}\"\n >\n <OrSearch v-model=\"searchingModel\" />\n </slot>\n </template>\n\n <template\n v-if=\"$slots['extraActions']\"\n v-slot:extraActions\n >\n <slot :name=\"'extraActions'\" />\n </template>\n </OrDataGridHeader>\n </template>\n\n <template v-if=\"$slots['toolbar']\">\n <OrDataGridToolbar\n :class=\"['shrink-0']\"\n >\n <slot :name=\"'toolbar'\" />\n </OrDataGridToolbar>\n </template>\n\n <OrDataGridTable\n ref=\"table\"\n :class=\"['grow', 'overscroll-none', { 'grid-rows-[auto_1fr]': items.length === 0 }]\"\n :style=\"tableInlineStyles\"\n :columns=\"actualColumns\"\n :column-widths=\"columnWidths\"\n :features=\"features\"\n >\n <OrDataGridTableHeader>\n <OrDataGridTableHeaderRow\n :variant=\"variant\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableHeaderCell\n :column=\"{ name: '_check', stickiness: 'start', alignment: 'center' }\"\n :sticky-offset=\"stickyOffsets.start.get('_check')\"\n :override=\"true\"\n class=\"!px-none\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n >\n <OrCheckbox\n v-model=\"selectingIndicator\"\n :indeterminate=\"!selectingIndicator && selectingModel.length > 0\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableHeaderCell>\n </template>\n\n <OrDataGridTableHeaderCell\n v-for=\"column of actualColumns\"\n :key=\"column.name\"\n v-model=\"sortingModel\"\n :column=\"column\"\n :features=\"features\"\n :sticky-offset=\"column.stickiness === 'start' ? stickyOffsets.start.get(column.name) : (column.stickiness === 'end' ? stickyOffsets.end.get(column.name) : undefined)\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n @update:column-width=\"(width) => updateColumnWidth(column, width)\"\n >\n {{ column.label }}\n </OrDataGridTableHeaderCell>\n </OrDataGridTableHeaderRow>\n </OrDataGridTableHeader>\n <OrDataGridNotification\n v-if=\"notification\"\n :notification=\"notification\"\n :variant=\"variant\"\n @close-notification=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n v-slot:notification\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrDataGridNotification>\n <OrDataGridTableContent>\n <template v-if=\"$slots['before-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n class=\"border-b-1\"\n >\n <slot :name=\"'before-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n <template v-if=\"loading\">\n <OrDataGridTableContentRow\n v-for=\"n of skeletonsLength\"\n :key=\"n\"\n :variant=\"variant\"\n :interactive=\"interactiveRows\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ name: '_check', stickiness: 'start', alignment: 'center' }\"\n :sticky-offset=\"stickyOffsets.start.get('_check')\"\n :variant=\"variant\"\n :override=\"true\"\n class=\"!px-none\"\n >\n <OrSkeletonText />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"column of actualColumns\"\n :key=\"column.name\"\n :column=\"column\"\n :features=\"features\"\n :sticky-offset=\"column.stickiness === 'start' ? stickyOffsets.start.get(column.name) : (column.stickiness === 'end' ? stickyOffsets.end.get(column.name) : undefined)\"\n :variant=\"variant\"\n :override=\"true\"\n >\n <slot\n name=\"column-loading\"\n :column=\"column\"\n >\n <OrSkeletonText />\n </slot>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"items.length > 0\">\n <OrDataGridTableContentRow\n v-for=\"item of actualItems\"\n :key=\"getItemId(item)\"\n :variant=\"variant\"\n :selected=\"selectingModel.includes(getItemId(item))\"\n :interactive=\"interactiveRows\"\n @mouseenter=\"() => handleMouseEnterRow(item)\"\n @mouseleave=\"() => handleMouseLeaveRow(item)\"\n @click=\"() => handleRowClick(item)\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ name: '_check', stickiness: 'start', alignment: 'center' }\"\n :sticky-offset=\"stickyOffsets.start.get('_check')\"\n :variant=\"variant\"\n :override=\"true\"\n :force-state=\"'none'\"\n class=\"!px-none\"\n @mouseenter=\"() => handleMouseEnterCell(item, 'selecting', selectingModel.indexOf(getItemId(item)) !== -1)\"\n @mouseleave=\"() => handleMouseLeaveCell(item, 'selecting', selectingModel.indexOf(getItemId(item)) !== -1)\"\n >\n <OrCheckbox\n v-model=\"selectingModel\"\n :value=\"getItemId(item)\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"(column, columnIndex) of actualColumns\"\n :key=\"column.name\"\n :model-value=\"getItemValue(item, column.name)\"\n :column=\"column\"\n :features=\"features\"\n :sticky-offset=\"column.stickiness === 'start' ? stickyOffsets.start.get(column.name) : (column.stickiness === 'end' ? stickyOffsets.end.get(column.name) : undefined)\"\n :variant=\"variant\"\n @input=\"onInput(item, column.name, $event)\"\n @focusin=\"scrollTo($event)\"\n @mouseenter=\"() => handleMouseEnterCell(item, column.name, getItemValue(item, column.name))\"\n @mouseleave=\"() => handleMouseLeaveCell(item, column.name, getItemValue(item, column.name))\"\n >\n <div\n class=\"flex items-center gap-xs h-full w-full min-w-0\"\n :style=\"columnIndex === 0 ? { paddingLeft: ((item.level || 0) * 24) + 'px' } : undefined\"\n :class=\"[\n column.alignment === 'end' ? 'justify-end' : (column.alignment === 'center' ? 'justify-center' : 'justify-start')\n ]\"\n >\n <div\n v-if=\"columnIndex === 0 && features.hierarchy\"\n class=\"flex items-center justify-center w-6 h-6 shrink-0\"\n >\n <OrIconButton\n v-if=\"item.children && item.children.length > 0\"\n :icon=\"'chevron_right'\"\n size=\"m\"\n :class=\"['transition-transform duration-200', { 'rotate-90': isExpanded(item) }]\"\n @click.stop=\"toggleExpand(item)\"\n @mousedown.prevent\n />\n </div>\n\n <div\n class=\"min-w-0\"\n :class=\"[\n columnIndex === 0 ? 'flex-grow' : '',\n column.alignment === 'end' ? 'text-end' : (column.alignment === 'center' ? 'text-center' : 'text-start'),\n (column.wrapping !== undefined && column.wrapping !== null ? column.wrapping : (variant === 'dynamic' && !column.control)) ? 'whitespace-pre-wrap break-words' : (column.fitContent ? '' : 'truncate')\n ]\"\n >\n <slot\n :name=\"column.name\"\n :column=\"column\"\n :item=\"item\"\n >{{ getItemValue(item, column.name) }}</slot>\n </div>\n </div>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"$slots['noSearchResults'] && ((features.filtering && filteringModel) || (features.searching && searchingModel))\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot\n :name=\"'noSearchResults'\"\n :filter=\"filteringModel\"\n :search=\"searchingModel\"\n />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-else-if=\"$slots['empty']\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot :name=\"'empty'\" />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-if=\"$slots['after-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n >\n <slot :name=\"'after-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n </OrDataGridTableContent>\n </OrDataGridTable>\n\n <template v-if=\"$slots['extra-row']\">\n <OrDataGridTableFooter>\n <OrDataGridTableFooterRow\n :class=\"['shrink-0']\"\n :variant=\"variant\"\n >\n <OrDataGridTableFooterCell>\n <slot :name=\"'extra-row'\" />\n </OrDataGridTableFooterCell>\n </OrDataGridTableFooterRow>\n </OrDataGridTableFooter>\n </template>\n\n <template v-if=\"$slots['actions'] || showSelectingCouter || features.paging\">\n <OrDataGridFooter\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"features.selecting && selectingModel.length > 0\"\n v-slot:status\n >\n {{ selectingModel.length }} row(s) selected\n </template>\n\n <template\n v-if=\"$slots['actions']\"\n v-slot:actions\n >\n <slot :name=\"'actions'\" />\n </template>\n\n <template\n v-if=\"features.paging\"\n v-slot:paging\n >\n <OrPagination\n ref=\"pagination\"\n v-model=\"pagingModel\"\n :length=\"features.paging.length\"\n :options=\"features.paging.options\"\n />\n </template>\n </OrDataGridFooter>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { flatten } from '@onereach/ui-components-common/helpers';\nimport { Id } from '@onereach/ui-components-common/types';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { OrPaginationV3 as OrPagination } from '@onereach/ui-components.or-pagination-v3';\nimport { OrSearchV3 as OrSearch } from '@onereach/ui-components.or-search-v3';\nimport { OrSkeletonTextV3 as OrSkeletonText } from '@onereach/ui-components.or-skeleton-v3';\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core';\nimport { PropType, computed, defineComponent, onMounted, reactive, ref, watch } from 'vue';\n\nimport * as Partials from './partials';\nimport * as Styles from './styles';\nimport { DataGridColumn, DataGridFeatures, DataGridItem, DataGridItemKey, DataGridModelValue, DataGridRow, DataGridVariant, DataGridVariantValue } from './types';\n\n// Vue 2 doesn't support generically typed components\ntype T = DataGridRow<object>;\n\nexport default defineComponent({\n name: 'OrDataGrid',\n\n components: {\n OrCheckbox,\n OrDataGridFooter: Partials.OrDataGridFooter,\n OrDataGridHeader: Partials.OrDataGridHeader,\n OrDataGridTable: Partials.OrDataGridTable,\n OrDataGridTableContent: Partials.OrDataGridTableContent,\n OrDataGridTableContentCell: Partials.OrDataGridTableContentCell,\n OrDataGridTableContentRow: Partials.OrDataGridTableContentRow,\n OrDataGridTableFooter: Partials.OrDataGridTableFooter,\n OrDataGridTableFooterCell: Partials.OrDataGridTableFooterCell,\n OrDataGridTableFooterRow: Partials.OrDataGridTableFooterRow,\n OrDataGridTableExtraRow: Partials.OrDataGridTableExtraRow,\n OrDataGridTableHeader: Partials.OrDataGridTableHeader,\n OrDataGridTableHeaderCell: Partials.OrDataGridTableHeaderCell,\n OrDataGridTableHeaderRow: Partials.OrDataGridTableHeaderRow,\n OrDataGridTablePlaceholder: Partials.OrDataGridTablePlaceholder,\n OrDataGridToolbar: Partials.OrDataGridToolbar,\n OrDataGridNotification: Partials.OrDataGridNotification,\n OrIconButton,\n OrPagination,\n OrSearch,\n OrSkeletonText,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<DataGridModelValue>,\n default: undefined,\n },\n\n items: {\n type: Array as PropType<DataGridItem<T>[]>,\n default: () => [],\n },\n\n itemKey: {\n type: [String, Function] as PropType<DataGridItemKey<T>>,\n default: 'id',\n },\n\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n variant: {\n type: String as PropType<DataGridVariantValue>,\n default: () => DataGridVariant.Standard,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: () => ({}),\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n default: undefined,\n },\n\n interactiveRows: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n 'update:item',\n 'close-notification',\n 'hover:row',\n 'blur:row',\n 'hover:cell',\n 'blur:cell',\n 'click:row',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const pagination = ref<InstanceType<typeof OrPagination>>();\n const table = ref<InstanceType<typeof Partials.OrDataGridTable>>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-v3',\n ...Styles.DataGrid,\n ]);\n\n const tableInlineStyles = computed(() => {\n const styles: Record<string, string> = {\n scrollPaddingInlineStart: `${[...scrollOffsetStart.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n scrollPaddingInlineEnd: `${[...scrollOffsetEnd.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n };\n\n scrollOffsetStart.forEach((value, key) => {\n styles[`--or-dg-col-width-${key}`] = `${value}px`;\n });\n\n scrollOffsetEnd.forEach((value, key) => {\n styles[`--or-dg-col-width-${key}`] = `${value}px`;\n });\n\n return styles;\n });\n\n // State\n const selectingIndicator = computed({\n get: () => {\n return !!(props.items && props.items.length) && props.items.every((item) => selectingModel.value.includes(getItemId(item)));\n },\n\n set: (value) => {\n if (value && props.items) {\n selectingModel.value = [\n ...new Set([\n ...selectingModel.value,\n ...props.items.map((item) => getItemId(item)),\n ]),\n ];\n } else {\n selectingModel.value = [];\n }\n },\n });\n\n const selectingModel = computed({\n get: () => (props.modelValue && props.modelValue.selecting) || [],\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n selecting: value,\n } as DataGridModelValue);\n },\n });\n\n const filteringModel = computed({\n get: () => props.modelValue && props.modelValue.filtering,\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n filtering: value,\n\n paging: props.modelValue && props.modelValue.paging ? {\n ...props.modelValue.paging,\n offset: 0,\n } : undefined,\n } as DataGridModelValue);\n },\n });\n\n const searchingModel = computed({\n get: () => props.modelValue && props.modelValue.searching,\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n searching: value,\n\n paging: props.modelValue && props.modelValue.paging ? {\n ...props.modelValue.paging,\n offset: 0,\n } : undefined,\n } as DataGridModelValue);\n },\n });\n\n const sortingModel = computed({\n get: () => props.modelValue && props.modelValue.sorting,\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n sorting: value,\n\n paging: props.modelValue && props.modelValue.paging ? {\n ...props.modelValue.paging,\n offset: 0,\n } : undefined,\n } as DataGridModelValue);\n },\n });\n\n const pagingModel = computed({\n get: () => props.modelValue && props.modelValue.paging,\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n paging: value,\n } as DataGridModelValue);\n },\n });\n\n const expandedModel = computed({\n get: () => (props.modelValue && props.modelValue.expanded) || [],\n\n set: (value) => {\n context.emit('update:modelValue', {\n ...props.modelValue,\n expanded: value,\n } as DataGridModelValue);\n },\n });\n\n const isExpanded = (item: DataGridItem<T>) => expandedModel.value.indexOf(getItemId(item)) !== -1;\n\n const toggleExpand = (item: DataGridItem<T>) => {\n if (!item.children || item.children.length === 0) return;\n const itemId = getItemId(item);\n const expanded = expandedModel.value;\n const index = expanded.indexOf(itemId);\n\n if (index === -1) {\n expandedModel.value = [...expanded, itemId];\n } else {\n expandedModel.value = expanded.filter((id) => id !== itemId);\n }\n };\n\n watch(() => pagingModel.value && pagingModel.value.offset, () => {\n if (table.value && table.value.root) {\n table.value.root.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n });\n\n const actualItems = computed(() => {\n if (!props.features.hierarchy || !props.items) {\n return props.items || [];\n }\n\n return flatten(props.items, isExpanded);\n });\n\n const showSelectingCouter = computed(() => {\n return props.features.selecting &&\n (typeof props.features.selecting === 'object' ? props.features.selecting.showCounter !== false : true);\n });\n\n const selectingDisabled = computed(() => {\n return !props.items || props.items.length === 0\n || props.loading\n || (typeof props.features.selecting === 'object' && props.features.selecting.disabled);\n\n });\n\n const skeletonsLength = computed(() => {\n const paging = pagingModel.value;\n return (paging && paging.limit) || 10;\n });\n\n const columnWidths = ref<Record<string, string>>({});\n\n const actualColumns = computed(() => {\n return props.columns;\n });\n\n const scrollOffsetStart = reactive(new Map<string, number>());\n const scrollOffsetEnd = reactive(new Map<string, number>());\n\n const stickyOffsets = computed(() => {\n const start = new Map<string, string>();\n const end = new Map<string, string>();\n\n const startColumns: DataGridColumn[] = [];\n const endColumns: DataGridColumn[] = [];\n\n if (props.features.selecting) {\n startColumns.push({\n name: '_check',\n stickiness: 'start',\n alignment: 'center',\n });\n }\n\n actualColumns.value.forEach((column) => {\n if (column.stickiness === 'start') {\n startColumns.push(column);\n } else if (column.stickiness === 'end') {\n endColumns.push(column);\n }\n });\n\n let currentStartExpression = '0px';\n startColumns.forEach((column) => {\n start.set(column.name, currentStartExpression);\n currentStartExpression = `calc(${currentStartExpression} + var(--or-dg-col-width-${column.name}, 0px))`;\n });\n\n let currentEndExpression = '0px';\n // End columns are stacked from right to left\n [...endColumns].reverse().forEach((column) => {\n end.set(column.name, currentEndExpression);\n currentEndExpression = `calc(${currentEndExpression} + var(--or-dg-col-width-${column.name}, 0px))`;\n });\n\n return {\n start,\n end,\n };\n });\n\n // Methods\n function updateSearchingModel(value: string): void {\n searchingModel.value = value;\n }\n\n function updateScrollOffset(header: HTMLElement, offset: number, column: DataGridColumn): void {\n switch (column.stickiness) {\n case 'start':\n scrollOffsetStart.set(column.name, offset);\n scrollOffsetEnd.delete(column.name);\n\n break;\n\n case 'end':\n scrollOffsetStart.delete(column.name);\n scrollOffsetEnd.set(column.name, offset);\n\n break;\n\n default:\n removeScrollOffset(column.name);\n break;\n }\n }\n\n function handleMouseEnterRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('hover:row', item);\n }\n\n function handleMouseLeaveRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('blur:row', item);\n }\n\n function handleMouseEnterCell(item: DataGridItem<T>, columnName: string, value: unknown): void {\n if (!props.interactiveRows) return;\n context.emit('hover:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleMouseLeaveCell(item: DataGridItem<T>, columnName: string, value: unknown): void {\n if (!props.interactiveRows) return;\n context.emit('blur:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleRowClick(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('click:row', item);\n }\n\n const saveColumnWidthsDebounced = useDebounceFn(saveColumnWidths, 500);\n\n function saveColumnWidths(): void {\n if (typeof window === 'undefined' || !props.features.storageKey) return;\n\n const widths: Record<string, string> = {};\n actualColumns.value.forEach((column) => {\n const width = columnWidths.value[column.name] || (column as DataGridColumn).width;\n if (column.name && width) {\n widths[column.name] = width;\n }\n });\n\n // Avoid saving if we have no width overrides (widths are same as initial)\n // but if we had some and now we don't, we should clear.\n // Actually, it's safer to always save if storageKey is present.\n\n localStorage.setItem(`or-data-grid-v3-widths-${props.features.storageKey}`, JSON.stringify({\n widths,\n containerWidth: root.value?.offsetWidth,\n }));\n }\n\n const isResizing = ref(false);\n\n function updateColumnWidth(column: DataGridColumn, width: number): void {\n isResizing.value = true;\n columnWidths.value = {\n ...columnWidths.value,\n [column.name]: `${width}px`,\n };\n\n if (props.features.storageKey) {\n saveColumnWidthsDebounced();\n }\n\n resetIsResizingDebounced();\n }\n\n const resetIsResizingDebounced = useDebounceFn(() => {\n isResizing.value = false;\n }, 1000);\n\n const initialContainerWidth = ref(0);\n\n function loadColumnWidths(): void {\n if (typeof window === 'undefined' || !props.features.storageKey) return;\n\n try {\n const stored = localStorage.getItem(`or-data-grid-v3-widths-${props.features.storageKey}`);\n if (stored) {\n const data = JSON.parse(stored);\n const widths = data.widths || data; // Fallback for old format\n const containerWidth = data.containerWidth;\n\n if (containerWidth && root.value && Math.abs(root.value.offsetWidth - containerWidth) > 10) {\n initialContainerWidth.value = containerWidth;\n return;\n }\n\n columnWidths.value = widths;\n }\n } catch (e) {\n console.error('[OrDataGrid]: Failed to load column widths from localStorage', e);\n }\n }\n\n useResizeObserver(root, (entries) => {\n const entry = entries[0];\n const { width } = entry.contentRect;\n if (width <= 0 || isResizing.value || !props.features.storageKey) return;\n\n if (Object.keys(columnWidths.value).length > 0) {\n const stored = localStorage.getItem(`or-data-grid-v3-widths-${props.features.storageKey}`);\n if (stored) {\n try {\n const data = JSON.parse(stored);\n const containerWidth = data.containerWidth;\n if (containerWidth && Math.abs(width - containerWidth) > 10) {\n columnWidths.value = {};\n }\n } catch {\n // ignore\n }\n }\n }\n });\n\n onMounted(() => {\n loadColumnWidths();\n });\n\n function removeScrollOffset(name: string): void {\n scrollOffsetStart.delete(name);\n scrollOffsetEnd.delete(name);\n }\n\n // Helpers\n function scrollTo(event: FocusEvent): void {\n (event.currentTarget as HTMLElement).scrollIntoView({ block: 'nearest' });\n }\n\n function getItemValue(item: DataGridItem<T>, columnName: string): unknown {\n return (item as Record<string, unknown>)[columnName];\n }\n\n function getItemId(item: DataGridItem<T>): Id {\n if (typeof props.itemKey === 'function') {\n return props.itemKey(item);\n }\n\n return getItemValue(item, props.itemKey) as Id;\n }\n\n function setItemValue(item: DataGridItem<T>, columnName: string, value: unknown): void {\n (item as Record<string, unknown>)[columnName] = value;\n }\n\n return {\n root,\n rootStyles,\n\n pagination,\n\n tableInlineStyles,\n\n selectingIndicator,\n showSelectingCouter,\n selectingDisabled,\n skeletonsLength,\n actualColumns,\n actualItems,\n\n handleMouseEnterRow,\n handleMouseLeaveRow,\n handleMouseEnterCell,\n handleMouseLeaveCell,\n handleRowClick,\n toggleExpand,\n isExpanded,\n\n updateColumnWidth,\n\n columnWidths,\n\n selectingModel,\n filteringModel,\n searchingModel,\n sortingModel,\n pagingModel,\n\n stickyOffsets,\n\n updateScrollOffset,\n removeScrollOffset,\n\n updateSearchingModel,\n\n getItemValue,\n getItemId,\n\n scrollToTop: () => {\n if (table.value && table.value.root) {\n table.value.root.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n },\n\n scrollTo,\n onInput: (item: DataGridItem<T>, columnName: string, value: unknown) => {\n setItemValue(item, columnName, value);\n context.emit('update:item', item);\n },\n };\n },\n});\n</script>\n"],"names":["DataGridFooter","DataGridFooterStatus","_sfc_main$g","defineComponent","root","ref","rootStyles","computed","Styles.DataGridFooter","statusStyles","Styles.DataGridFooterStatus","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","_createCommentVNode","_renderSlot","DataGridHeader","DataGridHeaderTitle","_sfc_main$f","Styles.DataGridHeader","titleStyles","Styles.DataGridHeaderTitle","DataGridVariant","DATA_GRID_DEFAULT_MIN_WIDTH","DATA_GRID_SELECTION_COLUMN_WIDTH","DataGridTableContentCell","DataGridTableContentCellContent","_sfc_main$e","OrCheckbox","OrDatePicker","OrDateTimePicker","OrInput","OrRating","OrSelect","OrSwitch","OrTagInput","OrTimePicker","props","context","Styles.DataGridTableContentCell","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","rootInlineStyles","styles","contentStyles","isWrapping","isFitContent","Styles.DataGridTableContentCellContent","style","contentInlineStyles","model","value","control","_resolveComponent","_normalizeStyle","_createBlock","_component_OrInput","$event","_component_OrRating","_component_OrSelect","_component_OrCheckbox","_component_OrSwitch","_component_OrDatePicker","_component_OrTimePicker","_component_OrDateTimePicker","_component_OrTagInput","DataGridTableContentRow","DataGridTableContentRowVariants","_sfc_main$d","Styles.DataGridTableContentRow","Styles.DataGridTableContentRowVariants","DataGridTableContent","_sfc_main$c","Styles.DataGridTableContent","DataGridTableFooterCell","_sfc_main$b","Styles.DataGridTableFooterCell","DataGridTableFooterRow","DataGridTableFooterRowVariants","_sfc_main$a","Styles.DataGridTableFooterRow","Styles.DataGridTableFooterRowVariants","DataGridTableFooter","_sfc_main$9","Styles.DataGridTableFooter","DataGridTableHeaderCell","DataGridTableHeaderCellResizeHandle","_sfc_main$8","OrIcon","isSortable","isResizable","Styles.DataGridTableHeaderCell","resizeHandleStyles","Styles.DataGridTableHeaderCellResizeHandle","wrapInlineStyle","isResizing","headerContentStyles","headerContentInlineStyles","toggleSorting","onResizeStart","event","startX","startWidth","rafId","onMouseMove","moveEvent","deltaX","newWidth","min","minPx","maxPx","onMouseUp","width","useElementSize","watch","nextRoot","prevName","onUnmounted","_component_OrIcon","_withModifiers","args","DataGridTableHeaderRow","DataGridTableHeaderRowVariants","_sfc_main$7","Styles.DataGridTableHeaderRow","Styles.DataGridTableHeaderRowVariants","DataGridTableHeader","_sfc_main$6","Styles.DataGridTableHeader","DataGridTablePlaceholder","DataGridTablePlaceholderVariants","_sfc_main$5","Styles.DataGridTablePlaceholder","Styles.DataGridTablePlaceholderVariants","DataGridTable","_sfc_main$4","Styles.DataGridTable","gridTemplateColumns","column","columnWidth","max","DataGridToolbar","_sfc_main$3","Styles.DataGridToolbar","DataGridNotification","DataGridNotificationPositionVariants","_sfc_main$2","OrNotification","Styles.DataGridNotification","Styles.DataGridNotificationPositionVariants","_createVNode","_component_OrNotification","_mergeProps","_withCtx","DataGridTableExtraRow","DataGridTableExtraRowVariants","_sfc_main$1","Styles.DataGridTableExtraRow","Styles.DataGridTableExtraRowVariants","DataGrid","_sfc_main","Partials.OrDataGridFooter","Partials.OrDataGridHeader","Partials.OrDataGridTable","Partials.OrDataGridTableContent","Partials.OrDataGridTableContentCell","Partials.OrDataGridTableContentRow","Partials.OrDataGridTableFooter","Partials.OrDataGridTableFooterCell","Partials.OrDataGridTableFooterRow","Partials.OrDataGridTableExtraRow","Partials.OrDataGridTableHeader","Partials.OrDataGridTableHeaderCell","Partials.OrDataGridTableHeaderRow","Partials.OrDataGridTablePlaceholder","Partials.OrDataGridToolbar","Partials.OrDataGridNotification","OrIconButton","OrPagination","OrSearch","OrSkeletonText","pagination","table","Styles.DataGrid","tableInlineStyles","scrollOffsetStart","accumulator","scrollOffsetEnd","key","selectingIndicator","item","selectingModel","getItemId","filteringModel","searchingModel","sortingModel","pagingModel","expandedModel","isExpanded","toggleExpand","itemId","expanded","id","actualItems","flatten","showSelectingCouter","selectingDisabled","skeletonsLength","paging","columnWidths","actualColumns","reactive","stickyOffsets","start","end","startColumns","endColumns","currentStartExpression","currentEndExpression","updateSearchingModel","updateScrollOffset","header","offset","removeScrollOffset","handleMouseEnterRow","handleMouseLeaveRow","handleMouseEnterCell","columnName","handleMouseLeaveCell","handleRowClick","saveColumnWidthsDebounced","useDebounceFn","saveColumnWidths","widths","updateColumnWidth","resetIsResizingDebounced","initialContainerWidth","loadColumnWidths","stored","data","containerWidth","e","useResizeObserver","entries","entry","onMounted","name","scrollTo","getItemValue","setItemValue","_component_OrDataGridHeader","_createSlots","_normalizeProps","_guardReactiveProps","_component_OrSearch","_component_OrDataGridToolbar","_component_OrDataGridTable","_component_OrDataGridTableHeader","_component_OrDataGridTableHeaderRow","_component_OrDataGridTableHeaderCell","_Fragment","_renderList","_component_OrDataGridNotification","_component_OrDataGridTableContent","_component_OrDataGridTableExtraRow","n","_component_OrDataGridTableContentRow","_component_OrDataGridTableContentCell","columnIndex","_createElementVNode","_component_OrIconButton","_component_OrDataGridTablePlaceholder","_component_OrDataGridTableFooter","_component_OrDataGridTableFooterRow","_component_OrDataGridTableFooterCell","_component_OrDataGridFooter","_component_OrPagination"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAiC;AAAA;AAAA,EAE5C;AACF,GCEAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGC;AAAAA,IAAO,CACX,GAEKC,IAAeF,EAAS,MAAM;AAAA,MAClC,GAAGG;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAN;AAAA,MACA,YAAAE;AAAA,MAEA,cAAAG;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAvCWE,KAAK;AAAA,EAAA,KAAA;AAAA;;SAZPC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAEFC,EAAMR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IACTA,EAAA,OAAA,UAAAM,EAAA,GAAAC,EAAE,OAAY;AAAA,MAAA,KAAA;AAAA,MACvB,OAAAC,EAAyBR,EAAZ,YAAQ;AAAA,IAAA,GAAA;AAAA;IAIzB,GAAA,CAAA,KAEgBS,EAAM,IAAA,EAAA;AAAA,IACpBC,EAAAV,EAAA,QAAA,SAAA;AAAA,IAAAA,EAAA,OAAA,UAGFM,KAAqBC,EAAA,OAAAT,EAAA,KAAAW,EAAA,IAAA,EAAA;AAAA;;;oDCjBZE,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAgC;AAAA;AAAA,EAE3C;AACF,GCcAC,KAAevB,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGoB;AAAAA,IAAO,CACX,GAEKC,IAAcrB,EAAS,MAAM;AAAA,MACjC,GAAGsB;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAzB;AAAA,MACA,YAAAE;AAAA,MAEA,aAAAsB;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GA3CWjB,KAAK;AAAA,EAAA,KAAA;AAAA;;SAVPC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAEFC,EAAMR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IACTA,EAAA,OAAA,SAAAM,EAAA,GAAAC,EAAE,OAAW;AAAA,MAAA,KAAA;AAAA,MACtB,OAAAC,EAAwBR,EAAX,WAAO;AAAA,IAAA,GAAA;AAAA;IAKtB,GAAA,CAAA,KAAAS,EAAA,IAAA,EAAA;AAAA,IAGFT,EAAA,OAAA,aAAAA,EAAA,OAAA,gBAAAM,EAAA,GAAwBC,EAAA,OAAAT,EAAA,KAERW,EAAM,IAAA,EAAA;AAAA,IAAAC,EACpBV,EAA+B,QAAlB,WAAA;AAAA,IAAAA,EAAA,OAAA,eAAAU,EAAAV,EAAA,QAAA,gBAAA,EAAA,KAAA,EAAA,CAAA,IAAAS,EAAA,IAAA,EAAA;AAAA;;;ACiCP,IAAAQ,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,cAAc,eACdA,EAAA,UAAU,WACVA,EAAA,UAAU,WAJAA,IAAAA,KAAA,CAAA,CAAA;AA4BL,MAAMC,KAA8B,QAC9BC,KAAmC,QChFnCC,KAAqC;AAAA;AAAA,EAEhD;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAA4C;AAAA;AAAA,EAEvD;AAAA;AAAA,EAGA;AACF,GCgEAC,KAAehC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAAiC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA;AAAA,MAEV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASd,EAAgB;AAAA,IAC3B;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMe,GAAOC,GAAS;AAEpB,UAAM1C,IAAOC,KAEPC,IAAaC,EAAS,MAAM;;AAAA;AAAA,QAChC;AAAA,QACA,GAAGwC;AAAAA,QACH,IAAGC,IAAAH,EAAM,WAAN,QAAAG,EAAc,aAAa,CAAC,UAAUH,EAAM,OAAO,UAAU,EAAE,IAAI,CAAC;AAAA,QACvE,IAAKI,IAAAJ,EAAM,aAAN,QAAAI,EAAgB,cAAcC,IAAAL,EAAM,WAAN,QAAAK,EAAc,WAAQC,IAAAN,EAAM,WAAN,gBAAAM,EAAc,cAAa,KAAQ,CAAC,WAAW,IAAI,CAAC;AAAA,QAC7G,KAAGC,IAAAP,EAAM,WAAN,gBAAAO,EAAc,gBAAe,UAAU,CAAC,YAAY,IAAI,CAAC;AAAA,QAC5D,KAAGC,IAAAR,EAAM,WAAN,gBAAAQ,EAAc,gBAAe,QAAQ,CAAC,YAAY,IAAI,CAAC;AAAA,QAC1D,IAAKC,IAAAT,EAAM,aAAN,QAAAS,EAAgB,cAAcC,IAAAV,EAAM,WAAN,QAAAU,EAAc,WAAQC,IAAAX,EAAM,WAAN,gBAAAW,EAAc,cAAa,KAAQ,CAAC,YAAY,IAAI,CAAC;AAAA,QAC9G,IAAIC,IAAAZ,EAAM,WAAN,QAAAY,EAAc,UAAiJ,CAAC,IAAxI,CAAC,8BAA8B,wCAAwC,0BAA0B,kCAAkC;AAAA,MAAK;AAAA,KACrK,GAEKC,IAAmBnD,EAAS,MAAM;;AACtC,YAAMoD,IAAuC;AAAA,QAC3C,kBAAgBX,IAAAH,EAAM,WAAN,gBAAAG,EAAc,eAAcH,EAAM,SAAS,SAAY;AAAA,MAAA;AAGzE,UAAIA,EAAM;AACA,gBAAAA,EAAM,OAAO,YAAY;AAAA,UAC/B,KAAK;AACH,mBAAO,OAAOc,GAAQ;AAAA,cACpB,UAAU;AAAA,cACV,kBAAkBd,EAAM;AAAA,cACxB,QAAQ;AAAA,YAAA,CACT;AACD;AAAA,UAEF,KAAK;AACH,mBAAO,OAAOc,GAAQ;AAAA,cACpB,UAAU;AAAA,cACV,gBAAgBd,EAAM;AAAA,cACtB,QAAQ;AAAA,YAAA,CACT;AACD;AAAA,QACJ;AAGK,aAAAc;AAAA,IAAA,CACR,GAEKC,IAAgBrD,EAAS,MAAM;;AAC7B,YAAAsD,MAAab,IAAAH,EAAM,WAAN,gBAAAG,EAAc,cAAaH,EAAM,YAAYf,EAAgB,WAAW,GAACmB,IAAAJ,EAAM,WAAN,QAAAI,EAAc,WACpGa,KAAeZ,IAAAL,EAAM,WAAN,gBAAAK,EAAc;AAE5B,aAAA;AAAA,QACL;AAAA,QACA,KAAGC,IAAAN,EAAM,WAAN,gBAAAM,EAAc,eAAc,QAAQ,CAAC,eAAe,UAAU,MAAKC,IAAAP,EAAM,WAAN,gBAAAO,EAAc,eAAc,WAAW,CAAC,kBAAkB,aAAa,IAAI,CAAC;AAAA,QAClJ,GAAGW,GAAuC,OAAO,CAACC,MAAUA,MAAU,UAAU;AAAA,QAChF,GAAGH,IAAa,CAAC,iCAAiC,IAAKC,IAAe,CAAA,IAAK,CAAC,UAAU;AAAA,MAAA;AAAA,IACxF,CACD,GAEKG,IAAsB1D,EAAS,MAAO;;AAAA;AAAA,QAC1C,WAAUyC,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA,QACxB,WAAUC,IAAAJ,EAAM,WAAN,gBAAAI,EAAc;AAAA,QACxB,kBAAgBC,IAAAL,EAAM,WAAN,gBAAAK,EAAc,eAAc,QAAQ,WAAaC,IAAAN,EAAM,WAAN,gBAAAM,EAAc,eAAcN,EAAM,SAAS,SAAY;AAAA,MACxH;AAAA,KAAA,GAGIqB,IAAQ3D,EAAS;AAAA,MACrB,KAAK,MAAMsC,EAAM;AAAA,MAEjB,KAAK,CAACsB,MAAU;AACN,QAAArB,EAAA,KAAK,SAASqB,CAAK;AAAA,MAC7B;AAAA,IAAA,CACD,GAEKC,IAAU7D,EAAS,MAAM;;AAC7B,cAAOyC,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA,IAAA,CACtB;AAEM,WAAA;AAAA,MACL,MAAA5C;AAAA,MACA,YAAAE;AAAA,MACA,kBAAAoD;AAAA,MACA,eAAAE;AAAA,MACA,qBAAAK;AAAA,MAEA,OAAAC;AAAA,MAEA,SAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;qLAzQCC,EAmGM,YAAA;SAjGElD,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,WAEUyD,EAAQzD,EAAA,gBAAA;AAAA,EAAA,GAAA;AAAA,MAIH,WACnBU,EAAAV,EAAA,QAAA,WAAA,EA8EM,2BA7EI,GAAAO,EAAA,OAAA;AAAA,MACP,KAAK;AAAA,MAAA,OAAAC,EAAAR,EAAA,aAAA;AAAA,aAEUyD,EAAYzD,EAAA,mBAAA;AAAA,IAAA,GAAA;AAAA,wCAEf0D,EAAKC,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAY3D,EAAA;AAAA,QACZ,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,QAAA4D;AAAA,QAAA,MAAA;AAAA;SAID,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAnD,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GAHSoD,EAAKC,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAM3D,EAAQ;AAAA,QACd,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,QAAA4D;AAAA,QAAA,MAAA;AAAA;SAID,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAnD,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GADSoD,EAAKG,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAApD,EAC1B,IAKE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GAJSoD,EAAKI,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAS9D,EAAA;AAAA,QACT,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,QAAA4D;AAAA,QACnB,SAAQ5D,EAAI,QAAA;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,WAAA,QAAA,CAAA,KAAAS,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,cAAAM,EAAA,GADSoD,EAAKK,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAtD,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GADSoD,EAAKM,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAvD,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHSoD,EAAKO,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASjE,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,QAAA4D;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAnD,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHSoD,EAAKQ,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASlE,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,QAAA4D;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAnD,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,cAAAM,EAAA,GAHSoD,EAAKS,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASnE,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,QAAA4D;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAnD,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHSoD,EAAKU,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASpE,EAAA;AAAA,QACT,uBAAOC,EAAgB,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,QAAA4D;AAAA,QAAA,SAAA;AAAA;MAO9B,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA,KAAAnD,EAAA,IAAA,EAAA;AAAA,IAAA,GAAA,CAAA,MAAAH,KACUC,EAAA,OAAA;AAAA,MACP,KAAK;AAAA,MAAA,OAAAC,EAAAR,EAAA,aAAA;AAAA,MAEN,OAAQyD,EAAAzD,EAAA,mBAAA;AAAA,IAAA,GAAA;AAAA;;;;oDC/FHqE,KAAoC;AAAA;AAAA,EAE/C;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;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAqE;AAAA,EAChF,CAACrD,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCnCAsD,KAAejF,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAM0C,GAAO;AAEX,UAAMzC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG8E;AAAAA,MACH,GAAGC,GAAuCzC,EAAM,OAAO;AAAA,MACvD,GAAIA,EAAM,cAAc,CAAC,gBAAgB,IAAI,CAAC;AAAA,IAAA,CAC/C;AAEM,WAAA;AAAA,MACL,MAAAzC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAvDSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,IAED,UAAQA,EAAA;AAAA,EAAA,GAAA;AAAA;;;oDCNC0E,KAAiC;AAAA;AAAA,EAE5C;AACF,GCWAC,KAAerF,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGkF;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAArF;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLC6E,KAAoC;AAAA;AAAA,EAE/C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GCCAC,KAAexF,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGqF;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAxF;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHCgF,KAAmC;AAAA;AAAA,EAE9C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAoE;AAAA,EAC/E,CAAChE,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCzBAiE,KAAe5F,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAM0C,GAAO;AAEX,UAAMzC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGyF;AAAAA,MACH,GAAGC,GAAsCpD,EAAM,OAAO;AAAA,IAAA,CACvD;AAEM,WAAA;AAAA,MACL,MAAAzC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCqF,KAAgC;AAAA;AAAA,EAE3C;AACF,GCWAC,KAAehG,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG6F;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAhG;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCwF,KAAoC;AAAA;AAAA,EAE/C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAgD;AAAA;AAAA,EAE3D;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GCHAC,KAAepG,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,QAAAqG;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,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,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,EACF;AAAA,EAEA,MAAM3D,GAAOC,GAAS;AAEpB,UAAM1C,IAAOC,KAEPoG,IAAalG,EAAS,MAAA;;AAAM,cAAC,GAACyC,IAAAH,EAAM,aAAN,QAAAG,EAAgB,YAAW,CAAC,GAACC,IAAAJ,EAAM,WAAN,QAAAI,EAAc,WAAQC,IAAAL,EAAM,WAAN,gBAAAK,EAAc,aAAY;AAAA,KAAK,GAChHwD,IAAcnG,EAAS,MAAA;;AAAM,cAAC,GAACyC,IAAAH,EAAM,aAAN,QAAAG,EAAgB,aAAY,CAAC,GAACC,IAAAJ,EAAM,WAAN,QAAAI,EAAc,WAAQC,IAAAL,EAAM,WAAN,gBAAAK,EAAc,cAAa;AAAA,KAAK,GAEnH5C,IAAaC,EAAS,MAAM;;AAAA;AAAA,QAChC;AAAA,QACA;AAAA,QACA,GAAGoG;AAAAA,QACH,IAAG3D,IAAAH,EAAM,WAAN,QAAAG,EAAc,aAAa,CAAC,UAAUH,EAAM,OAAO,UAAU,EAAE,IAAI,CAAC;AAAA,QACvE,GAAG6D,EAAY,QAAQ,CAAC,WAAW,IAAI,CAAC;AAAA,QACxC,GAAGD,EAAW,QAAQ,CAAC,qBAAqB,IAAI,CAAC;AAAA,QACjD,KAAGxD,IAAAJ,EAAM,WAAN,gBAAAI,EAAc,gBAAe,UAAU,CAAC,YAAY,IAAI,CAAC;AAAA,QAC5D,KAAGC,IAAAL,EAAM,WAAN,gBAAAK,EAAc,gBAAe,QAAQ,CAAC,YAAY,IAAI,CAAC;AAAA,QAC1D,GAAGwD,EAAY,QAAQ,CAAC,YAAY,IAAI,CAAC;AAAA,MAAA;AAAA,KAC1C,GAEKE,IAAqBrG,EAAS,MAAM;AAAA,MACxC;AAAA,MACA,GAAGsG;AAAAA,IAAO,CACX,GAEKC,IAAkBvG,EAAS,MAAM;;AAC9B,aAAA;AAAA,QACL,WAAUyC,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA,QACxB,WAAUC,IAAAJ,EAAM,WAAN,gBAAAI,EAAc;AAAA,QACxB,UAAU;AAAA,MAAA;AAAA,IACZ,CACD,GAEKS,IAAmBnD,EAAS,MAAM;;AACtC,YAAMoD,IAAuC;AAAA,QAC3C,kBAAgBX,IAAAH,EAAM,WAAN,gBAAAG,EAAc,eAAcH,EAAM,SAAS,SAAY;AAAA,MAAA;AAGzE,UAAIA,EAAM;AACA,gBAAAA,EAAM,OAAO,YAAY;AAAA,UAC/B,KAAK;AACH,mBAAO,OAAOc,GAAQ;AAAA,cACpB,UAAU;AAAA,cACV,kBAAkBd,EAAM;AAAA,cACxB,QAAQ;AAAA,YAAA,CACT;AACD;AAAA,UAEF,KAAK;AACH,mBAAO,OAAOc,GAAQ;AAAA,cACpB,UAAU;AAAA,cACV,gBAAgBd,EAAM;AAAA,cACtB,QAAQ;AAAA,YAAA,CACT;AACD;AAAA,QACJ;AAGK,aAAAc;AAAA,IAAA,CACR,GAGKoD,IAAa1G,EAAI,EAAK,GACtB6D,IAAQ3D,EAAS;AAAA,MACrB,KAAK,MAAM;;AACL,YAACkG,EAAW;AAIhB,mBAAOzD,IAAAH,EAAM,eAAN,gBAAAG,EAAkB,cAAWC,IAAAJ,EAAM,WAAN,gBAAAI,EAAc,QAAOJ,EAAM,aAAa;AAAA,MAC9E;AAAA,MAEA,KAAK,CAACsB,MAAU;AACN,QAAArB,EAAA,KAAK,qBAAqBqB,CAAK;AAAA,MACzC;AAAA,IAAA,CACD,GAEK6C,IAAsBzG,EAAS,MAAM;;AAAA;AAAA,QACzC;AAAA,QACA,KAAGyC,IAAAH,EAAM,WAAN,gBAAAG,EAAc,eAAc,QAAQ,CAAC,kBAAkB,IAAI,CAAC;AAAA,MAAA;AAAA,KAChE,GAEKiE,IAA4B1G,EAAS,MAAO;;AAAA;AAAA,QAChD,kBAAgByC,IAAAH,EAAM,WAAN,gBAAAG,EAAc,eAAc,UAAoBC,IAAAJ,EAAM,WAAN,OAAZ,SAAYI,EAAc;AAAA,MAC9E;AAAA,KAAA;AAGF,aAASiE,IAAsB;;AAC7B,UAAI,GAACT,EAAW,SAASM,EAAW;AAIpC,YAAI7C,EAAM;AACR,UAAAA,EAAM,QAAQ;AAAA,YACZ,GAAGA,EAAM;AAAA,YACT,WAAWA,EAAM,MAAM,cAAc,QAAQ,SAAS;AAAA,UAAA;AAAA,aAEnD;AACD,cAAA,CAACrB,EAAM;AACH,kBAAA,IAAI,MAAM,0DAA0D;AAG5E,UAAAqB,EAAM,QAAQ;AAAA,YACZ,UAAQlB,IAAAH,EAAM,WAAN,gBAAAG,EAAc,SAAQ;AAAA,YAC9B,WAAW;AAAA,UAAA;AAAA,QAEf;AAAA,IACF;AAEA,aAASmE,EAAcC,GAAyB;;AAC9C,YAAMC,IAASD,EAAM,OACfE,MAAatE,IAAA5C,EAAK,UAAL,gBAAA4C,EAAY,gBAAe;AAE9C,UAAIuE,IAAuB;AACrB,YAAAC,IAAc,CAACC,MAA0B;AAG7C,QAFAV,EAAW,QAAQ,IAEfQ,MAAU,SAEdA,IAAQ,sBAAsB,MAAM;;AAC5B,gBAAAG,IAASD,EAAU,QAAQJ;AACjC,cAAIM,IAAW,KAAK,IAAI,GAAGL,IAAaI,CAAM;AAExC,gBAAAE,MAAM5E,IAAAH,EAAM,WAAN,gBAAAG,EAAc,gBAAaC,IAAAJ,EAAM,WAAN,gBAAAI,EAAc,UAAS,WAAWjB,KAAmCD;AACxG,cAAA6F,MAAQA,EAAI,SAAS,IAAI,KAAK,CAAC,MAAM,OAAOA,CAAG,CAAC,IAAI;AAChD,kBAAAC,IAAQ,SAASD,GAAK,EAAE;AACnB,YAAAD,IAAA,KAAK,IAAIA,GAAUE,CAAK;AAAA,UACrC;AAEA,eAAI3E,IAAAL,EAAM,WAAN,QAAAK,EAAc,aAAaL,EAAM,OAAO,SAAS,SAAS,IAAI,KAAK,CAAC,MAAM,OAAOA,EAAM,OAAO,QAAQ,CAAC,IAAI;AAC7G,kBAAMiF,IAAQ,SAASjF,EAAM,OAAO,UAAU,EAAE;AACrC,YAAA8E,IAAA,KAAK,IAAIA,GAAUG,CAAK;AAAA,UACrC;AAEQ,UAAAhF,EAAA,KAAK,uBAAuB6E,CAAQ,GACpCJ,IAAA;AAAA,QAAA,CACT;AAAA,MAAA,GAGGQ,IAAY,MAAM;AACtB,QAAIR,MAAU,SACZ,qBAAqBA,CAAK,GAClBA,IAAA,OAED,SAAA,oBAAoB,aAAaC,CAAW,GAC5C,SAAA,oBAAoB,WAAWO,CAAS,GAEjD,WAAW,MAAM;AACf,UAAAhB,EAAW,QAAQ;AAAA,WAClB,CAAC;AAAA,MAAA;AAGG,eAAA,iBAAiB,aAAaS,CAAW,GACzC,SAAA,iBAAiB,WAAWO,CAAS;AAAA,IAChD;AAGM,UAAA,EAAE,OAAAC,MAAUC,GAAe7H,GAAM,QAAW,EAAE,KAAK,aAAA,CAAc;AAEjE,WAAA8H,GAAA;AAAA,MACJ9H;AAAA,MACA4H;AAAA,MACA,MAAM;;AAAA,gBAAAhF,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA;AAAA,MACpB,MAAM;;AAAA,gBAAAA,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA;AAAA,IAAA,GACnB,CAAC;AAAA,MACFmF;AAAA,MACAH;AAAAA,IAAA,GACC;AAAA,MAAA;AAAA,MACD;AAAA,MAAC;AAAA,MAEDI;AAAA,IAAA,MACI;;AACJ,MAAIA,KAAYA,QAAapF,IAAAH,EAAM,WAAN,gBAAAG,EAAc,SACjCF,EAAA,KAAK,uBAAuBsF,CAAQ,GAG9CtF,EAAQ,KAAK,uBAAuBqF,GAAUH,GAAOnF,EAAM,MAAM;AAAA,IAAA,CAClE,GAEDwF,GAAY,MAAM;;AACZ,OAAArF,IAAAH,EAAM,WAAN,QAAAG,EAAc,QAChBF,EAAQ,KAAK,uBAAuBD,EAAM,OAAO,IAAI;AAAA,IACvD,CACD,GAEM;AAAA,MACL,MAAAzC;AAAA,MACA,YAAAE;AAAA,MACA,kBAAAoD;AAAA,MACA,qBAAAsD;AAAA,MACA,2BAAAC;AAAA,MACA,iBAAAH;AAAA,MACA,oBAAAF;AAAA,MACA,YAAAH;AAAA,MACA,aAAAC;AAAA,MAEA,OAAAxC;AAAA,MAEA,eAAAgD;AAAA,MACA,eAAAC;AAAA,MAEA,6BAAApF;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;YA5SCsC,EAiCM,QAAA;SA/BElD,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IACL,OAAKC,EAAAR,EAAA,UAAA;AAAA,IAAA,OAAAyD,EAAAzD,EAAA,gBAAA;AAAA,aAEUC,EAAQ,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA;EAAA,GAAA;AAAA,4DAMdO,EAAA,OAAA;AAAA,MACP,KAAK;AAAA,MAAA,OAAAC,EAAAR,EAAA,mBAAA;AAAA,MAEN,OAKMyD,EAAAzD,EAAA,yBAAA;AAAA,IAAA,GAAA;AAAA,SAHE,OAAE;AAAA,QAAA,OAAAQ,EAAA,CAAA,UAAA,CAAA;AAAA,QAER,OAAQiD,EAAAzD,EAAA,eAAA;AAAA,MAAA,GAAA;AAAA,QAGMU,EAAKV,EAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAA;AAAA,sBACW0D,EAAA+D,GAAA;AAAA,QAAA,KAAA;AAAA;+BAK1BhH,EAAW,IAAA,EAAA;AAAA,IAAA,GAAA,CAAA;AAAA,0BACTF,EAAA,OAAA;AAAA,MACP,KAAA;AAAA,MACA,OAAKC,EAAAR,EAAA,kBAAA;AAAA,MAAA,aAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAyH,GAAA,IAAAC,MAAA3H,EAAA,iBAAAA,EAAA,cAAA,GAAA2H,CAAA,GAAA,CAAA,QAAA,SAAA,CAAA;AAAA;;;;;oDC9BCC,KAAmC;AAAA;AAAA,EAE9C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAoE;AAAA,EAC/E,CAAC5G,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCxBA6G,KAAexI,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAM0C,GAAO;AAEX,UAAMzC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGqI;AAAAA,MACH,GAAGC,GAAsChG,EAAM,OAAO;AAAA,IAAA,CACvD;AAEM,WAAA;AAAA,MACL,MAAAzC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCiI,KAAgC;AAAA;AAAA,EAE3C;AACF,GCWAC,KAAe5I,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGyI;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAA5I;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHCoI,KAAqC;AAAA;AAAA,EAEhD;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAsE;AAAA,EACjF,CAACpH,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GC3BAqH,KAAehJ,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAM0C,GAAO;AAEX,UAAMzC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG6I;AAAAA,MACH,GAAGC,GAAwCxG,EAAM,OAAO;AAAA,IAAA,CACzD;AAEM,WAAA;AAAA,MACL,MAAAzC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCyI,KAA0B;AAAA;AAAA,EAErC;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GCOAC,KAAepJ,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAM0C,GAAO;AAEX,UAAMzC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGiJ;AAAAA,IAAO,CACX,GAEK9F,IAAmBnD,EAAS,MAAM;AACtC,YAAMkJ,IAAsB5G,EAAM,QAAQ,IAAI,CAAC6G,MAAW;AACxD,cAAMC,IAAc9G,EAAM,aAAa6G,EAAO,IAAI,KAAKA,EAAO;AAG1D,YAAAC,MAAgBA,EAAY,SAAS,QAAQ,KAAKA,EAAY,SAAS,MAAM;AACxE,iBAAAA;AAGT,cAAM3B,IAAQ2B,KAAe,OACvB/B,IAAM8B,EAAO,aAAaC,IAAc5H,KAA+B2H,EAAO,cAA8BA,EAAO,aAAxB,gBAAqD,UAChJE,IAAMF,EAAO,aAAaC,IAAe3B,MAAU,gBAAgB,gBAAgBA,IAAU0B,EAAO,cAA8BA,EAAO,YAAYA,EAAO,aAA3C,gBAAwE;AAE/L,eAAIA,EAAO,aACF,gBAGL1B,EAAM,SAAS,IAAI,IACdA,IAGF,UAAUJ,CAAG,KAAKgC,CAAG;AAAA,MAAA,CAC7B;AAEI,aAAA/G,EAAM,SAA8B,YAChC,EAAE,qBAAqB,GAAGb,EAAgC,IAAIyH,EAAoB,KAAK,GAAG,CAAC,OAG7F,EAAE,qBAAqBA,EAAoB,KAAK,GAAG,EAAE;AAAA,IAAA,CAC7D;AAEM,WAAA;AAAA,MACL,MAAArJ;AAAA,MACA,YAAAE;AAAA,MACA,kBAAAoD;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SArFS9C,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,IAEN,OAAQyD,EAAAzD,EAAA,gBAAA;AAAA,EAAA,GAAA;AAAA;;;oDCNCgJ,KAA4B;AAAA;AAAA,EAEvC;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GCOAC,KAAe3J,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGwJ;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAA3J;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHCmJ,KAAiC;AAAA;AAAA,EAE5C;AAAA;AAAA,EAGA;AACF,GAEaC,KAA0E;AAAA,EACrF,CAACnI,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCNAoI,KAAe/J,EAAgB;AAAA,EAC7B,YAAY;AAAA,IACV,gBAAAgK;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EACA,MAAMtH,GAAO;AAOJ,WAAA;AAAA,MACL,YAPiBtC,EAAS,MAAM;AAAA,QAChC;AAAA,QACA,GAAG6J;AAAAA,QACH,GAAGC,GAA4CxH,EAAM,OAAO;AAAA,MAAA,CAC7D;AAAA,IAGC;AAAA,EAEJ;AACF,CAAC;;YAnDCwB,EAYM,gBAAA;;IAXJ,OAUiBhD,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IAPTyJ,EAAAC,GAAAC,GAAE3J,EAAK,cAAA;AAAA,MAAA,OAAA;AAAA,MAMF,SAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,MAAA,oBAAA;AAAA,IAAA,CAAA,GAAA;AAAA,eADT4J,EAA+B,MAAA;AAAA,QAAA5J,EAAA,OAAA,eAAAU,EAAAV,EAAA,QAAA,gBAAA,EAAA,KAAA,EAAA,CAAA,IAAAS,EAAA,IAAA,EAAA;AAAA;;;;;oDCR1BoJ,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAmE;AAAA,EAC9E,CAAC7I,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCzBA8I,KAAezK,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAM0C,GAAO;AAEX,UAAMzC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGsK;AAAAA,MACH,GAAGC,GAAqCjI,EAAM,OAAO;AAAA,IAAA,CACtD;AAEM,WAAA;AAAA,MACL,MAAAzC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCkK,KAAqB;AAAA;AAAA,EAEhC;AACF,GCuUAC,KAAe7K,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAAiC;AAAA,IACA,kBAAkB6I;AAAAA,IAClB,kBAAkBC;AAAAA,IAClB,iBAAiBC;AAAAA,IACjB,wBAAwBC;AAAAA,IACxB,4BAA4BC;AAAAA,IAC5B,2BAA2BC;AAAAA,IAC3B,uBAAuBC;AAAAA,IACvB,2BAA2BC;AAAAA,IAC3B,0BAA0BC;AAAAA,IAC1B,yBAAyBC;AAAAA,IACzB,uBAAuBC;AAAAA,IACvB,2BAA2BC;AAAAA,IAC3B,0BAA0BC;AAAAA,IAC1B,4BAA4BC;AAAAA,IAC5B,mBAAmBC;AAAAA,IACnB,wBAAwBC;AAAAA,IACxB,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;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,CAAC,QAAQ,QAAQ;AAAA,MACvB,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMtK,EAAgB;AAAA,IACjC;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,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,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMe,GAAOC,GAAS;AAEpB,UAAM1C,IAAOC,KAEPgM,IAAahM,KACbiM,IAAQjM,KAERC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGgM;AAAAA,IAAO,CACX,GAEKC,IAAoBjM,EAAS,MAAM;AACvC,YAAMoD,IAAiC;AAAA,QACrC,0BAA0B,GAAG,CAAC,GAAG8I,EAAkB,OAAQ,CAAA,EAAE,OAAO,CAACC,GAAavI,MAAUuI,IAAcvI,GAAO,CAAC,CAAC;AAAA,QACnH,wBAAwB,GAAG,CAAC,GAAGwI,EAAgB,OAAQ,CAAA,EAAE,OAAO,CAACD,GAAavI,MAAUuI,IAAcvI,GAAO,CAAC,CAAC;AAAA,MAAA;AAG/F,aAAAsI,EAAA,QAAQ,CAACtI,GAAOyI,MAAQ;AACxC,QAAAjJ,EAAO,qBAAqBiJ,CAAG,EAAE,IAAI,GAAGzI,CAAK;AAAA,MAAA,CAC9C,GAEewI,EAAA,QAAQ,CAACxI,GAAOyI,MAAQ;AACtC,QAAAjJ,EAAO,qBAAqBiJ,CAAG,EAAE,IAAI,GAAGzI,CAAK;AAAA,MAAA,CAC9C,GAEMR;AAAA,IAAA,CACR,GAGKkJ,IAAqBtM,EAAS;AAAA,MAClC,KAAK,MACI,CAAC,EAAEsC,EAAM,SAASA,EAAM,MAAM,WAAWA,EAAM,MAAM,MAAM,CAACiK,MAASC,EAAe,MAAM,SAASC,EAAUF,CAAI,CAAC,CAAC;AAAA,MAG5H,KAAK,CAAC3I,MAAU;AACV,QAAAA,KAAStB,EAAM,QACjBkK,EAAe,QAAQ;AAAA,UACrB,uBAAO,IAAI;AAAA,YACT,GAAGA,EAAe;AAAA,YAClB,GAAGlK,EAAM,MAAM,IAAI,CAACiK,MAASE,EAAUF,CAAI,CAAC;AAAA,UAAA,CAC7C;AAAA,QAAA,IAGHC,EAAe,QAAQ;MAE3B;AAAA,IAAA,CACD,GAEKA,IAAiBxM,EAAS;AAAA,MAC9B,KAAK,MAAOsC,EAAM,cAAcA,EAAM,WAAW,aAAc,CAAC;AAAA,MAEhE,KAAK,CAACsB,MAAU;AACd,QAAArB,EAAQ,KAAK,qBAAqB;AAAA,UAChC,GAAGD,EAAM;AAAA,UACT,WAAWsB;AAAA,QAAA,CACU;AAAA,MACzB;AAAA,IAAA,CACD,GAEK8I,IAAiB1M,EAAS;AAAA,MAC9B,KAAK,MAAMsC,EAAM,cAAcA,EAAM,WAAW;AAAA,MAEhD,KAAK,CAACsB,MAAU;AACd,QAAArB,EAAQ,KAAK,qBAAqB;AAAA,UAChC,GAAGD,EAAM;AAAA,UACT,WAAWsB;AAAA,UAEX,QAAQtB,EAAM,cAAcA,EAAM,WAAW,SAAS;AAAA,YACpD,GAAGA,EAAM,WAAW;AAAA,YACpB,QAAQ;AAAA,UACN,IAAA;AAAA,QAAA,CACiB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKqK,IAAiB3M,EAAS;AAAA,MAC9B,KAAK,MAAMsC,EAAM,cAAcA,EAAM,WAAW;AAAA,MAEhD,KAAK,CAACsB,MAAU;AACd,QAAArB,EAAQ,KAAK,qBAAqB;AAAA,UAChC,GAAGD,EAAM;AAAA,UACT,WAAWsB;AAAA,UAEX,QAAQtB,EAAM,cAAcA,EAAM,WAAW,SAAS;AAAA,YACpD,GAAGA,EAAM,WAAW;AAAA,YACpB,QAAQ;AAAA,UACN,IAAA;AAAA,QAAA,CACiB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKsK,IAAe5M,EAAS;AAAA,MAC5B,KAAK,MAAMsC,EAAM,cAAcA,EAAM,WAAW;AAAA,MAEhD,KAAK,CAACsB,MAAU;AACd,QAAArB,EAAQ,KAAK,qBAAqB;AAAA,UAChC,GAAGD,EAAM;AAAA,UACT,SAASsB;AAAA,UAET,QAAQtB,EAAM,cAAcA,EAAM,WAAW,SAAS;AAAA,YACpD,GAAGA,EAAM,WAAW;AAAA,YACpB,QAAQ;AAAA,UACN,IAAA;AAAA,QAAA,CACiB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKuK,IAAc7M,EAAS;AAAA,MAC3B,KAAK,MAAMsC,EAAM,cAAcA,EAAM,WAAW;AAAA,MAEhD,KAAK,CAACsB,MAAU;AACd,QAAArB,EAAQ,KAAK,qBAAqB;AAAA,UAChC,GAAGD,EAAM;AAAA,UACT,QAAQsB;AAAA,QAAA,CACa;AAAA,MACzB;AAAA,IAAA,CACD,GAEKkJ,IAAgB9M,EAAS;AAAA,MAC7B,KAAK,MAAOsC,EAAM,cAAcA,EAAM,WAAW,YAAa,CAAC;AAAA,MAE/D,KAAK,CAACsB,MAAU;AACd,QAAArB,EAAQ,KAAK,qBAAqB;AAAA,UAChC,GAAGD,EAAM;AAAA,UACT,UAAUsB;AAAA,QAAA,CACW;AAAA,MACzB;AAAA,IAAA,CACD,GAEKmJ,IAAa,CAACR,MAA0BO,EAAc,MAAM,QAAQL,EAAUF,CAAI,CAAC,MAAM,IAEzFS,IAAe,CAACT,MAA0B;AAC9C,UAAI,CAACA,EAAK,YAAYA,EAAK,SAAS,WAAW,EAAG;AAC5C,YAAAU,IAASR,EAAUF,CAAI,GACvBW,IAAWJ,EAAc;AAG/B,MAFcI,EAAS,QAAQD,CAAM,MAEvB,KACZH,EAAc,QAAQ,CAAC,GAAGI,GAAUD,CAAM,IAE1CH,EAAc,QAAQI,EAAS,OAAO,CAACC,MAAOA,MAAOF,CAAM;AAAA,IAC7D;AAGF,IAAAtF,GAAM,MAAMkF,EAAY,SAASA,EAAY,MAAM,QAAQ,MAAM;AAC/D,MAAId,EAAM,SAASA,EAAM,MAAM,QACvBA,EAAA,MAAM,KAAK,SAAS;AAAA,QACxB,KAAK;AAAA,QACL,UAAU;AAAA,MAAA,CACX;AAAA,IACH,CACD;AAEK,UAAAqB,IAAcpN,EAAS,MACvB,CAACsC,EAAM,SAAS,aAAa,CAACA,EAAM,QAC/BA,EAAM,SAAS,KAGjB+K,GAAQ/K,EAAM,OAAOyK,CAAU,CACvC,GAEKO,IAAsBtN,EAAS,MAC5BsC,EAAM,SAAS,cACnB,OAAOA,EAAM,SAAS,aAAc,WAAWA,EAAM,SAAS,UAAU,gBAAgB,KAAQ,GACpG,GAEKiL,IAAoBvN,EAAS,MAC1B,CAACsC,EAAM,SAASA,EAAM,MAAM,WAAW,KACzCA,EAAM,WACL,OAAOA,EAAM,SAAS,aAAc,YAAYA,EAAM,SAAS,UAAU,QAEhF,GAEKkL,IAAkBxN,EAAS,MAAM;AACrC,YAAMyN,IAASZ,EAAY;AACnB,aAAAY,KAAUA,EAAO,SAAU;AAAA,IAAA,CACpC,GAEKC,IAAe5N,EAA4B,CAAA,CAAE,GAE7C6N,IAAgB3N,EAAS,MACtBsC,EAAM,OACd,GAEK4J,IAAoB0B,GAAa,oBAAA,IAAqB,CAAA,GACtDxB,IAAkBwB,GAAa,oBAAA,IAAqB,CAAA,GAEpDC,IAAgB7N,EAAS,MAAM;AAC7B,YAAA8N,wBAAY,OACZC,wBAAU,OAEVC,IAAiC,CAAA,GACjCC,IAA+B,CAAA;AAEjC,MAAA3L,EAAM,SAAS,aACjB0L,EAAa,KAAK;AAAA,QAChB,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA,CACZ,GAGWL,EAAA,MAAM,QAAQ,CAACxE,MAAW;AAClC,QAAAA,EAAO,eAAe,UACxB6E,EAAa,KAAK7E,CAAM,IACfA,EAAO,eAAe,SAC/B8E,EAAW,KAAK9E,CAAM;AAAA,MACxB,CACD;AAED,UAAI+E,IAAyB;AAChB,MAAAF,EAAA,QAAQ,CAAC7E,MAAW;AACzB,QAAA2E,EAAA,IAAI3E,EAAO,MAAM+E,CAAsB,GAC7CA,IAAyB,QAAQA,CAAsB,4BAA4B/E,EAAO,IAAI;AAAA,MAAA,CAC/F;AAED,UAAIgF,IAAuB;AAE3B,cAAC,GAAGF,CAAU,EAAE,QAAU,EAAA,QAAQ,CAAC9E,MAAW;AACxC,QAAA4E,EAAA,IAAI5E,EAAO,MAAMgF,CAAoB,GACzCA,IAAuB,QAAQA,CAAoB,4BAA4BhF,EAAO,IAAI;AAAA,MAAA,CAC3F,GAEM;AAAA,QACL,OAAA2E;AAAA,QACA,KAAAC;AAAA,MAAA;AAAA,IACF,CACD;AAGD,aAASK,EAAqBxK,GAAqB;AACjD,MAAA+I,EAAe,QAAQ/I;AAAA,IACzB;AAES,aAAAyK,EAAmBC,GAAqBC,GAAgBpF,GAA8B;AAC7F,cAAQA,EAAO,YAAY;AAAA,QACzB,KAAK;AACe,UAAA+C,EAAA,IAAI/C,EAAO,MAAMoF,CAAM,GACzBnC,EAAA,OAAOjD,EAAO,IAAI;AAElC;AAAA,QAEF,KAAK;AACe,UAAA+C,EAAA,OAAO/C,EAAO,IAAI,GACpBiD,EAAA,IAAIjD,EAAO,MAAMoF,CAAM;AAEvC;AAAA,QAEF;AACE,UAAAC,GAAmBrF,EAAO,IAAI;AAC9B;AAAA,MACJ;AAAA,IACF;AAEA,aAASsF,EAAoBlC,GAA6B;AACpD,MAACjK,EAAM,mBACHC,EAAA,KAAK,aAAagK,CAAI;AAAA,IAChC;AAEA,aAASmC,EAAoBnC,GAA6B;AACpD,MAACjK,EAAM,mBACHC,EAAA,KAAK,YAAYgK,CAAI;AAAA,IAC/B;AAES,aAAAoC,EAAqBpC,GAAuBqC,GAAoBhL,GAAsB;AACzF,MAACtB,EAAM,mBACXC,EAAQ,KAAK,cAAc;AAAA,QACzB,MAAAgK;AAAA,QACA,YAAAqC;AAAA,QACA,OAAAhL;AAAA,MAAA,CACD;AAAA,IACH;AAES,aAAAiL,EAAqBtC,GAAuBqC,GAAoBhL,GAAsB;AACzF,MAACtB,EAAM,mBACXC,EAAQ,KAAK,aAAa;AAAA,QACxB,MAAAgK;AAAA,QACA,YAAAqC;AAAA,QACA,OAAAhL;AAAA,MAAA,CACD;AAAA,IACH;AAEA,aAASkL,GAAevC,GAA6B;AAC/C,MAACjK,EAAM,mBACHC,EAAA,KAAK,aAAagK,CAAI;AAAA,IAChC;AAEM,UAAAwC,KAA4BC,GAAcC,IAAkB,GAAG;AAErE,aAASA,KAAyB;;AAChC,UAAI,OAAO,SAAW,OAAe,CAAC3M,EAAM,SAAS,WAAY;AAEjE,YAAM4M,IAAiC,CAAA;AACzB,MAAAvB,EAAA,MAAM,QAAQ,CAACxE,MAAW;AACtC,cAAM1B,IAAQiG,EAAa,MAAMvE,EAAO,IAAI,KAAMA,EAA0B;AACxE,QAAAA,EAAO,QAAQ1B,MACVyH,EAAA/F,EAAO,IAAI,IAAI1B;AAAA,MACxB,CACD,GAMD,aAAa,QAAQ,0BAA0BnF,EAAM,SAAS,UAAU,IAAI,KAAK,UAAU;AAAA,QACzF,QAAA4M;AAAA,QACA,iBAAgBzM,IAAA5C,EAAK,UAAL,gBAAA4C,EAAY;AAAA,MAC7B,CAAA,CAAC;AAAA,IACJ;AAEM,UAAA+D,KAAa1G,EAAI,EAAK;AAEnB,aAAAqP,GAAkBhG,GAAwB1B,GAAqB;AACtE,MAAAjB,GAAW,QAAQ,IACnBkH,EAAa,QAAQ;AAAA,QACnB,GAAGA,EAAa;AAAA,QAChB,CAACvE,EAAO,IAAI,GAAG,GAAG1B,CAAK;AAAA,MAAA,GAGrBnF,EAAM,SAAS,cACSyM,MAGHK;IAC3B;AAEM,UAAAA,KAA2BJ,GAAc,MAAM;AACnD,MAAAxI,GAAW,QAAQ;AAAA,OAClB,GAAI,GAED6I,KAAwBvP,EAAI,CAAC;AAEnC,aAASwP,KAAyB;AAChC,UAAI,SAAO,SAAW,OAAe,CAAChN,EAAM,SAAS;AAEjD,YAAA;AACF,gBAAMiN,IAAS,aAAa,QAAQ,0BAA0BjN,EAAM,SAAS,UAAU,EAAE;AACzF,cAAIiN,GAAQ;AACJ,kBAAAC,IAAO,KAAK,MAAMD,CAAM,GACxBL,IAASM,EAAK,UAAUA,GACxBC,IAAiBD,EAAK;AAExB,gBAAAC,KAAkB5P,EAAK,SAAS,KAAK,IAAIA,EAAK,MAAM,cAAc4P,CAAc,IAAI,IAAI;AAC1F,cAAAJ,GAAsB,QAAQI;AAC9B;AAAA,YACF;AAEA,YAAA/B,EAAa,QAAQwB;AAAA,UACvB;AAAA,iBACOQ,GAAG;AACF,kBAAA,MAAM,gEAAgEA,CAAC;AAAA,QACjF;AAAA,IACF;AAEkB,IAAAC,GAAA9P,GAAM,CAAC+P,MAAY;AAC7B,YAAAC,IAAQD,EAAQ,CAAC,GACjB,EAAE,OAAAnI,EAAM,IAAIoI,EAAM;AACxB,UAAI,EAAApI,KAAS,KAAKjB,GAAW,SAAS,CAAClE,EAAM,SAAS,eAElD,OAAO,KAAKoL,EAAa,KAAK,EAAE,SAAS,GAAG;AAC9C,cAAM6B,IAAS,aAAa,QAAQ,0BAA0BjN,EAAM,SAAS,UAAU,EAAE;AACzF,YAAIiN;AACE,cAAA;AAEF,kBAAME,IADO,KAAK,MAAMF,CAAM,EACF;AAC5B,YAAIE,KAAkB,KAAK,IAAIhI,IAAQgI,CAAc,IAAI,OACvD/B,EAAa,QAAQ;UACvB,QACM;AAAA,UAER;AAAA,MAEJ;AAAA,IAAA,CACD,GAEDoC,GAAU,MAAM;AACG,MAAAR;IAAA,CAClB;AAED,aAASd,GAAmBuB,GAAoB;AAC9C,MAAA7D,EAAkB,OAAO6D,CAAI,GAC7B3D,EAAgB,OAAO2D,CAAI;AAAA,IAC7B;AAGA,aAASC,GAASnJ,GAAyB;AACxC,MAAAA,EAAM,cAA8B,eAAe,EAAE,OAAO,UAAW,CAAA;AAAA,IAC1E;AAES,aAAAoJ,GAAa1D,GAAuBqC,GAA6B;AACxE,aAAQrC,EAAiCqC,CAAU;AAAA,IACrD;AAEA,aAASnC,EAAUF,GAA2B;AACxC,aAAA,OAAOjK,EAAM,WAAY,aACpBA,EAAM,QAAQiK,CAAI,IAGpB0D,GAAa1D,GAAMjK,EAAM,OAAO;AAAA,IACzC;AAES,aAAA4N,GAAa3D,GAAuBqC,GAAoBhL,GAAsB;AACpF,MAAA2I,EAAiCqC,CAAU,IAAIhL;AAAA,IAClD;AAEO,WAAA;AAAA,MACL,MAAA/D;AAAA,MACA,YAAAE;AAAA,MAEA,YAAA+L;AAAA,MAEA,mBAAAG;AAAA,MAEA,oBAAAK;AAAA,MACA,qBAAAgB;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAG;AAAA,MACA,aAAAP;AAAA,MAEA,qBAAAqB;AAAA,MACA,qBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,sBAAAE;AAAA,MACA,gBAAAC;AAAA,MACA,cAAA9B;AAAA,MACA,YAAAD;AAAA,MAEA,mBAAAoC;AAAA,MAEA,cAAAzB;AAAA,MAEA,gBAAAlB;AAAA,MACA,gBAAAE;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MAEA,eAAAgB;AAAA,MAEA,oBAAAQ;AAAA,MACA,oBAAAG;AAAA,MAEA,sBAAAJ;AAAA,MAEA,cAAA6B;AAAA,MACA,WAAAxD;AAAA,MAEA,aAAa,MAAM;AACjB,QAAIV,EAAM,SAASA,EAAM,MAAM,QACvBA,EAAA,MAAM,KAAK,SAAS;AAAA,UACxB,KAAK;AAAA,UACL,UAAU;AAAA,QAAA,CACX;AAAA,MAEL;AAAA,MAEA,UAAAiE;AAAA,MACA,SAAS,CAACzD,GAAuBqC,GAAoBhL,MAAmB;AACzD,QAAAsM,GAAA3D,GAAMqC,GAAYhL,CAAK,GAC5BrB,EAAA,KAAK,eAAegK,CAAI;AAAA,MAClC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAhrBiBnM,KAAM;AAAA,EAAA,KAAA;AAAA;;;4mBAxMtB0D,EAmTM,kBAAA;SAjTElD,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAEF,OAAAC,EAAMR,EAAa,UAAQ;AAAA,EAAA,GAAA;AAAA,IAEjCA,EAAA,OAAA,SAAAA,EAAA,SAAA,aAAAA,EAAA,OAAA,UAAAA,EAAA,OAAA,gBAAAM,EAAA,GAAAoD,EAAEmM,GAAY;AAAA,MAAA,KAAA;AAAA,aAGZrP,EAAM,CAAA,UAAA,CAAA;AAAA,IAAA,GAAAsP,GAAA,EAAA,GAAA,KAAA;AAAA,eACL,QAAK;AAAA,QAEZ,MAAA;AAAA,QAAA,IAAAlG,EAAA,MAAA;AAAA;;;MAIM,IAAA;AAAA,MACC5J,EAAA,SAAA,YAAA;AAAA,QAEP,MAAA;AAAA,QAAA,IAIE4J,EAAqC,MAAA;AAAA,UAAAlJ,EAAAV,EAAlB,QAAc,UAAA+P,GAAAC,GAAA,EAAA,sBAAAhQ,EAAA,sBAAA,gBAAAA,EAAA,eAAA,CAAA,CAAA,GAAA,MAAA;AAAA,YAAAyJ,EAAAwG,GAAA;AAAA;;;;;;MAK7B,IAAA;AAAA,eACC,eAAY;AAAA,QAEnB,MAAA;AAAA,QAAA,IAAArG,EAAA,MAAA;AAAA;;;;IAKU,CAAA,GAAA,IAAM,OACpB,IAIoB,EAAA;AAAA,IAAA5J,EAAA,OAAA,WAAAM,OAHV4P,GAAY;AAAA,MAAA,KAAA;AAAA,MAEM,OAAA1P,EAAA,CAAA,UAAA,CAAA;AAAA,IAAA,GAAA;AAAA;;;;IAI9B,CAAA,KACEC,EAAW,IAAA,EAAA;AAAA,IACLgJ,EAAA0G,GAAA;AAAA,MACL,KAAK;AAAA,MACL,OAAO3P,EAAE,CAAa,QAAA,mBAAA,EAAA,wBAAAR,EAAA,MAAA,WAAA,EAAA,CAAA,CAAA;AAAA,MACtB,SAAeA,EAAY,iBAAA;AAAA,MAC3B,SAAQA,EAAE;AAAA,MAAA,iBAAAA,EAAA;AAAA;;MAoCkB,SAAA4J,EAAA,MAAA;AAAA,QAAAH,EAjC3B2G,GAiC2B,MAAA;AAAA,UAfd,SAAAxG,EAAA,MAAA;AAAA,YAAAH,EAfK4G,GAAkB,EAAA,SAAArQ,EAAA,QAAA,GAAA;AAAA,cAChC,SAAA4J,EAAA,MAAA;AAAA,gBACW5J,EAAA,SAAA,aAAAM,EAAA,GAAAoD,EAAA4M,GAAA;AAAA,kBACR,KAAA;AAAA,kBACA,QAAQ,EAAE,MAAI,UAAA,YAAA,SAAA,WAAA,SAAA;AAAA,kBACf,iBAAgBtQ,EAAA,cAAA,MAAA,IAAA,QAAA;AAAA,kBACf,UAAA;AAAA,kBACA,OAAA;AAAA,kBAAA,yBAAAA,EAAA;AAAA,kBAMC,yBAAAA,EAAA;AAAA,gBAAA,GAAA;AAAA,kBAHS,SAAA4J,EAAA,MAAA;AAAA,oBAAAH,EAAA1F,GAAA;AAAA,sBACR,YAAgB/D,EAAA;AAAA,sBAChB,uBAAUC,EAAiB,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,qBAAA4D;AAAA,sBAAA,eAAA,CAAA5D,EAAA,sBAAAA,EAAA,eAAA,SAAA;AAAA;;;;gBAKlC,GAAA,GAAA,CAAA,iBAAA,yBAY4B,uBAXT,CADnB,KAAAS,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAAgQ,IAAA,MAAAC,GAAAxQ,EAAA,eAAA,CAAA6I,YACInF,EAAA4M,GAAA;AAAA,kBAAA,KAAAzH,EAAA;AAAA,kBACpB,YAAQ7I,EAAM;AAAA,kBACd,uBAAkBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,eAAA4D;AAAA,kBAClB,QAAAiF;AAAA,kBACA,UAAA7I,EAAA;AAAA,kBACA,iBAAA6I,EAAoB,eAAE,UAAkB7I,EAAA,cAAA,MAAA,IAAA6I,EAAA,IAAA,IAAAA,EAAA,eAAA,QAAA7I,EAAA,cAAA,IAAA,IAAA6I,EAAA,IAAA,IAAA;AAAA,kBACxC,yBAAsB7I,EAAK;AAAA,kBAAA,yBAAAA,EAAA;AAAA,kBAEV,wBAAA,CAAAmH,MAAAnH,EAAA,kBAAA6I,GAAA1B,CAAA;AAAA,gBAAA,GAAA;AAAA;;;;;;;;;UAKhB,GAAA;AAAA,QAAA,CAAA;AAAA,QACLnH,EAAA,gBAAAM,KAAYoD,EAAE+M,GAAY;AAAA,UAC1B,KAAA;AAAA,UACA,cAAkBzQ,EAAA;AAAA,UAAA,SAAAA,EAAA;AAAA,UAGL,qBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,MAAA,oBAAA;AAAA,QAAA,GAAA8P,GAAA,EAAA,GAAA,KAAA;AAAA,mBACL,eAAY;AAAA,YAEnB,MAAA;AAAA,YAAA,IAAAlG,EAAA,MAAA;AAAA;;;;QAGJ,CAAA,GAAA,MA+JyB,CAvJZ,gBAAA,SAAA,CAAA,KAAAnJ,EAAA,IAAA,EAAA;AAAA,QAAAgJ,EAPKiH,GAAM,MAAA;AAAA,UACpB,SAAA9G,EAAA,MAAA;AAAA,YAAA5J,EAAA,OAAA,aAAA,KAAAM,EACmB,GAAAoD,EAAAiN,GAAA;AAAA,cACjB,KAAK;AAAA,cAAA,SAAA3Q,EAAA;AAAA;;;;;;YAKO,GAAA,GAAA,CAAA,SAAO,CACrB,KAAAS,EAAA,IAAA,EAAA;AAAA,YAEST,EAAA,WAAAM,EAAA,EAAA,GAAAC,EAAAgQ,IAAA,EAAA,KAAA,EAAA,GAAAC,GAAAxQ,EAAA,iBAAA,CAAA4Q,OACNtQ,EAAA,GAAgBoD,EAAAmN,GAAA;AAAA,cAChB,KAAAD;AAAA,cAAA,SAAA5Q,EAAA;AAAA,cAED,aAAAA,EAAA;AAAA,YAAA,GAAA;AAAA,cACE,SAAA4J,EAAA,MAAA;AAAA,gBACW5J,EAAA,SAAA,aAAAM,EAAA,GAAAoD,EAAAoN,GAAA;AAAA,kBACR,KAAA;AAAA,kBACA,QAAO,EAAE,MAAO,UAAA,YAAA,SAAA,WAAA,SAAA;AAAA,kBAChB,iBAAc9Q,EAAA,cAAA,MAAA,IAAA,QAAA;AAAA,kBACf,SAAMA,EAAA;AAAA,kBAAA,UAAA;AAAA;;;;;;gBAMV,GAAA,GAAA,CAAA,iBAAA,SAAA,CAAA,KAAAS,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAAgQ,IAAA,MAAAC,GAAAxQ,EAAA,eAAA,CAAA6I,OACVvI,EAAQ,GAAAoD,EAAAoN,GAAA;AAAA,kBACd,KAAUjI,EAAA;AAAA,kBACV,QAAAA;AAAA,kBACA,UAAS7I,EAAA;AAAA,kBACT,iBAAc6I,EAAA,eAAA,UAAA7I,EAAA,cAAA,MAAA,IAAA6I,EAAA,IAAA,IAAAA,EAAA,eAAA,QAAA7I,EAAA,cAAA,IAAA,IAAA6I,EAAA,IAAA,IAAA;AAAA,kBAAA,SAAA7I,EAAA;AAAA;;2BAMb4J,EAAkB,MAAA;AAAA,oBAAAlJ,EAAAV,EAAA,QAAA,kBAAA,EAAA,QAAA6I,EAAA,GAAA,MAAA;AAAA;;;;;;;YAML,GAAA,MAAK,CAAC,WAAM,aAAA,CAAA,EAAA,GAAA,GAAA,KAAA7I,EAAA,MAAA,SAAA,KAAAM,EAGvB,EAAc,GAAAC,EAAAgQ,IAAA,EAAA,KAAA,EAAA,GAAAC,GAAAxQ,EAAA,aAAA,CAAAiM,OACnB3L,EAAA,GAAgBoD,EAAAmN,GAAA;AAAA,cAChB,KAAU7Q,EAAA,UAAAiM,CAAA;AAAA,cACV,SAAajM,EAAA;AAAA,cACb,UAAAA,EAAU,eAAQ,SAAAA,EAAmB,UAAKiM,CAAA,CAAA;AAAA,cAC1C,aAAUjM,EAAA;AAAA,cACV,cAAK,MAAQA,EAAmB,oBAAAiM,CAAA;AAAA,cAAA,cAAA,MAAAjM,EAAA,oBAAAiM,CAAA;AAAA,cAmBtB,SAAA,MAAAjM,EAAA,eAAAiM,CAAA;AAAA,YAAA,GAAA;AAAA,cAhBT,SAAArC,EAAA,MAAA;AAAA,gBACW5J,EAAA,SAAA,aAAAM,EAAA,GAAAoD,EAAAoN,GAAA;AAAA,kBACR,KAAA;AAAA,kBACA,QAAO,EAAE,MAAO,UAAA,YAAA,SAAA,WAAA,SAAA;AAAA,kBAChB,iBAAc9Q,EAAA,cAAA,MAAA,IAAA,QAAA;AAAA,kBACd,SAAWA,EAAA;AAAA,kBACZ,UAAM;AAAA,kBACL,eAAU;AAAA,kBACV,OAAA;AAAA,kBAAA,cAAA,MAAAA,EAAA,qBAAAiM,GAAA,aAAAjM,EAAA,eAAA,QAAAA,EAAA,UAAAiM,CAAA,CAAA,MAAA,EAAA;AAAA,kBAMC,cAAA,MAAAjM,EAAA,qBAAAiM,GAAA,aAAAjM,EAAA,eAAA,QAAAA,EAAA,UAAAiM,CAAA,CAAA,MAAA,EAAA;AAAA,gBAAA,GAAA;AAAA,kBAHS,SAAArC,EAAA,MAAA;AAAA,oBAAAH,EAAA1F,GAAA;AAAA,sBACR,YAAO/D,EAAA;AAAA,sBACP,uBAAUC,EAAiB,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,iBAAA4D;AAAA,sBAAA,OAAA5D,EAAA,UAAAiM,CAAA;AAAA;;;;gBAKlC,GAAA,MAAA,CAAA,iBAAA,WAiD6B,8BAhDK,CADlC,KAAAxL,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAAgQ,IAAA,MAAAC,GAAAxQ,EAAA,eAAA,CAAA6I,GAAAkI,OAChBzQ,EAAA,KAA0BwQ,GAAiB;AAAA,kBAC3C,KAAQjI,EAAA;AAAA,kBACR,eAAU7I,EAAQ,aAAAiM,GAAApD,EAAA,IAAA;AAAA,kBAClB,QAAAA;AAAA,kBACA,UAAS7I,EAAA;AAAA,kBACT,iBAAK6I,EAAE,eAAc,UAAO7I,EAAM,cAAM,MAAA,IAAA6I,EAAA,IAAA,IAAAA,EAAA,eAAA,QAAA7I,EAAA,cAAA,IAAA,IAAA6I,EAAA,IAAA,IAAA;AAAA,kBACxC,SAAO7I,EAAA;AAAA,kBACP,SAAA,CAAA4D,MAAkB5D,EAAqB,QAAAiM,GAAApD,EAAA,MAAMjF,CAAM;AAAA,kBACnD,WAAU3D,EAAA,CAAA,MAAQA,EAAqB,CAAA,IAAA,CAAA2D,MAAA5D,EAAM,SAAO4D,CAAM;AAAA,kBAAA,cAAA,MAAA5D,EAAA,qBAAAiM,GAAApD,EAAA,MAAA7I,EAAA,aAAAiM,GAAApD,EAAA,IAAA,CAAA;AAAA,kBAqCrD,cAAA,MAAA7I,EAAA,qBAAAiM,GAAApD,EAAA,MAAA7I,EAAA,aAAAiM,GAAApD,EAAA,IAAA,CAAA;AAAA,gBAAA,GAAA;AAAA,kBAlCC,SAAAe,EAAA,MAAA;AAAA,oBAE8BoH,GAAS,OAAA;AAAA,sBAAA,OAAAxQ,EAAA,CAAA,kDAAA;AAAA,wCADtC,QAAE,gBAAAqI,EAAW,yBAA8B,mBAAM;AAAA,sBAAA,CAAA,CAAA;AAAA,sBAM/C,OAAApF,EAAqBsN,MAAS,IAAS,EAAA,cAAA9E,EAAA,SAAA,KAAA,KAAA,KAAA,IAAA,MAAA;AAAA,oBAAA,GAAA;AAAA,4BAIhC,KAAQjM,EAAI,SAAK,aAM5BM,KAAAC,EAAA,OAAAT,IAAA;AAAA,wBAAAmM,EAAA,YAAAA,EAAA,SAAA,SAAA,KAAA3L,EAAA,GALsBoD,EAAAuN,GAAA;AAAA,0BACtB,KAAI;AAAA,0BACH,MAAK;AAAA,0BACL,MAAA;AAAA,0BACA,OAAAzQ,EAAS,sCAAV,EAAkB,aAAAR,EAAA,WAAAiM,CAAA,EAAA,CAAA,CAAA;AAAA,0BAAA,SAAAvE,GAAA,CAAA9D,MAAA5D,EAAA,aAAAiM,CAAA,GAAA,CAAA,MAAA,CAAA;AAAA;;;sBAItB,CAAA,KACExL,EAAK,IAAC,EAAA;AAAA,sBACmCuQ,GAAA,OAAA;AAAA,wBAAsD,OAASxQ,EAAiC,CAAA,WAAA;AAAA,0BAAAuQ,MAA6F,IAAkB,cAAA;AAAA,0BAAAlI,EAAA,cAAA,QAAA,aAAAA,EAAA,cAAA,WAAA,gBAAA;AAAA;;;wBAS3OnI,EAAAV,EAAA,QAAA6I,EAAA,MAAA;AAAA,0BAAA,QAAAA;AAAA;;;;;;;;;;;eAQI,MAAA,CAAA,WAAA,YAAA,eAAiC,gBAAc,gBAAoB,SAAA,CAAA,EAAA,GAAA,GAAA,KAAA7I,EAAA,OAAA,oBAAAA,EAAA,SAAA,aAAAA,EAAA,kBAAAA,EAAA,SAAA,aAAAA,EAAA,mBAAAM,EAAA,KAElF4Q,GAAiB;AAAA,cACxB,KAAA;AAAA,cAAA,OAAA1Q,EAAA,CAAA,eAAA,CAAA;AAAA;;uBAIEoJ,EAAQ,MAAA;AAAA,gBAAAlJ,EACAV,EAAc,QAAA,mBAAA;AAAA,kBAAA,QAAAA,EAAA;AAAA;;;cAKR,GAAA;AAAA,YACnB,GAAA,GAAA,CAAA,SAAA,CAAA,KAAAA,EAAA,OAAA,SAAAM,OACU4Q,GAAiB;AAAA,cACxB,KAAA;AAAA,cAAA,OAAA1Q,EAAA,CAAA,eAAA,CAAA;AAAA;;;;;;YAMW,GAAM,qBACpB,IAI0B,EAAA;AAAA,YAAAR,EAAA,OAAA,YAAA,KAAAM,EAHP,GAAAoD,EAAAiN,GAAA;AAAA,cAAA,KAAA;AAAA;;;;;;;;;;;MAQT,GAAA;AAAA,IAAA,GAAA,GAAA,CAAA,SAAA,SACd,WASwB,iBAAA,UAAA,CAAA;AAAA,IAAA3Q,EAAA,OAAA,WARtB,KAO2BM,EAAA,GAAAoD,EAAAyN,GAAA,EAAA,KAAA,KAAA;AAAA,MANnB,SAAAvH,EAAA,MAAA;AAAA,QAAAH,EACI2H,GAAO;AAAA,UAAA,OAAA5Q,EAAA,CAAA,UAAA,CAAA;AAAA;;UAGa,SAAAoJ,EAAA,MAAA;AAAA,YAAAH,EAA5B4H,GAAwB,MAAA;AAAA,cAAA,SAAAzH,EAAA,MAAA;AAAA;;;;;;;;;IAMhB,CAAA,KAAAnJ,EACd,IA4BmB,EAAA;AAAA,IAAAT,EAAA,OAAA,WAAAA,EAAA,uBAAAA,EAAA,SAAA,UAAAM,OA3BTgR,GAAY;AAAA,MAAA,KAAA;AAAA,MAGZ,OAAA9Q,EAAS,CAAS,UAAI,CAAA;AAAA,IAAA,GAAAsP,GAAA,EAAA,GAAA,KAAA;AAAA,iBACrB,aAAM9P,EAAA,eAAA,SAAA,IAAA;AAAA;;;;;MAMP,IAAA;AAAA,eACC,UAAO;AAAA,QAEd,MAAA;AAAA,QAAA,IAAA4J,EAAA,MAAA;AAAA;;;MAIM,IAAA;AAAA,MACC5J,EAAA,SAAA,SAAA;AAAA,QAEP,MAAA;AAAA,QAAA,IACE4J,EAAI,MAAA;AAAA,UACgBH,EAAA8H,GAAA;AAAA,YAAA,KAAA;AAAA,YACnB,YAAQvR,EAAA;AAAA,YACR,uBAAkBC,EAAO,CAAO,MAAAA,EAAA,CAAA,IAAA,CAAA2D,MAAA5D,EAAA,cAAA4D;AAAA,YAAA,QAAA5D,EAAA,SAAA,OAAA;AAAA;;;;;;;;;"}
@@ -883,13 +883,13 @@ function Uo(e, o, w, f, v, u) {
883
883
  key: 0,
884
884
  icon: "close",
885
885
  color: "inherit",
886
- "additional-styles": ["!text-outline", "!dark:text-outline-dark"],
886
+ "additional-styles": ["!text-outline", "dark:!text-outline-dark"],
887
887
  disabled: e.readonly || e.disabled,
888
888
  onClick: o[5] || (o[5] = j((t) => e.$emit("update:modelValue", e.multiple ? [] : void 0), ["stop"]))
889
889
  }, null, 8, ["disabled"])) : G("", !0),
890
890
  z(L(g, {
891
891
  icon: e.popoverState === "open" ? e.enableSearch ? "search" : "arrow_drop_up" : "arrow_drop_down",
892
- class: y(e.popoverState === "open" && e.enableSearch ? "!text-outline !dark:text-outline-dark" : ""),
892
+ class: y(e.popoverState === "open" && e.enableSearch ? "!text-outline dark:!text-outline-dark" : ""),
893
893
  variant: "outlined"
894
894
  }, null, 8, ["icon", "class"]), [
895
895
  [x, !(e.popoverState === "open" && e.enableSearch && e.enableClear && !e.isEmptyModelValue)]
@@ -1077,4 +1077,4 @@ const dl = /* @__PURE__ */ K(Lo, [["render", Uo]]);
1077
1077
  export {
1078
1078
  dl as O
1079
1079
  };
1080
- //# sourceMappingURL=OrSelect-DkMsZ1Pl.mjs.map
1080
+ //# sourceMappingURL=OrSelect-Dr6j_nSl.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrSelect-DkMsZ1Pl.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-[theme(tokens.max-select-dropdown-height)]', // 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":"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"}
1
+ {"version":3,"file":"OrSelect-Dr6j_nSl.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-[theme(tokens.max-select-dropdown-height)]', // 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":"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"}
@@ -19,7 +19,7 @@ import { EditorState as K } from "@codemirror/state";
19
19
  import { O as Y } from "../OrCombinedInput-BNkXzDBe.mjs";
20
20
  import { C as $, O as rr } from "../OrConfirm-BPhIA7mR.mjs";
21
21
  import { O as or } from "../OrContextMenu-DPkHnqgT.mjs";
22
- import { a as tr, b as sr, D as Or, c as ir, d as pr, q as mr, o as nr, g as xr, e as Vr, f as fr, r as lr, j as Tr, h as dr, i as cr, m as Dr, k as Cr, l as br, n as ur, p as Sr, O as Ir } from "../OrDataGrid-B328rIKA.mjs";
22
+ import { a as tr, b as sr, D as Or, c as ir, d as pr, q as mr, o as nr, g as xr, e as Vr, f as fr, r as lr, j as Tr, h as dr, i as cr, m as Dr, k as Cr, l as br, n as ur, p as Sr, O as Ir } from "../OrDataGrid-CTRE2equ.mjs";
23
23
  import { O as gr } from "../OrDateFormat-BjiFSSuj.mjs";
24
24
  import { O as kr } from "../OrDatePicker-1F67cACL.mjs";
25
25
  import { O as Er } from "../OrDateRangePicker-DNVZygmL.mjs";
@@ -70,7 +70,7 @@ import { F as Ve, O as fe, R as le, a as Te } from "../OrRichTextEditor-DBHpnkJU
70
70
  import { O as ce, R as De } from "../OrRichTooltip-tlx0W9ck.mjs";
71
71
  import { O as be } from "../OrSearch-CrYPoIJM.mjs";
72
72
  import { O as Se, S as Ie } from "../OrSegmentedControl-DfPHDw7E.mjs";
73
- import { O as ge } from "../OrSelect-DkMsZ1Pl.mjs";
73
+ import { O as ge } from "../OrSelect-Dr6j_nSl.mjs";
74
74
  import { O as ke, S as Re } from "../props-Cm5FStaL.mjs";
75
75
  import { b as Fe, O as he, a as Be } from "../OrSkeletonArea-fMhHFyo1.mjs";
76
76
  import { O as Me } from "../OrSkeletonArea.vue_vue_type_script_lang-jgRhbZ0X.mjs";
@@ -1,4 +1,4 @@
1
- import { a as e, b as t, D, c as d, d as i, q as o, o as l, g as s, e as G, f as O, r as T, j as b, h as n, i as C, m as _, k as H, l as I, n as R, p as A, O as F } from "../../OrDataGrid-B328rIKA.mjs";
1
+ import { a as e, b as t, D, c as d, d as i, q as o, o as l, g as s, e as G, f as O, r as T, j as b, h as n, i as C, m as _, k as H, l as I, n as R, p as A, O as F } from "../../OrDataGrid-CTRE2equ.mjs";
2
2
  export {
3
3
  e as DATA_GRID_DEFAULT_MIN_WIDTH,
4
4
  t as DATA_GRID_SELECTION_COLUMN_WIDTH,
@@ -1,4 +1,4 @@
1
- import { O as o } from "../../OrSelect-DkMsZ1Pl.mjs";
1
+ import { O as o } from "../../OrSelect-Dr6j_nSl.mjs";
2
2
  export {
3
3
  o as OrSelectV3
4
4
  };
@@ -19,7 +19,7 @@ import { EditorState as K } from "@codemirror/state";
19
19
  import { O as Y } from "./OrCombinedInput-BNkXzDBe.mjs";
20
20
  import { C as $, O as rr } from "./OrConfirm-BPhIA7mR.mjs";
21
21
  import { O as or } from "./OrContextMenu-DPkHnqgT.mjs";
22
- import { a as tr, b as sr, D as Or, c as ir, d as pr, q as mr, o as nr, g as xr, e as fr, f as Vr, r as lr, j as Tr, h as dr, i as cr, m as Dr, k as Cr, l as br, n as ur, p as Sr, O as Ir } from "./OrDataGrid-B328rIKA.mjs";
22
+ import { a as tr, b as sr, D as Or, c as ir, d as pr, q as mr, o as nr, g as xr, e as fr, f as Vr, r as lr, j as Tr, h as dr, i as cr, m as Dr, k as Cr, l as br, n as ur, p as Sr, O as Ir } from "./OrDataGrid-CTRE2equ.mjs";
23
23
  import { O as gr } from "./OrDateFormat-BjiFSSuj.mjs";
24
24
  import { O as kr } from "./OrDatePicker-1F67cACL.mjs";
25
25
  import { O as Er } from "./OrDateRangePicker-DNVZygmL.mjs";
@@ -70,7 +70,7 @@ import { F as fe, O as Ve, R as le, a as Te } from "./OrRichTextEditor-DBHpnkJU.
70
70
  import { O as ce, R as De } from "./OrRichTooltip-tlx0W9ck.mjs";
71
71
  import { O as be } from "./OrSearch-CrYPoIJM.mjs";
72
72
  import { O as Se, S as Ie } from "./OrSegmentedControl-DfPHDw7E.mjs";
73
- import { O as ge } from "./OrSelect-DkMsZ1Pl.mjs";
73
+ import { O as ge } from "./OrSelect-Dr6j_nSl.mjs";
74
74
  import { O as ke, S as Re } from "./props-Cm5FStaL.mjs";
75
75
  import { b as Fe, O as he, a as Be } from "./OrSkeletonArea-fMhHFyo1.mjs";
76
76
  import { O as Me } from "./OrSkeletonArea.vue_vue_type_script_lang-jgRhbZ0X.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/ui-components",
3
- "version": "27.0.2-beta.6097.0",
3
+ "version": "27.0.2-beta.6099.0",
4
4
  "description": "Vue components library for v3",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -47,8 +47,8 @@
47
47
  "@floating-ui/dom": "1.7.6",
48
48
  "@lezer/common": "1.5.2",
49
49
  "@lezer/highlight": "*",
50
- "@onereach/styles": "^27.0.2-beta.6097.0",
51
- "@onereach/ui-components-common": "^27.0.2-beta.6097.0",
50
+ "@onereach/styles": "^27.0.2-beta.6099.0",
51
+ "@onereach/ui-components-common": "^27.0.2-beta.6099.0",
52
52
  "@splidejs/splide": "4.0.6",
53
53
  "@tiptap/core": "2.27.1",
54
54
  "@tiptap/extension-blockquote": "2.27.1",