@yamada-ui/react 2.1.4-dev-20260323182837 → 2.2.0-next-20260324183323

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 (242) hide show
  1. package/dist/cjs/components/tree/index.cjs +25 -0
  2. package/dist/cjs/components/tree/tree.cjs +289 -0
  3. package/dist/cjs/components/tree/tree.cjs.map +1 -0
  4. package/dist/cjs/components/tree/tree.namespace.cjs +26 -0
  5. package/dist/cjs/components/tree/tree.namespace.cjs.map +1 -0
  6. package/dist/cjs/components/tree/tree.style.cjs +181 -0
  7. package/dist/cjs/components/tree/tree.style.cjs.map +1 -0
  8. package/dist/cjs/components/tree/use-tree.cjs +556 -0
  9. package/dist/cjs/components/tree/use-tree.cjs.map +1 -0
  10. package/dist/cjs/hooks/use-descendants/index.cjs +19 -9
  11. package/dist/cjs/hooks/use-descendants/index.cjs.map +1 -1
  12. package/dist/cjs/index.cjs +42 -2
  13. package/dist/cjs/index.cjs.map +1 -1
  14. package/dist/esm/components/tree/index.js +6 -0
  15. package/dist/esm/components/tree/tree.js +285 -0
  16. package/dist/esm/components/tree/tree.js.map +1 -0
  17. package/dist/esm/components/tree/tree.namespace.js +21 -0
  18. package/dist/esm/components/tree/tree.namespace.js.map +1 -0
  19. package/dist/esm/components/tree/tree.style.js +181 -0
  20. package/dist/esm/components/tree/tree.style.js.map +1 -0
  21. package/dist/esm/components/tree/use-tree.js +547 -0
  22. package/dist/esm/components/tree/use-tree.js.map +1 -0
  23. package/dist/esm/hooks/use-descendants/index.js +19 -9
  24. package/dist/esm/hooks/use-descendants/index.js.map +1 -1
  25. package/dist/esm/index.js +23 -3
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/types/components/accordion/accordion.d.ts +2 -2
  28. package/dist/types/components/accordion/accordion.style.d.ts +1 -1
  29. package/dist/types/components/accordion/use-accordion.d.ts +11 -11
  30. package/dist/types/components/airy/airy.d.ts +2 -2
  31. package/dist/types/components/alert/alert.d.ts +2 -2
  32. package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -2
  33. package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
  34. package/dist/types/components/autocomplete/autocomplete.d.ts +2 -2
  35. package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
  36. package/dist/types/components/autocomplete/use-autocomplete.d.ts +5 -5
  37. package/dist/types/components/avatar/avatar.d.ts +5 -5
  38. package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
  39. package/dist/types/components/badge/badge.d.ts +2 -2
  40. package/dist/types/components/bleed/bleed.d.ts +2 -2
  41. package/dist/types/components/blockquote/blockquote.d.ts +2 -2
  42. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
  43. package/dist/types/components/breadcrumb/breadcrumb.style.d.ts +1 -1
  44. package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
  45. package/dist/types/components/button/button.d.ts +2 -2
  46. package/dist/types/components/button/icon-button.d.ts +2 -2
  47. package/dist/types/components/calendar/calendar.d.ts +2 -2
  48. package/dist/types/components/calendar/calendar.style.d.ts +2 -2
  49. package/dist/types/components/calendar/use-calendar.d.ts +8 -8
  50. package/dist/types/components/card/card.d.ts +2 -2
  51. package/dist/types/components/carousel/carousel.d.ts +2 -2
  52. package/dist/types/components/carousel/carousel.style.d.ts +2 -2
  53. package/dist/types/components/carousel/use-carousel.d.ts +3 -3
  54. package/dist/types/components/center/center.d.ts +2 -2
  55. package/dist/types/components/chart/area-chart.d.ts +2 -2
  56. package/dist/types/components/chart/bar-chart.d.ts +2 -2
  57. package/dist/types/components/chart/chart.d.ts +5 -5
  58. package/dist/types/components/chart/composed-chart.d.ts +2 -2
  59. package/dist/types/components/chart/donut-chart.d.ts +2 -2
  60. package/dist/types/components/chart/line-chart.d.ts +2 -2
  61. package/dist/types/components/chart/pie-chart.d.ts +2 -2
  62. package/dist/types/components/chart/radar-chart.d.ts +2 -2
  63. package/dist/types/components/chart/radial-chart.d.ts +2 -2
  64. package/dist/types/components/chart/use-chart.d.ts +2 -2
  65. package/dist/types/components/checkbox/checkbox.d.ts +5 -5
  66. package/dist/types/components/checkbox/checkbox.style.d.ts +1 -1
  67. package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -2
  68. package/dist/types/components/checkbox-card/checkbox-card.d.ts +5 -5
  69. package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
  70. package/dist/types/components/circle-progress/circle-progress.d.ts +2 -2
  71. package/dist/types/components/close-button/close-button.d.ts +2 -2
  72. package/dist/types/components/code/code.d.ts +2 -2
  73. package/dist/types/components/collapse/collapse.d.ts +2 -2
  74. package/dist/types/components/color-picker/color-picker.d.ts +2 -2
  75. package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
  76. package/dist/types/components/color-picker/use-color-picker.d.ts +2 -2
  77. package/dist/types/components/color-selector/color-selector.d.ts +2 -2
  78. package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
  79. package/dist/types/components/color-selector/use-color-selector.d.ts +3 -3
  80. package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
  81. package/dist/types/components/container/container.d.ts +2 -2
  82. package/dist/types/components/data-list/data-list.d.ts +2 -2
  83. package/dist/types/components/data-list/data-list.style.d.ts +1 -1
  84. package/dist/types/components/date-picker/date-picker.d.ts +2 -2
  85. package/dist/types/components/date-picker/date-picker.style.d.ts +1 -1
  86. package/dist/types/components/date-picker/use-date-picker.d.ts +4 -4
  87. package/dist/types/components/drawer/drawer.d.ts +2 -2
  88. package/dist/types/components/drawer/drawer.style.d.ts +2 -2
  89. package/dist/types/components/dropzone/dropzone.d.ts +4 -4
  90. package/dist/types/components/editable/editable.d.ts +4 -4
  91. package/dist/types/components/editable/editable.style.d.ts +1 -1
  92. package/dist/types/components/editable/use-editable.d.ts +2 -2
  93. package/dist/types/components/em/em.d.ts +2 -2
  94. package/dist/types/components/empty-state/empty-state.d.ts +2 -2
  95. package/dist/types/components/empty-state/empty-state.style.d.ts +2 -2
  96. package/dist/types/components/fade/fade.d.ts +2 -2
  97. package/dist/types/components/field/field.d.ts +3 -3
  98. package/dist/types/components/field/use-field-props.d.ts +4 -4
  99. package/dist/types/components/fieldset/fieldset.d.ts +3 -3
  100. package/dist/types/components/file-button/file-button.d.ts +2 -2
  101. package/dist/types/components/file-button/use-file-button.d.ts +18 -18
  102. package/dist/types/components/file-input/file-input.d.ts +2 -2
  103. package/dist/types/components/file-input/file-input.style.d.ts +1 -1
  104. package/dist/types/components/file-input/use-file-input.d.ts +15 -15
  105. package/dist/types/components/flex/flex.d.ts +2 -2
  106. package/dist/types/components/flip/flip.d.ts +4 -4
  107. package/dist/types/components/flip/flip.style.d.ts +1 -1
  108. package/dist/types/components/float/float.d.ts +2 -2
  109. package/dist/types/components/form/form.d.ts +3 -3
  110. package/dist/types/components/format/format-byte.d.ts +4 -4
  111. package/dist/types/components/format/format-date-time.d.ts +4 -4
  112. package/dist/types/components/format/format-number.d.ts +2 -2
  113. package/dist/types/components/grid/grid-item.d.ts +2 -2
  114. package/dist/types/components/grid/grid.d.ts +2 -2
  115. package/dist/types/components/group/group.d.ts +2 -2
  116. package/dist/types/components/group/use-group.d.ts +2 -2
  117. package/dist/types/components/heading/heading.d.ts +2 -2
  118. package/dist/types/components/hue-slider/hue-slider.d.ts +3 -3
  119. package/dist/types/components/icon/icon.d.ts +5 -5
  120. package/dist/types/components/image/image.d.ts +2 -2
  121. package/dist/types/components/indicator/indicator.d.ts +4 -4
  122. package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
  123. package/dist/types/components/input/input-addon.d.ts +2 -2
  124. package/dist/types/components/input/input-element.d.ts +2 -2
  125. package/dist/types/components/input/input.d.ts +2 -2
  126. package/dist/types/components/kbd/kbd.d.ts +2 -2
  127. package/dist/types/components/link/link.d.ts +2 -2
  128. package/dist/types/components/link-box/link-box.d.ts +2 -2
  129. package/dist/types/components/list/list.d.ts +2 -2
  130. package/dist/types/components/list/list.style.d.ts +2 -2
  131. package/dist/types/components/loading/loading-provider.d.ts +2 -2
  132. package/dist/types/components/loading/loading.d.ts +3 -3
  133. package/dist/types/components/mark/mark.d.ts +2 -2
  134. package/dist/types/components/menu/menu.d.ts +2 -2
  135. package/dist/types/components/menu/menu.style.d.ts +2 -2
  136. package/dist/types/components/menu/use-menu.d.ts +11 -11
  137. package/dist/types/components/modal/modal.d.ts +2 -2
  138. package/dist/types/components/modal/modal.style.d.ts +2 -2
  139. package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
  140. package/dist/types/components/native-accordion/native-accordion.style.d.ts +2 -2
  141. package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
  142. package/dist/types/components/native-popover/native-popover.d.ts +2 -2
  143. package/dist/types/components/native-select/native-select.d.ts +2 -2
  144. package/dist/types/components/native-select/native-select.style.d.ts +1 -1
  145. package/dist/types/components/native-table/native-table.d.ts +4 -4
  146. package/dist/types/components/notice/notice.style.d.ts +1 -1
  147. package/dist/types/components/number-input/number-input.d.ts +2 -2
  148. package/dist/types/components/number-input/number-input.style.d.ts +1 -1
  149. package/dist/types/components/pagination/pagination.d.ts +2 -2
  150. package/dist/types/components/pagination/pagination.style.d.ts +1 -1
  151. package/dist/types/components/pagination/use-pagination.d.ts +2 -2
  152. package/dist/types/components/password-input/password-input.d.ts +2 -2
  153. package/dist/types/components/password-input/password-input.style.d.ts +1 -1
  154. package/dist/types/components/password-input/strength-meter.d.ts +2 -2
  155. package/dist/types/components/password-input/strength-meter.style.d.ts +1 -1
  156. package/dist/types/components/password-input/use-password-input.d.ts +2 -2
  157. package/dist/types/components/pin-input/pin-input.d.ts +2 -2
  158. package/dist/types/components/pin-input/pin-input.style.d.ts +1 -1
  159. package/dist/types/components/pin-input/use-pin-input.d.ts +7 -7
  160. package/dist/types/components/popover/popover.d.ts +2 -2
  161. package/dist/types/components/progress/progress.d.ts +4 -4
  162. package/dist/types/components/progress/use-progress.d.ts +706 -706
  163. package/dist/types/components/qr-code/qr-code.d.ts +2 -2
  164. package/dist/types/components/radio/radio.d.ts +5 -5
  165. package/dist/types/components/radio/radio.style.d.ts +1 -1
  166. package/dist/types/components/radio/use-radio-group.d.ts +2 -2
  167. package/dist/types/components/radio-card/radio-card.d.ts +5 -5
  168. package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
  169. package/dist/types/components/rating/rating.style.d.ts +2 -2
  170. package/dist/types/components/rating/use-rating.d.ts +7 -7
  171. package/dist/types/components/reorder/reorder.d.ts +2 -2
  172. package/dist/types/components/reorder/reorder.style.d.ts +1 -1
  173. package/dist/types/components/reorder/use-reorder.d.ts +3 -3
  174. package/dist/types/components/resizable/resizable.d.ts +2 -2
  175. package/dist/types/components/resizable/resizable.style.d.ts +2 -2
  176. package/dist/types/components/resizable/use-resizable.d.ts +2 -2
  177. package/dist/types/components/ripple/ripple.d.ts +2 -2
  178. package/dist/types/components/ripple/use-ripple.d.ts +2 -2
  179. package/dist/types/components/rotate/rotate.d.ts +2 -2
  180. package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
  181. package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -2
  182. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  183. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -2
  184. package/dist/types/components/segmented-control/segmented-control.style.d.ts +2 -2
  185. package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -9
  186. package/dist/types/components/select/select.d.ts +2 -2
  187. package/dist/types/components/select/select.style.d.ts +1 -1
  188. package/dist/types/components/select/use-select.d.ts +4 -4
  189. package/dist/types/components/separator/separator.d.ts +2 -2
  190. package/dist/types/components/simple-grid/simple-grid.d.ts +2 -2
  191. package/dist/types/components/skeleton/skeleton.d.ts +2 -2
  192. package/dist/types/components/slide/slide.d.ts +2 -2
  193. package/dist/types/components/slide-fade/slide-fade.d.ts +2 -2
  194. package/dist/types/components/slider/slider.d.ts +2 -2
  195. package/dist/types/components/slider/use-slider.d.ts +2 -2
  196. package/dist/types/components/stack/h-stack.d.ts +2 -2
  197. package/dist/types/components/stack/stack.d.ts +2 -2
  198. package/dist/types/components/stack/v-stack.d.ts +2 -2
  199. package/dist/types/components/stack/z-stack.d.ts +2 -2
  200. package/dist/types/components/stat/stat.d.ts +2 -2
  201. package/dist/types/components/stat/stat.style.d.ts +2 -2
  202. package/dist/types/components/status/status.d.ts +2 -2
  203. package/dist/types/components/status/status.style.d.ts +2 -2
  204. package/dist/types/components/steps/steps.d.ts +2 -2
  205. package/dist/types/components/steps/steps.style.d.ts +1 -1
  206. package/dist/types/components/steps/use-steps.d.ts +10 -10
  207. package/dist/types/components/switch/switch.d.ts +2 -2
  208. package/dist/types/components/table/table.d.ts +2 -2
  209. package/dist/types/components/tabs/tabs.d.ts +2 -2
  210. package/dist/types/components/tabs/use-tabs.d.ts +16 -16
  211. package/dist/types/components/tag/tag.d.ts +2 -2
  212. package/dist/types/components/tag/tag.style.d.ts +1 -1
  213. package/dist/types/components/text/text.d.ts +2 -2
  214. package/dist/types/components/textarea/textarea.d.ts +2 -2
  215. package/dist/types/components/textarea/use-autosize.d.ts +2 -2
  216. package/dist/types/components/timeline/timeline.d.ts +5 -5
  217. package/dist/types/components/timeline/timeline.style.d.ts +2 -2
  218. package/dist/types/components/toggle/toggle.d.ts +5 -5
  219. package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
  220. package/dist/types/components/toggle/use-toggle.d.ts +2 -2
  221. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  222. package/dist/types/components/tree/index.d.ts +5 -0
  223. package/dist/types/components/tree/tree.d.ts +131 -0
  224. package/dist/types/components/tree/tree.namespace.d.ts +10 -0
  225. package/dist/types/components/tree/tree.style.d.ts +173 -0
  226. package/dist/types/components/tree/use-tree.d.ts +253 -0
  227. package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
  228. package/dist/types/components/wrap/wrap.d.ts +2 -2
  229. package/dist/types/core/components/create-component.d.ts +7 -7
  230. package/dist/types/core/system/color-mode-provider.d.ts +2 -2
  231. package/dist/types/core/system/styled.d.ts +2 -2
  232. package/dist/types/core/system/system-provider.d.ts +2 -2
  233. package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
  234. package/dist/types/hooks/use-clickable/index.d.ts +7 -7
  235. package/dist/types/hooks/use-combobox/index.d.ts +12 -12
  236. package/dist/types/hooks/use-field-sizing/index.d.ts +2 -2
  237. package/dist/types/hooks/use-hover/index.d.ts +2 -2
  238. package/dist/types/index.d.ts +7 -2
  239. package/dist/types/providers/i18n-provider/i18n-provider.d.ts +3 -3
  240. package/dist/types/providers/ui-provider/ui-provider.d.ts +2 -2
  241. package/dist/types/utils/children.d.ts +2 -2
  242. package/package.json +2 -2
@@ -0,0 +1,25 @@
1
+ const require_tree_style = require('./tree.style.cjs');
2
+ const require_use_tree = require('./use-tree.cjs');
3
+ const require_tree = require('./tree.cjs');
4
+ const require_tree_namespace = require('./tree.namespace.cjs');
5
+
6
+ Object.defineProperty(exports, 'Tree', {
7
+ enumerable: true,
8
+ get: function () {
9
+ return require_tree_namespace.tree_namespace_exports;
10
+ }
11
+ });
12
+ exports.TreeContext = require_use_tree.TreeContext;
13
+ exports.TreeDescendantsContext = require_use_tree.TreeDescendantsContext;
14
+ exports.TreeItem = require_tree.TreeItem;
15
+ exports.TreeItemContext = require_use_tree.TreeItemContext;
16
+ exports.TreePropsContext = require_tree.TreePropsContext;
17
+ exports.TreeRoot = require_tree.TreeRoot;
18
+ exports.treeStyle = require_tree_style.treeStyle;
19
+ exports.useTree = require_use_tree.useTree;
20
+ exports.useTreeContext = require_use_tree.useTreeContext;
21
+ exports.useTreeDescendant = require_use_tree.useTreeDescendant;
22
+ exports.useTreeDescendants = require_use_tree.useTreeDescendants;
23
+ exports.useTreeItem = require_use_tree.useTreeItem;
24
+ exports.useTreeItemContext = require_use_tree.useTreeItemContext;
25
+ exports.useTreePropsContext = require_tree.useTreePropsContext;
@@ -0,0 +1,289 @@
1
+ "use client";
2
+
3
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
4
+ const require_utils_index = require('../../utils/index.cjs');
5
+ const require_factory = require('../../core/system/factory.cjs');
6
+ const require_create_component = require('../../core/components/create-component.cjs');
7
+ require('../../core/index.cjs');
8
+ const require_chevron_right_icon = require('../icon/icons/chevron-right-icon.cjs');
9
+ require('../icon/index.cjs');
10
+ const require_collapse = require('../collapse/collapse.cjs');
11
+ require('../collapse/index.cjs');
12
+ const require_use_loading_component = require('../loading/use-loading-component.cjs');
13
+ require('../loading/index.cjs');
14
+ const require_checkbox = require('../checkbox/checkbox.cjs');
15
+ require('../checkbox/index.cjs');
16
+ const require_tree_style = require('./tree.style.cjs');
17
+ const require_use_tree = require('./use-tree.cjs');
18
+ let react = require("react");
19
+ let react_jsx_runtime = require("react/jsx-runtime");
20
+
21
+ //#region src/components/tree/tree.tsx
22
+ const recursiveTreeItem = (items) => {
23
+ return items?.map((props, index) => {
24
+ const key = props.value || ((0, require_utils_index.utils_exports.isString)(props.label) ? props.label : index);
25
+ if ("children" in props) {
26
+ const { children, ...rest } = props;
27
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeItem, {
28
+ ...rest,
29
+ children: recursiveTreeItem(children)
30
+ }, key);
31
+ } else return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeItem, { ...props }, key);
32
+ });
33
+ };
34
+ const getReactNodeOrFunction = (type, custom, root) => {
35
+ if ((0, require_utils_index.utils_exports.isObject)(custom) && ("group" in custom || "item" in custom)) return custom[type];
36
+ else if (custom) return custom;
37
+ else if ((0, require_utils_index.utils_exports.isObject)(root) && ("group" in root || "item" in root)) return root[type];
38
+ else return root;
39
+ };
40
+ const { ComponentContext, PropsContext: TreePropsContext, useComponentContext, usePropsContext: useTreePropsContext, withContext, withProvider } = require_create_component.createSlotComponent("tree", require_tree_style.treeStyle);
41
+ /**
42
+ * `Tree` is a component used to display hierarchical data structures in an expandable tree format.
43
+ *
44
+ * @see https://yamada-ui.com/docs/components/tree
45
+ */
46
+ const TreeRoot = withProvider(({ size, animated, children, endElement, indicator, indicatorHidden, items, loadingScheme, startElement, checkboxProps, endElementProps, groupProps, indicatorProps, itemProps, labelProps, startElementProps, triggerProps, ...rest }) => {
47
+ const computedChildren = (0, react.useMemo)(() => {
48
+ if (children) return children;
49
+ return recursiveTreeItem(items);
50
+ }, [children, items]);
51
+ const { activeDescendant, checkable, checkedValue, descendants, expandedValue, multiple, selectedValue, getRootProps, onActiveDescendant, onCheckedChange, onCollapseAll, onExpandAll, onExpandedChange, onSearch, onSelectedChange } = require_use_tree.useTree({
52
+ ...rest,
53
+ children: computedChildren
54
+ });
55
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_tree.TreeDescendantsContext, {
56
+ value: descendants,
57
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_tree.TreeContext, {
58
+ value: (0, react.useMemo)(() => ({
59
+ activeDescendant,
60
+ checkable,
61
+ checkedValue,
62
+ expandedValue,
63
+ multiple,
64
+ selectedValue,
65
+ onActiveDescendant,
66
+ onCheckedChange,
67
+ onCollapseAll,
68
+ onExpandAll,
69
+ onExpandedChange,
70
+ onSearch,
71
+ onSelectedChange
72
+ }), [
73
+ activeDescendant,
74
+ checkable,
75
+ checkedValue,
76
+ expandedValue,
77
+ multiple,
78
+ selectedValue,
79
+ onActiveDescendant,
80
+ onCheckedChange,
81
+ onSearch,
82
+ onCollapseAll,
83
+ onExpandAll,
84
+ onExpandedChange,
85
+ onSelectedChange
86
+ ]),
87
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ComponentContext, {
88
+ value: (0, react.useMemo)(() => ({
89
+ size,
90
+ animated,
91
+ endElement,
92
+ indicator,
93
+ indicatorHidden,
94
+ loadingScheme,
95
+ startElement,
96
+ checkboxProps,
97
+ endElementProps,
98
+ groupProps,
99
+ indicatorProps,
100
+ itemProps,
101
+ labelProps,
102
+ startElementProps,
103
+ triggerProps
104
+ }), [
105
+ size,
106
+ animated,
107
+ endElement,
108
+ indicator,
109
+ indicatorHidden,
110
+ startElement,
111
+ endElementProps,
112
+ groupProps,
113
+ indicatorProps,
114
+ itemProps,
115
+ labelProps,
116
+ startElementProps,
117
+ triggerProps,
118
+ checkboxProps,
119
+ loadingScheme
120
+ ]),
121
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.styled.ul, { ...getRootProps() })
122
+ })
123
+ })
124
+ });
125
+ }, "root", { transferProps: ["size"] })();
126
+ const TreeItem = withContext(({ animated: animatedProp, asyncChildren: asyncChildrenProp, endElement, indicator: indicatorProp, label, loadingScheme, startElement, value: valueProp = (0, require_utils_index.utils_exports.isString)(label) ? label : void 0, checkboxProps, endElementProps, groupProps, indicatorProps, labelProps, startElementProps, triggerProps, ...rest }) => {
127
+ const { checkable } = require_use_tree.useTreeContext();
128
+ const componentContext = useComponentContext();
129
+ const Loading = require_use_loading_component.useLoadingComponent(loadingScheme ?? componentContext.loadingScheme ?? "oval");
130
+ const animated = animatedProp ?? componentContext.animated;
131
+ const indicator = indicatorProp ?? componentContext.indicator;
132
+ const groupStartElement = getReactNodeOrFunction("group", startElement, componentContext.startElement);
133
+ const groupEndElement = getReactNodeOrFunction("group", endElement, componentContext.endElement);
134
+ const itemStartElement = getReactNodeOrFunction("item", startElement, componentContext.startElement);
135
+ const itemEndElement = getReactNodeOrFunction("item", endElement, componentContext.endElement);
136
+ const asyncChildren = (0, react.useCallback)(async () => {
137
+ return recursiveTreeItem(await asyncChildrenProp?.());
138
+ }, [asyncChildrenProp]);
139
+ const { branchOpen, children, disabled, group, groupLoading, groupOpen, level, value, getCheckboxProps, getGroupItemProps, getGroupProps, getIndicatorProps, getItemProps, getLabelProps, getTriggerProps, onGroupClose, onGroupOpen, onGroupToggle } = require_use_tree.useTreeItem({
140
+ ...componentContext.itemProps,
141
+ ...rest,
142
+ asyncChildren: asyncChildrenProp ? asyncChildren : void 0,
143
+ value: valueProp
144
+ });
145
+ const props = {
146
+ disabled,
147
+ expanded: groupOpen
148
+ };
149
+ const context = (0, react.useMemo)(() => ({
150
+ branchOpen,
151
+ groupOpen,
152
+ level,
153
+ value,
154
+ onGroupClose,
155
+ onGroupOpen,
156
+ onGroupToggle
157
+ }), [
158
+ branchOpen,
159
+ groupOpen,
160
+ level,
161
+ value,
162
+ onGroupClose,
163
+ onGroupOpen,
164
+ onGroupToggle
165
+ ]);
166
+ const varProps = (0, react.useMemo)(() => ({ "--level": level.toString() }), [level]);
167
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_tree.TreeItemContext, {
168
+ value: context,
169
+ children: group ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_factory.styled.li, {
170
+ ...varProps,
171
+ ...getGroupItemProps(),
172
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TreeTrigger, {
173
+ ...getTriggerProps({
174
+ ...componentContext.triggerProps,
175
+ ...triggerProps
176
+ }),
177
+ children: [
178
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeIndicator, {
179
+ ...getIndicatorProps({
180
+ "data-animated": (0, require_utils_index.utils_exports.dataAttr)(animated),
181
+ ...componentContext.indicatorProps,
182
+ ...indicatorProps
183
+ }),
184
+ children: groupLoading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Loading, {}) : (0, require_utils_index.utils_exports.runIfFn)(indicator, props)
185
+ }),
186
+ checkable ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeCheckbox, {
187
+ size: componentContext.size,
188
+ ...getCheckboxProps({
189
+ ...componentContext.checkboxProps,
190
+ ...checkboxProps
191
+ })
192
+ }) : null,
193
+ groupStartElement ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeStartElement, {
194
+ ...componentContext.startElementProps,
195
+ ...startElementProps,
196
+ children: (0, require_utils_index.utils_exports.runIfFn)(groupStartElement, props)
197
+ }) : null,
198
+ label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeLabel, {
199
+ ...getLabelProps({
200
+ ...componentContext.labelProps,
201
+ ...labelProps
202
+ }),
203
+ children: label
204
+ }) : null,
205
+ groupEndElement ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeEndElement, {
206
+ ...componentContext.endElementProps,
207
+ ...endElementProps,
208
+ children: (0, require_utils_index.utils_exports.runIfFn)(groupEndElement, props)
209
+ }) : null
210
+ ]
211
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeGroup, {
212
+ duration: !animated ? 0 : void 0,
213
+ open: groupOpen,
214
+ ...getGroupProps({
215
+ ...componentContext.groupProps,
216
+ ...groupProps
217
+ }),
218
+ children
219
+ })]
220
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_factory.styled.li, {
221
+ ...varProps,
222
+ ...getItemProps(),
223
+ children: [
224
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeIndicator, { ...getIndicatorProps({
225
+ "data-hidden": "",
226
+ ...componentContext.indicatorProps,
227
+ ...indicatorProps
228
+ }) }),
229
+ checkable ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeCheckbox, {
230
+ size: componentContext.size,
231
+ ...getCheckboxProps({
232
+ ...componentContext.checkboxProps,
233
+ ...checkboxProps
234
+ })
235
+ }) : null,
236
+ itemStartElement ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeStartElement, {
237
+ ...componentContext.startElementProps,
238
+ ...startElementProps,
239
+ children: (0, require_utils_index.utils_exports.runIfFn)(itemStartElement, props)
240
+ }) : null,
241
+ label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeLabel, {
242
+ ...getLabelProps({
243
+ ...componentContext.labelProps,
244
+ ...labelProps
245
+ }),
246
+ children: label
247
+ }) : null,
248
+ itemEndElement ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeEndElement, {
249
+ ...componentContext.endElementProps,
250
+ ...endElementProps,
251
+ children: (0, require_utils_index.utils_exports.runIfFn)(itemEndElement, props)
252
+ }) : null
253
+ ]
254
+ })
255
+ });
256
+ }, "item")();
257
+ const TreeTrigger = withContext("div", "trigger")();
258
+ const TreeGroup = withContext((props) => {
259
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_collapse.Collapse, {
260
+ as: "ul",
261
+ ...(0, require_utils_index.utils_exports.cast)(props)
262
+ });
263
+ }, "group")();
264
+ const TreeIndicator = withContext(({ children = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_chevron_right_icon.ChevronRightIcon, {}), ...rest }) => {
265
+ const { indicatorHidden } = useComponentContext();
266
+ if (indicatorHidden) return null;
267
+ if ((0, react.isValidElement)(children)) return (0, react.cloneElement)(children, {
268
+ ...rest,
269
+ ...children.props
270
+ });
271
+ return react.Children.count(children) > 1 ? react.Children.only(null) : null;
272
+ }, "indicator")();
273
+ const TreeCheckbox = withContext(require_checkbox.Checkbox, "checkbox")();
274
+ const TreeStartElement = withContext("div", {
275
+ name: "TreeStartElement",
276
+ slot: ["element", "start"]
277
+ })();
278
+ const TreeEndElement = withContext("div", {
279
+ name: "TreeEndElement",
280
+ slot: ["element", "end"]
281
+ })();
282
+ const TreeLabel = withContext("span", "label")();
283
+
284
+ //#endregion
285
+ exports.TreeItem = TreeItem;
286
+ exports.TreePropsContext = TreePropsContext;
287
+ exports.TreeRoot = TreeRoot;
288
+ exports.useTreePropsContext = useTreePropsContext;
289
+ //# sourceMappingURL=tree.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.cjs","names":["createSlotComponent","treeStyle","useTree","TreeDescendantsContext","TreeContext","styled","useTreeContext","useLoadingComponent","useTreeItem","TreeItemContext","Collapse","ChevronRightIcon","Children","Checkbox"],"sources":["../../../../src/components/tree/tree.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type {\n GenericsComponent,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { CheckboxProps } from \"../checkbox\"\nimport type { CollapseProps } from \"../collapse\"\nimport type { Loading } from \"../loading\"\nimport type { WithTransitionProps } from \"../motion\"\nimport type { TreeStyle } from \"./tree.style\"\nimport type { UseTreeItemProps, UseTreeProps } from \"./use-tree\"\nimport {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useMemo,\n} from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport {\n cast,\n dataAttr,\n isObject,\n isString,\n type ReactNodeOrFunction,\n runIfFn,\n} from \"../../utils\"\nimport { Checkbox } from \"../checkbox\"\nimport { Collapse } from \"../collapse\"\nimport { ChevronRightIcon } from \"../icon\"\nimport { useLoadingComponent } from \"../loading\"\nimport { treeStyle } from \"./tree.style\"\nimport {\n TreeContext,\n TreeDescendantsContext,\n TreeItemContext,\n useTree,\n useTreeContext,\n useTreeItem,\n} from \"./use-tree\"\n\ninterface TreeCallBackProps {\n disabled?: boolean\n expanded?: boolean\n}\n\nexport type TreeItemReactNode =\n | ReactNodeOrFunction<TreeCallBackProps>\n | {\n group: ReactNodeOrFunction<TreeCallBackProps>\n item?: ReactNodeOrFunction<TreeCallBackProps>\n }\n | {\n item: ReactNodeOrFunction<TreeCallBackProps>\n group?: ReactNodeOrFunction<TreeCallBackProps>\n }\n\ninterface TreeItemWithValue extends Omit<TreeItemProps, \"children\"> {}\n\nexport interface TreeItemWithChildren extends TreeItemWithValue {\n children: TreeItem[]\n}\n\nexport type TreeItem = TreeItemWithChildren | TreeItemWithValue\n\nconst recursiveTreeItem = (items?: TreeItem[]) => {\n return items?.map((props, index) => {\n const key = props.value || (isString(props.label) ? props.label : index)\n\n if (\"children\" in props) {\n const { children, ...rest } = props\n\n return (\n <TreeItem key={key} {...rest}>\n {recursiveTreeItem(children)}\n </TreeItem>\n )\n } else {\n return <TreeItem key={key} {...props} />\n }\n })\n}\n\nconst getReactNodeOrFunction = (\n type: \"group\" | \"item\",\n custom?: TreeItemReactNode,\n root?: TreeItemReactNode,\n): ReactNodeOrFunction<TreeCallBackProps> => {\n if (isObject(custom) && (\"group\" in custom || \"item\" in custom)) {\n return custom[type]\n } else if (custom) {\n return custom\n } else if (isObject(root) && (\"group\" in root || \"item\" in root)) {\n return root[type]\n } else {\n return root\n }\n}\n\ninterface ComponentContext extends Pick<\n TreeRootProps,\n | \"animated\"\n | \"checkboxProps\"\n | \"endElement\"\n | \"endElementProps\"\n | \"groupProps\"\n | \"indicator\"\n | \"indicatorHidden\"\n | \"indicatorProps\"\n | \"itemProps\"\n | \"labelProps\"\n | \"loadingScheme\"\n | \"size\"\n | \"startElement\"\n | \"startElementProps\"\n | \"triggerProps\"\n> {}\n\nexport interface TreeRootProps<Multiple extends boolean = false>\n extends\n HTMLStyledProps<\"ul\">,\n ThemeProps<TreeStyle>,\n UseTreeProps<Multiple>,\n Pick<\n TreeItemProps,\n | \"animated\"\n | \"checkboxProps\"\n | \"endElement\"\n | \"endElementProps\"\n | \"groupProps\"\n | \"indicator\"\n | \"indicatorProps\"\n | \"labelProps\"\n | \"loadingScheme\"\n | \"startElement\"\n | \"startElementProps\"\n | \"triggerProps\"\n > {\n /**\n * If `true`, hide the tree indicator icon for all items.\n *\n * @default false\n */\n indicatorHidden?: boolean\n /**\n * If provided, generate elements based on items.\n */\n items?: TreeItem[]\n /**\n * Props for the item component.\n */\n itemProps?: Omit<TreeItemProps, \"label\" | \"open\" | \"value\">\n}\n\nconst {\n ComponentContext,\n PropsContext: TreePropsContext,\n useComponentContext,\n usePropsContext: useTreePropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<TreeRootProps, TreeStyle, ComponentContext>(\n \"tree\",\n treeStyle,\n)\n\nexport { TreePropsContext, useTreePropsContext }\n\n/**\n * `Tree` is a component used to display hierarchical data structures in an expandable tree format.\n *\n * @see https://yamada-ui.com/docs/components/tree\n */\nexport const TreeRoot = withProvider<\"ul\", TreeRootProps, \"size\">(\n <Multiple extends boolean = false>({\n size,\n animated,\n children,\n endElement,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n startElement,\n checkboxProps,\n endElementProps,\n groupProps,\n indicatorProps,\n itemProps,\n labelProps,\n startElementProps,\n triggerProps,\n ...rest\n }: TreeRootProps<Multiple>) => {\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return recursiveTreeItem(items)\n }, [children, items])\n const {\n activeDescendant,\n checkable,\n checkedValue,\n descendants,\n expandedValue,\n multiple,\n selectedValue,\n getRootProps,\n onActiveDescendant,\n onCheckedChange,\n onCollapseAll,\n onExpandAll,\n onExpandedChange,\n onSearch,\n onSelectedChange,\n } = useTree({ ...rest, children: computedChildren })\n const context = useMemo(\n () => ({\n activeDescendant,\n checkable,\n checkedValue,\n expandedValue,\n multiple,\n selectedValue,\n onActiveDescendant,\n onCheckedChange,\n onCollapseAll,\n onExpandAll,\n onExpandedChange,\n onSearch,\n onSelectedChange,\n }),\n [\n activeDescendant,\n checkable,\n checkedValue,\n expandedValue,\n multiple,\n selectedValue,\n onActiveDescendant,\n onCheckedChange,\n onSearch,\n onCollapseAll,\n onExpandAll,\n onExpandedChange,\n onSelectedChange,\n ],\n )\n const componentContext = useMemo(\n () => ({\n size,\n animated,\n endElement,\n indicator,\n indicatorHidden,\n loadingScheme,\n startElement,\n checkboxProps,\n endElementProps,\n groupProps,\n indicatorProps,\n itemProps,\n labelProps,\n startElementProps,\n triggerProps,\n }),\n [\n size,\n animated,\n endElement,\n indicator,\n indicatorHidden,\n startElement,\n endElementProps,\n groupProps,\n indicatorProps,\n itemProps,\n labelProps,\n startElementProps,\n triggerProps,\n checkboxProps,\n loadingScheme,\n ],\n )\n\n return (\n <TreeDescendantsContext value={descendants}>\n <TreeContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.ul {...getRootProps()} />\n </ComponentContext>\n </TreeContext>\n </TreeDescendantsContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)() as GenericsComponent<{\n <Multiple extends boolean = false>(\n props: TreeRootProps<Multiple>,\n ): ReactElement\n}>\n\nexport interface TreeItemProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"value\">,\n Omit<UseTreeItemProps, \"asyncChildren\"> {\n /**\n * The label to display in the item.\n */\n label: ReactNode\n /**\n * If `true`, the tree item will be animated.\n *\n * @default false\n */\n animated?: boolean\n /**\n * The element to display at the end of the item.\n */\n endElement?: TreeItemReactNode\n /**\n * The tree indicator icon to use.\n */\n indicator?: ReactNodeOrFunction<TreeCallBackProps>\n /**\n * The loading scheme.\n *\n * @default 'oval'\n */\n loadingScheme?: Loading.Scheme\n /**\n * The element to display at the start of the item.\n */\n startElement?: TreeItemReactNode\n /**\n * Props for the checkbox component.\n */\n checkboxProps?: Omit<CheckboxProps, \"checked\" | \"defaultChecked\" | \"value\">\n /**\n * Props for the end component.\n */\n endElementProps?: TreeEndElementProps\n /**\n * Props for the group component.\n */\n groupProps?: Omit<TreeGroupProps, \"children\">\n /**\n * Props for the indicator component.\n */\n indicatorProps?: TreeIndicatorProps\n /**\n * Props for the label component.\n */\n labelProps?: TreeLabelProps\n /**\n * Props for the start component.\n */\n startElementProps?: TreeStartElementProps\n /**\n * Props for the trigger component.\n */\n triggerProps?: TreeTriggerProps\n /**\n * If provided, the tree item will be rendered as an async tree item.\n */\n asyncChildren?: () => Promise<TreeItem[]>\n}\n\nexport const TreeItem = withContext<\"li\", TreeItemProps>(\n ({\n animated: animatedProp,\n asyncChildren: asyncChildrenProp,\n endElement,\n indicator: indicatorProp,\n label,\n loadingScheme,\n startElement,\n value: valueProp = isString(label) ? label : undefined,\n checkboxProps,\n endElementProps,\n groupProps,\n indicatorProps,\n labelProps,\n startElementProps,\n triggerProps,\n ...rest\n }) => {\n const { checkable } = useTreeContext()\n const componentContext = useComponentContext()\n const Loading = useLoadingComponent(\n loadingScheme ?? componentContext.loadingScheme ?? \"oval\",\n )\n const animated = animatedProp ?? componentContext.animated\n const indicator = indicatorProp ?? componentContext.indicator\n const groupStartElement = getReactNodeOrFunction(\n \"group\",\n startElement,\n componentContext.startElement,\n )\n const groupEndElement = getReactNodeOrFunction(\n \"group\",\n endElement,\n componentContext.endElement,\n )\n const itemStartElement = getReactNodeOrFunction(\n \"item\",\n startElement,\n componentContext.startElement,\n )\n const itemEndElement = getReactNodeOrFunction(\n \"item\",\n endElement,\n componentContext.endElement,\n )\n const asyncChildren = useCallback(async () => {\n const items = await asyncChildrenProp?.()\n\n return recursiveTreeItem(items)\n }, [asyncChildrenProp])\n const {\n branchOpen,\n children,\n disabled,\n group,\n groupLoading,\n groupOpen,\n level,\n value,\n getCheckboxProps,\n getGroupItemProps,\n getGroupProps,\n getIndicatorProps,\n getItemProps,\n getLabelProps,\n getTriggerProps,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n } = useTreeItem({\n ...componentContext.itemProps,\n ...rest,\n asyncChildren: asyncChildrenProp ? asyncChildren : undefined,\n value: valueProp,\n })\n const props = { disabled, expanded: groupOpen }\n const context = useMemo(\n () => ({\n branchOpen,\n groupOpen,\n level,\n value,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n }),\n [\n branchOpen,\n groupOpen,\n level,\n value,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n ],\n )\n const varProps = useMemo(() => ({ \"--level\": level.toString() }), [level])\n\n return (\n <TreeItemContext value={context}>\n {group ? (\n <styled.li {...varProps} {...getGroupItemProps()}>\n <TreeTrigger\n {...getTriggerProps({\n ...componentContext.triggerProps,\n ...triggerProps,\n })}\n >\n <TreeIndicator\n {...getIndicatorProps({\n \"data-animated\": dataAttr(animated),\n ...componentContext.indicatorProps,\n ...indicatorProps,\n })}\n >\n {groupLoading ? <Loading /> : runIfFn(indicator, props)}\n </TreeIndicator>\n {checkable ? (\n <TreeCheckbox\n size={componentContext.size}\n {...getCheckboxProps({\n ...componentContext.checkboxProps,\n ...checkboxProps,\n })}\n />\n ) : null}\n {groupStartElement ? (\n <TreeStartElement\n {...componentContext.startElementProps}\n {...startElementProps}\n >\n {runIfFn(groupStartElement, props)}\n </TreeStartElement>\n ) : null}\n {label ? (\n <TreeLabel\n {...getLabelProps({\n ...componentContext.labelProps,\n ...labelProps,\n })}\n >\n {label}\n </TreeLabel>\n ) : null}\n {groupEndElement ? (\n <TreeEndElement\n {...componentContext.endElementProps}\n {...endElementProps}\n >\n {runIfFn(groupEndElement, props)}\n </TreeEndElement>\n ) : null}\n </TreeTrigger>\n\n <TreeGroup\n duration={!animated ? 0 : undefined}\n open={groupOpen}\n {...getGroupProps({\n ...componentContext.groupProps,\n ...groupProps,\n })}\n >\n {children}\n </TreeGroup>\n </styled.li>\n ) : (\n <styled.li {...varProps} {...getItemProps()}>\n <TreeIndicator\n {...getIndicatorProps({\n \"data-hidden\": \"\",\n ...componentContext.indicatorProps,\n ...indicatorProps,\n })}\n />\n {checkable ? (\n <TreeCheckbox\n size={componentContext.size}\n {...getCheckboxProps({\n ...componentContext.checkboxProps,\n ...checkboxProps,\n })}\n />\n ) : null}\n {itemStartElement ? (\n <TreeStartElement\n {...componentContext.startElementProps}\n {...startElementProps}\n >\n {runIfFn(itemStartElement, props)}\n </TreeStartElement>\n ) : null}\n {label ? (\n <TreeLabel\n {...getLabelProps({\n ...componentContext.labelProps,\n ...labelProps,\n })}\n >\n {label}\n </TreeLabel>\n ) : null}\n {itemEndElement ? (\n <TreeEndElement\n {...componentContext.endElementProps}\n {...endElementProps}\n >\n {runIfFn(itemEndElement, props)}\n </TreeEndElement>\n ) : null}\n </styled.li>\n )}\n </TreeItemContext>\n )\n },\n \"item\",\n)()\n\ninterface TreeTriggerProps extends HTMLStyledProps {}\n\nconst TreeTrigger = withContext<\"div\", TreeTriggerProps>(\"div\", \"trigger\")()\n\ninterface TreeGroupProps\n extends\n Omit<HTMLStyledProps<\"ul\">, \"transition\">,\n Pick<CollapseProps, \"animationOpacity\" | keyof WithTransitionProps> {}\n\nconst TreeGroup = withContext<\"ul\", TreeGroupProps>((props) => {\n return <Collapse as=\"ul\" {...cast<CollapseProps>(props)} />\n}, \"group\")()\n\ninterface TreeIndicatorProps extends HTMLStyledProps<\"svg\"> {}\n\nconst TreeIndicator = withContext<\"svg\", TreeIndicatorProps>(\n ({ children = <ChevronRightIcon />, ...rest }) => {\n const { indicatorHidden } = useComponentContext()\n\n if (indicatorHidden) return null\n\n if (isValidElement<HTMLProps<\"svg\">>(children))\n return cloneElement(children, { ...rest, ...children.props })\n\n return Children.count(children) > 1 ? Children.only(null) : null\n },\n \"indicator\",\n)()\n\ninterface TreeCheckboxProps extends CheckboxProps {}\n\nconst TreeCheckbox = withContext<\"input\", TreeCheckboxProps>(\n Checkbox,\n \"checkbox\",\n)()\n\ninterface TreeStartElementProps extends HTMLStyledProps {}\n\nconst TreeStartElement = withContext<\"div\", TreeStartElementProps>(\"div\", {\n name: \"TreeStartElement\",\n slot: [\"element\", \"start\"],\n})()\n\ninterface TreeEndElementProps extends HTMLStyledProps {}\n\nconst TreeEndElement = withContext<\"div\", TreeEndElementProps>(\"div\", {\n name: \"TreeEndElement\",\n slot: [\"element\", \"end\"],\n})()\n\ninterface TreeLabelProps extends HTMLStyledProps<\"span\"> {}\n\nconst TreeLabel = withContext<\"span\", TreeLabelProps>(\"span\", \"label\")()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqEA,MAAM,qBAAqB,UAAuB;AAChD,QAAO,OAAO,KAAK,OAAO,UAAU;EAClC,MAAM,MAAM,MAAM,0DAAmB,MAAM,MAAM,GAAG,MAAM,QAAQ;AAElE,MAAI,cAAc,OAAO;GACvB,MAAM,EAAE,UAAU,GAAG,SAAS;AAE9B,UACE,2CAAC;IAAmB,GAAI;cACrB,kBAAkB,SAAS;MADf,IAEJ;QAGb,QAAO,2CAAC,YAAmB,GAAI,SAAT,IAAkB;GAE1C;;AAGJ,MAAM,0BACJ,MACA,QACA,SAC2C;AAC3C,qDAAa,OAAO,KAAK,WAAW,UAAU,UAAU,QACtD,QAAO,OAAO;UACL,OACT,QAAO;0DACW,KAAK,KAAK,WAAW,QAAQ,UAAU,MACzD,QAAO,KAAK;KAEZ,QAAO;;AA2DX,MAAM,EACJ,kBACA,cAAc,kBACd,qBACA,iBAAiB,qBACjB,aACA,iBACEA,6CACF,QACAC,6BACD;;;;;;AASD,MAAa,WAAW,cACa,EACjC,MACA,UACA,UACA,YACA,WACA,iBACA,OACA,eACA,cACA,eACA,iBACA,YACA,gBACA,WACA,YACA,mBACA,cACA,GAAG,WAC0B;CAC7B,MAAM,4CAAiC;AACrC,MAAI,SAAU,QAAO;AAErB,SAAO,kBAAkB,MAAM;IAC9B,CAAC,UAAU,MAAM,CAAC;CACrB,MAAM,EACJ,kBACA,WACA,cACA,aACA,eACA,UACA,eACA,cACA,oBACA,iBACA,eACA,aACA,kBACA,UACA,qBACEC,yBAAQ;EAAE,GAAG;EAAM,UAAU;EAAkB,CAAC;AAsEpD,QACE,2CAACC;EAAuB,OAAO;YAC7B,2CAACC;GAAY,iCAtER;IACL;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD,GACD;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD,CACF;aAyCK,2CAAC;IAAiB,iCAvCf;KACL;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD,GACD;KACE;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD,CACF;cAMO,2CAACC,uBAAO,MAAG,GAAI,cAAc,GAAI;KAChB;IACP;GACS;GAG7B,QACA,EAAE,eAAe,CAAC,OAAO,EAAE,CAC5B,EAAE;AAwEH,MAAa,WAAW,aACrB,EACC,UAAU,cACV,eAAe,mBACf,YACA,WAAW,eACX,OACA,eACA,cACA,OAAO,4DAAqB,MAAM,GAAG,QAAQ,QAC7C,eACA,iBACA,YACA,gBACA,YACA,mBACA,cACA,GAAG,WACC;CACJ,MAAM,EAAE,cAAcC,iCAAgB;CACtC,MAAM,mBAAmB,qBAAqB;CAC9C,MAAM,UAAUC,kDACd,iBAAiB,iBAAiB,iBAAiB,OACpD;CACD,MAAM,WAAW,gBAAgB,iBAAiB;CAClD,MAAM,YAAY,iBAAiB,iBAAiB;CACpD,MAAM,oBAAoB,uBACxB,SACA,cACA,iBAAiB,aAClB;CACD,MAAM,kBAAkB,uBACtB,SACA,YACA,iBAAiB,WAClB;CACD,MAAM,mBAAmB,uBACvB,QACA,cACA,iBAAiB,aAClB;CACD,MAAM,iBAAiB,uBACrB,QACA,YACA,iBAAiB,WAClB;CACD,MAAM,uCAA4B,YAAY;AAG5C,SAAO,kBAFO,MAAM,qBAAqB,CAEV;IAC9B,CAAC,kBAAkB,CAAC;CACvB,MAAM,EACJ,YACA,UACA,UACA,OACA,cACA,WACA,OACA,OACA,kBACA,mBACA,eACA,mBACA,cACA,eACA,iBACA,cACA,aACA,kBACEC,6BAAY;EACd,GAAG,iBAAiB;EACpB,GAAG;EACH,eAAe,oBAAoB,gBAAgB;EACnD,OAAO;EACR,CAAC;CACF,MAAM,QAAQ;EAAE;EAAU,UAAU;EAAW;CAC/C,MAAM,oCACG;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CACD,MAAM,qCAA0B,EAAE,WAAW,MAAM,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC;AAE1E,QACE,2CAACC;EAAgB,OAAO;YACrB,QACC,4CAACJ,uBAAO;GAAG,GAAI;GAAU,GAAI,mBAAmB;cAC9C,4CAAC;IACC,GAAI,gBAAgB;KAClB,GAAG,iBAAiB;KACpB,GAAG;KACJ,CAAC;;KAEF,2CAAC;MACC,GAAI,kBAAkB;OACpB,iEAA0B,SAAS;OACnC,GAAG,iBAAiB;OACpB,GAAG;OACJ,CAAC;gBAED,eAAe,2CAAC,YAAU,kDAAW,WAAW,MAAM;OACzC;KACf,YACC,2CAAC;MACC,MAAM,iBAAiB;MACvB,GAAI,iBAAiB;OACnB,GAAG,iBAAiB;OACpB,GAAG;OACJ,CAAC;OACF,GACA;KACH,oBACC,2CAAC;MACC,GAAI,iBAAiB;MACrB,GAAI;+DAEK,mBAAmB,MAAM;OACjB,GACjB;KACH,QACC,2CAAC;MACC,GAAI,cAAc;OAChB,GAAG,iBAAiB;OACpB,GAAG;OACJ,CAAC;gBAED;OACS,GACV;KACH,kBACC,2CAAC;MACC,GAAI,iBAAiB;MACrB,GAAI;+DAEK,iBAAiB,MAAM;OACjB,GACf;;KACQ,EAEd,2CAAC;IACC,UAAU,CAAC,WAAW,IAAI;IAC1B,MAAM;IACN,GAAI,cAAc;KAChB,GAAG,iBAAiB;KACpB,GAAG;KACJ,CAAC;IAED;KACS;IACF,GAEZ,4CAACA,uBAAO;GAAG,GAAI;GAAU,GAAI,cAAc;;IACzC,2CAAC,iBACC,GAAI,kBAAkB;KACpB,eAAe;KACf,GAAG,iBAAiB;KACpB,GAAG;KACJ,CAAC,GACF;IACD,YACC,2CAAC;KACC,MAAM,iBAAiB;KACvB,GAAI,iBAAiB;MACnB,GAAG,iBAAiB;MACpB,GAAG;MACJ,CAAC;MACF,GACA;IACH,mBACC,2CAAC;KACC,GAAI,iBAAiB;KACrB,GAAI;8DAEK,kBAAkB,MAAM;MAChB,GACjB;IACH,QACC,2CAAC;KACC,GAAI,cAAc;MAChB,GAAG,iBAAiB;MACpB,GAAG;MACJ,CAAC;eAED;MACS,GACV;IACH,iBACC,2CAAC;KACC,GAAI,iBAAiB;KACrB,GAAI;8DAEK,gBAAgB,MAAM;MAChB,GACf;;IACM;GAEE;GAGtB,OACD,EAAE;AAIH,MAAM,cAAc,YAAqC,OAAO,UAAU,EAAE;AAO5E,MAAM,YAAY,aAAmC,UAAU;AAC7D,QAAO,2CAACK;EAAS,IAAG;EAAK,+CAAwB,MAAM;GAAI;GAC1D,QAAQ,EAAE;AAIb,MAAM,gBAAgB,aACnB,EAAE,WAAW,2CAACC,gDAAmB,EAAE,GAAG,WAAW;CAChD,MAAM,EAAE,oBAAoB,qBAAqB;AAEjD,KAAI,gBAAiB,QAAO;AAE5B,+BAAqC,SAAS,CAC5C,gCAAoB,UAAU;EAAE,GAAG;EAAM,GAAG,SAAS;EAAO,CAAC;AAE/D,QAAOC,eAAS,MAAM,SAAS,GAAG,IAAIA,eAAS,KAAK,KAAK,GAAG;GAE9D,YACD,EAAE;AAIH,MAAM,eAAe,YACnBC,2BACA,WACD,EAAE;AAIH,MAAM,mBAAmB,YAA0C,OAAO;CACxE,MAAM;CACN,MAAM,CAAC,WAAW,QAAQ;CAC3B,CAAC,EAAE;AAIJ,MAAM,iBAAiB,YAAwC,OAAO;CACpE,MAAM;CACN,MAAM,CAAC,WAAW,MAAM;CACzB,CAAC,EAAE;AAIJ,MAAM,YAAY,YAAoC,QAAQ,QAAQ,EAAE"}
@@ -0,0 +1,26 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_use_tree = require('./use-tree.cjs');
3
+ const require_tree = require('./tree.cjs');
4
+
5
+ //#region src/components/tree/tree.namespace.ts
6
+ var tree_namespace_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
7
+ Context: () => require_use_tree.TreeContext,
8
+ DescendantsContext: () => require_use_tree.TreeDescendantsContext,
9
+ Item: () => require_tree.TreeItem,
10
+ PropsContext: () => require_tree.TreePropsContext,
11
+ Root: () => require_tree.TreeRoot,
12
+ useContext: () => require_use_tree.useTreeContext,
13
+ useDescendant: () => require_use_tree.useTreeDescendant,
14
+ useDescendants: () => require_use_tree.useTreeDescendants,
15
+ useItemContext: () => require_use_tree.useTreeItemContext,
16
+ usePropsContext: () => require_tree.useTreePropsContext
17
+ });
18
+
19
+ //#endregion
20
+ Object.defineProperty(exports, 'tree_namespace_exports', {
21
+ enumerable: true,
22
+ get: function () {
23
+ return tree_namespace_exports;
24
+ }
25
+ });
26
+ //# sourceMappingURL=tree.namespace.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.namespace.cjs","names":[],"sources":["../../../../src/components/tree/tree.namespace.ts"],"sourcesContent":["export {\n TreeItem as Item,\n TreePropsContext as PropsContext,\n TreeRoot as Root,\n useTreePropsContext as usePropsContext,\n} from \"./tree\"\nexport type {\n TreeItemProps as ItemProps,\n TreeItem as ItemType,\n TreeRootProps as RootProps,\n} from \"./tree\"\nexport {\n TreeContext as Context,\n TreeDescendantsContext as DescendantsContext,\n useTreeContext as useContext,\n useTreeDescendant as useDescendant,\n useTreeDescendants as useDescendants,\n useTreeItemContext as useItemContext,\n} from \"./use-tree\"\nexport type { TreeControl as Control } from \"./use-tree\"\n"],"mappings":""}
@@ -0,0 +1,181 @@
1
+ const require_config = require('../../core/system/config.cjs');
2
+ require('../../core/index.cjs');
3
+ const require_checkbox_style = require('../checkbox/checkbox.style.cjs');
4
+ require('../checkbox/index.cjs');
5
+
6
+ //#region src/components/tree/tree.style.ts
7
+ const treeStyle = require_config.defineComponentSlotStyle({
8
+ base: {
9
+ checkbox: { "--indicator-bg": "colors.bg" },
10
+ element: {
11
+ color: "{element-color}",
12
+ display: "inline-center",
13
+ gap: "{space}"
14
+ },
15
+ end: {},
16
+ group: {
17
+ alignItems: "stretch",
18
+ display: "flex",
19
+ flexDirection: "column"
20
+ },
21
+ indicator: {
22
+ color: "{element-color}",
23
+ transformOrigin: "center",
24
+ _animated: {
25
+ transitionDuration: "moderate",
26
+ transitionProperty: "transform"
27
+ },
28
+ _expanded: { transform: "rotate(90deg)" },
29
+ _hidden: { opacity: "0" }
30
+ },
31
+ item: {
32
+ "--element-color": "colors.fg.subtle",
33
+ "--space": "spaces.1",
34
+ "--space-start": "calc({depth-space} * ({level} - 1))",
35
+ alignItems: "center",
36
+ display: "flex",
37
+ _hasGroup: {
38
+ alignItems: "stretch",
39
+ flexDirection: "column"
40
+ },
41
+ _notHasGroup: {
42
+ border: "1px solid transparent",
43
+ cursor: "pointer",
44
+ focusVisibleRing: "inside",
45
+ gap: "{gap}",
46
+ pe: "{space}",
47
+ ps: "calc({space-start} + {space})",
48
+ rounded: "{rounded}",
49
+ userSelect: "none",
50
+ _hover: { bg: "bg.subtle" },
51
+ _focusVisible: { bg: "bg.subtle" },
52
+ _disabled: { layerStyle: "disabled" }
53
+ }
54
+ },
55
+ label: {
56
+ flex: "1",
57
+ textAlign: "left",
58
+ truncated: true
59
+ },
60
+ root: {
61
+ alignItems: "stretch",
62
+ display: "flex",
63
+ flexDirection: "column"
64
+ },
65
+ start: {},
66
+ trigger: {
67
+ alignItems: "center",
68
+ border: "1px solid transparent",
69
+ cursor: "pointer",
70
+ display: "flex",
71
+ focusVisibleRing: "inside",
72
+ gap: "{gap}",
73
+ pe: "{space}",
74
+ ps: "calc({space-start} + {space})",
75
+ rounded: "{rounded}",
76
+ userSelect: "none",
77
+ _hover: { bg: "bg.subtle" },
78
+ _focusVisible: { bg: "bg.subtle" },
79
+ _disabled: { layerStyle: "disabled" }
80
+ }
81
+ },
82
+ props: {
83
+ shape: {
84
+ circle: { item: { "--rounded": "radii.full" } },
85
+ rounded: { item: { "--rounded": "radii.l1" } },
86
+ square: { item: { "--rounded": "0" } }
87
+ },
88
+ withGuideLine: { true: {
89
+ group: {
90
+ position: "relative",
91
+ _before: {
92
+ bg: "border",
93
+ display: "block",
94
+ h: "full",
95
+ left: "calc({space-guide-line} + {depth-space})",
96
+ position: "absolute",
97
+ transform: "translateX(-50%)",
98
+ w: "px",
99
+ zIndex: "yamcha"
100
+ }
101
+ },
102
+ item: {
103
+ "--space-guide-line": "calc(({space-start} * 2) + {space})",
104
+ ps: "{space-guide-line}",
105
+ _hasGroup: { ps: "0" }
106
+ },
107
+ trigger: { ps: "{space-guide-line}" }
108
+ } }
109
+ },
110
+ variants: {
111
+ solid: {
112
+ checkbox: {
113
+ ...require_checkbox_style.checkboxStyle.variants?.solid.root,
114
+ _indicator: require_checkbox_style.checkboxStyle.variants?.solid.indicator,
115
+ _selected: {
116
+ _checked: { "--indicator-border-color": "colorScheme.contrast" },
117
+ _indicator: {
118
+ color: "colorScheme.solid",
119
+ _checked: { bg: "colorScheme.contrast" },
120
+ _indeterminate: { bg: "colorScheme.contrast" }
121
+ }
122
+ }
123
+ },
124
+ item: { _notHasGroup: { _selected: {
125
+ layerStyle: "solid",
126
+ "--element-color": "colorScheme.contrast"
127
+ } } },
128
+ trigger: { _selected: {
129
+ layerStyle: "solid",
130
+ "--element-color": "colorScheme.contrast"
131
+ } }
132
+ },
133
+ subtle: {
134
+ checkbox: {
135
+ ...require_checkbox_style.checkboxStyle.variants?.solid.root,
136
+ _indicator: require_checkbox_style.checkboxStyle.variants?.solid.indicator
137
+ },
138
+ item: { _notHasGroup: { _selected: {
139
+ layerStyle: "subtle",
140
+ "--element-color": "colorScheme.fg"
141
+ } } },
142
+ trigger: { _selected: {
143
+ layerStyle: "subtle",
144
+ "--element-color": "colorScheme.fg"
145
+ } }
146
+ }
147
+ },
148
+ sizes: {
149
+ sm: {
150
+ item: {
151
+ "--depth-space": "spaces.1.5",
152
+ "--gap": "spaces.1.5"
153
+ },
154
+ root: { fontSize: "sm" }
155
+ },
156
+ md: {
157
+ item: {
158
+ "--depth-space": "spaces.2",
159
+ "--gap": "spaces.2"
160
+ },
161
+ root: { fontSize: "md" }
162
+ },
163
+ lg: {
164
+ item: {
165
+ "--depth-space": "spaces.2",
166
+ "--gap": "spaces.2"
167
+ },
168
+ root: { fontSize: "lg" }
169
+ }
170
+ },
171
+ defaultProps: {
172
+ size: "md",
173
+ variant: "subtle",
174
+ shape: "rounded",
175
+ withGuideLine: false
176
+ }
177
+ });
178
+
179
+ //#endregion
180
+ exports.treeStyle = treeStyle;
181
+ //# sourceMappingURL=tree.style.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.style.cjs","names":["defineComponentSlotStyle","checkboxStyle"],"sources":["../../../../src/components/tree/tree.style.ts"],"sourcesContent":["import { defineComponentSlotStyle } from \"../../core\"\nimport { checkboxStyle } from \"../checkbox\"\n\nexport const treeStyle = defineComponentSlotStyle({\n base: {\n checkbox: { \"--indicator-bg\": \"colors.bg\" },\n element: {\n color: \"{element-color}\",\n display: \"inline-center\",\n gap: \"{space}\",\n },\n end: {},\n group: { alignItems: \"stretch\", display: \"flex\", flexDirection: \"column\" },\n indicator: {\n color: \"{element-color}\",\n transformOrigin: \"center\",\n _animated: {\n transitionDuration: \"moderate\",\n transitionProperty: \"transform\",\n },\n _expanded: { transform: \"rotate(90deg)\" },\n _hidden: { opacity: \"0\" },\n },\n item: {\n \"--element-color\": \"colors.fg.subtle\",\n \"--space\": \"spaces.1\",\n \"--space-start\": \"calc({depth-space} * ({level} - 1))\",\n alignItems: \"center\",\n display: \"flex\",\n _hasGroup: {\n alignItems: \"stretch\",\n flexDirection: \"column\",\n },\n _notHasGroup: {\n border: \"1px solid transparent\",\n cursor: \"pointer\",\n focusVisibleRing: \"inside\",\n gap: \"{gap}\",\n pe: \"{space}\",\n ps: \"calc({space-start} + {space})\",\n rounded: \"{rounded}\",\n userSelect: \"none\",\n _hover: { bg: \"bg.subtle\" },\n _focusVisible: { bg: \"bg.subtle\" },\n _disabled: { layerStyle: \"disabled\" },\n },\n },\n label: { flex: \"1\", textAlign: \"left\", truncated: true },\n root: {\n alignItems: \"stretch\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n start: {},\n trigger: {\n alignItems: \"center\",\n border: \"1px solid transparent\",\n cursor: \"pointer\",\n display: \"flex\",\n focusVisibleRing: \"inside\",\n gap: \"{gap}\",\n pe: \"{space}\",\n ps: \"calc({space-start} + {space})\",\n rounded: \"{rounded}\",\n userSelect: \"none\",\n _hover: { bg: \"bg.subtle\" },\n _focusVisible: { bg: \"bg.subtle\" },\n _disabled: { layerStyle: \"disabled\" },\n },\n },\n\n props: {\n /**\n * The shape of the component\n *\n * @default 'rounded'\n */\n shape: {\n circle: {\n item: { \"--rounded\": \"radii.full\" },\n },\n rounded: {\n item: { \"--rounded\": \"radii.l1\" },\n },\n square: {\n item: { \"--rounded\": \"0\" },\n },\n },\n /**\n * If `true`, display guide lines.\n *\n * @default false\n */\n withGuideLine: {\n true: {\n group: {\n position: \"relative\",\n _before: {\n bg: \"border\",\n display: \"block\",\n h: \"full\",\n left: \"calc({space-guide-line} + {depth-space})\",\n position: \"absolute\",\n transform: \"translateX(-50%)\",\n w: \"px\",\n zIndex: \"yamcha\",\n },\n },\n item: {\n \"--space-guide-line\": \"calc(({space-start} * 2) + {space})\",\n ps: \"{space-guide-line}\",\n _hasGroup: { ps: \"0\" },\n },\n trigger: { ps: \"{space-guide-line}\" },\n },\n },\n },\n\n variants: {\n solid: {\n checkbox: {\n ...checkboxStyle.variants?.solid.root,\n _indicator: checkboxStyle.variants?.solid.indicator,\n _selected: {\n _checked: { \"--indicator-border-color\": \"colorScheme.contrast\" },\n _indicator: {\n color: \"colorScheme.solid\",\n _checked: { bg: \"colorScheme.contrast\" },\n _indeterminate: { bg: \"colorScheme.contrast\" },\n },\n },\n },\n item: {\n _notHasGroup: {\n _selected: {\n layerStyle: \"solid\",\n \"--element-color\": \"colorScheme.contrast\",\n },\n },\n },\n trigger: {\n _selected: {\n layerStyle: \"solid\",\n \"--element-color\": \"colorScheme.contrast\",\n },\n },\n },\n subtle: {\n checkbox: {\n ...checkboxStyle.variants?.solid.root,\n _indicator: checkboxStyle.variants?.solid.indicator,\n },\n item: {\n _notHasGroup: {\n _selected: {\n layerStyle: \"subtle\",\n \"--element-color\": \"colorScheme.fg\",\n },\n },\n },\n trigger: {\n _selected: {\n layerStyle: \"subtle\",\n \"--element-color\": \"colorScheme.fg\",\n },\n },\n },\n },\n\n sizes: {\n sm: {\n item: { \"--depth-space\": \"spaces.1.5\", \"--gap\": \"spaces.1.5\" },\n root: { fontSize: \"sm\" },\n },\n md: {\n item: { \"--depth-space\": \"spaces.2\", \"--gap\": \"spaces.2\" },\n root: { fontSize: \"md\" },\n },\n lg: {\n item: { \"--depth-space\": \"spaces.2\", \"--gap\": \"spaces.2\" },\n root: { fontSize: \"lg\" },\n },\n },\n\n defaultProps: {\n size: \"md\",\n variant: \"subtle\",\n shape: \"rounded\",\n withGuideLine: false,\n },\n})\n\nexport type TreeStyle = typeof treeStyle\n"],"mappings":";;;;;;AAGA,MAAa,YAAYA,wCAAyB;CAChD,MAAM;EACJ,UAAU,EAAE,kBAAkB,aAAa;EAC3C,SAAS;GACP,OAAO;GACP,SAAS;GACT,KAAK;GACN;EACD,KAAK,EAAE;EACP,OAAO;GAAE,YAAY;GAAW,SAAS;GAAQ,eAAe;GAAU;EAC1E,WAAW;GACT,OAAO;GACP,iBAAiB;GACjB,WAAW;IACT,oBAAoB;IACpB,oBAAoB;IACrB;GACD,WAAW,EAAE,WAAW,iBAAiB;GACzC,SAAS,EAAE,SAAS,KAAK;GAC1B;EACD,MAAM;GACJ,mBAAmB;GACnB,WAAW;GACX,iBAAiB;GACjB,YAAY;GACZ,SAAS;GACT,WAAW;IACT,YAAY;IACZ,eAAe;IAChB;GACD,cAAc;IACZ,QAAQ;IACR,QAAQ;IACR,kBAAkB;IAClB,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,YAAY;IACZ,QAAQ,EAAE,IAAI,aAAa;IAC3B,eAAe,EAAE,IAAI,aAAa;IAClC,WAAW,EAAE,YAAY,YAAY;IACtC;GACF;EACD,OAAO;GAAE,MAAM;GAAK,WAAW;GAAQ,WAAW;GAAM;EACxD,MAAM;GACJ,YAAY;GACZ,SAAS;GACT,eAAe;GAChB;EACD,OAAO,EAAE;EACT,SAAS;GACP,YAAY;GACZ,QAAQ;GACR,QAAQ;GACR,SAAS;GACT,kBAAkB;GAClB,KAAK;GACL,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,YAAY;GACZ,QAAQ,EAAE,IAAI,aAAa;GAC3B,eAAe,EAAE,IAAI,aAAa;GAClC,WAAW,EAAE,YAAY,YAAY;GACtC;EACF;CAED,OAAO;EAML,OAAO;GACL,QAAQ,EACN,MAAM,EAAE,aAAa,cAAc,EACpC;GACD,SAAS,EACP,MAAM,EAAE,aAAa,YAAY,EAClC;GACD,QAAQ,EACN,MAAM,EAAE,aAAa,KAAK,EAC3B;GACF;EAMD,eAAe,EACb,MAAM;GACJ,OAAO;IACL,UAAU;IACV,SAAS;KACP,IAAI;KACJ,SAAS;KACT,GAAG;KACH,MAAM;KACN,UAAU;KACV,WAAW;KACX,GAAG;KACH,QAAQ;KACT;IACF;GACD,MAAM;IACJ,sBAAsB;IACtB,IAAI;IACJ,WAAW,EAAE,IAAI,KAAK;IACvB;GACD,SAAS,EAAE,IAAI,sBAAsB;GACtC,EACF;EACF;CAED,UAAU;EACR,OAAO;GACL,UAAU;IACR,GAAGC,qCAAc,UAAU,MAAM;IACjC,YAAYA,qCAAc,UAAU,MAAM;IAC1C,WAAW;KACT,UAAU,EAAE,4BAA4B,wBAAwB;KAChE,YAAY;MACV,OAAO;MACP,UAAU,EAAE,IAAI,wBAAwB;MACxC,gBAAgB,EAAE,IAAI,wBAAwB;MAC/C;KACF;IACF;GACD,MAAM,EACJ,cAAc,EACZ,WAAW;IACT,YAAY;IACZ,mBAAmB;IACpB,EACF,EACF;GACD,SAAS,EACP,WAAW;IACT,YAAY;IACZ,mBAAmB;IACpB,EACF;GACF;EACD,QAAQ;GACN,UAAU;IACR,GAAGA,qCAAc,UAAU,MAAM;IACjC,YAAYA,qCAAc,UAAU,MAAM;IAC3C;GACD,MAAM,EACJ,cAAc,EACZ,WAAW;IACT,YAAY;IACZ,mBAAmB;IACpB,EACF,EACF;GACD,SAAS,EACP,WAAW;IACT,YAAY;IACZ,mBAAmB;IACpB,EACF;GACF;EACF;CAED,OAAO;EACL,IAAI;GACF,MAAM;IAAE,iBAAiB;IAAc,SAAS;IAAc;GAC9D,MAAM,EAAE,UAAU,MAAM;GACzB;EACD,IAAI;GACF,MAAM;IAAE,iBAAiB;IAAY,SAAS;IAAY;GAC1D,MAAM,EAAE,UAAU,MAAM;GACzB;EACD,IAAI;GACF,MAAM;IAAE,iBAAiB;IAAY,SAAS;IAAY;GAC1D,MAAM,EAAE,UAAU,MAAM;GACzB;EACF;CAED,cAAc;EACZ,MAAM;EACN,SAAS;EACT,OAAO;EACP,eAAe;EAChB;CACF,CAAC"}