efficient-shell 8.41.0 → 9.9.0

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 (471) hide show
  1. package/README.md +70 -20
  2. package/dist/Browser-ZPOVP4Z7.js +43 -0
  3. package/dist/Calculator-CSYRZAS5.js +29 -0
  4. package/dist/CurrencyConverter-SSR2XDIC.js +21 -0
  5. package/dist/{Documents-VVKKYYJS.js → Documents-T7JYO223.js} +14 -14
  6. package/dist/Files-HBGW3JWI.js +88 -0
  7. package/dist/Notepad-GO2QT55C.js +25 -0
  8. package/dist/PdfViewer-XSISAJZP.js +1 -0
  9. package/dist/{PomodoroTimer-ZVD3D357.js → PomodoroTimer-EV6D4OFU.js} +28 -28
  10. package/dist/{Preview-K5AJQGE7.js → Preview-Z2CRCDHA.js} +58 -58
  11. package/dist/Sidebar-Y4DTQYW2.js +43 -0
  12. package/dist/Spreadsheet-GEE77GD3.js +37 -0
  13. package/dist/Stock-6ZIQHGPH.js +16 -0
  14. package/dist/Weather-II7NFRMK.js +60 -0
  15. package/dist/WorldClock-NBLNO63Q.js +32 -0
  16. package/dist/ai/index.d.ts +35 -4
  17. package/dist/ai/index.js +46 -46
  18. package/dist/ai.css +1 -1
  19. package/dist/apps/index.js +1 -1
  20. package/dist/bin/media-host-check.js +1 -1
  21. package/dist/bin/ui-check.js +1 -1
  22. package/dist/brand.css +1 -1
  23. package/dist/charts/BoxPlotChart.js +1 -1
  24. package/dist/charts/CandlestickChart.js +1 -1
  25. package/dist/charts/CartesianPlot.js +1 -1
  26. package/dist/charts/ChartBrush.js +1 -1
  27. package/dist/charts/ChartFrame.js +1 -1
  28. package/dist/charts/ChartSkeleton.js +1 -1
  29. package/dist/charts/ChartTooltip.js +1 -1
  30. package/dist/charts/ChordChart.js +1 -1
  31. package/dist/charts/ColumnChart.js +1 -1
  32. package/dist/charts/FunnelChart.js +1 -1
  33. package/dist/charts/HeatmapChart.js +1 -1
  34. package/dist/charts/HistogramChart.js +1 -1
  35. package/dist/charts/Meter.js +1 -1
  36. package/dist/charts/PieChart.js +1 -1
  37. package/dist/charts/RadarChart.js +1 -1
  38. package/dist/charts/RadialBarChart.js +1 -1
  39. package/dist/charts/RangeChart.js +1 -1
  40. package/dist/charts/RankedBars.js +1 -1
  41. package/dist/charts/SankeyChart.js +1 -1
  42. package/dist/charts/ScatterChart.js +1 -1
  43. package/dist/charts/SpecChart.js +1 -1
  44. package/dist/charts/StatTile.js +1 -1
  45. package/dist/charts/SunburstChart.js +1 -1
  46. package/dist/charts/TimeSeriesChart.js +1 -1
  47. package/dist/charts/TreemapChart.js +1 -1
  48. package/dist/charts/WaterfallChart.js +1 -1
  49. package/dist/chunk-24K6GVNM.js +28 -0
  50. package/dist/{chunk-M2AIC7IK.js → chunk-2HEJDLPP.js} +2 -2
  51. package/dist/{chunk-BRHIRE4D.js → chunk-2MLRK7IO.js} +2 -2
  52. package/dist/chunk-2R3BVU75.js +26 -0
  53. package/dist/chunk-2YLG32JY.js +2 -0
  54. package/dist/{chunk-TZSPJIP4.js → chunk-32VV2J22.js} +1 -1
  55. package/dist/{chunk-QQCHLRKG.js → chunk-3APSMJPN.js} +1 -1
  56. package/dist/{chunk-6SMQNPWS.js → chunk-43ONX6UZ.js} +1 -1
  57. package/dist/{chunk-L7IKTEOC.js → chunk-442FFHQJ.js} +13 -13
  58. package/dist/chunk-4MVRSCQE.js +1 -0
  59. package/dist/{chunk-BT3XDH3L.js → chunk-56RAOI7O.js} +6 -6
  60. package/dist/chunk-5F7HMNCX.js +5 -0
  61. package/dist/chunk-5GUBNCTP.js +1 -0
  62. package/dist/{chunk-LGLZTJ2W.js → chunk-5JRL5LXD.js} +6 -6
  63. package/dist/{chunk-OFHCDTJM.js → chunk-5VOVNIOU.js} +1 -1
  64. package/dist/{chunk-NID6MGGC.js → chunk-5VRMQTKV.js} +8 -8
  65. package/dist/chunk-6453ISTQ.js +4 -0
  66. package/dist/chunk-6FEL5D56.js +8 -0
  67. package/dist/{chunk-MVQBVPWP.js → chunk-6KBDNYRW.js} +1 -1
  68. package/dist/{chunk-D2AUUIKG.js → chunk-6MVHRNWC.js} +1 -1
  69. package/dist/{chunk-TW7TA2AB.js → chunk-6ZHX56NM.js} +1 -1
  70. package/dist/{chunk-RNBM5JZI.js → chunk-7JGR7WPD.js} +4 -4
  71. package/dist/{chunk-BIJ7ADTZ.js → chunk-7WGOLPGM.js} +1 -1
  72. package/dist/{chunk-SXSMIMFY.js → chunk-A6RB4PIX.js} +4 -4
  73. package/dist/chunk-AC373WIU.js +8 -0
  74. package/dist/{chunk-BMPBVI7P.js → chunk-AGUA3O5O.js} +1 -1
  75. package/dist/{chunk-UVUBZL7K.js → chunk-ANFLQSGX.js} +5 -5
  76. package/dist/chunk-ARWMJSQJ.js +3 -0
  77. package/dist/chunk-AYZY3YNC.js +1 -0
  78. package/dist/{chunk-BSNWVZHW.js → chunk-B4KMHEFZ.js} +1 -1
  79. package/dist/chunk-B6YOP2IX.js +6 -0
  80. package/dist/{chunk-4VLKDANH.js → chunk-BBEOFKLY.js} +1 -1
  81. package/dist/{chunk-22S6LG6D.js → chunk-BCDG4N6L.js} +1 -1
  82. package/dist/{chunk-DFDDRKIJ.js → chunk-BCUQXILM.js} +1 -1
  83. package/dist/chunk-BGRT775Y.js +2 -0
  84. package/dist/{chunk-5TFTSYOD.js → chunk-BVTNGW5S.js} +1 -1
  85. package/dist/{chunk-TVJRENCQ.js → chunk-BWUU565Y.js} +9 -9
  86. package/dist/{chunk-BKZGI76S.js → chunk-BZBMZDLD.js} +1 -1
  87. package/dist/chunk-BZG5E7GF.js +6 -0
  88. package/dist/{chunk-SBHFEWR6.js → chunk-C4UL2UNR.js} +1 -1
  89. package/dist/{chunk-DOCUM3K7.js → chunk-CAG3TSV2.js} +1 -1
  90. package/dist/chunk-CE5BARZI.js +16 -0
  91. package/dist/chunk-CJB73MHF.js +2 -0
  92. package/dist/{chunk-N6DTTOB6.js → chunk-CKPVXDKX.js} +3 -3
  93. package/dist/chunk-CO5RKOVX.js +20 -0
  94. package/dist/chunk-CRXFSN5K.js +20 -0
  95. package/dist/chunk-CVNJSD2J.js +18 -0
  96. package/dist/{chunk-RYBJ6MMM.js → chunk-CXMTDYVI.js} +1 -1
  97. package/dist/chunk-D7IXMMZT.js +9 -0
  98. package/dist/{chunk-JUGPTBMS.js → chunk-DLNYXXNE.js} +2 -2
  99. package/dist/chunk-DNWV6N4P.js +5 -0
  100. package/dist/{chunk-KZHPX4FM.js → chunk-DWBZ3Z34.js} +2 -2
  101. package/dist/chunk-DZTAGMNY.js +100 -0
  102. package/dist/chunk-E4E7MACR.js +20 -0
  103. package/dist/{chunk-DZNG34DC.js → chunk-EFFF3FCS.js} +23 -23
  104. package/dist/{chunk-NL5G26Q7.js → chunk-EGAV5LSX.js} +1 -1
  105. package/dist/{chunk-M5P6A7KS.js → chunk-ENL5L6NR.js} +1 -1
  106. package/dist/chunk-EW3L4W2I.js +14 -0
  107. package/dist/{chunk-6GWZ5UPX.js → chunk-EWVOGTEX.js} +1 -1
  108. package/dist/{chunk-I7HDD4IM.js → chunk-EXNAAHN4.js} +2 -2
  109. package/dist/{chunk-YDYDR72S.js → chunk-F4DIVARP.js} +1 -1
  110. package/dist/{chunk-WYN5KVU4.js → chunk-F7F6Z64G.js} +3 -3
  111. package/dist/{chunk-5PY4H4ZJ.js → chunk-FBUUXK5G.js} +1 -1
  112. package/dist/chunk-FKNJSD6B.js +14 -0
  113. package/dist/{chunk-D7FT2PXG.js → chunk-FLEG5KP5.js} +5 -5
  114. package/dist/{chunk-C4YN2DNM.js → chunk-FLQZ7GQ3.js} +11 -11
  115. package/dist/{chunk-L5ND7FNA.js → chunk-FPGRKHUW.js} +12 -12
  116. package/dist/chunk-G6CTTBKE.js +9 -0
  117. package/dist/{chunk-N2SJNPFY.js → chunk-GS5AISRS.js} +4 -4
  118. package/dist/{chunk-4Y4PWKMM.js → chunk-GVC535IA.js} +3 -3
  119. package/dist/chunk-HEEY4TVP.js +8 -0
  120. package/dist/chunk-HJWTWS5E.js +8 -0
  121. package/dist/{chunk-VH6GB73Q.js → chunk-HL6JSDN3.js} +1 -1
  122. package/dist/chunk-HNQPF5QZ.js +2 -0
  123. package/dist/{chunk-WRORJNS5.js → chunk-HQMN5THW.js} +10 -10
  124. package/dist/chunk-HUF34LSW.js +15 -0
  125. package/dist/chunk-IB4333CI.js +14 -0
  126. package/dist/chunk-IGNZULKG.js +17 -0
  127. package/dist/chunk-IJIESSTX.js +5 -0
  128. package/dist/{chunk-S7VSXUKS.js → chunk-IJWFKUYA.js} +4 -4
  129. package/dist/chunk-IK2WXW2E.js +27 -0
  130. package/dist/{chunk-UZMZ2EDW.js → chunk-IMOPDLMA.js} +1 -1
  131. package/dist/{chunk-2FLYC6I2.js → chunk-IN4KV3SJ.js} +1 -1
  132. package/dist/chunk-IPTCV6CQ.js +69 -0
  133. package/dist/{chunk-FORJ75AU.js → chunk-IQWIYZB5.js} +2 -2
  134. package/dist/chunk-IX6QMUJQ.js +9 -0
  135. package/dist/{chunk-4G5VLI7E.js → chunk-JDQGHQ2C.js} +1 -1
  136. package/dist/chunk-JIW5CJXC.js +4 -0
  137. package/dist/{chunk-P42YNSKI.js → chunk-JKDEE35P.js} +1 -1
  138. package/dist/{chunk-CKZ6ZDU5.js → chunk-JS6ZSEZJ.js} +1 -1
  139. package/dist/chunk-K4D63NP3.js +12 -0
  140. package/dist/chunk-KEK47CP3.js +12 -0
  141. package/dist/chunk-KWT6GT4M.js +29 -0
  142. package/dist/chunk-L4TN4EWK.js +1 -0
  143. package/dist/{chunk-SR4XAYLC.js → chunk-L67VXJMF.js} +1 -1
  144. package/dist/chunk-LAEXWXJA.js +9 -0
  145. package/dist/{chunk-D323R2FT.js → chunk-LNARMEEZ.js} +1 -1
  146. package/dist/{chunk-CZ25A5RS.js → chunk-LNQVTH5S.js} +1 -1
  147. package/dist/chunk-LUWRPPJA.js +7 -0
  148. package/dist/chunk-M554OMPA.js +2 -0
  149. package/dist/{chunk-BVW5U7QQ.js → chunk-M5GMIQ47.js} +3 -3
  150. package/dist/{chunk-GX2GSDJP.js → chunk-MAMWQCJ6.js} +1 -1
  151. package/dist/{chunk-ZTB6EMC7.js → chunk-MV6WDGB6.js} +1 -1
  152. package/dist/chunk-MWIT4UN2.js +14 -0
  153. package/dist/{chunk-BX2IOAD5.js → chunk-N2K6OAFM.js} +1 -1
  154. package/dist/{chunk-JPRJQ6B7.js → chunk-N3JXHNID.js} +10 -10
  155. package/dist/{chunk-EYKUKN32.js → chunk-N7T63BVD.js} +4 -4
  156. package/dist/chunk-NHH2MXFU.js +2 -0
  157. package/dist/chunk-NHVXVHUR.js +23 -0
  158. package/dist/{chunk-37CCKGHU.js → chunk-NWCW22U6.js} +2 -2
  159. package/dist/{chunk-J47HXHSL.js → chunk-O5LQBBW2.js} +7 -7
  160. package/dist/{chunk-IHQX4GYD.js → chunk-OQ2EDMB2.js} +1 -1
  161. package/dist/chunk-OUSKOWNP.js +12 -0
  162. package/dist/chunk-OV2SWQPT.js +22 -0
  163. package/dist/chunk-OX2DOOOI.js +8 -0
  164. package/dist/{chunk-6KO5VTL7.js → chunk-OZAAIE4E.js} +1 -1
  165. package/dist/chunk-P3OBE43Q.js +8 -0
  166. package/dist/{chunk-2C6IG7LG.js → chunk-P3Y5RFI4.js} +2 -2
  167. package/dist/{chunk-2UXAI77F.js → chunk-P4XTWAKJ.js} +1 -1
  168. package/dist/{chunk-7PCI6AUU.js → chunk-PB7G6CJ7.js} +1 -1
  169. package/dist/chunk-PDB5W7VI.js +6 -0
  170. package/dist/chunk-PDXPMHG3.js +4 -0
  171. package/dist/chunk-POCQ7ZL4.js +3 -0
  172. package/dist/{chunk-FORUFXAN.js → chunk-PVR4KU7H.js} +5 -5
  173. package/dist/{chunk-2RBWQVDC.js → chunk-PYLNMN6E.js} +13 -13
  174. package/dist/chunk-Q7KTTDUS.js +11 -0
  175. package/dist/{chunk-3PGK3VFS.js → chunk-QC6OK3ED.js} +1 -1
  176. package/dist/{chunk-MEJK6PBN.js → chunk-QSJR7EI7.js} +3 -3
  177. package/dist/{chunk-5DFKPSJQ.js → chunk-QTV3Y3UT.js} +1 -1
  178. package/dist/chunk-QWHQJNKL.js +1 -0
  179. package/dist/chunk-QXWY3CJ2.js +11 -0
  180. package/dist/{chunk-MG7OPTLQ.js → chunk-QZKWIVZW.js} +1 -1
  181. package/dist/chunk-R2VKEMZH.js +3 -0
  182. package/dist/{chunk-EXWGPXOS.js → chunk-RBD7SB6M.js} +1 -1
  183. package/dist/chunk-RC6UHOAV.js +4 -0
  184. package/dist/{chunk-ZVEOWBXE.js → chunk-RULVWW4A.js} +6 -6
  185. package/dist/chunk-RUTUVS4H.js +1 -0
  186. package/dist/{chunk-MAOJENIB.js → chunk-RWJCKZEY.js} +1 -1
  187. package/dist/chunk-S4Z657L6.js +6 -0
  188. package/dist/{chunk-Q3OCGLW7.js → chunk-SOP447EP.js} +2 -2
  189. package/dist/{chunk-CDRXZBVR.js → chunk-TBPHW42V.js} +1 -1
  190. package/dist/chunk-TLRCTNUF.js +6 -0
  191. package/dist/{chunk-KWX6NAOR.js → chunk-TVL3JPMY.js} +1 -1
  192. package/dist/{chunk-ZX2D25LG.js → chunk-U4OGRIP6.js} +1 -1
  193. package/dist/chunk-U5N6PSXO.js +9 -0
  194. package/dist/{chunk-SZIENHKR.js → chunk-UKDJUYIV.js} +1 -1
  195. package/dist/chunk-UQYNPYF4.js +1 -0
  196. package/dist/chunk-URHGHXDN.js +1 -0
  197. package/dist/{chunk-6WWAQC5V.js → chunk-VG2R6PZV.js} +1 -1
  198. package/dist/{chunk-RWGSMZGS.js → chunk-VVAJ23SD.js} +1 -1
  199. package/dist/chunk-VVGL5O4F.js +8 -0
  200. package/dist/chunk-VVJIKS47.js +1 -0
  201. package/dist/chunk-WE7CYRZT.js +7 -0
  202. package/dist/{chunk-L3G3YHVN.js → chunk-WFHYU66E.js} +1 -1
  203. package/dist/chunk-WH3JHMEA.js +13 -0
  204. package/dist/chunk-WUKN5WUM.js +11 -0
  205. package/dist/{chunk-ET2EF5CI.js → chunk-X7PM7JOD.js} +1 -1
  206. package/dist/{chunk-4NXMMWL6.js → chunk-XD34TCRG.js} +1 -1
  207. package/dist/chunk-XI4HKNFI.js +19 -0
  208. package/dist/{chunk-Y4MI6NRI.js → chunk-XNWQ72WA.js} +1 -1
  209. package/dist/{chunk-3BSPSRK4.js → chunk-XS4HFUTW.js} +3 -3
  210. package/dist/{chunk-Y5T257HX.js → chunk-XZYAFTW4.js} +4 -4
  211. package/dist/{chunk-Z35NWGMT.js → chunk-Y44ABEW3.js} +2 -2
  212. package/dist/chunk-YWGC7J6B.js +11 -0
  213. package/dist/{chunk-MMFJBWJC.js → chunk-Z3JW77LH.js} +1 -1
  214. package/dist/chunk-ZAU2HIRH.js +21 -0
  215. package/dist/{chunk-Y53KNQKL.js → chunk-ZDMZM7HD.js} +2 -2
  216. package/dist/chunk-ZHHEMSOD.js +3 -0
  217. package/dist/chunk-ZOHQVSB3.js +27 -0
  218. package/dist/{chunk-3AKIKASU.js → chunk-ZTL2RPNY.js} +1 -1
  219. package/dist/{chunk-QVR4LBBW.js → chunk-ZYDZY6ED.js} +1 -1
  220. package/dist/data/DataTable.js +1 -1
  221. package/dist/data/Kanban.js +1 -1
  222. package/dist/data/ListFooter.js +1 -1
  223. package/dist/data/ListLoadError.js +1 -1
  224. package/dist/data/Pagination.js +1 -1
  225. package/dist/file-intake/index.js +1 -1
  226. package/dist/format/index.js +1 -1
  227. package/dist/forms/AlignmentGrid.js +1 -1
  228. package/dist/forms/BorderInput.js +1 -1
  229. package/dist/forms/BrandAssetEditor.js +1 -1
  230. package/dist/forms/Button.js +1 -1
  231. package/dist/forms/Calendar.js +1 -1
  232. package/dist/forms/ColorPicker.js +1 -1
  233. package/dist/forms/ComposerAttachments.js +1 -1
  234. package/dist/forms/CornersInput.js +1 -1
  235. package/dist/forms/DatePicker.js +1 -1
  236. package/dist/forms/DateRangePicker.js +1 -1
  237. package/dist/forms/DateTimePicker.js +1 -1
  238. package/dist/forms/DisplayChips.js +1 -1
  239. package/dist/forms/FilePicker.js +1 -1
  240. package/dist/forms/FormErrorSummary.js +1 -1
  241. package/dist/forms/FormField.js +1 -1
  242. package/dist/forms/IconButton.js +1 -1
  243. package/dist/forms/IconPicker.js +1 -1
  244. package/dist/forms/ImageFocusPoint.js +1 -1
  245. package/dist/forms/Input.js +1 -1
  246. package/dist/forms/InputNumber.js +1 -1
  247. package/dist/forms/LinkPicker.js +1 -1
  248. package/dist/forms/MediaLibrary.d.ts +6 -1
  249. package/dist/forms/MediaLibrary.js +1 -1
  250. package/dist/forms/MediaUploadField.js +1 -1
  251. package/dist/forms/MediaUploadGrid.js +1 -1
  252. package/dist/forms/MediaUsedInList.js +1 -1
  253. package/dist/forms/NumericKeypad.js +1 -1
  254. package/dist/forms/PictureTiles.js +1 -1
  255. package/dist/forms/PositionInput.js +1 -1
  256. package/dist/forms/RadioGroup.js +1 -1
  257. package/dist/forms/Segmented.js +1 -1
  258. package/dist/forms/Select.d.ts +7 -1
  259. package/dist/forms/Select.js +1 -1
  260. package/dist/forms/SidesInput.js +1 -1
  261. package/dist/forms/Slider.d.ts +7 -1
  262. package/dist/forms/Slider.js +1 -1
  263. package/dist/forms/Snippet.js +1 -1
  264. package/dist/forms/SplitButton.js +1 -1
  265. package/dist/forms/TagInput.js +1 -1
  266. package/dist/forms/TextToolbar.d.ts +1 -1
  267. package/dist/forms/TextToolbar.js +1 -1
  268. package/dist/forms/Textarea.js +1 -1
  269. package/dist/forms/TimePicker.js +1 -1
  270. package/dist/forms/WidthsBar.d.ts +7 -8
  271. package/dist/forms/WidthsBar.js +1 -1
  272. package/dist/forms/buttonStyles.js +1 -1
  273. package/dist/forms/mediaLibraryMenu.js +1 -1
  274. package/dist/forms/mediaMoveItems.js +1 -1
  275. package/dist/forms/styles.d.ts +2 -2
  276. package/dist/forms/styles.js +1 -1
  277. package/dist/forms/textAlign.d.ts +1 -1
  278. package/dist/forms/textAlign.js +1 -1
  279. package/dist/forms/useFileIntake.js +1 -1
  280. package/dist/hooks/useTheme.d.ts +1 -1
  281. package/dist/icons/efficient-glyphs.d.ts +0 -1
  282. package/dist/icons/efficient-glyphs.js +1 -1
  283. package/dist/icons/efficient-looks.js +1 -1
  284. package/dist/icons/efficient-meanings.d.ts +0 -1
  285. package/dist/icons/efficient-meanings.js +1 -1
  286. package/dist/icons/efficient.d.ts +0 -1
  287. package/dist/icons/efficient.js +1 -1
  288. package/dist/icons/glyphs/SpinnerIcon.js +1 -1
  289. package/dist/icons/index.d.ts +2 -2
  290. package/dist/icons/index.js +1 -1
  291. package/dist/icons/looks/map.js +1 -1
  292. package/dist/icons/sets.js +1 -1
  293. package/dist/index.d.ts +4 -2
  294. package/dist/index.js +695 -695
  295. package/dist/locales/zh-Hans.js +1 -1
  296. package/dist/map/index.js +12 -12
  297. package/dist/markdown/index.js +5 -5
  298. package/dist/{names-mX74Rrmy.d.ts → names-C1TgIb_2.d.ts} +1 -1
  299. package/dist/page-tabs/index.js +5 -5
  300. package/dist/pdf/index.js +1 -1
  301. package/dist/shell/Accordion.js +1 -1
  302. package/dist/shell/AppUpdateBanner.js +1 -1
  303. package/dist/shell/Avatar.js +1 -1
  304. package/dist/shell/Banner.js +1 -1
  305. package/dist/shell/Breadcrumbs.js +1 -1
  306. package/dist/shell/BudgetBar.js +1 -1
  307. package/dist/shell/Card.js +1 -1
  308. package/dist/shell/ColoredBadge.js +1 -1
  309. package/dist/shell/ConfirmDialog.js +1 -1
  310. package/dist/shell/ContainerFillChart.js +1 -1
  311. package/dist/shell/ContextMenu.js +1 -1
  312. package/dist/shell/CountBadge.js +1 -1
  313. package/dist/shell/Dialog.js +1 -1
  314. package/dist/shell/Drawer.js +1 -1
  315. package/dist/shell/DropdownMenu.js +1 -1
  316. package/dist/shell/EditableGrid.js +1 -1
  317. package/dist/shell/EmptyState.js +1 -1
  318. package/dist/shell/EmptyValue.js +1 -1
  319. package/dist/shell/GlobalSearch.js +1 -1
  320. package/dist/shell/HelpCenter.js +1 -1
  321. package/dist/shell/IconRail.js +1 -1
  322. package/dist/shell/ImageLightbox.js +1 -1
  323. package/dist/shell/ItemCount.d.ts +20 -0
  324. package/dist/shell/ItemCount.js +1 -0
  325. package/dist/shell/Kbd.js +1 -1
  326. package/dist/shell/LanguageSelect.js +1 -1
  327. package/dist/shell/Markdown.d.ts +1 -1
  328. package/dist/shell/Markdown.js +1 -1
  329. package/dist/shell/MetricBar.js +1 -1
  330. package/dist/shell/MetricBarLegend.js +1 -1
  331. package/dist/shell/MilestoneTimeline.js +1 -1
  332. package/dist/shell/PageHeader.js +1 -1
  333. package/dist/shell/Popover.js +1 -1
  334. package/dist/shell/PopupMenu.js +1 -1
  335. package/dist/shell/ProductionTimeline.js +1 -1
  336. package/dist/shell/ResizeHandle.js +1 -1
  337. package/dist/shell/Result.js +1 -1
  338. package/dist/shell/SearchableSelect.js +1 -1
  339. package/dist/shell/SettingReset.js +1 -1
  340. package/dist/shell/SettingRow.js +1 -1
  341. package/dist/shell/SidebarLayout.js +1 -1
  342. package/dist/shell/SidebarNav.d.ts +19 -5
  343. package/dist/shell/SidebarNav.js +1 -1
  344. package/dist/shell/SortableList.js +1 -1
  345. package/dist/shell/Spinner.js +1 -1
  346. package/dist/shell/Statistic.js +1 -1
  347. package/dist/shell/StatusBadge.js +1 -1
  348. package/dist/shell/StepChain.js +1 -1
  349. package/dist/shell/Tabs.js +1 -1
  350. package/dist/shell/TimeAgo.js +1 -1
  351. package/dist/shell/TimelineTrack.js +1 -1
  352. package/dist/shell/Tooltip.js +1 -1
  353. package/dist/shell/TopNav.js +1 -1
  354. package/dist/shell/TransferProgress.js +1 -1
  355. package/dist/shell/Tree.d.ts +15 -6
  356. package/dist/shell/Tree.js +1 -1
  357. package/dist/shell/language.js +1 -1
  358. package/dist/shell/strings.d.ts +24 -2
  359. package/dist/shell/strings.js +1 -1
  360. package/dist/shell/toast.js +1 -1
  361. package/dist/telemetry/index.js +1 -1
  362. package/dist/templates/AuthScreen.js +1 -1
  363. package/dist/templates/ChatTemplate.js +1 -1
  364. package/dist/templates/CheckoutTemplate.js +1 -1
  365. package/dist/templates/DashboardTemplate.js +1 -1
  366. package/dist/templates/DataTablePage.js +1 -1
  367. package/dist/templates/EmailTemplate.js +1 -1
  368. package/dist/templates/ErrorBoundary.d.ts +1 -1
  369. package/dist/templates/ErrorBoundary.js +1 -1
  370. package/dist/templates/ErrorPage.js +1 -1
  371. package/dist/templates/FormLayoutPage.js +1 -1
  372. package/dist/templates/GalleryTemplate.js +1 -1
  373. package/dist/themes.css +101 -0
  374. package/dist/tokens/colour.d.ts +42 -0
  375. package/dist/tokens/colour.js +1 -0
  376. package/dist/tokens/elevation.d.ts +3 -1
  377. package/dist/tokens/elevation.js +1 -1
  378. package/dist/ui/index.d.ts +3 -1
  379. package/dist/ui/index.js +1 -1
  380. package/dist/ui.css +266 -24
  381. package/dist/version.js +1 -1
  382. package/package.json +1 -1
  383. package/dist/Browser-4C26ZOKV.js +0 -43
  384. package/dist/Calculator-MNTQSI6M.js +0 -29
  385. package/dist/CurrencyConverter-5XTNXV6T.js +0 -21
  386. package/dist/Files-BK7OAVOI.js +0 -87
  387. package/dist/Notepad-Z5XVWR2N.js +0 -25
  388. package/dist/PdfViewer-KJCJ6EPG.js +0 -1
  389. package/dist/Sidebar-LYTGLTQJ.js +0 -43
  390. package/dist/Spreadsheet-CCTSMXEG.js +0 -37
  391. package/dist/Stock-53UOMBQW.js +0 -16
  392. package/dist/Weather-S2ZIGNSU.js +0 -60
  393. package/dist/WorldClock-A62SDKTE.js +0 -32
  394. package/dist/chunk-26AYPJSK.js +0 -5
  395. package/dist/chunk-2CGZX62Z.js +0 -29
  396. package/dist/chunk-2NMT3Y5H.js +0 -20
  397. package/dist/chunk-3ZHFKOFX.js +0 -14
  398. package/dist/chunk-454DAGYG.js +0 -19
  399. package/dist/chunk-4CANQ3B3.js +0 -1
  400. package/dist/chunk-4CFOKYVR.js +0 -12
  401. package/dist/chunk-4IU5BSVE.js +0 -2
  402. package/dist/chunk-4IVT244O.js +0 -8
  403. package/dist/chunk-4SZDP3JF.js +0 -12
  404. package/dist/chunk-5BZMSSOV.js +0 -14
  405. package/dist/chunk-5E3WCKWB.js +0 -3
  406. package/dist/chunk-63EK6S3W.js +0 -3
  407. package/dist/chunk-64WSMLXG.js +0 -2
  408. package/dist/chunk-6BCFVOG7.js +0 -22
  409. package/dist/chunk-6BLWURSG.js +0 -4
  410. package/dist/chunk-6NMDKOQA.js +0 -7
  411. package/dist/chunk-6NSCK3YX.js +0 -100
  412. package/dist/chunk-7DKPJUGU.js +0 -2
  413. package/dist/chunk-7OCNF4AI.js +0 -5
  414. package/dist/chunk-BI6ZLD4X.js +0 -11
  415. package/dist/chunk-BOBUSE33.js +0 -2
  416. package/dist/chunk-CRLSG5AY.js +0 -9
  417. package/dist/chunk-CWXKRYVY.js +0 -5
  418. package/dist/chunk-DITCVBR7.js +0 -15
  419. package/dist/chunk-DODH46ZQ.js +0 -8
  420. package/dist/chunk-DZ6B5XCG.js +0 -13
  421. package/dist/chunk-E5ALJIXV.js +0 -9
  422. package/dist/chunk-E6UCGCOC.js +0 -1
  423. package/dist/chunk-EGDJEY4K.js +0 -27
  424. package/dist/chunk-EL2RLUT6.js +0 -20
  425. package/dist/chunk-ET32NQHX.js +0 -2
  426. package/dist/chunk-ETF7LAYZ.js +0 -8
  427. package/dist/chunk-EZ3BQ6PK.js +0 -18
  428. package/dist/chunk-GATKJSGL.js +0 -8
  429. package/dist/chunk-GNPTNAZH.js +0 -4
  430. package/dist/chunk-H33Z4ZIY.js +0 -11
  431. package/dist/chunk-HTYRV4WU.js +0 -3
  432. package/dist/chunk-I4VD5D43.js +0 -8
  433. package/dist/chunk-IFDW5QW6.js +0 -2
  434. package/dist/chunk-IUMFKZY7.js +0 -4
  435. package/dist/chunk-JPP7UWQA.js +0 -4
  436. package/dist/chunk-JVIOAZHW.js +0 -14
  437. package/dist/chunk-K7KQDPLW.js +0 -27
  438. package/dist/chunk-K7U4RWXJ.js +0 -1
  439. package/dist/chunk-L73LI7FG.js +0 -8
  440. package/dist/chunk-MEYYQC43.js +0 -8
  441. package/dist/chunk-MVP6Q6KV.js +0 -1
  442. package/dist/chunk-NDO24PK6.js +0 -21
  443. package/dist/chunk-NMKADD77.js +0 -1
  444. package/dist/chunk-P5BOTIJU.js +0 -6
  445. package/dist/chunk-PCQPV6MS.js +0 -6
  446. package/dist/chunk-PF3ANJFI.js +0 -1
  447. package/dist/chunk-Q23EHOXW.js +0 -17
  448. package/dist/chunk-Q5MD3VY6.js +0 -3
  449. package/dist/chunk-QR4RM7PO.js +0 -1
  450. package/dist/chunk-REVC6YPT.js +0 -7
  451. package/dist/chunk-RGOUJFAO.js +0 -9
  452. package/dist/chunk-S2OIRC5H.js +0 -12
  453. package/dist/chunk-SB7OTZI4.js +0 -69
  454. package/dist/chunk-SRKSGUGT.js +0 -23
  455. package/dist/chunk-SURSVJA2.js +0 -6
  456. package/dist/chunk-TIQKDAON.js +0 -11
  457. package/dist/chunk-VFCWCGO3.js +0 -9
  458. package/dist/chunk-VRODVMV3.js +0 -1
  459. package/dist/chunk-VU6VPKM3.js +0 -11
  460. package/dist/chunk-W6TS6WGA.js +0 -28
  461. package/dist/chunk-WSPO4N72.js +0 -19
  462. package/dist/chunk-X6PPP6NX.js +0 -14
  463. package/dist/chunk-XLD53X4P.js +0 -9
  464. package/dist/chunk-XSPDPN5O.js +0 -26
  465. package/dist/chunk-ZK2SULCA.js +0 -16
  466. package/dist/chunk-ZNCU3UIW.js +0 -8
  467. package/dist/chunk-ZNXBKFV7.js +0 -6
  468. package/dist/icons/glyphs/QuietIcon.d.ts +0 -8
  469. package/dist/icons/glyphs/QuietIcon.js +0 -1
  470. /package/dist/{chunk-EHPZIBOL.js → chunk-DSIDJYH7.js} +0 -0
  471. /package/dist/{chunk-KJRYEKQP.js → chunk-KC54JQYK.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{DAY_MS as e,fmtSliderDate as t}from"./chunk-YDEIXM2A.js";import{calendarNames as n}from"./chunk-5OTS2G3M.js";import{stagger as r}from"./chunk-465RRWBY.js";import{popupBounds as l}from"./chunk-GLUJS42B.js";import{useBrowserValueOnce as a}from"./chunk-D65T4H6J.js";import{registerModalEscapeInterceptor as s}from"./chunk-TWVUQUUD.js";import{useShellStrings as i,useShellLocale as o}from"./chunk-E6UCGCOC.js";import{useRef as c,useState as d,useId as u,useEffect as m,useCallback as h,useLayoutEffect as p}from"react";import{jsx as x,jsxs as f,Fragment as y}from"react/jsx-runtime";var k={receipt:/* @__PURE__ */f(y,{children:[
1
+ import{DAY_MS as e,fmtSliderDate as t}from"./chunk-YDEIXM2A.js";import{calendarNames as n}from"./chunk-5OTS2G3M.js";import{stagger as r}from"./chunk-465RRWBY.js";import{popupBounds as l}from"./chunk-GLUJS42B.js";import{useBrowserValueOnce as a}from"./chunk-D65T4H6J.js";import{registerModalEscapeInterceptor as s}from"./chunk-TWVUQUUD.js";import{useShellStrings as i,useShellLocale as o}from"./chunk-QWHQJNKL.js";import{useRef as c,useState as d,useId as u,useEffect as m,useCallback as h,useLayoutEffect as p}from"react";import{jsx as x,jsxs as f,Fragment as y}from"react/jsx-runtime";var k={receipt:/* @__PURE__ */f(y,{children:[
2
2
  /* @__PURE__ */x("path",{d:"M3.4 1.9h5.2v7.2l-1.3-.9-1.3.9-1.3-.9-1.3.9z",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),
3
3
  /* @__PURE__ */x("path",{d:"M4.9 4.4h2.2M4.9 6.1h2.2",stroke:"currentColor",strokeWidth:"1.1",strokeLinecap:"round"})]}),check:/* @__PURE__ */x("path",{d:"M2.6 6.3 4.9 8.6 9.4 3.6",fill:"none",stroke:"currentColor",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round"}),doc:/* @__PURE__ */f(y,{children:[
4
4
  /* @__PURE__ */x("path",{d:"M3.5 1.9h3.4l2 2v6.2H3.5z",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),
@@ -13,10 +13,10 @@ return x("svg",{viewBox:"0 0 12 12","aria-hidden":"true",children:k[e]})}functio
13
13
  return f("svg",{viewBox:"0 0 16 16","aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round",children:[
14
14
  /* @__PURE__ */x("path",{d:"M4.2 2.2v11.6"}),
15
15
  /* @__PURE__ */x("path",{d:"M4.2 3.1h7.4l-1.6 2.5 1.6 2.6H4.2z"})]})}function v(){/* @__PURE__ */
16
- return x("svg",{viewBox:"0 0 16 16","aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",children:/* @__PURE__ */x("path",{d:"M2.8 11.6V8.2M6.6 11.6V5.4M10.4 11.6V7M14.2 11.6V3.6"})})}var b=1e-6;function $(e,t,n={}){const r=Number.isFinite(t)&&t>0?t:0,l=Array.from(new Set(e.filter(e=>Number.isFinite(e)))).sort((e,t)=>e-t);if(r<=0||l.length<2){const e=l[0]??0;return{anchorsMs:l,xs:l.map(()=>0),gaps:[],xByMs:()=>0,msByPx:()=>e,inCut:()=>!1}}const a=l[l.length-1]-l[0],s=n.maxTimeShare??.3,i=Math.min(n.breakPx??48,r),o=n.minGapPx??48,c=[],d=[],u=[];for(let e=0;e+1<l.length;e++){const t=l[e+1]-l[e];c.push(t),d.push(a>0?t/a*r:0),u.push(a>0&&t/a>s)}const m=u.filter(Boolean).length,h=Math.max(0,r-m*i);let p=0,x=0;for(let e=0;e<c.length;e++)u[e]||(p+=c[e],x+=1);const f=c.map((e,t)=>u[t]?i:0===x?0:p>0?h*e/p:h/x),y=function(e,t,n){const r=e.slice();let l=0;for(let e=0;e<r.length;e++)t[e]||r[e]>=n-b||(l+=n-r[e],r[e]=n);if(l<=b)return r;let a=0;for(let e=0;e<r.length;e++)!t[e]&&r[e]>n+b&&(a+=r[e]-n);if(a<=b)return r;const s=Math.min(l,a);for(let e=0;e<r.length;e++)t[e]||r[e]<=n+b||(r[e]-=s*(r[e]-n)/a);return r}(f,u,o),k=y.reduce((e,t,n)=>u[n]?e:e+t,0),g=y.map((e,t)=>u[t]?e:k>0?e*h/k:e),M=[0];for(let e=0;e<g.length;e++)M.push(M[e]+g[e]);M[M.length-1]=r;const v=M.slice(0,-1).map((e,t)=>({fromMs:l[t],toMs:l[t+1],gapMs:c[t],fromPx:e,toPx:M[t+1],wantPx:d[t],clampedPx:f[t],px:M[t+1]-e,compressed:u[t]}));return{anchorsMs:l,xs:M,gaps:v,xByMs:e=>{if(!Number.isFinite(e)||e<=l[0])return 0;if(e>=l[l.length-1])return r;for(let t=0;t+1<l.length;t++){if(e>l[t+1])continue;const n=l[t+1]-l[t],r=n>0?(e-l[t])/n:0;return M[t]+r*(M[t+1]-M[t])}return r},msByPx:e=>{const t=Math.min(Math.max(Number.isFinite(e)?e:0,0),r);for(let e=0;e+1<l.length;e++){if(t>M[e+1]&&e+2<l.length)continue;const n=M[e+1]-M[e],r=n>0?(t-M[e])/n:0;return l[e]+r*(l[e+1]-l[e])}return l[l.length-1]},inCut:e=>v.some(t=>t.compressed&&e>t.fromMs&&e<t.toMs)}}function w(e,t,n){return Math.max(0,Math.min(e-t/2,Math.max(0,n-t)))}var P="mixed";function N(e,t){return 5.6*Math.max(e.length,t.length)+8}var C=(e,t,n)=>Math.min(Math.max(e,t),n),T=e=>-(Math.cos(Math.PI*e)-1)/2;function B(e,t){if(!(t>0))return{px:e.fromPx,ms:e.fromMs};if(t>=1||e.durationMs<=0)return{px:e.toPx,ms:e.toMs};const n=e.fromPx+(e.toPx-e.fromPx)*T(t);return{px:n,ms:e.msByPx(n)}}var L={lanes:{tag:0,laneA:17,laneH:30,rail:52,ruler:64,laneB:86,height:120},active:{tag:0,laneA:17,laneH:30,rail:38,ruler:50,laneB:74,height:108},none:{tag:0,laneA:16,laneH:14,rail:34,ruler:46,laneB:46,height:72}};function D(){try{return"undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}var K=e=>5.6*e.length,A={default:{},dfm:{glyph:"doc",token:"var(--tl-dfm)"},shipment:{diamond:!0,glyph:"truck",token:"var(--tl-shipment)"},testing:{glyph:"flask",token:"var(--tl-testing)"},completion:{glyph:"check",token:"var(--tl-completion)"},inspection:{glyph:"flask",token:"var(--tl-inspection)"},invoice:{glyph:"receipt",token:"var(--tl-invoice)"},report:{}},F={doc:"dfm",flask:"testing",check:"completion",truck:"shipment",receipt:"invoice"};function j(e,t,n){if("none"!==e.glyph)return e.glyph?e.glyph:A[t].glyph??(n?"flag":void 0)}function O(e,t,n=!1){const r=A[e],l=["rosh-tl-node","rosh-tl-mark",`is-${t}`];r.diamond&&l.push("is-diamond"),n&&l.push("is-provisional");const a="current"===t?"var(--tl-accent)":r.token??"var(--tl-accent)",s="dot"===t||n?{borderColor:a,color:a}:{backgroundColor:a,color:"var(--tl-on-kind)"};return{className:l.join(" "),style:s}}function R(e){const t=(e=>"string"==typeof e?e:"")(e.detail);return`${e.label} · ${e.dateText}${t?` · ${t}`:""}`}var U="undefined"==typeof document?m:p;function H(e,t){const[n,r]=d(0);return U(()=>{const n=t?e.current:null;if(!n)return;const l=()=>{const e=n.getBoundingClientRect().width;e>0&&r(e)};if(l(),"undefined"==typeof ResizeObserver)return;const a=new ResizeObserver(l);return a.observe(n),()=>{a.disconnect()}},[e,t]),n}function I(e,t,n){const r=/* @__PURE__ */new Map;for(const e of t)Number.isFinite(e.x)&&r.set(e.x,Math.max(r.get(e.x)??0,e.widthPx));const l=[...r.keys()].sort((e,t)=>e-t);if(n<=0||l.length<2)return e;const a=Math.max(0,l[0]),s=Math.min(n,l[l.length-1]),i=s-a,o=[];for(let e=0;e+1<l.length;e++){const t=(r.get(l[e])??0)/2+(r.get(l[e+1])??0)/2+8;o.push(Math.max(28,t,l[e+1]-l[e]))}const c=o.reduce((e,t)=>e+t,0),d=Math.min(Math.max(c,i),.8*n);if(d<=i+.5)return e;const u=a,m=n-s,h=u+m,p=Math.max(0,n-d),x=h>0?p*u/h:0,f=x,y=x+d,k=o.map(e=>c>0?e*d/c:0),g=e=>{if(e<=a)return u>0?e*x/u:f;if(e>=s)return m>0?y+(e-s)*(n-y)/m:y;let t=f;for(let n=0;n+1<l.length;n++){if(e>l[n+1]){t+=k[n];continue}const r=l[n+1]-l[n];return t+(r>0?(e-l[n])/r*k[n]:0)}return y};return{anchorsMs:e.anchorsMs,xs:e.xs.map(g),gaps:e.gaps.map(e=>({...e,fromPx:g(e.fromPx),toPx:g(e.toPx),px:g(e.toPx)-g(e.fromPx)})),xByMs:t=>g(e.xByMs(t)),msByPx:t=>e.msByPx((e=>{if(e<=f)return x>0?e*u/x:a;if(e>=y)return n-y>0?s+(e-y)*m/(n-y):s;let t=f;for(let n=0;n+1<l.length;n++){if(!(e>t+k[n]))return l[n]+(k[n]>0?(e-t)/k[n]*(l[n+1]-l[n]):0);t+=k[n]}return s})(t)),inCut:e.inCut}}function S(e){if(!e||0===e.length)return null;const t=e.filter(e=>Number.isFinite(e)).sort((e,t)=>e-t);return t.length>0?t:null}function z({marks:e,innerRef:t}){/* @__PURE__ */
16
+ return x("svg",{viewBox:"0 0 16 16","aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",children:/* @__PURE__ */x("path",{d:"M2.8 11.6V8.2M6.6 11.6V5.4M10.4 11.6V7M14.2 11.6V3.6"})})}var b=1e-6;function $(e,t,n={}){const r=Number.isFinite(t)&&t>0?t:0,l=Array.from(new Set(e.filter(e=>Number.isFinite(e)))).sort((e,t)=>e-t);if(r<=0||l.length<2){const e=l[0]??0;return{anchorsMs:l,xs:l.map(()=>0),gaps:[],xByMs:()=>0,msByPx:()=>e,inCut:()=>!1}}const a=l[l.length-1]-l[0],s=n.maxTimeShare??.3,i=Math.min(n.breakPx??48,r),o=n.minGapPx??48,c=[],d=[],u=[];for(let e=0;e+1<l.length;e++){const t=l[e+1]-l[e];c.push(t),d.push(a>0?t/a*r:0),u.push(a>0&&t/a>s)}const m=u.filter(Boolean).length,h=Math.max(0,r-m*i);let p=0,x=0;for(let e=0;e<c.length;e++)u[e]||(p+=c[e],x+=1);const f=c.map((e,t)=>u[t]?i:0===x?0:p>0?h*e/p:h/x),y=function(e,t,n){const r=e.slice();let l=0;for(let e=0;e<r.length;e++)t[e]||r[e]>=n-b||(l+=n-r[e],r[e]=n);if(l<=b)return r;let a=0;for(let e=0;e<r.length;e++)!t[e]&&r[e]>n+b&&(a+=r[e]-n);if(a<=b)return r;const s=Math.min(l,a);for(let e=0;e<r.length;e++)t[e]||r[e]<=n+b||(r[e]-=s*(r[e]-n)/a);return r}(f,u,o),k=y.reduce((e,t,n)=>u[n]?e:e+t,0),g=y.map((e,t)=>u[t]?e:k>0?e*h/k:e),M=[0];for(let e=0;e<g.length;e++)M.push(M[e]+g[e]);M[M.length-1]=r;const v=M.slice(0,-1).map((e,t)=>({fromMs:l[t],toMs:l[t+1],gapMs:c[t],fromPx:e,toPx:M[t+1],wantPx:d[t],clampedPx:f[t],px:M[t+1]-e,compressed:u[t]}));return{anchorsMs:l,xs:M,gaps:v,xByMs:e=>{if(!Number.isFinite(e)||e<=l[0])return 0;if(e>=l[l.length-1])return r;for(let t=0;t+1<l.length;t++){if(e>l[t+1])continue;const n=l[t+1]-l[t],r=n>0?(e-l[t])/n:0;return M[t]+r*(M[t+1]-M[t])}return r},msByPx:e=>{const t=Math.min(Math.max(Number.isFinite(e)?e:0,0),r);for(let e=0;e+1<l.length;e++){if(t>M[e+1]&&e+2<l.length)continue;const n=M[e+1]-M[e],r=n>0?(t-M[e])/n:0;return l[e]+r*(l[e+1]-l[e])}return l[l.length-1]},inCut:e=>v.some(t=>t.compressed&&e>t.fromMs&&e<t.toMs)}}function w(e,t,n){return Math.max(0,Math.min(e-t/2,Math.max(0,n-t)))}var P="mixed";function N(e,t){return 5.6*Math.max(e.length,t.length)+8}var C=(e,t,n)=>Math.min(Math.max(e,t),n),T=e=>-(Math.cos(Math.PI*e)-1)/2;function B(e,t){if(!(t>0))return{px:e.fromPx,ms:e.fromMs};if(t>=1||e.durationMs<=0)return{px:e.toPx,ms:e.toMs};const n=e.fromPx+(e.toPx-e.fromPx)*T(t);return{px:n,ms:e.msByPx(n)}}var L={lanes:{tag:0,laneA:17,laneH:30,rail:52,ruler:64,laneB:86,height:120},active:{tag:0,laneA:17,laneH:30,rail:38,ruler:50,laneB:74,height:108},none:{tag:0,laneA:16,laneH:14,rail:34,ruler:46,laneB:46,height:72}};function D(){try{return"undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}var K=e=>5.6*e.length,A={default:{},dfm:{glyph:"doc",token:"var(--tl-dfm)"},shipment:{diamond:!0,glyph:"truck",token:"var(--tl-shipment)"},testing:{glyph:"flask",token:"var(--tl-testing)"},completion:{glyph:"check",token:"var(--tl-completion)"},inspection:{glyph:"flask",token:"var(--tl-inspection)"},invoice:{glyph:"receipt",token:"var(--tl-invoice)"},report:{}},F={doc:"dfm",flask:"testing",check:"completion",truck:"shipment",receipt:"invoice"};function j(e,t,n){if("none"!==e.glyph)return e.glyph?e.glyph:A[t].glyph??(n?"flag":void 0)}function R(e,t,n=!1){const r=A[e],l=["rosh-tl-node","rosh-tl-mark",`is-${t}`];r.diamond&&l.push("is-diamond"),n&&l.push("is-provisional");const a="current"===t?"var(--tl-accent)":r.token??"var(--tl-accent)",s="dot"===t||n?{borderColor:a,color:a}:{backgroundColor:a,color:"var(--tl-on-kind)"};return{className:l.join(" "),style:s}}function H(e){const t=(e=>"string"==typeof e?e:"")(e.detail);return`${e.label} · ${e.dateText}${t?` · ${t}`:""}`}var O="undefined"==typeof document?m:p;function U(e,t){const[n,r]=d(0);return O(()=>{const n=t?e.current:null;if(!n)return;const l=()=>{const e=n.getBoundingClientRect().width;e>0&&r(e)};if(l(),"undefined"==typeof ResizeObserver)return;const a=new ResizeObserver(l);return a.observe(n),()=>{a.disconnect()}},[e,t]),n}function I(e,t,n){const r=/* @__PURE__ */new Map;for(const e of t)Number.isFinite(e.x)&&r.set(e.x,Math.max(r.get(e.x)??0,e.widthPx));const l=[...r.keys()].sort((e,t)=>e-t);if(n<=0||l.length<2)return e;const a=Math.max(0,l[0]),s=Math.min(n,l[l.length-1]),i=s-a,o=[];for(let e=0;e+1<l.length;e++){const t=(r.get(l[e])??0)/2+(r.get(l[e+1])??0)/2+8;o.push(Math.max(28,t,l[e+1]-l[e]))}const c=o.reduce((e,t)=>e+t,0),d=Math.min(Math.max(c,i),.8*n);if(d<=i+.5)return e;const u=a,m=n-s,h=u+m,p=Math.max(0,n-d),x=h>0?p*u/h:0,f=x,y=x+d,k=o.map(e=>c>0?e*d/c:0),g=e=>{if(e<=a)return u>0?e*x/u:f;if(e>=s)return m>0?y+(e-s)*(n-y)/m:y;let t=f;for(let n=0;n+1<l.length;n++){if(e>l[n+1]){t+=k[n];continue}const r=l[n+1]-l[n];return t+(r>0?(e-l[n])/r*k[n]:0)}return y};return{anchorsMs:e.anchorsMs,xs:e.xs.map(g),gaps:e.gaps.map(e=>({...e,fromPx:g(e.fromPx),toPx:g(e.toPx),px:g(e.toPx)-g(e.fromPx)})),xByMs:t=>g(e.xByMs(t)),msByPx:t=>e.msByPx((e=>{if(e<=f)return x>0?e*u/x:a;if(e>=y)return n-y>0?s+(e-y)*m/(n-y):s;let t=f;for(let n=0;n+1<l.length;n++){if(!(e>t+k[n]))return l[n]+(k[n]>0?(e-t)/k[n]*(l[n+1]-l[n]):0);t+=k[n]}return s})(t)),inCut:e.inCut}}function S(e){if(!e||0===e.length)return null;const t=e.filter(e=>Number.isFinite(e)).sort((e,t)=>e-t);return t.length>0?t:null}function W({marks:e,innerRef:t}){/* @__PURE__ */
17
17
  return x("div",{ref:t,"aria-hidden":"true",className:"rosh-tl-measure",children:e.map(e=>/* @__PURE__ */f("div",{"data-lane-key":e.key,className:"rosh-tl-measure-box",children:[
18
18
  /* @__PURE__ */x("span",{className:"rosh-tl-name",children:e.label}),
19
- /* @__PURE__ */x("span",{className:"rosh-tl-date",children:e.dateText})]},e.key))})}function E({startMs:t,endMs:r,axis:l,geo:a,reveal:s}){const c=i().timeline,d=n(o()),u=a.ruler,m=[],h=[],p=l.gaps.filter(e=>e.compressed),y=new Date(t);y.setUTCDate(y.getUTCDate()+(8-y.getUTCDay())%7);for(let t=y.getTime();t<r;t+=7*e){if(l.inCut(t))continue;const n=l.xByMs(t);l.xByMs(t+7*e)-n<14||m.push(
19
+ /* @__PURE__ */x("span",{className:"rosh-tl-date",children:e.dateText})]},e.key))})}function z({startMs:t,endMs:r,axis:l,geo:a,reveal:s}){const c=i().timeline,d=n(o()),u=a.ruler,m=[],h=[],p=l.gaps.filter(e=>e.compressed),y=new Date(t);y.setUTCDate(y.getUTCDate()+(8-y.getUTCDay())%7);for(let t=y.getTime();t<r;t+=7*e){if(l.inCut(t))continue;const n=l.xByMs(t);l.xByMs(t+7*e)-n<14||m.push(
20
20
  /* @__PURE__ */x("i",{className:"rosh-tl-tick is-week",style:{left:`${n}px`,top:`${u}px`,height:"3px"}},`wk-${t}`))}const k=p.map(t=>{const n=(t.fromPx+t.toPx)/2,r=K(c.days(Math.round(t.gapMs/e)))/2+6;return[n-r,n+r]}),g=(e,t)=>k.some(([n,r])=>e<r&&t>n);m.push(
21
21
  /* @__PURE__ */x("i",{"data-timeline-part":"start-tick",className:"rosh-tl-tick",style:{left:"0px",top:`${u}px`,height:"6px"}},"start"));const M=new Date(t);M.setUTCDate(1);let v=-1/0,b=!0;for(;M.getTime()<r;){const e=M.getTime();if(!(e<=t)&&!l.inCut(e)){const t=l.xByMs(e);if(m.push(
22
22
  /* @__PURE__ */x("i",{className:"rosh-tl-tick",style:{left:`${t}px`,top:`${u}px`,height:"6px"}},`mo-${e}`)),t-v>=72||b){const n=b||0===M.getUTCMonth()?d.shortMonthYear(M.getUTCFullYear(),M.getUTCMonth()):d.monthsShort[M.getUTCMonth()];g(t,t+K(n))||(h.push(
@@ -26,14 +26,14 @@ return f("span",{"data-timeline-part":"break",className:"rosh-tl-rulercut"+(s?"
26
26
  /* @__PURE__ */f("span",{className:"rosh-tl-cutglyph",children:[
27
27
  /* @__PURE__ */x("i",{}),
28
28
  /* @__PURE__ */x("i",{})]}),
29
- /* @__PURE__ */x("span",{children:c.days(n)})]},`cut-${t.fromMs}`)})]})}function W({pending:e,reveal:t}){const n=i().timeline,[r,l]=d(!1),a=r?e:e.slice(0,2),s=e.length-a.length;/* @__PURE__ */
29
+ /* @__PURE__ */x("span",{children:c.days(n)})]},`cut-${t.fromMs}`)})]})}function E({pending:e,reveal:t}){const n=i().timeline,[r,l]=d(!1),a=r?e:e.slice(0,2),s=e.length-a.length;/* @__PURE__ */
30
30
  return f("div",{className:"rosh-tl-pending","data-timeline-part":"pending",children:[
31
31
  /* @__PURE__ */x("p",{className:"rosh-tl-pending-head",children:n.notReached}),
32
32
  /* @__PURE__ */x("ol",{className:"rosh-tl-ghosts","aria-label":n.notReached,children:a.map((e,r)=>/* @__PURE__ */f("li",{className:t?"rosh-tl-fade":void 0,style:t?{animationDelay:440+60*r+"ms"}:void 0,children:[
33
33
  /* @__PURE__ */x("span",{"aria-hidden":"true",className:"rosh-tl-node is-ghost"+(e.kind&&A[e.kind].diamond?" is-diamond":"")}),
34
34
  /* @__PURE__ */f("span",{children:[0===r&&/* @__PURE__ */x("b",{children:`${n.next} · `}),e.label]})]},e.key))}),s>0&&/* @__PURE__ */x("button",{type:"button",className:"rosh-tl-more text-gray-500",onClick:()=>l(!0),children:n.more(s)})]})}function X({marks:t,pending:n,currentKey:l,todayMs:a,reveal:s,ariaLabel:o,step:c,nodeProps:d,onKeyDown:u}){const m=i().timeline,h=t.findIndex(e=>e.key===l),p=t.length>0&&null!==a?Math.round((a-t[t.length-1].ms)/e):0;/* @__PURE__ */
35
35
  return f("div",{"data-timeline-part":"vertical",children:[
36
- /* @__PURE__ */x("ol",{className:"rosh-tl-v","aria-label":o,onKeyDown:u,children:t.map((e,t)=>{const n=O(e.kind,e.role),a=h>=0&&t<h,{glyph:i}=e;/* @__PURE__ */
36
+ /* @__PURE__ */x("ol",{className:"rosh-tl-v","aria-label":o,onKeyDown:u,children:t.map((e,t)=>{const n=R(e.kind,e.role),a=h>=0&&t<h,{glyph:i}=e;/* @__PURE__ */
37
37
  return f("li",{className:s?"rosh-tl-fade":void 0,style:s?r(t,c):void 0,...e.key===l?{"aria-current":"step"}:{},children:[
38
38
  /* @__PURE__ */x("i",{"aria-hidden":"true",className:`rosh-tl-vline text-blue-600${a?" is-on":" is-dash"}${a&&s?" rosh-tl-drawy":""}`}),
39
39
  /* @__PURE__ */f("button",{...d(e),className:`${n.className}${s?" rosh-tl-pop":""}`,style:{...n.style,...s?r(t,c):{}},children:[i&&/* @__PURE__ */x(g,{name:i}),"current"===e.role&&/* @__PURE__ */x("span",{"aria-hidden":"true",className:"rosh-tl-pulse bg-blue-600"+(s?" is-on":"")})]}),
@@ -41,7 +41,7 @@ return f("li",{className:s?"rosh-tl-fade":void 0,style:s?r(t,c):void 0,...e.key=
41
41
  /* @__PURE__ */x("span",{className:"rosh-tl-name",children:e.label}),
42
42
  /* @__PURE__ */x("span",{className:"rosh-tl-date",children:e.dateText})]})]},e.key)})}),p>0&&/* @__PURE__ */f("p",{className:"rosh-tl-vgap","aria-hidden":"true",children:[
43
43
  /* @__PURE__ */x("i",{className:"rosh-tl-vline is-dash"}),
44
- /* @__PURE__ */x("span",{children:m.daysToToday(p)})]}),n.length>0&&/* @__PURE__ */x(W,{pending:n,reveal:s})]})}function V({axis:e,geo:t,fillTo:n,reveal:r,trackPx:l,tweened:a=!1}){/* @__PURE__ */
44
+ /* @__PURE__ */x("span",{children:m.daysToToday(p)})]}),n.length>0&&/* @__PURE__ */x(E,{pending:n,reveal:s})]})}function V({axis:e,geo:t,fillTo:n,reveal:r,trackPx:l,tweened:a=!1}){/* @__PURE__ */
45
45
  return f("div",{"aria-hidden":"true",children:[
46
46
  /* @__PURE__ */x("div",{className:"rosh-tl-rail bg-gray-200",style:{top:`${t.rail}px`,height:"6px",width:`${l}px`}}),null!==n&&/* @__PURE__ */x("div",{"data-timeline-part":"fill",className:`rosh-tl-fill bg-blue-600${a?" is-tweened":""}${r?" rosh-tl-draw":""}`,style:{top:`${t.rail}px`,height:"6px",width:`${Math.max(0,Math.min(e.xByMs(n),l))}px`}}),e.gaps.filter(e=>e.compressed).map(e=>/* @__PURE__ */f("div",{className:"rosh-tl-cut",style:{left:(e.fromPx+e.toPx)/2+"px",top:`${t.rail}px`,height:"6px"},children:[
47
47
  /* @__PURE__ */x("i",{}),
@@ -50,12 +50,12 @@ return f("div",{"aria-hidden":"true","data-timeline-part":"start",children:[
50
50
  /* @__PURE__ */x("i",{className:`rosh-tl-start${r?" is-around":""}${i}`,style:{left:"0px",top:`${e.rail+3}px`,...o}}),null!=t&&!1!==t&&/* @__PURE__ */x("span",{className:`rosh-tl-edge${i}`,"data-timeline-part":"start-caption",style:{left:"0px",top:`${s}px`,...o},children:t}),null!=n&&!1!==n&&/* @__PURE__ */x("span",{className:`rosh-tl-edge is-end${i}`,"data-timeline-part":"end-caption",style:{left:`${a}px`,top:`${s}px`,...o},children:n})]})}function Y({x:e,geo:t,trackPx:n,label:r,reveal:l}){const a=i().timeline;/* @__PURE__ */
51
51
  return f("div",{"aria-hidden":"true","data-timeline-part":"today",children:[
52
52
  /* @__PURE__ */x("div",{className:"rosh-tl-todayline"+(l?" rosh-tl-fade":""),style:{left:`${e}px`,top:`${t.laneA}px`,height:t.ruler+20-t.laneA+"px",...l?{animationDelay:"420ms"}:{}}}),
53
- /* @__PURE__ */x("span",{className:"rosh-tl-todaytag"+(l?" rosh-tl-fade":""),title:a.todayTitle(r),style:{left:`${w(e,48,n)}px`,top:`${t.tag}px`,...l?{animationDelay:"420ms"}:{}},children:a.today})]})}function _({nodes:e,geo:t,reveal:n}){const r=e.map(e=>{const t=e.members.map(e=>e.caption).filter(e=>!!e);return 0===t.length?null:{x:e.x,first:t[0],last:t[t.length-1]}}).filter(e=>null!==e).sort((e,t)=>e.x-t.x),l=[];let a=null;const s=()=>{a&&(l.push({x:(a.from+a.to)/2,text:a.first===a.last?a.first:`${a.first}–${a.last}`}),a=null)};for(const e of r){const t=e.first===e.last?e.first:`${e.first}–${e.last}`,n=K(t)/2;a&&e.x-n<a.right+6?(a.to=e.x,a.last=e.last,a.right=e.x+n):(s(),a={from:e.x,to:e.x,first:e.first,last:e.last,right:e.x+n})}return s(),/* @__PURE__ */x("div",{"aria-hidden":"true","data-timeline-part":"captions",children:l.map(e=>/* @__PURE__ */x("span",{className:"rosh-tl-caption"+(n?" rosh-tl-fade":""),style:{left:`${e.x}px`,top:`${t.laneA}px`,...n?{animationDelay:"360ms"}:{}},children:e.text},`${e.x}-${e.text}`))})}function q({phase:e,geo:t,xOf:n}){const r=n(e.minMs),l=Math.max(n(e.maxMs)-r,4);/* @__PURE__ */
53
+ /* @__PURE__ */x("span",{className:"rosh-tl-todaytag"+(l?" rosh-tl-fade":""),title:a.todayTitle(r),style:{left:`${w(e,48,n)}px`,top:`${t.tag}px`,...l?{animationDelay:"420ms"}:{}},children:a.today})]})}function _({nodes:e,geo:t,reveal:n}){const r=e.map(e=>{const t=e.members.map(e=>e.caption).filter(e=>!!e);return 0===t.length?null:{x:e.x,first:t[0],last:t[t.length-1]}}).filter(e=>null!==e).sort((e,t)=>e.x-t.x),l=[];let a=null;const s=()=>{a&&(l.push({x:(a.from+a.to)/2,text:a.first===a.last?a.first:`${a.first}–${a.last}`}),a=null)};for(const e of r){const t=e.first===e.last?e.first:`${e.first}–${e.last}`,n=K(t)/2;a&&e.x-n<a.right+6?(a.to=e.x,a.last=e.last,a.right=e.x+n):(s(),a={from:e.x,to:e.x,first:e.first,last:e.last,right:e.x+n})}return s(),/* @__PURE__ */x("div",{"aria-hidden":"true","data-timeline-part":"captions",children:l.map(e=>/* @__PURE__ */x("span",{className:"rosh-tl-caption"+(n?" rosh-tl-fade":""),style:{left:`${e.x}px`,top:`${t.laneA}px`,...n?{animationDelay:"360ms"}:{}},children:e.text},`${e.x}-${e.text}`))})}function J({phase:e,geo:t,xOf:n}){const r=n(e.minMs),l=Math.max(n(e.maxMs)-r,4);/* @__PURE__ */
54
54
  return f("div",{"aria-hidden":"true","data-timeline-part":"phase",children:[
55
55
  /* @__PURE__ */x("div",{className:"rosh-tl-phase border-gray-300",style:{left:`${r}px`,width:`${l}px`,top:t.laneB+t.laneH-4+"px"}}),
56
- /* @__PURE__ */f("span",{className:"rosh-tl-phase-label text-gray-500",style:{left:`${r+l/2}px`,top:`${t.laneB+t.laneH+5}px`},children:[e.label," · parallel"]})]})}function J({nodes:e,trackPx:t,geo:n,activeKey:r,hoveredKey:l,currentKey:a}){const s=i().timeline,o=(e,t)=>null!==t&&(e.key===t||e.members.some(e=>e.key===t)),c=e.find(e=>e.key===l)??e.find(e=>o(e,r))??null;if(!c)return null;const d=c.mark,u=d?d.label:`×${c.members.length}`,m=d?d.dateText:function(e){const t=e[0].dateText,n=e[e.length-1].dateText;return t===n?t:`${t} – ${n}`}(c.members),h=d?d.widthPx:N(u,m),p=d?.onOpen;/* @__PURE__ */
56
+ /* @__PURE__ */f("span",{className:"rosh-tl-phase-label text-gray-500",style:{left:`${r+l/2}px`,top:`${t.laneB+t.laneH+5}px`},children:[e.label," · parallel"]})]})}function Q({nodes:e,trackPx:t,geo:n,activeKey:r,hoveredKey:l,currentKey:a}){const s=i().timeline,o=(e,t)=>null!==t&&(e.key===t||e.members.some(e=>e.key===t)),c=e.find(e=>e.key===l)??e.find(e=>o(e,r))??null;if(!c)return null;const d=c.mark,u=d?d.label:`×${c.members.length}`,m=d?d.dateText:function(e){const t=e[0].dateText,n=e[e.length-1].dateText;return t===n?t:`${t} – ${n}`}(c.members),h=d?d.widthPx:N(u,m),p=d?.onOpen;/* @__PURE__ */
57
57
  return f("div",{"data-timeline-part":"label",className:`rosh-tl-label${c.key===l?" is-hot":""}${o(c,a)?" is-current":""}`,style:{left:`${w(c.x,h,t)}px`,top:`${n.laneB}px`,width:`${h}px`,height:`${n.laneH}px`},children:[p?/* @__PURE__ */x("button",{type:"button",className:"rosh-tl-name rosh-tl-open","data-timeline-part":"open","aria-label":s.open(u),onClick:p,children:u}):/* @__PURE__ */x("span",{className:"rosh-tl-name","aria-hidden":"true",children:u}),
58
- /* @__PURE__ */x("span",{className:"rosh-tl-date","aria-hidden":"true",children:m})]})}function Z({groups:t,trackPx:n,geo:r,startMs:l,endMs:a,currentKey:s,hoveredKey:i,reveal:o,step:c,zoomedKey:d,popId:u,aimBubble:m,openCluster:h,setOpenCluster:p,previewCluster:k,setPreviewCluster:g,setZoomKey:M,startCaptionPx:v}){const b=[];t.forEach((e,t)=>{if("cluster"===e.type){const r=`cluster-${e.members[0].key}`,l=(n=e.members,`${(n[0]?.label??"").replace(/\s*v?\d+$/i,"").trim()||(n[0]?.label??"")} ×${n.length}`);if(b.push({key:r,group:e,text:l,x:e.members.reduce((e,t)=>e+t.baseX,0)/e.members.length,index:t,lane:-1,left:0,widthPx:Math.ceil(K(l))+28}),r===d)for(const n of e.members)b.push({key:n.key,group:{type:"item",mark:n},text:n.label,x:n.x,index:t,lane:-1,left:0,widthPx:n.widthPx});return}var n;b.push({key:e.mark.key,group:e,text:e.mark.label,x:e.mark.x,index:t,lane:-1,left:0,widthPx:e.mark.widthPx})}),b.sort((e,t)=>e.x-t.x);const $=function(e,t,n,r,l={}){const a=t>0?t:0,s=r>0?r:1,i=l.gapPx??6,o=Math.max(1,l.laneCount??4),c=e.map((e,t)=>({item:e,index:t})).sort((e,t)=>(e.item.priority??0)-(t.item.priority??0)||e.item.ms-t.item.ms||e.index-t.index),d=Array.from({length:o},()=>[]),u=/* @__PURE__ */new Map;for(const{item:e}of c){const t=Math.max(0,e.widthPx);if(a<=0||t>a){u.set(e.key,-1);continue}const r=e.xPx??(e.ms-n)/s*a,l=Math.min(Math.max(r-t/2,0),a-t),c=l+t;let m=-1;for(let e=0;e<o;e++)if(d[e].every(e=>l>e.right+i||c+i<e.left)){d[e].push({left:l,right:c}),m=e;break}u.set(e.key,m)}return e.map(e=>({key:e.key,lane:u.get(e.key)??-1}))}([...v>0?[{key:"__rosh-tl-start__",ms:l,xPx:0,widthPx:v,priority:-2}]:[],...b.map(e=>({key:e.key,ms:"cluster"===e.group.type?e.group.members[0].ms:e.group.mark.ms,xPx:e.x,widthPx:e.widthPx,priority:"cluster"===e.group.type?-1:0}))],n,l,Math.max(a-l,e),{laneCount:2}),P=new Map($.map(e=>[e.key,e.lane]));for(const e of b)e.lane=P.get(e.key)??-1,e.left=w(e.x,e.widthPx,n);const N=b.find(e=>e.key===(h??k)),C=e=>0===e?r.laneA:r.laneB,T=e=>0===e?r.rail-4:r.rail+6+3;/* @__PURE__ */
58
+ /* @__PURE__ */x("span",{className:"rosh-tl-date","aria-hidden":"true",children:m})]})}function q({groups:t,trackPx:n,geo:r,startMs:l,endMs:a,currentKey:s,hoveredKey:i,reveal:o,step:c,zoomedKey:d,popId:u,aimBubble:m,openCluster:h,setOpenCluster:p,previewCluster:k,setPreviewCluster:g,setZoomKey:M,startCaptionPx:v}){const b=[];t.forEach((e,t)=>{if("cluster"===e.type){const r=`cluster-${e.members[0].key}`,l=(n=e.members,`${(n[0]?.label??"").replace(/\s*v?\d+$/i,"").trim()||(n[0]?.label??"")} ×${n.length}`);if(b.push({key:r,group:e,text:l,x:e.members.reduce((e,t)=>e+t.baseX,0)/e.members.length,index:t,lane:-1,left:0,widthPx:Math.ceil(K(l))+28}),r===d)for(const n of e.members)b.push({key:n.key,group:{type:"item",mark:n},text:n.label,x:n.x,index:t,lane:-1,left:0,widthPx:n.widthPx});return}var n;b.push({key:e.mark.key,group:e,text:e.mark.label,x:e.mark.x,index:t,lane:-1,left:0,widthPx:e.mark.widthPx})}),b.sort((e,t)=>e.x-t.x);const $=function(e,t,n,r,l={}){const a=t>0?t:0,s=r>0?r:1,i=l.gapPx??6,o=Math.max(1,l.laneCount??4),c=e.map((e,t)=>({item:e,index:t})).sort((e,t)=>(e.item.priority??0)-(t.item.priority??0)||e.item.ms-t.item.ms||e.index-t.index),d=Array.from({length:o},()=>[]),u=/* @__PURE__ */new Map;for(const{item:e}of c){const t=Math.max(0,e.widthPx);if(a<=0||t>a){u.set(e.key,-1);continue}const r=e.xPx??(e.ms-n)/s*a,l=Math.min(Math.max(r-t/2,0),a-t),c=l+t;let m=-1;for(let e=0;e<o;e++)if(d[e].every(e=>l>e.right+i||c+i<e.left)){d[e].push({left:l,right:c}),m=e;break}u.set(e.key,m)}return e.map(e=>({key:e.key,lane:u.get(e.key)??-1}))}([...v>0?[{key:"__rosh-tl-start__",ms:l,xPx:0,widthPx:v,priority:-2}]:[],...b.map(e=>({key:e.key,ms:"cluster"===e.group.type?e.group.members[0].ms:e.group.mark.ms,xPx:e.x,widthPx:e.widthPx,priority:"cluster"===e.group.type?-1:0}))],n,l,Math.max(a-l,e),{laneCount:2}),P=new Map($.map(e=>[e.key,e.lane]));for(const e of b)e.lane=P.get(e.key)??-1,e.left=w(e.x,e.widthPx,n);const N=b.find(e=>e.key===(h??k)),C=e=>0===e?r.laneA:r.laneB,T=e=>0===e?r.rail-4:r.rail+6+3;/* @__PURE__ */
59
59
  return f(y,{children:[b.map(e=>{const t=Math.max(0,e.lane),n=Math.round(e.index*c+60);if("cluster"===e.group.type){const l=h===e.key,a=e.group.members.map(e=>e.x),s=()=>{g(null),l||M(null)};/* @__PURE__ */
60
60
  return f("div",{children:[
61
61
  /* @__PURE__ */f("button",{type:"button","data-timeline-part":"cluster",className:`rosh-tl-pill${A[e.group.kind]?.token?"":" text-blue-600"}${o?" rosh-tl-fade":""}`,"aria-expanded":l,"aria-controls":u,style:{left:`${e.left}px`,top:`${0===t?r.laneA+r.laneH-19:r.laneB}px`,color:A[e.group.kind]?.token,...o?{animationDelay:`${n}ms`}:{}},onMouseEnter:()=>{g(e.key),M(e.key)},onMouseLeave:s,onFocus:()=>{g(e.key),M(e.key)},onBlur:s,onClick:()=>{p(l?null:e.key),M(l?null:e.key)},children:[
@@ -70,24 +70,24 @@ return f("div",{children:[
70
70
  /* @__PURE__ */x("p",{className:"rosh-tl-popover-head",children:N.text}),
71
71
  /* @__PURE__ */x("ol",{children:N.group.members.map(e=>/* @__PURE__ */f("li",{children:[
72
72
  /* @__PURE__ */x("span",{children:e.label}),
73
- /* @__PURE__ */x("span",{className:"rosh-tl-date",children:e.dateText})]},e.key))})]})]})}function Q({thumb:n,value:r,snap:l,axis:a,geo:s,startMs:d,endMs:u,trackPx:m,layerRef:h,glide:p,onScrub:k,nodes:g,onProgress:M}){const v=i().timeline,b=o(),$=c(!1),P=p?p.px:a.xByMs(r),N=p?p.ms:r,T=S(n.stops),B=T?T.indexOf(r):-1,L=e=>{const t=h.current?.getBoundingClientRect();return t?a.msByPx(e-t.left):r},D=e=>{const t=l(e);t!==r&&n.onChange(t)},K=e=>{k?.(),$.current=!0,e.currentTarget.setPointerCapture?.(e.pointerId),n.onDragStart?.()},A=e=>{$.current&&($.current=!1,e.currentTarget.releasePointerCapture?.(e.pointerId),M(null),n.onDragEnd?.())},F=e=>{if(!$.current)return;const t=L(e.clientX);D(t),M(function(e,t){if(!Number.isFinite(t))return null;const n=e.filter(e=>Number.isFinite(e.ms)).slice().sort((e,t)=>e.ms-t.ms);for(let e=0;e+1<n.length;e++){const r=n[e],l=n[e+1];if(t<r.ms||t>l.ms)continue;const a=l.ms-r.ms;return{fromKey:r.key,toKey:l.key,t:a>0?C((t-r.ms)/a,0,1):1,ms:t}}return null}(g,t))},j=n.valueText?n.valueText(N):t(N,b),O=Math.max(1,Math.round((u-d)/e));/* @__PURE__ */
73
+ /* @__PURE__ */x("span",{className:"rosh-tl-date",children:e.dateText})]},e.key))})]})]})}function Z({thumb:n,value:r,snap:l,axis:a,geo:s,startMs:d,endMs:u,trackPx:m,layerRef:h,glide:p,onScrub:k,nodes:g,onProgress:M}){const v=i().timeline,b=o(),$=c(!1),P=p?p.px:a.xByMs(r),N=p?p.ms:r,T=S(n.stops),B=T?T.indexOf(r):-1,L=e=>{const t=h.current?.getBoundingClientRect();return t?a.msByPx(e-t.left):r},D=e=>{const t=l(e);t!==r&&n.onChange(t)},K=e=>{k?.(),$.current=!0,e.currentTarget.setPointerCapture?.(e.pointerId),n.onDragStart?.()},A=e=>{$.current&&($.current=!1,e.currentTarget.releasePointerCapture?.(e.pointerId),M(null),n.onDragEnd?.())},F=e=>{if(!$.current)return;const t=L(e.clientX);D(t),M(function(e,t){if(!Number.isFinite(t))return null;const n=e.filter(e=>Number.isFinite(e.ms)).slice().sort((e,t)=>e.ms-t.ms);for(let e=0;e+1<n.length;e++){const r=n[e],l=n[e+1];if(t<r.ms||t>l.ms)continue;const a=l.ms-r.ms;return{fromKey:r.key,toKey:l.key,t:a>0?C((t-r.ms)/a,0,1):1,ms:t}}return null}(g,t))},j=n.valueText?n.valueText(N):t(N,b),R=Math.max(1,Math.round((u-d)/e));/* @__PURE__ */
74
74
  return f(y,{children:[
75
75
  /* @__PURE__ */x("div",{className:"rosh-tl-hit","aria-hidden":"true","data-timeline-part":"hit",style:{top:s.rail-9+"px",height:"24px"},onPointerDown:e=>{K(e),D(L(e.clientX))},onPointerMove:F,onPointerUp:A,onPointerCancel:A}),
76
76
  /* @__PURE__ */x("div",{className:"rosh-tl-chip","data-timeline-part":"chip",style:{left:`${w(P,88,m)+44}px`,top:`${s.tag}px`},children:n.chip?n.chip(N):t(N,b)}),
77
- /* @__PURE__ */x("div",{role:"slider",tabIndex:0,className:"rosh-tl-thumb text-blue-600","data-timeline-part":"thumb","aria-label":n.ariaLabel??v.scrub,"aria-valuemin":0,"aria-valuemax":T&&T.length>0?T.length-1:O,"aria-valuenow":T&&T.length>0?Math.max(0,B):Math.round((r-d)/e),"aria-valuetext":j,style:{left:`${P}px`,top:`${s.rail+3}px`},onPointerDown:K,onPointerMove:F,onPointerUp:A,onPointerCancel:A,onKeyDown:t=>{const n=(t=>{const{key:n}=t;if(T&&T.length>0){const e=B<0?0:B;return"ArrowRight"===n||"ArrowUp"===n?T[Math.min(e+1,T.length-1)]:"ArrowLeft"===n||"ArrowDown"===n?T[Math.max(e-1,0)]:"Home"===n?T[0]:"End"===n?T[T.length-1]:null}const l=(t.shiftKey?7:1)*e;return"ArrowRight"===n||"ArrowUp"===n?r+l:"ArrowLeft"===n||"ArrowDown"===n?r-l:"Home"===n?d:"End"===n?u:null})(t);null!==n&&(t.preventDefault(),k?.(),D(n))}})]})}function ee(e,t,n){return(t?e.height:e.ruler+26)+(n?22:0)}function te({startMs:n,endMs:p,axis:k="linear",items:M,markers:v=[],pending:b=[],fillToMs:w,todayMs:te,labels:ne="lanes",activeKey:re=null,onActivate:le,thumb:ae,playback:se,edgeCaptions:ie,phases:oe=[],currentKey:ce,zoomRange:de=null,motion:ue=!0,ariaLabel:me,highlightKeys:he=null,onHoverChange:pe,endMark:xe=null}){const fe="none"===ne,ye=a(Date.now,null),ke=a(D,!1),ge=te??ye,Me=c(null),ve=i().timeline,be=o(),$e=e=>t(e,be),we=c(null),Pe=c(null),Ne=c(null),Ce=c(/* @__PURE__ */new Map),Te=c(void 0),Be=c(void 0),Le=c(null),[De,Ke]=d({}),[Ae,Fe]=d(null),[je,Oe]=d(null),[Re,Ue]=d(null),[He,Ie]=d(null),[Se,ze]=d(null),[Ee,We]=d(null),Xe=u(),Ve=u(),Ge=H(Me,!0),Ye=Ge>0?Ge-(b.length>0&&!fe?176:0):0,_e=Ye>0&&Ye-20<320,qe=H(we,!_e),Je=qe>0?qe:600,Ze=L[ne],Qe=fe&&b.length>0,et=Qe?Math.max(0,Je-36):Je,tt=t=>t>=n-e&&t<=p+e,nt=M.filter(e=>Number.isFinite(e.ms)&&tt(e.ms)).slice().sort((e,t)=>e.ms-t.ms),rt="spread"===k?v.map(e=>new Date(e.date).getTime()).filter(e=>Number.isFinite(e)):[],lt=$([n,...[...nt.map(e=>e.ms),...rt].filter(e=>e>n&&e<p),p],et,"compressed"===(at=k)?{}:"spread"===at?{maxTimeShare:1/0}:{maxTimeShare:1/0,minGapPx:0});var at;const st=lt.xByMs,it=nt.filter(e=>!e.provisional),ot=ce??(it.length>0?it[it.length-1].key:null),ct=nt.map((e,t)=>{const n=e.date??$e(e.ms),r=(e.priority??0)>0||"report"===e.kind,l=function(e){const t=e.kind??"default";return"default"===t&&e.glyph&&"none"!==e.glyph?F[e.glyph]??t:t}(e);return{key:e.key,ms:e.ms,x:st(e.ms),baseX:st(e.ms),kind:l,label:e.label,dateText:n,detail:e.detail,preview:e.preview,glyph:j(e,l,0===t&&"default"===l),role:e.key===ot?"current":r?"dot":"key",widthPx:fe?Math.max(16,K(e.caption??"")+6):De[e.key]||N(e.label,n),collapsible:r,onClick:e.onClick,onOpen:e.onOpen,isItem:!0,caption:e.caption,provisional:!!e.provisional,isCap:!1}}),dt=v.map(e=>({marker:e,ms:new Date(e.date).getTime()})).filter(({ms:e})=>Number.isFinite(e)&&tt(e)).map(({marker:e,ms:t})=>{const n=`marker-${e.id}`,r=$e(t);return{key:n,ms:t,x:st(t),baseX:st(t),kind:e.kind,label:e.label,dateText:r,detail:e.detail,preview:e.preview,glyph:e.glyph??A[e.kind].glyph,role:"key",widthPx:De[n]||N(e.label,r),collapsible:!1,onClick:e.onClick?()=>e.onClick?.(e):void 0,onOpen:e.onOpen?()=>e.onOpen?.(e):void 0,isItem:!1,provisional:!1,isCap:!1}}),ut=Qe?(()=>{const t=b[b.length-1],n=b.slice(0,-1).map(e=>e.label);return[{key:t.key,ms:p+e,x:Je,baseX:Je,kind:t.kind??"default",label:t.label,dateText:ve.notReached,detail:n.length>0?ve.alsoToCome(n):void 0,glyph:void 0,role:"key",widthPx:16,collapsible:!1,isItem:!1,provisional:!1,isCap:!0}]})():[],mt=fe&&xe&&!Qe?[{key:xe.key,ms:p,x:et,baseX:et,kind:"default",label:xe.label,dateText:xe.dateText??$e(p),detail:xe.detail,glyph:void 0,role:"key",widthPx:16,collapsible:!1,isItem:!1,provisional:!1,isCap:!0}]:[],ht=[...ct,...dt,...ut,...mt].sort((e,t)=>e.x-t.x||e.ms-t.ms),pt=ie?.start??ve.start($e(n)),xt=null==pt||!1===pt?0:"string"==typeof pt?Math.ceil(K(pt)):96,ft="lanes"===ne?function(e,t={}){const n=t.minPitchPx??40,r=[];let l=0;for(;l<e.length;){const t=e[l];if(!t.collapsible){r.push({type:"item",mark:t}),l+=1;continue}let a=l+1;for(;a<e.length&&e[a].collapsible&&e[a].kind===t.kind;)a+=1;const s=e.slice(l,a),i=s.length>1&&s.every((e,t)=>{if(0===t)return!0;const r=s[t-1],l=Math.max(n,Math.max(e.widthPx,r.widthPx)+8);return e.x-r.x<l});if(s.length>=3||i)r.push({type:"cluster",kind:t.kind,members:s});else for(const e of s)r.push({type:"item",mark:e});l=a}return r}(ht):[],yt=function(e,t=16){const n=[];let r=0;for(;r<e.length;){let l=r+1;for(;l<e.length&&e[l].x-e[l-1].x<t;)l+=1;if(l-r===1)n.push({type:"item",mark:e[r]});else{const t=e.slice(r,l),a=new Set(t.map(e=>e.kind));n.push({type:"cluster",kind:1===a.size?t[0].kind:P,members:t})}r=l}return n}(ht),kt=e=>"cluster"===e.type?`fold-${e.members[0].key}`:e.mark.key,gt=/* @__PURE__ */new Map;for(const e of yt)if("cluster"===e.type)for(const t of e.members)gt.set(t.key,kt(e));const Mt=Re??He??Se,vt=ft.find(e=>"cluster"===e.type&&(e=>"cluster"===e.type?`cluster-${e.members[0].key}`:e.mark.key)(e)===Mt)??yt.find(e=>"cluster"===e.type&&kt(e)===Mt),bt=e=>({x:e.baseX,widthPx:e.widthPx}),$t=vt&&"cluster"===vt.type?vt.members.map(bt):de?ht.filter(e=>e.ms>=de[0]&&e.ms<=de[1]).map(bt):[],wt=$t.length>1?I(lt,$t,et):lt,Pt=wt!==lt;if(Pt)for(const e of ht)e.isCap||(e.x=wt.xByMs(e.ms));const Nt=ht.some(e=>e.x<14),Ct=Pt&&vt?Mt:null,Tt=e=>({key:e.key,mark:e,members:[e],x:e.x,kind:e.kind,openable:!1}),Bt=_e?ht.map(Tt):yt.flatMap(e=>{if("item"===e.type)return[Tt(e.mark)];const t=kt(e);if(t===Ct&&(n=e.members).every((e,t)=>0===t||e.x-n[t-1].x>=16))return e.members.map(Tt);var n;const r=e.members.map(e=>e.x);return[{key:t,mark:null,members:e.members,x:r.reduce((e,t)=>e+t,0)/r.length,kind:e.kind,openable:new Set(e.members.map(e=>e.ms)).size>1}]}),Lt=/* @__PURE__ */new Map;for(const e of Bt)for(const t of e.members)Lt.set(t.key,e.key);const Dt=yt.find(e=>"cluster"===e.type&&kt(e)===Ct),Kt=Dt&&"cluster"===Dt.type?{from:Math.min(...Dt.members.map(e=>e.x))-16,to:Math.max(...Dt.members.map(e=>e.x))+16}:null,At=c(Ct),[Ft,jt]=d(!1);m(()=>{if(At.current===Ct)return;At.current=Ct,jt(!0);const e=setTimeout(()=>jt(!1),240);return()=>clearTimeout(e)},[Ct]);const Ot=ht.map(e=>`${e.key} ${e.label} ${e.dateText}`).join("|");U(()=>{const e=Pe.current;if(!e)return;const t={};for(const n of Array.from(e.children)){const e=n.dataset.laneKey,r=n.getBoundingClientRect().width;e&&r>0&&(t[e]=r)}Ke(e=>function(e,t){const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Math.abs((e[n]??0)-(t[n]??0))<.5)}(e,t)?e:t)},[Ot]);const Rt=`${ne}|${k}|${ht.map(e=>`${e.key}@${e.ms}`).join("|")}`,[Ut,Ht]=d(Rt),It=ue&&Ut===Rt;m(()=>{Ut!==Rt&&Ht(Rt)},[Ut,Rt]);const St=Math.min(28,340/Math.max(1,ht.length-1)),zt=S(ae?.stops),Et=e=>{const t=Math.min(Math.max(e,n),p);if(!zt)return t;let r=zt[0];for(const e of zt)Math.abs(e-t)<Math.abs(r-t)&&(r=e);return r},Wt=ae?Et(ae.valueMs):null,Xt=se&&ae?ct.filter(e=>!zt||zt.includes(e.ms)).map(e=>({key:e.key,ms:e.ms})):[],Vt=function(e,t,n={}){const r=Number.isFinite(n.speed)&&(n.speed??0)>0?n.speed:1,l=Math.max(0,n.dwellMs??700)/r,a=t.filter(e=>Number.isFinite(e.ms)).slice().sort((e,t)=>e.ms-t.ms),s=[];for(let t=0;t+1<a.length;t++){const i=a[t],o=a[t+1],c=e.xByMs(i.ms),d=e.xByMs(o.ms),u=Math.max(0,d-c),m=u<=.5||n.reducedMotion?0:C(350*u/100,450,1400)/r;s.push({fromKey:i.key,toKey:o.key,fromMs:i.ms,toMs:o.ms,fromPx:c,toPx:d,lengthPx:u,durationMs:m,dwellMs:l,msByPx:e.msByPx})}return s}(wt,Xt,{speed:se?.speed,reducedMotion:ke}),[Gt,Yt]=d(null),_t=c(null),qt=c({segments:Vt,value:Wt,playback:se});m(()=>{qt.current={segments:Vt,value:Wt,playback:se}});const Jt=c(null),Zt=h(e=>{null===e&&null===Jt.current||(Jt.current=e,qt.current.playback?.onProgress?.(e))},[]),Qt=h(()=>{_t.current=null,Yt(null),Zt(null),qt.current.playback?.onStop?.()},[Zt]),en=!!se?.playing&&!!ae;m(()=>{if(!en)return;const e=qt.current,t=null===e.value?-1:e.segments.findIndex(t=>t.fromMs===e.value);if(t<0)return void Qt();_t.current&&_t.current.index===t||(_t.current={index:t,phase:"rest",t:0,restLeftMs:e.segments[t].dwellMs,sinceMs:null});let n,r=0;const l=e=>Yt(t=>t&&t.px===e.px&&t.ms===e.ms?t:e),a=()=>{clearTimeout(n);const e=_t.current;"rest"===e?.phase&&(n=setTimeout(s,Math.max(0,e.restLeftMs)))},s=()=>{const e=_t.current;if("rest"!==e?.phase)return;const t=qt.current.segments[e.index];t?(_t.current={index:e.index,phase:"glide",t:0,restLeftMs:0,sinceMs:null},l(B(t,0))):Qt()},i=e=>{const t=qt.current,n=_t.current;if(!n)return;const s=function(e,t,n){const r=e[t.index];if(!r)return{cursor:null,at:null,arrived:null,progress:null};const l=null===t.sinceMs?0:Math.max(0,n-t.sinceMs);if("rest"===t.phase){const e=t.restLeftMs-l;return e>0?{cursor:{...t,restLeftMs:e,sinceMs:n},at:B(r,0),arrived:null,progress:null}:{cursor:{index:t.index,phase:"glide",t:0,restLeftMs:0,sinceMs:n},at:B(r,0),arrived:null,progress:null}}const a=r.durationMs>0?Math.min(1,t.t+l/r.durationMs):1,s=B(r,a);if(a<1)return{cursor:{...t,t:a,sinceMs:n},at:s,arrived:null,progress:{fromKey:r.fromKey,toKey:r.toKey,t:T(a),ms:s.ms}};const i=e[t.index+1];return{cursor:i?{index:t.index+1,phase:"rest",t:0,restLeftMs:i.dwellMs,sinceMs:n}:null,at:s,arrived:{key:r.toKey,ms:r.toMs},progress:null}}(t.segments,n,e);_t.current=s.cursor,s.at&&l(s.at),Zt(s.progress),s.arrived&&t.playback?.onArrive(s.arrived.key,s.arrived.ms),s.cursor?(s.cursor.phase===n.phase&&s.cursor.index===n.index||a(),r=requestAnimationFrame(i)):Qt()};return a(),r=requestAnimationFrame(i),()=>{cancelAnimationFrame(r),clearTimeout(n),_t.current&&(_t.current.sinceMs=null,Zt(null))}},[en,Qt,Zt]);const tn=ct.filter(e=>!e.provisional),nn=ae?Gt?Gt.ms:Wt:void 0!==w?w:tn.length>0?null===ge?tn[tn.length-1].ms:Math.min(tn[tn.length-1].ms,ge):null,rn=new Set(he??[]),ln=ht.filter(e=>rn.has(e.key)).map(e=>e.x),an=ln.length>0?{from:Math.min(...ln),to:Math.max(...ln)}:null,sn=h(()=>{clearTimeout(Te.current),clearTimeout(Be.current),Fe(null),Oe(null),Ue(null),Ie(null),ze(null)},[]);m(()=>()=>{clearTimeout(Te.current),clearTimeout(Be.current)},[]),m(()=>{const e=Le.current;e&&(Le.current=null,Ce.current.get(e)?.focus())});const on=null!==je||null!==Re||null!==He||null!==Se;m(()=>{if(on)return s(e=>"Escape"===e.key&&(sn(),!0))},[on,sn]);const cn=h((e,t)=>{if(!e)return;const n=e.offsetWidth/2;let r=n>0?Math.max(n,Math.min(t,Je-n)):t;const a=e.parentElement;if(n>0&&a){const t=l(e),s=a.getBoundingClientRect().left,i=t.left+8+n-s,o=t.right-8-n-s;i<=o&&(r=Math.max(i,Math.min(r,o)))}e.style.left=`${r}px`,e.style.setProperty("--rosh-tl-arrow",`${n+(t-r)}px`)},[Je]),dn=Bt.find(e=>e.key===je)??null,un=dn?dn.x:0;U(()=>{cn(Ne.current,un)},[cn,je,un]);const mn=Wt??void 0,hn=c(null);m(()=>{if(void 0===mn)return;const e=wt.xByMs(mn),t=hn.current;if(hn.current=e,null===t||e<=t)return;const n=[];for(const r of ht){if(r.x<=t||r.x>e)continue;const l=Ce.current.get(Lt.get(r.key)??r.key);l&&(l.classList.add("is-hit"),n.push(setTimeout(()=>l.classList.remove("is-hit"),460)))}return()=>{for(const e of n)clearTimeout(e)}},[mn]);const pn=Bt.map(e=>e.key),xn=ot?Lt.get(ot)??null:null,fn=Ee&&pn.includes(Ee)?Ee:xn&&pn.includes(xn)?xn:pn[0],yn=e=>{const t=pn.indexOf(e.target.dataset?.timelineKey??"");if(t<0)return;const n="ArrowRight"===e.key||"ArrowDown"===e.key?t+1:"ArrowLeft"===e.key||"ArrowUp"===e.key?t-1:"Home"===e.key?0:"End"===e.key?pn.length-1:-1;n<0||n>pn.length-1||(e.preventDefault(),We(pn[n]),Ce.current.get(pn[n])?.focus())},kn=()=>clearTimeout(Be.current),gn=e=>{kn(),ze(e)},Mn=()=>{clearTimeout(Be.current),Be.current=setTimeout(()=>ze(null),260)},vn=e=>{Ct&&gt.get(e)===Ct?kn():(kn(),ze(null))},bn=e=>{clearTimeout(Te.current),Fe(e),Oe(e),pe?.((e=>{const t=Bt.find(t=>t.key===e);return t?.members[0]?.key??e})(e))},$n=e=>{Fe(t=>t===e?null:t),clearTimeout(Te.current),Te.current=setTimeout(()=>Oe(t=>t===e?null:t),160),pe?.(null)},wn=e=>({type:"button","data-timeline-node":e.isCap?"cap":e.isItem?"item":"marker","data-timeline-key":e.key,"aria-label":R(e),"aria-describedby":je===e.key?Xe:void 0,tabIndex:e.key===fn?0:-1,ref:t=>{t?Ce.current.set(e.key,t):Ce.current.delete(e.key)},onMouseEnter:()=>{vn(e.key),bn(e.key)},onMouseLeave:()=>{Mn(),$n(e.key)},onFocus:()=>{vn(e.key),bn(e.key),We(e.key)},onBlur:()=>{Mn(),$n(e.key)},onPointerDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),e.onClick?.(),e.isItem&&le?.(e.key)}}),Pn=e=>{return{type:"button","data-timeline-node":"fold","data-timeline-key":e.key,"data-timeline-count":String(e.members.length),"aria-label":(t=e.members,n=ve,n.events(t.length,t.map(R))),"aria-describedby":je===e.key?Xe:void 0,tabIndex:e.key===fn?0:-1,ref:t=>{t?Ce.current.set(e.key,t):Ce.current.delete(e.key)},onMouseEnter:()=>{e.openable?gn(e.key):bn(e.key)},onMouseLeave:()=>{Mn(),$n(e.key)},onFocus:()=>{kn(),bn(e.key),We(e.key)},onBlur:()=>{Mn(),$n(e.key)},onPointerDown:e=>e.stopPropagation(),onClick:t=>{if(t.stopPropagation(),!e.openable)return void bn(e.key);gn(e.key);const n=e.members[0];We(n.key),Le.current=n.key}};var t,n},Nn="lanes"!==ne||ht.length>1;if(_e)/* @__PURE__ */
78
- return x("div",{ref:Me,children:/* @__PURE__ */x(X,{marks:ht.filter(e=>!e.isCap),pending:b,currentKey:ot,todayMs:ge,reveal:It,ariaLabel:me,step:St,nodeProps:wn,onKeyDown:yn})});const Cn=(e,t)=>null==e||!1===e?null:/* @__PURE__ */x("span",{"aria-hidden":"true",className:"rosh-tl-flank"+(t?" is-end":""),"data-timeline-part":t?"end-caption":"start-caption",style:{paddingTop:Ze.rail-3+"px"},children:e});/* @__PURE__ */
77
+ /* @__PURE__ */x("div",{role:"slider",tabIndex:0,className:"rosh-tl-thumb text-blue-600","data-timeline-part":"thumb","aria-label":n.ariaLabel??v.scrub,"aria-valuemin":0,"aria-valuemax":T&&T.length>0?T.length-1:R,"aria-valuenow":T&&T.length>0?Math.max(0,B):Math.round((r-d)/e),"aria-valuetext":j,style:{left:`${P}px`,top:`${s.rail+3}px`},onPointerDown:K,onPointerMove:F,onPointerUp:A,onPointerCancel:A,onKeyDown:t=>{const n=(t=>{const{key:n}=t;if(T&&T.length>0){const e=B<0?0:B;return"ArrowRight"===n||"ArrowUp"===n?T[Math.min(e+1,T.length-1)]:"ArrowLeft"===n||"ArrowDown"===n?T[Math.max(e-1,0)]:"Home"===n?T[0]:"End"===n?T[T.length-1]:null}const l=(t.shiftKey?7:1)*e;return"ArrowRight"===n||"ArrowUp"===n?r+l:"ArrowLeft"===n||"ArrowDown"===n?r-l:"Home"===n?d:"End"===n?u:null})(t);null!==n&&(t.preventDefault(),k?.(),D(n))}})]})}function ee(e,t,n){return(t?e.height:e.ruler+26)+(n?22:0)}function te({startMs:n,endMs:p,axis:k="linear",items:M,markers:v=[],pending:b=[],fillToMs:w,todayMs:te,labels:ne="lanes",activeKey:re=null,onActivate:le,thumb:ae,playback:se,edgeCaptions:ie,phases:oe=[],currentKey:ce,zoomRange:de=null,motion:ue=!0,ariaLabel:me,highlightKeys:he=null,onHoverChange:pe,endMark:xe=null}){const fe="none"===ne,ye=a(Date.now,null),ke=a(D,!1),ge=te??ye,Me=c(null),ve=i().timeline,be=o(),$e=e=>t(e,be),we=c(null),Pe=c(null),Ne=c(null),Ce=c(/* @__PURE__ */new Map),Te=c(void 0),Be=c(void 0),Le=c(null),[De,Ke]=d({}),[Ae,Fe]=d(null),[je,Re]=d(null),[He,Oe]=d(null),[Ue,Ie]=d(null),[Se,We]=d(null),[ze,Ee]=d(null),Xe=u(),Ve=u(),Ge=U(Me,!0),Ye=Ge>0?Ge-(b.length>0&&!fe?176:0):0,_e=Ye>0&&Ye-20<320,Je=U(we,!_e),Qe=Je>0?Je:600,qe=L[ne],Ze=fe&&b.length>0,et=Ze?Math.max(0,Qe-36):Qe,tt=t=>t>=n-e&&t<=p+e,nt=M.filter(e=>Number.isFinite(e.ms)&&tt(e.ms)).slice().sort((e,t)=>e.ms-t.ms),rt="spread"===k?v.map(e=>new Date(e.date).getTime()).filter(e=>Number.isFinite(e)):[],lt=$([n,...[...nt.map(e=>e.ms),...rt].filter(e=>e>n&&e<p),p],et,"compressed"===(at=k)?{}:"spread"===at?{maxTimeShare:1/0}:{maxTimeShare:1/0,minGapPx:0});var at;const st=lt.xByMs,it=nt.filter(e=>!e.provisional),ot=ce??(it.length>0?it[it.length-1].key:null),ct=nt.map((e,t)=>{const n=e.date??$e(e.ms),r=(e.priority??0)>0||"report"===e.kind,l=function(e){const t=e.kind??"default";return"default"===t&&e.glyph&&"none"!==e.glyph?F[e.glyph]??t:t}(e);return{key:e.key,ms:e.ms,x:st(e.ms),baseX:st(e.ms),kind:l,label:e.label,dateText:n,detail:e.detail,preview:e.preview,glyph:j(e,l,0===t&&"default"===l),role:e.key===ot?"current":r?"dot":"key",widthPx:fe?Math.max(16,K(e.caption??"")+6):De[e.key]||N(e.label,n),collapsible:r,onClick:e.onClick,onOpen:e.onOpen,isItem:!0,caption:e.caption,provisional:!!e.provisional,isCap:!1}}),dt=v.map(e=>({marker:e,ms:new Date(e.date).getTime()})).filter(({ms:e})=>Number.isFinite(e)&&tt(e)).map(({marker:e,ms:t})=>{const n=`marker-${e.id}`,r=$e(t);return{key:n,ms:t,x:st(t),baseX:st(t),kind:e.kind,label:e.label,dateText:r,detail:e.detail,preview:e.preview,glyph:e.glyph??A[e.kind].glyph,role:"key",widthPx:De[n]||N(e.label,r),collapsible:!1,onClick:e.onClick?()=>e.onClick?.(e):void 0,onOpen:e.onOpen?()=>e.onOpen?.(e):void 0,isItem:!1,provisional:!1,isCap:!1}}),ut=Ze?(()=>{const t=b[b.length-1],n=b.slice(0,-1).map(e=>e.label);return[{key:t.key,ms:p+e,x:Qe,baseX:Qe,kind:t.kind??"default",label:t.label,dateText:ve.notReached,detail:n.length>0?ve.alsoToCome(n):void 0,glyph:void 0,role:"key",widthPx:16,collapsible:!1,isItem:!1,provisional:!1,isCap:!0}]})():[],mt=fe&&xe&&!Ze?[{key:xe.key,ms:p,x:et,baseX:et,kind:"default",label:xe.label,dateText:xe.dateText??$e(p),detail:xe.detail,glyph:void 0,role:"key",widthPx:16,collapsible:!1,isItem:!1,provisional:!1,isCap:!0}]:[],ht=[...ct,...dt,...ut,...mt].sort((e,t)=>e.x-t.x||e.ms-t.ms),pt=ie?.start??ve.start($e(n)),xt=null==pt||!1===pt?0:"string"==typeof pt?Math.ceil(K(pt)):96,ft="lanes"===ne?function(e,t={}){const n=t.minPitchPx??40,r=[];let l=0;for(;l<e.length;){const t=e[l];if(!t.collapsible){r.push({type:"item",mark:t}),l+=1;continue}let a=l+1;for(;a<e.length&&e[a].collapsible&&e[a].kind===t.kind;)a+=1;const s=e.slice(l,a),i=s.length>1&&s.every((e,t)=>{if(0===t)return!0;const r=s[t-1],l=Math.max(n,Math.max(e.widthPx,r.widthPx)+8);return e.x-r.x<l});if(s.length>=3||i)r.push({type:"cluster",kind:t.kind,members:s});else for(const e of s)r.push({type:"item",mark:e});l=a}return r}(ht):[],yt=function(e,t=16){const n=[];let r=0;for(;r<e.length;){let l=r+1;for(;l<e.length&&e[l].x-e[l-1].x<t;)l+=1;if(l-r===1)n.push({type:"item",mark:e[r]});else{const t=e.slice(r,l),a=new Set(t.map(e=>e.kind));n.push({type:"cluster",kind:1===a.size?t[0].kind:P,members:t})}r=l}return n}(ht),kt=e=>"cluster"===e.type?`fold-${e.members[0].key}`:e.mark.key,gt=/* @__PURE__ */new Map;for(const e of yt)if("cluster"===e.type)for(const t of e.members)gt.set(t.key,kt(e));const Mt=He??Ue??Se,vt=ft.find(e=>"cluster"===e.type&&(e=>"cluster"===e.type?`cluster-${e.members[0].key}`:e.mark.key)(e)===Mt)??yt.find(e=>"cluster"===e.type&&kt(e)===Mt),bt=e=>({x:e.baseX,widthPx:e.widthPx}),$t=vt&&"cluster"===vt.type?vt.members.map(bt):de?ht.filter(e=>e.ms>=de[0]&&e.ms<=de[1]).map(bt):[],wt=$t.length>1?I(lt,$t,et):lt,Pt=wt!==lt;if(Pt)for(const e of ht)e.isCap||(e.x=wt.xByMs(e.ms));const Nt=ht.some(e=>e.x<14),Ct=Pt&&vt?Mt:null,Tt=e=>({key:e.key,mark:e,members:[e],x:e.x,kind:e.kind,openable:!1}),Bt=_e?ht.map(Tt):yt.flatMap(e=>{if("item"===e.type)return[Tt(e.mark)];const t=kt(e);if(t===Ct&&(n=e.members).every((e,t)=>0===t||e.x-n[t-1].x>=16))return e.members.map(Tt);var n;const r=e.members.map(e=>e.x);return[{key:t,mark:null,members:e.members,x:r.reduce((e,t)=>e+t,0)/r.length,kind:e.kind,openable:new Set(e.members.map(e=>e.ms)).size>1}]}),Lt=/* @__PURE__ */new Map;for(const e of Bt)for(const t of e.members)Lt.set(t.key,e.key);const Dt=yt.find(e=>"cluster"===e.type&&kt(e)===Ct),Kt=Dt&&"cluster"===Dt.type?{from:Math.min(...Dt.members.map(e=>e.x))-16,to:Math.max(...Dt.members.map(e=>e.x))+16}:null,At=c(Ct),[Ft,jt]=d(!1);m(()=>{if(At.current===Ct)return;At.current=Ct,jt(!0);const e=setTimeout(()=>jt(!1),240);return()=>clearTimeout(e)},[Ct]);const Rt=ht.map(e=>`${e.key} ${e.label} ${e.dateText}`).join("|");O(()=>{const e=Pe.current;if(!e)return;const t={};for(const n of Array.from(e.children)){const e=n.dataset.laneKey,r=n.getBoundingClientRect().width;e&&r>0&&(t[e]=r)}Ke(e=>function(e,t){const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Math.abs((e[n]??0)-(t[n]??0))<.5)}(e,t)?e:t)},[Rt]);const Ht=`${ne}|${k}|${ht.map(e=>`${e.key}@${e.ms}`).join("|")}`,[Ot,Ut]=d(Ht),It=ue&&Ot===Ht;m(()=>{Ot!==Ht&&Ut(Ht)},[Ot,Ht]);const St=Math.min(28,340/Math.max(1,ht.length-1)),Wt=S(ae?.stops),zt=e=>{const t=Math.min(Math.max(e,n),p);if(!Wt)return t;let r=Wt[0];for(const e of Wt)Math.abs(e-t)<Math.abs(r-t)&&(r=e);return r},Et=ae?zt(ae.valueMs):null,Xt=se&&ae?ct.filter(e=>!Wt||Wt.includes(e.ms)).map(e=>({key:e.key,ms:e.ms})):[],Vt=function(e,t,n={}){const r=Number.isFinite(n.speed)&&(n.speed??0)>0?n.speed:1,l=Math.max(0,n.dwellMs??700)/r,a=t.filter(e=>Number.isFinite(e.ms)).slice().sort((e,t)=>e.ms-t.ms),s=[];for(let t=0;t+1<a.length;t++){const i=a[t],o=a[t+1],c=e.xByMs(i.ms),d=e.xByMs(o.ms),u=Math.max(0,d-c),m=u<=.5||n.reducedMotion?0:C(350*u/100,450,1400)/r;s.push({fromKey:i.key,toKey:o.key,fromMs:i.ms,toMs:o.ms,fromPx:c,toPx:d,lengthPx:u,durationMs:m,dwellMs:l,msByPx:e.msByPx})}return s}(wt,Xt,{speed:se?.speed,reducedMotion:ke}),[Gt,Yt]=d(null),_t=c(null),Jt=c({segments:Vt,value:Et,playback:se});m(()=>{Jt.current={segments:Vt,value:Et,playback:se}});const Qt=c(null),qt=h(e=>{null===e&&null===Qt.current||(Qt.current=e,Jt.current.playback?.onProgress?.(e))},[]),Zt=h(()=>{_t.current=null,Yt(null),qt(null),Jt.current.playback?.onStop?.()},[qt]),en=!!se?.playing&&!!ae;m(()=>{if(!en)return;const e=Jt.current,t=null===e.value?-1:e.segments.findIndex(t=>t.fromMs===e.value);if(t<0)return void Zt();_t.current&&_t.current.index===t||(_t.current={index:t,phase:"rest",t:0,restLeftMs:e.segments[t].dwellMs,sinceMs:null});let n,r=0;const l=e=>Yt(t=>t&&t.px===e.px&&t.ms===e.ms?t:e),a=()=>{clearTimeout(n);const e=_t.current;"rest"===e?.phase&&(n=setTimeout(s,Math.max(0,e.restLeftMs)))},s=()=>{const e=_t.current;if("rest"!==e?.phase)return;const t=Jt.current.segments[e.index];t?(_t.current={index:e.index,phase:"glide",t:0,restLeftMs:0,sinceMs:null},l(B(t,0))):Zt()},i=e=>{const t=Jt.current,n=_t.current;if(!n)return;const s=function(e,t,n){const r=e[t.index];if(!r)return{cursor:null,at:null,arrived:null,progress:null};const l=null===t.sinceMs?0:Math.max(0,n-t.sinceMs);if("rest"===t.phase){const e=t.restLeftMs-l;return e>0?{cursor:{...t,restLeftMs:e,sinceMs:n},at:B(r,0),arrived:null,progress:null}:{cursor:{index:t.index,phase:"glide",t:0,restLeftMs:0,sinceMs:n},at:B(r,0),arrived:null,progress:null}}const a=r.durationMs>0?Math.min(1,t.t+l/r.durationMs):1,s=B(r,a);if(a<1)return{cursor:{...t,t:a,sinceMs:n},at:s,arrived:null,progress:{fromKey:r.fromKey,toKey:r.toKey,t:T(a),ms:s.ms}};const i=e[t.index+1];return{cursor:i?{index:t.index+1,phase:"rest",t:0,restLeftMs:i.dwellMs,sinceMs:n}:null,at:s,arrived:{key:r.toKey,ms:r.toMs},progress:null}}(t.segments,n,e);_t.current=s.cursor,s.at&&l(s.at),qt(s.progress),s.arrived&&t.playback?.onArrive(s.arrived.key,s.arrived.ms),s.cursor?(s.cursor.phase===n.phase&&s.cursor.index===n.index||a(),r=requestAnimationFrame(i)):Zt()};return a(),r=requestAnimationFrame(i),()=>{cancelAnimationFrame(r),clearTimeout(n),_t.current&&(_t.current.sinceMs=null,qt(null))}},[en,Zt,qt]);const tn=ct.filter(e=>!e.provisional),nn=ae?Gt?Gt.ms:Et:void 0!==w?w:tn.length>0?null===ge?tn[tn.length-1].ms:Math.min(tn[tn.length-1].ms,ge):null,rn=new Set(he??[]),ln=ht.filter(e=>rn.has(e.key)).map(e=>e.x),an=ln.length>0?{from:Math.min(...ln),to:Math.max(...ln)}:null,sn=h(()=>{clearTimeout(Te.current),clearTimeout(Be.current),Fe(null),Re(null),Oe(null),Ie(null),We(null)},[]);m(()=>()=>{clearTimeout(Te.current),clearTimeout(Be.current)},[]),m(()=>{const e=Le.current;e&&(Le.current=null,Ce.current.get(e)?.focus())});const on=null!==je||null!==He||null!==Ue||null!==Se;m(()=>{if(on)return s(e=>"Escape"===e.key&&(sn(),!0))},[on,sn]);const cn=h((e,t)=>{if(!e)return;const n=e.offsetWidth/2;let r=n>0?Math.max(n,Math.min(t,Qe-n)):t;const a=e.parentElement;if(n>0&&a){const t=l(e),s=a.getBoundingClientRect().left,i=t.left+8+n-s,o=t.right-8-n-s;i<=o&&(r=Math.max(i,Math.min(r,o)))}e.style.left=`${r}px`,e.style.setProperty("--rosh-tl-arrow",`${n+(t-r)}px`)},[Qe]),dn=Bt.find(e=>e.key===je)??null,un=dn?dn.x:0;O(()=>{cn(Ne.current,un)},[cn,je,un]);const mn=Et??void 0,hn=c(null);m(()=>{if(void 0===mn)return;const e=wt.xByMs(mn),t=hn.current;if(hn.current=e,null===t||e<=t)return;const n=[];for(const r of ht){if(r.x<=t||r.x>e)continue;const l=Ce.current.get(Lt.get(r.key)??r.key);l&&(l.classList.add("is-hit"),n.push(setTimeout(()=>l.classList.remove("is-hit"),460)))}return()=>{for(const e of n)clearTimeout(e)}},[mn]);const pn=Bt.map(e=>e.key),xn=ot?Lt.get(ot)??null:null,fn=ze&&pn.includes(ze)?ze:xn&&pn.includes(xn)?xn:pn[0],yn=e=>{const t=pn.indexOf(e.target.dataset?.timelineKey??"");if(t<0)return;const n="ArrowRight"===e.key||"ArrowDown"===e.key?t+1:"ArrowLeft"===e.key||"ArrowUp"===e.key?t-1:"Home"===e.key?0:"End"===e.key?pn.length-1:-1;n<0||n>pn.length-1||(e.preventDefault(),Ee(pn[n]),Ce.current.get(pn[n])?.focus())},kn=()=>clearTimeout(Be.current),gn=e=>{kn(),We(e)},Mn=()=>{clearTimeout(Be.current),Be.current=setTimeout(()=>We(null),260)},vn=e=>{Ct&&gt.get(e)===Ct?kn():(kn(),We(null))},bn=e=>{clearTimeout(Te.current),Fe(e),Re(e),pe?.((e=>{const t=Bt.find(t=>t.key===e);return t?.members[0]?.key??e})(e))},$n=e=>{Fe(t=>t===e?null:t),clearTimeout(Te.current),Te.current=setTimeout(()=>Re(t=>t===e?null:t),160),pe?.(null)},wn=e=>({type:"button","data-timeline-node":e.isCap?"cap":e.isItem?"item":"marker","data-timeline-key":e.key,"aria-label":H(e),"aria-describedby":je===e.key?Xe:void 0,tabIndex:e.key===fn?0:-1,ref:t=>{t?Ce.current.set(e.key,t):Ce.current.delete(e.key)},onMouseEnter:()=>{vn(e.key),bn(e.key)},onMouseLeave:()=>{Mn(),$n(e.key)},onFocus:()=>{vn(e.key),bn(e.key),Ee(e.key)},onBlur:()=>{Mn(),$n(e.key)},onPointerDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),e.onClick?.(),e.isItem&&le?.(e.key)}}),Pn=e=>{return{type:"button","data-timeline-node":"fold","data-timeline-key":e.key,"data-timeline-count":String(e.members.length),"aria-label":(t=e.members,n=ve,n.events(t.length,t.map(H))),"aria-describedby":je===e.key?Xe:void 0,tabIndex:e.key===fn?0:-1,ref:t=>{t?Ce.current.set(e.key,t):Ce.current.delete(e.key)},onMouseEnter:()=>{e.openable?gn(e.key):bn(e.key)},onMouseLeave:()=>{Mn(),$n(e.key)},onFocus:()=>{kn(),bn(e.key),Ee(e.key)},onBlur:()=>{Mn(),$n(e.key)},onPointerDown:e=>e.stopPropagation(),onClick:t=>{if(t.stopPropagation(),!e.openable)return void bn(e.key);gn(e.key);const n=e.members[0];Ee(n.key),Le.current=n.key}};var t,n},Nn="lanes"!==ne||ht.length>1;if(_e)/* @__PURE__ */
78
+ return x("div",{ref:Me,children:/* @__PURE__ */x(X,{marks:ht.filter(e=>!e.isCap),pending:b,currentKey:ot,todayMs:ge,reveal:It,ariaLabel:me,step:St,nodeProps:wn,onKeyDown:yn})});const Cn=(e,t)=>null==e||!1===e?null:/* @__PURE__ */x("span",{"aria-hidden":"true",className:"rosh-tl-flank"+(t?" is-end":""),"data-timeline-part":t?"end-caption":"start-caption",style:{paddingTop:qe.rail-3+"px"},children:e});/* @__PURE__ */
79
79
  return f("div",{ref:Me,className:"rosh-tl-body"+(b.length>0&&!fe?"":" is-solo"),children:[
80
80
  /* @__PURE__ */f("div",{className:"flex items-stretch gap-3",children:[fe&&Cn(pt,!1),
81
- /* @__PURE__ */x("div",{className:"rosh-tl-stage",style:{height:`${ee(Ze,Nn,oe.length>0&&!fe)}px`},children:/* @__PURE__ */f("div",{ref:we,className:`rosh-tl-layer${Ft?" is-zooming":""}${Gt?" is-gliding":""}`,onMouseMove:e=>{if(!Kt)return;const t=we.current?.getBoundingClientRect();if(!t)return;const n=e.clientX-t.left;n>=Kt.from&&n<=Kt.to?kn():Mn()},onMouseLeave:Mn,children:[!fe&&/* @__PURE__ */x(z,{marks:ht,innerRef:Pe}),
82
- /* @__PURE__ */x(V,{axis:wt,geo:Ze,fillTo:nn,reveal:It,trackPx:et,tweened:!!ae}),Qe&&
83
- /* @__PURE__ */x("i",{"aria-hidden":"true",className:"rosh-tl-tail","data-timeline-part":"tail",style:{left:`${et}px`,width:Je-et+"px",top:Ze.rail+3-1+"px"}}),an&&/* @__PURE__ */x("div",{"aria-hidden":"true",className:"rosh-tl-band","data-timeline-part":"highlight",style:{left:an.from-10+"px",width:an.to-an.from+20+"px",top:Ze.rail-7+"px",height:"20px"}}),
84
- /* @__PURE__ */x(E,{startMs:n,endMs:p,axis:wt,geo:Ze,reveal:It}),
85
- /* @__PURE__ */x(G,{geo:Ze,caption:fe?null:pt,endCaption:fe?null:ie?.end,around:Nt,reveal:It,trackPx:Je}),fe&&/* @__PURE__ */x(_,{nodes:Bt,geo:Ze,reveal:It}),null!==ge&&ge>n&&ge<=p+e&&/* @__PURE__ */x(Y,{x:wt.xByMs(Math.min(ge,p)),geo:Ze,trackPx:Je,label:$e(ge),reveal:It}),!fe&&oe.map(e=>/* @__PURE__ */x(q,{phase:e,geo:Ze,xOf:wt.xByMs},e.key)),
86
- /* @__PURE__ */x("ol",{className:"rosh-tl-nodes","aria-label":me,onKeyDown:yn,children:Bt.map((e,t)=>{const n=t=>null!==t&&e.members.some(e=>e.key===t),l=`${Ze.rail+3}px`,a=It?r(t,St):{},s=(e=>!!an&&e.x>=an.from-.5&&e.x<=an.to+.5)(e)?" is-lit":"";if(e.mark?.isCap)/* @__PURE__ */
87
- return x("li",{children:/* @__PURE__ */x("button",{...wn(e.mark),className:`rosh-tl-node rosh-tl-mark is-cap${s}${It?" rosh-tl-pop":""}`,style:{left:`${e.x}px`,top:l,...a}})},e.key);if(!e.mark){const t=e.kind===P,r=O(t?"default":e.kind,"key"),i=t?void 0:A[e.kind]?.glyph;/* @__PURE__ */
81
+ /* @__PURE__ */x("div",{className:"rosh-tl-stage",style:{height:`${ee(qe,Nn,oe.length>0&&!fe)}px`},children:/* @__PURE__ */f("div",{ref:we,className:`rosh-tl-layer${Ft?" is-zooming":""}${Gt?" is-gliding":""}`,onMouseMove:e=>{if(!Kt)return;const t=we.current?.getBoundingClientRect();if(!t)return;const n=e.clientX-t.left;n>=Kt.from&&n<=Kt.to?kn():Mn()},onMouseLeave:Mn,children:[!fe&&/* @__PURE__ */x(W,{marks:ht,innerRef:Pe}),
82
+ /* @__PURE__ */x(V,{axis:wt,geo:qe,fillTo:nn,reveal:It,trackPx:et,tweened:!!ae}),Ze&&
83
+ /* @__PURE__ */x("i",{"aria-hidden":"true",className:"rosh-tl-tail","data-timeline-part":"tail",style:{left:`${et}px`,width:Qe-et+"px",top:qe.rail+3-1+"px"}}),an&&/* @__PURE__ */x("div",{"aria-hidden":"true",className:"rosh-tl-band","data-timeline-part":"highlight",style:{left:an.from-10+"px",width:an.to-an.from+20+"px",top:qe.rail-7+"px",height:"20px"}}),
84
+ /* @__PURE__ */x(z,{startMs:n,endMs:p,axis:wt,geo:qe,reveal:It}),
85
+ /* @__PURE__ */x(G,{geo:qe,caption:fe?null:pt,endCaption:fe?null:ie?.end,around:Nt,reveal:It,trackPx:Qe}),fe&&/* @__PURE__ */x(_,{nodes:Bt,geo:qe,reveal:It}),null!==ge&&ge>n&&ge<=p+e&&/* @__PURE__ */x(Y,{x:wt.xByMs(Math.min(ge,p)),geo:qe,trackPx:Qe,label:$e(ge),reveal:It}),!fe&&oe.map(e=>/* @__PURE__ */x(J,{phase:e,geo:qe,xOf:wt.xByMs},e.key)),
86
+ /* @__PURE__ */x("ol",{className:"rosh-tl-nodes","aria-label":me,onKeyDown:yn,children:Bt.map((e,t)=>{const n=t=>null!==t&&e.members.some(e=>e.key===t),l=`${qe.rail+3}px`,a=It?r(t,St):{},s=(e=>!!an&&e.x>=an.from-.5&&e.x<=an.to+.5)(e)?" is-lit":"";if(e.mark?.isCap)/* @__PURE__ */
87
+ return x("li",{children:/* @__PURE__ */x("button",{...wn(e.mark),className:`rosh-tl-node rosh-tl-mark is-cap${s}${It?" rosh-tl-pop":""}`,style:{left:`${e.x}px`,top:l,...a}})},e.key);if(!e.mark){const t=e.kind===P,r=R(t?"default":e.kind,"key"),i=t?void 0:A[e.kind]?.glyph;/* @__PURE__ */
88
88
  return f("li",{...n(ot)?{"aria-current":"step"}:{},children:[
89
- /* @__PURE__ */f("button",{...Pn(e),className:`${r.className} is-fold${t?" is-mixed":""}${n(re)?" is-active":""}${s}${It?" rosh-tl-pop":""}`,style:{...r.style,left:`${e.x}px`,top:l,...a},children:[i&&/* @__PURE__ */x(g,{name:i}),t&&/* @__PURE__ */f("span",{"aria-hidden":"true",className:"rosh-tl-foldnum",children:["×",e.members.length]})]}),!t&&/* @__PURE__ */f("i",{"aria-hidden":"true",className:"rosh-tl-count"+(It?" rosh-tl-fade":""),style:{left:`${e.x}px`,top:l},children:["×",e.members.length]})]},e.key)}const i=e.mark,o=O(i.kind,i.role,i.provisional),{glyph:c}=i;/* @__PURE__ */
90
- return x("li",{...i.key===ot?{"aria-current":"step"}:{},children:/* @__PURE__ */f("button",{...wn(i),className:`${o.className}${i.key===re?" is-active":""}${s}${It?" rosh-tl-pop":""}`,style:{...o.style,left:`${i.x}px`,top:l,...a},children:[c&&/* @__PURE__ */x(g,{name:c}),"current"===i.role&&/* @__PURE__ */x("span",{"aria-hidden":"true",className:"rosh-tl-pulse bg-blue-600"+(It?" is-on":"")})]})},i.key)})}),"lanes"===ne?/* @__PURE__ */x(Z,{groups:ft,trackPx:Je,geo:Ze,startMs:n,endMs:p,currentKey:ot,hoveredKey:Ae,reveal:It,step:St,zoomedKey:Ct,popId:Ve,aimBubble:cn,startCaptionPx:xt,openCluster:Re,setOpenCluster:Ue,previewCluster:He,setPreviewCluster:Ie,setZoomKey:ze}):"active"===ne?/* @__PURE__ */x(J,{nodes:Bt,trackPx:Je,geo:Ze,activeKey:re,hoveredKey:Ae,currentKey:ot}):null,dn&&/* @__PURE__ */x("div",{ref:Ne,id:Xe,role:"tooltip",className:"rosh-tl-bubble"+(dn.members.some(e=>e.preview)?" is-preview":""),"data-timeline-part":"tooltip",style:{top:`${Ze.rail+6+6}px`},onMouseEnter:()=>{kn(),bn(dn.key)},onMouseLeave:()=>{Mn(),$n(dn.key)},onFocus:()=>{kn(),bn(dn.key)},onBlur:()=>{Mn(),$n(dn.key)},children:dn.mark?/* @__PURE__ */f(y,{children:[
89
+ /* @__PURE__ */f("button",{...Pn(e),className:`${r.className} is-fold${t?" is-mixed":""}${n(re)?" is-active":""}${s}${It?" rosh-tl-pop":""}`,style:{...r.style,left:`${e.x}px`,top:l,...a},children:[i&&/* @__PURE__ */x(g,{name:i}),t&&/* @__PURE__ */f("span",{"aria-hidden":"true",className:"rosh-tl-foldnum",children:["×",e.members.length]})]}),!t&&/* @__PURE__ */f("i",{"aria-hidden":"true",className:"rosh-tl-count"+(It?" rosh-tl-fade":""),style:{left:`${e.x}px`,top:l},children:["×",e.members.length]})]},e.key)}const i=e.mark,o=R(i.kind,i.role,i.provisional),{glyph:c}=i;/* @__PURE__ */
90
+ return x("li",{...i.key===ot?{"aria-current":"step"}:{},children:/* @__PURE__ */f("button",{...wn(i),className:`${o.className}${i.key===re?" is-active":""}${s}${It?" rosh-tl-pop":""}`,style:{...o.style,left:`${i.x}px`,top:l,...a},children:[c&&/* @__PURE__ */x(g,{name:c}),"current"===i.role&&/* @__PURE__ */x("span",{"aria-hidden":"true",className:"rosh-tl-pulse bg-blue-600"+(It?" is-on":"")})]})},i.key)})}),"lanes"===ne?/* @__PURE__ */x(q,{groups:ft,trackPx:Qe,geo:qe,startMs:n,endMs:p,currentKey:ot,hoveredKey:Ae,reveal:It,step:St,zoomedKey:Ct,popId:Ve,aimBubble:cn,startCaptionPx:xt,openCluster:He,setOpenCluster:Oe,previewCluster:Ue,setPreviewCluster:Ie,setZoomKey:We}):"active"===ne?/* @__PURE__ */x(Q,{nodes:Bt,trackPx:Qe,geo:qe,activeKey:re,hoveredKey:Ae,currentKey:ot}):null,dn&&/* @__PURE__ */x("div",{ref:Ne,id:Xe,role:"tooltip",className:"rosh-tl-bubble"+(dn.members.some(e=>e.preview)?" is-preview":""),"data-timeline-part":"tooltip",style:{top:`${qe.rail+6+6}px`},onMouseEnter:()=>{kn(),bn(dn.key)},onMouseLeave:()=>{Mn(),$n(dn.key)},onFocus:()=>{kn(),bn(dn.key)},onBlur:()=>{Mn(),$n(dn.key)},children:dn.mark?/* @__PURE__ */f(y,{children:[
91
91
  /* @__PURE__ */x("span",{className:"rosh-tl-name",children:dn.mark.label}),
92
92
  /* @__PURE__ */x("span",{className:"rosh-tl-date",children:dn.mark.dateText}),dn.mark.preview?/* @__PURE__ */x("div",{className:"rosh-tl-preview","data-timeline-part":"preview",children:dn.mark.preview}):dn.mark.detail&&/* @__PURE__ */x("span",{className:"rosh-tl-detail",children:dn.mark.detail}),(dn.mark.onOpen??dn.mark.onClick)&&/* @__PURE__ */x("button",{type:"button",className:"rosh-tl-bubble-open text-blue-600","data-timeline-part":"bubble-open",onClick:()=>(dn.mark?.onOpen??dn.mark?.onClick)?.(),children:ve.openButton})]}):
93
93
  /* @__PURE__ */f("div",{className:"rosh-tl-fold-list","data-timeline-part":"fold-members",children:[
@@ -95,5 +95,5 @@ return x("li",{...i.key===ot?{"aria-current":"step"}:{},children:/* @__PURE__ */
95
95
  /* @__PURE__ */x("ol",{children:dn.members.map(e=>/* @__PURE__ */f("li",{children:[
96
96
  /* @__PURE__ */f("p",{className:"rosh-tl-foldrow",children:[
97
97
  /* @__PURE__ */x("span",{children:e.label}),
98
- /* @__PURE__ */x("span",{className:"rosh-tl-date",children:e.dateText})]}),e.preview?/* @__PURE__ */x("div",{className:"rosh-tl-preview","data-timeline-part":"preview",children:e.preview}):e.detail&&/* @__PURE__ */x("span",{className:"rosh-tl-detail",children:e.detail})]},e.key))})]})}),ae&&null!==Wt&&
99
- /* @__PURE__ */x(Q,{thumb:ae,value:Wt,snap:Et,axis:wt,geo:Ze,startMs:n,endMs:p,trackPx:Je,layerRef:we,glide:Gt,onScrub:se?Qt:void 0,nodes:Xt,onProgress:Zt})]})}),fe&&Cn(ie?.end,!0)]}),b.length>0&&!fe&&/* @__PURE__ */x(W,{pending:b,reveal:It})]})}export{g as TimelineGlyph,M as TimelineMilestoneIcon,v as TimelineProgressIcon,te as TimelineTrack};
98
+ /* @__PURE__ */x("span",{className:"rosh-tl-date",children:e.dateText})]}),e.preview?/* @__PURE__ */x("div",{className:"rosh-tl-preview","data-timeline-part":"preview",children:e.preview}):e.detail&&/* @__PURE__ */x("span",{className:"rosh-tl-detail",children:e.detail})]},e.key))})]})}),ae&&null!==Et&&
99
+ /* @__PURE__ */x(Z,{thumb:ae,value:Et,snap:zt,axis:wt,geo:qe,startMs:n,endMs:p,trackPx:Qe,layerRef:we,glide:Gt,onScrub:se?Zt:void 0,nodes:Xt,onProgress:qt})]})}),fe&&Cn(ie?.end,!0)]}),b.length>0&&!fe&&/* @__PURE__ */x(E,{pending:b,reveal:It})]})}export{g as TimelineGlyph,M as TimelineMilestoneIcon,v as TimelineProgressIcon,te as TimelineTrack};
@@ -1,4 +1,4 @@
1
- import{DropdownMenu as e}from"./chunk-FORUFXAN.js";import{Fragment as t}from"react";import{jsxs as a,jsx as r,Fragment as n}from"react/jsx-runtime";var i="relative inline-flex items-center gap-2 px-4 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-40",s="bg-blue-50 text-blue-600",l="text-gray-600 hover:bg-gray-50 hover:text-gray-900";function c(){/* @__PURE__ */
1
+ import{DropdownMenu as e}from"./chunk-PVR4KU7H.js";import{Fragment as t}from"react";import{jsxs as a,jsx as r,Fragment as n}from"react/jsx-runtime";var i="relative inline-flex items-center gap-2 px-4 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-40",s="bg-blue-50 text-blue-600",l="text-gray-600 hover:bg-gray-50 hover:text-gray-900";function c(){/* @__PURE__ */
2
2
  return r("span",{className:"my-3 w-px shrink-0 bg-gray-200","aria-hidden":!0})}function m({item:e,active:t,caret:i}){/* @__PURE__ */
3
3
  return a(n,{children:[e.icon&&/* @__PURE__ */r("span",{className:"h-4 w-4 shrink-0",children:e.icon}),
4
4
  /* @__PURE__ */r("span",{className:"whitespace-nowrap",children:e.label}),null!=e.badge&&/* @__PURE__ */r("span",{className:"ml-0.5 inline-flex min-w-[1.25rem] items-center justify-center rounded-full bg-gray-100 px-2 text-2xs font-semibold leading-5 text-gray-600",children:e.badge}),i&&/* @__PURE__ */r("span",{className:"-ml-1 text-xs","aria-hidden":!0,children:"▾"}),t&&/* @__PURE__ */r("span",{className:"absolute inset-x-2 -bottom-px h-0.5 rounded-full bg-blue-600","aria-hidden":!0})]})}function d({items:n,activeKey:d,onSelect:o,brand:u,actions:b,linkAs:h,className:g}){/* @__PURE__ */
@@ -1,4 +1,4 @@
1
- import{useShellStrings as t,useShellLocale as e}from"./chunk-E6UCGCOC.js";import{formatPlain as a}from"./chunk-C3QOHMR6.js";import{jsxs as n,jsx as r}from"react/jsx-runtime";var o="inline-flex h-8 min-w-8 items-center justify-center rounded-md px-2 text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-40";function l({page:l,pageCount:i,onPageChange:s,siblingCount:c=1,showEdges:b=!1,className:u=""}){const d=t().pagination,g=e();if(i<=1)return null;const m=function(t,e,a){const n=/* @__PURE__ */new Set([1,e]);for(let r=t-a;r<=t+a;r++)r>=1&&r<=e&&n.add(r);const r=[...n].sort((t,e)=>t-e),o=[];let l=0;for(const t of r)l&&t-l>1&&o.push("…"),o.push(t),l=t;return o}(l,i,c),p=t=>{t>=1&&t<=i&&t!==l&&s(t)};/* @__PURE__ */
1
+ import{useShellStrings as t,useShellLocale as e}from"./chunk-QWHQJNKL.js";import{formatPlain as a}from"./chunk-C3QOHMR6.js";import{jsxs as n,jsx as r}from"react/jsx-runtime";var o="inline-flex h-8 min-w-8 items-center justify-center rounded-md px-2 text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-40";function l({page:l,pageCount:i,onPageChange:s,siblingCount:c=1,showEdges:b=!1,className:u=""}){const d=t().pagination,g=e();if(i<=1)return null;const m=function(t,e,a){const n=/* @__PURE__ */new Set([1,e]);for(let r=t-a;r<=t+a;r++)r>=1&&r<=e&&n.add(r);const r=[...n].sort((t,e)=>t-e),o=[];let l=0;for(const t of r)l&&t-l>1&&o.push("…"),o.push(t),l=t;return o}(l,i,c),p=t=>{t>=1&&t<=i&&t!==l&&s(t)};/* @__PURE__ */
2
2
  return n("nav",{"aria-label":d.label,className:`flex items-center gap-1 ${u}`.trim(),children:[b&&/* @__PURE__ */r("button",{type:"button","aria-label":d.first,disabled:1===l,onClick:()=>p(1),className:`${o} text-gray-600 hover:bg-gray-100`,children:"«"}),
3
3
  /* @__PURE__ */r("button",{type:"button","aria-label":d.previous,disabled:1===l,onClick:()=>p(l-1),className:`${o} text-gray-600 hover:bg-gray-100`,children:"‹"}),m.map((t,e)=>"…"===t?/* @__PURE__ */r("span",{className:"px-1 text-gray-400",children:"…"},`gap-${e}`):/* @__PURE__ */r("button",{type:"button","aria-current":t===l?"page":void 0,onClick:()=>p(t),className:`${o} ${t===l?"bg-blue-600 font-medium text-white":"text-gray-700 hover:bg-gray-100"}`,children:a(t,g)},t)),
4
4
  /* @__PURE__ */r("button",{type:"button","aria-label":d.next,disabled:l===i,onClick:()=>p(l+1),className:`${o} text-gray-600 hover:bg-gray-100`,children:"›"}),b&&/* @__PURE__ */r("button",{type:"button","aria-label":d.last,disabled:l===i,onClick:()=>p(i),className:`${o} text-gray-600 hover:bg-gray-100`,children:"»"})]})}export{l as Pagination};
@@ -0,0 +1,14 @@
1
+ import{SearchableSelect as e}from"./chunk-KEK47CP3.js";import{labelClasses as a}from"./chunk-EQKUFYX6.js";import{Select_default as l}from"./chunk-CO5RKOVX.js";import{isSafeLinkHref as t}from"./chunk-PJPK2ADX.js";import{Input_default as n}from"./chunk-MAMWQCJ6.js";import{INPUT_SIZES as r}from"./chunk-AYZY3YNC.js";import{Button_default as i}from"./chunk-NHH2MXFU.js";import{Icon as o}from"./chunk-FSPFV4MI.js";import{registerModalEscapeInterceptor as s}from"./chunk-TWVUQUUD.js";import{useShellStrings as u}from"./chunk-QWHQJNKL.js";import{useId as d,useRef as c,useState as p,useEffect as m}from"react";import{jsx as f,jsxs as v,Fragment as g}from"react/jsx-runtime";function h(e){return"select"===e.type?e.options:"groups"===e.type?e.groups.flatMap(e=>e.options):[]}var b="address",x={kindOf:()=>b,targetOf:e=>e,readFilter:()=>null,withFilter:e=>e},k=e=>t(e.trim());function y(t){const{value:r,kinds:o,rules:y=x,filtersFor:w,label:N,readOnly:C,placeholder:F,className:O=""}=t,j=void 0!==t.onApply,$=u().link,K=y.isSafe??k,P=d(),z=c(null),A=c(null),[E,M]=p({url:r}),Q=j?E.url:r,[U,W]=p(!1),[D,H]=p(null),[X,Y]=p(null),J=c(()=>{});J.current=j?t.onCancel:()=>{},m(()=>{if(j)return s(e=>{const a=z.current;return!!("Escape"===e.key&&a&&e.target instanceof Node&&a.contains(e.target))&&(J.current(),!0)},()=>z.current)},[j]),m(()=>{if(!j)return;const e=A.current;e?(e.focus(),e.select()):z.current?.querySelector("button, input")?.focus()},[]);const L=o??[{value:b,label:$.address,target:{type:"text"}}],R=D&&D.against===Q?D.kind:y.kindOf(Q),S=L.filter(e=>!e.hideWhenEmpty||h(e.target).length>0||e.value===R),T=S.find(e=>"text"===e.target.type),V=S.find(e=>e.value===R)??T??S[0];if(!V)return null;const q="text"!==V.target.type,I=q?y.targetOf(Q):Q,Z=h(V.target),B=Z.find(e=>e.value===I),G=e=>({value:e,label:$.unavailable(e)}),_="select"===V.target.type&&I&&w?w(I):null,ee=_?y.readFilter(Q):null,ae=ee?_?.find(e=>e.param===ee.param):void 0,le=X&&X.against===Q?X.text:Q,te=!q&&""!==le.trim()&&!K(le),ne=te&&(!j||U),re=(e,a)=>{j?M({url:e,name:a}):void 0===a?t.onChange(e):t.onChange(e,a)},ie=(e,a)=>{H(a=>a?{...a,against:e}:a),re(e,a)},oe=e=>{if(!e)return ie("");const a=Z.find(a=>a.value===e);ie(e,a?.label)},se=q?Q:le.trim(),ue=()=>{if(!j||!se)return;if(!q&&te)return void W(!0);const e=q&&E.url===se?E.name:void 0,a=t.onApply;void 0===e?a(se):a(se,e)},de=(e,a)=>a&&!e.some(e=>e.value===a)?[G(a),...e]:[...e],ce=(a,t,n,r,i)=>{const o=[];for(const e of n){const a=o[o.length-1],l={value:e.value,label:e.label};e.group?a&&"options"in a&&a.label===e.group?a.options.push(l):o.push({label:e.group,options:[l]}):o.push(l)}if(i){const l=n.some(e=>""===e.value);/* @__PURE__ */
2
+ return f(e,{"aria-label":a,value:t,options:o,disabled:C,clearable:l,placeholder:n.find(e=>""===e.value)?.label,onChange:r})}/* @__PURE__ */
3
+ return f(l,{size:"sm","aria-label":a,value:t,options:o,readOnly:C,onChange:r})};let pe;if("text"===V.target.type)pe=/* @__PURE__ */f(n,{ref:A,id:`${P}-address`,size:"sm",type:"text",invalid:ne,"aria-label":$.address,"aria-describedby":ne?`${P}-why`:void 0,placeholder:F??$.addressPlaceholder,spellCheck:!1,autoComplete:"off",value:le,readOnly:C,onChange:e=>(e=>{W(!1);const a=e.trim();a?K(e)?(Y({text:e,against:a}),ie(a)):Y({text:e,against:Q}):(Y({text:e,against:""}),ie(""))})(e.target.value)});else{const e="groups"===V.target.type?V.target.groups.flatMap(e=>e.options.map(a=>({value:a.value,label:a.label,group:e.label}))):V.target.options.map(e=>({value:e.value,label:e.label})),a=[{value:"",label:V.target.placeholder},...de(e,I)];pe=ce(V.label,I,a,oe,e.length>10)}const me=/* @__PURE__ */v(g,{children:[o&&ce($.linkType,V.value,S.map(e=>({value:e.value,label:e.label})),e=>{Y(null),W(!1);const a=S.find(a=>a.value===e);if(!a||"text"===a.target.type)return void H({kind:e,against:Q});const l=h(a.target)[0];H({kind:e,against:l?l.value:""}),l?re(l.value,l.label):re("")},!1),pe,_&&ce($.filter,ee?.param??"",[{value:"",label:$.noFilter},...ee&&!ae?[G(ee.param)]:[],..._.map(e=>({value:e.param,label:e.label}))],e=>{if(!e)return ie(I,B?.label);const a=_?.find(a=>a.param===e),l=a?.values[0];l&&ie(y.withFilter(I,{param:e,value:l.value}),l.label)},!1),_&&ee&&ce($.value,ee.value,de((ae?.values??[]).map(e=>({value:e.value,label:e.label})),ee.value),e=>{if(!ee)return;const a=ae?.values.find(a=>a.value===e);ie(y.withFilter(I,{param:ee.param,value:e}),a?.label)},(ae?.values.length??0)>10),ne&&/* @__PURE__ */f("p",{id:`${P}-why`,role:"alert",className:"text-2xs leading-4 text-red-600",children:$.unsafe}),V.hint&&/* @__PURE__ */f("p",{className:"text-2xs leading-4 text-ink-faintest",children:V.hint}),_&&/* @__PURE__ */f("p",{className:"text-2xs leading-4 text-ink-faintest",children:$.filterHint})]});if(!j)/* @__PURE__ */
4
+ return f("div",{ref:z,className:`flex min-w-0 flex-auto flex-col gap-2 ${O}`.trim(),role:N?"group":void 0,"aria-label":N,children:me});const fe=t.onRemove;/* @__PURE__ */
5
+ return v("div",{ref:z,role:"dialog","aria-label":N??$.title,className:`flex min-w-0 flex-col gap-2 rounded-xl border border-line bg-surface p-3 shadow-lg ${O}`.trim(),onKeyDown:e=>{"Enter"!==e.key||e.defaultPrevented||e.target instanceof Element&&e.target.closest("button")||(e.preventDefault(),ue())},children:[q?/* @__PURE__ */f("span",{className:a({inline:!0}),children:$.title}):/* @__PURE__ */f("label",{htmlFor:`${P}-address`,className:a({inline:!0}),children:$.title}),me,
6
+ /* @__PURE__ */v("div",{className:"flex items-center justify-between gap-2",children:[fe?/* @__PURE__ */f(i,{variant:"ghost-danger",size:"sm","data-window-action":"remove",onClick:fe,children:$.remove}):null,
7
+ /* @__PURE__ */v("span",{className:"ml-auto flex gap-1",children:[
8
+ /* @__PURE__ */f(i,{variant:"secondary",size:"sm","data-window-action":"cancel",onClick:()=>J.current(),children:$.cancel}),
9
+ /* @__PURE__ */f(i,{variant:"primary",size:"sm","data-window-action":"apply",onClick:ue,disabled:C||""===se,children:$.apply})]})]})]})}function w({label:e,text:a,onTextChange:l,link:t,onLinkChange:i,kinds:s,rules:m,filtersFor:g,textPlaceholder:h,readOnly:b,className:x=""}){const k=u().link,[w,N]=p(!1),C=c(null),F=d(),O=()=>{N(!1),C.current?.focus()};/* @__PURE__ */
10
+ return v("div",{className:`flex min-w-0 flex-auto flex-col ${x}`.trim(),children:[
11
+ /* @__PURE__ */f(n,{size:"md",type:"text",className:"rounded-b-none","aria-label":k.text(e),placeholder:h,value:a,readOnly:b,onChange:e=>l(e.target.value)}),
12
+ /* @__PURE__ */v("button",{ref:C,type:"button","aria-label":k.linkOf(e,t),"aria-expanded":w,"aria-controls":w?F:void 0,disabled:b,onClick:()=>N(e=>!e),className:`flex w-full min-w-0 items-center gap-2 rounded-b-(--radius-control) border border-t-0 border-line-strong bg-surface-sunken ${r.md} text-left hover:bg-gray-100 rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring)] disabled:cursor-not-allowed disabled:opacity-60`,children:[
13
+ /* @__PURE__ */f(o,{name:"link",strokeWidth:1.5,className:"h-4 w-4 shrink-0 "+(t?"text-blue-600":"text-ink-faintest")}),
14
+ /* @__PURE__ */f("span",{className:"min-w-0 truncate "+(t?"text-blue-600":"text-ink-faintest"),children:t||k.addLink})]}),w&&/* @__PURE__ */f("div",{id:F,className:"mt-2",children:/* @__PURE__ */f(y,{value:t,label:k.linkOf(e,t),kinds:s,rules:m,filtersFor:g,onApply:(e,a)=>{void 0===a?i(e):i(e,a),O()},onRemove:t?()=>{i(""),O()}:void 0,onCancel:O})})]})}export{y as LinkPicker,w as TextLinkField};
@@ -1,2 +1,2 @@
1
- import{Icon as e}from"./chunk-FSPFV4MI.js";import{useShellStrings as t}from"./chunk-E6UCGCOC.js";import{jsxs as r,jsx as a}from"react/jsx-runtime";function n({title:n,message:s,description:d,hint:i,variant:m,frameless:c,icon:o,children:l}){const h=c?"none":m??"dashed",x="boolean"!=typeof o&&null!=o?o:null,p=!x&&(o??"card"!==h),u=t().emptyState,y=s??(n?void 0:u.message),f=d??i;/* @__PURE__ */
1
+ import{Icon as e}from"./chunk-FSPFV4MI.js";import{useShellStrings as t}from"./chunk-QWHQJNKL.js";import{jsxs as r,jsx as a}from"react/jsx-runtime";function n({title:n,message:s,description:d,hint:i,variant:m,frameless:c,icon:o,children:l}){const h=c?"none":m??"dashed",x="boolean"!=typeof o&&null!=o?o:null,p=!x&&(o??"card"!==h),u=t().emptyState,y=s??(n?void 0:u.message),f=d??i;/* @__PURE__ */
2
2
  return r("div",{className:`flex flex-col items-center justify-center text-center ${"card"===h?"rounded-md border border-gray-200 bg-white px-6 py-12":"none"===h?"px-6 py-12":"rounded-lg border-2 border-dashed border-gray-300 px-6 py-12"}`,children:[x&&/* @__PURE__ */a("div",{className:"mb-3 flex h-10 w-10 items-center justify-center text-gray-300","aria-hidden":"true",children:x}),p&&/* @__PURE__ */a(e,{name:"inbox",className:"h-10 w-10 text-gray-300 mb-3","aria-hidden":"true",strokeWidth:1}),n&&/* @__PURE__ */a("h3",{className:"text-sm font-medium text-gray-900",children:n}),y&&/* @__PURE__ */a("p",{className:"text-sm text-gray-500 "+(n?"mt-2":""),children:y}),f&&/* @__PURE__ */a("p",{className:"text-xs text-gray-400 mt-1",children:f}),l&&/* @__PURE__ */a("div",{className:"mt-4",children:l})]})}export{n as EmptyState};
@@ -1,11 +1,11 @@
1
- import{Card as e}from"./chunk-VU6VPKM3.js";import{Select_default as a}from"./chunk-454DAGYG.js";import{Pagination as r}from"./chunk-M5P6A7KS.js";import{Input_default as t}from"./chunk-GX2GSDJP.js";import{StatusBadgeProvider as i,StatusBadge as s}from"./chunk-D323R2FT.js";import{Button_default as l}from"./chunk-4IU5BSVE.js";import{Icon as c}from"./chunk-FSPFV4MI.js";import{TH_ONE_LINE as m}from"./chunk-6KO5VTL7.js";import{useState as n}from"react";import{jsx as d,jsxs as o}from"react/jsx-runtime";var h={active:"success",invited:"queued",suspended:"danger",pending:"pending"},p=[{name:"Alice Nguyen",email:"alice@acme.co",role:"Admin",status:"active"},{name:"Marco Reyes",email:"marco@acme.co",role:"Editor",status:"invited"},{name:"Priya Patel",email:"priya@acme.co",role:"Editor",status:"active"},{name:"Tom Becker",email:"tom@acme.co",role:"Viewer",status:"suspended"},{name:"Sara Lind",email:"sara@acme.co",role:"Viewer",status:"pending"},{name:"Yuki Tanaka",email:"yuki@acme.co",role:"Editor",status:"active"}];function u(){const[c,u]=n(1),[g,f]=n(""),[y,v]=n("");/* @__PURE__ */
1
+ import{Card as e}from"./chunk-WUKN5WUM.js";import{Select_default as a}from"./chunk-CO5RKOVX.js";import{Pagination as r}from"./chunk-ENL5L6NR.js";import{Input_default as t}from"./chunk-MAMWQCJ6.js";import{StatusBadgeProvider as i,StatusBadge as s}from"./chunk-LNARMEEZ.js";import{Button_default as l}from"./chunk-NHH2MXFU.js";import{Icon as c}from"./chunk-FSPFV4MI.js";import{TH_ONE_LINE as m}from"./chunk-OZAAIE4E.js";import{useState as n}from"react";import{jsx as d,jsxs as o}from"react/jsx-runtime";var h={active:"success",invited:"queued",suspended:"danger",pending:"pending"},p=[{name:"Alice Nguyen",email:"alice@acme.co",role:"Admin",status:"active"},{name:"Marco Reyes",email:"marco@acme.co",role:"Editor",status:"invited"},{name:"Priya Patel",email:"priya@acme.co",role:"Editor",status:"active"},{name:"Tom Becker",email:"tom@acme.co",role:"Viewer",status:"suspended"},{name:"Sara Lind",email:"sara@acme.co",role:"Viewer",status:"pending"},{name:"Yuki Tanaka",email:"yuki@acme.co",role:"Editor",status:"active"}];function u(){const[c,u]=n(1),[g,f]=n(""),[y,N]=n("");/* @__PURE__ */
2
2
  return d(i,{groups:h,children:/* @__PURE__ */d("div",{className:"h-full overflow-auto bg-gray-50 p-6",children:/* @__PURE__ */o("div",{className:"mx-auto max-w-5xl space-y-4",children:[
3
3
  /* @__PURE__ */o("div",{className:"flex items-center justify-between gap-4",children:[
4
4
  /* @__PURE__ */d("h1",{className:"text-xl font-semibold text-gray-900",children:"Members"}),
5
5
  /* @__PURE__ */d(l,{size:"sm",children:"Invite member"})]}),
6
6
  /* @__PURE__ */o(e,{padded:!1,children:[
7
7
  /* @__PURE__ */o("div",{className:"flex flex-wrap items-center gap-2 border-b border-gray-100 p-3",children:[
8
- /* @__PURE__ */d("div",{className:"min-w-48 flex-1",children:/* @__PURE__ */d(t,{value:y,onChange:e=>v(e.target.value),placeholder:"Search members…",leftIcon:/* @__PURE__ */d(x,{})})}),
8
+ /* @__PURE__ */d("div",{className:"min-w-48 flex-1",children:/* @__PURE__ */d(t,{value:y,onChange:e=>N(e.target.value),placeholder:"Search members…",leftIcon:/* @__PURE__ */d(x,{})})}),
9
9
  /* @__PURE__ */d("div",{className:"w-40",children:/* @__PURE__ */d(a,{value:g,onChange:f,placeholder:"All roles",options:[{value:"admin",label:"Admin"},{value:"editor",label:"Editor"},{value:"viewer",label:"Viewer"}]})}),
10
10
  /* @__PURE__ */d(l,{variant:"secondary",size:"sm",children:"Filter"})]}),
11
11
  /* @__PURE__ */o("table",{className:"w-full text-sm",children:[
@@ -1 +1 @@
1
- import{DEFAULT_SHELL_STRINGS as e,useShellStrings as t}from"./chunk-E6UCGCOC.js";import{useRef as r,useState as n,useCallback as s}from"react";import{jsx as a}from"react/jsx-runtime";function o(e,t){const r=(t??"").split(",").map(e=>e.trim().toLocaleLowerCase()).filter(Boolean);if(0===r.length||r.includes("*")||r.includes("*/*"))return!0;const n=e.name.toLocaleLowerCase(),s=e.type.toLocaleLowerCase();return r.some(e=>e.startsWith(".")?n.endsWith(e):e.endsWith("/*")?s.startsWith(e.slice(0,-1)):s===e)}var l=(t,r=e.files)=>t<1024?r.bytes(t):t<1048576?r.kilobytes(Math.round(t/1024)):r.megabytes(t/1048576),i=e=>Array.from(e.dataTransfer?.types??[]).includes("Files");function c(e){const t=e.clipboardData;if(!t)return[];if(t.files&&t.files.length>0)return Array.from(t.files);const r=[];for(const e of Array.from(t.items??[]))if("file"===e.kind){const t=e.getAsFile();t&&r.push(t)}return r}function u({onAccept:e,accept:a,maxSizeBytes:u,maxFiles:f,multiple:p=!0,currentCount:m=0,acceptHint:d,disabled:h=!1}){const g=t().files,y=r(null),[x,v]=n(!1),[D,C]=n([]),L=r(0),b="string"==typeof d?d:"",A=s(t=>{if(h||!t)return;const r=Array.from(t);if(0===r.length)return;const n=[],s=[];for(const e of p?r:r.slice(0,1))o(e,a)?null!=u&&e.size>u?s.push({file:e,reason:"size",message:g.tooLarge(e.name,l(e.size,g),l(u,g))}):p&&null!=f&&m+n.length>=f?s.push({file:e,reason:"count",message:g.tooMany(e.name,f)}):n.push(e):s.push({file:e,reason:"type",message:g.notAccepted(e.name,b)});C(s),n.length&&e(n),y.current&&(y.current.value="")},[h,p,a,b,u,f,m,e,g]),j=s(()=>{h||y.current?.click()},[h]),k=s(()=>C([]),[]);return{inputRef:y,inputProps:{ref:y,type:"file",accept:a||void 0,multiple:p,disabled:h,tabIndex:-1,"aria-hidden":!0,className:"hidden",onChange:e=>A(e.target.files)},zoneProps:h?{}:{onDragEnter:e=>{i(e)&&(e.preventDefault(),L.current+=1,v(!0))},onDragOver:e=>{i(e)&&(e.preventDefault(),x||v(!0))},onDragLeave:e=>{i(e)&&(L.current=Math.max(0,L.current-1),0===L.current&&v(!1))},onDrop:e=>{i(e)&&(e.preventDefault(),L.current=0,v(!1),A(e.dataTransfer.files))}},pasteProps:h?{}:{onPaste:e=>{const t=c(e);0!==t.length&&(e.preventDefault(),A(t))}},open:j,take:A,dragOver:x,rejections:D,clearRejections:k}}function f({rejections:e,className:t="mt-2"}){return 0===e.length?null:/* @__PURE__ */a("ul",{role:"alert",className:`${t} flex flex-col gap-0.5`,children:e.map(({file:e,message:t},r)=>/* @__PURE__ */a("li",{className:"text-xs text-red-600",children:t},`${e.name}-${r}`))})}export{f as FileIntakeAlert,o as acceptsFile,l as humanSize,i as isFileDrag,c as pastedFiles,u as useFileIntake};
1
+ import{DEFAULT_SHELL_STRINGS as e,useShellStrings as t}from"./chunk-QWHQJNKL.js";import{useRef as r,useState as n,useCallback as s}from"react";import{jsx as a}from"react/jsx-runtime";function o(e,t){const r=(t??"").split(",").map(e=>e.trim().toLocaleLowerCase()).filter(Boolean);if(0===r.length||r.includes("*")||r.includes("*/*"))return!0;const n=e.name.toLocaleLowerCase(),s=e.type.toLocaleLowerCase();return r.some(e=>e.startsWith(".")?n.endsWith(e):e.endsWith("/*")?s.startsWith(e.slice(0,-1)):s===e)}var l=(t,r=e.files)=>t<1024?r.bytes(t):t<1048576?r.kilobytes(Math.round(t/1024)):r.megabytes(t/1048576),i=e=>Array.from(e.dataTransfer?.types??[]).includes("Files");function c(e){const t=e.clipboardData;if(!t)return[];if(t.files&&t.files.length>0)return Array.from(t.files);const r=[];for(const e of Array.from(t.items??[]))if("file"===e.kind){const t=e.getAsFile();t&&r.push(t)}return r}function u({onAccept:e,accept:a,maxSizeBytes:u,maxFiles:f,multiple:p=!0,currentCount:m=0,acceptHint:d,disabled:h=!1}){const g=t().files,y=r(null),[x,v]=n(!1),[D,L]=n([]),b=r(0),A="string"==typeof d?d:"",j=s(t=>{if(h||!t)return;const r=Array.from(t);if(0===r.length)return;const n=[],s=[];for(const e of p?r:r.slice(0,1))o(e,a)?null!=u&&e.size>u?s.push({file:e,reason:"size",message:g.tooLarge(e.name,l(e.size,g),l(u,g))}):p&&null!=f&&m+n.length>=f?s.push({file:e,reason:"count",message:g.tooMany(e.name,f)}):n.push(e):s.push({file:e,reason:"type",message:g.notAccepted(e.name,A)});L(s),n.length&&e(n),y.current&&(y.current.value="")},[h,p,a,A,u,f,m,e,g]),k=s(()=>{h||y.current?.click()},[h]),z=s(()=>L([]),[]);return{inputRef:y,inputProps:{ref:y,type:"file",accept:a||void 0,multiple:p,disabled:h,tabIndex:-1,"aria-hidden":!0,className:"hidden",onChange:e=>j(e.target.files)},zoneProps:h?{}:{onDragEnter:e=>{i(e)&&(e.preventDefault(),b.current+=1,v(!0))},onDragOver:e=>{i(e)&&(e.preventDefault(),x||v(!0))},onDragLeave:e=>{i(e)&&(b.current=Math.max(0,b.current-1),0===b.current&&v(!1))},onDrop:e=>{i(e)&&(e.preventDefault(),b.current=0,v(!1),j(e.dataTransfer.files))}},pasteProps:h?{}:{onPaste:e=>{const t=c(e);0!==t.length&&(e.preventDefault(),j(t))}},open:k,take:j,dragOver:x,rejections:D,clearRejections:z}}function f({rejections:e,className:t="mt-2"}){return 0===e.length?null:/* @__PURE__ */a("ul",{role:"alert",className:`${t} flex flex-col gap-0.5`,children:e.map(({file:e,message:t},r)=>/* @__PURE__ */a("li",{className:"text-xs text-red-600",children:t},`${e.name}-${r}`))})}export{f as FileIntakeAlert,o as acceptsFile,l as humanSize,i as isFileDrag,c as pastedFiles,u as useFileIntake};
@@ -1,6 +1,6 @@
1
- import{MOTION as e,stagger as a}from"./chunk-465RRWBY.js";import{autoHighlightIndex as t}from"./chunk-CNYAHYE6.js";import{seriesColor as s,STATUS_VARS as l,CHART_INK as n}from"./chunk-TZFACUMR.js";import{useShellStrings as i,useShellLocale as r}from"./chunk-E6UCGCOC.js";import{formatPlain as m}from"./chunk-C3QOHMR6.js";import{jsx as o,jsxs as h}from"react/jsx-runtime";function c({rows:c,max:u,formatValue:d,emphasisKey:p,highlight:g="none",emphasisTone:x,barHeight:f=12,rowGap:y=30,animate:b=!0,labelFont:N="sans",className:k,emptyLabel:v}){const $=i().charts,j=r(),w=d??(e=>m(e,j)),C=v??$.nothingToRank;if(0===c.length)/* @__PURE__ */
2
- return o("p",{className:`text-sm text-gray-500 ${k??""}`,children:C});const M=t(c.map(e=>e.value),g),F=p??(null===M?void 0:c[M]?.key),R=u??Math.max(...c.map(e=>e.value).filter(Number.isFinite),0),G=s(0);/* @__PURE__ */
3
- return o("ol",{className:`m-0 list-none p-0 ${k??""}`,style:{display:"grid",rowGap:`${Math.max(4,y-f)}px`},children:c.map((t,i)=>{const r=t.key===F,m=r?x?l[x]:s(1):F?n.muted:G,c=Number.isFinite(t.value)?t.value:null,u=null!==c&&R>0?Math.max(0,Math.min(1,c/R)):0;/* @__PURE__ */
1
+ import{MOTION as e,stagger as a}from"./chunk-465RRWBY.js";import{autoHighlightIndex as t}from"./chunk-CNYAHYE6.js";import{seriesColor as s,STATUS_VARS as l,CHART_INK as n}from"./chunk-TZFACUMR.js";import{useShellStrings as i,useShellLocale as r}from"./chunk-QWHQJNKL.js";import{formatPlain as m}from"./chunk-C3QOHMR6.js";import{jsx as o,jsxs as h}from"react/jsx-runtime";function c({rows:c,max:u,formatValue:d,emphasisKey:p,highlight:g="none",emphasisTone:x,barHeight:f=12,rowGap:y=30,animate:b=!0,labelFont:N="sans",className:k,emptyLabel:v}){const $=i().charts,j=r(),w=d??(e=>m(e,j)),M=v??$.nothingToRank;if(0===c.length)/* @__PURE__ */
2
+ return o("p",{className:`text-sm text-gray-500 ${k??""}`,children:M});const F=t(c.map(e=>e.value),g),R=p??(null===F?void 0:c[F]?.key),C=u??Math.max(...c.map(e=>e.value).filter(Number.isFinite),0),H=s(0);/* @__PURE__ */
3
+ return o("ol",{className:`m-0 list-none p-0 ${k??""}`,style:{display:"grid",rowGap:`${Math.max(4,y-f)}px`},children:c.map((t,i)=>{const r=t.key===R,m=r?x?l[x]:s(1):R?n.muted:H,c=Number.isFinite(t.value)?t.value:null,u=null!==c&&C>0?Math.max(0,Math.min(1,c/C)):0;/* @__PURE__ */
4
4
  return h("li",{className:"grid gap-1",children:[
5
5
  /* @__PURE__ */h("div",{className:"flex items-baseline justify-between gap-3",children:[
6
6
  /* @__PURE__ */h("span",{className:`truncate ${"mono"===N?"font-mono ":""}text-xs text-gray-600 ${r?"font-semibold":""}`,title:t.label,children:[t.label,r&&/* @__PURE__ */o("span",{className:"sr-only",children:` ${$.emphasised}`})]}),
@@ -1 +1 @@
1
- import{toast_default as t}from"./chunk-4NXMMWL6.js";import{currentShellStrings as e}from"./chunk-E6UCGCOC.js";function n(t){let e=null;try{e=window.getSelection()}catch{return null}if(!e||0===e.rangeCount||e.isCollapsed)return null;const n=t;if(n&&"number"==typeof n.nodeType){let t=!1;for(let r=0;r<e.rangeCount&&!t;r++)t=e.getRangeAt(r).intersectsNode(n);if(!t)return null}const r=e.toString();if(!r.trim())return null;const o=document.createElement("div");for(let t=0;t<e.rangeCount;t++)o.appendChild(e.getRangeAt(t).cloneContents());return{text:r,html:o.innerHTML}}async function r(t,e){try{if(e&&"undefined"!=typeof ClipboardItem&&navigator.clipboard?.write)return await navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([t],{type:"text/plain"}),"text/html":new Blob([e],{type:"text/html"})})]),!0;if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}const n=n=>{n.clipboardData?.setData("text/plain",t),e&&n.clipboardData?.setData("text/html",e),n.preventDefault()},r=document.createElement("textarea");r.value=t,r.style.position="fixed",r.style.opacity="0",document.body.appendChild(r),r.select(),document.addEventListener("copy",n);try{return document.execCommand("copy")}catch{return!1}finally{document.removeEventListener("copy",n),r.remove()}}async function o(n,o,a){const i=await r(o,a),l=e().copy;return i?t.success(l.copiedLabel(n)):t.error(l.failed),i}export{o as copyToClipboard,n as selectionAt,r as writeClipboard};
1
+ import{toast_default as t}from"./chunk-XD34TCRG.js";import{currentShellStrings as e}from"./chunk-QWHQJNKL.js";function n(t){let e=null;try{e=window.getSelection()}catch{return null}if(!e||0===e.rangeCount||e.isCollapsed)return null;const n=t;if(n&&"number"==typeof n.nodeType){let t=!1;for(let r=0;r<e.rangeCount&&!t;r++)t=e.getRangeAt(r).intersectsNode(n);if(!t)return null}const r=e.toString();if(!r.trim())return null;const o=document.createElement("div");for(let t=0;t<e.rangeCount;t++)o.appendChild(e.getRangeAt(t).cloneContents());return{text:r,html:o.innerHTML}}async function r(t,e){try{if(e&&"undefined"!=typeof ClipboardItem&&navigator.clipboard?.write)return await navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([t],{type:"text/plain"}),"text/html":new Blob([e],{type:"text/html"})})]),!0;if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}const n=n=>{n.clipboardData?.setData("text/plain",t),e&&n.clipboardData?.setData("text/html",e),n.preventDefault()},r=document.createElement("textarea");r.value=t,r.style.position="fixed",r.style.opacity="0",document.body.appendChild(r),r.select(),document.addEventListener("copy",n);try{return document.execCommand("copy")}catch{return!1}finally{document.removeEventListener("copy",n),r.remove()}}async function o(n,o,a){const i=await r(o,a),l=e().copy;return i?t.success(l.copiedLabel(n)):t.error(l.failed),i}export{o as copyToClipboard,n as selectionAt,r as writeClipboard};
@@ -0,0 +1,14 @@
1
+ import{useHighlight as e}from"./chunk-CNYAHYE6.js";import{ChartTooltip as t}from"./chunk-TLRCTNUF.js";import{usePlotWidth as l}from"./chunk-MAFUXCPZ.js";import{resolveSeriesColor as a,CHART_INK as n,STATUS_VARS as r}from"./chunk-TZFACUMR.js";import{useShellStrings as o,useShellLocale as i}from"./chunk-QWHQJNKL.js";import{formatPercent as u,formatPlain as h}from"./chunk-C3QOHMR6.js";import{useId as c,useState as m,useRef as s}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";function x({stages:x,shape:v="funnel",height:p,width:$,gap:g=4,minBandWidth:M=0,formatValue:y,color:b,className:k,emptyLabel:N}){const L=o().charts,A=i(),S=y??(e=>h(e,A)),j=N??L.noStages,z=c(),[C,F]=m(null),{highlighted:V}=e(),W=s(null),w=l(W,560),H=$??w;if(0===x.length)/* @__PURE__ */return d("p",{className:`text-sm text-gray-500 ${k??""}`,children:j});const Z=b??a(0),E=p??54*x.length,Q=Math.max(...x.map(e=>e.value),1),R="bars"===v,T=R?Math.round(Math.min(132,Math.max(80,.24*H))):Math.round(Math.min(168,Math.max(104,.38*H))),U=e=>{const t=x[e-1]?.value;return null!=t&&t>0?100*(1-x[e].value/t):null},B=e=>{const t=U(e);return{count:S(x[e].value),drop:null!=t?`−${u(t,1,A)}`:""}},Y=R?Math.ceil(Math.max(...x.map((e,t)=>{const{count:l,drop:a}=B(t);return.62*(l.length+(a?a.length+1:0))*12}))+16):0,J=H-T-Y,K=Math.max(R?2:0,Math.min(M,J)),O=e=>Math.max(K,J*Math.max(0,e/Q)),P=e=>O(e)/2,X=T+J/2,q=e=>46+e/Math.max(1,x.length-1)*54,D=e=>`color-mix(in oklab, ${Z} ${q(e).toFixed(0)}%, ${n.surface})`,G=e=>q(e)>=55?n.surface:n.label,I=(e,t)=>null!==C?C!==e:null!==V&&V!==t,_=null!==C?x[C]:void 0;/* @__PURE__ */
2
+ return f("div",{className:`relative ${k??""}`,ref:W,children:[
3
+ /* @__PURE__ */f("svg",{width:"100%",height:E,viewBox:`0 0 ${H} ${E}`,role:"img","aria-labelledby":z,onMouseLeave:()=>F(null),children:[
4
+ /* @__PURE__ */d("title",{id:z,children:L.funnel(x.length,S(x[0].value),S(x[x.length-1].value))}),x.map((e,t)=>{const l=t*E/x.length+g/2,a=(t+1)*E/x.length-g/2,r=(l+a)/2,o=u(e.value/(x[0].value||1)*100,0,A),i=.62*o.length*12+12;if(R){const u=T,h=u+O(e.value),{count:c,drop:m}=B(t);/* @__PURE__ */
5
+ return f("g",{opacity:I(t,e.key)?.45:1,onMouseEnter:()=>F(t),children:[
6
+ /* @__PURE__ */d("path",{d:`M${u},${l} L${h},${l} L${h},${a} L${u},${a} Z`,fill:D(t)}),
7
+ /* @__PURE__ */d("text",{x:T-12,y:r+4,textAnchor:"end",fontSize:12,fill:n.label,children:e.label}),h-u>=i&&/* @__PURE__ */d("text",{x:u+8,y:r+4,textAnchor:"start",fontSize:12,fontWeight:600,fill:G(t),style:{fontVariantNumeric:"tabular-nums"},children:o}),
8
+ /* @__PURE__ */f("text",{"data-funnel-value":"true",x:h+8,y:r+4,textAnchor:"start",fontSize:12,fill:n.label,style:{fontVariantNumeric:"tabular-nums"},children:[
9
+ /* @__PURE__ */d("tspan",{fontWeight:600,children:c}),m&&/* @__PURE__ */d("tspan",{fill:n.muted,children:` ${m}`})]})]},e.key)}const h=P(e.value),c="cone"===v?P(x[t+1]?.value??e.value):h,m=U(t),s=2*Math.min(h,c)>=i;/* @__PURE__ */
10
+ return f("g",{opacity:I(t,e.key)?.45:1,onMouseEnter:()=>F(t),children:[
11
+ /* @__PURE__ */d("path",{d:`M${X-h},${l} L${X+h},${l} L${X+c},${a} L${X-c},${a} Z`,fill:D(t)}),
12
+ /* @__PURE__ */d("text",{x:T-14,y:r-2,textAnchor:"end",fontSize:12,fill:n.label,children:e.label}),
13
+ /* @__PURE__ */f("text",{x:T-14,y:r+14,textAnchor:"end",fontSize:11,fill:n.muted,style:{fontVariantNumeric:"tabular-nums"},children:[S(e.value),null!=m?` · −${u(m,1,A)}`:""]}),
14
+ /* @__PURE__ */d("text",{x:s?X:X+Math.max(h,c)+6,y:r+4,textAnchor:s?"middle":"start",fontSize:12,fontWeight:600,fill:s?G(t):n.label,style:{fontVariantNumeric:"tabular-nums"},children:o})]},e.key)})]}),_&&null!==C&&/* @__PURE__ */d("div",{className:"pointer-events-none absolute top-2 left-2 z-10",children:/* @__PURE__ */d(t,{title:_.label,rows:[{key:"value",label:L.count,color:D(C),value:S(_.value)},{key:"share",label:L.ofFirstStage,color:n.muted,value:u(_.value/(x[0].value||1)*100,0,A)},...C>0&&x[C-1].value>0?[{key:"drop",label:L.droppedHere,color:r.critical,value:`−${u(100*(1-_.value/x[C-1].value),1,A)}`}]:[]]})})]})}export{x as FunnelChart};
@@ -1,10 +1,10 @@
1
- import{LoadingSpinner as e}from"./chunk-Q5MD3VY6.js";import{useBrowserLayoutEffect as n}from"./chunk-D65T4H6J.js";import{useShellStrings as t,useShellLocale as r}from"./chunk-E6UCGCOC.js";import{formatPlain as a}from"./chunk-C3QOHMR6.js";import{useState as o,useMemo as l,useRef as i,Fragment as s}from"react";import{jsx as d,Fragment as c,jsxs as u}from"react/jsx-runtime";function m({items:m,columns:f,columnOf:p,getId:g,onMove:h,renderCard:x,onCardClick:y,sortInColumn:b,isLoading:v=!1,loadingText:N,emptyState:w,showColumnsWhenEmpty:k=!1,columnEmptyText:C,onAddItem:D,addItemText:E}){const j=t().kanban,I=r(),T=N??j.loading,M=C??j.dropHere,O=E??j.addItem,[A,$]=o(null),[H,S]=o(null),q=l(()=>{const e={};for(const n of f)e[n.value]=[];for(const n of m)(e[p(n)]??=[]).push(n);if(b)for(const n of Object.keys(e))e[n].sort(b);return e},[m,f,p,b]),z=()=>{$(null),S(null)},F=i(null),L=i(/* @__PURE__ */new Map);n(()=>{if(null!==A)return;const e=F.current;if(!e)return;const n=/* @__PURE__ */new Map,t=[];if(e.querySelectorAll("[data-kanban-card]").forEach(e=>{const r=e.dataset.kanbanCard,a=e.getBoundingClientRect();n.set(r,a);const o=L.current.get(r);if(o){const n=o.left-a.left,r=o.top-a.top;(n||r)&&t.push([e,n,r])}}),L.current=n,t.length){for(const[e,n,r]of t)e.style.transition="none",e.style.transform=`translate(${n}px, ${r}px)`;requestAnimationFrame(()=>{for(const[e]of t)e.style.transition="transform 200ms cubic-bezier(0.2, 0, 0, 1)",e.style.transform="",e.addEventListener("transitionend",()=>{e.style.transition="",e.style.transform=""},{once:!0})})}},[q,A]);return v?/* @__PURE__ */d(e,{size:"sm",padding:"p-4",label:T}):0!==m.length||k?/* @__PURE__ */d("div",{ref:F,className:"flex-1 overflow-x-auto grid-scroll",children:/* @__PURE__ */d("div",{className:"flex gap-3 h-full min-w-max pb-2",children:f.map(e=>{const n=q[e.value]??[],t=null!==H&&H.col===e.value,r=null!==A?n.findIndex(e=>g(e)===A):-1,o=t&&(-1===r||H.index!==r&&H.index!==r+1)?H.index:-1;/* @__PURE__ */
2
- return u("div",{className:"group flex flex-col w-72 shrink-0 rounded-xl bg-gray-50 border transition-colors "+(t?"border-blue-400 ring-2 ring-blue-300/60":"border-gray-200"),onDragOver:e=>{e.preventDefault();try{e.dataTransfer.dropEffect="move"}catch{}},onDrop:n=>{n.preventDefault(),(e=>{if(A&&H&&H.col===e){const n=(q[e]??[]).findIndex(e=>g(e)===A),t=-1!==n;if(!t||H.index!==n&&H.index!==n+1){const r=t&&H.index>n?H.index-1:H.index;h(A,e,r)}}z()})(e.value)},children:[
1
+ import{LoadingSpinner as e}from"./chunk-R2VKEMZH.js";import{useBrowserLayoutEffect as n}from"./chunk-D65T4H6J.js";import{useShellStrings as t,useShellLocale as r}from"./chunk-QWHQJNKL.js";import{formatPlain as a}from"./chunk-C3QOHMR6.js";import{useState as o,useMemo as l,useRef as i,Fragment as s}from"react";import{jsx as d,Fragment as c,jsxs as u}from"react/jsx-runtime";function m({items:m,columns:f,columnOf:p,getId:g,onMove:h,renderCard:x,onCardClick:b,sortInColumn:y,isLoading:v=!1,loadingText:N,emptyState:k,showColumnsWhenEmpty:w=!1,columnEmptyText:C,onAddItem:D,addItemText:E}){const j=t().kanban,I=r(),T=N??j.loading,H=C??j.dropHere,M=E??j.addItem,[A,O]=o(null),[$,L]=o(null),Q=l(()=>{const e={};for(const n of f)e[n.value]=[];for(const n of m)(e[p(n)]??=[]).push(n);if(y)for(const n of Object.keys(e))e[n].sort(y);return e},[m,f,p,y]),R=()=>{O(null),L(null)},S=i(null),q=i(/* @__PURE__ */new Map);n(()=>{if(null!==A)return;const e=S.current;if(!e)return;const n=/* @__PURE__ */new Map,t=[];if(e.querySelectorAll("[data-kanban-card]").forEach(e=>{const r=e.dataset.kanbanCard,a=e.getBoundingClientRect();n.set(r,a);const o=q.current.get(r);if(o){const n=o.left-a.left,r=o.top-a.top;(n||r)&&t.push([e,n,r])}}),q.current=n,t.length){for(const[e,n,r]of t)e.style.transition="none",e.style.transform=`translate(${n}px, ${r}px)`;requestAnimationFrame(()=>{for(const[e]of t)e.style.transition="transform 200ms cubic-bezier(0.2, 0, 0, 1)",e.style.transform="",e.addEventListener("transitionend",()=>{e.style.transition="",e.style.transform=""},{once:!0})})}},[Q,A]);return v?/* @__PURE__ */d(e,{size:"sm",padding:"p-4",label:T}):0!==m.length||w?/* @__PURE__ */d("div",{ref:S,className:"flex-1 overflow-x-auto grid-scroll",children:/* @__PURE__ */d("div",{className:"flex gap-3 h-full min-w-max pb-2",children:f.map(e=>{const n=Q[e.value]??[],t=null!==$&&$.col===e.value,r=null!==A?n.findIndex(e=>g(e)===A):-1,o=t&&(-1===r||$.index!==r&&$.index!==r+1)?$.index:-1;/* @__PURE__ */
2
+ return u("div",{className:"group flex flex-col w-72 shrink-0 rounded-xl bg-gray-50 border transition-colors "+(t?"border-blue-400 ring-2 ring-blue-300/60":"border-gray-200"),onDragOver:e=>{e.preventDefault();try{e.dataTransfer.dropEffect="move"}catch{}},onDrop:n=>{n.preventDefault(),(e=>{if(A&&$&&$.col===e){const n=(Q[e]??[]).findIndex(e=>g(e)===A),t=-1!==n;if(!t||$.index!==n&&$.index!==n+1){const r=t&&$.index>n?$.index-1:$.index;h(A,e,r)}}R()})(e.value)},children:[
3
3
  /* @__PURE__ */u("div",{className:`flex items-center justify-between px-3 py-2 rounded-t-xl text-sm font-medium ${e.accent??"text-gray-700 bg-gray-100"}`,children:[
4
4
  /* @__PURE__ */u("span",{className:"flex items-center gap-2",children:[
5
5
  /* @__PURE__ */d("span",{className:`h-2 w-2 rounded-full ${e.dot??"bg-gray-400"}`}),e.label]}),
6
6
  /* @__PURE__ */d("span",{className:"text-xs opacity-70",children:a(n.length,I)})]}),
7
- /* @__PURE__ */u("div",{className:"flex-1 overflow-y-auto p-2 space-y-2 min-h-[120px]",onDragEnter:()=>S(t=>t&&t.col===e.value&&t.index===n.length?t:{col:e.value,index:n.length}),children:[n.map((t,r)=>{const a=g(t),l=a===A;/* @__PURE__ */
7
+ /* @__PURE__ */u("div",{className:"flex-1 overflow-y-auto p-2 space-y-2 min-h-[120px]",onDragEnter:()=>L(t=>t&&t.col===e.value&&t.index===n.length?t:{col:e.value,index:n.length}),children:[n.map((t,r)=>{const a=g(t),l=a===A;/* @__PURE__ */
8
8
  return u(s,{children:[o===r&&/* @__PURE__ */d("div",{className:"h-0.5 rounded-full bg-blue-500","aria-hidden":!0}),
9
- /* @__PURE__ */d("div",{"data-kanban-card":a,draggable:!0,onDragStart:e=>{$(a);try{e.dataTransfer.effectAllowed="move"}catch{}},onDragEnter:t=>{t.stopPropagation();const a=null!==A?n.findIndex(e=>g(e)===A):-1,o=-1!==a&&a<r?r+1:r;S(n=>n&&n.col===e.value&&n.index===o?n:{col:e.value,index:o})},onDragEnd:z,onClick:y?()=>y(t):void 0,style:null===A?void 0:{opacity:l?.4:1,transition:"opacity 120ms ease"},className:"rounded-lg bg-white border border-gray-200 p-3 shadow-sm hover:border-blue-400 hover:shadow transition "+(y?"cursor-pointer":""),children:x(t)})]},a)}),n.length>0&&o===n.length&&/* @__PURE__ */d("div",{className:"h-0.5 rounded-full bg-blue-500","aria-hidden":!0}),0===n.length&&/* @__PURE__ */d("div",{className:"text-2xs text-center rounded-lg transition-all duration-150 "+(t?"border-2 border-dashed border-blue-300 bg-blue-50/50 text-blue-400 py-8":"text-gray-400 py-6"),children:M})]}),D&&/* @__PURE__ */d("div",{className:"p-2 pt-0",children:/* @__PURE__ */u("button",{type:"button",onClick:()=>D(e.value),className:"flex w-full items-center justify-center gap-1 rounded-lg px-2 min-h-8 py-1 text-xs font-medium text-gray-500 opacity-0 transition hover:bg-gray-100 hover:text-gray-700 focus-visible:opacity-100 group-hover:opacity-100",children:[
10
- /* @__PURE__ */d("span",{"aria-hidden":!0,className:"text-sm leading-none",children:"+"}),O]})})]},e.value)})})}):/* @__PURE__ */d(c,{children:w??/* @__PURE__ */d("div",{className:"text-sm text-gray-500 p-4",children:j.empty})})}export{m as Kanban};
9
+ /* @__PURE__ */d("div",{"data-kanban-card":a,draggable:!0,onDragStart:e=>{O(a);try{e.dataTransfer.effectAllowed="move"}catch{}},onDragEnter:t=>{t.stopPropagation();const a=null!==A?n.findIndex(e=>g(e)===A):-1,o=-1!==a&&a<r?r+1:r;L(n=>n&&n.col===e.value&&n.index===o?n:{col:e.value,index:o})},onDragEnd:R,onClick:b?()=>b(t):void 0,style:null===A?void 0:{opacity:l?.4:1,transition:"opacity 120ms ease"},className:"rounded-lg bg-white border border-gray-200 p-3 shadow-sm hover:border-blue-400 hover:shadow transition "+(b?"cursor-pointer":""),children:x(t)})]},a)}),n.length>0&&o===n.length&&/* @__PURE__ */d("div",{className:"h-0.5 rounded-full bg-blue-500","aria-hidden":!0}),0===n.length&&/* @__PURE__ */d("div",{className:"text-2xs text-center rounded-lg transition-all duration-150 "+(t?"border-2 border-dashed border-blue-300 bg-blue-50/50 text-blue-400 py-8":"text-gray-400 py-6"),children:H})]}),D&&/* @__PURE__ */d("div",{className:"p-2 pt-0",children:/* @__PURE__ */u("button",{type:"button",onClick:()=>D(e.value),className:"flex w-full items-center justify-center gap-1 rounded-lg px-2 min-h-8 py-1 text-xs font-medium text-ink-faint opacity-0 transition hover:bg-gray-100 hover:text-ink focus-visible:opacity-100 group-hover:opacity-100",children:[
10
+ /* @__PURE__ */d("span",{"aria-hidden":!0,className:"text-sm leading-none",children:"+"}),M]})})]},e.value)})})}):/* @__PURE__ */d(c,{children:k??/* @__PURE__ */d("div",{className:"text-sm text-gray-500 p-4",children:j.empty})})}export{m as Kanban};
@@ -1,16 +1,16 @@
1
- import{Popover as e}from"./chunk-RNBM5JZI.js";import{InputNumber_default as r}from"./chunk-5E3WCKWB.js";import{InSettingRowContext as a}from"./chunk-L65BESIE.js";import{parseHexColor as n,hexToHsv as o,hsvToHex as t,hexReadout as l,HUE_GRADIENT as i,HEX_MAX_LENGTH as s,svFromPoint as c,hueFromPoint as u}from"./chunk-S6OB6HJB.js";import{inputClasses as d}from"./chunk-PF3ANJFI.js";import{Tooltip as h}from"./chunk-22S6LG6D.js";import{useShellStrings as g}from"./chunk-E6UCGCOC.js";import{forwardRef as p,useState as b,useRef as m,useEffect as f,useId as v}from"react";import{jsx as w,jsxs as x}from"react/jsx-runtime";var y={sm:"h-6 w-6",md:"h-8 w-8",lg:"h-10 w-10"},k={backgroundImage:"conic-gradient(var(--line-strong) 25%, var(--surface) 0 50%, var(--line-strong) 0 75%, var(--surface) 0)",backgroundSize:"8px 8px"};function C(e){return null==e||Number.isNaN(e)?100:Math.round(Math.min(100,Math.max(0,e)))}function N(e,r){if(!e)return k;const a=C(r);if(a>=100)return{background:e};const n=`color-mix(in srgb, ${e} ${a}%, transparent)`;return{backgroundImage:`linear-gradient(${n}, ${n}), ${k.backgroundImage}`,backgroundSize:`auto, ${k.backgroundSize}`}}function $({size:e="md",selected:r=!1,className:a=""}={}){return["relative inline-flex shrink-0 overflow-hidden rounded-md p-0 transition-shadow","rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]","disabled:cursor-not-allowed disabled:opacity-60",r?"border-2 border-blue-500":"border border-gray-300 hover:shadow-sm",y[e],a].filter(Boolean).join(" ")}var z=p(function({color:e,size:r="md",selected:a,className:n,type:o="button",...t},l){/* @__PURE__ */
2
- return w("button",{ref:l,type:o,"aria-pressed":a,className:$({size:r,selected:a,className:n}),...t,children:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"absolute inset-0",style:N(e)})})}),D=(e,r,a)=>Math.min(a,Math.max(r,e)),I=e=>"string"==typeof e?{value:e}:e;function P(e,r,a){const n=a?.1:.01,o={ArrowLeft:[-n,0],ArrowRight:[n,0],ArrowDown:[0,-n],ArrowUp:[0,n]}[r];return o?{...e,s:D(e.s+o[0],0,1),v:D(e.v+o[1],0,1)}:null}function A(e,r,a){const n=a?10:1;switch(r){case"ArrowLeft":case"ArrowDown":return D(e-n,0,359);case"ArrowRight":case"ArrowUp":return D(e+n,0,359);case"PageDown":return D(e-10,0,359);case"PageUp":return D(e+10,0,359);case"Home":return 0;case"End":return 359;default:return null}}var M={boxShadow:"0 0 0 2px white, 0 0 0 3px color-mix(in srgb, black 35%, transparent)"};function j(e,r,a){const n=a?10:1;switch(r){case"ArrowLeft":case"ArrowDown":return D(e-n,0,100);case"ArrowRight":case"ArrowUp":return D(e+n,0,100);case"PageDown":return D(e-10,0,100);case"PageUp":return D(e+10,0,100);case"Home":return 0;case"End":return 100;default:return null}}function S({value:e,onChange:r,label:s,presets:d,clearable:p=!1,fallback:v,dragWrites:y="live",disabled:$=!1,opacity:D,onOpacityChange:S,onClose:B,id:K,className:E=""}){const O=g().color,R=C(D),U=e=>{const r=C(e);$||r===R||S?.(r)},W=e=>{const r=e.currentTarget.getBoundingClientRect();return r.width>0?(e.clientX-r.left)/r.width*100:R},H=n(v??""),[q,F]=b(()=>o(e||H||"")),J=m(e);f(()=>{e!==J.current&&(J.current=e,e?F(o(e)):H&&F(o(H)))},[e]);const X=a=>{$||a===e||(J.current=a,r(a))},G=e=>{const r=n(e);r&&(F(o(r)),X(r))},V=e=>{F(e),X(t(e))},[Y,Z]=b(!1),Q=m(q);Q.current=q;const _=e=>({onPointerDown:r=>{if($||0!==r.button)return;r.currentTarget.setPointerCapture?.(r.pointerId),r.currentTarget.focus({preventScroll:!0});const a=e(r,Q.current);"end"===y?(Z(!0),F(a)):V(a)},onPointerMove:r=>{if($||!(1&r.buttons))return;const a=e(r,Q.current);"end"===y?F(a):V(a)},onPointerUp:r=>{"end"===y&&Y&&(Z(!1),V(e(r,Q.current)))}}),ee=_((e,r)=>({...r,...c(e.clientX,e.clientY,e.currentTarget.getBoundingClientRect())})),re=_((e,r)=>({...r,h:u(e.clientX,e.currentTarget.getBoundingClientRect())})),ae=Y?t(q):e,ne=e=>`${Math.round(100*e)}%`,oe=(d??[]).map(I),te=n(e),le=ae||H||"";
1
+ import{Popover as e}from"./chunk-7JGR7WPD.js";import{InputNumber_default as r}from"./chunk-ZHHEMSOD.js";import{InSettingRowContext as a}from"./chunk-L65BESIE.js";import{parseHexColor as n,hexToHsv as o,hsvToHex as t,hexReadout as l,HUE_GRADIENT as i,HEX_MAX_LENGTH as s,svFromPoint as c,hueFromPoint as u}from"./chunk-S6OB6HJB.js";import{inputClasses as d}from"./chunk-AYZY3YNC.js";import{Tooltip as h}from"./chunk-BCDG4N6L.js";import{useShellStrings as g}from"./chunk-QWHQJNKL.js";import{forwardRef as p,useState as b,useRef as m,useEffect as f,useId as v}from"react";import{jsx as w,jsxs as x}from"react/jsx-runtime";var k={sm:"h-6 w-6",md:"h-8 w-8",lg:"h-10 w-10"},y={backgroundImage:"conic-gradient(var(--line-strong) 25%, var(--surface) 0 50%, var(--line-strong) 0 75%, var(--surface) 0)",backgroundSize:"8px 8px"};function C(e){return null==e||Number.isNaN(e)?100:Math.round(Math.min(100,Math.max(0,e)))}function N(e,r){if(!e)return y;const a=C(r);if(a>=100)return{background:e};const n=`color-mix(in srgb, ${e} ${a}%, transparent)`;return{backgroundImage:`linear-gradient(${n}, ${n}), ${y.backgroundImage}`,backgroundSize:`auto, ${y.backgroundSize}`}}function $({size:e="md",selected:r=!1,className:a=""}={}){return["relative inline-flex shrink-0 overflow-hidden rounded-md p-0 transition-shadow","rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]","disabled:cursor-not-allowed disabled:opacity-60",r?"border-2 border-blue-500":"border border-gray-300 hover:shadow-sm",k[e],a].filter(Boolean).join(" ")}var z=p(function({color:e,size:r="md",selected:a,className:n,type:o="button",...t},l){/* @__PURE__ */
2
+ return w("button",{ref:l,type:o,"aria-pressed":a,className:$({size:r,selected:a,className:n}),...t,children:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"absolute inset-0",style:N(e)})})}),D=(e,r,a)=>Math.min(a,Math.max(r,e)),I=e=>"string"==typeof e?{value:e}:e;function P(e,r,a){const n=a?.1:.01,o={ArrowLeft:[-n,0],ArrowRight:[n,0],ArrowDown:[0,-n],ArrowUp:[0,n]}[r];return o?{...e,s:D(e.s+o[0],0,1),v:D(e.v+o[1],0,1)}:null}function A(e,r,a){const n=a?10:1;switch(r){case"ArrowLeft":case"ArrowDown":return D(e-n,0,359);case"ArrowRight":case"ArrowUp":return D(e+n,0,359);case"PageDown":return D(e-10,0,359);case"PageUp":return D(e+10,0,359);case"Home":return 0;case"End":return 359;default:return null}}var M={boxShadow:"0 0 0 2px white, 0 0 0 3px color-mix(in srgb, black 35%, transparent)"};function j(e,r,a){const n=a?10:1;switch(r){case"ArrowLeft":case"ArrowDown":return D(e-n,0,100);case"ArrowRight":case"ArrowUp":return D(e+n,0,100);case"PageDown":return D(e-10,0,100);case"PageUp":return D(e+10,0,100);case"Home":return 0;case"End":return 100;default:return null}}function S({value:e,onChange:r,label:s,presets:d,clearable:p=!1,fallback:v,dragWrites:k="live",disabled:$=!1,opacity:D,onOpacityChange:S,onClose:B,id:K,className:L=""}){const H=g().color,O=C(D),R=e=>{const r=C(e);$||r===O||S?.(r)},U=e=>{const r=e.currentTarget.getBoundingClientRect();return r.width>0?(e.clientX-r.left)/r.width*100:O},W=n(v??""),[Y,q]=b(()=>o(e||W||"")),J=m(e);f(()=>{e!==J.current&&(J.current=e,e?q(o(e)):W&&q(o(W)))},[e]);const X=a=>{$||a===e||(J.current=a,r(a))},G=e=>{const r=n(e);r&&(q(o(r)),X(r))},Q=e=>{q(e),X(t(e))},[Z,F]=b(!1),V=m(Y);V.current=Y;const _=e=>({onPointerDown:r=>{if($||0!==r.button)return;r.currentTarget.setPointerCapture?.(r.pointerId),r.currentTarget.focus({preventScroll:!0});const a=e(r,V.current);"end"===k?(F(!0),q(a)):Q(a)},onPointerMove:r=>{if($||!(1&r.buttons))return;const a=e(r,V.current);"end"===k?q(a):Q(a)},onPointerUp:r=>{"end"===k&&Z&&(F(!1),Q(e(r,V.current)))}}),ee=_((e,r)=>({...r,...c(e.clientX,e.clientY,e.currentTarget.getBoundingClientRect())})),re=_((e,r)=>({...r,h:u(e.clientX,e.currentTarget.getBoundingClientRect())})),ae=Z?t(Y):e,ne=e=>`${Math.round(100*e)}%`,oe=(d??[]).map(I),te=n(e),le=ae||W||"";
3
3
  /* @__PURE__ */
4
- return w(a.Provider,{value:!1,children:/* @__PURE__ */x("div",{id:K,className:`flex w-56 flex-col gap-3 ${$?"opacity-60":""} ${E}`.trim(),onKeyDown:e=>{"Escape"===e.key&&B&&(e.preventDefault(),e.stopPropagation(),B())},children:[(oe.length>0||p)&&/* @__PURE__ */x("div",{role:"group","aria-label":O.presets,className:"flex flex-wrap gap-2",children:[p&&/* @__PURE__ */w(h,{content:O.clear,children:/* @__PURE__ */w(z,{color:"",size:"sm","aria-label":O.clear,selected:""===e,disabled:$,onClick:()=>{$||""===e||(J.current="",r(""))}})}),oe.map(e=>{const r=n(e.value),a=e.label?`${e.label} · ${l(r??e.value)}`:l(r??e.value);/* @__PURE__ */
4
+ return w(a.Provider,{value:!1,children:/* @__PURE__ */x("div",{id:K,className:`flex w-56 flex-col gap-3 ${$?"opacity-60":""} ${L}`.trim(),onKeyDown:e=>{"Escape"===e.key&&B&&(e.preventDefault(),e.stopPropagation(),B())},children:[(oe.length>0||p)&&/* @__PURE__ */x("div",{role:"group","aria-label":H.presets,className:"flex flex-wrap gap-2",children:[p&&/* @__PURE__ */w(h,{content:H.clear,children:/* @__PURE__ */w(z,{color:"",size:"sm","aria-label":H.clear,selected:""===e,disabled:$,onClick:()=>{$||""===e||(J.current="",r(""))}})}),oe.map(e=>{const r=n(e.value),a=e.label?`${e.label} · ${l(r??e.value)}`:l(r??e.value);/* @__PURE__ */
5
5
  return w(h,{content:a,children:/* @__PURE__ */w(z,{color:r??e.value,size:"sm","aria-label":a,selected:null!==r&&r===te,disabled:$,onClick:()=>G(e.value)})},`${e.label??""}:${e.value}`)})]}),
6
- /* @__PURE__ */w("div",{role:"slider",tabIndex:$?-1:0,"aria-label":O.square,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(100*q.v),"aria-valuetext":O.squareValue(Math.round(100*q.s),Math.round(100*q.v)),"aria-disabled":$||void 0,"data-color-square":"",onKeyDown:e=>{if($)return;const r=P(q,e.key,e.shiftKey);r&&(e.preventDefault(),V(r))},...ee,className:"relative h-36 w-full cursor-crosshair touch-none rounded-md rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",style:{backgroundColor:t({h:q.h,s:1,v:1}),backgroundImage:"linear-gradient(to top, black, transparent), linear-gradient(to right, white, transparent)"},children:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"pointer-events-none absolute h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{left:ne(q.s),top:ne(1-q.v),...M}})}),
7
- /* @__PURE__ */w("div",{role:"slider",tabIndex:$?-1:0,"aria-label":O.hue,"aria-valuemin":0,"aria-valuemax":359,"aria-valuenow":Math.round(q.h),"aria-orientation":"horizontal","aria-disabled":$||void 0,"data-color-hue":"",onKeyDown:e=>{if($)return;const r=A(q.h,e.key,e.shiftKey);null!==r&&(e.preventDefault(),V({...q,h:r}))},...re,className:"relative h-3 w-full cursor-pointer touch-none rounded-full rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",style:{backgroundImage:i},children:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"pointer-events-none absolute top-1/2 h-3.5 w-3.5 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{left:q.h/360*100+"%",background:t({h:q.h,s:1,v:1}),...M}})}),S&&/* @__PURE__ */w("div",{role:"slider",tabIndex:$?-1:0,"aria-label":O.opacity(s),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":R,"aria-valuetext":`${R}%`,"aria-orientation":"horizontal","aria-disabled":$||void 0,"data-color-opacity":"",onKeyDown:e=>{if($)return;const r=j(R,e.key,e.shiftKey);null!==r&&(e.preventDefault(),U(r))},onPointerDown:e=>{$||0!==e.button||(e.currentTarget.setPointerCapture?.(e.pointerId),e.currentTarget.focus({preventScroll:!0}),U(W(e)))},onPointerMove:e=>{!$&&1&e.buttons&&U(W(e))},className:"relative h-3 w-full cursor-pointer touch-none rounded-full rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",style:{backgroundImage:`linear-gradient(to right, transparent, ${le||"black"}), ${k.backgroundImage}`,backgroundSize:`auto, ${k.backgroundSize}`},children:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"pointer-events-none absolute top-1/2 h-3.5 w-3.5 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{left:`${R}%`,...N(le||"black",R),...M}})}),
6
+ /* @__PURE__ */w("div",{role:"slider",tabIndex:$?-1:0,"aria-label":H.square,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(100*Y.v),"aria-valuetext":H.squareValue(Math.round(100*Y.s),Math.round(100*Y.v)),"aria-disabled":$||void 0,"data-color-square":"",onKeyDown:e=>{if($)return;const r=P(Y,e.key,e.shiftKey);r&&(e.preventDefault(),Q(r))},...ee,className:"relative h-36 w-full cursor-crosshair touch-none rounded-md rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",style:{backgroundColor:t({h:Y.h,s:1,v:1}),backgroundImage:"linear-gradient(to top, black, transparent), linear-gradient(to right, white, transparent)"},children:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"pointer-events-none absolute h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{left:ne(Y.s),top:ne(1-Y.v),...M}})}),
7
+ /* @__PURE__ */w("div",{role:"slider",tabIndex:$?-1:0,"aria-label":H.hue,"aria-valuemin":0,"aria-valuemax":359,"aria-valuenow":Math.round(Y.h),"aria-orientation":"horizontal","aria-disabled":$||void 0,"data-color-hue":"",onKeyDown:e=>{if($)return;const r=A(Y.h,e.key,e.shiftKey);null!==r&&(e.preventDefault(),Q({...Y,h:r}))},...re,className:"relative h-3 w-full cursor-pointer touch-none rounded-full rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",style:{backgroundImage:i},children:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"pointer-events-none absolute top-1/2 h-3.5 w-3.5 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{left:Y.h/360*100+"%",background:t({h:Y.h,s:1,v:1}),...M}})}),S&&/* @__PURE__ */w("div",{role:"slider",tabIndex:$?-1:0,"aria-label":H.opacity(s),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":O,"aria-valuetext":`${O}%`,"aria-orientation":"horizontal","aria-disabled":$||void 0,"data-color-opacity":"",onKeyDown:e=>{if($)return;const r=j(O,e.key,e.shiftKey);null!==r&&(e.preventDefault(),R(r))},onPointerDown:e=>{$||0!==e.button||(e.currentTarget.setPointerCapture?.(e.pointerId),e.currentTarget.focus({preventScroll:!0}),R(U(e)))},onPointerMove:e=>{!$&&1&e.buttons&&R(U(e))},className:"relative h-3 w-full cursor-pointer touch-none rounded-full rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",style:{backgroundImage:`linear-gradient(to right, transparent, ${le||"black"}), ${y.backgroundImage}`,backgroundSize:`auto, ${y.backgroundSize}`},children:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"pointer-events-none absolute top-1/2 h-3.5 w-3.5 -translate-x-1/2 -translate-y-1/2 rounded-full",style:{left:`${O}%`,...N(le||"black",O),...M}})}),
8
8
  /* @__PURE__ */x("div",{className:"flex items-center gap-2",children:[
9
- /* @__PURE__ */w("span",{"aria-hidden":"true",className:"relative h-8 w-8 shrink-0 overflow-hidden rounded-md border border-gray-300",style:N(le,S?R:null)}),
10
- /* @__PURE__ */w(T,{value:ae,placeholder:!e&&H?l(H):void 0,onChange:G,label:O.hex(s),disabled:$}),S&&/* @__PURE__ */w(L,{value:R,onChange:U,label:O.opacity(s),disabled:$})]})]})})}var B={sm:"w-[calc(7ch+1rem+4px)] min-w-[calc(7ch+1rem+4px)]",md:"w-[calc(7ch+1.5rem+4px)] min-w-[calc(7ch+1.5rem+4px)]",lg:"w-[calc(7ch+2rem+4px)] min-w-[calc(7ch+2rem+4px)]"},K={sm:"h-6",md:"h-8",lg:"h-10"},E=["block w-[calc(7ch+0.5rem+4px)] min-w-[calc(7ch+0.5rem+4px)] flex-none rounded-(--radius-control)","border border-transparent bg-transparent px-1 text-2xs font-mono uppercase","text-gray-800 placeholder:text-[color:var(--ink-placeholder)] hover:border-gray-300","focus:border-blue-400 focus:bg-(--surface) rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring)]","disabled:cursor-not-allowed disabled:opacity-60"].join(" ");function T({value:e,onChange:r,label:a,placeholder:o,disabled:t,id:i,size:c="md",look:u="box",className:h=""}){const[g,p]=b(null),m="text"===u?`${E} ${K[c]} ${h}`.trim():d({size:c,className:`${B[c]} flex-1 font-mono uppercase ${h}`.trim()}).replace(/(^| )w-full( |$)/," ");/* @__PURE__ */
11
- return w("input",{id:i,type:"text",value:g??(e?l(e):""),"aria-label":a,placeholder:o,maxLength:s,spellCheck:!1,autoComplete:"off",disabled:t,onChange:a=>{p(a.target.value);const o=n(a.target.value);null!==o&&o!==e&&r(o)},onFocus:e=>e.currentTarget.select(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),p(null))},onBlur:()=>p(null),"data-hex-look":u,className:m})}function L({value:e,onChange:a,label:n,disabled:o,size:t="md"}){/* @__PURE__ */
12
- return w("div",{"data-color-opacity-box":"",className:"w-20 shrink-0",children:/* @__PURE__ */w(r,{value:e,onChange:e=>{null!==e&&a(e)},min:0,max:100,precision:0,suffix:"%",size:t,"aria-label":n,disabled:o})})}function O({value:r,onChange:a,label:o,presets:t,clearable:i,fallback:s,dragWrites:c,disabled:u,id:d,showHexInput:h=!1,opacity:p,onOpacityChange:b,size:m="md",align:f="start",open:y,onOpenChange:k,className:z=""}){const D=g().color,I=C(p),P=v(),A=n(s??""),M=r||A||"",j=r?l(r):A?l(A):D.none;
9
+ /* @__PURE__ */w("span",{"aria-hidden":"true",className:"relative h-8 w-8 shrink-0 overflow-hidden rounded-md border border-line-strong",style:N(le,S?O:null)}),
10
+ /* @__PURE__ */w(T,{value:ae,placeholder:!e&&W?l(W):void 0,onChange:G,label:H.hex(s),disabled:$}),S&&/* @__PURE__ */w(E,{value:O,onChange:R,label:H.opacity(s),disabled:$})]})]})})}var B={sm:"w-[calc(7ch+1rem+4px)] min-w-[calc(7ch+1rem+4px)]",md:"w-[calc(7ch+1.5rem+4px)] min-w-[calc(7ch+1.5rem+4px)]",lg:"w-[calc(7ch+2rem+4px)] min-w-[calc(7ch+2rem+4px)]"},K={sm:"h-6",md:"h-8",lg:"h-10"},L=["block w-[calc(7ch+0.5rem+4px)] min-w-[calc(7ch+0.5rem+4px)] flex-none rounded-(--radius-control)","border border-transparent bg-transparent px-1 text-2xs font-mono uppercase","text-ink-strong placeholder:text-[color:var(--ink-placeholder)] hover:border-gray-300","focus:border-blue-400 focus:bg-(--surface) rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring)]","disabled:cursor-not-allowed disabled:opacity-60"].join(" ");function T({value:e,onChange:r,label:a,placeholder:o,disabled:t,id:i,size:c="md",look:u="box",className:h=""}){const[g,p]=b(null),m="text"===u?`${L} ${K[c]} ${h}`.trim():d({size:c,className:`${B[c]} flex-1 font-mono uppercase ${h}`.trim()}).replace(/(^| )w-full( |$)/," ");/* @__PURE__ */
11
+ return w("input",{id:i,type:"text",value:g??(e?l(e):""),"aria-label":a,placeholder:o,maxLength:s,spellCheck:!1,autoComplete:"off",disabled:t,onChange:a=>{p(a.target.value);const o=n(a.target.value);null!==o&&o!==e&&r(o)},onFocus:e=>e.currentTarget.select(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),p(null))},onBlur:()=>p(null),"data-hex-look":u,className:m})}function E({value:e,onChange:a,label:n,disabled:o,size:t="md"}){/* @__PURE__ */
12
+ return w("div",{"data-color-opacity-box":"",className:"w-20 shrink-0",children:/* @__PURE__ */w(r,{value:e,onChange:e=>{null!==e&&a(e)},min:0,max:100,precision:0,suffix:"%",size:t,"aria-label":n,disabled:o})})}function H({value:r,onChange:a,label:o,presets:t,clearable:i,fallback:s,dragWrites:c,disabled:u,id:d,showHexInput:h=!1,opacity:p,onOpacityChange:b,size:m="md",align:f="start",open:k,onOpenChange:y,className:z=""}){const D=g().color,I=C(p),P=v(),A=n(s??""),M=r||A||"",j=r?l(r):A?l(A):D.none;
13
13
  /* @__PURE__ */
14
14
  return x("div",{className:`inline-flex items-center ${b?"flex-wrap justify-end gap-1":h?"gap-1":"gap-2"} ${z}`.trim(),children:[
15
- /* @__PURE__ */w(e,{id:d,trigger:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"absolute inset-0",style:N(M,b?I:null)}),triggerLabel:D.swatch(o,j),triggerClassName:$({size:m}),"aria-label":D.panel(o),align:f,open:y,onOpenChange:k,disabled:u,children:/* @__PURE__ */w(S,{id:P,value:r,onChange:a,label:o,presets:t,clearable:i,fallback:s,dragWrites:c,disabled:u,opacity:p,onOpacityChange:b})}),h&&
16
- /* @__PURE__ */w(T,{value:r,placeholder:!r&&A?l(A):void 0,onChange:e=>{u||e===r||a(e)},label:D.hex(o),disabled:u,size:m,look:"text"}),b&&/* @__PURE__ */w(L,{value:I,onChange:e=>{u||e===I||b(e)},label:D.opacity(o),disabled:u,size:m})]})}export{O as ColorPicker,S as ColorPickerPanel,z as ColorSwatch,T as HexInput,k as NO_COLOR_FILL,C as clampOpacity,N as colorFill,$ as colorSwatchClasses,A as stepHue,j as stepOpacity,P as stepSquare};
15
+ /* @__PURE__ */w(e,{id:d,trigger:/* @__PURE__ */w("span",{"aria-hidden":"true",className:"absolute inset-0",style:N(M,b?I:null)}),triggerLabel:D.swatch(o,j),triggerClassName:$({size:m}),"aria-label":D.panel(o),align:f,open:k,onOpenChange:y,disabled:u,children:/* @__PURE__ */w(S,{id:P,value:r,onChange:a,label:o,presets:t,clearable:i,fallback:s,dragWrites:c,disabled:u,opacity:p,onOpacityChange:b})}),h&&
16
+ /* @__PURE__ */w(T,{value:r,placeholder:!r&&A?l(A):void 0,onChange:e=>{u||e===r||a(e)},label:D.hex(o),disabled:u,size:m,look:"text"}),b&&/* @__PURE__ */w(E,{value:I,onChange:e=>{u||e===I||b(e)},label:D.opacity(o),disabled:u,size:m})]})}export{H as ColorPicker,S as ColorPickerPanel,z as ColorSwatch,T as HexInput,y as NO_COLOR_FILL,C as clampOpacity,N as colorFill,$ as colorSwatchClasses,A as stepHue,j as stepOpacity,P as stepSquare};