@astryx-vue/core 0.2.3 → 0.2.4

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 (303) hide show
  1. package/THIRD_PARTY_NOTICES.md +2 -0
  2. package/dist/AlertDialog/index.js +1 -1
  3. package/dist/{AlertDialog-ovx4cBjM.js → AlertDialog-B6UeBCE7.js} +2 -2
  4. package/dist/AppShell/index.d.ts +1 -1
  5. package/dist/AppShell/index.js +1 -1
  6. package/dist/{AppShell-Dd-D4bA2.js → AppShell-CeBmB0Q9.js} +2 -2
  7. package/dist/Avatar/index.d.ts +1 -1
  8. package/dist/Avatar/index.js +1 -1
  9. package/dist/{Avatar-jmHInHwj.js → Avatar-BB4Z4LF1.js} +10 -4
  10. package/dist/AvatarGroup/index.d.ts +1 -1
  11. package/dist/Banner/index.d.ts +1 -1
  12. package/dist/BottomSheet/index.d.ts +2 -2
  13. package/dist/BottomSheet/index.js +3 -2
  14. package/dist/{BottomSheet-Dg95HB1s.js → BottomSheet-BV6vfgGu.js} +82 -22
  15. package/dist/BottomSheet-o7xw-TOi.js +153 -0
  16. package/dist/Breadcrumbs/index.d.ts +2 -2
  17. package/dist/Breadcrumbs/index.js +2 -2
  18. package/dist/{Breadcrumbs-CWGfgLNK.js → Breadcrumbs-D6G7f5WL.js} +1 -1
  19. package/dist/Button/index.d.ts +1 -1
  20. package/dist/ButtonGroup/index.d.ts +1 -1
  21. package/dist/Calendar/index.d.ts +1 -1
  22. package/dist/Calendar/index.js +1 -1
  23. package/dist/{Calendar-CnOsSjMY.js → Calendar-DmTeM7PO.js} +2 -2
  24. package/dist/Card/index.d.ts +1 -1
  25. package/dist/Carousel/index.js +1 -1
  26. package/dist/{Carousel-JA7ilqI_.js → Carousel-CIKrcA2r.js} +1 -1
  27. package/dist/Chat/index.d.ts +1 -1
  28. package/dist/Chat/index.js +1 -1
  29. package/dist/{Chat-C7WrCOE4.js → Chat-BFox3u9D.js} +1 -1
  30. package/dist/CheckboxInput/index.d.ts +1 -1
  31. package/dist/CheckboxList/index.d.ts +1 -1
  32. package/dist/CheckboxList/index.js +1 -1
  33. package/dist/{CheckboxList-CnCGnkZk.js → CheckboxList-BlPf7vPe.js} +4 -4
  34. package/dist/Citation/index.js +1 -1
  35. package/dist/{Citation-CtwrU33I.js → Citation-BG-vg9ia.js} +1 -1
  36. package/dist/ClickableCard/index.d.ts +1 -1
  37. package/dist/Code/index.d.ts +3 -3
  38. package/dist/Code/index.js +4 -4
  39. package/dist/{Code-BvefYRpx.js → Code-XnPuGxey.js} +1 -1
  40. package/dist/{CodeBlock-BZGzYeoL.js → CodeBlock-B2pnEOJY.js} +145 -15
  41. package/dist/Collapsible/index.d.ts +1 -1
  42. package/dist/CommandPalette/index.js +1 -1
  43. package/dist/{CommandPalette-BNbM9T9y.js → CommandPalette-DKgHzmJk.js} +10 -10
  44. package/dist/ComplexSelector/index.js +1 -1
  45. package/dist/{ComplexSelector-LtbLlrcj.js → ComplexSelector-Dv44FFhN.js} +1 -1
  46. package/dist/ContextMenu/index.d.ts +2 -2
  47. package/dist/ContextMenu/index.js +2 -2
  48. package/dist/{ContextMenu-DVQl0xL5.js → ContextMenu-BeJO5HYx.js} +4 -369
  49. package/dist/DateInput/index.d.ts +1 -1
  50. package/dist/DateInput/index.js +1 -1
  51. package/dist/{DateInput-zm8sNc0t.js → DateInput-D4XFAEMp.js} +3 -3
  52. package/dist/DateRangeInput/index.d.ts +1 -1
  53. package/dist/DateRangeInput/index.js +1 -1
  54. package/dist/{DateRangeInput-DlVFzrf7.js → DateRangeInput-Cp6AZfew.js} +2 -2
  55. package/dist/DateTimeInput/index.d.ts +1 -1
  56. package/dist/DateTimeInput/index.js +1 -1
  57. package/dist/{DateTimeInput-C7Z-p6Yd.js → DateTimeInput-B6MPPp76.js} +3 -3
  58. package/dist/Dialog/index.d.ts +1 -1
  59. package/dist/Divider/index.d.ts +1 -1
  60. package/dist/DropdownMenu/index.d.ts +2 -2
  61. package/dist/DropdownMenu/index.js +3 -3
  62. package/dist/{DropdownMenu-BoZChdev.js → DropdownMenu--lnUeJEG.js} +3 -3
  63. package/dist/{DropdownMenu-u1psFjis.js → DropdownMenu-6E9jFdFe.js} +4 -4
  64. package/dist/{DropdownMenuRadioItem.vue-uVM0FD2f.d.ts → DropdownMenuRadioItem.vue-CXEURBcq.d.ts} +1 -1
  65. package/dist/EmptyState/index.js +1 -1
  66. package/dist/{EmptyState-CUJdTYKV.js → EmptyState-0RWymQUS.js} +2 -2
  67. package/dist/FileInput/index.d.ts +1 -1
  68. package/dist/FileInput/index.js +1 -1
  69. package/dist/{FileInput-QdlZn7qK.js → FileInput-DuNwdbAo.js} +1 -1
  70. package/dist/Grid/index.d.ts +1 -1
  71. package/dist/Heading/index.d.ts +2 -2
  72. package/dist/Heading/index.js +1 -1
  73. package/dist/Heading-B9C3LZlS.js +94 -0
  74. package/dist/Indicator/index.d.ts +2 -2
  75. package/dist/InputGroup/index.d.ts +1 -1
  76. package/dist/Item-DrYJL1TG.js +590 -0
  77. package/dist/Lightbox/index.js +1 -1
  78. package/dist/{Lightbox-BSzfqZ-u.js → Lightbox-Br3o0SyQ.js} +1 -1
  79. package/dist/Link/index.d.ts +3 -2
  80. package/dist/Link/index.js +1 -1
  81. package/dist/Link-DCZ6922-.js +196 -0
  82. package/dist/List/index.d.ts +3 -3
  83. package/dist/List/index.js +2 -2
  84. package/dist/{ListItem-pGxvn6QJ.js → ListItem-CcRHWuEm.js} +8 -2
  85. package/dist/Markdown/index.d.ts +2 -2
  86. package/dist/Markdown/index.js +2 -2
  87. package/dist/{Markdown-B6tSqenv.js → Markdown-Bz0R3kNj.js} +274 -30
  88. package/dist/MetadataList/index.js +1 -1
  89. package/dist/{MetadataList-aN1tRn6W.js → MetadataList-CFaocx6j.js} +1 -1
  90. package/dist/MobileNav/index.js +1 -1
  91. package/dist/{MobileNavToggle-fqcSafkc.js → MobileNavToggle-Dh3uLivq.js} +1 -1
  92. package/dist/MoreMenu/index.d.ts +1 -1
  93. package/dist/MoreMenu/index.js +1 -1
  94. package/dist/{MoreMenu-B3brqdK_.js → MoreMenu-B95nRSe8.js} +2 -2
  95. package/dist/MultiSelector/index.d.ts +1 -1
  96. package/dist/MultiSelector/index.js +1 -1
  97. package/dist/{MultiSelector-BD5PMgez.js → MultiSelector-DuF5TECE.js} +4 -4
  98. package/dist/{NavDisclosure-DbYLDXK0.js → NavDisclosure-C6sPZ89n.js} +4 -1
  99. package/dist/NavHeadingSurface-Cb3x9iDx.js +287 -0
  100. package/dist/NavItem/index.d.ts +1 -1
  101. package/dist/NavMenu/index.d.ts +2 -2
  102. package/dist/NavMenu/index.js +4 -3
  103. package/dist/NavMenu-ClIgMaxE.js +176 -0
  104. package/dist/{NavMenuItem-DrwIMHKO.js → NavMenuItem-E7S8gBh-.js} +1 -1
  105. package/dist/NumberInput/index.d.ts +1 -1
  106. package/dist/NumberInput/index.js +1 -1
  107. package/dist/{NumberInput-CBeU4lEl.js → NumberInput-B4IL3s_8.js} +1 -1
  108. package/dist/Outline/index.js +1 -1
  109. package/dist/{Outline--HVMSB6i.js → Outline-DBUuchi9.js} +1 -1
  110. package/dist/OverflowList/index.d.ts +1 -1
  111. package/dist/OverflowList/index.js +1 -1
  112. package/dist/{OverflowList-FMh7r-r_.js → OverflowList-aDd_oem0.js} +3 -3
  113. package/dist/Pagination/index.d.ts +1 -1
  114. package/dist/Pagination/index.js +1 -1
  115. package/dist/{Pagination-DlIvESjx.js → Pagination-CNe9F6Fl.js} +181 -45
  116. package/dist/Popover/index.d.ts +1 -1
  117. package/dist/PowerSearch/index.d.ts +1 -1
  118. package/dist/PowerSearch/index.js +1 -1
  119. package/dist/{PowerSearch-CMG7Rb69.js → PowerSearch-C6U8Sq1Y.js} +13 -13
  120. package/dist/ProgressBar/index.d.ts +2 -2
  121. package/dist/ProgressBar/index.js +1 -1
  122. package/dist/{ProgressBar-DO9Chic6.js → ProgressBar-DF6WZNCI.js} +45 -6
  123. package/dist/Radio/index.d.ts +1 -1
  124. package/dist/RadioList/index.d.ts +1 -1
  125. package/dist/Resizable/index.js +1 -1
  126. package/dist/{Resizable-CXpvj1TZ.js → ResizeHandle-DYy0e3v9.js} +1 -1
  127. package/dist/ScrollableArea/index.d.ts +1 -1
  128. package/dist/SegmentedControl/index.d.ts +1 -1
  129. package/dist/SelectableCard/index.d.ts +1 -1
  130. package/dist/Selector/index.d.ts +1 -1
  131. package/dist/Selector/index.js +1 -1
  132. package/dist/{Selector-BpPnuWH3.js → Selector-5N-hq2nF.js} +3 -3
  133. package/dist/SideNav/index.d.ts +2 -2
  134. package/dist/SideNav/index.js +1 -1
  135. package/dist/{SideNav-D4TupqgE.js → SideNav-CT9lfspi.js} +225 -229
  136. package/dist/Stack/index.d.ts +1 -1
  137. package/dist/Stepper/index.d.ts +1 -1
  138. package/dist/Stepper/index.js +1 -1
  139. package/dist/{Stepper-H-6-T5Ps.js → Stepper-BqhVCgC-.js} +1 -1
  140. package/dist/Switch/index.d.ts +1 -1
  141. package/dist/TabList/index.d.ts +1 -1
  142. package/dist/Table/index.js +1 -1
  143. package/dist/{Table-nqA_njNz.js → Table-CsdH8fCB.js} +4 -4
  144. package/dist/Text/index.d.ts +3 -3
  145. package/dist/Text/index.js +1 -1
  146. package/dist/Text-DIzZw6FA.js +86 -0
  147. package/dist/TextArea/index.d.ts +1 -1
  148. package/dist/TextInput/index.d.ts +1 -1
  149. package/dist/Theme/index.d.ts +3 -3
  150. package/dist/Theme/index.js +2 -2
  151. package/dist/Theme-CtaUWo4g.js +1246 -0
  152. package/dist/Thumbnail/index.js +1 -1
  153. package/dist/{Thumbnail-CXb3m_Hv.js → Thumbnail-BnQwX1cQ.js} +2 -2
  154. package/dist/{TimeField-B3cndWb0.js → TimeField-Biiuv0hB.js} +1 -1
  155. package/dist/TimeInput/index.d.ts +1 -1
  156. package/dist/TimeInput/index.js +1 -1
  157. package/dist/{TimeInput-BHQ_LKGm.js → TimeInput-C9gptCOK.js} +1 -1
  158. package/dist/Timer/index.d.ts +1 -1
  159. package/dist/Timer/index.js +1 -1
  160. package/dist/{Timer-B7GV6hqd.js → Timer-kxzQx3tp.js} +1 -1
  161. package/dist/Timestamp/index.d.ts +1 -1
  162. package/dist/Timestamp/index.js +1 -1
  163. package/dist/{Timestamp-Cfuxbb3i.js → Timestamp-D7bd_nF3.js} +2 -2
  164. package/dist/ToggleButton/index.d.ts +1 -1
  165. package/dist/Token/index.d.ts +1 -1
  166. package/dist/Token/index.js +1 -1
  167. package/dist/{Token-CdVLH0_H.js → Token-D2GsI_Ei.js} +1 -1
  168. package/dist/Tokenizer/index.js +1 -1
  169. package/dist/{Tokenizer-DlD-S_8-.js → Tokenizer-rwzamZg4.js} +3 -3
  170. package/dist/Toolbar/index.d.ts +1 -1
  171. package/dist/Tooltip/index.d.ts +1 -1
  172. package/dist/Tooltip/index.js +1 -1
  173. package/dist/{Tooltip-mp0NMh_Y.js → Tooltip-C2fh9anJ.js} +23 -8
  174. package/dist/TopNav/index.d.ts +1 -1
  175. package/dist/TopNav/index.js +1 -1
  176. package/dist/{TopNav-DzV874G7.js → TopNav-arWFLTBM.js} +112 -42
  177. package/dist/TreeList/index.js +1 -1
  178. package/dist/{TreeList-DEwvlZRV.js → TreeList-C9xvMpJZ.js} +1 -1
  179. package/dist/Typeahead/index.d.ts +2 -2
  180. package/dist/Typeahead/index.js +3 -2
  181. package/dist/Typeahead-_V11btpv.js +499 -0
  182. package/dist/{TypeaheadMenu-CGvo0Tud.js → TypeaheadMenu-BEObzonz.js} +46 -10
  183. package/dist/composables/index.d.ts +2 -2
  184. package/dist/composables/index.js +4 -4
  185. package/dist/composables-CWw6t-RJ.js +520 -0
  186. package/dist/{context-DmOLCubj.js → context-CPh7kE-a.js} +58 -10
  187. package/dist/{index-BRfR0lhb.d.ts → index-12QYAbiz.d.ts} +1 -1
  188. package/dist/{index-DMQG6kdM.d.ts → index-6yB8BtEu.d.ts} +2 -2
  189. package/dist/{index-f4NGT-e2.d.ts → index-B4OOtNP8.d.ts} +3 -3
  190. package/dist/index-BBtJt5_A.d.ts +26 -0
  191. package/dist/{index-Ch6BbxCP.d.ts → index-BH9PzQ1F.d.ts} +13 -8
  192. package/dist/{index-MPcg1Pm4.d.ts → index-BKr7yvVv.d.ts} +1 -1
  193. package/dist/{index-D_UEJIU5.d.ts → index-BPwD6aBv.d.ts} +1 -1
  194. package/dist/{index-D1Twv_fL.d.ts → index-BcZI402h.d.ts} +4 -4
  195. package/dist/{index-C8wDPDcP.d.ts → index-Bi49IrAJ.d.ts} +50 -8
  196. package/dist/{index-B1x05arQ.d.ts → index-BlOIC_AM.d.ts} +1 -1
  197. package/dist/{index-C5p2NeCr.d.ts → index-Blm197N_.d.ts} +11 -2
  198. package/dist/{index-Bu3oXIIS.d.ts → index-BmmdzwT9.d.ts} +6 -0
  199. package/dist/{index-BMn9ghAX.d.ts → index-Bu0Zd1uw.d.ts} +3 -3
  200. package/dist/{index-Ctu32CLv.d.ts → index-BxhJqiZ7.d.ts} +2 -2
  201. package/dist/{index-CA6RbRWx.d.ts → index-By2mSzUA.d.ts} +1 -1
  202. package/dist/{index-HV6W3xCx.d.ts → index-Byar3h1e.d.ts} +1 -1
  203. package/dist/{index-LIyvJTW3.d.ts → index-C3GaPqvJ.d.ts} +84 -8
  204. package/dist/{index-DAiGhkNZ.d.ts → index-CFIXnk5D.d.ts} +1 -1
  205. package/dist/{index-ViSV0RBx.d.ts → index-CI9kyg74.d.ts} +12 -2
  206. package/dist/{index-C-QpeUlQ.d.ts → index-CNjbOgty.d.ts} +2 -2
  207. package/dist/{index-BB5yVIN-.d.ts → index-CUCcYKxl.d.ts} +3 -3
  208. package/dist/{index-Ca8VIE4l.d.ts → index-CVn0GBdB.d.ts} +1 -1
  209. package/dist/{index-xfkEuGLY.d.ts → index-CZeoAr0a.d.ts} +2 -2
  210. package/dist/{index-C2sfHfBw.d.ts → index-D-ezcKaY.d.ts} +3 -3
  211. package/dist/{index-BcJBLWJ0.d.ts → index-DA52oIdw.d.ts} +2 -2
  212. package/dist/{index-D7-WTV6I.d.ts → index-D_nYxnNv.d.ts} +1 -1
  213. package/dist/{index-Cm_TiLXU.d.ts → index-Dgg0bHVM.d.ts} +7 -3
  214. package/dist/index-DxR1FChm.d.ts +158 -0
  215. package/dist/{index-BTAgQRP0.d.ts → index-EtZgovdH.d.ts} +169 -81
  216. package/dist/{index-B9f1rUEv.d.ts → index-XuAAcYiP.d.ts} +1 -1
  217. package/dist/{index-D0TlUOtG.d.ts → index-YmSe1ujk.d.ts} +76 -3
  218. package/dist/{index-BMrggCw-.d.ts → index-bvr3WHvs.d.ts} +1 -1
  219. package/dist/{index-CDDMDHJM.d.ts → index-c67ca7eJ.d.ts} +1 -1
  220. package/dist/{index-D8o50qOE.d.ts → index-cL3q7O4R.d.ts} +32 -3
  221. package/dist/{index-CGZ2xi3r.d.ts → index-eshFLli0.d.ts} +40 -3
  222. package/dist/{index-DkVEBdWa.d.ts → index-fa72tWIU.d.ts} +2 -2
  223. package/dist/{index-COxy6LEW.d.ts → index-gW0HW02U.d.ts} +1 -1
  224. package/dist/{index-foQMNKZO.d.ts → index-hCpxKePE.d.ts} +49 -3
  225. package/dist/{index-DxsKyAxq.d.ts → index-vizlhXVs.d.ts} +131 -2
  226. package/dist/{index-DfgHJE7H.d.ts → index-z3uLM1O6.d.ts} +153 -24
  227. package/dist/index.d.ts +81 -80
  228. package/dist/index.js +118 -115
  229. package/dist/locale/index.d.ts +2 -2
  230. package/dist/locale/index.js +3 -3
  231. package/dist/locale-sLw5Caia.js +917 -0
  232. package/dist/{searchResultMessage-DN0HeRRB.js → searchResultMessage-CCnq-_ce.js} +1 -1
  233. package/dist/syntaxTheme-CwVEcVDk.d.ts +57 -0
  234. package/dist/{syntaxTheme-ClpWALZX.js → syntaxTheme-R7xnu5x5.js} +24 -3
  235. package/dist/{types-Bt-lSgYX.d.ts → types-D9nP_X-c.d.ts} +14 -1
  236. package/dist/{types-CAZY4Xua.d.ts → types-DGYHIu4I.d.ts} +30 -1
  237. package/dist/types-D_J66aPN.d.ts +85 -0
  238. package/dist/types-gKsEkk2g.d.ts +320 -0
  239. package/dist/{useMenuDrillIn-OaEwjK44.js → useMenuDrillIn-BgjJcY3K.js} +1 -1
  240. package/dist/useMenuPress-DUmEy4TB.js +425 -0
  241. package/dist/{composables-DDI08XFF.js → useResizable-B3ahKLoZ.js} +73 -248
  242. package/dist/useTruncation-B5qXQzAP.js +53 -0
  243. package/locales/SOURCE.json +37 -0
  244. package/locales/af-ZA.json +1482 -0
  245. package/locales/ar-SA.json +1482 -0
  246. package/locales/ca-ES.json +1482 -0
  247. package/locales/cs-CZ.json +1482 -0
  248. package/locales/da-DK.json +1482 -0
  249. package/locales/de-DE.json +1482 -0
  250. package/locales/el-GR.json +1482 -0
  251. package/locales/en.json +1646 -0
  252. package/locales/es-ES.json +1482 -0
  253. package/locales/fi-FI.json +1482 -0
  254. package/locales/fr-FR.json +1482 -0
  255. package/locales/he-IL.json +1482 -0
  256. package/locales/hu-HU.json +1482 -0
  257. package/locales/it-IT.json +1482 -0
  258. package/locales/ja-JP.json +1482 -0
  259. package/locales/ko-KR.json +1482 -0
  260. package/locales/nl-NL.json +1482 -0
  261. package/locales/no-NO.json +1482 -0
  262. package/locales/pl-PL.json +1482 -0
  263. package/locales/pt-BR.json +1482 -0
  264. package/locales/pt-PT.json +1482 -0
  265. package/locales/ro-RO.json +1482 -0
  266. package/locales/ru-RU.json +1482 -0
  267. package/locales/sr-SP.json +1482 -0
  268. package/locales/sv-SE.json +1482 -0
  269. package/locales/tr-TR.json +1482 -0
  270. package/locales/uk-UA.json +1482 -0
  271. package/locales/vi-VN.json +1482 -0
  272. package/locales/zh-CN.json +1482 -0
  273. package/locales/zh-TW.json +1482 -0
  274. package/package.json +3 -1
  275. package/styles/bottom-sheet.css +27 -0
  276. package/styles/code.css +62 -0
  277. package/styles/container-reveal.css +104 -0
  278. package/styles/heading.css +47 -0
  279. package/styles/keyboard-hint.css +28 -0
  280. package/styles/link.css +34 -0
  281. package/styles/list.css +88 -1
  282. package/styles/markdown.css +12 -0
  283. package/styles/pagination.css +30 -0
  284. package/styles/progress-bar.css +49 -0
  285. package/styles/side-nav.css +36 -1
  286. package/styles/text.css +18 -0
  287. package/styles/top-nav.css +145 -6
  288. package/styles/typeahead.css +24 -0
  289. package/styles.css +2 -0
  290. package/dist/Heading-Dugosn6j.js +0 -43
  291. package/dist/Item-C1z6gXn8.js +0 -289
  292. package/dist/Link-DqdQZ37C.js +0 -141
  293. package/dist/Text-BHVghsWo.js +0 -53
  294. package/dist/Theme-CejS9MHm.js +0 -447
  295. package/dist/Typeahead-DQ3tmqYe.js +0 -375
  296. package/dist/index-Bqb_Fyju.d.ts +0 -80
  297. package/dist/index-Dg3ZmwEg.d.ts +0 -75
  298. package/dist/locale-CCwVnyMZ.js +0 -42
  299. package/dist/syntaxTheme-Bcs1YMF7.d.ts +0 -38
  300. package/dist/types-jmqqnkKA.d.ts +0 -163
  301. package/dist/useHotkeys-dABSK1o9.js +0 -80
  302. package/dist/useLongPress-Cyxwa73s.js +0 -60
  303. package/dist/{index-BXkNZF3q.d.ts → index-IdK2g5B4.d.ts} +2 -2
@@ -34,24 +34,126 @@
34
34
  .astryx-top-nav--centered .astryx-top-nav__end { justify-content: flex-end; }
35
35
  .astryx-top-nav__items { flex-wrap: nowrap; overflow: hidden; }
36
36
 
37
- .astryx-top-nav-heading__icon {
38
- display: inline-flex;
39
- flex: none;
40
- align-items: center;
41
- }
42
-
43
37
  .astryx-top-nav-heading {
44
38
  display: inline-flex;
45
39
  align-items: center;
46
40
  gap: var(--astryx-spacing-2, 8px);
41
+ box-sizing: border-box;
42
+ min-width: 0;
43
+ min-height: 32px;
44
+ padding-inline: var(--astryx-spacing-2, 8px);
45
+ border-radius: var(--astryx-radius-element, 0.625rem);
47
46
  color: var(--astryx-color-text-primary);
48
47
  font-size: var(--astryx-font-size-lg, 1.0625rem);
49
48
  font-weight: var(--astryx-font-weight-semibold, 600);
50
49
  line-height: 1.4118;
51
50
  text-decoration: none;
51
+ }
52
+
53
+ .astryx-top-nav-heading--link:hover,
54
+ .astryx-top-nav-heading--echo:hover {
55
+ background: var(--astryx-color-overlay-hover);
56
+ }
57
+
58
+ .astryx-top-nav-heading--echo {
59
+ width: 100%;
60
+ margin: 0 0 var(--astryx-spacing-1, 4px);
61
+ border: 0;
62
+ background: transparent;
63
+ color: inherit;
64
+ font: inherit;
65
+ text-align: start;
66
+ cursor: pointer;
67
+ }
68
+
69
+ .astryx-top-nav-heading__icon,
70
+ .astryx-top-nav-heading__end {
71
+ display: inline-flex;
72
+ flex: none;
73
+ align-items: center;
74
+ color: inherit;
75
+ text-decoration: none;
76
+ }
77
+
78
+ .astryx-top-nav-heading__end {
79
+ margin-inline-start: auto;
80
+ }
81
+
82
+ .astryx-top-nav-heading__text {
83
+ display: flex;
84
+ flex: 1 1 auto;
85
+ flex-direction: column;
86
+ min-width: 0;
87
+ }
88
+
89
+ .astryx-top-nav-heading__row {
90
+ display: flex;
91
+ align-items: center;
92
+ gap: var(--astryx-spacing-1, 4px);
93
+ min-width: 0;
94
+ }
95
+
96
+ .astryx-top-nav-heading__title {
97
+ overflow: hidden;
98
+ font-size: var(--astryx-font-size-lg, 1.0625rem);
99
+ font-weight: var(--astryx-font-weight-semibold, 600);
100
+ line-height: 1.4118;
101
+ text-overflow: ellipsis;
52
102
  white-space: nowrap;
53
103
  }
54
104
 
105
+ .astryx-top-nav-heading__super,
106
+ .astryx-top-nav-heading__sub {
107
+ overflow: hidden;
108
+ color: var(--astryx-color-text-secondary, #525252);
109
+ font-size: var(--astryx-text-supporting-size, 0.75rem);
110
+ font-weight: var(--astryx-font-weight-regular, 400);
111
+ line-height: var(--astryx-text-supporting-leading, 1.6667);
112
+ text-overflow: ellipsis;
113
+ white-space: nowrap;
114
+ }
115
+
116
+ .astryx-top-nav-heading__link {
117
+ color: inherit;
118
+ text-decoration: none;
119
+ }
120
+
121
+ .astryx-top-nav-heading__link:hover {
122
+ text-decoration: underline;
123
+ }
124
+
125
+ .astryx-top-nav-heading__chevron {
126
+ display: inline-flex;
127
+ flex: none;
128
+ align-items: center;
129
+ justify-content: center;
130
+ width: 28px;
131
+ height: 28px;
132
+ padding: 0;
133
+ border: 0;
134
+ border-radius: var(--astryx-radius-element, 0.625rem);
135
+ background: transparent;
136
+ color: var(--astryx-color-text-secondary, #525252);
137
+ cursor: pointer;
138
+ }
139
+
140
+ .astryx-top-nav-heading__chevron:hover {
141
+ background: var(--astryx-color-overlay-hover);
142
+ }
143
+
144
+ .astryx-top-nav-heading__chevron:focus-visible {
145
+ outline: var(--astryx-focus-outline-width) var(--astryx-focus-outline-style) var(--astryx-focus-outline-color);
146
+ outline-offset: var(--astryx-focus-outline-offset);
147
+ }
148
+
149
+ .astryx-top-nav-heading__chevron-icon--open {
150
+ transform: rotate(180deg);
151
+ }
152
+
153
+ .astryx-top-nav-heading__menu {
154
+ min-width: 200px;
155
+ }
156
+
55
157
  .astryx-top-nav-item:not(.astryx-top-nav-item--drawer) {
56
158
  width: auto;
57
159
  height: auto;
@@ -169,11 +271,44 @@
169
271
 
170
272
  .astryx-top-nav-mega-card {
171
273
  flex-direction: column;
274
+ gap: 0;
172
275
  height: 100%;
276
+ padding: 0;
277
+ overflow: hidden;
173
278
  background: var(--astryx-color-neutral);
174
279
  cursor: pointer;
175
280
  }
176
281
 
282
+ .astryx-top-nav-mega-card--static {
283
+ cursor: default;
284
+ }
285
+
286
+ .astryx-top-nav-mega-card__image {
287
+ display: block;
288
+ width: 100%;
289
+ height: 140px;
290
+ object-fit: cover;
291
+ }
292
+
293
+ .astryx-top-nav-mega-card__body {
294
+ display: flex;
295
+ flex-direction: column;
296
+ gap: var(--astryx-spacing-1, 4px);
297
+ padding: var(--astryx-spacing-3, 12px);
298
+ }
299
+
300
+ .astryx-top-nav-mega-card__link {
301
+ color: var(--astryx-color-text-accent, #0074e2);
302
+ font-size: var(--astryx-text-supporting-size, 0.75rem);
303
+ font-weight: var(--astryx-font-weight-semibold, 600);
304
+ line-height: var(--astryx-text-supporting-leading, 1.6667);
305
+ text-decoration: none;
306
+ }
307
+
308
+ .astryx-top-nav-mega-card__link:hover {
309
+ text-decoration: underline;
310
+ }
311
+
177
312
  .astryx-top-nav-mega-item:hover,
178
313
  .astryx-top-nav-mega-item:focus-visible,
179
314
  .astryx-top-nav-mega-card:hover {
@@ -181,6 +316,10 @@
181
316
  outline: none;
182
317
  }
183
318
 
319
+ .astryx-top-nav-mega-card--static:hover {
320
+ background: var(--astryx-color-neutral);
321
+ }
322
+
184
323
  .astryx-top-nav-mega-item__icon {
185
324
  display: inline-flex;
186
325
  flex: none;
@@ -211,6 +211,30 @@
211
211
  opacity: 0.5;
212
212
  }
213
213
 
214
+ .astryx-typeahead--bare {
215
+ width: 100%;
216
+ min-width: 0;
217
+ }
218
+
219
+ .astryx-typeahead-item {
220
+ display: flex;
221
+ align-items: center;
222
+ gap: var(--astryx-spacing-2, 8px);
223
+ min-width: 0;
224
+ }
225
+
226
+ .astryx-typeahead-item-icon {
227
+ display: inline-flex;
228
+ flex: none;
229
+ }
230
+
231
+ .astryx-typeahead-item-copy {
232
+ display: flex;
233
+ flex-direction: column;
234
+ align-items: flex-start;
235
+ min-width: 0;
236
+ }
237
+
214
238
  .astryx-typeahead-option-copy {
215
239
  display: flex;
216
240
  flex: 1;
package/styles.css CHANGED
@@ -26,6 +26,7 @@
26
26
  @import './styles/collapsible.css';
27
27
  @import './styles/command-palette.css';
28
28
  @import './styles/complex-selector.css';
29
+ @import './styles/container-reveal.css';
29
30
  @import './styles/context-menu.css';
30
31
  @import './styles/date-range-input.css';
31
32
  @import './styles/date-time-input.css';
@@ -42,6 +43,7 @@
42
43
  @import './styles/hover-card.css';
43
44
  @import './styles/icon.css';
44
45
  @import './styles/kbd.css';
46
+ @import './styles/keyboard-hint.css';
45
47
  @import './styles/layout.css';
46
48
  @import './styles/lightbox.css';
47
49
  @import './styles/link.css';
@@ -1,43 +0,0 @@
1
- import { computed, createBlock, defineComponent, normalizeClass, normalizeStyle, openBlock, renderSlot, resolveDynamicComponent, withCtx } from "vue";
2
- import "../styles/heading.css";
3
- //#region src/Heading/Heading.vue
4
- const _sfc_main = /*@__PURE__*/ defineComponent({
5
- __name: "Heading",
6
- props: {
7
- level: {},
8
- type: {},
9
- color: { default: "primary" },
10
- weight: {},
11
- display: { default: "block" },
12
- maxLines: { default: 0 }
13
- },
14
- setup(__props) {
15
- const props = __props;
16
- const tag = computed(() => `h${props.level}`);
17
- const classes = computed(() => [
18
- "astryx-heading",
19
- `astryx-heading--level-${props.level}`,
20
- props.type && `astryx-heading--type-${props.type}`,
21
- `astryx-heading--color-${props.color}`,
22
- props.weight && `astryx-heading--weight-${props.weight}`,
23
- props.display === "inline" && "astryx-heading--inline",
24
- props.maxLines === 1 && "astryx-heading--truncate-single",
25
- props.maxLines > 1 && "astryx-heading--truncate-multi"
26
- ]);
27
- const style = computed(() => {
28
- if (props.maxLines > 1) return { WebkitLineClamp: props.maxLines };
29
- return {};
30
- });
31
- return (_ctx, _cache) => {
32
- return openBlock(), createBlock(resolveDynamicComponent(tag.value), {
33
- class: normalizeClass(["astryx-heading", classes.value]),
34
- style: normalizeStyle(style.value)
35
- }, {
36
- default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
37
- _: 3
38
- }, 8, ["class", "style"]);
39
- };
40
- }
41
- });
42
- //#endregion
43
- export { _sfc_main as t };
@@ -1,289 +0,0 @@
1
- import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, defineComponent, inject, mergeProps, normalizeClass, normalizeStyle, openBlock, provide, renderSlot, resolveDynamicComponent, toDisplayString, toValue, unref, useAttrs, useId, useSlots, useTemplateRef, withCtx } from "vue";
2
- import "../styles/list.css";
3
- //#region src/List/context.ts
4
- const listContextKey = Symbol("astryx-list-context");
5
- /** The surrounding list, or `undefined` when the row stands alone. */
6
- function useListContext() {
7
- return inject(listContextKey, void 0);
8
- }
9
- const itemDescriptionContextKey = Symbol("astryx-item-description");
10
- /**
11
- * The id of the description element of the nearest row, so a control rendered
12
- * in one of that row's slots can point `aria-describedby` at it. `null` when
13
- * the row renders no description.
14
- */
15
- function useItemDescriptionId() {
16
- return inject(itemDescriptionContextKey, computed(() => null));
17
- }
18
- //#endregion
19
- //#region src/List/Item.vue
20
- const _hoisted_1 = {
21
- key: 0,
22
- class: "astryx-item__start"
23
- };
24
- const _hoisted_2 = {
25
- key: 1,
26
- class: "astryx-item__end"
27
- };
28
- const NATIVE_CONTROL_SELECTOR = "button, a, input, select, textarea";
29
- const _sfc_main = /*@__PURE__*/ defineComponent({
30
- name: "AstryxItem",
31
- inheritAttrs: false,
32
- __name: "Item",
33
- props: {
34
- as: { default: "div" },
35
- align: { default: "center" },
36
- layout: { default: "stacked" },
37
- labelLines: {},
38
- descriptionLines: {},
39
- isHighlighted: {
40
- type: Boolean,
41
- default: false
42
- },
43
- label: {},
44
- description: {},
45
- density: { default: "balanced" },
46
- onClick: {},
47
- interactiveRef: {},
48
- href: {},
49
- target: {},
50
- rel: {},
51
- isDisabled: {
52
- type: Boolean,
53
- default: false
54
- },
55
- isSelected: {
56
- type: Boolean,
57
- default: false
58
- }
59
- },
60
- setup(__props, { expose: __expose }) {
61
- const props = __props;
62
- const ARIA_SELECTED_ROLES = /* @__PURE__ */ new Set([
63
- "option",
64
- "tab",
65
- "row",
66
- "gridcell",
67
- "columnheader",
68
- "rowheader",
69
- "treeitem"
70
- ]);
71
- const INTERACTIVE_SELECTOR = [
72
- "button",
73
- "a",
74
- "input",
75
- "select",
76
- "textarea",
77
- "[role=\"button\"]",
78
- "[role=\"link\"]",
79
- "[role=\"checkbox\"]",
80
- "[role=\"radio\"]",
81
- "[role=\"switch\"]",
82
- "[role=\"tab\"]",
83
- "[role=\"menuitem\"]",
84
- "[role=\"option\"]",
85
- "[role=\"combobox\"]",
86
- "[role=\"listbox\"]",
87
- "[role=\"slider\"]",
88
- "[role=\"spinbutton\"]"
89
- ].join(",");
90
- const CONTROLLED_ATTRS = /* @__PURE__ */ new Set([
91
- "class",
92
- "style",
93
- "role",
94
- "aria-current",
95
- "aria-disabled",
96
- "aria-selected"
97
- ]);
98
- const attrs = useAttrs();
99
- const slots = useSlots();
100
- const root = useTemplateRef("root");
101
- function isRenderable(value) {
102
- return value != null && value !== "";
103
- }
104
- function isInteractiveElement(element) {
105
- return element.matches(INTERACTIVE_SELECTOR) && !element.matches("[aria-readonly=\"true\"]");
106
- }
107
- function toElement(value) {
108
- if (value == null) return null;
109
- if (value instanceof HTMLElement) return value;
110
- return value.$el instanceof HTMLElement ? value.$el : null;
111
- }
112
- const element = computed(() => toElement(root.value));
113
- const descriptionIdBase = `astryx-item-description-${useId()}`;
114
- const hasDescription = computed(() => slots.description != null || isRenderable(props.description));
115
- const hasLabel = computed(() => slots.label != null || isRenderable(props.label));
116
- provide(itemDescriptionContextKey, computed(() => hasDescription.value ? descriptionIdBase : null));
117
- const role = computed(() => attrs.role);
118
- const hasParentRole = computed(() => role.value != null);
119
- const allowsAriaSelected = computed(() => role.value != null && ARIA_SELECTED_ROLES.has(role.value));
120
- const ariaCurrent = computed(() => attrs["aria-current"] ?? (props.isSelected && !allowsAriaSelected.value ? true : void 0));
121
- const isDelegate = computed(() => props.interactiveRef != null);
122
- const isInteractive = computed(() => props.onClick != null || props.href != null || isDelegate.value);
123
- const isLinkRoot = computed(() => typeof props.as !== "string" && props.href != null);
124
- const resolvedTarget = computed(() => props.target);
125
- const resolvedRel = computed(() => {
126
- const tokens = new Set((props.rel ?? "").split(/\s+/).filter(Boolean));
127
- if (resolvedTarget.value === "_blank") {
128
- tokens.add("noopener");
129
- tokens.add("noreferrer");
130
- }
131
- return tokens.size > 0 ? [...tokens].join(" ") : void 0;
132
- });
133
- const isInline = computed(() => props.layout === "inline" && hasDescription.value);
134
- function clampClass(lines) {
135
- if (lines === 1) return "astryx-item__ellipsis";
136
- return lines > 1 ? "astryx-item__clamp" : void 0;
137
- }
138
- function clampStyle(lines) {
139
- return lines > 1 ? { "--astryx-item-clamp-lines": String(lines) } : void 0;
140
- }
141
- const labelClamp = computed(() => props.labelLines ?? (typeof props.label === "string" ? 1 : 0));
142
- const descriptionClamp = computed(() => {
143
- if (props.descriptionLines != null) return props.descriptionLines;
144
- return typeof props.description === "string" || isInline.value ? 1 : 0;
145
- });
146
- const labelClasses = computed(() => clampClass(labelClamp.value));
147
- const labelStyle = computed(() => clampStyle(labelClamp.value));
148
- const descriptionClasses = computed(() => clampClass(descriptionClamp.value));
149
- const descriptionStyle = computed(() => clampStyle(descriptionClamp.value));
150
- const contentTag = computed(() => {
151
- if (hasParentRole.value || isDelegate.value) return "span";
152
- if (props.href != null && !isLinkRoot.value) return "a";
153
- return props.onClick != null ? "button" : "span";
154
- });
155
- function handleContentClick(event) {
156
- props.onClick?.(event);
157
- }
158
- const contentAttrs = computed(() => {
159
- if (contentTag.value === "a") return {
160
- "href": props.href,
161
- "rel": resolvedRel.value,
162
- "target": resolvedTarget.value,
163
- "aria-disabled": props.isDisabled || void 0,
164
- "tabindex": props.isDisabled ? -1 : void 0
165
- };
166
- if (contentTag.value === "button") return {
167
- type: "button",
168
- disabled: props.isDisabled,
169
- onClick: handleContentClick
170
- };
171
- return {};
172
- });
173
- function hasTextSelection(node) {
174
- const selection = node.ownerDocument.getSelection?.();
175
- return selection != null && !selection.isCollapsed && selection.anchorNode != null && node.contains(selection.anchorNode);
176
- }
177
- function hasInteractiveAncestor(target, container) {
178
- let current = target;
179
- while (current != null && current !== container && current !== container.ownerDocument.body) {
180
- if (isInteractiveElement(current)) return true;
181
- current = current.parentElement;
182
- }
183
- return false;
184
- }
185
- function handleContainerClick(event) {
186
- if (props.isDisabled) return;
187
- const target = event.target;
188
- if (target instanceof HTMLElement && target.closest(NATIVE_CONTROL_SELECTOR) != null) return;
189
- props.onClick?.(event);
190
- }
191
- function handleDelegatedClick(event) {
192
- if (props.isDisabled) return;
193
- const container = element.value;
194
- const target = event.target;
195
- if (container == null || !(target instanceof HTMLElement)) return;
196
- if (hasTextSelection(container)) return;
197
- if (target !== event.currentTarget && hasInteractiveAncestor(target, container)) return;
198
- const control = toValue(props.interactiveRef);
199
- if (control == null) return;
200
- control.dispatchEvent(new MouseEvent("click", {
201
- altKey: event.altKey,
202
- bubbles: event.bubbles,
203
- button: event.button,
204
- cancelable: event.cancelable,
205
- ctrlKey: event.ctrlKey,
206
- metaKey: event.metaKey,
207
- shiftKey: event.shiftKey
208
- }));
209
- event.stopPropagation();
210
- }
211
- const rootClick = computed(() => {
212
- if (isDelegate.value) return handleDelegatedClick;
213
- if (hasParentRole.value) return props.onClick;
214
- return isInteractive.value ? handleContainerClick : void 0;
215
- });
216
- const rootClass = computed(() => ["astryx-item", attrs.class]);
217
- const forwardedAttrs = computed(() => Object.fromEntries(Object.entries(attrs).filter(([key]) => !CONTROLLED_ATTRS.has(key))));
218
- function focus(options) {
219
- (element.value?.querySelector("a[href], button:not([disabled])"))?.focus(options);
220
- }
221
- function blur() {
222
- const active = element.value?.ownerDocument.activeElement;
223
- if (active instanceof HTMLElement && element.value?.contains(active)) active.blur();
224
- }
225
- __expose({
226
- element,
227
- focus,
228
- blur
229
- });
230
- return (_ctx, _cache) => {
231
- return openBlock(), createBlock(resolveDynamicComponent(__props.as), mergeProps({
232
- ref_key: "root",
233
- ref: root
234
- }, forwardedAttrs.value, {
235
- "aria-current": ariaCurrent.value,
236
- "aria-disabled": __props.isDisabled || void 0,
237
- "aria-selected": allowsAriaSelected.value && __props.isSelected ? true : void 0,
238
- class: rootClass.value,
239
- "data-align": __props.align,
240
- "data-density": __props.density,
241
- "data-disabled": __props.isDisabled || void 0,
242
- "data-highlighted": __props.isHighlighted || void 0,
243
- "data-inert": __props.isDisabled && !hasParentRole.value ? true : void 0,
244
- "data-interactive": isInteractive.value || void 0,
245
- "data-selected": __props.isSelected || void 0,
246
- role: role.value,
247
- style: unref(attrs).style,
248
- onClick: rootClick.value
249
- }), {
250
- default: withCtx(() => [
251
- renderSlot(_ctx.$slots, "marker"),
252
- _ctx.$slots.startContent ? (openBlock(), createElementBlock("span", _hoisted_1, [renderSlot(_ctx.$slots, "startContent")])) : createCommentVNode("v-if", true),
253
- (openBlock(), createBlock(resolveDynamicComponent(contentTag.value), mergeProps(contentAttrs.value, { class: ["astryx-item__content", { "astryx-item__content--inline": isInline.value }] }), {
254
- default: withCtx(() => [hasLabel.value ? (openBlock(), createElementBlock("span", {
255
- key: 0,
256
- class: normalizeClass(["astryx-item__label", labelClasses.value]),
257
- style: normalizeStyle(labelStyle.value)
258
- }, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(__props.label), 1)])], 6)) : createCommentVNode("v-if", true), hasDescription.value ? (openBlock(), createElementBlock("span", {
259
- key: 1,
260
- id: descriptionIdBase,
261
- class: normalizeClass(["astryx-item__description", descriptionClasses.value]),
262
- style: normalizeStyle(descriptionStyle.value)
263
- }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(__props.description), 1)])], 6)) : createCommentVNode("v-if", true)]),
264
- _: 3
265
- }, 16, ["class"])),
266
- _ctx.$slots.endContent ? (openBlock(), createElementBlock("span", _hoisted_2, [renderSlot(_ctx.$slots, "endContent")])) : createCommentVNode("v-if", true)
267
- ]),
268
- _: 3
269
- }, 16, [
270
- "aria-current",
271
- "aria-disabled",
272
- "aria-selected",
273
- "class",
274
- "data-align",
275
- "data-density",
276
- "data-disabled",
277
- "data-highlighted",
278
- "data-inert",
279
- "data-interactive",
280
- "data-selected",
281
- "role",
282
- "style",
283
- "onClick"
284
- ]);
285
- };
286
- }
287
- });
288
- //#endregion
289
- export { useListContext as i, listContextKey as n, useItemDescriptionId as r, _sfc_main as t };