@onereach/ui-components 26.15.1 → 26.15.2-beta.6066.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,14 +1,15 @@
1
- import { useIdAttribute as g, useControlAttributes as C, useProxyModelValue as V } from "@onereach/ui-components-common/hooks";
2
- import { isArray as m, isUndefined as c, include as $, exclude as w } from "@onereach/ui-components-common/utils";
3
- import { O as B, L as O } from "./OrLabel-K7_HgvcK.mjs";
4
- import { defineComponent as S, reactive as q, ref as k, computed as d, toRef as L, resolveComponent as E, openBlock as b, createElementBlock as A, normalizeClass as N, createElementVNode as P, mergeProps as T, createBlock as j, withCtx as f, renderSlot as h, createTextVNode as z, toDisplayString as D, createCommentVNode as F } from "vue";
5
- import { _ as H } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
6
- const I = [
1
+ import { useIdAttribute as V, useControlAttributes as $, useProxyModelValue as B } from "@onereach/ui-components-common/hooks";
2
+ import { isArray as f, isUndefined as b, include as S, exclude as L } from "@onereach/ui-components-common/utils";
3
+ import { O as q, L as A } from "./OrLabel-K7_HgvcK.mjs";
4
+ import { O as E } from "./OrLoader-2SaTMxmZ.mjs";
5
+ import { defineComponent as N, reactive as j, ref as y, computed as d, toRef as z, resolveComponent as h, openBlock as n, createElementBlock as u, normalizeClass as p, mergeProps as P, createVNode as T, createBlock as D, withCtx as v, renderSlot as g, createTextVNode as F, toDisplayString as H, createCommentVNode as I } from "vue";
6
+ import { _ as M } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
7
+ const R = [
7
8
  // Layout
8
9
  "layout-row",
9
10
  // Spacing
10
11
  "md:gap-sm"
11
- ], M = [
12
+ ], U = [
12
13
  // Layout
13
14
  "layout-inline-row justify-center",
14
15
  // Interactivity
@@ -53,15 +54,25 @@ const I = [
53
54
  "interactivity-click",
54
55
  // Interactivity (read-only)
55
56
  "read-only:interactivity-none"
56
- ], R = [
57
+ ], G = [
57
58
  // Content (checked / children)
58
59
  "after:checked:content-checkbox-checked",
59
60
  // Content (indeterminate / children)
60
61
  "after:indeterminate:content-checkbox-indeterminate"
61
- ], U = S({
62
+ ], J = [
63
+ // Layout
64
+ "layout-inline-row justify-center",
65
+ // Shape
66
+ "rounded-sm",
67
+ // Box
68
+ "w-md+ md:w-md",
69
+ "h-md+ md:h-md",
70
+ "m-[10px] md:m-none"
71
+ ], K = N({
62
72
  name: "OrCheckbox",
63
73
  components: {
64
- OrLabel: B
74
+ OrLabel: q,
75
+ OrLoader: E
65
76
  },
66
77
  model: {
67
78
  prop: "modelValue",
@@ -82,12 +93,16 @@ const I = [
82
93
  },
83
94
  labelVariant: {
84
95
  type: String,
85
- default: () => O.Toggle
96
+ default: () => A.Toggle
86
97
  },
87
98
  indeterminate: {
88
99
  type: Boolean,
89
100
  default: !1
90
101
  },
102
+ loading: {
103
+ type: Boolean,
104
+ default: !1
105
+ },
91
106
  required: {
92
107
  type: Boolean,
93
108
  default: !1
@@ -114,59 +129,75 @@ const I = [
114
129
  "blur"
115
130
  ],
116
131
  setup(e, o) {
117
- const l = q({
118
- id: g(),
119
- ...C()
120
- }), i = k(), u = d(() => [
132
+ const s = j({
133
+ id: V(),
134
+ ...$()
135
+ }), m = y(), c = d(() => [
121
136
  "or-checkbox-v3",
122
- ...I
123
- ]), a = k(), n = d(() => [
124
- ...M,
125
137
  ...R
126
- ]), r = V(L(e, "modelValue"), o.emit), s = d(() => {
127
- if (m(r.value)) {
128
- if (c(e.value))
138
+ ]), a = y(), l = d(() => [
139
+ ...U,
140
+ ...G
141
+ ]), i = d(() => [
142
+ ...J
143
+ ]), r = B(z(e, "modelValue"), o.emit), k = d(() => {
144
+ if (f(r.value)) {
145
+ if (b(e.value))
129
146
  throw new Error("[OrCheckbox]: `value` must be specified.");
130
147
  return r.value.includes(e.value);
131
148
  }
132
149
  return !!r.value;
133
150
  });
134
- function y() {
135
- if (m(r.value)) {
136
- if (c(e.value))
151
+ function C() {
152
+ if (f(r.value)) {
153
+ if (b(e.value))
137
154
  throw new Error("[OrCheckbox]: `value` must be specified.");
138
- s.value ? r.value = w(e.value, r.value) : r.value = $(e.value, r.value);
155
+ k.value ? r.value = L(e.value, r.value) : r.value = S(e.value, r.value);
139
156
  } else
140
157
  r.value = !r.value;
141
158
  }
142
- function p() {
159
+ function O() {
143
160
  var t;
144
161
  (t = a.value) == null || t.focus();
145
162
  }
146
- function v() {
163
+ function w() {
147
164
  var t;
148
165
  (t = a.value) == null || t.blur();
149
166
  }
150
167
  return {
151
- attributes: l,
152
- root: i,
153
- rootStyles: u,
168
+ attributes: s,
169
+ root: m,
170
+ rootStyles: c,
154
171
  control: a,
155
- controlStyles: n,
156
- checked: s,
157
- onChange: y,
158
- focus: p,
159
- blur: v
172
+ controlStyles: l,
173
+ loaderStyles: i,
174
+ checked: k,
175
+ onChange: C,
176
+ focus: O,
177
+ blur: w
160
178
  };
161
179
  }
162
- }), G = ["checked", ".indeterminate", "required", "disabled", "readonly"];
163
- function J(e, o, l, i, u, a) {
164
- const n = E("OrLabel");
165
- return b(), A("div", {
180
+ }), Q = ["checked", ".indeterminate", "required", "disabled", "readonly"];
181
+ function W(e, o, s, m, c, a) {
182
+ const l = h("OrLoader"), i = h("OrLabel");
183
+ return n(), u("div", {
166
184
  ref: "root",
167
- class: N(e.rootStyles)
185
+ class: p(e.rootStyles)
168
186
  }, [
169
- P("input", T({ ref: "control" }, e.attributes, {
187
+ e.loading ? (n(), u("div", {
188
+ key: 1,
189
+ class: p(e.loaderStyles),
190
+ "aria-busy": "true"
191
+ }, [
192
+ T(l, {
193
+ variant: "circular",
194
+ color: "primary",
195
+ size: "s"
196
+ })
197
+ ], 2)) : (n(), u("input", P({
198
+ key: 0,
199
+ ref: "control"
200
+ }, e.attributes, {
170
201
  class: e.controlStyles,
171
202
  type: "checkbox",
172
203
  checked: e.checked,
@@ -180,9 +211,9 @@ function J(e, o, l, i, u, a) {
180
211
  onClick: o[1] || (o[1] = (r) => e.$emit("click", r)),
181
212
  onFocus: o[2] || (o[2] = (r) => e.$emit("focus", r)),
182
213
  onBlur: o[3] || (o[3] = (r) => e.$emit("blur", r))
183
- }), null, 16, G),
184
- e.$slots.default || e.label ? (b(), j(n, {
185
- key: 0,
214
+ }), null, 16, Q)),
215
+ e.$slots.default || e.label ? (n(), D(i, {
216
+ key: 2,
186
217
  "control-id": e.attributes.id,
187
218
  variant: e.labelVariant,
188
219
  selected: e.checked,
@@ -190,20 +221,20 @@ function J(e, o, l, i, u, a) {
190
221
  disabled: e.disabled,
191
222
  readonly: e.readonly
192
223
  }, {
193
- addon: f(() => [
194
- h(e.$slots, "addon")
224
+ addon: v(() => [
225
+ g(e.$slots, "addon")
195
226
  ]),
196
- default: f(() => [
197
- h(e.$slots, "default", {}, () => [
198
- z(D(e.label), 1)
227
+ default: v(() => [
228
+ g(e.$slots, "default", {}, () => [
229
+ F(H(e.label), 1)
199
230
  ])
200
231
  ]),
201
232
  _: 3
202
- }, 8, ["control-id", "variant", "selected", "required", "disabled", "readonly"])) : F("", !0)
233
+ }, 8, ["control-id", "variant", "selected", "required", "disabled", "readonly"])) : I("", !0)
203
234
  ], 2);
204
235
  }
205
- const Z = /* @__PURE__ */ H(U, [["render", J]]);
236
+ const re = /* @__PURE__ */ M(K, [["render", W]]);
206
237
  export {
207
- Z as O
238
+ re as O
208
239
  };
209
- //# sourceMappingURL=OrCheckbox-WPBzlvaV.mjs.map
240
+ //# sourceMappingURL=OrCheckbox-B_121oYu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrCheckbox-B_121oYu.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\nexport const CheckboxLoader: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Shape\n 'rounded-sm',\n\n // Box\n 'w-md+ md:w-md',\n 'h-md+ md:h-md',\n\n 'm-[10px] md:m-none',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"!loading\">\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 </template>\n\n <template v-else>\n <div\n :class=\"loaderStyles\"\n :aria-busy=\"'true'\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'primary'\"\n :size=\"'s'\"\n />\n </div>\n </template>\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 { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-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 OrLoader,\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 loading: {\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 const loaderStyles = computed(() => [\n ...Styles.CheckboxLoader,\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 loaderStyles,\n\n checked,\n\n onChange,\n\n focus,\n blur,\n };\n },\n});\n</script>\n"],"names":["Checkbox","CheckboxControl","CheckboxControlHandle","CheckboxLoader","_sfc_main","defineComponent","OrLabel","OrLoader","LabelVariant","props","context","attributes","reactive","useIdAttribute","useControlAttributes","root","ref","rootStyles","computed","Styles.Checkbox","control","controlStyles","Styles.CheckboxControl","Styles.CheckboxControlHandle","loaderStyles","Styles.CheckboxLoader","model","useProxyModelValue","toRef","checked","isArray","isUndefined","onChange","exclude","include","focus","_a","blur","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_mergeProps","_cache","$event","_hoisted_1","_createBlock","_component_OrLabel","_renderSlot"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { useProxyModelValue as f, useResponsive as b } from "@onereach/ui-components-common/hooks";
2
- import { O as y } from "./OrCheckboxTree-D5Ejbly0.mjs";
2
+ import { O as y } from "./OrCheckboxTree-Com4vL18.mjs";
3
3
  import { O as g, F as O, a as t } from "./OrFormGroup-CUNdt7UL.mjs";
4
4
  import { defineComponent as V, toRef as S, computed as h, resolveComponent as p, openBlock as l, createBlock as i, withCtx as s, renderSlot as k, createElementBlock as C, Fragment as F, renderList as G } from "vue";
5
5
  import { _ as M } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
@@ -91,4 +91,4 @@ const R = /* @__PURE__ */ M(v, [["render", B]]);
91
91
  export {
92
92
  R as O
93
93
  };
94
- //# sourceMappingURL=OrCheckboxGroup-C76zxQ10.mjs.map
94
+ //# sourceMappingURL=OrCheckboxGroup-Db0mdVfM.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrCheckboxGroup-C76zxQ10.mjs","sources":["../../../components/or-checkbox-group-v3/src/OrCheckboxGroup.vue"],"sourcesContent":["<template>\n <OrFormGroup\n :label=\"label\"\n :error=\"error\"\n :hint=\"hint\"\n :disabled=\"disabled\"\n :direction=\"direction\"\n :spacing=\"localSpacing\"\n >\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n <OrCheckboxTree\n v-for=\"option in options\"\n :key=\"option.value\"\n v-model=\"proxyModelValue\"\n :item=\"option\"\n :disabled=\"disabled || option.disabled\"\n :readonly=\"readonly || option.readonly\"\n :collapsible=\"option.collapsible\"\n :expanded=\"option.expanded\"\n />\n </OrFormGroup>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { CheckboxTreeNode, OrCheckboxTreeV3 as OrCheckboxTree } from '@onereach/ui-components.or-checkbox-tree-v3';\nimport { FormGroupDirection, OrFormGroupV3 as OrFormGroup, FormGroupSpacing } from '@onereach/ui-components.or-form-group-v3';\nimport { defineComponent, PropType, toRef, computed } from 'vue';\n\n\nexport default defineComponent({\n name: 'OrCheckboxGroup',\n components: {\n OrCheckboxTree,\n OrFormGroup,\n },\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n props: {\n modelValue: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n label: {\n type: String,\n default: '',\n },\n\n error: {\n type: String,\n default: '',\n },\n\n hint: {\n type: String,\n default: '',\n },\n\n direction: {\n type: String as PropType<`${FormGroupDirection}`>,\n default: () => FormGroupDirection.Vertical,\n },\n\n options: {\n type: Array as PropType<CheckboxTreeNode[]>,\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 spacing: {\n type: String as PropType<`${FormGroupSpacing}`>,\n default: FormGroupSpacing.SM,\n },\n },\n\n setup(props, context) {\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n const { isMobile } = useResponsive();\n\n const localSpacing = computed(() => isMobile.value ? FormGroupSpacing.NONE : props.spacing);\n\n return {\n proxyModelValue,\n localSpacing,\n };\n },\n});\n\n</script>\n"],"names":["_sfc_main","defineComponent","OrCheckboxTree","OrFormGroup","FormGroupDirection","FormGroupSpacing","props","context","proxyModelValue","useProxyModelValue","toRef","isMobile","useResponsive","localSpacing","computed","_resolveComponent","_openBlock","_createBlock","_component_OrFormGroup","_ctx","_renderSlot","_createElementBlock","_Fragment","_renderList","option","_component_OrCheckboxTree","_cache","$event"],"mappings":";;;;;AAgCA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,gBAAAC;AAAA,IACA,aAAAC;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMC,EAAmB;AAAA,IACpC;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASC,EAAiB;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AACpB,UAAMC,IAAkBC,EAAmBC,EAAMJ,GAAO,YAAY,GAAGC,EAAQ,IAAI,GAC7E,EAAE,UAAAI,MAAaC,KAEfC,IAAeC,EAAS,MAAMH,EAAS,QAAQN,EAAiB,OAAOC,EAAM,OAAO;AAEnF,WAAA;AAAA,MACL,iBAAAE;AAAA,MACA,cAAAK;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;qCAnGCE,EAqBc,aAAA;SAnBNC,EAAO,GAAAC,EAAAC,GAAA;AAAA,IACZ,OAAMC,EAAA;AAAA,IACN,OAAUA,EAAA;AAAA,IACV,MAAWA,EAAA;AAAA,IACX,UAASA,EAAA;AAAA,IAAA,WAAAA,EAAA;AAAA,IAEO,SAAKA,EAAA;AAAA,EAAA,GAAA;AAAA;MAIKC,EAAAD,EAAA,QAAA,OAAA;AAAA,IAAA,CAAA;AAAA;OACnBH,EAAA,EAAO,GAAKK,EAAAC,GAAA,MAAAC,EAAAJ,EAAA,SAAA,CAAAK,YACMP,EAAAQ,GAAA;AAAA,QAAA,KAAAD,EAAA;AAAA,QACvB,YAAYL,EAAA;AAAA,QACZ,uBAAkBO,EAAI,CAAA,MAAOA,EAAQ,CAAA,IAAA,CAAAC,MAAAR,EAAA,kBAAAQ;AAAA,QACrC,MAAAH;AAAA,QACA,UAAAL,EAAa,YAAOK,EAAW;AAAA,QAC/B,UAAUL,EAAe,YAAAK,EAAA;AAAA,QAAA,aAAAA,EAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"OrCheckboxGroup-Db0mdVfM.mjs","sources":["../../../components/or-checkbox-group-v3/src/OrCheckboxGroup.vue"],"sourcesContent":["<template>\n <OrFormGroup\n :label=\"label\"\n :error=\"error\"\n :hint=\"hint\"\n :disabled=\"disabled\"\n :direction=\"direction\"\n :spacing=\"localSpacing\"\n >\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n <OrCheckboxTree\n v-for=\"option in options\"\n :key=\"option.value\"\n v-model=\"proxyModelValue\"\n :item=\"option\"\n :disabled=\"disabled || option.disabled\"\n :readonly=\"readonly || option.readonly\"\n :collapsible=\"option.collapsible\"\n :expanded=\"option.expanded\"\n />\n </OrFormGroup>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { CheckboxTreeNode, OrCheckboxTreeV3 as OrCheckboxTree } from '@onereach/ui-components.or-checkbox-tree-v3';\nimport { FormGroupDirection, OrFormGroupV3 as OrFormGroup, FormGroupSpacing } from '@onereach/ui-components.or-form-group-v3';\nimport { defineComponent, PropType, toRef, computed } from 'vue';\n\n\nexport default defineComponent({\n name: 'OrCheckboxGroup',\n components: {\n OrCheckboxTree,\n OrFormGroup,\n },\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n props: {\n modelValue: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n label: {\n type: String,\n default: '',\n },\n\n error: {\n type: String,\n default: '',\n },\n\n hint: {\n type: String,\n default: '',\n },\n\n direction: {\n type: String as PropType<`${FormGroupDirection}`>,\n default: () => FormGroupDirection.Vertical,\n },\n\n options: {\n type: Array as PropType<CheckboxTreeNode[]>,\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 spacing: {\n type: String as PropType<`${FormGroupSpacing}`>,\n default: FormGroupSpacing.SM,\n },\n },\n\n setup(props, context) {\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n const { isMobile } = useResponsive();\n\n const localSpacing = computed(() => isMobile.value ? FormGroupSpacing.NONE : props.spacing);\n\n return {\n proxyModelValue,\n localSpacing,\n };\n },\n});\n\n</script>\n"],"names":["_sfc_main","defineComponent","OrCheckboxTree","OrFormGroup","FormGroupDirection","FormGroupSpacing","props","context","proxyModelValue","useProxyModelValue","toRef","isMobile","useResponsive","localSpacing","computed","_resolveComponent","_openBlock","_createBlock","_component_OrFormGroup","_ctx","_renderSlot","_createElementBlock","_Fragment","_renderList","option","_component_OrCheckboxTree","_cache","$event"],"mappings":";;;;;AAgCA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,gBAAAC;AAAA,IACA,aAAAC;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMC,EAAmB;AAAA,IACpC;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASC,EAAiB;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AACpB,UAAMC,IAAkBC,EAAmBC,EAAMJ,GAAO,YAAY,GAAGC,EAAQ,IAAI,GAC7E,EAAE,UAAAI,MAAaC,KAEfC,IAAeC,EAAS,MAAMH,EAAS,QAAQN,EAAiB,OAAOC,EAAM,OAAO;AAEnF,WAAA;AAAA,MACL,iBAAAE;AAAA,MACA,cAAAK;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;qCAnGCE,EAqBc,aAAA;SAnBNC,EAAO,GAAAC,EAAAC,GAAA;AAAA,IACZ,OAAMC,EAAA;AAAA,IACN,OAAUA,EAAA;AAAA,IACV,MAAWA,EAAA;AAAA,IACX,UAASA,EAAA;AAAA,IAAA,WAAAA,EAAA;AAAA,IAEO,SAAKA,EAAA;AAAA,EAAA,GAAA;AAAA;MAIKC,EAAAD,EAAA,QAAA,OAAA;AAAA,IAAA,CAAA;AAAA;OACnBH,EAAA,EAAO,GAAKK,EAAAC,GAAA,MAAAC,EAAAJ,EAAA,SAAA,CAAAK,YACMP,EAAAQ,GAAA;AAAA,QAAA,KAAAD,EAAA;AAAA,QACvB,YAAYL,EAAA;AAAA,QACZ,uBAAkBO,EAAI,CAAA,MAAOA,EAAQ,CAAA,IAAA,CAAAC,MAAAR,EAAA,kBAAAQ;AAAA,QACrC,MAAAH;AAAA,QACA,UAAAL,EAAa,YAAOK,EAAW;AAAA,QAC/B,UAAUL,EAAe,YAAAK,EAAA;AAAA,QAAA,aAAAA,EAAA;AAAA;;;;;;;"}
@@ -0,0 +1,199 @@
1
+ import { useProxyModelValue as A } from "@onereach/ui-components-common/hooks";
2
+ import { O as N } from "./OrButton-ZxDr22t7.mjs";
3
+ import { O as R } from "./OrCheckbox-B_121oYu.mjs";
4
+ import { O as z } from "./OrIcon-k8cyvh-D.mjs";
5
+ import { useToggle as D } from "@vueuse/core";
6
+ import { defineComponent as E, toRefs as U, computed as r, watch as j, resolveComponent as p, openBlock as s, createElementBlock as b, normalizeClass as i, Fragment as S, createElementVNode as q, createBlock as C, withCtx as c, createVNode as L, createCommentVNode as T, renderSlot as g, createTextVNode as O, toDisplayString as V, renderList as F } from "vue";
7
+ import { flattenDeep as G } from "@onereach/ui-components-common/utils";
8
+ import { _ as H } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
9
+ const J = [
10
+ // Layout
11
+ "flex",
12
+ "flex-col",
13
+ // Spacing
14
+ "md:gap-sm"
15
+ ], K = [
16
+ // Layout
17
+ "flex",
18
+ "flex-row",
19
+ "gap-xs"
20
+ ], $ = (e) => e == null ? void 0 : e.map((l) => {
21
+ if (!l.disabled)
22
+ return l.children ? $(l.children) : l.value;
23
+ });
24
+ function Q(e) {
25
+ return G($(e)).filter(Boolean);
26
+ }
27
+ const W = E({
28
+ name: "OrCheckboxTree",
29
+ components: {
30
+ OrIcon: z,
31
+ OrCheckbox: R,
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
+ loading: {
64
+ type: Boolean,
65
+ default: !1
66
+ }
67
+ },
68
+ emits: [
69
+ "update:modelValue"
70
+ ],
71
+ setup(e, l) {
72
+ const { modelValue: h, item: f, expanded: v } = U(e), y = r(() => f.value.children || []), u = r(() => y.value.length > 0), t = r(() => u.value ? Q(y.value) : []), a = A(h, l.emit), k = r(() => !!(e.loading || f.value.loading)), o = r(() => {
73
+ var n;
74
+ return (n = a.value) == null ? void 0 : n.some((m) => t.value.includes(m));
75
+ }), d = r(() => t.value.length > 0 && t.value.every((n) => {
76
+ var m;
77
+ return (m = a.value) == null ? void 0 : m.includes(n);
78
+ })), w = r(() => o.value && !d.value), [I, B] = D(v.value);
79
+ j(v, (n) => {
80
+ n !== void 0 && B(n);
81
+ });
82
+ const M = r(() => [
83
+ "or-checkbox-tree-v3",
84
+ ...J
85
+ ]), P = r(() => [
86
+ ...K
87
+ ]);
88
+ return {
89
+ rootStyles: M,
90
+ parentStyles: P,
91
+ hasChildren: u,
92
+ proxyModelValue: a,
93
+ localLoading: k,
94
+ isOpen: I,
95
+ setIsOpen: B,
96
+ isIntermediate: w,
97
+ isAllChildrenSelected: d,
98
+ isAnyChildrenSelected: o,
99
+ childrenValues: t,
100
+ handleParentClick: () => {
101
+ d.value ? a.value = a.value.filter((n) => !t.value.includes(n)) : a.value = [
102
+ .../* @__PURE__ */ new Set([
103
+ ...a.value,
104
+ ...t.value
105
+ ])
106
+ ];
107
+ }
108
+ };
109
+ }
110
+ });
111
+ function X(e, l, h, f, v, y) {
112
+ const u = p("OrIcon"), t = p("OrButton"), a = p("OrCheckbox"), k = p("OrCheckboxTree", !0);
113
+ return s(), b("div", {
114
+ ref: "root",
115
+ class: i(e.rootStyles)
116
+ }, [
117
+ e.hasChildren ? (s(), b(S, { key: 0 }, [
118
+ q("div", {
119
+ class: i(e.parentStyles)
120
+ }, [
121
+ e.collapsible ? (s(), C(t, {
122
+ key: 0,
123
+ variant: "link",
124
+ disabled: e.disabled,
125
+ onClick: l[0] || (l[0] = (o) => e.setIsOpen(!e.isOpen))
126
+ }, {
127
+ default: c(() => [
128
+ L(u, {
129
+ class: i([e.isOpen ? "rotate-[180deg]" : "rotate-0"]),
130
+ icon: "arrow_drop_down",
131
+ size: "l"
132
+ }, null, 8, ["class"])
133
+ ]),
134
+ _: 1
135
+ }, 8, ["disabled"])) : T("", !0),
136
+ L(a, {
137
+ "model-value": e.isAllChildrenSelected,
138
+ value: !0,
139
+ indeterminate: e.isIntermediate,
140
+ loading: e.localLoading,
141
+ disabled: e.disabled,
142
+ readonly: e.readonly,
143
+ onClick: e.handleParentClick
144
+ }, {
145
+ default: c(() => [
146
+ g(e.$slots, "checkboxLabel", { item: e.item }, () => [
147
+ O(V(e.item.label), 1)
148
+ ])
149
+ ]),
150
+ _: 3
151
+ }, 8, ["model-value", "indeterminate", "loading", "disabled", "readonly", "onClick"])
152
+ ], 2),
153
+ e.hasChildren && e.isOpen ? (s(), b("div", {
154
+ key: 0,
155
+ class: i([e.collapsible ? "ml-2xl" : "ml-lg"])
156
+ }, [
157
+ (s(!0), b(S, null, F(e.item.children, (o) => (s(), C(k, {
158
+ key: o.value || o.label,
159
+ modelValue: e.proxyModelValue,
160
+ "onUpdate:modelValue": l[1] || (l[1] = (d) => e.proxyModelValue = d),
161
+ class: i(["mt-xs"]),
162
+ item: o,
163
+ collapsible: o.collapsible,
164
+ expanded: o.expanded,
165
+ loading: e.localLoading,
166
+ disabled: e.disabled || o.disabled,
167
+ readonly: e.readonly || o.readonly
168
+ }, {
169
+ checkboxLabel: c(({ item: d }) => [
170
+ g(e.$slots, "checkboxLabel", { item: d }, () => [
171
+ O(V(d.label), 1)
172
+ ])
173
+ ]),
174
+ _: 2
175
+ }, 1032, ["modelValue", "item", "collapsible", "expanded", "loading", "disabled", "readonly"]))), 128))
176
+ ], 2)) : T("", !0)
177
+ ], 64)) : (s(), C(a, {
178
+ key: 1,
179
+ modelValue: e.proxyModelValue,
180
+ "onUpdate:modelValue": l[2] || (l[2] = (o) => e.proxyModelValue = o),
181
+ value: e.item.value,
182
+ loading: e.localLoading,
183
+ disabled: e.disabled || e.item.disabled,
184
+ readonly: e.readonly || e.item.readonly
185
+ }, {
186
+ default: c(() => [
187
+ g(e.$slots, "checkboxLabel", { item: e.item }, () => [
188
+ O(V(e.item.label), 1)
189
+ ])
190
+ ]),
191
+ _: 3
192
+ }, 8, ["modelValue", "value", "loading", "disabled", "readonly"]))
193
+ ], 2);
194
+ }
195
+ const re = /* @__PURE__ */ H(W, [["render", X]]);
196
+ export {
197
+ re as O
198
+ };
199
+ //# sourceMappingURL=OrCheckboxTree-Com4vL18.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrCheckboxTree-Com4vL18.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, CheckboxTreeValue } from '../types';\n\nconst getChildValues = (children?: CheckboxTreeNode[]): CheckboxTreeValue[] | 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};\n\nexport function extractChildrenValues(children: CheckboxTreeNode[]): string[] {\n return flattenDeep(getChildValues(children)).filter(Boolean) as string[];\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 :loading=\"localLoading\"\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 :loading=\"localLoading\"\n :disabled=\"disabled || child.disabled\"\n :readonly=\"readonly || child.readonly\"\n >\n <template v-slot:checkboxLabel=\"{ item: checkboxItem }\">\n <slot\n name=\"checkboxLabel\"\n :item=\"checkboxItem\"\n >\n {{ checkboxItem.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 :loading=\"localLoading\"\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 loading: {\n type: Boolean,\n default: false,\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 const localLoading = computed(() => Boolean(props.loading || item.value.loading));\n\n const isAnyChildrenSelected = computed(() => {\n return proxyModelValue.value?.some((value) => childrenValues.value.includes(value));\n });\n\n const isAllChildrenSelected = computed(() => {\n return childrenValues.value.length > 0\n && 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) => {\n return !childrenValues.value.includes(value);\n });\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 localLoading,\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","localLoading","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","checkboxItem"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { flatten as Se } from "@onereach/ui-components-common/helpers";
2
- import { O as fe } from "./OrCheckbox-WPBzlvaV.mjs";
2
+ import { O as fe } from "./OrCheckbox-B_121oYu.mjs";
3
3
  import { O as Ce } from "./OrIconButton-D1pxfMA_.mjs";
4
4
  import { O as Te } from "./OrPagination-DRBRRL2g.mjs";
5
5
  import { O as Ge } from "./OrSearch-Csld1hBq.mjs";
@@ -13,7 +13,7 @@ import "./OrDateTimePicker.vue_vue_type_script_lang-8aFx3wpJ.mjs";
13
13
  import "@onereach/ui-components-common/types";
14
14
  import { O as Pe } from "./OrInput-CzRxZM3i.mjs";
15
15
  import { O as Ne } from "./OrRating-CAwz23JA.mjs";
16
- import { O as Ue } from "./OrSelect-2NJLacxt.mjs";
16
+ import { O as Ue } from "./OrSelect-DBhNKmRX.mjs";
17
17
  import { O as Ae } from "./OrSwitch-BtoXDsZx.mjs";
18
18
  import { O as Le } from "./OrTagInput-DIMSvMNK.mjs";
19
19
  import { O as qe } from "./OrTimePicker-C_pYA5Yn.mjs";
@@ -1944,4 +1944,4 @@ export {
1944
1944
  ca as q,
1945
1945
  ha as r
1946
1946
  };
1947
- //# sourceMappingURL=OrDataGrid-DxOxl9Wd.mjs.map
1947
+ //# sourceMappingURL=OrDataGrid-BJiaRanm.mjs.map