@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
@@ -0,0 +1,229 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.components {
4
+ .astryx-tree-list {
5
+ position: relative;
6
+ --tree-list-indent: var(--astryx-spacing-4, 16px);
7
+ --tree-list-row-gap: var(--astryx-spacing-0-5, 2px);
8
+ /*
9
+ * A nested branch only indents 16px, while the guide is centered on the
10
+ * parent chevron (10px margin + 10px). The 1px line therefore ends about
11
+ * 4.5px inside that row. The fill starts one 4px step past that edge.
12
+ */
13
+ --_tree-guide-clearance: calc(
14
+ var(--astryx-spacing-2, 8px) + var(--astryx-spacing-0-5, 2px) + (var(--astryx-spacing-5, 20px) / 2) + 0.5px - var(--tree-list-indent, 16px) + var(--astryx-spacing-1, 4px)
15
+ );
16
+ }
17
+
18
+ .astryx-tree-list__header {
19
+ margin-bottom: var(--astryx-spacing-2, 8px);
20
+ }
21
+
22
+ .astryx-tree-list__list,
23
+ .astryx-tree-list__group {
24
+ margin: 0;
25
+ padding: 0;
26
+ list-style: none;
27
+ }
28
+
29
+ .astryx-tree-list__item {
30
+ position: relative;
31
+ width: 100%;
32
+ margin: 0;
33
+ padding: 0;
34
+ list-style: none;
35
+ outline: none;
36
+ }
37
+
38
+ .astryx-tree-list__row {
39
+ position: relative;
40
+ padding-block: calc(var(--tree-list-row-gap, 0px) / 2);
41
+ }
42
+
43
+ .astryx-tree-list__content {
44
+ position: relative;
45
+ isolation: isolate;
46
+ display: flex;
47
+ box-sizing: border-box;
48
+ align-items: center;
49
+ gap: var(--astryx-spacing-2, 8px);
50
+ margin-inline-start: var(--_tree-indent, 0px);
51
+ padding-inline: var(--astryx-spacing-2, 8px);
52
+ overflow: hidden;
53
+ border-radius: var(--astryx-radius-element, 0.625rem);
54
+ font-size: var(--astryx-text-body-size, 1rem);
55
+ line-height: var(--astryx-text-body-leading, 1.4286);
56
+ text-align: start;
57
+ }
58
+
59
+ .astryx-tree-list__content::before {
60
+ content: '';
61
+ position: absolute;
62
+ z-index: -1;
63
+ inset: 0;
64
+ border-radius: inherit;
65
+ background-color: transparent;
66
+ pointer-events: none;
67
+ transition: background-color var(--astryx-duration-fast, 125ms) var(--astryx-ease-standard, cubic-bezier(0.24, 1, 0.4, 1));
68
+ }
69
+
70
+ .astryx-tree-list__content[data-guide-inset]::before {
71
+ inset-inline-start: var(--_tree-guide-clearance, 8.5px);
72
+ }
73
+
74
+ .astryx-tree-list__content[data-density='compact'] {
75
+ padding-block: var(--astryx-spacing-1, 4px);
76
+ }
77
+
78
+ .astryx-tree-list__content[data-density='balanced'] {
79
+ padding-block: var(--astryx-spacing-2, 8px);
80
+ }
81
+
82
+ .astryx-tree-list__content[data-density='spacious'] {
83
+ padding-block: var(--astryx-spacing-3, 12px);
84
+ }
85
+
86
+ .astryx-tree-list__content[data-selected='true']::before {
87
+ background-color: var(--astryx-color-accent-muted, light-dark(#f1f1f1, #262626));
88
+ }
89
+
90
+ .astryx-tree-list__content[data-interactive='true'] {
91
+ cursor: pointer;
92
+ }
93
+
94
+ @media (hover: hover) {
95
+ .astryx-tree-list__content[data-interactive='true']:hover::before {
96
+ background-color: var(--astryx-color-overlay-hover, light-dark(#0000000d, #ffffff0d));
97
+ }
98
+
99
+ .astryx-tree-list__content[data-selected='true']:hover::before {
100
+ background-color: var(--astryx-color-accent-muted, light-dark(#f1f1f1, #262626));
101
+ }
102
+ }
103
+
104
+ .astryx-tree-list__item:focus-visible > .astryx-tree-list__row > .astryx-tree-list__content {
105
+ outline: var(--astryx-focus-outline-width, 2px) var(--astryx-focus-outline-style, solid) var(--astryx-focus-outline-color, var(--astryx-color-accent));
106
+ outline-offset: var(--astryx-focus-outline-offset, 3px);
107
+ }
108
+
109
+ .astryx-tree-list__content[data-disabled='true'] {
110
+ cursor: default;
111
+ opacity: 0.5;
112
+ pointer-events: none;
113
+ }
114
+
115
+ .astryx-tree-list__label {
116
+ color: var(--astryx-color-text-primary, light-dark(#171717, #fafafa));
117
+ }
118
+
119
+ .astryx-tree-list__description {
120
+ color: var(--astryx-color-text-secondary, light-dark(#525252, #a3a3a3));
121
+ font-size: var(--astryx-text-supporting-size, 0.875rem);
122
+ line-height: var(--astryx-text-supporting-leading, 1.6667);
123
+ }
124
+
125
+ .astryx-tree-list__main,
126
+ .astryx-tree-list__action {
127
+ display: flex;
128
+ flex: 1;
129
+ flex-direction: column;
130
+ min-width: 0;
131
+ padding: 0;
132
+ border: 0;
133
+ background: transparent;
134
+ color: inherit;
135
+ font: inherit;
136
+ text-align: start;
137
+ text-decoration: none;
138
+ outline: none;
139
+ cursor: inherit;
140
+ }
141
+
142
+ .astryx-tree-list__start,
143
+ .astryx-tree-list__end {
144
+ display: flex;
145
+ flex-shrink: 0;
146
+ align-items: center;
147
+ }
148
+
149
+ /*
150
+ * External icon classes (UnoCSS and the like) size themselves to 100% of
151
+ * their box. The box has to be explicit or the glyph collapses to nothing.
152
+ * 1rem matches Icon size sm, the size the original file-tree icons use.
153
+ */
154
+ .astryx-tree-list__icon {
155
+ display: inline-flex;
156
+ flex: none;
157
+ width: 1rem;
158
+ height: 1rem;
159
+ color: var(--astryx-color-text-primary, currentcolor);
160
+ }
161
+
162
+ .astryx-tree-list__icon > i {
163
+ display: block;
164
+ width: 100%;
165
+ height: 100%;
166
+ }
167
+
168
+ .astryx-tree-list__end {
169
+ margin-inline-start: auto;
170
+ }
171
+
172
+ .astryx-tree-list__chevron {
173
+ display: flex;
174
+ flex-shrink: 0;
175
+ align-items: center;
176
+ justify-content: center;
177
+ width: var(--astryx-spacing-4, 16px);
178
+ height: var(--astryx-spacing-4, 16px);
179
+ margin-inline: var(--astryx-spacing-1, 4px) calc(var(--astryx-spacing-1, 4px) * -1);
180
+ padding: 0;
181
+ border: 0;
182
+ border-radius: var(--astryx-radius-inner, 0.375rem);
183
+ background: transparent;
184
+ color: var(--astryx-color-icon-secondary, light-dark(#737373, #a3a3a3));
185
+ cursor: pointer;
186
+ }
187
+
188
+ .astryx-tree-list__chevron .astryx-icon {
189
+ width: var(--astryx-spacing-4, 16px);
190
+ height: var(--astryx-spacing-4, 16px);
191
+ font-size: var(--astryx-spacing-4, 16px);
192
+ transition: transform var(--astryx-duration-fast, 125ms) var(--astryx-ease-standard, cubic-bezier(0.24, 1, 0.4, 1));
193
+ }
194
+
195
+ .astryx-tree-list__chevron[data-state='expanded'] .astryx-icon {
196
+ transform: rotate(90deg);
197
+ }
198
+
199
+ [dir='rtl'] .astryx-tree-list__chevron .astryx-icon {
200
+ transform: scaleX(-1);
201
+ }
202
+
203
+ [dir='rtl'] .astryx-tree-list__chevron[data-state='expanded'] .astryx-icon {
204
+ transform: scaleX(-1) rotate(90deg);
205
+ }
206
+
207
+ .astryx-tree-list__guide {
208
+ position: absolute;
209
+ width: var(--astryx-spacing-5, 20px);
210
+ height: 100%;
211
+ }
212
+
213
+ .astryx-tree-list__guide-line {
214
+ position: absolute;
215
+ inset-inline: 0;
216
+ width: 1px;
217
+ margin: auto;
218
+ border-radius: 1px;
219
+ background-color: var(--astryx-color-border-emphasized, light-dark(#d4d4d4, #525252));
220
+ }
221
+
222
+ .astryx-tree-list__guide-line[data-span='full'] {
223
+ height: calc(100% + 1px);
224
+ }
225
+
226
+ .astryx-tree-list__guide-line[data-span='last'] {
227
+ height: calc(100% - var(--tree-list-row-gap, 0px) / 2);
228
+ }
229
+ }
package/styles.css CHANGED
@@ -1,10 +1,13 @@
1
1
  /* 这个文件由 `pnpm sync` 生成,不要手改。 */
2
2
  @import './styles/alert-dialog.css';
3
+ @import './styles/app-shell.css';
4
+ @import './styles/aspect-ratio.css';
3
5
  @import './styles/avatar.css';
4
6
  @import './styles/avatar-group.css';
5
7
  @import './styles/badge.css';
6
8
  @import './styles/banner.css';
7
9
  @import './styles/blockquote.css';
10
+ @import './styles/bordered-control.css';
8
11
  @import './styles/bottom-sheet.css';
9
12
  @import './styles/breadcrumbs.css';
10
13
  @import './styles/button.css';
@@ -14,24 +17,34 @@
14
17
  @import './styles/chat.css';
15
18
  @import './styles/checkbox-indicator.css';
16
19
  @import './styles/checkbox-input.css';
20
+ @import './styles/checkbox-list.css';
17
21
  @import './styles/citation.css';
22
+ @import './styles/clickable-card.css';
18
23
  @import './styles/code.css';
19
24
  @import './styles/collapsible.css';
25
+ @import './styles/command-palette.css';
26
+ @import './styles/complex-selector.css';
20
27
  @import './styles/context-menu.css';
28
+ @import './styles/date-range-input.css';
29
+ @import './styles/date-time-input.css';
21
30
  @import './styles/dialog.css';
22
31
  @import './styles/dialog-header.css';
23
32
  @import './styles/divider.css';
24
33
  @import './styles/dropdown-menu.css';
25
34
  @import './styles/empty-state.css';
26
35
  @import './styles/field.css';
36
+ @import './styles/file-input.css';
37
+ @import './styles/form-layout.css';
27
38
  @import './styles/grid.css';
28
39
  @import './styles/heading.css';
29
40
  @import './styles/hover-card.css';
30
41
  @import './styles/icon.css';
31
42
  @import './styles/kbd.css';
43
+ @import './styles/layout.css';
32
44
  @import './styles/link.css';
33
45
  @import './styles/list.css';
34
46
  @import './styles/markdown.css';
47
+ @import './styles/metadata-list.css';
35
48
  @import './styles/mobile-nav.css';
36
49
  @import './styles/more-menu.css';
37
50
  @import './styles/motion.css';
@@ -43,6 +56,9 @@
43
56
  @import './styles/popover.css';
44
57
  @import './styles/progress-bar.css';
45
58
  @import './styles/radio.css';
59
+ @import './styles/resize-handle.css';
60
+ @import './styles/scrollable-area.css';
61
+ @import './styles/section.css';
46
62
  @import './styles/segmented-control.css';
47
63
  @import './styles/side-nav.css';
48
64
  @import './styles/skeleton.css';
@@ -50,11 +66,17 @@
50
66
  @import './styles/spinner.css';
51
67
  @import './styles/stack.css';
52
68
  @import './styles/status-dot.css';
69
+ @import './styles/stepper.css';
53
70
  @import './styles/switch.css';
54
71
  @import './styles/tab-list.css';
72
+ @import './styles/tab-menu.css';
73
+ @import './styles/table.css';
55
74
  @import './styles/text.css';
56
75
  @import './styles/text-area.css';
57
76
  @import './styles/text-input.css';
77
+ @import './styles/thumbnail.css';
78
+ @import './styles/time-input.css';
79
+ @import './styles/timestamp.css';
58
80
  @import './styles/toast.css';
59
81
  @import './styles/toggle-button.css';
60
82
  @import './styles/token.css';
@@ -62,5 +84,6 @@
62
84
  @import './styles/toolbar.css';
63
85
  @import './styles/tooltip.css';
64
86
  @import './styles/top-nav.css';
87
+ @import './styles/tree-list.css';
65
88
  @import './styles/typeahead.css';
66
89
  @import './styles/visually-hidden.css';
@@ -1,102 +0,0 @@
1
- import { t as _sfc_main$1 } from "./Icon-B6qNgBP9.js";
2
- import { Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, openBlock, renderSlot, shallowRef, toDisplayString, useId, useModel, useTemplateRef, vShow, withCtx, withDirectives } from "vue";
3
- import "../styles/collapsible.css";
4
- //#region src/Collapsible/Collapsible.vue
5
- const _hoisted_1 = [
6
- "data-chevron-position",
7
- "data-open",
8
- "data-disabled",
9
- "aria-expanded",
10
- "aria-disabled",
11
- "tabindex"
12
- ];
13
- const _hoisted_2 = { class: "astryx-collapsible-trigger-label" };
14
- const _hoisted_3 = ["data-open"];
15
- const _hoisted_4 = { class: "astryx-collapsible-content-inner" };
16
- const _sfc_main = /*@__PURE__*/ defineComponent({
17
- name: "AstryxCollapsible",
18
- __name: "Collapsible",
19
- props: /*@__PURE__*/ mergeModels({
20
- trigger: {},
21
- defaultIsOpen: {
22
- type: Boolean,
23
- default: true
24
- },
25
- isDisabled: {
26
- type: Boolean,
27
- default: false
28
- },
29
- chevronPosition: { default: "end" }
30
- }, {
31
- "isOpen": {
32
- type: Boolean,
33
- default: void 0
34
- },
35
- "isOpenModifiers": {}
36
- }),
37
- emits: /*@__PURE__*/ mergeModels(["openChange"], ["update:isOpen"]),
38
- setup(__props, { expose: __expose, emit: __emit }) {
39
- const props = __props;
40
- const emit = __emit;
41
- const open = useModel(__props, "isOpen");
42
- const localIsOpen = shallowRef(props.defaultIsOpen);
43
- const isOpen = computed(() => open.value ?? localIsOpen.value);
44
- const isChevronAtStart = computed(() => props.chevronPosition === "start");
45
- const contentId = `astryx-collapsible-${useId()}`;
46
- const root = useTemplateRef("root");
47
- __expose({ element: computed(() => root.value ?? null) });
48
- function toggle() {
49
- if (props.isDisabled) return;
50
- const next = !isOpen.value;
51
- localIsOpen.value = next;
52
- open.value = next;
53
- emit("openChange", next);
54
- }
55
- return (_ctx, _cache) => {
56
- return openBlock(), createElementBlock("div", {
57
- ref_key: "root",
58
- ref: root,
59
- class: "astryx-collapsible"
60
- }, [createElementVNode("button", {
61
- type: "button",
62
- class: "astryx-collapsible-trigger",
63
- "data-chevron-position": __props.chevronPosition,
64
- "data-open": isOpen.value ? "open" : void 0,
65
- "data-disabled": __props.isDisabled ? "disabled" : void 0,
66
- "aria-expanded": isOpen.value,
67
- "aria-controls": contentId,
68
- "aria-disabled": __props.isDisabled || void 0,
69
- tabindex: __props.isDisabled ? -1 : void 0,
70
- onClick: toggle
71
- }, [
72
- isChevronAtStart.value ? (openBlock(), createBlock(_sfc_main$1, {
73
- key: 0,
74
- class: "astryx-collapsible-chevron",
75
- color: "secondary",
76
- icon: "chevronRight",
77
- size: "sm"
78
- })) : createCommentVNode("v-if", true),
79
- createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "trigger", {}, () => [createTextVNode(toDisplayString(__props.trigger), 1)])]),
80
- !isChevronAtStart.value ? (openBlock(), createBlock(_sfc_main$1, {
81
- key: 1,
82
- class: "astryx-collapsible-chevron",
83
- color: "secondary",
84
- icon: "chevronDown",
85
- size: "sm"
86
- })) : createCommentVNode("v-if", true)
87
- ], 8, _hoisted_1), createVNode(Transition, {
88
- name: "astryx-collapsible-reveal",
89
- persisted: ""
90
- }, {
91
- default: withCtx(() => [withDirectives(createElementVNode("div", {
92
- id: contentId,
93
- class: "astryx-collapsible-content",
94
- "data-open": isOpen.value ? "open" : void 0
95
- }, [createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")])], 8, _hoisted_3), [[vShow, isOpen.value]])]),
96
- _: 3
97
- })], 512);
98
- };
99
- }
100
- });
101
- //#endregion
102
- export { _sfc_main as t };
@@ -1,184 +0,0 @@
1
- import { computed, createElementBlock, createElementVNode, defineComponent, inject, normalizeClass, onMounted, onUnmounted, openBlock, provide, reactive, ref, renderSlot, watch } from "vue";
2
- import "../styles/tab-list.css";
3
- //#region src/TabList/context.ts
4
- const tabListContextKey = Symbol("tabListContext");
5
- //#endregion
6
- //#region src/TabList/Tab.vue
7
- const _hoisted_1$1 = [
8
- "id",
9
- "aria-selected",
10
- "aria-controls",
11
- "tabindex",
12
- "disabled"
13
- ];
14
- const _hoisted_2 = { class: "astryx-tab__label" };
15
- const _sfc_main$1 = /*@__PURE__*/ defineComponent({
16
- __name: "Tab",
17
- props: {
18
- value: {},
19
- panelId: {},
20
- disabled: {
21
- type: Boolean,
22
- default: false
23
- }
24
- },
25
- setup(__props) {
26
- const props = __props;
27
- const context = inject(tabListContextKey);
28
- const rootRef = ref();
29
- const isSelected = computed(() => context?.value.value === props.value);
30
- const tabIndex = computed(() => isSelected.value && !props.disabled ? 0 : -1);
31
- const classes = computed(() => [
32
- "astryx-tab",
33
- `astryx-tab--size-${context?.size.value ?? "md"}`,
34
- isSelected.value && "astryx-tab--selected",
35
- props.disabled && "astryx-tab--disabled"
36
- ]);
37
- function handleClick() {
38
- if (props.disabled || !context) return;
39
- context.selectTab(props.value);
40
- }
41
- function handleKeydown(event) {
42
- if (props.disabled || !context) return;
43
- switch (event.key) {
44
- case "ArrowRight":
45
- case "ArrowDown":
46
- event.preventDefault();
47
- context.moveFocus("next", props.value);
48
- break;
49
- case "ArrowLeft":
50
- case "ArrowUp":
51
- event.preventDefault();
52
- context.moveFocus("prev", props.value);
53
- break;
54
- case "Home":
55
- event.preventDefault();
56
- context.moveFocus("first", props.value);
57
- break;
58
- case "End":
59
- event.preventDefault();
60
- context.moveFocus("last", props.value);
61
- }
62
- }
63
- onMounted(() => {
64
- if (!context || !rootRef.value) return;
65
- context.registerTab({
66
- value: props.value,
67
- disabled: props.disabled,
68
- el: rootRef.value
69
- });
70
- });
71
- onUnmounted(() => {
72
- context?.unregisterTab(props.value);
73
- });
74
- watch(() => props.disabled, (disabled) => {
75
- if (!context || !rootRef.value) return;
76
- context.registerTab({
77
- value: props.value,
78
- disabled,
79
- el: rootRef.value
80
- });
81
- });
82
- return (_ctx, _cache) => {
83
- return openBlock(), createElementBlock("button", {
84
- id: `astryx-tab-${__props.value}`,
85
- ref_key: "rootRef",
86
- ref: rootRef,
87
- type: "button",
88
- role: "tab",
89
- class: normalizeClass(classes.value),
90
- "aria-selected": isSelected.value,
91
- "aria-controls": __props.panelId,
92
- tabindex: tabIndex.value,
93
- disabled: __props.disabled,
94
- onClick: handleClick,
95
- onKeydown: handleKeydown
96
- }, [createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "default")])], 42, _hoisted_1$1);
97
- };
98
- }
99
- });
100
- //#endregion
101
- //#region src/TabList/TabList.vue
102
- const _hoisted_1 = { class: "astryx-tab-list__strip" };
103
- const _sfc_main = /*@__PURE__*/ defineComponent({
104
- __name: "TabList",
105
- props: {
106
- value: {},
107
- size: { default: "md" },
108
- layout: { default: "hug" },
109
- hasDivider: {
110
- type: Boolean,
111
- default: false
112
- }
113
- },
114
- emits: ["update:value", "change"],
115
- setup(__props, { emit: __emit }) {
116
- const props = __props;
117
- const emit = __emit;
118
- const tabs = reactive([]);
119
- const focusedValue = ref(props.value);
120
- const enabledTabs = computed(() => tabs.filter((tab) => !tab.disabled));
121
- function selectTab(value) {
122
- if (value === props.value) return;
123
- emit("update:value", value);
124
- emit("change", value);
125
- focusedValue.value = value;
126
- }
127
- function moveFocus(direction, value) {
128
- const stops = enabledTabs.value;
129
- if (stops.length === 0) return;
130
- const index = stops.findIndex((tab) => tab.value === value);
131
- let nextIndex = index;
132
- switch (direction) {
133
- case "next":
134
- nextIndex = index >= 0 ? (index + 1) % stops.length : 0;
135
- break;
136
- case "prev":
137
- nextIndex = index >= 0 ? (index - 1 + stops.length) % stops.length : stops.length - 1;
138
- break;
139
- case "first":
140
- nextIndex = 0;
141
- break;
142
- case "last": nextIndex = stops.length - 1;
143
- }
144
- const next = stops[nextIndex];
145
- if (!next) return;
146
- focusedValue.value = next.value;
147
- selectTab(next.value);
148
- next.el.focus();
149
- }
150
- function registerTab(tab) {
151
- const existingIndex = tabs.findIndex((t) => t.value === tab.value);
152
- if (existingIndex >= 0) tabs.splice(existingIndex, 1, tab);
153
- else tabs.push(tab);
154
- }
155
- function unregisterTab(value) {
156
- const index = tabs.findIndex((t) => t.value === value);
157
- if (index >= 0) tabs.splice(index, 1);
158
- }
159
- provide(tabListContextKey, {
160
- value: computed(() => props.value),
161
- size: computed(() => props.size),
162
- layout: computed(() => props.layout),
163
- hasDivider: computed(() => props.hasDivider),
164
- tabs,
165
- focusedValue,
166
- registerTab,
167
- unregisterTab,
168
- selectTab,
169
- moveFocus
170
- });
171
- return (_ctx, _cache) => {
172
- return openBlock(), createElementBlock("div", {
173
- class: normalizeClass(["astryx-tab-list", [
174
- `astryx-tab-list--size-${__props.size}`,
175
- `astryx-tab-list--layout-${__props.layout}`,
176
- __props.hasDivider && "astryx-tab-list--has-divider"
177
- ]]),
178
- role: "tablist"
179
- }, [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "default")])], 2);
180
- };
181
- }
182
- });
183
- //#endregion
184
- export { _sfc_main$1 as n, _sfc_main as t };