@astryx-vue/core 0.1.1 → 0.1.3

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 (223) hide show
  1. package/dist/AppShell/index.d.ts +2 -0
  2. package/dist/AppShell/index.js +2 -0
  3. package/dist/AppShell-b0PWt9Fz.js +249 -0
  4. package/dist/AspectRatio/index.d.ts +2 -0
  5. package/dist/AspectRatio/index.js +2 -0
  6. package/dist/AspectRatio-Bij7e-tq.js +40 -0
  7. package/dist/AvatarGroup/index.d.ts +1 -1
  8. package/dist/Banner/index.d.ts +1 -1
  9. package/dist/BottomSheet/index.d.ts +1 -1
  10. package/dist/ButtonGroup/index.d.ts +1 -1
  11. package/dist/Calendar/index.js +1 -1
  12. package/dist/{Calendar-BEyrkUtr.js → Calendar-CYhGDT6f.js} +1 -1
  13. package/dist/Chat/index.js +1 -1
  14. package/dist/{Chat-CO3mCs9A.js → Chat-C1aWl5V3.js} +1 -1
  15. package/dist/CheckboxInput/index.d.ts +1 -1
  16. package/dist/CheckboxInput/index.js +1 -1
  17. package/dist/{CheckboxInput-C86o3XoG.js → CheckboxInput-CMsEE1_4.js} +4 -2
  18. package/dist/CheckboxList/index.d.ts +1 -1
  19. package/dist/CheckboxList/index.js +1 -1
  20. package/dist/{CheckboxList-BL2sDOWK.js → CheckboxList-EsIEXjK_.js} +2 -2
  21. package/dist/Citation/index.js +1 -1
  22. package/dist/{Citation-BqwJvw7o.js → Citation-C1X0Rde8.js} +1 -1
  23. package/dist/ClickableCard/index.d.ts +2 -0
  24. package/dist/ClickableCard/index.js +2 -0
  25. package/dist/ClickableCard-Bhds4RRe.js +112 -0
  26. package/dist/Collapsible/index.d.ts +2 -2
  27. package/dist/Collapsible/index.js +2 -2
  28. package/dist/Collapsible-BS9ctCQV.js +192 -0
  29. package/dist/CommandPalette/index.d.ts +2 -0
  30. package/dist/CommandPalette/index.js +2 -0
  31. package/dist/CommandPalette-u5h_E05P.js +489 -0
  32. package/dist/ComplexSelector/index.d.ts +2 -0
  33. package/dist/ComplexSelector/index.js +2 -0
  34. package/dist/ComplexSelector-BHmGWml0.js +293 -0
  35. package/dist/ContextMenu/index.d.ts +1 -1
  36. package/dist/DateInput/index.d.ts +1 -1
  37. package/dist/DateInput/index.js +1 -1
  38. package/dist/{DateInput-BOIb0zAp.js → DateInput-D2ErjXYO.js} +2 -2
  39. package/dist/DateRangeInput/index.d.ts +1 -1
  40. package/dist/DateRangeInput/index.js +1 -1
  41. package/dist/{DateRangeInput-DLcbgUBi.js → DateRangeInput-fmQlr_A7.js} +3 -3
  42. package/dist/DateTimeInput/index.d.ts +1 -1
  43. package/dist/DateTimeInput/index.js +1 -1
  44. package/dist/{DateTimeInput-RitYX_Yx.js → DateTimeInput-Bs1JmcIp.js} +4 -4
  45. package/dist/Field/index.js +2 -2
  46. package/dist/{Field-VlTBsIEo.js → Field-8zRxzDHE.js} +11 -3
  47. package/dist/{FieldLabel-B1NRyQlS.js → FieldLabel-DmmJyX7w.js} +6 -1
  48. package/dist/FileInput/index.d.ts +1 -1
  49. package/dist/FileInput/index.js +1 -1
  50. package/dist/{FileInput-CYvEV503.js → FileInput-CmAfOpkA.js} +2 -2
  51. package/dist/FormLayout/index.d.ts +2 -0
  52. package/dist/FormLayout/index.js +2 -0
  53. package/dist/FormLayout-D47FjiOq.js +40 -0
  54. package/dist/HoverCard/index.d.ts +1 -1
  55. package/dist/Layout/index.d.ts +2 -0
  56. package/dist/Layout/index.js +3 -0
  57. package/dist/Layout-Bed3kP0M.js +56 -0
  58. package/dist/LayoutPanel-C34uOq3e.js +358 -0
  59. package/dist/List/index.d.ts +1 -1
  60. package/dist/Markdown/index.d.ts +1 -1
  61. package/dist/Markdown/index.js +1 -1
  62. package/dist/{Markdown-Dnlp8cVx.js → Markdown-CwtLr3f_.js} +1 -1
  63. package/dist/MetadataList/index.js +1 -1
  64. package/dist/{MetadataList-DIsqS1Qb.js → MetadataList-DlXQTLog.js} +1 -1
  65. package/dist/MobileNav/index.d.ts +1 -1
  66. package/dist/MobileNav/index.js +1 -1
  67. package/dist/{MobileNavToggle-aUZiDwHm.js → MobileNavToggle-CgQamG6E.js} +19 -12
  68. package/dist/MoreMenu/index.d.ts +1 -1
  69. package/dist/MultiSelector/index.d.ts +1 -1
  70. package/dist/MultiSelector/index.js +1 -1
  71. package/dist/{MultiSelector-Bh8or2S6.js → MultiSelector-DT8ZccMI.js} +3 -3
  72. package/dist/NavItem/index.d.ts +1 -1
  73. package/dist/NavMenu/index.d.ts +1 -1
  74. package/dist/NumberInput/index.d.ts +1 -1
  75. package/dist/NumberInput/index.js +1 -1
  76. package/dist/{NumberInput-C3S-4dIu.js → NumberInput-DspJO6z6.js} +1 -1
  77. package/dist/OverflowList/index.d.ts +1 -1
  78. package/dist/OverflowList/index.js +1 -1
  79. package/dist/{OverflowList-Kr4iJrNV.js → OverflowList-zXg3g6fy.js} +1 -1
  80. package/dist/Overlay/index.d.ts +1 -1
  81. package/dist/Pagination/index.js +1 -1
  82. package/dist/{Pagination-BRStpeSB.js → Pagination-DXfgMUKJ.js} +2 -2
  83. package/dist/Popover/index.d.ts +2 -1
  84. package/dist/Radio/index.d.ts +1 -1
  85. package/dist/Radio/index.js +1 -1
  86. package/dist/{RadioGroup-DS6oTV_j.js → RadioGroup-BqjdSCfJ.js} +1 -1
  87. package/dist/RadioList/index.d.ts +1 -1
  88. package/dist/RadioList/index.js +1 -1
  89. package/dist/{RadioList-pwr93I-z.js → RadioList-DI8ujXcT.js} +1 -1
  90. package/dist/Resizable/index.d.ts +2 -0
  91. package/dist/Resizable/index.js +2 -0
  92. package/dist/Resizable-BuGKvU9I.js +261 -0
  93. package/dist/ScrollableArea/index.d.ts +2 -0
  94. package/dist/ScrollableArea/index.js +2 -0
  95. package/dist/ScrollableArea-DQDYjnxO.js +78 -0
  96. package/dist/Section/index.d.ts +2 -0
  97. package/dist/Section/index.js +2 -0
  98. package/dist/Section-C48Wqfc7.js +68 -0
  99. package/dist/SelectableCard/index.d.ts +2 -0
  100. package/dist/SelectableCard/index.js +2 -0
  101. package/dist/SelectableCard-Bj5s_tIN.js +108 -0
  102. package/dist/Selector/index.d.ts +1 -1
  103. package/dist/Selector/index.js +1 -1
  104. package/dist/{Selector-DvEUIVEC.js → Selector-DlZpQh42.js} +1 -1
  105. package/dist/SideNav/index.d.ts +1 -1
  106. package/dist/SideNav/index.js +2 -1
  107. package/dist/{SideNav-B7LX4RcP.js → SideNav-Cdrigq2A.js} +48 -26
  108. package/dist/Slider/index.js +1 -1
  109. package/dist/{Slider-DTnWxtnb.js → Slider-D8h_RKcF.js} +1 -1
  110. package/dist/Stepper/index.d.ts +2 -0
  111. package/dist/Stepper/index.js +2 -0
  112. package/dist/Stepper-DxmLfh8O.js +423 -0
  113. package/dist/Switch/index.d.ts +1 -1
  114. package/dist/Switch/index.js +1 -1
  115. package/dist/{Switch-CNdnr5TP.js → Switch-SesQzPGZ.js} +4 -2
  116. package/dist/TabList/index.d.ts +2 -2
  117. package/dist/TabList/index.js +2 -2
  118. package/dist/TabList-C411uNQU.js +380 -0
  119. package/dist/Table/index.d.ts +2 -1
  120. package/dist/Table/index.js +1 -1
  121. package/dist/{Table-D5zWaITo.js → Table-7qRmlIQd.js} +5 -5
  122. package/dist/TextArea/index.d.ts +1 -1
  123. package/dist/TextArea/index.js +1 -1
  124. package/dist/{TextArea-BL0NuB99.js → TextArea-Cv9UVbzS.js} +5 -3
  125. package/dist/TextInput/index.d.ts +1 -1
  126. package/dist/TextInput/index.js +1 -1
  127. package/dist/{TextInput-B0IKC7g5.js → TextInput-BasnjVvy.js} +5 -3
  128. package/dist/Thumbnail/index.js +1 -1
  129. package/dist/{Thumbnail-DMOgWncm.js → Thumbnail-BWVzLLyI.js} +1 -1
  130. package/dist/{TimeField-DeQ1ukHl.js → TimeField-l3QzU6vC.js} +1 -1
  131. package/dist/TimeInput/index.d.ts +1 -1
  132. package/dist/TimeInput/index.js +1 -1
  133. package/dist/{TimeInput-jb1nLqZk.js → TimeInput-OkgX-xbQ.js} +2 -2
  134. package/dist/Timestamp/index.d.ts +1 -1
  135. package/dist/Timestamp/index.js +1 -1
  136. package/dist/{Timestamp-DrWwVQBL.js → Timestamp-DUoP9ari.js} +1 -1
  137. package/dist/ToggleButton/index.d.ts +1 -1
  138. package/dist/Token/index.d.ts +1 -1
  139. package/dist/Token/index.js +1 -1
  140. package/dist/{Token-CV2J94bn.js → Token-C4KD0fZD.js} +1 -1
  141. package/dist/Tokenizer/index.js +1 -1
  142. package/dist/{Tokenizer-DF9r4hTW.js → Tokenizer-BA8sTMPZ.js} +3 -3
  143. package/dist/Toolbar/index.d.ts +1 -1
  144. package/dist/Tooltip/index.d.ts +1 -1
  145. package/dist/TopNav/index.d.ts +1 -1
  146. package/dist/TopNav/index.js +1 -1
  147. package/dist/{TopNav-BH_s3uap.js → TopNav-CZokS7E_.js} +57 -31
  148. package/dist/TreeList/index.js +1 -1
  149. package/dist/{TreeList-D9cR-w7r.js → TreeList-CIbAGOMf.js} +1 -1
  150. package/dist/Typeahead/index.js +1 -1
  151. package/dist/{Typeahead-s4DC1Qem.js → Typeahead-DIw-K4aa.js} +3 -3
  152. package/dist/composables/index.d.ts +3 -2
  153. package/dist/composables/index.js +5 -2
  154. package/dist/composables-CVfjp9h4.js +502 -0
  155. package/dist/context-BjNya0v8.js +19 -0
  156. package/dist/context-Cfjh8te1.js +29 -0
  157. package/dist/{context-BshXcNYX.js → context-D6ECRdc5.js} +84 -0
  158. package/dist/index-1uRMrk63.d.ts +54 -0
  159. package/dist/{index-CsJpQElv.d.ts → index-2u4l3wq8.d.ts} +1 -1
  160. package/dist/{index-BlWLperN.d.ts → index-4FM5lQdV.d.ts} +1 -1
  161. package/dist/index-Be1czg3M.d.ts +167 -0
  162. package/dist/{index-Dbmgcm8a.d.ts → index-BeR-1LgF.d.ts} +2 -0
  163. package/dist/index-BrJzFA5X.d.ts +38 -0
  164. package/dist/{index-BDZCJ9ri.d.ts → index-BuubzuE8.d.ts} +2 -2
  165. package/dist/index-By2mSzUA.d.ts +67 -0
  166. package/dist/{index-BkIgRYGz.d.ts → index-C5p2NeCr.d.ts} +2 -2
  167. package/dist/{index-AkMWQ97a.d.ts → index-C6RecznD.d.ts} +1 -1
  168. package/dist/{index-BSRk8MFK.d.ts → index-C8wDPDcP.d.ts} +1 -1
  169. package/dist/index-CDdRQQF3.d.ts +170 -0
  170. package/dist/index-COqjznX0.d.ts +47 -0
  171. package/dist/{index-g03bmR4K.d.ts → index-CT8KEpec.d.ts} +2 -2
  172. package/dist/{index-Bc0dgVM5.d.ts → index-CTolyeii.d.ts} +4 -4
  173. package/dist/index-CVn0GBdB.d.ts +115 -0
  174. package/dist/index-CX97hlld.d.ts +158 -0
  175. package/dist/index-CjtAH60j.d.ts +38 -0
  176. package/dist/{index-5R_pi3eT.d.ts → index-D-ZuubCK.d.ts} +3 -3
  177. package/dist/index-DA52oIdw.d.ts +171 -0
  178. package/dist/{index-D3V7yRUP.d.ts → index-DGNqi2za.d.ts} +1 -1
  179. package/dist/{index-CCA4R0Mf.d.ts → index-DT9S92sh.d.ts} +31 -6
  180. package/dist/{index-CR6sUmRT.d.ts → index-DXSs3rwa.d.ts} +3 -107
  181. package/dist/{index-CNcQmDrK.d.ts → index-DYChvBOM.d.ts} +42 -0
  182. package/dist/{index-CQ9F1f_F.d.ts → index-Df2YvC8o.d.ts} +297 -125
  183. package/dist/{index--dh0s8Li.d.ts → index-DfgHJE7H.d.ts} +1 -1
  184. package/dist/{index-BnNh5Iml.d.ts → index-SMh42NI8.d.ts} +99 -2
  185. package/dist/{index-12ObcW99.d.ts → index-ZJyk8RtQ.d.ts} +1 -1
  186. package/dist/{index-Q4gqBSIZ.d.ts → index-fa72tWIU.d.ts} +1 -1
  187. package/dist/{index-BhYFxnjV.d.ts → index-kaKBOZSU.d.ts} +2 -2
  188. package/dist/index-nKlTsNfV.d.ts +42 -0
  189. package/dist/index.d.ts +75 -63
  190. package/dist/index.js +108 -89
  191. package/dist/locale/index.d.ts +1 -1
  192. package/dist/locale/index.js +1 -1
  193. package/dist/size-BuTzpgnR.d.ts +14 -0
  194. package/dist/size-xcIqExkS.js +79 -0
  195. package/dist/{index-Bovw9_8d.d.ts → types-Db3Owy8Q.d.ts} +1 -36
  196. package/dist/types-JktRxujg.d.ts +107 -0
  197. package/dist/useAppShellMobile-DTsyuAJ4.js +19 -0
  198. package/dist/useClickableContainer-DyNpnSEa.js +112 -0
  199. package/dist/useResizable-CeESZS1v.d.ts +72 -0
  200. package/dist/useScrollableArea-DDk_CluT.js +172 -0
  201. package/package.json +49 -1
  202. package/styles/app-shell.css +151 -0
  203. package/styles/aspect-ratio.css +49 -0
  204. package/styles/card.css +5 -1
  205. package/styles/clickable-card.css +101 -0
  206. package/styles/collapsible.css +37 -0
  207. package/styles/command-palette.css +183 -0
  208. package/styles/complex-selector.css +114 -0
  209. package/styles/field.css +12 -0
  210. package/styles/form-layout.css +31 -0
  211. package/styles/heading.css +19 -17
  212. package/styles/layout.css +280 -0
  213. package/styles/resize-handle.css +128 -0
  214. package/styles/scrollable-area.css +50 -0
  215. package/styles/section.css +60 -0
  216. package/styles/side-nav.css +26 -0
  217. package/styles/stepper.css +357 -0
  218. package/styles/tab-menu.css +91 -0
  219. package/styles.css +12 -0
  220. package/dist/Collapsible-BYg9soTk.js +0 -102
  221. package/dist/TabList-LV1U4ZD6.js +0 -184
  222. package/dist/composables-Dq9RS33w.js +0 -111
  223. package/dist/index-TnaIHsCS.d.ts +0 -87
@@ -0,0 +1,192 @@
1
+ import { t as _sfc_main$2 } from "./Icon-5MdZQ18k.js";
2
+ import { Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, mergeModels, openBlock, provide, renderSlot, shallowRef, toDisplayString, useId, useModel, useTemplateRef, vShow, withCtx, withDirectives } from "vue";
3
+ import "../styles/collapsible.css";
4
+ //#region src/Collapsible/context.ts
5
+ const collapsibleGroupKey = Symbol("collapsibleGroup");
6
+ const collapsibleGroupPresentationKey = Symbol("collapsibleGroupPresentation");
7
+ //#endregion
8
+ //#region src/Collapsible/Collapsible.vue
9
+ const _hoisted_1$1 = ["data-density", "data-dividers"];
10
+ const _hoisted_2 = [
11
+ "data-chevron-position",
12
+ "data-open",
13
+ "data-disabled",
14
+ "aria-expanded",
15
+ "aria-disabled",
16
+ "tabindex"
17
+ ];
18
+ const _hoisted_3 = { class: "astryx-collapsible-trigger-label" };
19
+ const _hoisted_4 = ["data-open"];
20
+ const _hoisted_5 = { class: "astryx-collapsible-content-inner" };
21
+ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
22
+ name: "AstryxCollapsible",
23
+ __name: "Collapsible",
24
+ props: /*@__PURE__*/ mergeModels({
25
+ trigger: {},
26
+ defaultIsOpen: {
27
+ type: Boolean,
28
+ default: true
29
+ },
30
+ isDisabled: {
31
+ type: Boolean,
32
+ default: false
33
+ },
34
+ chevronPosition: {},
35
+ value: {}
36
+ }, {
37
+ "isOpen": {
38
+ type: Boolean,
39
+ default: void 0
40
+ },
41
+ "isOpenModifiers": {}
42
+ }),
43
+ emits: /*@__PURE__*/ mergeModels(["openChange"], ["update:isOpen"]),
44
+ setup(__props, { expose: __expose, emit: __emit }) {
45
+ const props = __props;
46
+ const emit = __emit;
47
+ const open = useModel(__props, "isOpen");
48
+ const localIsOpen = shallowRef(props.defaultIsOpen);
49
+ const group = inject(collapsibleGroupKey, null);
50
+ const presentation = inject(collapsibleGroupPresentationKey, null);
51
+ const isGrouped = computed(() => group != null && props.value != null && props.value !== "");
52
+ const isOpen = computed(() => {
53
+ if (isGrouped.value && group != null && props.value != null) return group.isOpen(props.value);
54
+ return open.value ?? localIsOpen.value;
55
+ });
56
+ const density = computed(() => presentation?.density.value ?? null);
57
+ const hasDividers = computed(() => presentation?.hasDividers.value ?? false);
58
+ const chevronPosition = computed(() => props.chevronPosition ?? presentation?.chevronPosition.value ?? "end");
59
+ const isChevronAtStart = computed(() => chevronPosition.value === "start");
60
+ const contentId = `astryx-collapsible-${useId()}`;
61
+ const root = useTemplateRef("root");
62
+ __expose({ element: computed(() => root.value ?? null) });
63
+ function toggle() {
64
+ if (props.isDisabled) return;
65
+ if (isGrouped.value && group != null && props.value != null) {
66
+ group.toggle(props.value);
67
+ return;
68
+ }
69
+ const next = !isOpen.value;
70
+ localIsOpen.value = next;
71
+ open.value = next;
72
+ emit("openChange", next);
73
+ }
74
+ return (_ctx, _cache) => {
75
+ return openBlock(), createElementBlock("div", {
76
+ ref_key: "root",
77
+ ref: root,
78
+ class: "astryx-collapsible",
79
+ "data-density": density.value || void 0,
80
+ "data-dividers": hasDividers.value || void 0
81
+ }, [createElementVNode("button", {
82
+ type: "button",
83
+ class: "astryx-collapsible-trigger",
84
+ "data-chevron-position": chevronPosition.value,
85
+ "data-open": isOpen.value ? "open" : void 0,
86
+ "data-disabled": __props.isDisabled ? "disabled" : void 0,
87
+ "aria-expanded": isOpen.value,
88
+ "aria-controls": contentId,
89
+ "aria-disabled": __props.isDisabled || void 0,
90
+ tabindex: __props.isDisabled ? -1 : void 0,
91
+ onClick: toggle
92
+ }, [
93
+ isChevronAtStart.value ? (openBlock(), createBlock(_sfc_main$2, {
94
+ key: 0,
95
+ class: "astryx-collapsible-chevron",
96
+ color: "secondary",
97
+ icon: "chevronRight",
98
+ size: "sm"
99
+ })) : createCommentVNode("v-if", true),
100
+ createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "trigger", {}, () => [createTextVNode(toDisplayString(__props.trigger), 1)])]),
101
+ !isChevronAtStart.value ? (openBlock(), createBlock(_sfc_main$2, {
102
+ key: 1,
103
+ class: "astryx-collapsible-chevron",
104
+ color: "secondary",
105
+ icon: "chevronDown",
106
+ size: "sm"
107
+ })) : createCommentVNode("v-if", true)
108
+ ], 8, _hoisted_2), createVNode(Transition, {
109
+ name: "astryx-collapsible-reveal",
110
+ persisted: ""
111
+ }, {
112
+ default: withCtx(() => [withDirectives(createElementVNode("div", {
113
+ id: contentId,
114
+ class: "astryx-collapsible-content",
115
+ "data-open": isOpen.value ? "open" : void 0
116
+ }, [createElementVNode("div", _hoisted_5, [renderSlot(_ctx.$slots, "default")])], 8, _hoisted_4), [[vShow, isOpen.value]])]),
117
+ _: 3
118
+ })], 8, _hoisted_1$1);
119
+ };
120
+ }
121
+ });
122
+ //#endregion
123
+ //#region src/Collapsible/CollapsibleGroup.vue
124
+ const _hoisted_1 = ["data-density"];
125
+ const _sfc_main = /*@__PURE__*/ defineComponent({
126
+ name: "AstryxCollapsibleGroup",
127
+ __name: "CollapsibleGroup",
128
+ props: /*@__PURE__*/ mergeModels({
129
+ type: { default: "single" },
130
+ defaultValue: {},
131
+ value: {},
132
+ hasDividers: {
133
+ type: Boolean,
134
+ default: false
135
+ },
136
+ density: {},
137
+ chevronPosition: { default: "end" }
138
+ }, {
139
+ "value": {},
140
+ "valueModifiers": {}
141
+ }),
142
+ emits: /*@__PURE__*/ mergeModels(["change"], ["update:value"]),
143
+ setup(__props, { emit: __emit }) {
144
+ const props = __props;
145
+ const emit = __emit;
146
+ function initialValue() {
147
+ if (props.defaultValue != null) return props.defaultValue;
148
+ return props.type === "multiple" ? [] : "";
149
+ }
150
+ const value = useModel(__props, "value");
151
+ const localValue = shallowRef(initialValue());
152
+ const current = computed(() => value.value ?? localValue.value);
153
+ function asList(next) {
154
+ return Array.isArray(next) ? next : next === "" ? [] : [next];
155
+ }
156
+ const openValues = computed(() => asList(current.value));
157
+ function commit(next) {
158
+ const emitted = props.type === "single" ? next[0] ?? "" : next;
159
+ localValue.value = emitted;
160
+ value.value = emitted;
161
+ emit("change", emitted);
162
+ }
163
+ function isOpen(item) {
164
+ return openValues.value.includes(item);
165
+ }
166
+ function toggle(item) {
167
+ const open = openValues.value;
168
+ commit(props.type === "single" ? open.includes(item) ? [] : [item] : open.includes(item) ? open.filter((entry) => entry !== item) : [...open, item]);
169
+ }
170
+ const density = computed(() => props.density ?? (props.hasDividers ? "balanced" : null));
171
+ const hasDividers = computed(() => props.hasDividers);
172
+ const chevronPosition = computed(() => props.chevronPosition);
173
+ provide(collapsibleGroupKey, {
174
+ isOpen,
175
+ toggle
176
+ });
177
+ provide(collapsibleGroupPresentationKey, {
178
+ chevronPosition,
179
+ density,
180
+ hasDividers
181
+ });
182
+ return (_ctx, _cache) => {
183
+ return hasDividers.value ? (openBlock(), createElementBlock("div", {
184
+ key: 0,
185
+ class: "astryx-collapsible-group",
186
+ "data-density": density.value || void 0
187
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1)) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 1);
188
+ };
189
+ }
190
+ });
191
+ //#endregion
192
+ export { _sfc_main$1 as n, _sfc_main as t };
@@ -0,0 +1,2 @@
1
+ import { a as _default$2, c as CommandPaletteEmits, d as CommandPaletteItemProps, f as CommandPaletteItemSlotProps, h as CommandPaletteSlots, i as _default$3, l as CommandPaletteGroupProps, m as CommandPaletteProps, n as _default$5, o as _default$1, p as CommandPaletteListProps, r as _default$4, s as _default, t as _default$6, u as CommandPaletteInputProps } from "../index-Be1czg3M.js";
2
+ export { _default as CommandPalette, type CommandPaletteEmits, _default$1 as CommandPaletteEmpty, _default$2 as CommandPaletteFooter, _default$3 as CommandPaletteGroup, type CommandPaletteGroupProps, _default$4 as CommandPaletteInput, type CommandPaletteInputProps, _default$5 as CommandPaletteItem, type CommandPaletteItemProps, type CommandPaletteItemSlotProps, _default$6 as CommandPaletteList, type CommandPaletteListProps, type CommandPaletteProps, type CommandPaletteSlots };
@@ -0,0 +1,2 @@
1
+ import { a as _sfc_main$3, i as _sfc_main$4, n as _sfc_main$6, o as _sfc_main$2, r as _sfc_main$5, s as _sfc_main$1, t as _sfc_main } from "../CommandPalette-u5h_E05P.js";
2
+ export { _sfc_main as CommandPalette, _sfc_main$1 as CommandPaletteEmpty, _sfc_main$2 as CommandPaletteFooter, _sfc_main$3 as CommandPaletteGroup, _sfc_main$4 as CommandPaletteInput, _sfc_main$5 as CommandPaletteItem, _sfc_main$6 as CommandPaletteList };
@@ -0,0 +1,489 @@
1
+ import { t as useAnnounce } from "./announce-Cnio10Wk.js";
2
+ import { n as useAsyncSource } from "./useAsyncSource-Gk0VtE7_.js";
3
+ import { n as DIALOG_CONTEXT_KEY, t as _sfc_main$7 } from "./Dialog-rfUt3y8P.js";
4
+ import { a as useAstryxMessages } from "./context-D6ECRdc5.js";
5
+ import { t as _sfc_main$8 } from "./Spinner-9cYUCnDy.js";
6
+ import { t as _sfc_main$9 } from "./Kbd-BB-Dw6zE.js";
7
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, mergeModels, onMounted, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, useId, useModel, useTemplateRef, watch, withCtx } from "vue";
8
+ import "../styles/command-palette.css";
9
+ //#region src/CommandPalette/CommandPaletteEmpty.vue
10
+ const _hoisted_1$6 = { class: "astryx-command-palette-empty" };
11
+ const _sfc_main$6 = /*@__PURE__*/ defineComponent({
12
+ name: "AstryxCommandPaletteEmpty",
13
+ __name: "CommandPaletteEmpty",
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createElementBlock("div", _hoisted_1$6, [renderSlot(_ctx.$slots, "default")]);
17
+ };
18
+ }
19
+ });
20
+ //#endregion
21
+ //#region src/CommandPalette/CommandPaletteFooter.vue
22
+ const _hoisted_1$5 = { class: "astryx-command-palette-footer" };
23
+ const _hoisted_2$3 = { class: "astryx-command-palette-hint" };
24
+ const _hoisted_3$2 = { class: "astryx-command-palette-hint" };
25
+ const _hoisted_4 = { class: "astryx-command-palette-hint" };
26
+ const _sfc_main$5 = /*@__PURE__*/ defineComponent({
27
+ name: "AstryxCommandPaletteFooter",
28
+ __name: "CommandPaletteFooter",
29
+ setup(__props) {
30
+ const messages = useAstryxMessages();
31
+ return (_ctx, _cache) => {
32
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [renderSlot(_ctx.$slots, "default", {}, () => [
33
+ createElementVNode("span", _hoisted_2$3, [
34
+ createVNode(_sfc_main$9, { keys: "up" }),
35
+ createVNode(_sfc_main$9, { keys: "down" }),
36
+ createTextVNode(" " + toDisplayString(unref(messages).commandPalette.navigate), 1)
37
+ ]),
38
+ createElementVNode("span", _hoisted_3$2, [createVNode(_sfc_main$9, { keys: "enter" }), createTextVNode(" " + toDisplayString(unref(messages).commandPalette.select), 1)]),
39
+ createElementVNode("span", _hoisted_4, [createVNode(_sfc_main$9, { keys: "escape" }), createTextVNode(" " + toDisplayString(unref(messages).commandPalette.close), 1)])
40
+ ])]);
41
+ };
42
+ }
43
+ });
44
+ //#endregion
45
+ //#region src/CommandPalette/CommandPaletteGroup.vue
46
+ const _hoisted_1$4 = ["aria-label"];
47
+ const _hoisted_2$2 = {
48
+ class: "astryx-command-palette-group-heading",
49
+ "aria-hidden": "true"
50
+ };
51
+ const _sfc_main$4 = /*@__PURE__*/ defineComponent({
52
+ name: "AstryxCommandPaletteGroup",
53
+ __name: "CommandPaletteGroup",
54
+ props: { heading: {} },
55
+ setup(__props) {
56
+ return (_ctx, _cache) => {
57
+ return openBlock(), createElementBlock("div", {
58
+ class: "astryx-command-palette-group",
59
+ role: "group",
60
+ "aria-label": __props.heading
61
+ }, [createElementVNode("div", _hoisted_2$2, toDisplayString(__props.heading), 1), renderSlot(_ctx.$slots, "default")], 8, _hoisted_1$4);
62
+ };
63
+ }
64
+ });
65
+ //#endregion
66
+ //#region src/CommandPalette/context.ts
67
+ const commandPaletteKey = Symbol("commandPalette");
68
+ //#endregion
69
+ //#region src/CommandPalette/CommandPaletteInput.vue
70
+ const _hoisted_1$3 = { class: "astryx-command-palette-input" };
71
+ const _hoisted_2$1 = [
72
+ "aria-activedescendant",
73
+ "aria-controls",
74
+ "aria-expanded",
75
+ "aria-label",
76
+ "placeholder",
77
+ "value"
78
+ ];
79
+ const _hoisted_3$1 = { class: "astryx-command-palette-end" };
80
+ const _sfc_main$3 = /*@__PURE__*/ defineComponent({
81
+ name: "AstryxCommandPaletteInput",
82
+ __name: "CommandPaletteInput",
83
+ props: {
84
+ placeholder: {},
85
+ label: {},
86
+ hasAutoFocus: {
87
+ type: Boolean,
88
+ default: true
89
+ }
90
+ },
91
+ setup(__props) {
92
+ const props = __props;
93
+ const palette = inject(commandPaletteKey, null);
94
+ const dialog = inject(DIALOG_CONTEXT_KEY, null);
95
+ const messages = useAstryxMessages();
96
+ const inputRef = useTemplateRef("input");
97
+ const placeholder = computed(() => props.placeholder ?? messages.value.commandPalette.placeholder);
98
+ const label = computed(() => props.label ?? placeholder.value);
99
+ const value = computed(() => palette?.search.value ?? "");
100
+ const activeDescendant = computed(() => {
101
+ const index = palette?.highlightedIndex.value ?? -1;
102
+ if (palette == null || index < 0) return void 0;
103
+ return `${palette.listId}-item-${index}`;
104
+ });
105
+ const shouldFocus = computed(() => props.hasAutoFocus && dialog?.isInline.value !== true);
106
+ function onInput(event) {
107
+ palette?.setSearch(event.target.value);
108
+ }
109
+ onMounted(() => {
110
+ if (shouldFocus.value) requestAnimationFrame(() => inputRef.value?.focus());
111
+ });
112
+ return (_ctx, _cache) => {
113
+ return openBlock(), createElementBlock("div", _hoisted_1$3, [
114
+ _cache[1] || (_cache[1] = createElementVNode("span", {
115
+ class: "astryx-command-palette-search",
116
+ "aria-hidden": "true"
117
+ }, null, -1)),
118
+ createElementVNode("input", {
119
+ ref: "input",
120
+ "aria-activedescendant": activeDescendant.value,
121
+ "aria-autocomplete": "list",
122
+ "aria-controls": unref(palette)?.listId,
123
+ "aria-expanded": unref(palette) ? true : void 0,
124
+ "aria-label": label.value,
125
+ class: "astryx-command-palette-field",
126
+ placeholder: placeholder.value,
127
+ role: "combobox",
128
+ type: "text",
129
+ value: value.value,
130
+ onInput,
131
+ onKeydown: _cache[0] || (_cache[0] = (...args) => unref(palette)?.onKeyDown && unref(palette)?.onKeyDown(...args))
132
+ }, null, 40, _hoisted_2$1),
133
+ createElementVNode("span", _hoisted_3$1, [unref(palette)?.isBusy.value ? (openBlock(), createBlock(_sfc_main$8, {
134
+ key: 0,
135
+ class: "astryx-command-palette-spinner",
136
+ size: "sm"
137
+ })) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "end")])
138
+ ]);
139
+ };
140
+ }
141
+ });
142
+ //#endregion
143
+ //#region src/CommandPalette/CommandPaletteItem.vue
144
+ const _hoisted_1$2 = [
145
+ "id",
146
+ "aria-disabled",
147
+ "aria-selected",
148
+ "data-disabled",
149
+ "data-highlighted",
150
+ "data-selected",
151
+ "data-value"
152
+ ];
153
+ const _sfc_main$2 = /*@__PURE__*/ defineComponent({
154
+ name: "AstryxCommandPaletteItem",
155
+ __name: "CommandPaletteItem",
156
+ props: {
157
+ value: {},
158
+ isDisabled: {
159
+ type: Boolean,
160
+ default: false
161
+ }
162
+ },
163
+ setup(__props) {
164
+ const props = __props;
165
+ const palette = inject(commandPaletteKey, null);
166
+ const index = computed(() => palette?.items.value.findIndex((item) => item.id === props.value) ?? -1);
167
+ const isHighlighted = computed(() => index.value >= 0 && palette?.highlightedIndex.value === index.value);
168
+ const isSelected = computed(() => palette?.value.value != null && palette.value.value === props.value);
169
+ function onKeyDown(event) {
170
+ if (event.key !== "Enter" && event.key !== " ") return;
171
+ event.preventDefault();
172
+ select();
173
+ }
174
+ function select() {
175
+ if (props.isDisabled || palette == null || index.value < 0) return;
176
+ const item = palette.items.value[index.value];
177
+ if (item != null) palette.selectItem(item);
178
+ }
179
+ function highlight() {
180
+ if (!props.isDisabled && index.value >= 0) palette?.setHighlightedIndex(index.value);
181
+ }
182
+ function scrollIntoView(element) {
183
+ if (!(element instanceof HTMLElement)) return;
184
+ if (palette?.isInline.value && palette.highlightedIndex.value === index.value && index.value === 0) return;
185
+ element.scrollIntoView({ block: "nearest" });
186
+ }
187
+ onMounted(() => {});
188
+ watch(isHighlighted, (highlighted, _previous, onCleanup) => {
189
+ if (!highlighted) return;
190
+ const id = `${palette?.listId}-item-${index.value}`;
191
+ const element = document.getElementById(id);
192
+ if (element == null) return;
193
+ const frame = requestAnimationFrame(() => scrollIntoView(element));
194
+ onCleanup(() => cancelAnimationFrame(frame));
195
+ });
196
+ return (_ctx, _cache) => {
197
+ return openBlock(), createElementBlock("div", {
198
+ id: index.value >= 0 && unref(palette) ? `${unref(palette).listId}-item-${index.value}` : void 0,
199
+ class: "astryx-command-palette-item",
200
+ role: "option",
201
+ tabindex: "-1",
202
+ "aria-disabled": __props.isDisabled || void 0,
203
+ "aria-selected": isSelected.value,
204
+ "data-disabled": __props.isDisabled || void 0,
205
+ "data-highlighted": isHighlighted.value || void 0,
206
+ "data-selected": isSelected.value || void 0,
207
+ "data-value": __props.value,
208
+ onClick: select,
209
+ onFocus: highlight,
210
+ onKeydown: onKeyDown,
211
+ onMouseenter: highlight
212
+ }, [renderSlot(_ctx.$slots, "default")], 40, _hoisted_1$2);
213
+ };
214
+ }
215
+ });
216
+ //#endregion
217
+ //#region src/CommandPalette/CommandPaletteList.vue
218
+ const _hoisted_1$1 = ["id", "aria-label"];
219
+ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
220
+ name: "AstryxCommandPaletteList",
221
+ __name: "CommandPaletteList",
222
+ props: { label: {} },
223
+ setup(__props) {
224
+ const props = __props;
225
+ const palette = inject(commandPaletteKey, null);
226
+ const messages = useAstryxMessages();
227
+ const label = computed(() => props.label ?? messages.value.commandPalette.listLabel);
228
+ return (_ctx, _cache) => {
229
+ return openBlock(), createElementBlock("div", {
230
+ id: unref(palette)?.listId,
231
+ class: "astryx-command-palette-list",
232
+ role: "listbox",
233
+ "aria-label": label.value
234
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1$1);
235
+ };
236
+ }
237
+ });
238
+ //#endregion
239
+ //#region src/CommandPalette/keyboard.ts
240
+ function enabledIndexes(items) {
241
+ const indexes = [];
242
+ items.forEach((item, index) => {
243
+ if (!item.disabled) indexes.push(index);
244
+ });
245
+ return indexes;
246
+ }
247
+ /**
248
+ * 命令面板的高亮移动。输入框已经在过滤,这里不再做首字母跳转,也不绕回。
249
+ * 当前没有高亮时,向下到第一项,向上到最后一项。
250
+ */
251
+ function moveHighlight(items, current, direction) {
252
+ const enabled = enabledIndexes(items);
253
+ if (enabled.length === 0) return -1;
254
+ if (direction === "first") return enabled[0] ?? -1;
255
+ if (direction === "last") return enabled[enabled.length - 1] ?? -1;
256
+ if (current < 0) return direction === "next" ? enabled[0] ?? -1 : enabled[enabled.length - 1] ?? -1;
257
+ if (direction === "next") return enabled.find((index) => index > current) ?? current;
258
+ return [...enabled].reverse().find((index) => index < current) ?? current;
259
+ }
260
+ //#endregion
261
+ //#region src/CommandPalette/CommandPalette.vue
262
+ const _hoisted_1 = { class: "astryx-command-palette" };
263
+ const _hoisted_2 = { class: "astryx-command-palette-header" };
264
+ const _hoisted_3 = { class: "astryx-command-palette-footer-wrap" };
265
+ const _sfc_main = /*@__PURE__*/ defineComponent({
266
+ name: "AstryxCommandPalette",
267
+ __name: "CommandPalette",
268
+ props: /*@__PURE__*/ mergeModels({
269
+ isOpen: { type: Boolean },
270
+ searchSource: {},
271
+ isInline: {
272
+ type: Boolean,
273
+ default: false
274
+ },
275
+ label: {},
276
+ width: { default: 640 },
277
+ maxHeight: { default: 480 },
278
+ emptySearchText: {},
279
+ emptyBootstrapText: {},
280
+ value: {}
281
+ }, {
282
+ "value": { default: void 0 },
283
+ "valueModifiers": {}
284
+ }),
285
+ emits: /*@__PURE__*/ mergeModels(["openChange"], ["update:value"]),
286
+ setup(__props, { emit: __emit }) {
287
+ const props = __props;
288
+ const emit = __emit;
289
+ const value = useModel(__props, "value");
290
+ const messages = useAstryxMessages();
291
+ const announce = useAnnounce();
292
+ const search = ref("");
293
+ const highlightedIndex = ref(-1);
294
+ const listId = `astryx-command-palette-${useId()}`;
295
+ const enabled = computed(() => props.isOpen);
296
+ const source = computed(() => props.searchSource);
297
+ const results = useAsyncSource({
298
+ debounceMs: 0,
299
+ enabled,
300
+ query: search,
301
+ source
302
+ });
303
+ const items = computed(() => results.items.value);
304
+ const isBusy = computed(() => results.status.value === "loading");
305
+ const isInline = computed(() => props.isInline);
306
+ const label = computed(() => props.label ?? messages.value.commandPalette.label);
307
+ function groupName(item) {
308
+ const data = item.auxiliaryData;
309
+ if (data == null || typeof data !== "object" || !("group" in data)) return null;
310
+ const group = data.group;
311
+ return typeof group === "string" && group !== "" ? group : null;
312
+ }
313
+ const sections = computed(() => {
314
+ const groups = [];
315
+ const loose = [];
316
+ for (const item of items.value) {
317
+ const heading = groupName(item);
318
+ if (heading == null) {
319
+ loose.push(item);
320
+ continue;
321
+ }
322
+ const existing = groups.find((group) => group.heading === heading);
323
+ if (existing) existing.items.push(item);
324
+ else groups.push({
325
+ heading,
326
+ items: [item]
327
+ });
328
+ }
329
+ return {
330
+ groups,
331
+ loose,
332
+ grouped: groups.length > 0
333
+ };
334
+ });
335
+ const showEmpty = computed(() => items.value.length === 0 && results.status.value !== "loading" && results.status.value !== "idle");
336
+ const emptyText = computed(() => {
337
+ if (search.value.trim() === "") return props.emptyBootstrapText ?? messages.value.commandPalette.emptyBootstrap;
338
+ return props.emptySearchText ?? messages.value.commandPalette.emptySearch;
339
+ });
340
+ function setSearch(next) {
341
+ search.value = next;
342
+ }
343
+ function setHighlightedIndex(index) {
344
+ highlightedIndex.value = index;
345
+ }
346
+ function close() {
347
+ results.cancel();
348
+ search.value = "";
349
+ highlightedIndex.value = -1;
350
+ announce("");
351
+ emit("openChange", false);
352
+ }
353
+ function selectItem(item) {
354
+ if (item.disabled) return;
355
+ value.value = item.id;
356
+ close();
357
+ }
358
+ function onKeyDown(event) {
359
+ if (event.isComposing || event.key === "Process") return;
360
+ if (event.key === "Escape") {
361
+ event.preventDefault();
362
+ close();
363
+ return;
364
+ }
365
+ if (event.key === " ") return;
366
+ if (event.key === "Enter") {
367
+ event.preventDefault();
368
+ const item = items.value[highlightedIndex.value];
369
+ if (item != null) selectItem(item);
370
+ return;
371
+ }
372
+ const direction = event.key === "ArrowDown" ? "next" : event.key === "ArrowUp" ? "previous" : event.key === "Home" || event.key === "PageUp" ? "first" : event.key === "End" || event.key === "PageDown" ? "last" : null;
373
+ if (direction == null) return;
374
+ event.preventDefault();
375
+ highlightedIndex.value = moveHighlight(items.value, highlightedIndex.value, direction);
376
+ }
377
+ function onOpenChange(open) {
378
+ if (!open) close();
379
+ else emit("openChange", true);
380
+ }
381
+ watch(items, (list) => {
382
+ if (search.value.trim() === "" && value.value) {
383
+ highlightedIndex.value = list.findIndex((item) => item.id === value.value && !item.disabled);
384
+ return;
385
+ }
386
+ highlightedIndex.value = -1;
387
+ });
388
+ watch([
389
+ () => results.status.value,
390
+ items,
391
+ search
392
+ ], () => {
393
+ if (!props.isOpen || search.value.trim() === "") return;
394
+ if (results.status.value === "loading") {
395
+ announce(messages.value.commandPalette.loading);
396
+ return;
397
+ }
398
+ if (results.status.value === "empty") announce(messages.value.commandPalette.noResultsFor(search.value));
399
+ else if (results.status.value === "ready") announce(messages.value.commandPalette.resultCount(items.value.length));
400
+ });
401
+ watch(() => props.isOpen, (open) => {
402
+ if (!open) {
403
+ results.cancel();
404
+ search.value = "";
405
+ highlightedIndex.value = -1;
406
+ }
407
+ });
408
+ provide(commandPaletteKey, {
409
+ highlightedIndex,
410
+ isBusy,
411
+ isInline,
412
+ items,
413
+ listId,
414
+ onKeyDown,
415
+ search,
416
+ selectItem,
417
+ setHighlightedIndex,
418
+ setSearch,
419
+ value: computed(() => value.value)
420
+ });
421
+ return (_ctx, _cache) => {
422
+ return openBlock(), createBlock(_sfc_main$7, {
423
+ "aria-label": label.value,
424
+ "is-inline": isInline.value,
425
+ "is-open": __props.isOpen,
426
+ "max-height": __props.maxHeight,
427
+ padding: 0,
428
+ purpose: "info",
429
+ role: isInline.value ? "dialog" : void 0,
430
+ width: __props.width,
431
+ onOpenChange
432
+ }, {
433
+ default: withCtx(() => [createElementVNode("div", _hoisted_1, [
434
+ createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "input", {}, () => [createVNode(_sfc_main$3)])]),
435
+ createVNode(_sfc_main$1, null, {
436
+ default: withCtx(() => [showEmpty.value ? (openBlock(), createBlock(_sfc_main$6, { key: 0 }, {
437
+ default: withCtx(() => [createTextVNode(toDisplayString(emptyText.value), 1)]),
438
+ _: 1
439
+ })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [(openBlock(true), createElementBlock(Fragment, null, renderList(sections.value.groups, (group) => {
440
+ return openBlock(), createBlock(_sfc_main$4, {
441
+ key: group.heading,
442
+ heading: group.heading
443
+ }, {
444
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (item) => {
445
+ return openBlock(), createBlock(_sfc_main$2, {
446
+ key: item.id,
447
+ "is-disabled": item.disabled,
448
+ value: item.id
449
+ }, {
450
+ default: withCtx(() => [renderSlot(_ctx.$slots, "item", {
451
+ isSelected: item.id === value.value,
452
+ item
453
+ }, () => [createTextVNode(toDisplayString(item.label), 1)])]),
454
+ _: 2
455
+ }, 1032, ["is-disabled", "value"]);
456
+ }), 128))]),
457
+ _: 2
458
+ }, 1032, ["heading"]);
459
+ }), 128)), (openBlock(true), createElementBlock(Fragment, null, renderList(sections.value.loose, (item) => {
460
+ return openBlock(), createBlock(_sfc_main$2, {
461
+ key: item.id,
462
+ "is-disabled": item.disabled,
463
+ value: item.id
464
+ }, {
465
+ default: withCtx(() => [renderSlot(_ctx.$slots, "item", {
466
+ isSelected: item.id === value.value,
467
+ item
468
+ }, () => [createTextVNode(toDisplayString(item.label), 1)])]),
469
+ _: 2
470
+ }, 1032, ["is-disabled", "value"]);
471
+ }), 128))], 64))]),
472
+ _: 3
473
+ }),
474
+ createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, "footer", {}, () => [createVNode(_sfc_main$5)])])
475
+ ])]),
476
+ _: 3
477
+ }, 8, [
478
+ "aria-label",
479
+ "is-inline",
480
+ "is-open",
481
+ "max-height",
482
+ "role",
483
+ "width"
484
+ ]);
485
+ };
486
+ }
487
+ });
488
+ //#endregion
489
+ export { _sfc_main$4 as a, _sfc_main$3 as i, _sfc_main$1 as n, _sfc_main$5 as o, _sfc_main$2 as r, _sfc_main$6 as s, _sfc_main as t };
@@ -0,0 +1,2 @@
1
+ import { a as ComplexSelectorProps, c as ComplexSelectorState, i as ComplexSelectorHandleRef, l as ComplexSelectorTriggerProps, n as ComplexSelectorEmits, o as ComplexSelectorSlotProps, r as ComplexSelectorHandle, s as ComplexSelectorSlots, t as _default, u as ComplexSelectorVariant } from "../index-CX97hlld.js";
2
+ export { _default as ComplexSelector, _default as default, type ComplexSelectorEmits, type ComplexSelectorHandle, type ComplexSelectorHandleRef, type ComplexSelectorProps, type ComplexSelectorSlotProps, type ComplexSelectorSlots, type ComplexSelectorState, type ComplexSelectorTriggerProps, type ComplexSelectorVariant };