@onereach/ui-components 26.15.2 → 26.15.3-beta.6072.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/esm/{OrCheckbox-WPBzlvaV.mjs → OrCheckbox-B_121oYu.mjs} +84 -53
  2. package/dist/esm/OrCheckbox-B_121oYu.mjs.map +1 -0
  3. package/dist/esm/{OrCheckboxGroup-C76zxQ10.mjs → OrCheckboxGroup-Db0mdVfM.mjs} +2 -2
  4. package/dist/esm/{OrCheckboxGroup-C76zxQ10.mjs.map → OrCheckboxGroup-Db0mdVfM.mjs.map} +1 -1
  5. package/dist/esm/OrCheckboxTree-Com4vL18.mjs +199 -0
  6. package/dist/esm/OrCheckboxTree-Com4vL18.mjs.map +1 -0
  7. package/dist/esm/{OrDataGrid-DxOxl9Wd.mjs → OrDataGrid-BJiaRanm.mjs} +3 -3
  8. package/dist/esm/{OrDataGrid-DxOxl9Wd.mjs.map → OrDataGrid-BJiaRanm.mjs.map} +1 -1
  9. package/dist/esm/{OrSelect-2NJLacxt.mjs → OrSelect-DBhNKmRX.mjs} +2 -2
  10. package/dist/esm/{OrSelect-2NJLacxt.mjs.map → OrSelect-DBhNKmRX.mjs.map} +1 -1
  11. package/dist/esm/components/index.mjs +5 -5
  12. package/dist/esm/components/or-checkbox-group-v3/index.mjs +1 -1
  13. package/dist/esm/components/or-checkbox-tree-v3/index.mjs +1 -1
  14. package/dist/esm/components/or-checkbox-v3/index.mjs +1 -1
  15. package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
  16. package/dist/esm/components/or-select-v3/index.mjs +1 -1
  17. package/dist/esm/index.mjs +5 -5
  18. package/dist/types/components/or-checkbox-tree-v3/OrCheckboxTree.vue.d.ts +11 -1
  19. package/dist/types/components/or-checkbox-tree-v3/types.d.ts +2 -0
  20. package/dist/types/components/or-checkbox-tree-v3/utils/extractChildrenValues.d.ts +1 -1
  21. package/dist/types/components/or-checkbox-v3/OrCheckbox.vue.d.ts +10 -0
  22. package/dist/types/components/or-checkbox-v3/styles.d.ts +1 -0
  23. package/package.json +4 -5
  24. package/dist/esm/OrCheckbox-WPBzlvaV.mjs.map +0 -1
  25. package/dist/esm/OrCheckboxTree-D5Ejbly0.mjs +0 -197
  26. package/dist/esm/OrCheckboxTree-D5Ejbly0.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrCheckbox-WPBzlvaV.mjs","sources":["../../../components/or-checkbox-v3/src/styles.ts","../../../components/or-checkbox-v3/src/OrCheckbox.vue"],"sourcesContent":["export const Checkbox: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'md:gap-sm',\n];\n\nexport const CheckboxControl: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-sm leading-[0]',\n\n // Box\n 'w-md+ md:w-md',\n 'h-md+ md:h-md',\n\n 'm-[10px] md:m-none',\n\n // Iconography\n 'iconography-outlined',\n\n // Theme\n 'appearance-none',\n\n 'theme-preset-3-primary',\n 'dark:theme-preset-3-primary-dark',\n\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 // Theme (focus)\n 'focus-visible:theme-outline-primary focus-visible:outline-2',\n 'dark:focus-visible:theme-outline-primary-dark',\n\n // Theme (checked)\n 'checked:theme-preset-1-primary',\n 'dark:checked:theme-preset-1-primary-dark',\n\n // Theme (indeterminate)\n 'indeterminate:theme-preset-1-primary',\n 'dark:indeterminate:theme-preset-1-primary-dark',\n\n // Theme (read-only)\n 'read-only:theme-border-outline',\n 'read-only:dark:theme-border-outline-dark',\n\n 'checked:read-only:theme-background-base',\n 'checked:read-only:dark:theme-background-base-dark',\n\n 'checked:read-only:theme-foreground-outline',\n 'checked:read-only:dark:theme-foreground-outline-dark',\n\n 'indeterminate:read-only:theme-background-base',\n 'indeterminate:read-only:dark:theme-background-base-dark',\n\n 'indeterminate:read-only:theme-foreground-outline',\n 'indeterminate:read-only:dark:theme-foreground-outline-dark',\n\n // Interactivity\n 'interactivity-click',\n\n // Interactivity (read-only)\n 'read-only:interactivity-none',\n];\n\nexport const CheckboxControlHandle: string[] = [\n // Content (checked / children)\n 'after:checked:content-checkbox-checked',\n\n // Content (indeterminate / children)\n 'after:indeterminate:content-checkbox-indeterminate',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <input\n :ref=\"'control'\"\n v-bind=\"attributes\"\n :class=\"controlStyles\"\n :type=\"'checkbox'\"\n :checked=\"checked\"\n :indeterminate.prop=\"indeterminate\"\n :required=\"required\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n @change=\"$emit('change', $event); onChange()\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n\n <template v-if=\"$slots.default || label\">\n <OrLabel\n :control-id=\"attributes.id\"\n :variant=\"labelVariant\"\n :selected=\"checked\"\n :required=\"required\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n >\n <slot>{{ label }}</slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useControlAttributes, useIdAttribute, useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { exclude, include, isArray, isUndefined } from '@onereach/ui-components-common/utils';\nimport { LabelVariant, OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { PropType, computed, defineComponent, reactive, ref, toRef } from 'vue';\n\nimport * as Styles from './styles';\nimport { CheckboxModelValue, CheckboxValue } from './types';\n\nexport default defineComponent({\n name: 'OrCheckbox',\n\n components: {\n OrLabel,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<CheckboxModelValue>,\n default: undefined,\n },\n\n value: {\n type: undefined as unknown as PropType<CheckboxValue>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n labelVariant: {\n type: String as PropType<`${LabelVariant}`>,\n default: () => LabelVariant.Toggle,\n },\n\n indeterminate: {\n type: Boolean,\n default: false,\n },\n\n required: {\n type: Boolean,\n default: false,\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 'change',\n 'click',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'blur',\n ],\n\n setup(props, context) {\n const attributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n });\n\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-checkbox-v3',\n ...Styles.Checkbox,\n ]);\n\n const control = ref<HTMLElement>();\n\n const controlStyles = computed(() => [\n ...Styles.CheckboxControl,\n ...Styles.CheckboxControlHandle,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const checked = computed(() => {\n if (isArray(model.value)) {\n if (isUndefined(props.value)) {\n throw new Error('[OrCheckbox]: `value` must be specified.');\n }\n\n return model.value.includes(props.value);\n }\n\n return Boolean(model.value);\n });\n\n // Handlers\n function onChange(): void {\n if (isArray(model.value)) {\n if (isUndefined(props.value)) {\n throw new Error('[OrCheckbox]: `value` must be specified.');\n }\n\n if (!checked.value) {\n model.value = include(props.value, model.value);\n } else {\n model.value = exclude(props.value, model.value);\n }\n } else {\n model.value = !model.value;\n }\n }\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n return {\n attributes,\n\n root,\n rootStyles,\n\n control,\n controlStyles,\n\n checked,\n\n onChange,\n\n focus,\n blur,\n };\n },\n});\n</script>\n"],"names":["Checkbox","CheckboxControl","CheckboxControlHandle","_sfc_main","defineComponent","OrLabel","LabelVariant","props","context","attributes","reactive","useIdAttribute","useControlAttributes","root","ref","rootStyles","computed","Styles.Checkbox","control","controlStyles","Styles.CheckboxControl","Styles.CheckboxControlHandle","model","useProxyModelValue","toRef","checked","isArray","isUndefined","onChange","exclude","include","focus","_a","blur","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createElementVNode","_mergeProps","_cache","$event","_hoisted_1","_createBlock","_component_OrLabel","_renderSlot"],"mappings":"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"}
@@ -1,197 +0,0 @@
1
- import { useProxyModelValue as A } from "@onereach/ui-components-common/hooks";
2
- import { O as N } from "./OrButton-ZxDr22t7.mjs";
3
- import { O as x } from "./OrCheckbox-WPBzlvaV.mjs";
4
- import { O as R } from "./OrIcon-k8cyvh-D.mjs";
5
- import { useToggle as z } from "@vueuse/core";
6
- import { defineComponent as D, toRefs as E, computed as t, watch as U, resolveComponent as b, openBlock as d, createElementBlock as c, normalizeClass as u, Fragment as T, createElementVNode as j, createBlock as C, withCtx as f, createVNode as $, createCommentVNode as I, renderSlot as O, createTextVNode as V, toDisplayString as h, renderList as q } from "vue";
7
- import { flattenDeep as F } from "@onereach/ui-components-common/utils";
8
- import { _ as G } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
9
- const H = [
10
- // Layout
11
- "flex",
12
- "flex-col",
13
- // Spacing
14
- "md:gap-sm"
15
- ], J = [
16
- // Layout
17
- "flex",
18
- "flex-row",
19
- "gap-xs"
20
- ], w = (e) => e == null ? void 0 : e.map((o) => {
21
- if (!o.disabled)
22
- return o.children ? w(o.children) : o.value;
23
- });
24
- function K(e) {
25
- return F(w(e)).filter(Boolean);
26
- }
27
- const Q = D({
28
- name: "OrCheckboxTree",
29
- components: {
30
- OrIcon: R,
31
- OrCheckbox: x,
32
- OrButton: N
33
- },
34
- model: {
35
- prop: "modelValue",
36
- event: "update:modelValue"
37
- },
38
- props: {
39
- modelValue: {
40
- type: Array,
41
- default: () => []
42
- },
43
- item: {
44
- type: Object,
45
- required: !0
46
- },
47
- collapsible: {
48
- type: Boolean,
49
- default: !1
50
- },
51
- disabled: {
52
- type: Boolean,
53
- default: !1
54
- },
55
- readonly: {
56
- type: Boolean,
57
- default: !1
58
- },
59
- expanded: {
60
- type: Boolean,
61
- default: !0
62
- }
63
- },
64
- emits: [
65
- "update:modelValue"
66
- ],
67
- setup(e, o) {
68
- const { modelValue: g, item: B, expanded: v } = E(e), y = t(() => B.value.children || []), m = t(() => y.value.length > 0), n = t(() => m.value ? K(y.value) : []), a = A(g, o.emit), p = t(() => {
69
- var r;
70
- return (r = a.value) == null ? void 0 : r.some((k) => {
71
- var i;
72
- return (i = n.value) == null ? void 0 : i.includes(k);
73
- });
74
- }), l = t(() => {
75
- var r;
76
- return n.value.length > 0 && ((r = n.value) == null ? void 0 : r.every((k) => {
77
- var i;
78
- return (i = a.value) == null ? void 0 : i.includes(k);
79
- }));
80
- }), s = t(() => p.value && !l.value), [M, S] = z(v.value);
81
- U(v, (r) => {
82
- r !== void 0 && S(r);
83
- });
84
- const L = t(() => [
85
- "or-checkbox-tree-v3",
86
- ...H
87
- ]), P = t(() => [
88
- ...J
89
- ]);
90
- return {
91
- rootStyles: L,
92
- parentStyles: P,
93
- hasChildren: m,
94
- proxyModelValue: a,
95
- isOpen: M,
96
- setIsOpen: S,
97
- isIntermediate: s,
98
- isAllChildrenSelected: l,
99
- isAnyChildrenSelected: p,
100
- childrenValues: n,
101
- handleParentClick: () => {
102
- l.value ? a.value = a.value.filter((r) => !n.value.includes(r)) : a.value = [
103
- .../* @__PURE__ */ new Set([
104
- ...a.value,
105
- ...n.value
106
- ])
107
- ];
108
- }
109
- };
110
- }
111
- });
112
- function W(e, o, g, B, v, y) {
113
- const m = b("OrIcon"), n = b("OrButton"), a = b("OrCheckbox"), p = b("OrCheckboxTree", !0);
114
- return d(), c("div", {
115
- ref: "root",
116
- class: u(e.rootStyles)
117
- }, [
118
- e.hasChildren ? (d(), c(T, { key: 0 }, [
119
- j("div", {
120
- class: u(e.parentStyles)
121
- }, [
122
- e.collapsible ? (d(), C(n, {
123
- key: 0,
124
- variant: "link",
125
- disabled: e.disabled,
126
- onClick: o[0] || (o[0] = (l) => e.setIsOpen(!e.isOpen))
127
- }, {
128
- default: f(() => [
129
- $(m, {
130
- class: u([e.isOpen ? "rotate-[180deg]" : "rotate-0"]),
131
- icon: "arrow_drop_down",
132
- size: "l"
133
- }, null, 8, ["class"])
134
- ]),
135
- _: 1
136
- }, 8, ["disabled"])) : I("", !0),
137
- $(a, {
138
- "model-value": e.isAllChildrenSelected,
139
- value: !0,
140
- indeterminate: e.isIntermediate,
141
- disabled: e.disabled,
142
- readonly: e.readonly,
143
- onClick: e.handleParentClick
144
- }, {
145
- default: f(() => [
146
- O(e.$slots, "checkboxLabel", { item: e.item }, () => [
147
- V(h(e.item.label), 1)
148
- ])
149
- ]),
150
- _: 3
151
- }, 8, ["model-value", "indeterminate", "disabled", "readonly", "onClick"])
152
- ], 2),
153
- e.hasChildren && e.isOpen ? (d(), c("div", {
154
- key: 0,
155
- class: u([e.collapsible ? "ml-2xl" : "ml-lg"])
156
- }, [
157
- (d(!0), c(T, null, q(e.item.children, (l) => (d(), C(p, {
158
- key: l.value || l.label,
159
- modelValue: e.proxyModelValue,
160
- "onUpdate:modelValue": o[1] || (o[1] = (s) => e.proxyModelValue = s),
161
- class: u(["mt-xs"]),
162
- item: l,
163
- collapsible: l.collapsible,
164
- expanded: l.expanded,
165
- disabled: e.disabled || l.disabled,
166
- readonly: e.readonly || l.readonly
167
- }, {
168
- checkboxLabel: f(({ item: s }) => [
169
- O(e.$slots, "checkboxLabel", { item: s }, () => [
170
- V(h(s.label), 1)
171
- ])
172
- ]),
173
- _: 2
174
- }, 1032, ["modelValue", "item", "collapsible", "expanded", "disabled", "readonly"]))), 128))
175
- ], 2)) : I("", !0)
176
- ], 64)) : (d(), C(a, {
177
- key: 1,
178
- modelValue: e.proxyModelValue,
179
- "onUpdate:modelValue": o[2] || (o[2] = (l) => e.proxyModelValue = l),
180
- value: e.item.value,
181
- disabled: e.disabled || e.item.disabled,
182
- readonly: e.readonly || e.item.readonly
183
- }, {
184
- default: f(() => [
185
- O(e.$slots, "checkboxLabel", { item: e.item }, () => [
186
- V(h(e.item.label), 1)
187
- ])
188
- ]),
189
- _: 3
190
- }, 8, ["modelValue", "value", "disabled", "readonly"]))
191
- ], 2);
192
- }
193
- const ne = /* @__PURE__ */ G(Q, [["render", W]]);
194
- export {
195
- ne as O
196
- };
197
- //# sourceMappingURL=OrCheckboxTree-D5Ejbly0.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrCheckboxTree-D5Ejbly0.mjs","sources":["../../../components/or-checkbox-tree-v3/src/styles.ts","../../../components/or-checkbox-tree-v3/src/utils/extractChildrenValues.ts","../../../components/or-checkbox-tree-v3/src/OrCheckboxTree.vue"],"sourcesContent":["export const CheckboxTreeRoot: string[] = [\n // Layout\n 'flex',\n 'flex-col',\n\n // Spacing\n 'md:gap-sm',\n];\n\nexport const CheckboxTreeRootParent: string[] = [\n // Layout\n 'flex',\n 'flex-row',\n 'gap-xs',\n];\n","import { flattenDeep } from '@onereach/ui-components-common/utils';\n\nimport { CheckboxTreeNode } from '../types';\n\nconst getChildValues = (children?: CheckboxTreeNode[]): any[] | undefined => {\n return children?.map((child) => {\n if (child.disabled) {\n return undefined;\n }\n if (child.children) {\n return getChildValues(child.children);\n } else {\n return child.value;\n }\n });\n};\nexport function extractChildrenValues(children: CheckboxTreeNode[]): any[] {\n return flattenDeep(getChildValues(children)).filter(Boolean);\n}\n\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"hasChildren\">\n <div :class=\"parentStyles\">\n <template v-if=\"collapsible\">\n <OrButton\n :variant=\"'link'\"\n :disabled=\"disabled\"\n @click=\"setIsOpen(!isOpen)\"\n >\n <OrIcon\n :class=\"[isOpen ? 'rotate-[180deg]': 'rotate-0']\"\n :icon=\"'arrow_drop_down'\"\n :size=\"'l'\"\n />\n </OrButton>\n </template>\n\n <OrCheckbox\n :model-value=\"isAllChildrenSelected\"\n :value=\"true\"\n :indeterminate=\"isIntermediate\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n @click=\"handleParentClick\"\n >\n <slot\n name=\"checkboxLabel\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrCheckbox>\n </div>\n\n <div\n v-if=\"hasChildren && isOpen\"\n :class=\"[collapsible ? 'ml-2xl' : 'ml-lg']\"\n >\n <OrCheckboxTree\n v-for=\"child in item.children\"\n :key=\"child.value || child.label\"\n v-model=\"proxyModelValue\"\n :class=\"['mt-xs']\"\n :item=\"child\"\n :collapsible=\"child.collapsible\"\n :expanded=\"child.expanded\"\n :disabled=\"disabled || child.disabled\"\n :readonly=\"readonly || child.readonly\"\n >\n <template v-slot:checkboxLabel=\"{ item }\">\n <slot\n name=\"checkboxLabel\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </template>\n </OrCheckboxTree>\n </div>\n </template>\n\n <template v-else>\n <OrCheckbox\n v-model=\"proxyModelValue\"\n :value=\"item.value\"\n :disabled=\"disabled || item.disabled\"\n :readonly=\"readonly || item.readonly\"\n >\n <slot\n name=\"checkboxLabel\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrCheckbox>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { useToggle } from '@vueuse/core';\nimport { PropType, computed, defineComponent, toRefs, watch } from 'vue';\n\nimport { CheckboxTreeRoot, CheckboxTreeRootParent } from './styles';\nimport { CheckboxTreeNode } from './types';\nimport { extractChildrenValues } from './utils/extractChildrenValues';\n\nexport default defineComponent({\n name: 'OrCheckboxTree',\n\n components: {\n OrIcon,\n OrCheckbox,\n OrButton,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n item: {\n type: Object as PropType<CheckboxTreeNode>,\n required: true,\n },\n\n collapsible: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n expanded: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n setup(props, context) {\n // State\n const { modelValue, item, expanded } = toRefs(props);\n const children = computed(() => item.value.children || []);\n const hasChildren = computed(() => children.value.length > 0);\n\n const childrenValues = computed(() => {\n return hasChildren.value ? extractChildrenValues(children.value) : [];\n });\n\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n\n const isAnyChildrenSelected = computed(() => {\n return proxyModelValue.value?.some((value: any) => childrenValues.value?.includes(value));\n });\n\n const isAllChildrenSelected = computed(() => {\n return childrenValues.value.length > 0 && childrenValues.value?.every((value) => proxyModelValue.value?.includes(value));\n });\n\n const isIntermediate = computed(() => {\n return isAnyChildrenSelected.value && !isAllChildrenSelected.value;\n });\n\n const [isOpen, setIsOpen] = useToggle(expanded.value);\n\n watch(expanded, (value) => {\n if (value !== undefined) {\n setIsOpen(value);\n }\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-checkbox-tree-v3',\n ...CheckboxTreeRoot,\n ]);\n\n // Styles\n const parentStyles = computed(() => [\n ...CheckboxTreeRootParent,\n ]);\n\n // Methods\n const handleParentClick = () => {\n if (isAllChildrenSelected.value) {\n proxyModelValue.value = proxyModelValue.value.filter((value: any) => !childrenValues.value.includes(value));\n } else {\n proxyModelValue.value = [\n ...new Set([\n ...proxyModelValue.value,\n ...childrenValues.value,\n ]),\n ];\n }\n };\n\n return {\n rootStyles,\n parentStyles,\n hasChildren,\n proxyModelValue,\n isOpen,\n setIsOpen,\n isIntermediate,\n isAllChildrenSelected,\n isAnyChildrenSelected,\n childrenValues,\n handleParentClick,\n };\n },\n});\n</script>\n"],"names":["CheckboxTreeRoot","CheckboxTreeRootParent","getChildValues","children","child","extractChildrenValues","flattenDeep","_sfc_main","defineComponent","OrIcon","OrCheckbox","OrButton","props","context","modelValue","item","expanded","toRefs","computed","hasChildren","childrenValues","proxyModelValue","useProxyModelValue","isAnyChildrenSelected","_a","value","isAllChildrenSelected","isIntermediate","isOpen","setIsOpen","useToggle","watch","rootStyles","parentStyles","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_Fragment","_createElementVNode","_createBlock","_component_OrButton","_cache","$event","_withCtx","_createVNode","_component_OrIcon","_createCommentVNode","_component_OrCheckbox","_renderList","_component_OrCheckboxTree","_renderSlot"],"mappings":"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"}