@astryx-vue/core 0.1.0 → 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 (280) hide show
  1. package/README.md +1 -1
  2. package/dist/AppShell/index.d.ts +2 -0
  3. package/dist/AppShell/index.js +2 -0
  4. package/dist/AppShell-b0PWt9Fz.js +249 -0
  5. package/dist/AspectRatio/index.d.ts +2 -0
  6. package/dist/AspectRatio/index.js +2 -0
  7. package/dist/AspectRatio-Bij7e-tq.js +40 -0
  8. package/dist/AvatarGroup/index.d.ts +1 -1
  9. package/dist/Banner/index.d.ts +1 -1
  10. package/dist/BottomSheet/index.d.ts +1 -1
  11. package/dist/Button/index.d.ts +1 -1
  12. package/dist/ButtonGroup/index.d.ts +1 -1
  13. package/dist/Calendar/index.js +1 -1
  14. package/dist/{Calendar-DpYFXwgb.js → Calendar-CYhGDT6f.js} +2 -1
  15. package/dist/Chat/index.js +1 -1
  16. package/dist/{Chat-Bfd-YPAK.js → Chat-C1aWl5V3.js} +2 -2
  17. package/dist/CheckboxInput/index.d.ts +1 -1
  18. package/dist/CheckboxInput/index.js +1 -1
  19. package/dist/{CheckboxInput-C86o3XoG.js → CheckboxInput-CMsEE1_4.js} +4 -2
  20. package/dist/CheckboxList/index.d.ts +2 -0
  21. package/dist/CheckboxList/index.js +2 -0
  22. package/dist/CheckboxList-EsIEXjK_.js +174 -0
  23. package/dist/Citation/index.js +1 -1
  24. package/dist/{Citation-DaDd1teb.js → Citation-C1X0Rde8.js} +2 -2
  25. package/dist/ClickableCard/index.d.ts +2 -0
  26. package/dist/ClickableCard/index.js +2 -0
  27. package/dist/ClickableCard-Bhds4RRe.js +112 -0
  28. package/dist/Code/index.js +1 -1
  29. package/dist/{CodeBlock-CK-NWM_1.js → CodeBlock-BQdooQy2.js} +1 -1
  30. package/dist/Collapsible/index.d.ts +2 -2
  31. package/dist/Collapsible/index.js +2 -2
  32. package/dist/Collapsible-BS9ctCQV.js +192 -0
  33. package/dist/CommandPalette/index.d.ts +2 -0
  34. package/dist/CommandPalette/index.js +2 -0
  35. package/dist/CommandPalette-u5h_E05P.js +489 -0
  36. package/dist/ComplexSelector/index.d.ts +2 -0
  37. package/dist/ComplexSelector/index.js +2 -0
  38. package/dist/ComplexSelector-BHmGWml0.js +293 -0
  39. package/dist/ContextMenu/index.d.ts +1 -1
  40. package/dist/ContextMenu/index.js +1 -1
  41. package/dist/{ContextMenu-BJh99Exj.js → ContextMenu-dA-ppaRQ.js} +284 -12
  42. package/dist/DateInput/index.d.ts +1 -1
  43. package/dist/DateInput/index.js +1 -1
  44. package/dist/{DateInput-zJAdXByM.js → DateInput-D2ErjXYO.js} +18 -10
  45. package/dist/DateRangeInput/index.d.ts +2 -0
  46. package/dist/DateRangeInput/index.js +2 -0
  47. package/dist/DateRangeInput-fmQlr_A7.js +385 -0
  48. package/dist/DateTimeInput/index.d.ts +2 -0
  49. package/dist/DateTimeInput/index.js +2 -0
  50. package/dist/DateTimeInput-Bs1JmcIp.js +196 -0
  51. package/dist/Divider/index.d.ts +1 -1
  52. package/dist/DropdownMenu/index.d.ts +1 -1
  53. package/dist/DropdownMenu/index.js +1 -1
  54. package/dist/{DropdownMenu-C3j2zaEn.js → DropdownMenu-B0gogrvG.js} +2 -2
  55. package/dist/Field/index.d.ts +2 -2
  56. package/dist/Field/index.js +3 -4
  57. package/dist/{Field-VlTBsIEo.js → Field-8zRxzDHE.js} +11 -3
  58. package/dist/{FieldLabel-B1NRyQlS.js → FieldLabel-DmmJyX7w.js} +6 -1
  59. package/dist/FieldStatus/index.d.ts +2 -0
  60. package/dist/FieldStatus/index.js +2 -0
  61. package/dist/FileInput/index.d.ts +2 -0
  62. package/dist/FileInput/index.js +2 -0
  63. package/dist/FileInput-CmAfOpkA.js +238 -0
  64. package/dist/FormLayout/index.d.ts +2 -0
  65. package/dist/FormLayout/index.js +2 -0
  66. package/dist/FormLayout-D47FjiOq.js +40 -0
  67. package/dist/HoverCard/index.d.ts +1 -1
  68. package/dist/{Icon-B6qNgBP9.js → Icon-5MdZQ18k.js} +10 -2
  69. package/dist/Layout/index.d.ts +2 -0
  70. package/dist/Layout/index.js +3 -0
  71. package/dist/Layout-Bed3kP0M.js +56 -0
  72. package/dist/LayoutPanel-C34uOq3e.js +358 -0
  73. package/dist/List/index.d.ts +1 -1
  74. package/dist/Markdown/index.d.ts +1 -1
  75. package/dist/Markdown/index.js +1 -1
  76. package/dist/{Markdown-DyKIwAL_.js → Markdown-CwtLr3f_.js} +2 -2
  77. package/dist/MetadataList/index.d.ts +2 -0
  78. package/dist/MetadataList/index.js +2 -0
  79. package/dist/MetadataList-DlXQTLog.js +124 -0
  80. package/dist/MobileNav/index.d.ts +1 -1
  81. package/dist/MobileNav/index.js +1 -1
  82. package/dist/{MobileNavToggle-BK2iRJF-.js → MobileNavToggle-CgQamG6E.js} +19 -12
  83. package/dist/MoreMenu/index.d.ts +1 -1
  84. package/dist/MoreMenu/index.js +1 -1
  85. package/dist/{MoreMenu-BjUsVWWk.js → MoreMenu-BXL6Dqsu.js} +2 -2
  86. package/dist/MultiSelector/index.d.ts +1 -1
  87. package/dist/MultiSelector/index.js +1 -1
  88. package/dist/{MultiSelector-CKTbTj1A.js → MultiSelector-DT8ZccMI.js} +3 -3
  89. package/dist/NavItem/index.d.ts +1 -1
  90. package/dist/NavMenu/index.d.ts +1 -1
  91. package/dist/NumberInput/index.d.ts +1 -1
  92. package/dist/NumberInput/index.js +1 -1
  93. package/dist/{NumberInput-DU3_rw7z.js → NumberInput-DspJO6z6.js} +1 -1
  94. package/dist/OverflowList/index.d.ts +1 -1
  95. package/dist/OverflowList/index.js +1 -1
  96. package/dist/{OverflowList-B2T5UtiQ.js → OverflowList-zXg3g6fy.js} +1 -1
  97. package/dist/Overlay/index.d.ts +1 -1
  98. package/dist/Pagination/index.js +1 -1
  99. package/dist/{Pagination-qCgNwwhr.js → Pagination-DXfgMUKJ.js} +2 -2
  100. package/dist/Popover/index.d.ts +2 -1
  101. package/dist/Radio/index.d.ts +2 -2
  102. package/dist/Radio/index.js +2 -2
  103. package/dist/{Radio-BioQfwHQ.js → RadioGroup-BqjdSCfJ.js} +21 -88
  104. package/dist/RadioList/index.d.ts +2 -0
  105. package/dist/RadioList/index.js +2 -0
  106. package/dist/RadioList-DI8ujXcT.js +122 -0
  107. package/dist/Resizable/index.d.ts +2 -0
  108. package/dist/Resizable/index.js +2 -0
  109. package/dist/Resizable-BuGKvU9I.js +261 -0
  110. package/dist/ScrollableArea/index.d.ts +2 -0
  111. package/dist/ScrollableArea/index.js +2 -0
  112. package/dist/ScrollableArea-DQDYjnxO.js +78 -0
  113. package/dist/Section/index.d.ts +2 -0
  114. package/dist/Section/index.js +2 -0
  115. package/dist/Section-C48Wqfc7.js +68 -0
  116. package/dist/SegmentedControl/index.d.ts +1 -1
  117. package/dist/SelectableCard/index.d.ts +2 -0
  118. package/dist/SelectableCard/index.js +2 -0
  119. package/dist/SelectableCard-Bj5s_tIN.js +108 -0
  120. package/dist/Selector/index.d.ts +1 -1
  121. package/dist/Selector/index.js +1 -1
  122. package/dist/{Selector-C6sPJMtH.js → Selector-DlZpQh42.js} +1 -1
  123. package/dist/SideNav/index.d.ts +1 -1
  124. package/dist/SideNav/index.js +2 -1
  125. package/dist/{SideNav-D9lnn-sM.js → SideNav-Cdrigq2A.js} +49 -27
  126. package/dist/Slider/index.js +1 -1
  127. package/dist/{Slider-DTnWxtnb.js → Slider-D8h_RKcF.js} +1 -1
  128. package/dist/Stack/index.d.ts +1 -1
  129. package/dist/Stepper/index.d.ts +2 -0
  130. package/dist/Stepper/index.js +2 -0
  131. package/dist/Stepper-DxmLfh8O.js +423 -0
  132. package/dist/Switch/index.d.ts +1 -1
  133. package/dist/Switch/index.js +1 -1
  134. package/dist/{Switch-CNdnr5TP.js → Switch-SesQzPGZ.js} +4 -2
  135. package/dist/TabList/index.d.ts +2 -2
  136. package/dist/TabList/index.js +2 -2
  137. package/dist/TabList-C411uNQU.js +380 -0
  138. package/dist/Table/index.d.ts +3 -0
  139. package/dist/Table/index.js +2 -0
  140. package/dist/Table-7qRmlIQd.js +967 -0
  141. package/dist/Text/index.d.ts +1 -1
  142. package/dist/TextArea/index.d.ts +1 -1
  143. package/dist/TextArea/index.js +1 -1
  144. package/dist/{TextArea-BL0NuB99.js → TextArea-Cv9UVbzS.js} +5 -3
  145. package/dist/TextInput/index.d.ts +1 -1
  146. package/dist/TextInput/index.js +1 -1
  147. package/dist/{TextInput-B0IKC7g5.js → TextInput-BasnjVvy.js} +5 -3
  148. package/dist/Thumbnail/index.d.ts +2 -0
  149. package/dist/Thumbnail/index.js +2 -0
  150. package/dist/Thumbnail-BWVzLLyI.js +163 -0
  151. package/dist/TimeField-l3QzU6vC.js +214 -0
  152. package/dist/TimeInput/index.d.ts +2 -0
  153. package/dist/TimeInput/index.js +2 -0
  154. package/dist/TimeInput-OkgX-xbQ.js +121 -0
  155. package/dist/Timestamp/index.d.ts +2 -0
  156. package/dist/Timestamp/index.js +2 -0
  157. package/dist/Timestamp-DUoP9ari.js +465 -0
  158. package/dist/ToggleButton/index.d.ts +1 -1
  159. package/dist/Token/index.js +1 -1
  160. package/dist/{Token-Ctf9jekS.js → Token-C4KD0fZD.js} +1 -1
  161. package/dist/Tokenizer/index.d.ts +1 -1
  162. package/dist/Tokenizer/index.js +1 -1
  163. package/dist/{Tokenizer-D5MPgau0.js → Tokenizer-BA8sTMPZ.js} +3 -3
  164. package/dist/Toolbar/index.d.ts +1 -1
  165. package/dist/Tooltip/index.d.ts +1 -1
  166. package/dist/TopNav/index.d.ts +1 -1
  167. package/dist/TopNav/index.js +1 -1
  168. package/dist/{TopNav-CjbMCbkC.js → TopNav-CZokS7E_.js} +57 -31
  169. package/dist/TreeList/index.d.ts +2 -0
  170. package/dist/TreeList/index.js +2 -0
  171. package/dist/TreeList-CIbAGOMf.js +506 -0
  172. package/dist/Typeahead/index.d.ts +1 -1
  173. package/dist/Typeahead/index.js +1 -1
  174. package/dist/{Typeahead-BMoU3hfx.js → Typeahead-DIw-K4aa.js} +3 -3
  175. package/dist/composables/index.d.ts +3 -2
  176. package/dist/composables/index.js +8 -2
  177. package/dist/composables-CVfjp9h4.js +502 -0
  178. package/dist/context-BjNya0v8.js +19 -0
  179. package/dist/context-Cfjh8te1.js +29 -0
  180. package/dist/{locale-56lkR7OK.js → context-D6ECRdc5.js} +267 -18
  181. package/dist/index-1uRMrk63.d.ts +54 -0
  182. package/dist/{index-Dw21t7Uf.d.ts → index-2u4l3wq8.d.ts} +2 -2
  183. package/dist/{index-CvLlWLIZ.d.ts → index-B4OOtNP8.d.ts} +4 -4
  184. package/dist/{index-_1-uvr27.d.ts → index-B8MbfMwV.d.ts} +1 -1
  185. package/dist/{index-MPcg1Pm4.d.ts → index-BKr7yvVv.d.ts} +1 -1
  186. package/dist/index-Be1czg3M.d.ts +167 -0
  187. package/dist/{index-Dbmgcm8a.d.ts → index-BeR-1LgF.d.ts} +2 -0
  188. package/dist/{index-CnVbMebA.d.ts → index-Bqb_Fyju.d.ts} +3 -3
  189. package/dist/index-BrJzFA5X.d.ts +38 -0
  190. package/dist/{index-BDZCJ9ri.d.ts → index-BuubzuE8.d.ts} +2 -2
  191. package/dist/index-By2mSzUA.d.ts +67 -0
  192. package/dist/{index-HV6W3xCx.d.ts → index-Byar3h1e.d.ts} +1 -1
  193. package/dist/{index-BQuN_dWR.d.ts → index-BzqRns96.d.ts} +1 -1
  194. package/dist/{index-BkIgRYGz.d.ts → index-C5p2NeCr.d.ts} +2 -2
  195. package/dist/{index-Cc2HGODZ.d.ts → index-C6RecznD.d.ts} +3 -3
  196. package/dist/{index-BSRk8MFK.d.ts → index-C8wDPDcP.d.ts} +1 -1
  197. package/dist/index-CDdRQQF3.d.ts +170 -0
  198. package/dist/index-COqjznX0.d.ts +47 -0
  199. package/dist/{index-Cz9ZHVf6.d.ts → index-CT8KEpec.d.ts} +2 -2
  200. package/dist/{index-CxspvLBl.d.ts → index-CTolyeii.d.ts} +1 -1
  201. package/dist/index-CVn0GBdB.d.ts +115 -0
  202. package/dist/index-CX97hlld.d.ts +158 -0
  203. package/dist/index-C_2Z65Rp.d.ts +67 -0
  204. package/dist/index-CjtAH60j.d.ts +38 -0
  205. package/dist/index-CtlkhQ55.d.ts +36 -0
  206. package/dist/{index-JeZ0YTyd.d.ts → index-D-ZuubCK.d.ts} +4 -4
  207. package/dist/index-DA52oIdw.d.ts +171 -0
  208. package/dist/{index-C8NW9xre.d.ts → index-DGNqi2za.d.ts} +7 -7
  209. package/dist/{index-CCA4R0Mf.d.ts → index-DT9S92sh.d.ts} +31 -6
  210. package/dist/index-DXSs3rwa.d.ts +252 -0
  211. package/dist/{index-C0S2Xzoi.d.ts → index-DYChvBOM.d.ts} +135 -0
  212. package/dist/index-Da7Jm8Ht.d.ts +10 -0
  213. package/dist/{index-CaHXYQ_E.d.ts → index-Df2YvC8o.d.ts} +717 -147
  214. package/dist/{index-DjOdQv5B.d.ts → index-DfgHJE7H.d.ts} +1 -1
  215. package/dist/{index-CPhDtlv-.d.ts → index-FEy8qFSD.d.ts} +3 -3
  216. package/dist/{index-DBcbfStA.d.ts → index-SMh42NI8.d.ts} +182 -2
  217. package/dist/{index-Cdi82rTW.d.ts → index-ZJyk8RtQ.d.ts} +6 -2
  218. package/dist/{index-BeJqhW4l.d.ts → index-fa72tWIU.d.ts} +3 -3
  219. package/dist/{index-COxy6LEW.d.ts → index-gW0HW02U.d.ts} +1 -1
  220. package/dist/{index-BQa836Vz.d.ts → index-iBLzInje.d.ts} +6 -14
  221. package/dist/{index-BhYFxnjV.d.ts → index-kaKBOZSU.d.ts} +2 -2
  222. package/dist/index-nKlTsNfV.d.ts +42 -0
  223. package/dist/index-utZGF4GR.d.ts +79 -0
  224. package/dist/index.d.ts +76 -59
  225. package/dist/index.js +119 -78
  226. package/dist/locale/index.d.ts +1 -1
  227. package/dist/locale/index.js +2 -1
  228. package/dist/locale-Cpk_nrLA.js +18 -0
  229. package/dist/size-BuTzpgnR.d.ts +14 -0
  230. package/dist/size-xcIqExkS.js +79 -0
  231. package/dist/{index-Cp0NlzQv.d.ts → types-Db3Owy8Q.d.ts} +1 -36
  232. package/dist/types-JktRxujg.d.ts +107 -0
  233. package/dist/useAppShellMobile-DTsyuAJ4.js +19 -0
  234. package/dist/useClickableContainer-DyNpnSEa.js +112 -0
  235. package/dist/useFileSelection-BPtaegqK.js +58 -0
  236. package/dist/useMonthGrid-CmJsZTcB.js +139 -0
  237. package/dist/useResizable-CeESZS1v.d.ts +72 -0
  238. package/dist/useScrollableArea-DDk_CluT.js +172 -0
  239. package/dist/useTimeValue-DWk6oTAZ.js +113 -0
  240. package/package.json +97 -1
  241. package/styles/app-shell.css +151 -0
  242. package/styles/aspect-ratio.css +49 -0
  243. package/styles/bordered-control.css +87 -0
  244. package/styles/calendar.css +8 -2
  245. package/styles/card.css +5 -1
  246. package/styles/checkbox-list.css +15 -0
  247. package/styles/clickable-card.css +101 -0
  248. package/styles/collapsible.css +37 -0
  249. package/styles/command-palette.css +183 -0
  250. package/styles/complex-selector.css +114 -0
  251. package/styles/date-range-input.css +163 -0
  252. package/styles/date-time-input.css +40 -0
  253. package/styles/field.css +14 -3
  254. package/styles/file-input.css +87 -0
  255. package/styles/form-layout.css +31 -0
  256. package/styles/heading.css +19 -17
  257. package/styles/icon.css +32 -0
  258. package/styles/layout.css +280 -0
  259. package/styles/metadata-list.css +107 -0
  260. package/styles/number-input.css +6 -0
  261. package/styles/radio.css +32 -0
  262. package/styles/resize-handle.css +128 -0
  263. package/styles/scrollable-area.css +50 -0
  264. package/styles/section.css +60 -0
  265. package/styles/selector.css +10 -0
  266. package/styles/side-nav.css +26 -0
  267. package/styles/stepper.css +357 -0
  268. package/styles/tab-menu.css +91 -0
  269. package/styles/table.css +256 -0
  270. package/styles/text-area.css +6 -1
  271. package/styles/text-input.css +6 -0
  272. package/styles/thumbnail.css +151 -0
  273. package/styles/time-input.css +51 -0
  274. package/styles/timestamp.css +93 -0
  275. package/styles/tree-list.css +229 -0
  276. package/styles.css +23 -0
  277. package/dist/Collapsible-ByXCGhT8.js +0 -102
  278. package/dist/TabList-LV1U4ZD6.js +0 -184
  279. package/dist/composables-Dq9RS33w.js +0 -111
  280. package/dist/index-TnaIHsCS.d.ts +0 -87
package/README.md CHANGED
@@ -43,7 +43,7 @@ const email = shallowRef('')
43
43
  </template>
44
44
  ```
45
45
 
46
- Use `Field`, `FieldLabel` and `FieldStatus` from `@astryx-vue/core/Field` for custom controls. `Field` supplies association IDs through its default slot; forward them to the control's `id`, `aria-labelledby` and `aria-describedby`.
46
+ Use `Field` and `FieldLabel` from `@astryx-vue/core/Field`, and `FieldStatus` from `@astryx-vue/core/FieldStatus`, for custom controls. `Field` supplies association IDs through its default slot; forward them to the control's `id`, `aria-labelledby` and `aria-describedby`.
47
47
 
48
48
  `TextInput` supports clear buttons, disabled reasons, read-only values, three sizes, status messages and asynchronous `changeAction`. Use `@action-error` to handle failed actions. Inputs remain editable while actions are pending; request cancellation and stale-result handling belong to the application.
49
49
 
@@ -0,0 +1,2 @@
1
+ import { a as AppShellMobileNav, c as AppShellVariant, i as AppShellHeight, n as AppShellBreakpoint, o as AppShellProps, r as AppShellEmits, s as AppShellSlots, t as _default } from "../index-By2mSzUA.js";
2
+ export { _default as AppShell, type AppShellBreakpoint, type AppShellEmits, type AppShellHeight, type AppShellMobileNav, type AppShellProps, type AppShellSlots, type AppShellVariant };
@@ -0,0 +1,2 @@
1
+ import { t as _sfc_main } from "../AppShell-b0PWt9Fz.js";
2
+ export { _sfc_main as AppShell };
@@ -0,0 +1,249 @@
1
+ import { t as appShellMobileKey } from "./useAppShellMobile-DTsyuAJ4.js";
2
+ import { a as _sfc_main$2, n as _sfc_main$4, r as _sfc_main$3, t as _sfc_main$5 } from "./LayoutPanel-C34uOq3e.js";
3
+ import { a as useAstryxMessages } from "./context-D6ECRdc5.js";
4
+ import { n as _sfc_main$7, t as _sfc_main$6 } from "./MobileNavToggle-CgQamG6E.js";
5
+ import { n as sideNavRenderModeKey } from "./context-BjNya0v8.js";
6
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, mergeModels, mergeProps, openBlock, provide, reactive, ref, renderSlot, toDisplayString, unref, useAttrs, useId, useModel, useSlots, useTemplateRef, watch, withCtx } from "vue";
7
+ import "../styles/app-shell.css";
8
+ //#region src/SideNav/SideNavRenderMode.vue
9
+ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
10
+ name: "AstryxSideNavRenderMode",
11
+ __name: "SideNavRenderMode",
12
+ props: { mode: {} },
13
+ setup(__props) {
14
+ const props = __props;
15
+ provide(sideNavRenderModeKey, computed(() => props.mode));
16
+ return (_ctx, _cache) => {
17
+ return renderSlot(_ctx.$slots, "default");
18
+ };
19
+ }
20
+ });
21
+ //#endregion
22
+ //#region src/AppShell/AppShell.vue
23
+ const _hoisted_1 = ["data-variant", "data-height"];
24
+ const _hoisted_2 = ["href"];
25
+ const _hoisted_3 = ["data-variant"];
26
+ const _hoisted_4 = {
27
+ key: 0,
28
+ class: "astryx-app-shell__banner"
29
+ };
30
+ const _hoisted_5 = ["data-variant"];
31
+ const _hoisted_6 = ["aria-label"];
32
+ const _hoisted_7 = ["data-elevated"];
33
+ const _hoisted_8 = {
34
+ key: 0,
35
+ class: "astryx-app-shell__backdrop"
36
+ };
37
+ const _hoisted_9 = ["id"];
38
+ const mainId = "astryx-app-shell-main";
39
+ const _sfc_main = /*@__PURE__*/ defineComponent({
40
+ name: "AstryxAppShell",
41
+ inheritAttrs: false,
42
+ __name: "AppShell",
43
+ props: /*@__PURE__*/ mergeModels({
44
+ variant: { default: "elevated" },
45
+ contentPadding: {},
46
+ height: { default: "fill" },
47
+ mobileNav: {
48
+ type: [Boolean, Object],
49
+ default: void 0
50
+ }
51
+ }, {
52
+ "mobileNavOpen": {
53
+ type: Boolean,
54
+ default: false
55
+ },
56
+ "mobileNavOpenModifiers": {}
57
+ }),
58
+ emits: /*@__PURE__*/ mergeModels(["mobileNavOpenChange"], ["update:mobileNavOpen"]),
59
+ setup(__props, { expose: __expose, emit: __emit }) {
60
+ const props = __props;
61
+ const emit = __emit;
62
+ const attrs = useAttrs();
63
+ const slots = useSlots();
64
+ const messages = useAstryxMessages();
65
+ const root = useTemplateRef("root");
66
+ const mobileNavId = `astryx-app-shell-${useId()}`;
67
+ const uncontrolledOpen = useModel(__props, "mobileNavOpen");
68
+ __expose({ element: root });
69
+ const BREAKPOINTS = {
70
+ "sm": 640,
71
+ "md": 768,
72
+ "lg": 1024,
73
+ "xl": 1280,
74
+ "2xl": 1536
75
+ };
76
+ const isBelow = ref(false);
77
+ const breakpoint = computed(() => (typeof props.mobileNav === "object" ? props.mobileNav.breakpoint : void 0) ?? "md");
78
+ const query = computed(() => {
79
+ if (breakpoint.value === "none") return "(width < 0px)";
80
+ return `(width < ${BREAKPOINTS[breakpoint.value]}px)`;
81
+ });
82
+ const open = computed({
83
+ get: () => typeof props.mobileNav === "object" && props.mobileNav.isOpen != null ? props.mobileNav.isOpen : uncontrolledOpen.value,
84
+ set: (next) => {
85
+ uncontrolledOpen.value = next;
86
+ emit("mobileNavOpenChange", next);
87
+ }
88
+ });
89
+ const hasTopNav = computed(() => slots.topNav != null);
90
+ const hasSideNav = computed(() => slots.sideNav != null);
91
+ const hasCustomDrawer = computed(() => slots.mobileNav != null);
92
+ const mobileEnabled = computed(() => props.mobileNav !== false && (hasTopNav.value || hasSideNav.value) && !hasCustomDrawer.value);
93
+ const hasAutoToggle = computed(() => (typeof props.mobileNav !== "object" || props.mobileNav.hasToggle !== false) && !hasCustomDrawer.value);
94
+ const showSideInline = computed(() => hasSideNav.value && !(isBelow.value && mobileEnabled.value));
95
+ const elevate = computed(() => props.variant === "elevated" && hasTopNav.value && showSideInline.value);
96
+ const showMobileBar = computed(() => isBelow.value && mobileEnabled.value && hasAutoToggle.value && hasSideNav.value && !hasTopNav.value);
97
+ watch(query, (value, _previous, onCleanup) => {
98
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
99
+ const media = window.matchMedia(value);
100
+ const update = () => {
101
+ isBelow.value = media.matches;
102
+ };
103
+ update();
104
+ media.addEventListener("change", update);
105
+ onCleanup(() => media.removeEventListener("change", update));
106
+ }, { immediate: true });
107
+ const mobileState = reactive({
108
+ get isMobile() {
109
+ return isBelow.value;
110
+ },
111
+ get isMobileNavOpen() {
112
+ return open.value;
113
+ },
114
+ mobileNavId,
115
+ get isMobileNavEnabled() {
116
+ return mobileEnabled.value;
117
+ },
118
+ get hasAutoToggle() {
119
+ return hasAutoToggle.value;
120
+ },
121
+ get hasSideNav() {
122
+ return hasSideNav.value;
123
+ },
124
+ toggleMobileNav: () => {
125
+ if (mobileEnabled.value) open.value = !open.value;
126
+ },
127
+ openMobileNav: () => {
128
+ if (mobileEnabled.value) open.value = true;
129
+ },
130
+ closeMobileNav: () => {
131
+ open.value = false;
132
+ }
133
+ });
134
+ provide(appShellMobileKey, mobileState);
135
+ const forwardedAttrs = computed(() => Object.fromEntries(Object.entries(attrs).filter(([key]) => key !== "class" && key !== "style")));
136
+ const rootClass = computed(() => ["astryx-app-shell", attrs.class]);
137
+ const rootStyle = computed(() => attrs.style);
138
+ function focusMain() {
139
+ root.value?.ownerDocument.getElementById(mainId)?.focus();
140
+ }
141
+ return (_ctx, _cache) => {
142
+ return openBlock(), createElementBlock("div", mergeProps({
143
+ ref_key: "root",
144
+ ref: root
145
+ }, forwardedAttrs.value, {
146
+ class: rootClass.value,
147
+ style: rootStyle.value,
148
+ "data-variant": __props.variant,
149
+ "data-height": __props.height
150
+ }), [
151
+ createElementVNode("a", {
152
+ class: "astryx-app-shell__skip",
153
+ href: `#${mainId}`,
154
+ onClick: focusMain
155
+ }, toDisplayString(unref(messages).layout.skipToContent), 9, _hoisted_2),
156
+ createVNode(_sfc_main$2, {
157
+ height: __props.height,
158
+ padding: 0
159
+ }, createSlots({
160
+ default: withCtx(() => [createElementVNode("div", {
161
+ class: "astryx-app-shell__main",
162
+ "data-elevated": elevate.value || void 0
163
+ }, [elevate.value ? (openBlock(), createElementBlock("div", _hoisted_8)) : createCommentVNode("v-if", true), createVNode(_sfc_main$3, {
164
+ id: mainId,
165
+ class: "astryx-app-shell__content",
166
+ role: "main",
167
+ tabindex: -1,
168
+ padding: __props.contentPadding ?? 0,
169
+ "is-scrollable": __props.height === "fill",
170
+ "data-variant": __props.variant,
171
+ "data-corner": elevate.value || void 0
172
+ }, {
173
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
174
+ _: 3
175
+ }, 8, [
176
+ "padding",
177
+ "is-scrollable",
178
+ "data-variant",
179
+ "data-corner"
180
+ ])], 8, _hoisted_7)]),
181
+ _: 2
182
+ }, [hasTopNav.value || unref(slots).banner || showMobileBar.value ? {
183
+ name: "header",
184
+ fn: withCtx(() => [hasTopNav.value || unref(slots).banner ? (openBlock(), createElementBlock("div", {
185
+ key: 0,
186
+ class: "astryx-app-shell__header",
187
+ role: "banner",
188
+ "data-variant": __props.variant
189
+ }, [createVNode(_sfc_main$4, {
190
+ padding: 0,
191
+ "has-divider": __props.variant === "section" && hasTopNav.value
192
+ }, {
193
+ default: withCtx(() => [unref(slots).banner ? (openBlock(), createElementBlock("div", _hoisted_4, [renderSlot(_ctx.$slots, "banner")])) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "topNav")]),
194
+ _: 3
195
+ }, 8, ["has-divider"])], 8, _hoisted_3)) : createCommentVNode("v-if", true), showMobileBar.value ? (openBlock(), createElementBlock("div", {
196
+ key: 1,
197
+ class: "astryx-app-shell__mobile-bar",
198
+ role: "banner",
199
+ "data-variant": __props.variant
200
+ }, [createElementVNode("nav", {
201
+ class: "astryx-app-shell__mobile-nav",
202
+ "aria-label": unref(messages).layout.mobileNavigation
203
+ }, [createVNode(_sfc_main$1, { mode: "topbar" }, {
204
+ default: withCtx(() => [renderSlot(_ctx.$slots, "sideNav")]),
205
+ _: 3
206
+ }), createVNode(_sfc_main$6, {
207
+ label: unref(messages).nav.openNavigation,
208
+ "is-open": open.value,
209
+ controls: mobileNavId,
210
+ "onUpdate:isOpen": _cache[0] || (_cache[0] = ($event) => open.value = $event)
211
+ }, null, 8, ["label", "is-open"])], 8, _hoisted_6)], 8, _hoisted_5)) : createCommentVNode("v-if", true)]),
212
+ key: "0"
213
+ } : void 0, showSideInline.value ? {
214
+ name: "start",
215
+ fn: withCtx(() => [createVNode(_sfc_main$5, {
216
+ class: "astryx-app-shell__sidenav",
217
+ padding: 0,
218
+ "has-divider": __props.variant === "section",
219
+ "is-scrollable": __props.height === "fill",
220
+ "data-variant": __props.variant
221
+ }, {
222
+ default: withCtx(() => [renderSlot(_ctx.$slots, "sideNav")]),
223
+ _: 3
224
+ }, 8, [
225
+ "has-divider",
226
+ "is-scrollable",
227
+ "data-variant"
228
+ ])]),
229
+ key: "1"
230
+ } : void 0]), 1032, ["height"]),
231
+ hasCustomDrawer.value ? renderSlot(_ctx.$slots, "mobileNav", {}, void 0, void 0, 0) : isBelow.value && mobileEnabled.value ? (openBlock(), createBlock(_sfc_main$7, {
232
+ key: 1,
233
+ id: mobileNavId,
234
+ "is-open": open.value,
235
+ "onUpdate:isOpen": _cache[1] || (_cache[1] = ($event) => open.value = $event),
236
+ label: unref(messages).layout.mobileNavigation
237
+ }, {
238
+ default: withCtx(() => [createElementVNode("div", { id: `${mobileNavId}-items` }, null, 8, _hoisted_9), createVNode(_sfc_main$1, { mode: "drawer-content" }, {
239
+ default: withCtx(() => [renderSlot(_ctx.$slots, "sideNav")]),
240
+ _: 3
241
+ })]),
242
+ _: 3
243
+ }, 8, ["is-open", "label"])) : createCommentVNode("v-if", true)
244
+ ], 16, _hoisted_1);
245
+ };
246
+ }
247
+ });
248
+ //#endregion
249
+ export { _sfc_main as t };
@@ -0,0 +1,2 @@
1
+ import { a as AspectRatioSlots, i as AspectRatioShape, n as AspectRatioFit, r as AspectRatioProps, t as _default } from "../index-COqjznX0.js";
2
+ export { _default as AspectRatio, type AspectRatioFit, type AspectRatioProps, type AspectRatioShape, type AspectRatioSlots };
@@ -0,0 +1,2 @@
1
+ import { t as _sfc_main } from "../AspectRatio-Bij7e-tq.js";
2
+ export { _sfc_main as AspectRatio };
@@ -0,0 +1,40 @@
1
+ import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot, useAttrs, useTemplateRef } from "vue";
2
+ import "../styles/aspect-ratio.css";
3
+ //#region src/AspectRatio/AspectRatio.vue
4
+ const _hoisted_1 = ["data-shape"];
5
+ const _hoisted_2 = ["data-astryx-aspect-ratio-override", "data-fit"];
6
+ const _sfc_main = /*@__PURE__*/ defineComponent({
7
+ name: "AstryxAspectRatio",
8
+ inheritAttrs: false,
9
+ __name: "AspectRatio",
10
+ props: {
11
+ ratio: {},
12
+ shape: { default: "rectangle" },
13
+ fit: {}
14
+ },
15
+ setup(__props, { expose: __expose }) {
16
+ const props = __props;
17
+ const attrs = useAttrs();
18
+ const root = useTemplateRef("root");
19
+ __expose({ element: root });
20
+ const forwardedAttrs = computed(() => Object.fromEntries(Object.entries(attrs).filter(([key]) => key !== "class" && key !== "style")));
21
+ const rootClass = computed(() => ["astryx-aspect-ratio", attrs.class]);
22
+ const rootStyle = computed(() => [attrs.style, { "--astryx-aspect-ratio": String(props.ratio) }]);
23
+ return (_ctx, _cache) => {
24
+ return openBlock(), createElementBlock("div", mergeProps({
25
+ ref_key: "root",
26
+ ref: root
27
+ }, forwardedAttrs.value, {
28
+ class: rootClass.value,
29
+ "data-shape": __props.shape,
30
+ style: rootStyle.value
31
+ }), [createElementVNode("div", {
32
+ class: "astryx-aspect-ratio__child",
33
+ "data-astryx-aspect-ratio-override": __props.fit,
34
+ "data-fit": __props.fit
35
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_2)], 16, _hoisted_1);
36
+ };
37
+ }
38
+ });
39
+ //#endregion
40
+ export { _sfc_main as t };
@@ -1,2 +1,2 @@
1
- import { i as AvatarGroupProps, n as _default, r as AvatarGroupOverflowProps, t as _default$1 } from "../index-CaHXYQ_E.js";
1
+ import { i as AvatarGroupProps, n as _default, r as AvatarGroupOverflowProps, t as _default$1 } from "../index-Df2YvC8o.js";
2
2
  export { _default as AvatarGroup, _default$1 as AvatarGroupOverflow, type AvatarGroupOverflowProps, type AvatarGroupProps };
@@ -1,2 +1,2 @@
1
- import { Dn as BannerProps, En as BannerEmits, On as BannerSlots, Tn as BannerContainer, kn as BannerStatus, wn as _default } from "../index-CaHXYQ_E.js";
1
+ import { Cr as _default, Dr as BannerSlots, Er as BannerProps, Or as BannerStatus, Tr as BannerEmits, wr as BannerContainer } from "../index-Df2YvC8o.js";
2
2
  export { _default as Banner, type BannerContainer, type BannerEmits, type BannerProps, type BannerSlots, type BannerStatus };
@@ -1,2 +1,2 @@
1
- import { a as BottomSheetPadding, c as BottomSheetSlots, i as BottomSheetMotion, l as BottomSheetSnapPoint, n as BottomSheetEmits, o as BottomSheetProps, r as BottomSheetHeight, s as BottomSheetPurpose, t as _default, u as BottomSheetState } from "../index-BSRk8MFK.js";
1
+ import { a as BottomSheetPadding, c as BottomSheetSlots, i as BottomSheetMotion, l as BottomSheetSnapPoint, n as BottomSheetEmits, o as BottomSheetProps, r as BottomSheetHeight, s as BottomSheetPurpose, t as _default, u as BottomSheetState } from "../index-C8wDPDcP.js";
2
2
  export { _default as BottomSheet, type BottomSheetEmits, type BottomSheetHeight, type BottomSheetMotion, type BottomSheetPadding, type BottomSheetProps, type BottomSheetPurpose, type BottomSheetSlots, type BottomSheetSnapPoint, type BottomSheetState };
@@ -1,3 +1,3 @@
1
1
  import { a as ButtonProps, c as ButtonSizeValue, d as ButtonVariantMap, i as ButtonLinkElement, l as ButtonSlots, n as ButtonElevation, o as ButtonRootElement, r as ButtonEmits, s as ButtonSize, t as ButtonClickAction, u as ButtonVariant } from "../types-WlmsNL1I.js";
2
- import { t as _default } from "../index-CvLlWLIZ.js";
2
+ import { t as _default } from "../index-B4OOtNP8.js";
3
3
  export { _default as Button, _default as default, type ButtonClickAction, type ButtonElevation, type ButtonEmits, type ButtonLinkElement, type ButtonProps, type ButtonRootElement, type ButtonSize, type ButtonSizeValue, type ButtonSlots, type ButtonVariant, type ButtonVariantMap };
@@ -1,2 +1,2 @@
1
- import { Cn as ButtonGroupOrientation, Sn as ButtonGroupSlots, bn as _default, xn as ButtonGroupProps } from "../index-CaHXYQ_E.js";
1
+ import { Sr as ButtonGroupOrientation, br as ButtonGroupProps, xr as ButtonGroupSlots, yr as _default } from "../index-Df2YvC8o.js";
2
2
  export { _default as ButtonGroup, _default as default, type ButtonGroupOrientation, type ButtonGroupProps, type ButtonGroupSlots };
@@ -1,2 +1,2 @@
1
- import { t as _sfc_main } from "../Calendar-DpYFXwgb.js";
1
+ import { t as _sfc_main } from "../Calendar-CYhGDT6f.js";
2
2
  export { _sfc_main as Calendar };
@@ -1,5 +1,6 @@
1
1
  import { t as useGridRovingFocus } from "./useGridRovingFocus-DQQAOYH5.js";
2
- import { a as useAstryxMessages, i as useAstryxLocale, o as formatCalendarMonth, s as weekdayNames } from "./locale-56lkR7OK.js";
2
+ import { a as useAstryxMessages, i as useAstryxLocale } from "./context-D6ECRdc5.js";
3
+ import { n as weekdayNames, t as formatCalendarMonth } from "./locale-Cpk_nrLA.js";
3
4
  import { Fragment, computed, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useId, withKeys } from "vue";
4
5
  import { CalendarDate, getLocalTimeZone, today } from "@internationalized/date";
5
6
  import "../styles/calendar.css";
@@ -1,2 +1,2 @@
1
- import { a as _sfc_main$6, c as _sfc_main$3, d as useChatLayoutContext, f as useChatListContext, i as _sfc_main$7, l as _sfc_main$2, m as _sfc_main$1, n as _sfc_main$9, o as _sfc_main$5, p as useChatMessageContext, r as _sfc_main$8, s as _sfc_main$4, t as _sfc_main$10, u as _sfc_main } from "../Chat-Bfd-YPAK.js";
1
+ import { a as _sfc_main$6, c as _sfc_main$3, d as useChatLayoutContext, f as useChatListContext, i as _sfc_main$7, l as _sfc_main$2, m as _sfc_main$1, n as _sfc_main$9, o as _sfc_main$5, p as useChatMessageContext, r as _sfc_main$8, s as _sfc_main$4, t as _sfc_main$10, u as _sfc_main } from "../Chat-C1aWl5V3.js";
2
2
  export { _sfc_main as ChatLayout, _sfc_main$1 as ChatLayoutScrollButton, _sfc_main$2 as ChatMessage, _sfc_main$3 as ChatMessageBubble, _sfc_main$4 as ChatMessageList, _sfc_main$5 as ChatMessageMetadata, _sfc_main$6 as ChatReasoning, _sfc_main$7 as ChatSystemMessage, _sfc_main$8 as ChatToolCalls, _sfc_main$9 as ChatTypingIndicator, _sfc_main$10 as ChatUnreadDivider, useChatLayoutContext, useChatListContext, useChatMessageContext };
@@ -2,9 +2,9 @@ import { t as _sfc_main$14 } from "./VisuallyHidden-C7NN3VEP.js";
2
2
  import { t as _sfc_main$15 } from "./Button-DrqeomlE.js";
3
3
  import { t as useAnnounce } from "./announce-Cnio10Wk.js";
4
4
  import { r as useChatNewMessages, t as useChatStreamScroll } from "./useChatStreamScroll-oDfybEos.js";
5
+ import { a as useAstryxMessages, i as useAstryxLocale } from "./context-D6ECRdc5.js";
5
6
  import { t as _sfc_main$16 } from "./Badge-Ba0EwsTj.js";
6
- import { a as useAstryxMessages, i as useAstryxLocale } from "./locale-56lkR7OK.js";
7
- import { t as _sfc_main$17 } from "./Icon-B6qNgBP9.js";
7
+ import { t as _sfc_main$17 } from "./Icon-5MdZQ18k.js";
8
8
  import { t as _sfc_main$18 } from "./Spinner-9cYUCnDy.js";
9
9
  import { t as _sfc_main$19 } from "./Divider-BtwnL18I.js";
10
10
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, inject, mergeModels, mergeProps, normalizeClass, normalizeStyle, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, useId, useModel, useSlots, useTemplateRef, watch, withCtx } from "vue";
@@ -1,2 +1,2 @@
1
- import { _n as CheckboxInputProps, gn as CheckboxInputEmits, hn as CheckboxInputChangeEvent, mn as CheckboxInputChangeAction, pn as _default, vn as CheckboxInputSlots, yn as CheckboxValue } from "../index-CaHXYQ_E.js";
1
+ import { _r as CheckboxInputSlots, fr as _default, gr as CheckboxInputProps, hr as CheckboxInputEmits, mr as CheckboxInputChangeEvent, pr as CheckboxInputChangeAction, vr as CheckboxValue } from "../index-Df2YvC8o.js";
2
2
  export { _default as CheckboxInput, type CheckboxInputChangeAction, type CheckboxInputChangeEvent, type CheckboxInputEmits, type CheckboxInputProps, type CheckboxInputSlots, type CheckboxValue };
@@ -1,2 +1,2 @@
1
- import { t as _sfc_main } from "../CheckboxInput-C86o3XoG.js";
1
+ import { t as _sfc_main } from "../CheckboxInput-CMsEE1_4.js";
2
2
  export { _sfc_main as CheckboxInput };
@@ -2,7 +2,8 @@ import { t as _sfc_main$1 } from "./VisuallyHidden-C7NN3VEP.js";
2
2
  import { n as useButtonTooltip } from "./Button-DrqeomlE.js";
3
3
  import { t as _sfc_main$2 } from "./ButtonTooltip-nWWrth8j.js";
4
4
  import { t as _sfc_main$3 } from "./CheckboxIndicator-DdJmksHt.js";
5
- import { t as _sfc_main$4 } from "./FieldLabel-B1NRyQlS.js";
5
+ import { i as useAriaRequired } from "./context-Cfjh8te1.js";
6
+ import { t as _sfc_main$4 } from "./FieldLabel-DmmJyX7w.js";
6
7
  import { t as _sfc_main$5 } from "./FieldStatus-MjY19ERl.js";
7
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUpdated, openBlock, renderSlot, shallowRef, toDisplayString, unref, useAttrs, useId, useModel, useTemplateRef, watch, withCtx } from "vue";
8
9
  import "../styles/button.css";
@@ -122,6 +123,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
122
123
  setup(__props, { expose: __expose, emit: __emit }) {
123
124
  const props = __props;
124
125
  const emit = __emit;
126
+ const ariaRequired = useAriaRequired(props);
125
127
  const model = useModel(__props, "modelValue");
126
128
  const attrs = useAttrs();
127
129
  const input = useTemplateRef("input");
@@ -247,7 +249,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
247
249
  "aria-disabled": showsDisabledMessage.value || void 0,
248
250
  "aria-readonly": __props.isReadOnly || void 0,
249
251
  "aria-busy": busy.value || void 0,
250
- "aria-required": __props.isRequired && !__props.isOptional || void 0,
252
+ "aria-required": unref(ariaRequired),
251
253
  "aria-invalid": __props.status?.type === "error" ? true : inputAttrs()["aria-invalid"],
252
254
  onClick: click,
253
255
  onChange: change,
@@ -0,0 +1,2 @@
1
+ import { cr as CheckboxListEmits, dr as CheckboxListProps, lr as CheckboxListItemEmits, or as _default$1, sr as _default, ur as CheckboxListItemProps } from "../index-Df2YvC8o.js";
2
+ export { _default as CheckboxList, type CheckboxListEmits, _default$1 as CheckboxListItem, type CheckboxListItemEmits, type CheckboxListItemProps, type CheckboxListProps };
@@ -0,0 +1,2 @@
1
+ import { n as _sfc_main, t as _sfc_main$1 } from "../CheckboxList-EsIEXjK_.js";
2
+ export { _sfc_main as CheckboxList, _sfc_main$1 as CheckboxListItem };
@@ -0,0 +1,174 @@
1
+ import { t as _sfc_main$2 } from "./CheckboxInput-CMsEE1_4.js";
2
+ import { t as _sfc_main$3 } from "./Field-8zRxzDHE.js";
3
+ import { r as useItemDescriptionId } from "./Item-C1z6gXn8.js";
4
+ import { n as _sfc_main$4, t as _sfc_main$5 } from "./ListItem-pGxvn6QJ.js";
5
+ import { computed, createBlock, createElementVNode, createSlots, createVNode, defineComponent, inject, mergeModels, openBlock, provide, renderSlot, toDisplayString, unref, useId, useModel, useTemplateRef, withCtx } from "vue";
6
+ import "../styles/checkbox-list.css";
7
+ //#region src/CheckboxList/context.ts
8
+ const checkboxListKey = Symbol("astryx-checkbox-list");
9
+ //#endregion
10
+ //#region src/CheckboxList/CheckboxList.vue
11
+ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
12
+ name: "AstryxCheckboxList",
13
+ __name: "CheckboxList",
14
+ props: /*@__PURE__*/ mergeModels({
15
+ label: {},
16
+ id: {},
17
+ description: {},
18
+ density: { default: "balanced" },
19
+ hasDividers: {
20
+ type: Boolean,
21
+ default: false
22
+ },
23
+ isDisabled: { type: Boolean },
24
+ isRequired: { type: Boolean },
25
+ isOptional: { type: Boolean },
26
+ isLabelHidden: { type: Boolean },
27
+ status: {},
28
+ statusVariant: { default: "detached" },
29
+ width: {}
30
+ }, {
31
+ "modelValue": {},
32
+ "modelModifiers": {}
33
+ }),
34
+ emits: /*@__PURE__*/ mergeModels(["update:modelValue", "change"], ["update:modelValue"]),
35
+ setup(__props, { emit: __emit }) {
36
+ const props = __props;
37
+ const emit = __emit;
38
+ const model = useModel(__props, "modelValue");
39
+ const generatedId = `astryx-checkbox-list-${useId()}`;
40
+ const inputId = computed(() => props.id ?? generatedId);
41
+ function toggle(value, checked) {
42
+ const current = model.value ?? [];
43
+ const next = checked ? current.includes(value) ? current : [...current, value] : current.filter((item) => item !== value);
44
+ model.value = next;
45
+ emit("change", next);
46
+ }
47
+ provide(checkboxListKey, {
48
+ values: model,
49
+ toggle,
50
+ isDisabled: computed(() => props.isDisabled ?? false),
51
+ size: computed(() => props.density === "compact" ? "sm" : "md")
52
+ });
53
+ return (_ctx, _cache) => {
54
+ return openBlock(), createBlock(_sfc_main$3, {
55
+ class: "astryx-checkbox-list",
56
+ label: __props.label,
57
+ "input-id": inputId.value,
58
+ "is-group-label": "",
59
+ description: __props.description,
60
+ width: __props.width,
61
+ "is-label-hidden": __props.isLabelHidden,
62
+ "is-disabled": __props.isDisabled,
63
+ "is-optional": __props.isOptional,
64
+ "is-required": __props.isRequired,
65
+ status: __props.status,
66
+ "status-variant": __props.statusVariant
67
+ }, {
68
+ default: withCtx((field) => [createVNode(_sfc_main$4, {
69
+ density: __props.density,
70
+ "has-dividers": __props.hasDividers,
71
+ "aria-labelledby": field.labelId,
72
+ "aria-describedby": field.describedBy
73
+ }, {
74
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
75
+ _: 3
76
+ }, 8, [
77
+ "density",
78
+ "has-dividers",
79
+ "aria-labelledby",
80
+ "aria-describedby"
81
+ ])]),
82
+ _: 3
83
+ }, 8, [
84
+ "label",
85
+ "input-id",
86
+ "description",
87
+ "width",
88
+ "is-label-hidden",
89
+ "is-disabled",
90
+ "is-optional",
91
+ "is-required",
92
+ "status",
93
+ "status-variant"
94
+ ]);
95
+ };
96
+ }
97
+ });
98
+ //#endregion
99
+ //#region src/CheckboxList/CheckboxListItem.vue
100
+ const _hoisted_1 = { "aria-hidden": "true" };
101
+ const _sfc_main = /*@__PURE__*/ defineComponent({
102
+ name: "AstryxCheckboxListItem",
103
+ __name: "CheckboxListItem",
104
+ props: {
105
+ label: {},
106
+ value: {},
107
+ description: {},
108
+ isDisabled: { type: Boolean },
109
+ isChecked: { type: [Boolean, String] }
110
+ },
111
+ emits: ["check"],
112
+ setup(__props, { emit: __emit }) {
113
+ const props = __props;
114
+ const emit = __emit;
115
+ const context = inject(checkboxListKey, void 0);
116
+ const descriptionId = useItemDescriptionId();
117
+ const checkbox = useTemplateRef("checkbox");
118
+ const interactiveRef = computed(() => checkbox.value?.element ?? null);
119
+ const collection = computed(() => context != null && context.values.value != null);
120
+ const checked = computed(() => {
121
+ if (collection.value && props.value != null) return context?.values.value?.includes(props.value) ?? false;
122
+ return props.isChecked ?? false;
123
+ });
124
+ const disabled = computed(() => props.isDisabled || context?.isDisabled.value);
125
+ const selected = computed(() => checked.value === true);
126
+ if (collection.value && props.value == null) throw new Error("CheckboxListItem 在集合模式下必须提供 value。");
127
+ function onChecked(value) {
128
+ const next = value === true;
129
+ if (collection.value && props.value != null) context?.toggle(props.value, next);
130
+ else emit("check", next);
131
+ }
132
+ return (_ctx, _cache) => {
133
+ return openBlock(), createBlock(_sfc_main$5, {
134
+ label: __props.label,
135
+ description: __props.description,
136
+ "is-selected": selected.value,
137
+ "is-disabled": disabled.value,
138
+ "interactive-ref": interactiveRef.value
139
+ }, createSlots({
140
+ label: withCtx(() => [createElementVNode("span", _hoisted_1, toDisplayString(__props.label), 1)]),
141
+ startContent: withCtx(() => [createVNode(_sfc_main$2, {
142
+ ref_key: "checkbox",
143
+ ref: checkbox,
144
+ "model-value": checked.value,
145
+ label: __props.label,
146
+ "is-label-hidden": "",
147
+ size: unref(context)?.size.value ?? "md",
148
+ "is-disabled": disabled.value,
149
+ "aria-describedby": unref(descriptionId) ?? void 0,
150
+ "onUpdate:modelValue": onChecked
151
+ }, null, 8, [
152
+ "model-value",
153
+ "label",
154
+ "size",
155
+ "is-disabled",
156
+ "aria-describedby"
157
+ ])]),
158
+ _: 2
159
+ }, [_ctx.$slots.end ? {
160
+ name: "endContent",
161
+ fn: withCtx(() => [renderSlot(_ctx.$slots, "end")]),
162
+ key: "0"
163
+ } : void 0]), 1032, [
164
+ "label",
165
+ "description",
166
+ "is-selected",
167
+ "is-disabled",
168
+ "interactive-ref"
169
+ ]);
170
+ };
171
+ }
172
+ });
173
+ //#endregion
174
+ export { _sfc_main$1 as n, _sfc_main as t };
@@ -1,2 +1,2 @@
1
- import { t as _sfc_main } from "../Citation-DaDd1teb.js";
1
+ import { t as _sfc_main } from "../Citation-C1X0Rde8.js";
2
2
  export { _sfc_main as Citation };
@@ -1,5 +1,5 @@
1
- import { a as useAstryxMessages } from "./locale-56lkR7OK.js";
2
- import { t as _sfc_main$1 } from "./Icon-B6qNgBP9.js";
1
+ import { a as useAstryxMessages } from "./context-D6ECRdc5.js";
2
+ import { t as _sfc_main$1 } from "./Icon-5MdZQ18k.js";
3
3
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, openBlock, toDisplayString, useTemplateRef } from "vue";
4
4
  import "../styles/citation.css";
5
5
  //#region src/Citation/Citation.vue
@@ -0,0 +1,2 @@
1
+ import { ar as ClickableCardSlots, ir as ClickableCardProps, nr as _default, rr as ClickableCardEmits } from "../index-Df2YvC8o.js";
2
+ export { _default as ClickableCard, _default as default, type ClickableCardEmits, type ClickableCardProps, type ClickableCardSlots };
@@ -0,0 +1,2 @@
1
+ import { n as _sfc_main, t as ClickableCard_default } from "../ClickableCard-Bhds4RRe.js";
2
+ export { _sfc_main as ClickableCard, ClickableCard_default as default };