@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,465 @@
1
+ import { t as _sfc_main$2 } from "./Text-CKd7e3gK.js";
2
+ import { a as useAstryxMessages, i as useAstryxLocale } from "./context-D6ECRdc5.js";
3
+ import { t as _sfc_main$3 } from "./IconButton-BNQuz9W_.js";
4
+ import { t as _sfc_main$4 } from "./Icon-5MdZQ18k.js";
5
+ import { t as _sfc_main$5 } from "./HoverCard-EhbWaGOW.js";
6
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, onBeforeUnmount, openBlock, ref, renderList, renderSlot, toDisplayString, unref, watch, withCtx } from "vue";
7
+ import "../styles/timestamp.css";
8
+ //#region src/Timestamp/formatInstant.ts
9
+ const DATE_SHORT = {
10
+ month: "short",
11
+ day: "numeric",
12
+ year: "numeric"
13
+ };
14
+ const DATE_LONG = {
15
+ year: "numeric",
16
+ month: "long",
17
+ day: "numeric"
18
+ };
19
+ const DATE_WEEKDAY = {
20
+ weekday: "short",
21
+ month: "short",
22
+ day: "numeric",
23
+ year: "numeric"
24
+ };
25
+ const TIME = {
26
+ hour: "numeric",
27
+ minute: "2-digit"
28
+ };
29
+ const DATE_TIME = {
30
+ ...DATE_SHORT,
31
+ ...TIME
32
+ };
33
+ const FULL = {
34
+ year: "numeric",
35
+ month: "long",
36
+ day: "numeric",
37
+ hour: "numeric",
38
+ minute: "2-digit",
39
+ second: "2-digit",
40
+ timeZoneName: "short"
41
+ };
42
+ function pad(value) {
43
+ return String(value).padStart(2, "0");
44
+ }
45
+ function wallClock(date, timeZone) {
46
+ if (timeZone == null) return {
47
+ year: date.getFullYear(),
48
+ month: date.getMonth() + 1,
49
+ day: date.getDate(),
50
+ hour: date.getHours(),
51
+ minute: date.getMinutes(),
52
+ second: date.getSeconds()
53
+ };
54
+ const parts = new Intl.DateTimeFormat("en-US", {
55
+ timeZone,
56
+ hourCycle: "h23",
57
+ year: "numeric",
58
+ month: "2-digit",
59
+ day: "2-digit",
60
+ hour: "2-digit",
61
+ minute: "2-digit",
62
+ second: "2-digit"
63
+ }).formatToParts(date);
64
+ const read = (type) => Number(parts.find((part) => part.type === type)?.value ?? 0);
65
+ return {
66
+ year: read("year"),
67
+ month: read("month"),
68
+ day: read("day"),
69
+ hour: read("hour"),
70
+ minute: read("minute"),
71
+ second: read("second")
72
+ };
73
+ }
74
+ function formatInstant(date, format, locale, { timeZone, isTimezoneShown = false, timeZoneNameStyle = "short" } = {}) {
75
+ const zone = timeZone == null ? {} : { timeZone };
76
+ const zoneName = isTimezoneShown ? { timeZoneName: "short" } : {};
77
+ switch (format) {
78
+ case "full": return new Intl.DateTimeFormat(locale, {
79
+ ...FULL,
80
+ timeZoneName: timeZoneNameStyle,
81
+ ...zone,
82
+ calendar: "gregory"
83
+ }).format(date);
84
+ case "date": return new Intl.DateTimeFormat(locale, {
85
+ ...DATE_SHORT,
86
+ ...zone,
87
+ calendar: "gregory"
88
+ }).format(date);
89
+ case "date_long": return new Intl.DateTimeFormat(locale, {
90
+ ...DATE_LONG,
91
+ ...zone,
92
+ calendar: "gregory"
93
+ }).format(date);
94
+ case "date_weekday": return new Intl.DateTimeFormat(locale, {
95
+ ...DATE_WEEKDAY,
96
+ ...zone,
97
+ calendar: "gregory"
98
+ }).format(date);
99
+ case "date_time": return new Intl.DateTimeFormat(locale, {
100
+ ...DATE_TIME,
101
+ ...zoneName,
102
+ ...zone,
103
+ calendar: "gregory"
104
+ }).format(date);
105
+ case "time": return new Intl.DateTimeFormat(locale, {
106
+ ...TIME,
107
+ ...zoneName,
108
+ ...zone
109
+ }).format(date);
110
+ case "system_date": {
111
+ const clock = wallClock(date, timeZone);
112
+ return `${clock.year}-${pad(clock.month)}-${pad(clock.day)}`;
113
+ }
114
+ case "system_date_time": {
115
+ const clock = wallClock(date, timeZone);
116
+ return `${clock.year}-${pad(clock.month)}-${pad(clock.day)} ${pad(clock.hour)}:${pad(clock.minute)}:${pad(clock.second)}`;
117
+ }
118
+ case "system_time": {
119
+ const clock = wallClock(date, timeZone);
120
+ return `${pad(clock.hour)}:${pad(clock.minute)}:${pad(clock.second)}`;
121
+ }
122
+ case "unix_seconds": return String(Math.floor(date.getTime() / 1e3));
123
+ }
124
+ }
125
+ //#endregion
126
+ //#region src/Timestamp/formatRelativeTime.ts
127
+ const MINUTE = 60;
128
+ const HOUR = 3600;
129
+ const DAY = 86400;
130
+ const MONTH = 30 * DAY;
131
+ const YEAR = 365 * DAY;
132
+ const FUTURE_SKEW_TOLERANCE = 30;
133
+ const formatters = /* @__PURE__ */ new Map();
134
+ function formatter(locale, style, numeric) {
135
+ const key = JSON.stringify([
136
+ locale,
137
+ style,
138
+ numeric
139
+ ]);
140
+ let value = formatters.get(key);
141
+ if (value == null) {
142
+ value = new Intl.RelativeTimeFormat(locale, {
143
+ numeric,
144
+ style
145
+ });
146
+ formatters.set(key, value);
147
+ }
148
+ return value;
149
+ }
150
+ function formatRelativeTime(date, now, locale, style) {
151
+ const diffSeconds = Math.round((now.getTime() - date.getTime()) / 1e3);
152
+ const absDiff = Math.abs(diffSeconds);
153
+ if (absDiff < 10 || diffSeconds < 0 && absDiff <= FUTURE_SKEW_TOLERANCE) return formatter(locale, style, "auto").format(0, "second");
154
+ let count;
155
+ let unit;
156
+ if (absDiff < MINUTE) {
157
+ count = absDiff;
158
+ unit = "second";
159
+ } else if (absDiff < HOUR) {
160
+ count = Math.floor(absDiff / MINUTE);
161
+ unit = "minute";
162
+ } else if (absDiff < DAY) {
163
+ count = Math.floor(absDiff / HOUR);
164
+ unit = "hour";
165
+ } else if (absDiff < MONTH) {
166
+ count = Math.floor(absDiff / DAY);
167
+ unit = "day";
168
+ } else if (absDiff < YEAR) {
169
+ count = Math.floor(absDiff / MONTH);
170
+ unit = "month";
171
+ } else {
172
+ count = Math.floor(absDiff / YEAR);
173
+ unit = "year";
174
+ }
175
+ const value = diffSeconds < 0 ? count : -count;
176
+ return formatter(locale, style, style === "long" && unit === "day" && value === -1 ? "auto" : "always").format(value, unit);
177
+ }
178
+ //#endregion
179
+ //#region src/Timestamp/TimestampHoverCard.vue
180
+ const _hoisted_1$1 = ["data-columns", "aria-label"];
181
+ const _hoisted_2$1 = {
182
+ key: 0,
183
+ class: "astryx-timestamp__label"
184
+ };
185
+ const _hoisted_3 = { class: "astryx-timestamp__value" };
186
+ const _hoisted_4 = {
187
+ key: 1,
188
+ class: "astryx-timestamp__action"
189
+ };
190
+ const _sfc_main$1 = /*@__PURE__*/ defineComponent({
191
+ __name: "TimestampHoverCard",
192
+ props: {
193
+ lines: {},
194
+ label: {}
195
+ },
196
+ setup(__props) {
197
+ const props = __props;
198
+ const messages = useAstryxMessages();
199
+ const copiedKey = ref();
200
+ let resetTimer;
201
+ const hasLabel = computed(() => props.lines.some((line) => line.label != null && line.label !== ""));
202
+ const hasAction = computed(() => props.lines.some((line) => line.isCopyable));
203
+ const columns = computed(() => {
204
+ if (hasLabel.value && hasAction.value) return "label-value-action";
205
+ if (hasLabel.value) return "label-value";
206
+ if (hasAction.value) return "value-action";
207
+ return "value";
208
+ });
209
+ async function copy(value, key) {
210
+ try {
211
+ await navigator.clipboard.writeText(value);
212
+ } catch {
213
+ return;
214
+ }
215
+ copiedKey.value = key;
216
+ clearTimeout(resetTimer);
217
+ resetTimer = setTimeout(() => {
218
+ if (copiedKey.value === key) copiedKey.value = void 0;
219
+ }, 1500);
220
+ }
221
+ return (_ctx, _cache) => {
222
+ return openBlock(), createBlock(_sfc_main$5, {
223
+ label: __props.label,
224
+ "focus-trigger": "always",
225
+ "has-hover-indication": true,
226
+ placement: "above"
227
+ }, {
228
+ content: withCtx(() => [createElementVNode("dl", {
229
+ class: "astryx-timestamp__card",
230
+ "data-columns": columns.value,
231
+ "aria-label": __props.label
232
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.lines, (line, index) => {
233
+ return openBlock(), createElementBlock("div", {
234
+ key: index,
235
+ class: "astryx-timestamp__row"
236
+ }, [
237
+ hasLabel.value ? (openBlock(), createElementBlock("dt", _hoisted_2$1, toDisplayString(line.label ?? ""), 1)) : createCommentVNode("v-if", true),
238
+ createElementVNode("dd", _hoisted_3, toDisplayString(line.value), 1),
239
+ hasAction.value ? (openBlock(), createElementBlock("div", _hoisted_4, [line.isCopyable ? (openBlock(), createBlock(_sfc_main$3, {
240
+ key: 0,
241
+ variant: "ghost",
242
+ size: "sm",
243
+ label: copiedKey.value === String(index) ? unref(messages).timestamp.copied : unref(messages).timestamp.copyValue(line.value),
244
+ onClick: ($event) => copy(line.value, String(index))
245
+ }, {
246
+ default: withCtx(() => [createVNode(_sfc_main$4, {
247
+ icon: copiedKey.value === String(index) ? "check" : "copy",
248
+ size: "sm"
249
+ }, null, 8, ["icon"])]),
250
+ _: 2
251
+ }, 1032, ["label", "onClick"])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)
252
+ ]);
253
+ }), 128))], 8, _hoisted_1$1)]),
254
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
255
+ _: 3
256
+ }, 8, ["label"]);
257
+ };
258
+ }
259
+ });
260
+ //#endregion
261
+ //#region src/Timestamp/tooltipEntries.ts
262
+ const LOCAL_ZONE = "local";
263
+ const warned = /* @__PURE__ */ new Set();
264
+ function resolveTimezone(timezoneID) {
265
+ if (timezoneID == null || timezoneID.toLowerCase() === LOCAL_ZONE) return void 0;
266
+ try {
267
+ new Intl.DateTimeFormat("en-US", { timeZone: timezoneID }).format();
268
+ } catch {
269
+ if (!warned.has(timezoneID)) {
270
+ warned.add(timezoneID);
271
+ console.warn(`[Timestamp] unknown time zone ${JSON.stringify(timezoneID)}. Falling back to the viewer's time zone.`);
272
+ }
273
+ return;
274
+ }
275
+ return timezoneID;
276
+ }
277
+ function zoneKey(resolved) {
278
+ return resolved == null ? LOCAL_ZONE : resolved.toLowerCase();
279
+ }
280
+ function shouldShowZoneName(format, hasMultipleZones, isNamedZone) {
281
+ if (format === "full") return true;
282
+ if (format === "date_time" || format === "time") return hasMultipleZones || isNamedZone;
283
+ return false;
284
+ }
285
+ function formatTooltipLines(date, entries, locale) {
286
+ const resolved = entries.map((entry) => resolveTimezone(entry.timezoneID));
287
+ const hasMultipleZones = new Set(resolved.map(zoneKey)).size > 1;
288
+ return entries.map((entry, index) => {
289
+ const format = entry.format ?? "full";
290
+ const timeZone = resolved[index];
291
+ return {
292
+ ...entry.label == null ? {} : { label: entry.label },
293
+ isCopyable: entry.isCopyable ?? false,
294
+ value: formatInstant(date, format, locale, {
295
+ timeZone,
296
+ isTimezoneShown: shouldShowZoneName(format, hasMultipleZones, timeZone != null)
297
+ })
298
+ };
299
+ });
300
+ }
301
+ //#endregion
302
+ //#region src/Timestamp/Timestamp.vue
303
+ const _hoisted_1 = [
304
+ "datetime",
305
+ "aria-label",
306
+ "tabindex"
307
+ ];
308
+ const _hoisted_2 = ["datetime", "aria-label"];
309
+ const _sfc_main = /*@__PURE__*/ defineComponent({
310
+ name: "AstryxTimestamp",
311
+ inheritAttrs: false,
312
+ __name: "Timestamp",
313
+ props: {
314
+ value: {},
315
+ format: { default: "auto" },
316
+ autoThreshold: { default: 604800 },
317
+ hasTooltip: {
318
+ type: Boolean,
319
+ default: true
320
+ },
321
+ tooltipEntries: {},
322
+ isTimezoneShown: {
323
+ type: Boolean,
324
+ default: false
325
+ },
326
+ isLive: {
327
+ type: Boolean,
328
+ default: false
329
+ },
330
+ type: { default: "supporting" },
331
+ size: {},
332
+ color: { default: "secondary" },
333
+ weight: {}
334
+ },
335
+ setup(__props) {
336
+ const props = __props;
337
+ const locale = useAstryxLocale();
338
+ const messages = useAstryxMessages();
339
+ const now = ref(/* @__PURE__ */ new Date());
340
+ let timer;
341
+ function parseValue(value) {
342
+ if (typeof value === "number") return new Date(value < 0xe8d4a51000 ? value * 1e3 : value);
343
+ return new Date(value);
344
+ }
345
+ const date = computed(() => parseValue(props.value));
346
+ const valid = computed(() => !Number.isNaN(date.value.getTime()));
347
+ const iso = computed(() => valid.value ? date.value.toISOString() : "");
348
+ const diffSeconds = computed(() => Math.round((now.value.getTime() - date.value.getTime()) / 1e3));
349
+ const effectiveFormat = computed(() => {
350
+ if (props.format !== "auto") return props.format;
351
+ return Math.abs(diffSeconds.value) <= props.autoThreshold ? "relative" : "date_time";
352
+ });
353
+ function isRelative(format) {
354
+ return format === "relative" || format === "relative_short";
355
+ }
356
+ const displayText = computed(() => {
357
+ if (!valid.value) return "";
358
+ const format = effectiveFormat.value;
359
+ if (format === "relative") return formatRelativeTime(date.value, now.value, locale.value, "long");
360
+ if (format === "relative_short") return formatRelativeTime(date.value, now.value, locale.value, "narrow");
361
+ if (format === "auto") return "";
362
+ return formatInstant(date.value, format, locale.value, { isTimezoneShown: props.isTimezoneShown });
363
+ });
364
+ const ariaLabel = computed(() => valid.value && isRelative(effectiveFormat.value) ? formatInstant(date.value, "full", locale.value, { timeZoneNameStyle: "long" }) : void 0);
365
+ const entries = computed(() => props.tooltipEntries != null && props.tooltipEntries.length > 0 ? props.tooltipEntries : void 0);
366
+ const showTooltip = computed(() => props.hasTooltip && valid.value && (isRelative(effectiveFormat.value) || entries.value != null));
367
+ const lines = computed(() => {
368
+ if (!valid.value) return [];
369
+ if (entries.value == null) return [{
370
+ value: formatInstant(date.value, "full", locale.value),
371
+ isCopyable: true
372
+ }];
373
+ return formatTooltipLines(date.value, entries.value, locale.value);
374
+ });
375
+ const textColor = computed(() => props.color === "disabled" ? "inherit" : props.color);
376
+ function liveInterval(seconds) {
377
+ const abs = Math.abs(seconds);
378
+ if (abs < 60) return 1e3;
379
+ if (abs < 3600) return 3e4;
380
+ if (abs < 86400) return 6e4;
381
+ return 3e5;
382
+ }
383
+ function stop() {
384
+ clearInterval(timer);
385
+ timer = void 0;
386
+ }
387
+ watch([
388
+ () => props.isLive,
389
+ effectiveFormat,
390
+ diffSeconds,
391
+ valid
392
+ ], () => {
393
+ stop();
394
+ if (!props.isLive || !valid.value || !isRelative(effectiveFormat.value)) return;
395
+ timer = setInterval(() => {
396
+ now.value = /* @__PURE__ */ new Date();
397
+ }, liveInterval(diffSeconds.value));
398
+ }, { immediate: true });
399
+ onBeforeUnmount(stop);
400
+ return (_ctx, _cache) => {
401
+ return valid.value && showTooltip.value ? (openBlock(), createBlock(_sfc_main$1, {
402
+ key: 0,
403
+ lines: lines.value,
404
+ label: unref(messages).timestamp.detailsLabel
405
+ }, {
406
+ default: withCtx(() => [createVNode(_sfc_main$2, {
407
+ class: normalizeClass(["astryx-timestamp", _ctx.$attrs.class]),
408
+ style: normalizeStyle(_ctx.$attrs.style),
409
+ type: __props.type,
410
+ size: __props.size,
411
+ color: textColor.value,
412
+ weight: __props.weight,
413
+ "data-color": __props.color,
414
+ "data-format": effectiveFormat.value
415
+ }, {
416
+ default: withCtx(() => [createElementVNode("time", {
417
+ class: "astryx-timestamp__time",
418
+ datetime: iso.value,
419
+ "aria-label": ariaLabel.value,
420
+ tabindex: showTooltip.value ? 0 : void 0
421
+ }, toDisplayString(displayText.value), 9, _hoisted_1)]),
422
+ _: 1
423
+ }, 8, [
424
+ "class",
425
+ "style",
426
+ "type",
427
+ "size",
428
+ "color",
429
+ "weight",
430
+ "data-color",
431
+ "data-format"
432
+ ])]),
433
+ _: 1
434
+ }, 8, ["lines", "label"])) : valid.value ? (openBlock(), createBlock(_sfc_main$2, {
435
+ key: 1,
436
+ class: normalizeClass(["astryx-timestamp", _ctx.$attrs.class]),
437
+ style: normalizeStyle(_ctx.$attrs.style),
438
+ type: __props.type,
439
+ size: __props.size,
440
+ color: textColor.value,
441
+ weight: __props.weight,
442
+ "data-color": __props.color,
443
+ "data-format": effectiveFormat.value
444
+ }, {
445
+ default: withCtx(() => [createElementVNode("time", {
446
+ class: "astryx-timestamp__time",
447
+ datetime: iso.value,
448
+ "aria-label": ariaLabel.value
449
+ }, toDisplayString(displayText.value), 9, _hoisted_2)]),
450
+ _: 1
451
+ }, 8, [
452
+ "class",
453
+ "style",
454
+ "type",
455
+ "size",
456
+ "color",
457
+ "weight",
458
+ "data-color",
459
+ "data-format"
460
+ ])) : createCommentVNode("v-if", true);
461
+ };
462
+ }
463
+ });
464
+ //#endregion
465
+ export { formatInstant as i, formatTooltipLines as n, formatRelativeTime as r, _sfc_main as t };
@@ -1,2 +1,2 @@
1
- import { A as ToggleButtonElevation, B as ToggleButtonGroupValue, D as _default$1, F as ToggleButtonGroupOrientation, H as ToggleButtonProps, I as ToggleButtonGroupProps, L as ToggleButtonGroupSingleProps, M as ToggleButtonGroupBaseProps, N as ToggleButtonGroupEmits, O as _default, P as ToggleButtonGroupMultipleProps, R as ToggleButtonGroupSlots, U as ToggleButtonSize, V as ToggleButtonPressedChangeHandler, W as ToggleButtonSlots, j as ToggleButtonEmits, k as ToggleButtonChangeAction, z as ToggleButtonGroupType } from "../index-CaHXYQ_E.js";
1
+ import { A as ToggleButtonElevation, B as ToggleButtonGroupValue, D as _default$1, F as ToggleButtonGroupOrientation, H as ToggleButtonProps, I as ToggleButtonGroupProps, L as ToggleButtonGroupSingleProps, M as ToggleButtonGroupBaseProps, N as ToggleButtonGroupEmits, O as _default, P as ToggleButtonGroupMultipleProps, R as ToggleButtonGroupSlots, U as ToggleButtonSize, V as ToggleButtonPressedChangeHandler, W as ToggleButtonSlots, j as ToggleButtonEmits, k as ToggleButtonChangeAction, z as ToggleButtonGroupType } from "../index-Df2YvC8o.js";
2
2
  export { _default as ToggleButton, _default as default, type ToggleButtonChangeAction, type ToggleButtonElevation, type ToggleButtonEmits, _default$1 as ToggleButtonGroup, type ToggleButtonGroupBaseProps, type ToggleButtonGroupEmits, type ToggleButtonGroupMultipleProps, type ToggleButtonGroupOrientation, type ToggleButtonGroupProps, type ToggleButtonGroupSingleProps, type ToggleButtonGroupSlots, type ToggleButtonGroupType, type ToggleButtonGroupValue, type ToggleButtonPressedChangeHandler, type ToggleButtonProps, type ToggleButtonSize, type ToggleButtonSlots };
@@ -1,3 +1,3 @@
1
- import { t as _sfc_main } from "../Token-Ctf9jekS.js";
1
+ import { t as _sfc_main } from "../Token-C4KD0fZD.js";
2
2
  import { t as TOKEN_COLORS } from "../Token-BdRzlXzm.js";
3
3
  export { TOKEN_COLORS, _sfc_main as Token };
@@ -1,4 +1,4 @@
1
- import { a as useAstryxMessages } from "./locale-56lkR7OK.js";
1
+ import { a as useAstryxMessages } from "./context-D6ECRdc5.js";
2
2
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, useAttrs, withCtx } from "vue";
3
3
  import "../styles/token.css";
4
4
  import "../styles/visually-hidden-utility.css";
@@ -1,2 +1,2 @@
1
- import { a as TokenizerProps, c as TokenizerStatus, i as TokenizerOverflow, n as TokenizerChange, o as TokenizerSize, r as TokenizerEmits, s as TokenizerSlots, t as _default } from "../index-CPhDtlv-.js";
1
+ import { a as TokenizerProps, c as TokenizerStatus, i as TokenizerOverflow, n as TokenizerChange, o as TokenizerSize, r as TokenizerEmits, s as TokenizerSlots, t as _default } from "../index-FEy8qFSD.js";
2
2
  export { _default as Tokenizer, type TokenizerChange, type TokenizerEmits, type TokenizerOverflow, type TokenizerProps, type TokenizerSize, type TokenizerSlots, type TokenizerStatus };
@@ -1,2 +1,2 @@
1
- import { t as _sfc_main } from "../Tokenizer-D5MPgau0.js";
1
+ import { t as _sfc_main } from "../Tokenizer-BA8sTMPZ.js";
2
2
  export { _sfc_main as Tokenizer };
@@ -1,8 +1,8 @@
1
1
  import { t as useAnnounce } from "./announce-Cnio10Wk.js";
2
2
  import { n as useOverflow } from "./useOverflow-VrwF5oek.js";
3
- import { a as useAstryxMessages } from "./locale-56lkR7OK.js";
4
- import { t as _sfc_main$1 } from "./Field-VlTBsIEo.js";
5
- import { t as _sfc_main$2 } from "./Token-Ctf9jekS.js";
3
+ import { a as useAstryxMessages } from "./context-D6ECRdc5.js";
4
+ import { t as _sfc_main$1 } from "./Field-8zRxzDHE.js";
5
+ import { t as _sfc_main$2 } from "./Token-C4KD0fZD.js";
6
6
  import { n as useAnchoredListbox, t as scrollOptionIntoView } from "./useAnchoredListbox-7W90Ny-9.js";
7
7
  import { n as _sfc_main$3, t as useTypeaheadMenu } from "./useTypeaheadMenu-Ba7XpcZl.js";
8
8
  import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useId, useTemplateRef, vShow, watch, withCtx, withDirectives } from "vue";
@@ -1,2 +1,2 @@
1
- import { C as _default, E as ToolbarSize, T as ToolbarProps, w as ToolbarOrientation } from "../index-CaHXYQ_E.js";
1
+ import { C as _default, E as ToolbarSize, T as ToolbarProps, w as ToolbarOrientation } from "../index-Df2YvC8o.js";
2
2
  export { _default as Toolbar, type ToolbarOrientation, type ToolbarProps, type ToolbarSize };
@@ -1,2 +1,2 @@
1
- import { a as TooltipProps, i as TooltipPlacement, n as TooltipAlignment, o as TooltipTouchTrigger, r as TooltipFocusTrigger, t as _default } from "../index-BkIgRYGz.js";
1
+ import { a as TooltipProps, i as TooltipPlacement, n as TooltipAlignment, o as TooltipTouchTrigger, r as TooltipFocusTrigger, t as _default } from "../index-C5p2NeCr.js";
2
2
  export { _default as Tooltip, type TooltipAlignment, type TooltipFocusTrigger, type TooltipPlacement, type TooltipProps, type TooltipTouchTrigger };
@@ -1,2 +1,2 @@
1
- import { S as TopNavProps, _ as TopNavMegaMenuItemProps, a as _default$6, b as TopNavMenuItem, c as _default$3, d as _default, f as TopNavHeadingProps, g as TopNavMegaMenuFeaturedCardProps, h as TopNavMegaMenuEmits, l as _default$2, m as TopNavItemProps, o as _default$5, p as TopNavItemEmits, s as _default$4, u as _default$1, v as TopNavMegaMenuProps, x as TopNavMenuProps, y as TopNavMenuEmits } from "../index-CaHXYQ_E.js";
1
+ import { S as TopNavProps, _ as TopNavMegaMenuItemProps, a as _default$6, b as TopNavMenuItem, c as _default$3, d as _default, f as TopNavHeadingProps, g as TopNavMegaMenuFeaturedCardProps, h as TopNavMegaMenuEmits, l as _default$2, m as TopNavItemProps, o as _default$5, p as TopNavItemEmits, s as _default$4, u as _default$1, v as TopNavMegaMenuProps, x as TopNavMenuProps, y as TopNavMenuEmits } from "../index-Df2YvC8o.js";
2
2
  export { _default as TopNav, _default$1 as TopNavHeading, type TopNavHeadingProps, _default$2 as TopNavItem, type TopNavItemEmits, type TopNavItemProps, _default$3 as TopNavMegaMenu, type TopNavMegaMenuEmits, _default$4 as TopNavMegaMenuFeaturedCard, type TopNavMegaMenuFeaturedCardProps, _default$5 as TopNavMegaMenuItem, type TopNavMegaMenuItemProps, type TopNavMegaMenuProps, _default$6 as TopNavMenu, type TopNavMenuEmits, type TopNavMenuItem, type TopNavMenuProps, type TopNavProps };
@@ -1,2 +1,2 @@
1
- import { a as _sfc_main$2, i as _sfc_main$3, n as _sfc_main$5, o as _sfc_main$1, r as _sfc_main$4, s as _sfc_main, t as _sfc_main$6 } from "../TopNav-CjbMCbkC.js";
1
+ import { a as _sfc_main$2, i as _sfc_main$3, n as _sfc_main$5, o as _sfc_main$1, r as _sfc_main$4, s as _sfc_main, t as _sfc_main$6 } from "../TopNav-CZokS7E_.js";
2
2
  export { _sfc_main as TopNav, _sfc_main$1 as TopNavHeading, _sfc_main$2 as TopNavItem, _sfc_main$3 as TopNavMegaMenu, _sfc_main$4 as TopNavMegaMenuFeaturedCard, _sfc_main$5 as TopNavMegaMenuItem, _sfc_main$6 as TopNavMenu };