efficient-shell 8.22.0 → 8.23.1

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 (299) hide show
  1. package/README.md +31 -0
  2. package/dist/{Browser-VZU2MTSA.js → Browser-NSOMITHS.js} +14 -14
  3. package/dist/Calculator-WZIBSVDK.js +29 -0
  4. package/dist/{CurrencyConverter-BSQCX3HS.js → CurrencyConverter-BX5HDEX6.js} +8 -8
  5. package/dist/{Documents-NR3T434J.js → Documents-LEB2ZSZD.js} +20 -20
  6. package/dist/{Files-QMV2E74S.js → Files-4P5YEYDE.js} +23 -23
  7. package/dist/{Notepad-M5MCY5DV.js → Notepad-UNPC3Q4F.js} +10 -10
  8. package/dist/{PdfViewer-OODU3XIT.js → PdfViewer-67VBUIRD.js} +1 -1
  9. package/dist/PomodoroTimer-LBFYGZHA.js +91 -0
  10. package/dist/{Preview-QTDCPMCL.js → Preview-3FABZUXV.js} +27 -27
  11. package/dist/Sidebar-OIWVKYUU.js +43 -0
  12. package/dist/{Spreadsheet-V2EWOJML.js → Spreadsheet-AADGH3IX.js} +14 -14
  13. package/dist/{Stock-U3G45T36.js → Stock-5TKATE4I.js} +3 -3
  14. package/dist/{Weather-GEC4VHLM.js → Weather-NQJCUUUN.js} +17 -17
  15. package/dist/{WorldClock-6ORV4NHF.js → WorldClock-QYZF2JCO.js} +6 -6
  16. package/dist/ai/index.js +13 -13
  17. package/dist/apps/index.d.ts +1 -1
  18. package/dist/apps/index.js +1 -1
  19. package/dist/bin/media-host-check.js +1 -1
  20. package/dist/bin/ui-check.js +1 -1
  21. package/dist/brand.css +1 -1
  22. package/dist/charts/BoxPlotChart.js +1 -1
  23. package/dist/charts/CandlestickChart.js +1 -1
  24. package/dist/charts/CartesianPlot.js +1 -1
  25. package/dist/charts/ChartBrush.js +1 -1
  26. package/dist/charts/ChartFrame.js +1 -1
  27. package/dist/charts/ChartSkeleton.js +1 -1
  28. package/dist/charts/ChordChart.js +1 -1
  29. package/dist/charts/ColumnChart.js +1 -1
  30. package/dist/charts/FunnelChart.js +1 -1
  31. package/dist/charts/HeatmapChart.js +1 -1
  32. package/dist/charts/HistogramChart.js +1 -1
  33. package/dist/charts/Meter.js +1 -1
  34. package/dist/charts/PieChart.js +1 -1
  35. package/dist/charts/RadarChart.js +1 -1
  36. package/dist/charts/RadialBarChart.js +1 -1
  37. package/dist/charts/RangeChart.js +1 -1
  38. package/dist/charts/RankedBars.js +1 -1
  39. package/dist/charts/SankeyChart.js +1 -1
  40. package/dist/charts/ScatterChart.js +1 -1
  41. package/dist/charts/StatTile.js +1 -1
  42. package/dist/charts/SunburstChart.js +1 -1
  43. package/dist/charts/TimeSeriesChart.js +1 -1
  44. package/dist/charts/TreemapChart.js +1 -1
  45. package/dist/charts/WaterfallChart.js +1 -1
  46. package/dist/{chunk-74QAQXSB.js → chunk-2C6IG7LG.js} +1 -1
  47. package/dist/{chunk-XUQQCKKD.js → chunk-37CCKGHU.js} +1 -1
  48. package/dist/chunk-3EKWDVBV.js +29 -0
  49. package/dist/{chunk-W7ZAFS7C.js → chunk-3GHBY2FP.js} +7 -7
  50. package/dist/{chunk-C3ZZDCBU.js → chunk-3IYMTPGR.js} +18 -18
  51. package/dist/{chunk-WXIEWJF7.js → chunk-3PGK3VFS.js} +1 -1
  52. package/dist/{chunk-I2FHDMIN.js → chunk-3PNKI44X.js} +6 -6
  53. package/dist/{chunk-KFSNSDTW.js → chunk-3V5Z2BJY.js} +12 -12
  54. package/dist/{chunk-Q6A6W3DI.js → chunk-3XQGEILM.js} +1 -1
  55. package/dist/{chunk-QSN7X27F.js → chunk-4CFOKYVR.js} +7 -7
  56. package/dist/{chunk-D3BDPSVV.js → chunk-4F3IKYUO.js} +6 -6
  57. package/dist/{chunk-QUS3C264.js → chunk-4NXMMWL6.js} +1 -1
  58. package/dist/{chunk-PHYI7M45.js → chunk-4VLKDANH.js} +1 -1
  59. package/dist/{chunk-6AJM3QNG.js → chunk-4YUCXIRP.js} +1 -1
  60. package/dist/{chunk-VWMTQLVS.js → chunk-5PY4H4ZJ.js} +1 -1
  61. package/dist/{chunk-R4JU7MU2.js → chunk-64FIE4SX.js} +7 -7
  62. package/dist/chunk-6CRERVSV.js +1 -0
  63. package/dist/chunk-6NMDKOQA.js +7 -0
  64. package/dist/{chunk-PFB2NSSS.js → chunk-6WSTN5A3.js} +5 -5
  65. package/dist/{chunk-R5FFVK2W.js → chunk-72YFU346.js} +1 -1
  66. package/dist/{chunk-SDORX5C2.js → chunk-77FLITYM.js} +6 -6
  67. package/dist/{chunk-DIZW2GZP.js → chunk-7CFH6Y4T.js} +1 -1
  68. package/dist/{chunk-3UL7IB25.js → chunk-BI6ZLD4X.js} +7 -7
  69. package/dist/{chunk-X2U5XB7J.js → chunk-BMZSMXE6.js} +1 -1
  70. package/dist/chunk-BOBUSE33.js +2 -0
  71. package/dist/{chunk-VNYFGNHO.js → chunk-BRHIRE4D.js} +4 -4
  72. package/dist/{chunk-QZRH7L2E.js → chunk-BSNWVZHW.js} +1 -1
  73. package/dist/{chunk-74HUZZPT.js → chunk-BY2OWWKC.js} +1 -1
  74. package/dist/chunk-CRLSG5AY.js +9 -0
  75. package/dist/{chunk-F6YMKW5G.js → chunk-CZ25A5RS.js} +1 -1
  76. package/dist/{chunk-V4WNEJ63.js → chunk-D2AUUIKG.js} +1 -1
  77. package/dist/{chunk-RIGW3E5M.js → chunk-D7FT2PXG.js} +5 -5
  78. package/dist/{chunk-SSOLRTVS.js → chunk-DFDDRKIJ.js} +1 -1
  79. package/dist/{chunk-5EK4DFB5.js → chunk-DISSJYKV.js} +7 -7
  80. package/dist/{chunk-BUWOFJGM.js → chunk-DITCVBR7.js} +10 -10
  81. package/dist/chunk-DODH46ZQ.js +8 -0
  82. package/dist/{chunk-IMDLBXO3.js → chunk-DTSCO7VM.js} +1 -1
  83. package/dist/{chunk-ZY62UQI2.js → chunk-DZNG34DC.js} +19 -19
  84. package/dist/{chunk-YF7A3BWA.js → chunk-E5ALJIXV.js} +4 -4
  85. package/dist/chunk-E6UCGCOC.js +1 -0
  86. package/dist/{chunk-PZFETJAG.js → chunk-EJUR35JG.js} +1 -1
  87. package/dist/{chunk-DIW6WT5L.js → chunk-ERMZ75FO.js} +1 -1
  88. package/dist/{chunk-F3AROMIU.js → chunk-ETF7LAYZ.js} +6 -6
  89. package/dist/{chunk-F6YIUCIJ.js → chunk-EYKUKN32.js} +4 -4
  90. package/dist/{chunk-NYLXA2EG.js → chunk-EZ3BQ6PK.js} +7 -7
  91. package/dist/{chunk-SFWIYB4T.js → chunk-FL2PUQX7.js} +1 -1
  92. package/dist/{chunk-X7JK22X2.js → chunk-GATKJSGL.js} +5 -5
  93. package/dist/{chunk-56C5SEZ7.js → chunk-GIM2422N.js} +1 -1
  94. package/dist/{chunk-HLZZ5Q5E.js → chunk-GQACKEKW.js} +16 -16
  95. package/dist/{chunk-TCN7XUCY.js → chunk-GWIPZKZJ.js} +4 -4
  96. package/dist/chunk-H33Z4ZIY.js +11 -0
  97. package/dist/{chunk-GVNDUNQL.js → chunk-H3BC4KDE.js} +1 -1
  98. package/dist/{chunk-IUBWN3OA.js → chunk-HVX37PKU.js} +1 -1
  99. package/dist/chunk-I4VD5D43.js +8 -0
  100. package/dist/chunk-IFDW5QW6.js +2 -0
  101. package/dist/{chunk-OPFCLDVM.js → chunk-IHQX4GYD.js} +1 -1
  102. package/dist/{chunk-6PWLY2LQ.js → chunk-IZCODCSC.js} +1 -1
  103. package/dist/{chunk-KBLMTCTD.js → chunk-JEXXJK7H.js} +1 -1
  104. package/dist/{chunk-MRLQH2GZ.js → chunk-JNDBRSYZ.js} +2 -2
  105. package/dist/{chunk-ONEF47LG.js → chunk-JPP7UWQA.js} +3 -3
  106. package/dist/{chunk-TYZ4IY7F.js → chunk-JUGPTBMS.js} +2 -2
  107. package/dist/{chunk-SH6ZLK4K.js → chunk-JWIKHVF4.js} +8 -8
  108. package/dist/{chunk-L2JOLPJR.js → chunk-JYLVX2FW.js} +1 -1
  109. package/dist/{chunk-SO4WAMVA.js → chunk-K7KQDPLW.js} +5 -5
  110. package/dist/{chunk-5OGWWBJY.js → chunk-KDZUWQEG.js} +1 -1
  111. package/dist/{chunk-CJKDYVNE.js → chunk-KKSW5IZ7.js} +6 -6
  112. package/dist/{chunk-POMS7YQN.js → chunk-KZHPX4FM.js} +2 -2
  113. package/dist/{chunk-35VA5UFB.js → chunk-LK2SICMI.js} +1 -1
  114. package/dist/{chunk-3APQ5V6P.js → chunk-LLLAIPFX.js} +1 -1
  115. package/dist/{chunk-WBU7NZBP.js → chunk-M5P6A7KS.js} +1 -1
  116. package/dist/{chunk-52L6IBTN.js → chunk-MAOJENIB.js} +1 -1
  117. package/dist/{chunk-ZLGU4VYO.js → chunk-MEYYQC43.js} +5 -5
  118. package/dist/{chunk-7AINUMUA.js → chunk-MMFJBWJC.js} +1 -1
  119. package/dist/{chunk-MIZO6SQ3.js → chunk-MTXTJLFK.js} +2 -2
  120. package/dist/{chunk-BJKZYQFA.js → chunk-MXHEREC6.js} +3 -3
  121. package/dist/{chunk-BBYHBN3R.js → chunk-NHCRQ7SW.js} +1 -1
  122. package/dist/chunk-NID6MGGC.js +13 -0
  123. package/dist/{chunk-SLORZA7W.js → chunk-NMK4UQXZ.js} +12 -12
  124. package/dist/{chunk-QLAQ6ASB.js → chunk-NT26CWMZ.js} +5 -5
  125. package/dist/{chunk-GTKNEJ3X.js → chunk-NVE6L27I.js} +8 -8
  126. package/dist/{chunk-CQZEO4UV.js → chunk-NWP6IJYK.js} +9 -9
  127. package/dist/{chunk-AXQBQH55.js → chunk-OFOLUFNB.js} +15 -15
  128. package/dist/{chunk-LQHWFL5Y.js → chunk-OHVAD3NO.js} +2 -2
  129. package/dist/{chunk-IOESXYEI.js → chunk-OVVXSAGE.js} +8 -8
  130. package/dist/{chunk-Z4UKLPGE.js → chunk-PDXD6DT7.js} +1 -1
  131. package/dist/{chunk-ALYBCDHU.js → chunk-PNGL4ZW2.js} +6 -6
  132. package/dist/{chunk-2TBC254V.js → chunk-PNQ4EYYM.js} +3 -3
  133. package/dist/{chunk-JXGYIV44.js → chunk-PPFMXLEX.js} +9 -9
  134. package/dist/{chunk-IJICE6KT.js → chunk-Q3OCGLW7.js} +2 -2
  135. package/dist/{chunk-TSOBVLV5.js → chunk-QEV346OG.js} +1 -1
  136. package/dist/{chunk-D7AA5WE2.js → chunk-QFA5COE6.js} +1 -1
  137. package/dist/{chunk-ZI7P5YGF.js → chunk-QQCHLRKG.js} +1 -1
  138. package/dist/{chunk-XCHY6QVH.js → chunk-QQK3XS6H.js} +8 -8
  139. package/dist/{chunk-46M6AYFJ.js → chunk-R6DGLGB3.js} +1 -1
  140. package/dist/chunk-RGBX3EVC.js +11 -0
  141. package/dist/{chunk-GKTCCPME.js → chunk-RUQEB2ZC.js} +3 -3
  142. package/dist/{chunk-5LNFW5E4.js → chunk-RYBJ6MMM.js} +1 -1
  143. package/dist/{chunk-2RJKMYON.js → chunk-S7VSXUKS.js} +3 -3
  144. package/dist/{chunk-O3NLPJH2.js → chunk-SB7OTZI4.js} +19 -19
  145. package/dist/{chunk-5B73MLXV.js → chunk-SBHFEWR6.js} +1 -1
  146. package/dist/chunk-SG2MTCA2.js +100 -0
  147. package/dist/chunk-SXORVKIZ.js +9 -0
  148. package/dist/{chunk-CREVU3AF.js → chunk-TW7TA2AB.js} +1 -1
  149. package/dist/{chunk-JLPTSC66.js → chunk-TXS6JKFV.js} +1 -1
  150. package/dist/{chunk-DQB3ORB7.js → chunk-UB4BTRSB.js} +5 -5
  151. package/dist/{chunk-4ELYV3L6.js → chunk-UKB2I3UK.js} +1 -1
  152. package/dist/{chunk-XFIMTNUH.js → chunk-UVUBZL7K.js} +1 -1
  153. package/dist/{chunk-JGZLLQAN.js → chunk-UX6HNRFV.js} +7 -7
  154. package/dist/chunk-VTVOQS5L.js +20 -0
  155. package/dist/{chunk-V23TPYHO.js → chunk-VU6VPKM3.js} +6 -6
  156. package/dist/{chunk-WQKGBPOQ.js → chunk-WJ3XSJ6B.js} +1 -1
  157. package/dist/chunk-WSPO4N72.js +19 -0
  158. package/dist/{chunk-TJPPV7KZ.js → chunk-WTY3SXO7.js} +1 -1
  159. package/dist/{chunk-2IV4XF3Y.js → chunk-WYN5KVU4.js} +3 -3
  160. package/dist/chunk-X6PPP6NX.js +14 -0
  161. package/dist/{chunk-6DT7HG3F.js → chunk-XHBQPVNG.js} +1 -1
  162. package/dist/{chunk-5BBDUKQP.js → chunk-Y2D2YMFY.js} +12 -12
  163. package/dist/{chunk-ZVTOB4RE.js → chunk-Y4MI6NRI.js} +1 -1
  164. package/dist/{chunk-ZMLRNHMS.js → chunk-Y5T257HX.js} +3 -3
  165. package/dist/{chunk-FW2EEIDB.js → chunk-YCQVEJOT.js} +2 -2
  166. package/dist/{chunk-JACPHDTK.js → chunk-YDYDR72S.js} +1 -1
  167. package/dist/chunk-YSFLXPUS.js +7 -0
  168. package/dist/{chunk-BJEBOXTR.js → chunk-YW2DH6YQ.js} +3 -3
  169. package/dist/{chunk-U4QZIU7X.js → chunk-ZEKM6HAA.js} +2 -2
  170. package/dist/{chunk-352MVBF7.js → chunk-ZN3O2KJ7.js} +18 -18
  171. package/dist/chunk-ZNCU3UIW.js +8 -0
  172. package/dist/{chunk-FDENTKSM.js → chunk-ZNXBKFV7.js} +5 -5
  173. package/dist/{chunk-SRMRRJ5K.js → chunk-ZSRRV44J.js} +1 -1
  174. package/dist/{chunk-2JYQF3PJ.js → chunk-ZTB6EMC7.js} +1 -1
  175. package/dist/data/DataTable.js +1 -1
  176. package/dist/data/Kanban.js +1 -1
  177. package/dist/data/ListFooter.js +1 -1
  178. package/dist/data/ListLoadError.js +1 -1
  179. package/dist/data/Pagination.js +1 -1
  180. package/dist/file-intake/index.js +1 -1
  181. package/dist/forms/BorderInput.js +1 -1
  182. package/dist/forms/BrandAssetEditor.js +1 -1
  183. package/dist/forms/Calendar.js +1 -1
  184. package/dist/forms/ColorPicker.js +1 -1
  185. package/dist/forms/ComposerAttachments.js +1 -1
  186. package/dist/forms/CornersInput.js +1 -1
  187. package/dist/forms/DatePicker.js +1 -1
  188. package/dist/forms/DateRangePicker.js +1 -1
  189. package/dist/forms/DateTimePicker.js +1 -1
  190. package/dist/forms/DisplayChips.js +1 -1
  191. package/dist/forms/FilePicker.js +1 -1
  192. package/dist/forms/FormErrorSummary.js +1 -1
  193. package/dist/forms/IconPicker.js +1 -1
  194. package/dist/forms/ImageFocusPoint.js +1 -1
  195. package/dist/forms/InputNumber.js +1 -1
  196. package/dist/forms/LinkPicker.js +1 -1
  197. package/dist/forms/MediaLibrary.js +1 -1
  198. package/dist/forms/MediaUploadField.js +1 -1
  199. package/dist/forms/MediaUploadGrid.js +1 -1
  200. package/dist/forms/MediaUsedInList.js +1 -1
  201. package/dist/forms/NumericKeypad.js +1 -1
  202. package/dist/forms/PositionInput.js +1 -1
  203. package/dist/forms/Select.js +1 -1
  204. package/dist/forms/SidesInput.js +1 -1
  205. package/dist/forms/Slider.js +1 -1
  206. package/dist/forms/Snippet.js +1 -1
  207. package/dist/forms/TagInput.js +1 -1
  208. package/dist/forms/TextToolbar.js +1 -1
  209. package/dist/forms/TimePicker.js +1 -1
  210. package/dist/forms/WidthsBar.js +1 -1
  211. package/dist/forms/mediaLibraryMenu.js +1 -1
  212. package/dist/forms/mediaMoveItems.js +1 -1
  213. package/dist/forms/useFileIntake.js +1 -1
  214. package/dist/index.d.ts +18 -4
  215. package/dist/index.js +377 -377
  216. package/dist/locales/zh-Hans.js +1 -1
  217. package/dist/map/index.js +2 -2
  218. package/dist/page-tabs/index.js +5 -5
  219. package/dist/pdf/index.js +1 -1
  220. package/dist/shell/Accordion.js +1 -1
  221. package/dist/shell/AppUpdateBanner.js +1 -1
  222. package/dist/shell/Avatar.js +1 -1
  223. package/dist/shell/Banner.js +1 -1
  224. package/dist/shell/Breadcrumbs.js +1 -1
  225. package/dist/shell/BudgetBar.js +1 -1
  226. package/dist/shell/Card.js +1 -1
  227. package/dist/shell/ColoredBadge.js +1 -1
  228. package/dist/shell/ConfirmDialog.js +1 -1
  229. package/dist/shell/ContainerFillChart.js +1 -1
  230. package/dist/shell/CountBadge.js +1 -1
  231. package/dist/shell/Dialog.js +1 -1
  232. package/dist/shell/Drawer.js +1 -1
  233. package/dist/shell/EditableGrid.js +1 -1
  234. package/dist/shell/EmptyState.js +1 -1
  235. package/dist/shell/GlobalSearch.js +1 -1
  236. package/dist/shell/HelpCenter.js +1 -1
  237. package/dist/shell/IconRail.js +1 -1
  238. package/dist/shell/ImageLightbox.js +1 -1
  239. package/dist/shell/LanguageSelect.js +1 -1
  240. package/dist/shell/Markdown.js +1 -1
  241. package/dist/shell/MetricBar.js +1 -1
  242. package/dist/shell/MetricBarLegend.js +1 -1
  243. package/dist/shell/MilestoneTimeline.js +1 -1
  244. package/dist/shell/PageHeader.js +1 -1
  245. package/dist/shell/ProductionTimeline.js +1 -1
  246. package/dist/shell/ResizeHandle.js +1 -1
  247. package/dist/shell/Result.js +1 -1
  248. package/dist/shell/SearchableSelect.js +1 -1
  249. package/dist/shell/SettingReset.js +1 -1
  250. package/dist/shell/SettingRow.js +1 -1
  251. package/dist/shell/SidebarLayout.js +1 -1
  252. package/dist/shell/SidebarNav.js +1 -1
  253. package/dist/shell/SortableList.js +1 -1
  254. package/dist/shell/Statistic.js +1 -1
  255. package/dist/shell/TimeAgo.js +1 -1
  256. package/dist/shell/TimelineTrack.js +1 -1
  257. package/dist/shell/TransferProgress.js +1 -1
  258. package/dist/shell/Tree.js +1 -1
  259. package/dist/shell/language.js +1 -1
  260. package/dist/shell/strings.d.ts +5 -0
  261. package/dist/shell/strings.js +1 -1
  262. package/dist/shell/toast.js +1 -1
  263. package/dist/telemetry/index.js +1 -1
  264. package/dist/templates/AuthScreen.js +1 -1
  265. package/dist/templates/ChatTemplate.js +1 -1
  266. package/dist/templates/CheckoutTemplate.js +1 -1
  267. package/dist/templates/DashboardTemplate.js +1 -1
  268. package/dist/templates/DataTablePage.js +1 -1
  269. package/dist/templates/EmailTemplate.js +1 -1
  270. package/dist/templates/ErrorBoundary.js +1 -1
  271. package/dist/templates/ErrorPage.js +1 -1
  272. package/dist/templates/FormLayoutPage.js +1 -1
  273. package/dist/templates/GalleryTemplate.js +1 -1
  274. package/dist/{types-BOinJXUf.d.ts → types-ClT92-8Z.d.ts} +13 -1
  275. package/dist/ui/index.js +1 -1
  276. package/dist/version.js +1 -1
  277. package/package.json +1 -1
  278. package/dist/Calculator-DKZHOHOD.js +0 -29
  279. package/dist/PomodoroTimer-I423ZZOQ.js +0 -91
  280. package/dist/Sidebar-UVBEI4DQ.js +0 -43
  281. package/dist/chunk-6JCIQ7XL.js +0 -8
  282. package/dist/chunk-6UBBY54N.js +0 -2
  283. package/dist/chunk-B73YLHD2.js +0 -99
  284. package/dist/chunk-CPM3BQGV.js +0 -14
  285. package/dist/chunk-DSYIKLOK.js +0 -11
  286. package/dist/chunk-EUOFKZI3.js +0 -19
  287. package/dist/chunk-LVAGFIWK.js +0 -2
  288. package/dist/chunk-MWNZY33B.js +0 -13
  289. package/dist/chunk-NE42BDQX.js +0 -9
  290. package/dist/chunk-NHFLTKPK.js +0 -11
  291. package/dist/chunk-O5KDTFK5.js +0 -8
  292. package/dist/chunk-PMOGQHYX.js +0 -20
  293. package/dist/chunk-RPK3U2K2.js +0 -9
  294. package/dist/chunk-RPTQCFLR.js +0 -29
  295. package/dist/chunk-URFWJZTV.js +0 -7
  296. package/dist/chunk-VKMEQKYT.js +0 -1
  297. package/dist/chunk-W7NZKU27.js +0 -7
  298. package/dist/chunk-YPXVOPL4.js +0 -1
  299. package/dist/chunk-Z5TCGLCM.js +0 -8
@@ -1,43 +0,0 @@
1
- import{useAuth as e,parseOpenSections as t,readStored as a,RAIL_OPEN_SECTIONS_KEY as r,RAIL_WIDTH_KEY as n,toggleOpenSection as i,writeStored as l}from"./chunk-Y65MPP3M.js";import{ResizeHandle as o}from"./chunk-POMS7YQN.js";import{openGlobalSearch as s}from"./chunk-SO4WAMVA.js";import{partitionNav as c,flyoutGroups as d,visibleSectionItems as m,rowsContainRoute as h,visibleNavChildren as u}from"./chunk-WGRS6QBT.js";import{BrandMark as p}from"./chunk-MI67DI3H.js";import{IconButton_default as b}from"./chunk-4CANQ3B3.js";import{RAIL_MENU_GAP as g,navSections as f,startMenuCategories as y,TAB_STRIP_H as x,RAIL_COLLAPSED_INSET as k,RAIL_W as v,RAIL_MAX_W as N,RAIL_MIN_W as j,navIcons as C,sectionIcons as w}from"./chunk-CY5N5OA3.js";import"./chunk-5A7MWTXX.js";import"./chunk-PKXQDCNR.js";import{PopupMenu as S,PopupMenuItem as L,PopupMenuDivider as W,PopupMenuLabel as z}from"./chunk-O6JX6RDX.js";import"./chunk-5QFPTDQF.js";import"./chunk-QR4RM7PO.js";import"./chunk-K7U4RWXJ.js";import"./chunk-VH6GB73Q.js";import{Icon as M}from"./chunk-KIBL6M3T.js";import"./chunk-J75ZT2JQ.js";import"./chunk-Q5MD3VY6.js";import"./chunk-MRJKZWWV.js";import"./chunk-22S6LG6D.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-DTJRIWFR.js";import"./chunk-TWVUQUUD.js";import{useShellStrings as A}from"./chunk-VKMEQKYT.js";import"./chunk-C3QOHMR6.js";import{useMemo as $,useState as R,useRef as I,useEffect as T,isValidElement as K,cloneElement as Q}from"react";import{jsx as D,jsxs as H,Fragment as B}from"react/jsx-runtime";var J="undefined"!=typeof navigator&&/Mac|iPhone|iPad/.test(navigator.platform);function P(e,t,a){const r=Math.max(8,a-t.bottom);return{left:e+g,bottom:r,maxHeight:a-r-8,overflowY:"auto"}}var O=(e,t)=>["flex h-(--row-height-menu) w-full items-center gap-3 rounded-md px-3 text-left text-sm font-medium transition-colors",t?"justify-center px-0":"",e?"bg-gray-100 text-gray-900":"text-gray-600 hover:bg-gray-100 hover:text-gray-900"].join(" "),U="flex size-[18px] shrink-0 items-center justify-center [&>svg]:size-[18px]";function V({open:e}){/* @__PURE__ */
2
- return D(M,{name:"chevron-down",className:"size-4 shrink-0 transition-transform "+(e?"rotate-180":""),strokeWidth:2,"aria-hidden":"true"})}function X({dir:e}){/* @__PURE__ */
3
- return D(M,"left"===e?{name:"chevron-double-left",className:"size-[18px] shrink-0",strokeWidth:1.5,"aria-hidden":"true"}:{name:"chevron-double-right",className:"size-[18px] shrink-0",strokeWidth:1.5,"aria-hidden":"true"})}function Y({className:e}){/* @__PURE__ */
4
- return D(M,{name:"search",className:e,strokeWidth:2,"aria-hidden":"true"})}var _=e=>.75+1.75*e+"rem";function G({width:G,collapsed:F,onToggleCollapsed:E,onResize:Z,onHome:q,onOpen:ee,activeRoute:te,profile:ae,user:re,onLogout:ne,onSwitchToDesktop:ie,onReportBug:le,onClose:oe,navSections:se=f,navIcons:ce=C,sectionIcons:de=w,categories:me=y,productName:he,productIcon:ue,tagline:pe,adaptiveLogo:be=!1,logoHasAlpha:ge=null,logoIsLight:fe=null}){const ye=A().layout,{hasAnyPerm:xe}=e(),ke=$(()=>c(se,me,xe),[se,me,xe]),[ve,Ne]=R(()=>t(a(r))),je=e=>Ne(t=>{const a=i(t,e);return l(r,JSON.stringify([...a])),a}),[Ce,we]=R(null),[Se,Le]=R(!1),We=I(null);T(()=>{F||we(null)},[F]);const ze=(e,t)=>{we(null),e.onSelect?e.onSelect():ee(e.to,!!t&&(e=>e.metaKey||e.ctrlKey||1===e.button)(t))},Me=(e,t)=>{const a=t[e];/* @__PURE__ */
5
- return D("span",{className:U,"aria-hidden":"true",children:a&&K(a)?Q(a,{className:"size-[18px]"}):a})},Ae=(e,t)=>{const a=u(e,xe),r=e.menuLabel??e.label;if(a.length>0){const n=`child:${e.to}`,i=ve.has(n),l=!i&&h(a,te,xe);/* @__PURE__ */
6
- return H("div",{children:[
7
- /* @__PURE__ */H("button",{type:"button",onClick:()=>je(n),"aria-expanded":i,className:O(l,!1),style:t>0?{paddingLeft:_(t)}:void 0,children:[0===t&&Me(e.to,ce),
8
- /* @__PURE__ */D("span",{className:"min-w-0 flex-1 truncate",children:r}),
9
- /* @__PURE__ */D(V,{open:i})]}),i&&/* @__PURE__ */D("div",{className:"space-y-0.5 pt-0.5",children:a.map(e=>Ae(e,t+1))}),e.dividerAfter&&/* @__PURE__ */D("div",{className:"mx-2 my-2 border-t border-gray-200",style:{marginLeft:_(t)},"aria-hidden":"true"})]},e.to)}const n=e.to===te;/* @__PURE__ */
10
- return H("div",{children:[
11
- /* @__PURE__ */H("button",{type:"button",onClick:t=>ze(e,t),onAuxClick:t=>{1===t.button&&ze(e,t)},"aria-current":n?"page":void 0,className:O(n,!1),style:t>0?{paddingLeft:_(t)}:void 0,children:[0===t&&Me(e.to,ce),
12
- /* @__PURE__ */D("span",{className:"min-w-0 flex-1 truncate",children:r})]}),e.dividerAfter&&/* @__PURE__ */D("div",{className:"mx-2 my-2 border-t border-gray-200",style:{marginLeft:_(t)},"aria-hidden":"true"})]},e.to)},$e=(e,t)=>{const a=t?e.items:m(e,xe);if(0===a.length)return null;const r="icon"in e&&e.icon?/* @__PURE__ */D("span",{className:U,"aria-hidden":"true",children:e.icon}):Me(e.label,de),n=e.menuLabel??e.label,i=h(a,te,xe),l="dividerAfter"in e&&e.dividerAfter;if(F)/* @__PURE__ */
13
- return H("div",{children:[
14
- /* @__PURE__ */D("button",{type:"button",title:n,"aria-label":n,"aria-haspopup":"menu","aria-expanded":Ce?.label===e.label,onClick:t=>{const r=t.currentTarget.getBoundingClientRect();we(t=>t?.label===e.label?null:{label:e.label,items:a,top:r.top})},className:O(i||Ce?.label===e.label,!0),children:r}),l&&/* @__PURE__ */D("div",{className:"mx-2 my-2 border-t border-gray-200","aria-hidden":"true"})]},e.label);const o=ve.has(e.label),s=`rosh-rail-${e.label.replace(/[^a-z0-9]+/gi,"-").toLowerCase()}`;/* @__PURE__ */
15
- return H("div",{children:[
16
- /* @__PURE__ */H("button",{type:"button",onClick:()=>je(e.label),"aria-expanded":o,"aria-controls":s,className:O(!o&&i,!1),children:[r,
17
- /* @__PURE__ */D("span",{className:"min-w-0 flex-1 truncate",children:n}),
18
- /* @__PURE__ */D(V,{open:o})]}),
19
- /* @__PURE__ */D("div",{id:s,role:"group","aria-label":n,hidden:!o,className:"space-y-0.5 pt-0.5",children:o&&a.map(e=>Ae(e,1))}),l&&/* @__PURE__ */D("div",{className:"mx-2 my-2 border-t border-gray-200","aria-hidden":"true"})]},e.label)},Re=ae?.first_name?`${ae.first_name} ${ae.last_name||""}`.trim():re?.email||"",Ie=(ae?.first_name?.charAt(0)||re?.email?.charAt(0)||"?").toUpperCase(),Te=ae?.avatar_url?/* @__PURE__ */D("img",{src:ae.avatar_url,alt:"",className:"size-8 shrink-0 rounded-full object-cover"}):/* @__PURE__ */D("span",{className:"flex size-8 shrink-0 items-center justify-center rounded-full bg-blue-600 text-xs font-semibold text-white",children:Ie}),Ke=Se?We.current?.getBoundingClientRect():void 0,Qe=F?"":"px-3",De=F?{paddingInline:k}:void 0,He=`${F?ye.expandSidebar:ye.collapseSidebar} (${J?"⌘":"Ctrl"} .)`,Be=q?{run:q,label:ye.goHome,title:ye.goHome}:oe?null:{run:E,label:F?ye.expandSidebar:ye.collapseSidebar,title:He},Je=/* @__PURE__ */H(B,{children:[ue&&/* @__PURE__ */D(p,{src:ue,alt:"",slot:"compact",surface:"light",adaptive:be,hasAlpha:ge,isLight:fe,size:28,decorative:!0}),!F&&/* @__PURE__ */H("span",{className:"min-w-0 text-left leading-tight",children:[
20
- /* @__PURE__ */D("span",{className:"block truncate text-base font-bold tracking-wide text-gray-900",children:he??"Apps"}),pe&&/* @__PURE__ */D("span",{className:"block truncate text-2xs font-medium text-gray-500",children:pe})]})]}),Pe=ke.erpSections.length>0||ke.systemSections.length>0||ke.virtualSections.length>0;/* @__PURE__ */
21
- return H("aside",{"aria-label":ye.navLabel,className:"fixed left-0 top-0 z-(--z-sidebar) flex h-dvh flex-col border-r border-gray-200 bg-white text-gray-800",style:{width:G},children:[
22
- /* @__PURE__ */H("div",{className:"flex shrink-0 items-center border-b border-gray-200 "+(F?"justify-center":"justify-between gap-2 pl-4 pr-2"),style:{height:x},children:[Be?/* @__PURE__ */D("button",{type:"button",onClick:Be.run,"aria-label":Be.label,title:Be.title,className:"flex min-w-0 items-center gap-2 rounded-md transition-colors hover:bg-gray-100 "+(F?"justify-center p-0.5":"-ml-1 p-1"),children:Je}):/* @__PURE__ */D("span",{className:"flex min-w-0 items-center gap-2",children:Je}),oe?/* @__PURE__ */D(b,{onClick:oe,"aria-label":ye.closeMenu,children:/* @__PURE__ */D(M,{name:"close",className:"size-[18px]",strokeWidth:1.5,"aria-hidden":"true"})}):!F&&/* @__PURE__ */D("button",{type:"button",onClick:E,"aria-label":ye.collapseSidebar,title:`${ye.collapseSidebar} (${J?"⌘":"Ctrl"} .)`,className:"flex size-8 shrink-0 items-center justify-center rounded-md text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-900",children:/* @__PURE__ */D(X,{dir:"left"})})]}),
23
- /* @__PURE__ */D("div",{className:`shrink-0 pt-3 ${Qe}`,style:De,children:F?/* @__PURE__ */D("button",{type:"button",onClick:s,"aria-label":ye.search,title:`${ye.search} (${J?"⌘K":"Ctrl K"})`,className:O(!1,!0),children:/* @__PURE__ */D(Y,{className:"size-[18px] shrink-0"})}):/* @__PURE__ */H("button",{type:"button",onClick:s,className:"flex h-(--row-height-menu) w-full items-center gap-2 rounded-md border border-gray-200 bg-white px-3 text-left transition-colors hover:bg-gray-100",children:[
24
- /* @__PURE__ */D(Y,{className:"size-3.5 text-gray-500"}),
25
- /* @__PURE__ */D("span",{className:"min-w-0 flex-1 truncate text-sm text-gray-500",children:ye.search}),
26
- /* @__PURE__ */D("kbd",{className:"rounded border border-gray-200 bg-gray-100 px-2 py-0.5 font-mono text-2xs font-semibold text-gray-500",children:J?"⌘K":"Ctrl K"})]})}),
27
- /* @__PURE__ */H("nav",{"aria-label":ye.navLabel,className:`min-h-0 flex-1 overflow-y-auto pb-4 pt-3 ${Qe} ${F?"space-y-1":"space-y-0.5"}`,style:De,children:[F&&/* @__PURE__ */D("button",{type:"button",onClick:E,"aria-label":ye.expandSidebar,title:`${ye.expandSidebar} (${J?"⌘":"Ctrl"} .)`,className:`${O(!1,!0)} mb-3`,children:/* @__PURE__ */D(X,{dir:"right"})}),ke.topItems.map(e=>{if(!F)return Ae(e,0);const t=u(e,xe),a=e.to===te||h(t,te,xe),r=e.menuLabel??e.label;/* @__PURE__ */
28
- return H("div",{children:[
29
- /* @__PURE__ */D("button",{type:"button",title:r,"aria-label":r,onClick:a=>{if(0===t.length)return void ze(e,a);const r=a.currentTarget.getBoundingClientRect();we(a=>a?.label===e.to?null:{label:e.to,items:t,top:r.top})},className:O(a,!0),children:Me(e.to,ce)}),e.dividerAfter&&/* @__PURE__ */D("div",{className:"mx-2 my-2 border-t border-gray-200","aria-hidden":"true"})]},e.to)}),ke.topItems.length>0&&Pe&&!ke.topItems[ke.topItems.length-1].dividerAfter&&/* @__PURE__ */D("div",{className:"mx-2 my-2 border-t border-gray-200","aria-hidden":"true"}),ke.erpSections.map(e=>$e(e,!1)),ke.systemSections.map(e=>$e(e,!1)),ke.virtualSections.map(e=>$e(e,!0)),ke.footerSections.length>0&&/* @__PURE__ */D("div",{className:"mx-2 my-2 border-t border-gray-200","aria-hidden":"true"}),ke.footerSections.map(e=>$e(e,!1))]}),
30
- /* @__PURE__ */D("div",{className:`shrink-0 border-t border-gray-200 py-2 ${Qe}`,style:De,children:/* @__PURE__ */H("button",{ref:We,type:"button",onClick:()=>Le(e=>!e),"aria-haspopup":"menu","aria-expanded":Se,"aria-label":F?ye.accountMenu(Re):void 0,className:"flex w-full items-center gap-3 rounded-md hover:bg-gray-100 "+(F?"justify-center py-2":"px-2 py-2"),children:[Te,!F&&/* @__PURE__ */H("span",{className:"min-w-0 flex-1 text-left",children:[
31
- /* @__PURE__ */D("span",{className:"block truncate text-sm font-semibold text-gray-800",children:Re}),re?.email&&Re!==re.email&&/* @__PURE__ */D("span",{className:"block truncate text-2xs text-gray-500",children:re.email})]})]})}),Z&&!F&&!oe&&/* @__PURE__ */D(o,{side:"left",width:G,onResize:Z,min:j,max:N,defaultWidth:v,storageKey:n,label:ye.resizeSidebar}),Se&&Ke&&/* @__PURE__ */H(S,{portal:!0,minWidth:224,onClose:()=>Le(!1),style:P(G,Ke,window.innerHeight),children:[F&&/* @__PURE__ */H("div",{className:"border-b border-gray-200 px-3 py-3",children:[
32
- /* @__PURE__ */D("p",{className:"truncate text-sm font-semibold text-gray-800",children:Re}),re?.email&&/* @__PURE__ */D("p",{className:"truncate text-xs text-gray-500",children:re.email})]}),
33
- /* @__PURE__ */H(L,{onClick:()=>{Le(!1),ee("/profile",!1)},children:[
34
- /* @__PURE__ */D(M,{name:"account",className:"h-4 w-4",strokeWidth:1.5,"aria-hidden":"true"}),ye.profile]}),ke.footerItems.map(e=>/* @__PURE__ */H(L,{onClick:()=>{Le(!1),ze(e)},children:[
35
- /* @__PURE__ */D("span",{className:"h-4 w-4 [&>svg]:size-4","aria-hidden":"true",children:ce[e.to]}),e.menuLabel??e.label]},e.to)),le&&/* @__PURE__ */H(L,{onClick:()=>{Le(!1),le()},children:[
36
- /* @__PURE__ */D(M,{name:"error",className:"h-4 w-4",strokeWidth:1.5,"aria-hidden":"true"}),ye.reportIssue]}),
37
- /* @__PURE__ */D(W,{}),ie&&/* @__PURE__ */H(B,{children:[
38
- /* @__PURE__ */H(L,{onClick:()=>{Le(!1),ie()},children:[
39
- /* @__PURE__ */D(M,{name:"desktop",className:"h-4 w-4",strokeWidth:1.5,"aria-hidden":"true"}),ye.switchToDesktop]}),
40
- /* @__PURE__ */D(W,{})]}),
41
- /* @__PURE__ */H(L,{danger:!0,onClick:()=>{Le(!1),ne()},children:[
42
- /* @__PURE__ */D(M,{name:"logout",className:"h-4 w-4",strokeWidth:1.5,"aria-hidden":"true"}),ye.signOut]})]}),Ce&&F&&/* @__PURE__ */D(S,{portal:!0,minWidth:220,onClose:()=>we(null),style:{left:G+g,top:Math.min(Ce.top,window.innerHeight-48*Math.min(Ce.items.length,10)-16)},children:d(Ce.items,xe).map((e,t)=>/* @__PURE__ */H("div",{role:e.heading?"group":void 0,"aria-label":e.heading?e.heading.menuLabel??e.heading.label:void 0,children:[t>0&&/* @__PURE__ */D(W,{}),e.heading&&/* @__PURE__ */D(z,{children:e.heading.menuLabel??e.heading.label}),e.items.map(e=>/* @__PURE__ */H(L,{onClick:()=>ze(e),children:[Me(e.to,ce),
43
- /* @__PURE__ */D("span",{className:e.to===te?"font-semibold":"",children:e.menuLabel??e.label})]},e.to))]},e.heading?.to??`run-${t}`))})]})}export{P as accountMenuPosition,G as default};
@@ -1,8 +0,0 @@
1
- import{ChartTooltip as e}from"./chunk-P5BOTIJU.js";import{axisGutter as t,radiusScale as i,niceMax as l,logScale as r,linearScale as o}from"./chunk-2JWPNR2U.js";import{usePlotWidth as n}from"./chunk-MAFUXCPZ.js";import{registerModalEscapeInterceptor as a}from"./chunk-TWVUQUUD.js";import{CHART_INK as s,resolveSeriesColorWithin as c}from"./chunk-TZFACUMR.js";import{useShellStrings as m,useShellLocale as h}from"./chunk-VKMEQKYT.js";import{formatPlain as f}from"./chunk-C3QOHMR6.js";import{useRef as u,useId as p,useState as d,useEffect as x}from"react";import{jsx as y,jsxs as g}from"react/jsx-runtime";var b=3;function k({series:b,height:k=260,width:v,xLabel:M,yLabel:A,formatX:z,formatY:$,xDomain:j,yDomain:w,xScale:N="linear",yScale:R="linear",radiusRange:U=[4,22],className:S,emptyLabel:D}){const L=m().charts,P=h(),E=z??(e=>f(e,P)),O=$??(e=>f(e,P)),T=D??L.noObservations,V=u(null),W=n(V),B=v??W,C=p(),[I,K]=d(null);x(()=>{if(null!==I)return a(e=>"Escape"===e.key&&(K(null),!0))},[I]);const Q=(e,t)=>!t||e>=Math.min(t[0],t[1])&&e<=Math.max(t[0],t[1]),F=b.map((e,t)=>({...e,slot:t})).filter(e=>e.points.length>0),J=j||w?F.map(e=>({...e,points:e.points.filter(e=>Q(e.x,j)&&Q(e.y,w))})).filter(e=>e.points.length>0):F,X=F.reduce((e,t)=>e+t.points.length,0)-J.reduce((e,t)=>e+t.points.length,0);if(0===J.length)/* @__PURE__ */
2
- return y("div",{className:S,ref:V,children:/* @__PURE__ */y("p",{className:"flex items-center justify-center text-sm text-gray-500",style:{height:k},children:T})});const Y=J.flatMap(e=>e.points),Z=Y.some(e=>null!=e.size),H=14,q=20,G=34,_=52,ee=(e,t,i,n)=>{const a=e.filter(e=>e>0),s="log"===i?a.length>0?Math.min(...a):0:Math.min(0,...e),c=t??[s,l(Math.max(...e))];return"log"===i?r(c,n):o(c,n)},te=ee(Y.map(e=>e.y),w,R,{from:k-G,to:H}),ie=t(te.ticks(5).map(O),_),le=Math.max(ie+1,B-q),re=ee(Y.map(e=>e.x),j,N,{from:ie,to:le}),oe=i([0,Math.max(...Y.map(e=>e.size??1))],{from:U[0],to:U[1]}),ne=I?J[I.s]:void 0,ae=I&&ne?ne.points[I.i]:void 0,se=J.flatMap((e,t)=>e.points.map((e,i)=>({s:t,i:i})));/* @__PURE__ */
3
- return g("div",{className:`relative ${S??""}`,ref:V,children:[
4
- /* @__PURE__ */g("svg",{width:"100%",height:k,viewBox:`0 0 ${B} ${k}`,role:"img","aria-label":L.scatter(J.map(e=>e.label),A??L.yAxis,M??L.xAxis)+(X>0?`. ${L.outsideRange(X)}`:""),tabIndex:0,className:"rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-deep)]",onMouseLeave:()=>K(null),onBlur:()=>K(null),onKeyDown:e=>{if("ArrowRight"!==e.key&&"ArrowLeft"!==e.key)return;e.preventDefault();const t="ArrowRight"===e.key?1:-1,i=I?se.findIndex(e=>e.s===I.s&&e.i===I.i):0;K(se[Math.min(se.length-1,Math.max(0,i+t))])},children:[
5
- /* @__PURE__ */y("defs",{children:/* @__PURE__ */y("clipPath",{id:C,children:/* @__PURE__ */y("rect",{x:ie-U[1],y:H-U[1],width:le-ie+2*U[1],height:k-G-H+2*U[1]})})}),te.ticks(5).map(e=>/* @__PURE__ */g("g",{children:[
6
- /* @__PURE__ */y("line",{x1:ie,y1:te(e),x2:le,y2:te(e),stroke:s.grid,strokeWidth:1,shapeRendering:"crispEdges"}),
7
- /* @__PURE__ */y("text",{x:ie-8,y:te(e)+4,textAnchor:"end",fontSize:11,fill:s.label,style:{fontVariantNumeric:"tabular-nums"},children:O(e)})]},`y${e}`)),re.ticks(5).map(e=>/* @__PURE__ */y("text",{x:re(e),y:k-12,textAnchor:"middle",fontSize:11,fill:s.label,style:{fontVariantNumeric:"tabular-nums"},children:E(e)},`x${e}`)),M&&/* @__PURE__ */y("text",{x:(ie+le)/2,y:k-.5,textAnchor:"middle",fontSize:11,fill:s.label,children:M}),A&&/* @__PURE__ */y("text",{x:12,y:k/2,transform:`rotate(-90 12 ${k/2})`,textAnchor:"middle",fontSize:11,fill:s.label,children:A}),
8
- /* @__PURE__ */y("g",{clipPath:`url(#${C})`,children:J.map((e,t)=>{const i=c(e.slot,3,e.color,e.tone);return e.points.map((l,r)=>/* @__PURE__ */y("circle",{cx:re(l.x),cy:te(l.y),r:Z?oe(l.size??0):U[0]+1,fill:i,fillOpacity:I&&I.s!==t?.25:.62,stroke:s.surface,strokeWidth:2,onMouseEnter:()=>K({s:t,i:r})},`${e.key}-${r}`))})})]}),I&&ne&&ae&&/* @__PURE__ */y("div",{className:"pointer-events-none absolute top-2 left-2 z-10",children:/* @__PURE__ */y(e,{title:ae.label??ne.label,rows:[{key:"x",label:M??L.xAxis,color:c(ne.slot,3,ne.color,ne.tone),value:E(ae.x)},{key:"y",label:A??L.yAxis,color:c(ne.slot,3,ne.color,ne.tone),value:O(ae.y)},...null!=ae.size?[{key:"size",label:L.size,color:s.muted,value:f(ae.size,P)}]:[]],footnote:ae.label?ne.label:void 0})})]})}export{b as SCATTER_SERIES_CAP,k as ScatterChart};
@@ -1,2 +0,0 @@
1
- import{ChartTooltip as t}from"./chunk-P5BOTIJU.js";import{CartesianPlot as o}from"./chunk-O5KDTFK5.js";import{binValues as r}from"./chunk-2JWPNR2U.js";import{resolveSeriesColor as a}from"./chunk-TZFACUMR.js";import{useShellStrings as e,useShellLocale as i}from"./chunk-VKMEQKYT.js";import{formatPlain as m,formatFixed as n}from"./chunk-C3QOHMR6.js";import{jsx as l}from"react/jsx-runtime";function c({values:c,bins:s=10,precomputed:h,height:u=220,width:p,color:b,tone:f,formatBound:d,formatCount:x,yAxisLabel:g,label:k,className:y,emptyLabel:j}){const v=e().charts,w=i(),A=d??(t=>Number.isInteger(t)?m(t,w):n(t,1,w)),L=x??(t=>m(t,w)),M=g??v.countAxis,T=k??v.distribution,K=h??r(c??[],s),N=a(0,b,f),O=K.map(t=>A(t.from)),C=K.map(t=>t.count);/* @__PURE__ */
2
- return l(o,{labels:O,values:C,height:u,width:p,bandPadding:0,xTickAnchor:"start",formatValue:L,yAxisLabel:M,className:y,emptyLabel:j,ariaLabel:v.histogram(T,K.length,(c??[]).length),tooltip:o=>/* @__PURE__ */l(t,{title:`${A(K[o].from)} – ${A(K[o].to)}`,rows:[{key:"count",label:v.observations,color:N,value:L(K[o].count)}]}),children:({x:t,y:o,bottom:r,active:a})=>/* @__PURE__ */l("g",{children:K.map((e,i)=>/* @__PURE__ */l("rect",{x:t(i)+.5,y:o(e.count),width:Math.max(1,t.bandwidth-1),height:Math.max(0,r-o(e.count)),fill:N,fillOpacity:null===a||a===i?.85:.42},i))})})}export{c as HistogramChart};
@@ -1,99 +0,0 @@
1
- import{computeMaximizedBox as e,isSidebarStripReserved as t,boxFillsWorkArea as n,readAlwaysMaximizedFlag as r,WORK_AREA_CHANGED_EVENT as o,useShellAuth as i,scrollerIsFluid as a,growBoxToWidth as s,widthToFit as l,navIcons as c}from"./chunk-CY5N5OA3.js";import{ROW_HEIGHTS as u}from"./chunk-AW7TOB6N.js";import{isStaleChunkError as d}from"./chunk-JDCM2VHG.js";import{reportBoundaryError as h}from"./chunk-KNUR2UEG.js";import{Result as m}from"./chunk-IUBWN3OA.js";import{CMD_Z as p,CMD_SHIFT_Z as f}from"./chunk-Y53KNQKL.js";import{CopyButton as w}from"./chunk-SFWIYB4T.js";import{confirm as y}from"./chunk-352MVBF7.js";import{useShellPrefs as g}from"./chunk-KC3EX26K.js";import{dialogA11y as b}from"./chunk-VWGWZY7A.js";import{PopupMenu as v,PopupMenuItem as x,PopupMenuDivider as k,PopupMenuLabel as E}from"./chunk-O6JX6RDX.js";import{ColoredBadge as C}from"./chunk-74HUZZPT.js";import{useIsMobile as M,useIsPhone as N}from"./chunk-UGTRSRIW.js";import{StatusBadge as S}from"./chunk-D323R2FT.js";import{focusableIn as L}from"./chunk-CDAJKLGL.js";import{Button_default as T}from"./chunk-4IU5BSVE.js";import{Icon as z}from"./chunk-KIBL6M3T.js";import{LoadingSpinner as A}from"./chunk-Q5MD3VY6.js";import{Z_LAYERS as D}from"./chunk-62LW225J.js";import{runEscapeInterceptors as I}from"./chunk-TWVUQUUD.js";import{useShellStrings as P}from"./chunk-VKMEQKYT.js";import{createContext as W,useContext as K,Component as $,useLayoutEffect as R,useRef as O,useEffect as F,useState as j,useSyncExternalStore as q,useCallback as B,isValidElement as H,Fragment as U,Children as Y,cloneElement as X,useMemo as V,useId as _,useReducer as G,Suspense as J}from"react";import{jsxs as Q,jsx as Z,Fragment as ee}from"react/jsx-runtime";import{createPortal as te}from"react-dom";import{useLocation as ne}from"react-router-dom";import{useQueryClient as re,useQuery as oe}from"@tanstack/react-query";function ie(e){return"component"in e}function ae(e){return"endpoint"in e}var se={};function le(e){se=e}var ce=new Proxy({},{get:(e,t)=>se[t],has:(e,t)=>t in se,ownKeys:()=>Object.keys(se),getOwnPropertyDescriptor(e,t){if(t in se)return{configurable:!0,enumerable:!0,value:se[t]}}}),ue=null;function de(e){ue=e}function he(){return null!==ue}var me=/* @__PURE__ */new Set(["get","post","put","patch","delete","head","options","request"]),pe=new Proxy({},{get:(e,t)=>ue?ue[t]:"string"==typeof t&&me.has(t)?()=>Promise.resolve({data:null,status:0,statusText:"",headers:{},config:{}}):void 0}),fe=W(null);function we(){return K(fe)?.pageSearch??""}var ye=null,ge=/* @__PURE__ */new Set;function be(e){ye!==e&&(ye=e,ge.forEach(e=>e()))}function ve(){return ye}function xe(e){return ge.add(e),()=>{ge.delete(e)}}var ke=null;function Ee(e){ke=e}function Ce({error:e,onReload:t}){const n=d(e);/* @__PURE__ */
2
- return Q("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 px-6 py-12 text-center",children:[
3
- /* @__PURE__ */Z(z,{name:"warning",className:"h-8 w-8 text-amber-500",strokeWidth:1.5}),
4
- /* @__PURE__ */Q("div",{className:"min-w-0",children:[
5
- /* @__PURE__ */Z("p",{className:"text-sm font-medium text-gray-700",children:n?"This window needs the latest version of the app":"This window crashed"}),
6
- /* @__PURE__ */Z("p",{className:"mt-1 text-xs text-gray-400 max-w-sm break-words",children:n?"A new version was deployed while this tab was open. Reload the page to pick it up.":e.message||String(e)})]}),
7
- /* @__PURE__ */Z("button",{type:"button",onClick:n?()=>window.location.reload():t,className:"bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 text-sm font-medium rounded-lg",children:n?"Reload page":"Reload window"})]})}var Me=class extends ${state={error:null};static getDerivedStateFromError(e){return{error:e instanceof Error?e:new Error(String(e))}}componentDidCatch(e,t){console.error("[efficient-shell] window content crashed:",e,t.componentStack),h(e)}reset=()=>this.setState({error:null});render(){const{error:e}=this.state;return e?this.props.fallback?this.props.fallback(e,this.reset):/* @__PURE__ */Z(Ce,{error:e,onReload:this.reset}):this.props.children}},Ne=W(null),Se="text-xs text-gray-500 hover:text-gray-700 disabled:opacity-40 disabled:hover:text-gray-500 disabled:cursor-default";function Le({className:e="",auto:t=!1}){const n=K(Ne),r=P().undo,o=n?.claimOwnMount;if(R(()=>{if(!t&&o)return o(!0),()=>o(!1)},[t,o]),!n||!n.enabled)return null;const{undo:i,redo:a,canUndo:s,canRedo:l,undoLabel:c,redoLabel:u}=n;/* @__PURE__ */
8
- return Q("div",{className:`flex items-center gap-2 ${e}`,"data-undo-controls":t?"shell":"form",children:[
9
- /* @__PURE__ */Z("button",{type:"button",onClick:i,disabled:!s,title:s?r.undoStep(c??"",p):r.nothingToUndo,className:Se,children:r.undo}),
10
- /* @__PURE__ */Z("button",{type:"button",onClick:a,disabled:!l,title:l?r.redoStep(u??"",f):r.nothingToRedo,className:Se,children:r.redo})]})}var Te=/* @__PURE__ */new Set([408,429]);function ze(e){const t=e?.response?.status;return"number"==typeof t?t:void 0}function Ae(e){const t=ze(e);return null!=t&&(t>=400&&t<500&&!Te.has(t))}function De(e,t){return!Ae(t)&&e<3}function Ie(e){if("page"!==e.type)return!0;const t=e.route?ce[e.route]:void 0;if(!t||!ie(t))return!0;const n=t;return!n.widget&&!n.utility}function Pe(e){const t=e.route?ce[e.route]:void 0;if(!t||!ie(t))return;const n=t;return n.taskbarGroup?n.taskbarGroup:{key:e.route,label:n.label,icon:e.route}}var We=(e,t)=>!!t&&"page"===e.type&&e.route===t;function Ke(){const e=P().loading;/* @__PURE__ */
11
- return Z(A,{size:"sm",padding:"p-8",label:e.label})}var $e="flex-1 min-h-0";function Re(){const e=P().record;/* @__PURE__ */
12
- return Z(A,{label:e.loading,padding:"",className:$e})}function Oe(e){return e??void 0}function Fe({isPending:e,isFetching:t,enabled:n=!0,error:r,onRetry:o}){const i=P().record;if(t||e&&n)/* @__PURE__ */return Z(Re,{});if(r){const e=ze(r);if(401===e)/* @__PURE__ */
13
- return Z(m,{status:"warning",title:i.signInRequired,subTitle:i.signInBody,className:$e});if(403===e)/* @__PURE__ */
14
- return Z(m,{status:"403",className:$e});if(404===e||410===e)/* @__PURE__ */
15
- return Z(m,{status:"404",title:i.notFound,className:$e});const t=null==e||408===e||429===e||e>=500;/* @__PURE__ */
16
- return Z(m,{status:"500",title:i.loadFailed,subTitle:t?i.checkConnection:i.rejected,extra:t?/* @__PURE__ */Z(T,{variant:"secondary",size:"sm",onClick:o,children:i.retry}):void 0,className:$e})}/* @__PURE__ */
17
- return Z(m,{status:"404",title:i.notFound,className:$e})}function je({entity:e,children:t,...n}){return null!=e?/* @__PURE__ */Z(ee,{children:t(e)}):/* @__PURE__ */Z(Fe,{...n})}var qe=/^[a-z]+(?:-[a-z]+)*-\d{13}$/;function Be(e){return"string"==typeof e&&(e.startsWith("new-")||qe.test(e))}function He(e){if(Be(e.entityId))return!0;const t=e.entitySnapshot;return!(!t||"object"!=typeof t||!t._new&&!t._duplicate)}var Ue=W({openWindows:[],openEntity:()=>{},openPage:()=>{},reorderWindows:()=>{},closeEntity:()=>{},minimize:()=>{},items:[],restore:()=>{},remove:()=>{},restoreIfMinimized:()=>!1,openItems:[]}),Ye=W(null);function Xe(e){const t=K(Ye),n=O(null);null===n.current&&(n.current=/* @__PURE__ */Symbol("window-dirty")),R(()=>{if(t)return t(n.current,e)},[t,e]),F(()=>{if(!t||!e)return;const n=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",n),()=>window.removeEventListener("beforeunload",n)},[t,e])}function Ve(){const e=O(/* @__PURE__ */new Map),[t,n]=j(!1);return{dirty:t,registerDirty:B((t,r)=>{const o=()=>{const t=Array.from(e.current.values()).some(Boolean);n(e=>e===t?e:t)};return e.current.set(t,r),o(),()=>{e.current.delete(t),o()}},[])}}function _e(){return K(Ue)}function Ge(e){if("page"!==e.type&&He(e))return null;const t="page"===e.type?"page":e.entityType||"",n="page"===e.type?e.route||"":e.entityId||"";return t&&n?{entityType:t,entityId:n,label:e.label}:null}function Je({item:e,onClose:t,accentRgb:n}){const{dirty:r,registerDirty:o}=Ve(),i=ce[e.route];if(!i||!ie(i))return null;const a=i,s=a.component;/* @__PURE__ */
18
- return Z(Yr,{open:!0,onClose:t,icon:c[e.route],title:a.label,size:a.size||"2xl",dirty:r,allowPinOnTop:a.allowPinOnTop,initialPosition:a.initialPosition,widget:a.widget,compact:a.compact,appStyle:a.appStyle,flushBody:a.flushBody,autoHeight:a.autoHeight,autoMinHeight:a.autoMinHeight,autoWidth:a.autoWidth,dimensions:a.dimensions,windowKey:e.id,openedFromKey:e.openedFrom,accentRgb:n,children:/* @__PURE__ */Z(Ye.Provider,{value:o,children:/* @__PURE__ */Z(J,{fallback:/* @__PURE__ */Z("div",{className:"flex items-center justify-center py-12",children:/* @__PURE__ */Z(Ke,{})}),children:/* @__PURE__ */Z(s,{})})})})}function Qe({entityType:e,entityId:t,label:n}){const r=P(),o=re(),{data:i}=oe({queryKey:["my-profile-sidebar"],enabled:he(),queryFn:()=>pe.get("/auth/me/").then(e=>e.data)}),a=(i?.preferences||{}).favorite_documents||[],s=a.some(n=>n.entityType===e&&n.entityId===t);/* @__PURE__ */
19
- return Z("button",{onClick:()=>{const r=s?a.filter(n=>!(n.entityType===e&&n.entityId===t)):[...a,{entityType:e,entityId:t,label:n}];pe.patch("/auth/me/",{preferences:{favorite_documents:r}}).then(()=>{o.invalidateQueries({queryKey:["my-profile-sidebar"]})})},title:s?r.taskbar.removeFromDesktop:r.taskbar.addToDesktop,className:"shrink-0 transition-colors "+(s?"text-yellow-500 hover:text-yellow-600":"text-gray-300 hover:text-yellow-400"),children:/* @__PURE__ */Z(z,{name:"star",className:"h-4 w-4",fill:s?"currentColor":"none",strokeWidth:1.5})})}var Ze=/* @__PURE__ */new Set;function et({item:e,onClose:t,onMinimize:n,accentRgb:r}){const o=ce[e.entityType];if(!o||!ae(o))return null;const i=o,[a,s]=j(!1),{dirty:l,registerDirty:u}=Ve(),d=i.queryKey||i.endpoint.replace(/^\/|\/$/g,"").split("/").pop()||e.entityType,h=e.entitySnapshot?._duplicate,m=Be(e.entityId),p=!i.selfFetching&&!h&&!m&&he(),f=oe({queryKey:[d,e.entityId],queryFn:()=>{return pe.get((t=i.endpoint,n=String(e.entityId),`${t}${encodeURIComponent(n)}/`)).then(e=>e.data);var t,n},initialData:Oe(e.entitySnapshot),initialDataUpdatedAt:0,enabled:p,staleTime:0,refetchOnWindowFocus:!0,refetchOnMount:"always",refetchInterval:e=>!Ae(e.state.error)&&6e4,refetchIntervalInBackground:!1,retry:De}),w=f.data,y=f.refetch;F(()=>{var t;if(p)return t=t=>{t!==e.id||Ze.has(t)||y({cancelRefetch:!1})},Gn.add(t),()=>{Gn.delete(t)}},[y,e.id,p]);const g=B(()=>{a&&!l?s(!1):t()},[a,l,t]),b=i.selfFetching?e.label:w?i.title(w,a,s):e.label,v=i.icon,x=v?c[v]:null,k=b,E=!i.selfFetching&&w&&i.footer&&!h?i.footer(w):void 0;return i.rendersOwnModal?i.selfFetching?/* @__PURE__ */Z(J,{fallback:/* @__PURE__ */Z(Ke,{}),children:i.render(w??e.entitySnapshot,t,e.entityId,a,s)}):null!=w?/* @__PURE__ */Z(J,{fallback:/* @__PURE__ */Z(Yr,{open:!0,onClose:t,title:e.label,size:i.size||"2xl",children:/* @__PURE__ */Z(Re,{})}),children:i.render(w,t,e.entityId,a,s)}):/* @__PURE__ */Z(Yr,{open:!0,onClose:t,title:e.label,size:i.size||"2xl",children:/* @__PURE__ */Z(Fe,{isPending:f.isPending,isFetching:f.isFetching,enabled:p,error:f.error,onRetry:y})}):/* @__PURE__ */Z(Yr,{open:!0,onClose:g,onMinimize:n,initialBox:e.savedBox,icon:x,title:k,footer:E,copyText:e.label,windowKey:e.id,openedFromKey:e.openedFrom,size:i.size||"2xl",dirty:l,editing:a||m||h,dimensions:i.dimensions,autoHeight:i.autoHeight,autoMinHeight:i.autoMinHeight,autoWidth:i.autoWidth,appStyle:i.appStyle,flushBody:i.flushBody,accentRgb:r,children:/* @__PURE__ */Z(Ye.Provider,{value:u,children:/* @__PURE__ */Z(J,{fallback:/* @__PURE__ */Z(Re,{}),children:i.selfFetching?i.render(null,t,e.entityId,a,s):/* @__PURE__ */Z(je,{entity:w,isPending:f.isPending,isFetching:f.isFetching,enabled:p,error:f.error,onRetry:y,children:n=>i.render(n,t,e.entityId,a,s)})})})})}function tt(e){return document.querySelector(`[data-modal-panel][data-window-key="${e}"]`)}function nt(e){return document.querySelector(`[data-modal-panel][data-window-root][data-window-owner="${e}"]`)}function rt(e){const t=tt(e),n=t??nt(e);if(!n)return;if(t&&!lr(t))return r=e,void window.dispatchEvent(new CustomEvent("modal-reveal",{detail:{windowKey:r}}));var r;const o=n.getAttribute("data-modal-id");o&&Jn(o)}function ot(){const e=kr();if(!e)return;const t=document.querySelector(`[data-modal-panel][data-modal-id="${e}"]`);return t?.getAttribute("data-window-key")??void 0}var it=/* @__PURE__ */new Map;function at(){const e=ot();if(e)return it.get(e)}function st(e){const t=document.querySelectorAll("[data-modal-panel]");for(const n of Array.from(t)){const t=n.querySelector("[data-window-title]");if(t?.textContent?.includes(e))return n}return null}var lt="rosh-peek-style",ct=D.peek,ut=D.taskbarPreview;function dt(e){"undefined"!=typeof document&&(!function(){if("undefined"==typeof document||document.getElementById(lt))return;const e=document.createElement("style");e.id=lt,e.textContent=`body.rosh-peeking [data-modal-panel]{transition:opacity .18s ease}body.rosh-peeking [data-modal-panel]:not([data-peek-focus]){opacity:.4}body.rosh-peeking [data-modal-panel][data-peek-focus]{opacity:1}body.rosh-peeking [data-modal-panel][data-peek-focus]:not([data-pinned-top]){z-index:${ct}!important}html.rosh-reduce-transparency body.rosh-peeking [data-modal-panel]:not([data-peek-focus]){opacity:.92}@media (prefers-reduced-motion:reduce){body.rosh-peeking [data-modal-panel]{transition:none}}`,document.head.appendChild(e)}(),document.querySelectorAll("[data-modal-panel][data-peek-focus]").forEach(e=>e.removeAttribute("data-peek-focus")),e&&e.setAttribute("data-peek-focus",""),document.body.classList.toggle("rosh-peeking",!!e))}function ht(){"undefined"!=typeof document&&(document.body.classList.remove("rosh-peeking"),document.querySelectorAll("[data-modal-panel][data-peek-focus]").forEach(e=>e.removeAttribute("data-peek-focus")))}function mt({id:e,label:t,maxW:n,maxH:r,titleAbove:o=!1,onClick:i,onClose:a}){const s=P(),l=O(null),[c,u]=j({w:n,h:Math.round(.75*r)}),[d,h]=j(!1);return R(()=>{const o=l.current;if(!o)return;const i=tt(e)??st(t);if(!i)return void h(!1);const a=i.getBoundingClientRect();if(0===a.width||0===a.height)return void h(!1);const s=Math.min(n/a.width,r/a.height),c=Math.max(80,Math.round(a.width*s)),d=Math.max(60,Math.round(a.height*s));u({w:c,h:d}),h(!0);const m=i.cloneNode(!0);return m.style.position="absolute",m.style.top="0",m.style.left="0",m.style.right="auto",m.style.bottom="auto",m.style.width=a.width+"px",m.style.height=a.height+"px",m.style.transform=`scale(${s})`,m.style.transformOrigin="top left",m.style.pointerEvents="none",m.style.animation="none",m.style.zIndex="auto",m.removeAttribute("data-modal-panel"),m.removeAttribute("data-modal-id"),m.removeAttribute("data-window-key"),m.removeAttribute("role"),m.removeAttribute("aria-labelledby"),m.removeAttribute("aria-label"),m.querySelectorAll('[role="dialog"], [data-portal]').forEach(e=>{e.style.display="none"}),o.innerHTML="",o.appendChild(m),()=>{o.innerHTML=""}},[e,t,n,r]),/* @__PURE__ */Q("div",{style:{width:c.w,height:c.h},className:"relative rounded-md overflow-hidden bg-white/95 border border-gray-300 shadow-(--elevation-panel) cursor-pointer ring-2 ring-transparent group-hover:ring-blue-400 transition shrink-0",onClick:i,children:[
20
- /* @__PURE__ */Z("div",{ref:l,className:"absolute inset-0 z-0 overflow-hidden"}),!d&&/* @__PURE__ */Q("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-gray-400 bg-gray-50",children:[
21
- /* @__PURE__ */Z(z,{name:"window",className:"h-6 w-6",strokeWidth:1.5}),
22
- /* @__PURE__ */Z("span",{className:"mt-1 text-3xs uppercase tracking-wide",children:"Hidden"})]}),!o&&/* @__PURE__ */Z("div",{className:"absolute bottom-0 left-0 right-0 z-10 px-2 py-1 text-2xs font-medium text-white bg-gradient-to-t from-black/80 to-transparent truncate pointer-events-none",children:t}),a&&/* @__PURE__ */Z("button",{onClick:e=>{e.stopPropagation(),a()},className:"absolute top-1 right-1 z-20 h-5 w-5 rounded-full bg-gray-900/90 ring-1 ring-white/80 shadow-sm hover:bg-red-500 text-white flex items-center justify-center",title:s.taskbar.closeWindow,children:/* @__PURE__ */Z(z,{name:"close",className:"h-3 w-3",strokeWidth:3})})]})}function pt({items:e,anchorEl:t,onActivate:n,onClose:r,onMouseEnter:o,onMouseLeave:i}){const a=P(),s=e.length>1,l=O(null),[c,u]=j({left:-9999,top:-9999,ready:!1}),[d,h]=j(()=>"undefined"!=typeof document&&getComputedStyle(document.documentElement).getPropertyValue("--taskbar-position")?.trim()||"bottom");R(()=>{const e=l.current;if(!e)return;const n=()=>{const n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),o=getComputedStyle(document.documentElement).getPropertyValue("--taskbar-position")?.trim()||"bottom";h(o);let i,a=n.left+n.width/2-r.width/2;"top"===o?i=n.bottom+8:"left"===o?(a=n.right+8,i=n.top+n.height/2-r.height/2):"right"===o?(a=n.left-r.width-8,i=n.top+n.height/2-r.height/2):i=n.top-r.height-8,a=Math.max(8,Math.min(a,window.innerWidth-r.width-8)),i=Math.max(8,Math.min(i,window.innerHeight-r.height-8)),u({left:a,top:i,ready:!0})};n();const r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[t,e.length]),F(()=>ht,[]);const m="top"===d,p=(m?"mt-1":"mb-1")+" max-w-[240px] truncate text-2xs font-medium text-gray-900 bg-white/80 px-2 py-0.5 rounded shadow-sm ring-2 ring-transparent transition group-hover:ring-blue-400";return te(
23
- /* @__PURE__ */Z("div",{ref:l,"data-taskbar-preview":"",style:{position:"fixed",left:c.left,top:c.top,zIndex:ut,maxWidth:"calc(100vw - 16px)",opacity:c.ready?1:0},className:s?"flex gap-2 flex-wrap":"",onMouseEnter:o,onMouseLeave:()=>{ht(),i()},children:e.map(e=>{const t=tt(e.id)??st(e.label),o=t?function(e){if(lr(e))return null;const t=e.getBoundingClientRect(),n=nr(),r=t.left+t.width/2-(n.x+n.w/2),o=t.top+t.height/2-(n.y+n.h/2);return 180*Math.atan2(o,r)/Math.PI}(t):null;/* @__PURE__ */
24
- return Q("div",{className:"group flex flex-col items-center",onMouseEnter:()=>dt(t),children:[!m&&/* @__PURE__ */Z("span",{className:p,children:e.label}),
25
- /* @__PURE__ */Z(mt,{id:e.id,label:e.label,maxW:240,maxH:160,titleAbove:!0,onClick:()=>n(e.id),onClose:()=>r(e.id)}),m&&/* @__PURE__ */Z("span",{className:p,children:e.label}),null!==o&&/* @__PURE__ */Q("span",{title:a.taskbar.offscreenHint,className:"mt-1 inline-flex items-center gap-1 rounded bg-amber-500 px-2 py-0.5 text-2xs font-semibold text-white shadow-sm",children:[
26
- /* @__PURE__ */Z(z,{name:"arrow-right",className:"h-3 w-3",style:{transform:`rotate(${o}deg)`},strokeWidth:3}),"Off screen"]})]},e.id)})}),document.body)}function ft(e,t){const n=getComputedStyle(document.documentElement).getPropertyValue("--taskbar-position")?.trim()||"bottom";return"top"===n?{left:Math.min(e,window.innerWidth-220),top:t+4}:"left"===n?{left:e+4,top:Math.min(t,window.innerHeight-160)}:"right"===n?{right:window.innerWidth-e+4,top:Math.min(t,window.innerHeight-160)}:{left:Math.min(e,window.innerWidth-220),bottom:window.innerHeight-t+4}}function wt({openWindows:e,onRemove:t,onSplitView:n,onActivate:r,onActivateById:o}){const i=P(),[a,s]=j(null);F(()=>{let e,t;const n=()=>{clearInterval(e),clearTimeout(t),e=void 0},r=()=>{const e=document.getElementById("taskbar-windows");return s(t=>t===e?t:e),!!e},o=()=>{n(),r()||(e=setInterval(()=>{r()&&n()},100),t=setTimeout(n,5e3))};return o(),window.addEventListener("react-os-shell:layout-mode-changed",o),()=>{n(),window.removeEventListener("react-os-shell:layout-mode-changed",o)}},[]);const l=q(Er,kr),[,u]=j(0);F(()=>{const e=()=>u(e=>e+1);return window.addEventListener("modal-geometry",e),window.addEventListener("resize",e),()=>{window.removeEventListener("modal-geometry",e),window.removeEventListener("resize",e)}},[]);const[,d]=j(0);F(()=>{const e=()=>d(e=>e+1);return window.addEventListener("window-title-update",e),()=>window.removeEventListener("window-title-update",e)},[]);const h=e=>{const t=st(e),n=t?.querySelector("[data-window-title]");return n?.textContent?.trim()||e},[m,p]=j(null),[f,w]=j(null),[y,g]=j(null),b=O(null),C=()=>{b.current&&(clearTimeout(b.current),b.current=null),b.current=setTimeout(()=>{p(null),w(null)},150)},M=e.filter(e=>!e.route||!ce[e.route]?.utility);if(!a||!a.isConnected||0===M.length)return null;const N=[],S=/* @__PURE__ */new Map;for(const e of M){const t=e.route?ce[e.route]:void 0,n=t?.taskbarGroup,r=n?.key??e.route??`entity:${e.id}`,o=S.get(r);if(void 0!==o)N[o].items.push(e);else{S.set(r,N.length);const o=n?.label??t?.label??e.label;N.push({key:r,route:n?.icon??e.route,label:o,items:[e]})}}return te(
27
- /* @__PURE__ */Q(ee,{children:[N.map(e=>{const n=e.route?c[e.route]:null,r=e.items[e.items.length-1];let a=!1;if(l){const t=document.querySelector(`[data-modal-id="${l}"]`);if(t){const n=t.querySelector("[data-window-title]"),r=n?.textContent??"";a=e.items.some(e=>r.includes(e.label))}}const s=e.items.length>1,u=e.items.some(e=>{const t=tt(e.id)??st(e.label);return!!t&&!lr(t)});/* @__PURE__ */
28
- return Q("button",{onClick:()=>o(r.id),onMouseEnter:t=>{return n=e.items,r=t.currentTarget,void(y||(b.current&&(clearTimeout(b.current),b.current=null),b.current=setTimeout(()=>{p(n),w(r)},350)));var n,r},onMouseLeave:C,onDoubleClick:e=>{e.stopPropagation(),window.dispatchEvent(new CustomEvent("modal-center",{detail:{windowKey:r.id,label:r.label}}))},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),b.current&&(clearTimeout(b.current),b.current=null),p(null),w(null),s?g({x:t.clientX,y:t.clientY,items:e.items,label:e.label}):window.dispatchEvent(new CustomEvent("modal-context-menu",{detail:{windowKey:r.id,label:r.label,x:t.clientX,y:t.clientY}}))},style:{width:"var(--window-tab-width, 200px)",fontSize:"var(--window-tab-font-size, 12px)"},"data-tab-group":e.key,className:"group relative flex items-center gap-2 rounded-lg px-3 py-2 font-medium transition-all min-w-0 shrink "+(a?"bg-blue-100/60 border border-blue-400/60 text-blue-700":"bg-gray-50/40 border border-gray-200/40 text-gray-700 hover:bg-gray-200/40"),children:[n&&H(n)?X(n,{className:"h-3.5 w-3.5 shrink-0"}):/* @__PURE__ */Z(z,{name:"expand",className:"h-3.5 w-3.5 shrink-0",strokeWidth:2}),
29
- /* @__PURE__ */Z("span",{className:"truncate flex-1",children:s?e.label:h(r.label)}),u&&/* @__PURE__ */Z("span",{title:i.taskbar.offscreenDot,className:"shrink-0 h-1.5 w-1.5 rounded-full bg-amber-500"}),s&&/* @__PURE__ */Z("span",{className:"shrink-0 px-2 py-0.5 rounded-full bg-blue-500/80 text-white text-2xs font-bold leading-none",children:e.items.length}),!s&&/* @__PURE__ */Z("span",{role:"button",onClick:e=>{e.stopPropagation(),t(r.id)},className:"ml-auto text-gray-400 hover:text-red-500 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:/* @__PURE__ */Z(z,{name:"close",className:"h-3 w-3",strokeWidth:2})})]},e.key)}),
30
- /* @__PURE__ */Z("div",{className:"flex-1"}),M.length>=2&&/* @__PURE__ */Q("button",{onClick:n,title:i.taskbar.expose,className:"flex items-center gap-1 rounded px-2 py-1 text-2xs font-medium text-blue-600 border border-blue-300 hover:bg-blue-50 transition-colors shrink-0",children:[
31
- /* @__PURE__ */Z(z,{name:"grid",className:"h-3 w-3",strokeWidth:2}),"Exposé"]}),y&&/* @__PURE__ */Q(v,{portal:!0,minWidth:200,style:ft(y.x,y.y),onClose:()=>g(null),children:[
32
- /* @__PURE__ */Z(E,{children:y.label}),
33
- /* @__PURE__ */Q(x,{onClick:()=>{g(null),y.items.forEach(e=>function(e){const t=Wn.get(e);t&&Qn(t)}(e.id))},children:[
34
- /* @__PURE__ */Z(z,{name:"remove",className:"h-4 w-4",strokeWidth:1.5}),i.taskbar.minimizeAllWindows]}),
35
- /* @__PURE__ */Q(x,{onClick:()=>{g(null),y.items.forEach(e=>o(e.id))},children:[
36
- /* @__PURE__ */Z("svg",{className:"h-4 w-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */Z("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 3.75h6.5v6.5h-6.5zM13.75 8.75h6.5v6.5h-6.5z"})}),i.taskbar.restoreAllWindows]}),
37
- /* @__PURE__ */Z(k,{}),
38
- /* @__PURE__ */Q(x,{danger:!0,onClick:()=>{g(null),y.items.forEach(e=>t(e.id))},children:[
39
- /* @__PURE__ */Z(z,{name:"close",className:"h-4 w-4",strokeWidth:2}),`${i.taskbar.closeAllWindows} (${y.items.length})`]})]}),m&&f&&/* @__PURE__ */Z(pt,{items:m,anchorEl:f,onActivate:e=>{o(e),p(null),w(null)},onClose:e=>{t(e),p(null),w(null)},onMouseEnter:()=>{b.current&&(clearTimeout(b.current),b.current=null)},onMouseLeave:C})]}),a)}var yt=["/login","/forgot-password","/reset-password","/force-change-password"];function gt({children:e,windowAccentForRoute:t}){const n=ne(),r=yt.some(e=>n.pathname.startsWith(e)),[o,i]=j([]),a=O(o);R(()=>{a.current=o},[o]);const s=q(xe,ve,ve),l=O(/* @__PURE__ */new Map),c=e=>{const t=Ie(e),n=!!s&&"page"===e.type&&e.route===s,r=e.pageSearch||void 0,o=l.current.get(e.id);if(o&&o.tab===t&&o.home===n&&o.pageSearch===r)return o;const i={key:e.id,tab:t,home:n,...r?{pageSearch:r}:{}};return l.current.set(e.id,i),i};F(()=>{it.clear();for(const e of o)e.route&&it.set(e.id,e.route)},[o]);const u=B(e=>{i(t=>t.filter(t=>t.id!==e))},[]),d=B(e=>{var t;tt(e)||nt(e)?(t=e,window.dispatchEvent(new CustomEvent(Cr,{detail:{windowKey:t}}))):u(e)},[u]),h=(e,t=!1)=>{const n=zn;t&&Ze.add(e),setTimeout(()=>{const r=document.querySelector(`[data-modal-panel][data-window-key="${e}"]`),o=r?.getAttribute("data-modal-id");var i,a;!o||(i=o,a=n,(An.get(i)??-1)>a)||Jn(o),t&&Ze.delete(e)},50)},m=(e,t,n)=>{const r=ke;if(n||!r)return[...e,t];const o=function(e,t,n){if(!Ie(t))return e.length;if(t.shellOwned&&We(t,n.home))return 0;const r=We(t,n.home)?void 0:Pe(t)?.key;if(r){let t=-1;if(e.forEach((e,o)=>{Ie(e)&&!We(e,n.home)&&Pe(e)?.key===r&&(t=o)}),t>=0)return t+1}if("page"===t.type&&t.route&&!We(t,n.home)&&n.favorites.includes(t.route))return e.length>0&&We(e[0],n.home)?1:0;const o=t.openedFrom?e.findIndex(e=>e.id===t.openedFrom):-1;if(o>=0){const t=/* @__PURE__ */new Set([e[o].id]);let r=o+1;for(;r<e.length&&e[r].openedFrom&&t.has(e[r].openedFrom);)t.add(e[r].id),r++;const i=t=>Ie(e[t])&&!We(e[t],n.home)?Pe(e[t])?.key:void 0;for(;r>0&&r<e.length&&void 0!==i(r)&&i(r)===i(r-1);)r++;return r}return e.length}(e,t,{home:ve(),favorites:r.favorites});return[...e.slice(0,o),t,...e.slice(o)]},p=B(e=>{i(t=>function(e,t){const n=new Set(t),r=new Map(e.map(e=>[e.id,e])),o=t.map(e=>r.get(e)).filter(e=>!!e);if(o.length!==n.size)return e;let i=0;const a=e.map(e=>n.has(e.id)?o[i++]:e);return a.every((t,n)=>t===e[n])?e:a}(t,e))},[]),f=B((e,t,n,r,o,a={})=>{if(!ce[e]||!ae(ce[e]))return;const s=`${e}:${t}`,l=ot();i(i=>{const c=i.find(n=>n.entityType===e&&String(n.entityId)===String(t));return c?(h(c.id),i):(h(s,!0),m(i,{id:s,type:"modal",label:r||t,route:o||window.location.pathname,entityType:e,entityId:t,entitySnapshot:Oe(n),openedFrom:l},!!a.append))})},[]),w=B((e,t={})=>{if(!ce[e]||!ie(ce[e]))return;const n=ce[e],{reuse:r=!1,background:o=!1,shellOwned:s,search:l,append:c=!1}=t,u=e=>{var t;o?(t=e,Fn.add(t)):h(e)};if(n.widget){const t=a.current.find(t=>"page"===t.type&&t.route===e);if(t)return void d(t.id)}const p=ot();i(t=>{if(n.multiInstance){const i=t.filter(t=>"page"===t.type&&t.route===e);if(r&&!l&&i.length>0)return o||h(i[i.length-1].id),t;const a=`page:${e}:${Math.random().toString(36).slice(2,8)}`;return u(a),m(t,{id:a,type:"page",label:n.label,route:e,openedFrom:p,...s?{shellOwned:s}:{},...l?{pageSearch:l}:{}},c)}const i=t.find(t=>"page"===t.type&&t.route===e);if(i)return n.widget?t:(o||h(i.id),l&&i.pageSearch!==l?t.map(e=>e===i?{...e,pageSearch:l}:e):t);const a=`page:${e}`;return u(a),m(t,{id:a,type:"page",label:n.label,route:e,openedFrom:p,...s?{shellOwned:s}:{},...l?{pageSearch:l}:{}},c)})},[d]),y=B(()=>{},[]),g=B(()=>{},[]),b=d,v=d;/* @__PURE__ */
40
- return Q(Ue.Provider,{value:{openWindows:o,openEntity:f,openPage:w,reorderWindows:p,closeEntity:b,minimize:y,items:[],openItems:o,restore:g,remove:v,restoreIfMinimized:()=>!1},children:[e,
41
- /* @__PURE__ */Z(wt,{openWindows:o,onRemove:d,onSplitView:Hr,onActivate:e=>{document.querySelectorAll("[data-modal-panel]").forEach(t=>{const n=t.querySelector("[data-window-title]");if(n?.textContent?.includes(e)){const e=t.getAttribute("data-modal-id");e&&Jn(e)}})},onActivateById:rt}),
42
- /* @__PURE__ */Z(Ur,{}),!r&&o.map(e=>{const n=e.route?t?.(e.route):void 0;
43
- /* @__PURE__ */
44
- return Z(fe.Provider,{value:c(e),children:/* @__PURE__ */Z(Me,{fallback:(t,n)=>/* @__PURE__ */Z(Yr,{open:!0,onClose:()=>u(e.id),title:e.label,size:"md",autoHeight:!0,windowKey:e.id,children:/* @__PURE__ */Z(Ce,{error:t,onReload:n})}),children:/* @__PURE__ */Z(Vt,{spec:Ge(e),children:/* @__PURE__ */Z(Zr,{windowId:e.id,children:"page"===e.type?/* @__PURE__ */Z(Je,{item:e,onClose:()=>u(e.id),accentRgb:n}):/* @__PURE__ */Z(et,{item:e,onClose:()=>u(e.id),onMinimize:()=>{},accentRgb:n})})})})},e.id)})]})}var bt=400;function vt({panelRef:e,bodyRef:t,open:n,widget:r,active:o,minimized:i}){const a=O(null),s=O(!1);n&&!s.current&&(a.current="undefined"==typeof document?null:document.activeElement),s.current=n;const l=O(!1),c=O(void 0),u=O(i),d=u.current&&!i;u.current=i;const h=()=>{l.current=!0,clearTimeout(c.current),c.current=setTimeout(()=>{l.current=!1},bt)};F(()=>{n&&!r&&h()},[n,r]),F(()=>{d&&n&&!r&&h()},[d]),F(()=>()=>clearTimeout(c.current),[]),F(()=>{if(!n||r||!o||i||!l.current)return;l.current=!1;const a=e.current;if(!a||a.contains(document.activeElement))return;const s=t.current?L(t.current)[0]:void 0;s?s.focus():(a.hasAttribute("tabindex")||a.setAttribute("tabindex","-1"),a.focus())},[n,r,o,i,e,t]),R(()=>{if(!n||r)return;const t=e.current;return()=>{const e=a.current,n=document.activeElement;(!n||n===document.body||!!t?.contains(n))&&e&&e.isConnected&&!t?.contains(e)&&e.focus?.()}},[n,r,e])}var xt=null,kt=/* @__PURE__ */new Set;function Et(){return xt}function Ct(e){if(xt!==e){xt=e;for(const e of kt)e()}}function Mt(e){return kt.add(e),()=>{kt.delete(e)}}var Nt=!1,St={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0},Lt=()=>{};function Tt(e){Nt=e,St={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0}}function zt(e,t){Nt&&("submenu"===e?St.submenus++:St.menus++,St.menuKey=t)}function At(e){if(!Nt)return Lt;const t=performance.now();let n=!1;return()=>{if(n)return;if(n=!0,!Nt)return;const r=performance.now()-t;"move"===e?St.moveMs+=r:St.resizeMs+=r}}function Dt(){const e=St;return St={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0},e}var It=/* @__PURE__ */new Set([S,C]),Pt=e=>It.has(e)||"function"==typeof e&&"badge"===e.titleRole,Wt=/* @__PURE__ */new Set(["button","a","input","select","textarea","kbd"]),Kt=/* @__PURE__ */new Set(["svg"]);function $t(e){const t=[],n={text:"",accessories:[],badges:[],actions:[]};return Rt(e,n,t),n.text=t.join("").replace(/\s+/g," ").trim(),n}function Rt(e,t,n){if(null==e||"boolean"==typeof e)return;if("string"==typeof e||"number"==typeof e)return void n.push(String(e));if(Array.isArray(e))return void e.forEach(e=>Rt(e,t,n));if(!H(e))return;const r=e;if(r.type===w)return void(void 0===t.copy&&"string"==typeof r.props.text&&r.props.text&&(t.copy=r.props.text));if(r.type===U)return void Y.toArray(r.props.children).forEach(e=>Rt(e,t,n));if("string"==typeof r.type){if(Kt.has(r.type))return;if(!Wt.has(r.type))return n.push(" "),Y.toArray(r.props.children).forEach(e=>Rt(e,t,n)),void n.push(" ")}const o=X(r,{key:`title-part-${t.accessories.length}`});t.accessories.push(o),(Pt(r.type)?t.badges:t.actions).push(o)}var Ot=/* @__PURE__ */new Map,Ft=/* @__PURE__ */new Set,jt=0;function qt(){jt++,Ft.forEach(e=>e())}function Bt(e){return Ot.get(e)}function Ht(e){return Ft.add(e),()=>{Ft.delete(e)}}function Ut(){return jt}var Yt=W(""),Xt=W(null);function Vt({spec:e,children:t}){/* @__PURE__ */
45
- return Z(Xt.Provider,{value:e,children:t})}var _t=/* @__PURE__ */new Set(["button","input","textarea","select","kbd","svg"]),Gt='button[type="submit"], button[data-submit], button.btn-submit, button.bg-green-600, button.bg-blue-600',Jt='button, a[href], summary, [role="button"], [role="link"], [role="menuitem"], select';function Qt(e){return Zt(e).replace(/\s+/g," ").trim()}function Zt(e){if(null==e||"boolean"==typeof e)return"";if("string"==typeof e)return e;if("number"==typeof e)return String(e);if(Array.isArray(e))return e.map(Zt).join("");if(H(e)){const t=e,n="string"==typeof t.type?t.type:"";return _t.has(n)?"":` ${Zt(t.props?.children)} `}return""}function en(e){const t=K(Yt);F(()=>{if(!t)return;const n=n=>{n.detail===t&&e()};return window.addEventListener("widget-open-settings",n),()=>window.removeEventListener("widget-open-settings",n)},[e,t])}var tn={};function nn(e,t,n){const r=K(Yt);F(()=>{if(!r)return;tn[r]||(tn[r]=[]);const o={label:e,icon:n,onClick:t};return tn[r].push(o),()=>{tn[r]=(tn[r]||[]).filter(e=>e!==o)}},[r,e,t,n])}function rn({title:e}){const t=O(null);return F(()=>{const n=setTimeout(()=>{const n=t.current?.closest("[data-modal-id]"),r=n?.getAttribute("data-modal-id");r&&window.dispatchEvent(new CustomEvent("window-title-update",{detail:{id:r,title:e}}))},0);return()=>clearTimeout(n)},[e]),/* @__PURE__ */Z("span",{ref:t,style:{display:"none"},"aria-hidden":"true"})}function on(e){}var an=W(null);function sn(){return K(Yt)}function ln(){const e=q(Er,kr),t=K(an);return t?.active??(Sn.length<=1||null!=e)}function cn({children:e,position:t="right",quiet:n=!1}){const r=K(an),[o,i]=j(null);return F(()=>{if(!r)return;const e="left"===t?r.leftRef:r.rightRef,o=()=>!!e.current&&(i(e.current),n||r.notify(),!0);if(o())return;const a=setInterval(()=>{o()&&clearInterval(a)},50),s=setTimeout(()=>clearInterval(a),2e3);return()=>{clearInterval(a),clearTimeout(s)}},[r,t,n]),o?te(e,o):null}function un({onClick:e,children:t,className:n}){const r=K(an);/* @__PURE__ */
46
- return Z("button",{type:"button",onClick:async()=>{if(r?.isDirty){const{confirm:e}=await(import("./shell/ConfirmDialog.js"));if(!await e({title:"Discard changes?",message:"You have unsaved changes. Are you sure you want to cancel? All changes will be lost.",confirmLabel:"Discard",cancelLabel:"Keep Editing",variant:"warning"}))return}e()},className:n||"bg-white text-gray-700 border border-gray-300 px-4 py-2 text-sm font-medium rounded-lg hover:bg-gray-50",children:t||"Cancel"})}var dn="erp_window_positions",hn={};try{const e=localStorage.getItem(dn);e&&(hn=JSON.parse(e))}catch{}var mn=null;function pn(){mn&&clearTimeout(mn),mn=setTimeout(()=>{try{localStorage.setItem(dn,JSON.stringify(hn))}catch{}},500)}var fn="erp_activation_order",wn=[];try{const e=localStorage.getItem(fn),t=e?JSON.parse(e):null;Array.isArray(t)&&t.every(e=>"string"==typeof e)&&(wn=t)}catch{}var yn=null;function gn(){yn&&clearTimeout(yn),yn=setTimeout(()=>{try{localStorage.setItem(fn,JSON.stringify(wn))}catch{}},500)}function bn(e,t){hn[e]||(hn[e]=t,pn())}function vn(e){return hn[e]?{...hn[e]}:null}function xn(e,t){hn[e]=t,pn()}function kn(){const r=e(),o=t();let i=!1;for(const e of Object.keys(hn))n(hn[e],r,o)&&(delete hn[e],i=!0);i&&pn()}var En={sm:384,md:512,lg:672,xl:896,"2xl":1152,"3xl":1408},Cn=4e3,Mn=()=>{if("undefined"==typeof document)return"large";const e=getComputedStyle(document.documentElement).getPropertyValue("--default-window-size")?.trim();return"small"===e||"medium"===e||"maximized"===e?e:"large"},Nn={small:.8,medium:1,large:1.25,maximized:1.25},Sn=[],Ln=/* @__PURE__ */new Set,Tn=/* @__PURE__ */new Set,zn=0,An=/* @__PURE__ */new Map;var Dn=0;function In(){return Dn}function Pn(){Dn++,Ln.forEach(e=>e())}var Wn=/* @__PURE__ */new Map,Kn=/* @__PURE__ */new Map,$n=/* @__PURE__ */new Map;function Rn(){for(let e=Sn.length-1;e>=0;e--){const t=$n.get(Sn[e]);if(t?.tab)return t.owner}return null}function On(){return q(Er,Rn,()=>null)}var Fn=/* @__PURE__ */new Set;var jn=null;function qn(e){jn=null,Jn(e)}function Bn(e){jn=e;const t=Wn.get(e);t&&qn(t)}var Hn=/* @__PURE__ */new Map;function Un(e){return Hn.get(e)?.holdsChanges()??!1}function Yn(e){const t=Hn.get(e);return t?t.ask():Promise.resolve(!0)}function Xn(e){jn===e&&(jn=null)}function Vn(e,t,n){if(n&&$n.set(e,n),t)if(Wn.set(t,e),Kn.set(e,t),Fn.delete(t)){Sn.unshift(e);const n=wn.indexOf(t);-1!==n&&wn.splice(n,1),wn.unshift(t),gn()}else!function(e,t){const n=wn.indexOf(t);if(-1===n)return void Sn.push(e);let r=Sn.length;for(let e=0;e<Sn.length;e++){const t=Kn.get(Sn[e]);if(t&&wn.indexOf(t)>n){r=e;break}}Sn.splice(r,0,e)}(e,t),-1===wn.indexOf(t)&&(wn.push(t),gn());else Sn.push(e);Pn(),window.dispatchEvent(new CustomEvent("modal-reorder")),t&&jn===t&&qn(e)}function _n(e){return e?$n.get(e)?.owner??Kn.get(e)??null:null}var Gn=/* @__PURE__ */new Set;function Jn(e){const t=_n(kr()),n=Sn.indexOf(e);-1!==n&&Sn.splice(n,1),Sn.push(e);const o=$n.get(e);if(o?.root&&o.tab&&r()){const e=Sn.filter(e=>{const t=$n.get(e);return!!t&&!t.root&&t.owner===o.owner});for(const t of e)Sn.splice(Sn.indexOf(t),1),Sn.push(t)}Tn.delete(e);const i=Kn.get(e);if(i){const e=wn.indexOf(i);-1!==e&&wn.splice(e,1),wn.push(i),gn(),jn&&jn!==i&&(jn=null)}Pn(),window.dispatchEvent(new CustomEvent("modal-reorder"));const a=_n(kr());a&&a!==t&&Gn.forEach(e=>e(a))}function Qn(e){const t=Sn.indexOf(e);-1!==t&&Sn.splice(t,1),Tn.add(e),An.set(e,++zn);const n=Kn.get(e);if(n){const e=wn.indexOf(n);-1!==e&&(wn.splice(e,1),gn())}Pn(),window.dispatchEvent(new CustomEvent("modal-reorder"))}var Zn=/* @__PURE__ */new Set;var er=8,tr=32;function nr(){return e()}var rr=u.windowBar,or=80,ir=384,ar=400;function sr(e,t=nr()){const n=Math.min(Math.max(e.x,t.x+or-e.w),t.x+t.w-or),r=Math.min(Math.max(e.y,t.y),t.y+t.h-rr);return n===e.x&&r===e.y?e:{...e,x:n,y:r}}function lr(e){const t=e.getBoundingClientRect();if(0===t.width||0===t.height)return!0;const n=nr();return t.left>=n.x-1&&t.top>=n.y-1&&t.right<=n.x+n.w+1&&t.bottom<=n.y+n.h+1}function cr(e){const t=nr(),n=Math.floor(t.w/2),r=Math.floor(t.h/2);switch(e){case"top":return{x:t.x,y:t.y,w:t.w,h:t.h};case"left":return{x:t.x,y:t.y,w:n,h:t.h};case"right":return{x:t.x+n,y:t.y,w:t.w-n,h:t.h};case"tl":return{x:t.x,y:t.y,w:n,h:r};case"tr":return{x:t.x+n,y:t.y,w:t.w-n,h:r};case"bl":return{x:t.x,y:t.y+r,w:n,h:t.h-r};case"br":return{x:t.x+n,y:t.y+r,w:t.w-n,h:t.h-r}}}var ur=null;function dr(e){const t=(ur||((ur=document.createElement("div")).style.cssText=["position: fixed","pointer-events: none",`z-index: ${D.snapPreview}`,"border-radius: 8px","background: rgba(59, 130, 246, 0.18)","border: 2px solid rgb(59, 130, 246)","transition: left 120ms ease, top 120ms ease, width 120ms ease, height 120ms ease, opacity 120ms ease","opacity: 0","display: none"].join(";"),document.body.appendChild(ur)),ur);t.style.display="block",t.style.left=`${e.x}px`,t.style.top=`${e.y}px`,t.style.width=`${e.w}px`,t.style.height=`${e.h}px`,t.style.opacity="1"}function hr(){ur&&(ur.style.opacity="0",ur.style.display="none")}var mr=[{zone:"left",labelKey:"snapLeft",region:"inset-y-0 left-0 w-1/2"},{zone:"right",labelKey:"snapRight",region:"inset-y-0 right-0 w-1/2"},{zone:"tl",labelKey:"snapTopLeft",region:"top-0 left-0 h-1/2 w-1/2"},{zone:"tr",labelKey:"snapTopRight",region:"top-0 right-0 h-1/2 w-1/2"},{zone:"bl",labelKey:"snapBottomLeft",region:"bottom-0 left-0 h-1/2 w-1/2"},{zone:"br",labelKey:"snapBottomRight",region:"bottom-0 right-0 h-1/2 w-1/2"}],pr=350,fr=200;function wr({maximized:e,onToggleMax:t,onSnap:n,buttonClassName:r,strings:o}){const[i,a]=j(!1),s=O(void 0),l=O(void 0);F(()=>()=>{clearTimeout(s.current),clearTimeout(l.current)},[]);const c=()=>{clearTimeout(l.current),s.current=setTimeout(()=>a(!0),pr)},u=()=>{clearTimeout(s.current),l.current=setTimeout(()=>a(!1),fr)};/* @__PURE__ */
47
- return Q("span",{className:"relative inline-flex",onMouseEnter:c,onMouseLeave:u,children:[
48
- /* @__PURE__ */Z("button",{onClick:t,onFocus:c,onBlur:u,title:e?o.windowed:o.maximize,className:r,children:e?"❐":"⤢"}),i&&/* @__PURE__ */Z("div",{role:"group","aria-label":o.snapLayouts,onMouseEnter:()=>clearTimeout(l.current),onMouseLeave:u,className:"absolute right-0 top-full z-30 mt-1 grid w-max grid-cols-2 gap-1 rounded-lg border border-gray-200 bg-white p-2 shadow-lg",children:mr.map(({zone:e,labelKey:t,region:r})=>/* @__PURE__ */Z("button",{type:"button","aria-label":o[t],title:o[t],onClick:()=>{a(!1),n(e)},onFocus:()=>clearTimeout(l.current),onBlur:u,className:"relative h-7 w-11 rounded border border-gray-300 bg-gray-50 hover:border-blue-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-400",children:/* @__PURE__ */Z("span",{"aria-hidden":"true",className:`absolute rounded-sm bg-blue-500/70 ${r}`,style:{margin:2}})},e))})]})}var yr="rosh-gesture-style";var gr={se:"nwse-resize",nw:"nwse-resize",sw:"nesw-resize",ne:"nesw-resize",n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize"},br=4;function vr(e,t,n,r){!function(){if("undefined"==typeof document||document.getElementById(yr))return;const e=document.createElement("style");e.id=yr,e.textContent="body.rosh-gesturing [data-modal-panel]{will-change:transform}",document.head.appendChild(e)}();try{e.setPointerCapture(t)}catch{}document.body.classList.add("rosh-gesturing");const o=document.createElement("div");o.setAttribute("data-drag-shield",""),o.style.cssText=`position:fixed;inset:0;z-index:2147483647;cursor:${n};background:transparent;touch-action:none`,document.body.appendChild(o);const i=At(r);let a=!1;return()=>{if(!a){a=!0,i();try{e.releasePointerCapture(t)}catch{}o.remove(),document.body.classList.remove("rosh-gesturing")}}}function xr(e){const t=Sn.indexOf(e);if(-1===t)return-1;const n=D.window+t*D.windowStep,o=$n.get(e);if(!o||o.root||!o.tab||!r())return n;let i=-1;for(const[e,t]of $n){if(!t.root||t.owner!==o.owner)continue;const n=Sn.indexOf(e);-1!==n&&(i=Math.max(i,D.window+n*D.windowStep))}return i>=n?i+2+Math.min(t,7):n}function kr(){return Sn[Sn.length-1]||null}function Er(e){return Ln.add(e),()=>{Ln.delete(e)}}"undefined"!=typeof window&&window.addEventListener("deactivate-all-modals",function(){for(let e=Sn.length-1;e>=0;e--)Zn.has(Sn[e])||Sn.splice(e,1);wn=wn.filter(e=>{const t=Wn.get(e);return null!=t&&Zn.has(t)}),gn(),Pn(),window.dispatchEvent(new CustomEvent("modal-reorder"))});var Cr="modal-close-request";function Mr(e){q(Er,In);const t=K(an);if(Sn.length<=1)return!0;if(e){const t=Wn.get(e);if(null!=t)return kr()===t}return t?.active??null!=kr()}var Nr=!1,Sr=/* @__PURE__ */new Set;function Lr(e){return Sr.add(e),()=>Sr.delete(e)}function Tr(){return Nr}function zr(e){Nr!==e&&(Nr=e,Sr.forEach(e=>e()))}function Ar(){zr(!Nr)}function Dr(){zr(!1)}var Ir=null,Pr=/* @__PURE__ */new Set;function Wr(e){return Pr.add(e),()=>Pr.delete(e)}function Kr(){return Ir}function $r(e){Ir!==e&&(Ir=e,Pr.forEach(e=>e()))}var Rr=null,Or=/* @__PURE__ */new Set;function Fr(e){return Or.add(e),()=>Or.delete(e)}function jr(){return Rr}function qr(e){Rr!==e&&(Rr=e,Or.forEach(e=>e()))}function Br(){if(!Rr)return void zr(!1);$r(Rr),qr(null),zr(!1)}function Hr(){zr(!Nr),window.dispatchEvent(new CustomEvent("modal-split-view"))}function Ur(){const e=q(Lr,Tr),[t,n]=j(e),[r,o]=j(e);return F(()=>{if(e){n(!0);const e=requestAnimationFrame(()=>o(!0));return()=>cancelAnimationFrame(e)}o(!1);const t=setTimeout(()=>n(!1),280);return()=>clearTimeout(t)},[e]),t&&"undefined"!=typeof document?te(
49
- /* @__PURE__ */Z("div",{onMouseDown:e=>{e.stopPropagation(),zr(!1)},style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",zIndex:D.expose,cursor:"pointer",opacity:r?1:0,transition:"opacity 260ms cubic-bezier(0.2, 0.8, 0.2, 1)",pointerEvents:r?"auto":"none"}}),document.body):null}function Yr({open:t,onClose:i,title:c,icon:u,copyText:d,size:h="lg",dirty:m=!1,onNext:p,onPrev:f,footer:w,bodyScroll:E,onMinimize:C,initialBox:S,actions:L,actionsLeft:T,editing:A=!1,allowPinOnTop:W,initialPosition:$,widget:U,compact:Y,appStyle:G,flushBody:J,autoHeight:ne,autoMinHeight:re,autoWidth:oe,widgetMenu:ie,dimensions:ae,windowKey:se,openedFromKey:le,accentRgb:ce,children:ue}){const[de,he]=j(()=>r()),me=M()&&!de,pe=N()&&!!U,[we,ye]=j(0),[ge,be]=j(!1),ve=O(null),xe=O(0);F(()=>{xe.current=we},[we]);const ke=B(e=>{me&&(ve.current={startX:e.clientX,startY:e.clientY,pointerId:e.pointerId},be(!0),Ct(le??null))},[me,le]),Ee=q(Mt,Et);F(()=>{if(!ge)return;const e=e=>{if(!ve.current)return;const t=e.clientX-ve.current.startX;if(Math.abs(e.clientY-ve.current.startY)>Math.abs(t)+12)return ve.current=null,be(!1),ye(0),void Ct(null);ye(Math.max(0,t))},t=()=>{if(!ve.current)return;const e=.3*window.innerWidth,t=xe.current>e;ve.current=null,be(!1),t?(ye(window.innerWidth),setTimeout(()=>{i(),ye(0),Ct(null)},180)):(ye(0),Ct(null))};return window.addEventListener("pointermove",e),window.addEventListener("pointerup",t),window.addEventListener("pointercancel",t),()=>{window.removeEventListener("pointermove",e),window.removeEventListener("pointerup",t),window.removeEventListener("pointercancel",t)}},[ge]);const[Ce,Se]=j(c),Te=P(),ze=Te.window;F(()=>{Se(c)},[c]);const Ae=V(()=>Qt(Ce).trim()||void 0,[Ce]),De=_(),[Ie,Pe]=j(!1),We=O(!1),[Ke,$e]=j(!1),[Re,Oe]=j(null),Fe=K(Xt),je=K(fe),{prefs:qe,save:Be}=g(),He=!!qe.window_accent_stripe,Ue=qe.favorite_documents||[],Ye=!!Fe&&Ue.some(e=>e.entityType===Fe.entityType&&e.entityId===Fe.entityId),Ve=B(()=>{if(!Fe)return;const e=Ye?Ue.filter(e=>!(e.entityType===Fe.entityType&&e.entityId===Fe.entityId)):[...Ue,{entityType:Fe.entityType,entityId:Fe.entityId,label:Fe.label}];Be({favorite_documents:e})},[Fe,Ye,Ue,Be]),[Ge,Je]=j(null),[Qe,Ze]=j("top-right"===$?"right":"left"),et=O(!1),tt=O(null);R(()=>{const e=tt.current;e&&(ce?e.style.setProperty("--window-accent-rgb",ce):e.style.removeProperty("--window-accent-rgb"))},[ce]);const nt=O(!1),rt=O(null),ot=O(null),it=O(null),[at,st]=j(!1),lt=O(null),ct=!!(w||L||T)||at,ut=K(Ne),dt=""!==K(Yt),ht=O(null);ht.current=je?{owner:je.key,tab:je.tab,root:!dt}:null;const mt=se||(je&&!dt?je.key:null),pt=!!ut&&!dt&&ut.enabled&&ut.hasState&&(A||ut.declaredEditable)&&!ut.handMounted&&ct&&!U&&!Y&&!G&&!me,ft=/* @__PURE__ */Z(z,{name:"window",className:"h-4 w-4",strokeWidth:1.5}),wt=u&&H(u)?X(u,{className:`h-4 w-4 ${u.props?.className??""}`.trim()}):u??ft,yt=()=>/* @__PURE__ */Z("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation();const t=e.currentTarget.getBoundingClientRect();Oe(e=>e?null:{x:t.left,y:t.bottom+4})},className:"shrink-0 p-0.5 rounded hover:bg-gray-200/50 transition-colors",title:"Window menu",children:wt}),gt=40,{minimize:bt,items:xt,restoreIfMinimized:kt,openWindows:Nt}=_e(),St=O(`modal-${Math.random().toString(36).slice(2,8)}`).current;F(()=>{if(U)return Zn.add(St),()=>{Zn.delete(St)}},[U,St]),F(()=>{const e=e=>{const t=e.detail;t?.id===St&&Se(t.title)};return window.addEventListener("window-title-update",e),()=>window.removeEventListener("window-title-update",e)},[St]);const[Lt,Tt]=j(D.window),zt=function(e){const t=q(Er,kr);return Sn.length<=1||t===e}(St),At=function(e){return q(Er,()=>Tn.has(e))}(St);vt({panelRef:tt,bodyRef:rt,open:t,widget:!!U,active:zt,minimized:At});const Dt=q(Lr,Tr),It=q(Wr,Kr),Pt=q(Fr,jr),Wt=!W&&!U,Kt=Dt&&Wt,[Rt,Ft]=j(!1),jt=Kt&&Pt===St,[Bt,Ht]=j(!1),Ut=Bt&&Wt&&It===St?"picked":null,Vt=O(Kt);F(()=>{if(Vt.current&&!Kt){Ht(!0);const e=setTimeout(()=>{Ht(!1),Ir===St&&$r(null)},700);return Vt.current=Kt,()=>clearTimeout(e)}Vt.current=Kt},[Kt,St]),F(()=>{Kt||Ft(!1)},[Kt]),F(()=>{const e=ot.current,t=it.current;if(!e&&!t)return;const n=e=>e?Array.from(e.children).filter(e=>"shell"!==e.dataset.undoControls).length:0,r=()=>st(n(e)+n(t)>0);r();const o=new MutationObserver(r);return e&&o.observe(e,{childList:!0}),t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[t]),F(()=>{const e=e=>{if(e.target.closest('button[type="submit"]')&&tt.current){const t=tt.current.querySelector("form");t&&(e.preventDefault(),t.requestSubmit())}},t=ot.current,n=it.current;return t&&t.addEventListener("click",e),n&&n.addEventListener("click",e),()=>{t&&t.removeEventListener("click",e),n&&n.removeEventListener("click",e)}},[t]);const _t=O(!1),Zt=B(e,[]),en=B(()=>{const t=e(),n=ae?ae[0]:En[h]||672,o=t.w-80,i=t.h-80,a=Math.min(n,o),s=Nn[Mn()],l=ae?Math.min(ae[1],i):(()=>{const e=("sm"===h?500:"md"===h?600:"lg"===h?700:"xl"===h?800:920)*s;return Math.max(320,Math.min(e,t.h-80))})(),c="cascade"!==(getComputedStyle(document.documentElement).getPropertyValue("--window-position")?.trim()||"cascade")||r()?0:30*(Sn.length-1),u=Math.max(gt,(i-l)/2),d=(o-a)/2,m=t.h-gt-l-u;return"top-right"===$?{x:t.x+t.w-a-gt,y:t.y+gt,w:a,h:l}:"top-left"===$?{x:t.x+gt,y:t.y+gt,w:a,h:l}:{x:t.x+Math.max(gt,(o-a)/2+gt)+Math.min(c,Math.max(0,d)),y:t.y+u+Math.min(c,Math.max(0,m)),w:a,h:l}},[h]),nn=O(!1);t||(nn.current=!1);const rn=se||d||null;F(()=>{if(!t)return;Vn(St,rn,ht.current??void 0),se||Jn(St),_t.current=!1,Tt(xr(St));const e=()=>{Tt(xr(St))},n=()=>{},r=e=>{if(!e)return!1;if(e.windowKey)return e.windowKey===se;if(!e.label)return!1;const t=tt.current?.querySelector("[data-window-title]");return!!t?.textContent?.includes(e.label)},o=e=>{if(!r(e.detail))return;if(Jn(St),yn.current)return;const t=nr(),n=Math.min(Ln.current.w,t.w-40),o=Math.min(Ln.current.h,t.h-40),i=t.x+(t.w-n)/2,a=t.y+(t.h-o)/2;ln({x:i,y:a,w:n,h:o}),kn(!1)},i=e=>{const t=e.detail;r(t)&&(Jn(St),Oe({x:t.x,y:t.y}))},a=e=>{if(e.detail?.windowKey!==se)return;Jn(St);const t=Ln.current,n=function(e,t=nr()){const n=Math.min(e.w,t.w),r=Math.min(e.h,t.h);return{w:n,h:r,x:Math.min(Math.max(e.x,t.x),t.x+t.w-n),y:Math.min(Math.max(e.y,t.y),t.y+t.h-r)}}(t);if(n.x===t.x&&n.y===t.y&&n.w===t.w&&n.h===t.h)return;const r=tt.current,o="function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(r&&!o){let e=!1;const t=()=>{e||(e=!0,r.style.transition="",window.dispatchEvent(new CustomEvent("modal-geometry")))};r.style.transition="left .28s ease, top .28s ease, width .28s ease, height .28s ease",r.addEventListener("transitionend",t,{once:!0}),window.setTimeout(t,400)}ln(n)};return window.addEventListener("modal-reorder",e),window.addEventListener("modal-split-view",n),window.addEventListener("modal-center",o),window.addEventListener("modal-reveal",a),window.addEventListener("modal-context-menu",i),()=>{!function(e){const t=Sn.indexOf(e);-1!==t&&(Sn.splice(t,1),Pn()),Tn.delete(e),An.delete(e),$n.delete(e);const n=Kn.get(e);n&&(Kn.delete(e),Wn.delete(n))}(St),window.removeEventListener("modal-reorder",e),window.removeEventListener("modal-split-view",n),window.removeEventListener("modal-center",o),window.removeEventListener("modal-reveal",a),window.removeEventListener("modal-context-menu",i),window.dispatchEvent(new CustomEvent("modal-reorder"))}},[t,St,rn,Zt]);const on=!U&&"maximized"===Mn(),[sn,ln]=j(()=>{if(rn&&hn[rn]){const e={...hn[rn]};return ae&&(e.w=ae[0],ne||(e.h=ae[1])),sr(e)}return S?{x:S.x,y:S.y,w:S.w,h:S.h}:on?Zt():en()}),[cn,un]=j(()=>!ne),dn=O(de),mn=O(null);F(()=>{const e=()=>{const e=r();e!==dn.current&&mn.current?.(e),dn.current=e,he(e),Tt(xr(St))};return window.addEventListener("react-os-shell:layout-mode-changed",e),()=>window.removeEventListener("react-os-shell:layout-mode-changed",e)},[St]);const fn=de&&!!je?.tab&&!dt&&!U&&!me,wn=fn,yn=O(wn);yn.current=wn;const gn=On(),bn=de&&!!je?.tab&&!U&&!me&&!Dt&&gn!==je.key,vn=!!U&&de&&!Dt&&null!==gn,[xn,kn]=j(()=>rn&&hn[rn]||S?wn:wn||on),Ln=O(sn);Ln.current=sn;const zn=O(xn);R(()=>{zn.current=xn},[xn]),R(()=>{if(cn||fn)return;const e=tt.current,t=rt.current;if(!e||!t)return;const n=re??(U?0:240),r=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--taskbar-height"))||0;let o=0,i=null,a=null;const s=()=>{const c=t.firstElementChild;if(!c||e.offsetHeight<=0)return;c!==a&&(a&&l.unobserve(a),l.observe(c),a=c);const u=e.offsetHeight-t.offsetHeight,d=t.style.flex,h=t.style.overflowY,m=t.style.height;t.style.flex="0 0 auto",t.style.height="auto",t.style.overflowY="visible";const p=t.offsetHeight,f=c.offsetHeight;t.style.flex=d,t.style.height=m,t.style.overflowY=h;const w=c.offsetHeight>f+4,y=Math.max(n,window.innerHeight-r-Math.max(0,Ln.current.y)-24),g=w?Math.min(Ln.current.h,y):Math.min(Math.max(n,u+p),y),b=Math.abs(g-o)>1;b&&(o=g,ln(e=>Math.abs(e.h-g)>1?{...e,h:g}:e)),U||(g<=n?i&&(clearTimeout(i),i=null):(b||null===i)&&(i&&clearTimeout(i),i=setTimeout(()=>{const e=o;s(),o===e&&un(!0)},160)))},l=new ResizeObserver(s);s(),lt.current&&l.observe(lt.current);const c=new MutationObserver(s);return c.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>{l.disconnect(),c.disconnect(),i&&clearTimeout(i)}},[cn,U,re,ct,fn]),R(()=>{if(!ne||!cn||U||!t)return;const e=lt.current;if(!e)return;let n=e.offsetHeight;const r=new ResizeObserver(()=>{if(!e.isConnected)return;const t=e.offsetHeight,r=t-n,o=t>0!=n>0;if(n=t,!o||0===r||xn)return;if(document.body.classList.contains("rosh-gesturing"))return;const i=re??240,a=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--taskbar-height"))||0,s=Math.max(i,window.innerHeight-a-Math.max(0,Ln.current.y)-24);ln(e=>({...e,h:Math.min(Math.max(i,e.h+r),s)}))});return r.observe(e),()=>r.disconnect()},[ne,cn,U,t,xn,re]);const Dn=!1!==oe&&!U&&!G&&!me,[In,Rn]=j(()=>!Dn);R(()=>{if(In||!t)return;if(!Dn||xn)return void Rn(!0);const n=tt.current,r=rt.current;if(!n||!r)return;const o=/* @__PURE__ */new WeakSet;let i=Ln.current.w,c=0;const u=()=>Rn(!0),d=()=>{c=0;const t=Ln.current;if(Math.abs(t.w-i)>1||document.body.classList.contains("rosh-gesturing"))return void u();const d=e(),h=d.w-80;if(t.w>=h)return void u();const m=[],p=[];for(const e of[r,...Array.from(r.querySelectorAll("*"))]){const t=e.scrollWidth-e.clientWidth;if(t<=4||o.has(e))continue;const n=getComputedStyle(e).overflowX;"auto"!==n&&"scroll"!==n||(m.push(e),p.push(t))}if(!m.length)return;const f=Math.min(h,t.w+Math.max(...p)),w=f-t.w,y=n.style.width;n.style.width=`${f}px`;const g=m.map((e,t)=>({over:p[t],residual:e.scrollWidth-e.clientWidth}));n.style.width=y,g.forEach((e,t)=>{a(e,w)||o.add(m[t])});const b=s(t,l(t.w,w,g),d,gt);b!==t&&(i=b.w,ln(b))};d();const h=new MutationObserver(()=>{c||(c=requestAnimationFrame(d))});h.observe(r,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["style","class","hidden"]});const m=setTimeout(u,Cn);return()=>{h.disconnect(),c&&cancelAnimationFrame(c),clearTimeout(m)}},[In,t,Dn,xn]);const Fn=O(null),jn=!(!je?.tab||dt||U||me);mn.current=t=>{if(!jn)return;if(t)return Fn.current||(Fn.current={box:{...Ln.current},maximized:zn.current}),void(zn.current=!0);const r=Fn.current;Fn.current=null;const o=e();if(r?.maximized)return zn.current=!0,kn(!0),void ln(o);const i=r?.box??(rn?hn[rn]:void 0);if(zn.current=!1,kn(!1),i&&!n(i,o,!1)){const e={...i};ae&&(e.w=ae[0],ne||(e.h=ae[1])),ln(sr(e))}else ln(en())},F(()=>{wn&&(zn.current=!0,kn(!0),ln(Zt()))},[wn,Zt]),F(()=>{if(U)return;const e=()=>{const e=rn?hn[rn]:void 0;if(zn.current=!1,kn(!1),e){const t={...e};ae&&(t.w=ae[0],ne||(t.h=ae[1])),ln(sr(t))}else ln(en())};return window.addEventListener("react-os-shell:restore-windowed",e),()=>window.removeEventListener("react-os-shell:restore-windowed",e)},[U,en,rn]),F(()=>{t&&rn&&!fn&&(hn[rn]=sn,pn()),t&&window.dispatchEvent(new CustomEvent("modal-geometry"))},[sn,t,rn,fn]),F(()=>{if(!t)return;const e=()=>{zn.current?ln(Zt()):document.body.classList.contains("rosh-gesturing")||ln(sr)};window.addEventListener("resize",e),window.addEventListener(o,e);let n=null;return xn&&(n=new MutationObserver(e),n.observe(document.body,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["class"]})),()=>{window.removeEventListener("resize",e),window.removeEventListener(o,e),n?.disconnect()}},[t,xn,Zt]),F(()=>{if(t&&(Pe(!1),We.current=!1,et.current=!1,Rn(!Dn),!yn.current)){if(rn&&hn[rn]){const e=hn[rn];return void ln(t=>sr({...e,...ne?{h:t.h}:{},...Dn?{x:t.x,w:t.w}:{}}))}S&&(ln({x:S.x,y:S.y,w:S.w,h:S.h}),kn(S.maximized))}},[t]),F(()=>{if(!t||"auto"!==m)return;let e;const n=t=>{tt.current?.contains(t.target)&&!We.current&&(We.current=!0,e=setTimeout(()=>Pe(!0),0))};return document.addEventListener("input",n,!0),document.addEventListener("change",n,!0),()=>{clearTimeout(e),document.removeEventListener("input",n,!0),document.removeEventListener("change",n,!0)}},[t,m]);const qn="auto"===m?Ie:!0===m,Bn=je&&!dt?je.key:null,Un=V(()=>$t(Ce),[Ce]),Yn=O({shortcutSpec:Fe,isOnDesktop:Ye,toggleDesktopShortcut:Ve,taskbarStrings:Te.taskbar});R(()=>{Yn.current={shortcutSpec:Fe,isOnDesktop:Ye,toggleDesktopShortcut:Ve,taskbarStrings:Te.taskbar}});const Xn=O(null);Xn.current||(Xn.current={open:(e,t)=>Oe({x:e,y:t}),items:()=>{const e=Yn.current,t=[];e.shortcutSpec&&t.push({label:e.isOnDesktop?e.taskbarStrings.removeFromDesktop:e.taskbarStrings.addToDesktop,onSelect:e.toggleDesktopShortcut});for(const e of tn[St]||[])t.push({label:e.label,icon:e.icon,onSelect:e.onClick});return t}}),F(()=>{if(t&&Bn)return()=>{return e=Bn,void(Ot.delete(e)&&qt());var e}},[t,Bn]),Xe(!(se||!t)&&qn);const _n=B(()=>qn||"auto"===m&&We.current,[qn,m]),Gn=B(async e=>{if(et.current)return!1;if(!_n())return!0;et.current=!0;const t=Ae,n="close"===e?"Are you sure you want to close?":"Are you sure you want to continue?",r=await y({title:"Discard changes?",message:t?`“${t}” has unsaved changes. ${n} All changes will be lost.`:`You have unsaved changes. ${n} All changes will be lost.`,confirmLabel:"Discard",cancelLabel:"Keep Editing",variant:"warning"});return et.current=!1,r},[_n,Ae]),rr=B(()=>et.current?Promise.resolve():_n()?Gn("close").then(e=>{e&&i()}):(i(),Promise.resolve()),[_n,Gn,i]),or=B(async()=>{const e=await Gn("switch");return e&&(We.current=!1,Pe(!1)),e},[Gn]),lr=O(()=>!1);R(()=>{lr.current=_n}),R(()=>{if(!t||!se)return;const e={holdsChanges:()=>lr.current(),ask:or};return Hn.set(se,e),()=>{Hn.get(se)===e&&Hn.delete(se)}},[t,se,or]),R(()=>{if(!t||!mt)return;const e=e=>{e.detail?.windowKey===mt&&rr()};return window.addEventListener(Cr,e),()=>window.removeEventListener(Cr,e)},[t,mt,rr]);const ur=O(null),mr=B(e=>{if(0!==e.button)return;if(e.target.closest("button, input, a, kbd, select, textarea"))return;if(Oe(null),Jn(St),yn.current)return void e.preventDefault();e.preventDefault();const t=e.currentTarget,n=e.pointerId;let r=null;const o=e.clientX,i=e.clientY,a=tt.current,s=a?.getBoundingClientRect();let l,c,u,d;if(ur.current){const t=ur.current;ur.current=null,d=t.w,u=t.h;const n=s?Math.min(Math.max(20,e.clientX-s.left),t.w-20):t.w/2;l=e.clientX-n,c=e.clientY-12,a&&(a.style.width=`${d}px`,a.style.height=`${u}px`,a.style.left=`${l}px`,a.style.top=`${c}px`)}else l=s?s.left:Ln.current.x,c=s?s.top:Ln.current.y,u=s?s.height:Ln.current.h,d=s?s.width:Ln.current.w;kn(!1),ln(e=>({...e,x:l,y:c,w:d,h:u}));let h=null;const m=e=>{if(!r){if(Math.abs(e.clientX-o)<br&&Math.abs(e.clientY-i)<br)return;r=vr(t,n,"move","move"),a&&(a.style.transition="none")}const s=l+e.clientX-o,u=Math.max(0,c+e.clientY-i);if(a&&(a.style.transform=`translate(${s-l}px, ${u-c}px)`),Ln.current={...Ln.current,x:s,y:u},!U){const t=function(e,t){const n=nr(),r=e<=n.x+er,o=e>=n.x+n.w-er,i=t<=n.y+er,a=t>=n.y+n.h-er,s=e<=n.x+tr,l=e>=n.x+n.w-tr,c=t<=n.y+tr,u=t>=n.y+n.h-tr;return i&&s?"tl":i&&l?"tr":a&&s?"bl":a&&l?"br":c&&r?"tl":c&&o?"tr":u&&r?"bl":u&&o?"br":i?"top":r?"left":o?"right":null}(e.clientX,e.clientY);t!==h&&(h=t,t?dr(cr(t)):hr())}},p=()=>{window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",p),r?.(),hr();const e=sr({...Ln.current});if(Ln.current=e,!U&&h){ur.current={x:l,y:c,w:d,h:u};const e=cr(h);return a&&(a.style.left=`${e.x}px`,a.style.top=`${e.y}px`,a.style.width=`${e.w}px`,a.style.height=`${e.h}px`,a.style.transform="",a.style.transition=""),void ln(e)}if(U){const t=e.x+e.w/2,n=window.innerWidth/2;Ze(t>n?"right":"left")}a&&(a.style.left=`${e.x}px`,a.style.top=`${e.y}px`,a.style.transform="",a.style.transition=""),ln(e)};window.addEventListener("pointermove",m),window.addEventListener("pointerup",p)},[]),pr=B((e,t)=>{if(0!==e.button)return;e.preventDefault(),e.stopPropagation();const n=e.currentTarget,r=e.pointerId;let o=null;const i=e.clientX,a=e.clientY,s=tt.current,l=s?.getBoundingClientRect(),c=l?l.left:Ln.current.x,u=l?l.top:Ln.current.y,d=l?l.width:Ln.current.w,h=l?l.height:Ln.current.h,m="sw"===t||"nw"===t||"w"===t,p="ne"===t||"nw"===t||"n"===t,f="se"===t||"ne"===t||"e"===t,w="se"===t||"sw"===t||"s"===t;kn(!1),ln({x:c,y:u,w:d,h:h}),Ln.current={x:c,y:u,w:d,h:h};let y=0,g=null;const b=()=>{if(y=0,!g)return;const e=g;g=null,Ln.current=e,s&&(s.style.left=`${e.x}px`,s.style.top=`${e.y}px`,s.style.width=`${e.w}px`,s.style.height=`${e.h}px`)},v=e=>{if(!o){if(Math.abs(e.clientX-i)<br&&Math.abs(e.clientY-a)<br)return;o=vr(n,r,gr[t],"resize")}g=((e,t)=>{let n=c,r=u,o=d,i=h;if(f&&(o=Math.max(ir,d+e)),w&&(i=Math.max(ar,h+t)),m){const t=Math.max(ir,d-e);n=c+d-t,o=t}if(p){const e=Math.max(ar,h-t);r=u+h-e,i=e}return{x:n,y:r,w:o,h:i}})(e.clientX-i,e.clientY-a),y||(y=requestAnimationFrame(b))},x=()=>{window.removeEventListener("pointermove",v),window.removeEventListener("pointerup",x),y&&cancelAnimationFrame(y),b(),o?.(),ln({...Ln.current})};window.addEventListener("pointermove",v),window.addEventListener("pointerup",x)},[]),fr=B(e=>{if(e.target.closest("button, input, a, kbd, select, textarea"))return;const t={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]}[e.key];if(!t&&"Enter"!==e.key)return;if(e.preventDefault(),e.stopPropagation(),Jn(St),"Enter"===e.key)return void(xn?(kn(!1),ln(en())):(kn(!0),ln(Zt())));const[n,r]=t;if(e.ctrlKey||e.metaKey){const e=()=>{ur.current||(ur.current={...Ln.current})};if(r<0)return e(),kn(!0),void ln(Zt());if(r>0){if(xn)return kn(!1),void ln(en());if(ur.current){const e=sr(ur.current);return ur.current=null,Ln.current=e,void ln(e)}return void Qn(St)}e(),kn(!1);const t=cr(n<0?"left":"right");return Ln.current=t,void ln(t)}if(xn)return;const o=Ln.current,i=e.shiftKey?{...o,w:Math.max(ir,o.w+24*n),h:Math.max(ar,o.h+24*r)}:sr({...o,x:o.x+24*n,y:Math.max(0,o.y+24*r)});Ln.current=i,ln(i)},[St,xn,en,Zt]),yr=B(e=>{ur.current||(ur.current={...Ln.current}),kn(!1);const t=cr(e);Ln.current=t,ln(t),Jn(St)},[St]),Mr=wn||Kt?{}:{tabIndex:0,role:"group","aria-label":Ae?`${Ae} — ${ze.windowSuffix}`:ze.windowSuffix,"aria-keyshortcuts":"ArrowUp ArrowDown ArrowLeft ArrowRight Shift+ArrowUp Shift+ArrowDown Shift+ArrowLeft Shift+ArrowRight Control+ArrowUp Control+ArrowDown Control+ArrowLeft Control+ArrowRight Enter",onKeyDown:fr},Nr=()=>{kn(!0),ln(Zt())},Sr=B(()=>{const e=tt.current;if(!e)return;const t=e.querySelector("form");if(t)t.requestSubmit();else{const t=e.querySelector(Gt);t&&!t.disabled&&t.click()}},[]);F(()=>{if(!t)return;if(U)return;const e=e=>{if(Sn[Sn.length-1]===St&&"Enter"===e.key){const t=e.target;if("TEXTAREA"===t.tagName||t.isContentEditable)return;if(e.metaKey||e.ctrlKey)e.preventDefault(),Sr();else{if("INPUT"===t.tagName&&t.closest("form"))return;if(!(t instanceof Element&&tt.current?.contains(t)))return;if(t.closest(Jt))return;e.preventDefault()}}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,Sr,St,U]),F(()=>{if(!t)return;const e=e=>{Sn[Sn.length-1]===St&&((e.metaKey||e.ctrlKey)&&"s"===e.key?(e.preventDefault(),document.dispatchEvent(new CustomEvent("modal-save",{detail:{modalId:St}})),We.current=!1,Pe(!1)):e.altKey&&e.shiftKey&&("KeyD"===e.code||"D"===e.key||"d"===e.key)&&(e.preventDefault(),document.dispatchEvent(new CustomEvent("modal-duplicate",{detail:{modalId:St}}))))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t]),F(()=>{if(!t)return;if(U)return;const e=e=>{if("Escape"===e.key&&Sn[Sn.length-1]===St){if(I(e))return e.preventDefault(),void e.stopPropagation();if(fn&&!A)return;e.preventDefault(),e.stopPropagation(),rr()}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,rr,St,U,fn,A]);const Ar=t&&(void 0!==p||void 0!==f),[Dr]=j(()=>{if("undefined"==typeof document)return null;const e=document.createElement("span");return e.className="flex shrink-0 items-center gap-2",e.setAttribute("data-tab-actions",""),e}),Pr=fn&&!je?.home&&Un.actions.length>0;F(()=>{t&&Bn&&function(e,t){const n=Ot.get(e);n&&n.title===t.title&&n.dirty===t.dirty&&n.copy===t.copy&&n.actions===t.actions&&n.menu===t.menu||(Ot.set(e,t),qt())}(Bn,{title:Un.text||Ae,dirty:qn,copy:Un.copy,actions:Pr&&Dr?Dr:void 0,menu:Xn.current??void 0})},[t,Bn,Ae,qn,Un.text,Un.copy,Pr,Dr]);const Rr=B(e=>{const t=document.getElementById("nav-boundary-toast");t&&t.remove();const n="bottom"===e?["That's the last one, chief.","You've hit rock bottom... of the list.","End of the line, buddy.","Nothing left. Go outside.","Congratulations, you scrolled to the void.","There's no more. I checked.","You've reached the edge of the known universe.","Plot twist: there is no next one.","Even scrolling has limits. Unlike your ambition.","Last one. Time to touch grass."]:["Already at the top. Overachiever.","There is no item above this. Trust me.","You're #1. Literally.","Can't go higher. You've peaked.","This is it. The summit. The top.","First item. No VIP lounge above this.","Going up? Nope. Elevator's broken.","You want negative indexes? Bold.","Top of the list. Top of the world.","The only way is down from here."],r=n[Math.floor(Math.random()*n.length)],o=document.createElement("div");o.id="nav-boundary-toast",o.className="fixed bottom-6 left-1/2 -translate-x-1/2 z-(--z-toast) bg-gray-900 text-white flex min-h-10 items-center px-5 py-3 rounded-lg shadow-lg text-sm font-medium transition-opacity duration-300",o.textContent=r,document.body.appendChild(o),setTimeout(()=>{o.style.opacity="0",setTimeout(()=>o.remove(),300)},2e3)},[]);if(F(()=>{if(!t)return;const e=e=>{if(Sn[Sn.length-1]!==St)return;const t=e.target.tagName;"INPUT"!==t&&"TEXTAREA"!==t&&"SELECT"!==t&&(e.target.isContentEditable||("j"===e.key&&Ar&&(e.preventDefault(),p?p():Rr("bottom")),"k"===e.key&&Ar&&(e.preventDefault(),f?f():Rr("top"))))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,p,f,Ar,Rr,St]),!t||nn.current)return null;const Or=Kt?function(e){if("undefined"==typeof document)return null;const t=Array.from(document.querySelectorAll("[data-modal-panel]")).filter(e=>{const t=e;return!t.hasAttribute("data-utility")&&!t.hasAttribute("data-widget")&&"none"!==t.style.display});t.sort((e,t)=>(e.getAttribute("data-modal-id")||"").localeCompare(t.getAttribute("data-modal-id")||""));const n=t.findIndex(t=>t.getAttribute("data-modal-id")===e),r=t.length;if(n<0||r<1)return null;const o=Math.ceil(Math.sqrt(r)),i=Math.ceil(r/o),a=Math.floor(n/o),s=n%o,l=r-o*(i-1),c=a===i-1&&l<o,u=nr(),d=(u.w-20*(o+1))/o,h=(u.h-14*(i+1)-22*i)/i,m=c?(o-l)*(d+20)/2:0;return{x:u.x+20+s*(d+20)+m,y:u.y+14+a*(h+14+22),w:d,h:h}}(St):null,qr=Kt&&Or?Math.min(Or.w/sn.w,Or.h/sn.h):1,Br=(()=>{if(Kt&&Or){const e=qr,t=sn.w*e,n=sn.h*e,r=Or.x+(Or.w-t)/2-sn.x,o=Or.y+(Or.h-n)/2-sn.y,i=Rt||jt;return{transform:`translate(${r}px, ${o}px) scale(${e})`,transformOrigin:"top left",transition:"transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 280ms",cursor:"pointer",zIndex:D.expose+(i?20:10),boxShadow:i?"0 24px 72px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.55), 0 0 36px 12px rgba(96,165,250,0.85), 0 0 96px 28px rgba(96,165,250,0.55)":"0 16px 48px rgba(0,0,0,0.55)",pointerEvents:"auto"}}if(Bt&&Wt){const e="picked"===Ut;return{transition:e?"transform 640ms cubic-bezier(0.34, 1.42, 0.64, 1), box-shadow 600ms":"transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 600ms",...e?{zIndex:D.expose+30}:{}}}return null})(),Hr=b({modal:!1,titleId:!U&&(fn?!je?.home:!me)?De:void 0,label:Un.text||Ae}),Ur=/* @__PURE__ */Q("div",{children:[
50
- /* @__PURE__ */Q("div",{ref:tt,"data-modal-panel":!0,"data-modal-id":St,"data-window-key":se||void 0,...W?{"data-utility":""}:{},...Ke?{"data-pinned-top":""}:{},...U?{"data-widget":""}:{},...je?{"data-window-owner":je.key}:{},...je&&!dt?{"data-window-root":""}:{},...fn?{"data-window-tab":""}:{},...Hr,className:fn?"fixed flex flex-col overflow-hidden":"fixed rounded-(--radius-window) flex flex-col overflow-hidden "+(U?zt?"shadow-xl":"shadow-lg":"border "+(zt?"shadow-xl border-gray-200":"shadow-lg border-gray-300")),onMouseDownCapture:e=>{if(nt.current=!1,Kt){if(e.target.closest("[data-expose-close]"))return;return e.preventDefault(),e.stopPropagation(),$r(St),zr(!1),void Jn(St)}if(!zt&&!U&&!Ke&&0===e.button){const t=e.target;t.closest("[data-modal-panel]")===tt.current&&t.closest("button, input, a, select, textarea")&&!t.closest("[data-window-chrome]")&&(e.preventDefault(),e.stopPropagation(),nt.current=!0,Oe(null),Jn(St),window.addEventListener("mouseup",()=>{setTimeout(()=>{nt.current=!1},0)},{once:!0}))}},onClickCapture:e=>{nt.current&&(nt.current=!1,e.preventDefault(),e.stopPropagation())},onMouseDown:e=>{if(Kt)return;Oe(null);e.target.closest("[data-modal-panel]")===tt.current&&(e.target.closest("button, input, a, select, textarea")||Jn(St))},style:me?{zIndex:Lt+1,top:0,left:0,right:0,bottom:"var(--mobile-bottom-nav, 56px)",width:"auto",height:"auto",transform:`translateX(${we}px)`,transition:ge?"none":"transform 180ms ease-out",...U?{display:"none"}:{},...Lt<0?{display:"none"}:{},...zt||Ke||Ee&&se===Ee?{}:{display:"none"}}:{zIndex:Ke?D.pinnedWindow:Lt+1,width:sn.w,height:sn.h,top:sn.y,...U&&"right"===Qe?{right:window.innerWidth-sn.x-sn.w}:{left:sn.x},...Lt<0&&!Ke?{display:"none"}:{},...pe?{display:"none"}:{},...bn||vn?{visibility:"hidden",pointerEvents:"none"}:{},...Br??{}},children:[me&&!U&&/* @__PURE__ */Z("div",{onPointerDown:ke,className:"absolute top-0 bottom-0 left-0 w-[22px] z-[5]",style:{touchAction:"pan-y"},"aria-hidden":"true"}),U?null:fn?je?.home?null:/* @__PURE__ */Q(ee,{children:[
51
- /* @__PURE__ */Z("h2",{id:De,"data-window-title":!0,className:"sr-only",children:Un.text||Ae}),Pr&&Dr&&te(
52
- /* @__PURE__ */Z(ee,{children:Un.actions}),Dr),Un.badges.length>0&&/* @__PURE__ */Z("div",{"data-window-chrome":"","data-record-bar":"",className:"flex h-9 shrink-0 select-none items-center gap-2 overflow-hidden border-b border-gray-200 px-4",style:{backgroundColor:"rgb(var(--window-content-rgb))"},children:Un.badges})]}):me?null:
53
- /* @__PURE__ */Q("div",Y?{onPointerDown:mr,"data-window-chrome":"",...Mr,className:"flex items-center justify-between h-(--row-height-compact-bar) px-3 border-b border-gray-200 shrink-0 cursor-move select-none rounded-t-(--radius-window) focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-400 "+(zt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:zt?"rgb(var(--window-header-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-header-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
54
- /* @__PURE__ */Q("div",{"data-window-title":!0,title:Ae,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:zt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!Kt&&yt(),
55
- /* @__PURE__ */Z("span",{id:De,className:"truncate",children:Kt?Qt(Ce):Ce})]}),!Kt&&/* @__PURE__ */Q("div",{className:"flex items-center gap-2 shrink-0 ml-2",children:[W&&/* @__PURE__ */Z("button",{onClick:()=>$e(e=>!e),title:Ke?ze.unpin:ze.pinOnTop,className:"p-0.5 rounded hover:bg-gray-200 "+(Ke?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */Z(z,{name:"bookmark-square",className:"h-3 w-3",fill:Ke?"currentColor":"none",strokeWidth:1.5})}),
56
- /* @__PURE__ */Z("button",{type:"button",onClick:rr,className:"rounded p-0.5 text-gray-400 hover:text-gray-600 hover:bg-gray-200",children:/* @__PURE__ */Z(z,{name:"close",className:"h-4 w-4"})})]})]}:G?{onPointerDown:mr,"data-window-chrome":"",...Mr,className:"flex items-center justify-between h-(--row-height-compact-bar) px-3 border-b border-gray-200 shrink-0 cursor-move select-none rounded-t-(--radius-window) focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-400 "+(zt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:zt?"rgb(var(--window-header-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-header-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
57
- /* @__PURE__ */Q("div",{"data-window-title":!0,title:Ae,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:zt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!Kt&&yt(),
58
- /* @__PURE__ */Z("span",{id:De,className:"truncate",children:Kt?Qt(Ce):Ce})]}),!Kt&&/* @__PURE__ */Q("div",{className:"flex items-center gap-2 shrink-0 ml-2",children:[W&&/* @__PURE__ */Z("button",{onClick:()=>$e(e=>!e),title:Ke?ze.unpin:ze.pinOnTop,className:"p-0.5 rounded hover:bg-gray-200 "+(Ke?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */Z(z,{name:"bookmark-square",className:"h-3 w-3",fill:Ke?"currentColor":"none",strokeWidth:1.5})}),
59
- /* @__PURE__ */Z("button",{onClick:()=>Qn(St),title:ze.minimize,className:"text-gray-400 hover:text-gray-600 px-1 py-0.5 rounded hover:bg-gray-200 text-xs leading-none",children:"─"}),!wn&&/* @__PURE__ */Z(wr,{maximized:xn,onToggleMax:()=>{xn?(kn(!1),ln(en())):Nr()},onSnap:yr,buttonClassName:"text-gray-400 hover:text-gray-600 px-1 py-0.5 rounded hover:bg-gray-200 text-xs leading-none",strings:ze}),
60
- /* @__PURE__ */Z("button",{type:"button",onClick:rr,className:"rounded p-0.5 text-gray-400 hover:text-gray-600 hover:bg-gray-200",children:/* @__PURE__ */Z(z,{name:"close",className:"h-4 w-4"})})]})]}:{onPointerDown:mr,"data-window-chrome":"",...Mr,className:"flex items-center justify-between h-(--row-height-window-bar) px-3 border-b border-gray-200 shrink-0 cursor-move select-none rounded-t-(--radius-window) focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-400 "+(zt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:zt?"rgb(var(--window-header-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-header-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
61
- /* @__PURE__ */Q("div",{"data-window-title":!0,title:Ae,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:zt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!Kt&&yt(),
62
- /* @__PURE__ */Z("span",{id:De,className:"truncate",children:Kt?Qt(Ce):Ce})]}),!Kt&&/* @__PURE__ */Q("div",{className:"flex items-center gap-3 shrink-0 ml-4",children:[W&&/* @__PURE__ */Z("button",{onClick:()=>$e(e=>!e),title:Ke?ze.unpin:ze.pinOnTop,className:"text-xs px-2 py-1 rounded hover:bg-gray-200 "+(Ke?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */Z(z,{name:"bookmark-square",className:"h-3.5 w-3.5",fill:Ke?"currentColor":"none",strokeWidth:1.5})}),
63
- /* @__PURE__ */Z("button",{onClick:()=>Qn(St),title:ze.minimize,className:"text-gray-400 hover:text-gray-600 text-xs px-2 py-1 rounded hover:bg-gray-200",children:"─"}),!wn&&/* @__PURE__ */Z(wr,{maximized:xn,onToggleMax:()=>{xn?(kn(!1),ln(en())):Nr()},onSnap:yr,buttonClassName:"text-gray-400 hover:text-gray-600 text-xs px-2 py-1 rounded hover:bg-gray-200",strings:ze}),
64
- /* @__PURE__ */Z("button",{type:"button",onClick:rr,className:"rounded-(--radius-control) text-gray-400 hover:text-gray-600",children:/* @__PURE__ */Z(z,{name:"close",className:"h-5 w-5"})})]})]}),ce&&He&&!U&&!me&&/* @__PURE__ */Z("div",{"aria-hidden":"true",className:"h-[3px] shrink-0 pointer-events-none",style:{backgroundColor:`rgb(var(--window-accent-rgb) / ${zt?.9:.55})`}}),
65
- /* @__PURE__ */Z(Yt.Provider,{value:St,children:/* @__PURE__ */Z(an.Provider,{value:{rightRef:ot,leftRef:it,notify:()=>st(!0),active:zt,isDirty:qn,footerOpen:ct&&!U&&!Y&&!G&&!me},children:/* @__PURE__ */Z("div",{ref:rt,...U?{onPointerDown:mr,onContextMenu:e=>{e.preventDefault(),Je({x:e.clientX,y:e.clientY})}}:{},className:`flex-1 min-h-0 flex flex-col ${U?"p-0 cursor-move":G||J?"p-0":Y?"p-2":"p-4"} ${U||fn?"":"backdrop-blur-sm"} ${!1===E||G||J?"overflow-hidden":"overflow-y-auto overscroll-contain"} ${U?"rounded-2xl select-none":""}`,style:{...U?{touchAction:"none"}:{},backgroundColor:U?"transparent":fn?"rgb(var(--window-content-rgb))":zt?"rgb(var(--window-content-rgb) / var(--active-content-opacity, 0.9))":"rgb(var(--window-content-rgb) / var(--inactive-content-opacity, 0.8))"},children:/* @__PURE__ */Z(Me,{children:ue})})})}),U&&Ge&&/* @__PURE__ */Q(v,{minWidth:160,style:{left:Ge.x,top:Ge.y},onClose:()=>Je(null),children:[
66
- /* @__PURE__ */Z(x,{onClick:()=>{Je(null),window.dispatchEvent(new CustomEvent("widget-open-settings",{detail:St}))},children:"Settings"}),
67
- /* @__PURE__ */Z(k,{}),ie&&/* @__PURE__ */Q(ee,{children:[ie,
68
- /* @__PURE__ */Z(k,{})]}),
69
- /* @__PURE__ */Q(x,{onClick:()=>{Je(null),$e(e=>!e)},children:[
70
- /* @__PURE__ */Z("span",{className:"flex-1",children:"Always on Top"}),Ke&&/* @__PURE__ */Z(z,{name:"check",className:"h-4 w-4 text-blue-600 shrink-0",strokeWidth:2})]}),
71
- /* @__PURE__ */Z(k,{}),
72
- /* @__PURE__ */Z(x,{onClick:()=>{Je(null),rr()},children:"Close"})]}),
73
- /* @__PURE__ */Q("div",{onPointerDown:mr,ref:lt,className:`px-4 py-2 border-t border-gray-200 shrink-0 flex items-center justify-between text-xs select-none${fn?"":" cursor-move"}${zt&&!fn?" backdrop-blur-sm":""}${U||Y||G||me||!ct?" hidden":""}`,style:{touchAction:"none",backgroundColor:fn?"rgb(var(--window-footer-rgb))":zt?"rgb(var(--window-footer-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-footer-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
74
- /* @__PURE__ */Q("div",{className:"flex items-center gap-2 min-w-0",children:[pt&&/* @__PURE__ */Z(Le,{auto:!0}),T,
75
- /* @__PURE__ */Z("div",{ref:it,"data-modal-actions-left":!0,className:"flex items-center gap-2"}),w]}),
76
- /* @__PURE__ */Q("div",{className:"flex items-center gap-2 ml-auto",children:[
77
- /* @__PURE__ */Z("div",{ref:ot,"data-modal-actions":!0,className:"flex items-center gap-2"}),L]})]}),!U&&!me&&!Kt&&zt&&!wn&&/* @__PURE__ */Q(ee,{children:[
78
- /* @__PURE__ */Z("div",{onPointerDown:e=>pr(e,"se"),className:"absolute bottom-0 right-0 w-3 h-3 cursor-nwse-resize z-10"}),
79
- /* @__PURE__ */Z("div",{onPointerDown:e=>pr(e,"sw"),className:"absolute bottom-0 left-0 w-3 h-3 cursor-nesw-resize z-10"}),
80
- /* @__PURE__ */Z("div",{onPointerDown:e=>pr(e,"ne"),className:"absolute top-0 right-0 w-3 h-3 cursor-nesw-resize z-10"}),
81
- /* @__PURE__ */Z("div",{onPointerDown:e=>pr(e,"nw"),className:"absolute top-0 left-0 w-3 h-3 cursor-nwse-resize z-10"}),
82
- /* @__PURE__ */Z("div",{onPointerDown:e=>pr(e,"n"),className:"absolute top-0 left-3 right-3 h-1 cursor-ns-resize"}),
83
- /* @__PURE__ */Z("div",{onPointerDown:e=>pr(e,"s"),className:"absolute bottom-0 left-3 right-3 h-1 cursor-ns-resize"}),
84
- /* @__PURE__ */Z("div",{onPointerDown:e=>pr(e,"e"),className:"absolute top-3 bottom-3 right-0 w-1 cursor-ew-resize"}),
85
- /* @__PURE__ */Z("div",{onPointerDown:e=>pr(e,"w"),className:"absolute top-3 bottom-3 left-0 w-1 cursor-ew-resize"})]}),Kt&&/* @__PURE__ */Z("div",{className:"absolute inset-0",style:{zIndex:D.hint,cursor:"pointer",background:"transparent"},onMouseEnter:()=>Ft(!0),onMouseLeave:()=>Ft(!1),onMouseDown:e=>{e.stopPropagation(),e.preventDefault(),Jn(St),zr(!1)},onClick:e=>{e.stopPropagation(),e.preventDefault()},children:Rt&&/* @__PURE__ */Z("button",{type:"button","data-expose-close":!0,"aria-label":Te.taskbar.closeWindow,title:"Close",className:"absolute flex items-center justify-center rounded-full bg-black/55 text-white shadow-lg ring-1 ring-white/40 transition-colors hover:bg-red-500",style:{top:8,right:8,width:30,height:30,transform:`scale(${1/qr})`,transformOrigin:"top right",zIndex:D.raised},onMouseDown:e=>{e.stopPropagation(),e.preventDefault()},onClick:e=>{e.stopPropagation(),e.preventDefault(),rr()},children:/* @__PURE__ */Z(z,{name:"close",className:"h-4 w-4",strokeWidth:2.2})})})]}),Kt&&Or&&/* @__PURE__ */Z("div",{className:"fixed pointer-events-none select-none truncate text-center",style:{left:Or.x,top:Or.y+Or.h+4,width:Or.w,zIndex:D.expose+(Rt?21:11),color:"white",fontSize:"var(--text-xs)",fontWeight:500,textShadow:"0 1px 2px rgba(0,0,0,0.6)"},children:Qt(Ce)})]}),Yr=Re&&/* @__PURE__ */Q(v,{style:{left:Re.x,top:Re.y},onClose:()=>Oe(null),minWidth:160,children:[!U&&!Y&&!fn&&/* @__PURE__ */Q(ee,{children:[
86
- /* @__PURE__ */Q(x,{onClick:()=>{Qn(St),Oe(null)},children:[
87
- /* @__PURE__ */Z(z,{name:"remove",className:"h-4 w-4",strokeWidth:1.5}),ze.minimize]}),!wn&&/* @__PURE__ */Q(x,xn?{onClick:()=>{kn(!1),ln(en()),Oe(null)},children:[
88
- /* @__PURE__ */Z("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */Z("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 4.5v15m6-15v15M4.5 9h15M4.5 15h15"})}),ze.windowed]}:{onClick:()=>{Nr(),Oe(null)},children:[
89
- /* @__PURE__ */Z(z,{name:"expand",className:"h-4 w-4",strokeWidth:1.5}),ze.maximize]})]}),W&&!fn&&/* @__PURE__ */Q(x,{onClick:()=>{$e(e=>!e),Oe(null)},children:[
90
- /* @__PURE__ */Z(z,{name:"bookmark-square",className:"h-4 w-4 "+(Ke?"text-blue-600":""),fill:Ke?"currentColor":"none",strokeWidth:1.5}),Ke?ze.unpin:ze.pinOnTop]}),Fe&&/* @__PURE__ */Q(x,{onClick:()=>{Oe(null),Ve()},children:[
91
- /* @__PURE__ */Z(z,{name:"star",className:"h-4 w-4",fill:Ye?"currentColor":"none",strokeWidth:1.5}),Ye?Te.taskbar.removeFromDesktop:Te.taskbar.addToDesktop]}),(tn[St]||[]).length>0&&/* @__PURE__ */Z(ee,{children:(tn[St]||[]).map((e,t)=>/* @__PURE__ */Q(x,{onClick:()=>{Oe(null),e.onClick()},children:[e.icon,e.label]},t))}),!(fn&&je?.home)&&/* @__PURE__ */Q(ee,{children:[
92
- /* @__PURE__ */Z(k,{}),
93
- /* @__PURE__ */Q(x,{danger:!0,onClick:()=>{Oe(null),rr()},children:[
94
- /* @__PURE__ */Z(z,{name:"close",className:"h-4 w-4"}),ze.close]})]})]}),Xr=!!se&&Nt.some(e=>e.id===se),Vr=!At||Xr||U?null:/* @__PURE__ */Q("div",{"data-modal-restore-tab":!0,"data-modal-id":St,className:"fixed left-1/2 z-(--z-restore-tab) flex -translate-x-1/2 items-center gap-1 rounded-lg border border-gray-300 bg-white px-2 py-1 shadow-lg",style:{bottom:"calc(var(--taskbar-height, 0px) + 12px)"},children:[
95
- /* @__PURE__ */Z("button",{type:"button",onClick:()=>Jn(St),title:ze.restore,className:"max-w-[16rem] truncate rounded px-2 py-0.5 text-sm font-medium text-gray-700 hover:bg-gray-100 hover:text-gray-900",children:Ae||ze.windowSuffix}),
96
- /* @__PURE__ */Z("button",{type:"button",onClick:()=>Jn(St),title:ze.restore,"aria-label":ze.restore,className:"rounded px-2 py-0.5 text-xs leading-none text-gray-400 hover:bg-gray-100 hover:text-gray-600",children:"▴"}),
97
- /* @__PURE__ */Z("button",{type:"button",onClick:()=>{rr()},title:ze.close,"aria-label":ze.close,className:"rounded px-2 py-0.5 text-xs leading-none text-gray-400 hover:bg-gray-100 hover:text-gray-600",children:"✕"})]});return te(
98
- /* @__PURE__ */Q(Xt.Provider,{value:null,children:[Ur,Yr,Vr]}),document.body)}"undefined"!=typeof window&&window.addEventListener("keydown",e=>{Nr&&"Escape"===e.key&&(qr(null),zr(!1))});var Xr=100,Vr={past:[],future:[]};function _r(e,t){switch(t.type){case"record":{const n=e.past[e.past.length-1];if(null!==t.step.coalesceKey&&n?.coalesceKey===t.step.coalesceKey)return 0===e.future.length?e:{...e,future:[]};const r=[...e.past,t.step];return{past:r.length>Xr?r.slice(r.length-Xr):r,future:[]}}case"undo":return 0===e.past.length?e:{past:e.past.slice(0,-1),future:[t.redoStep,...e.future]};case"redo":return 0===e.future.length?e:{past:[...e.past,t.undoStep],future:e.future.slice(1)};case"clear":return 0===e.past.length&&0===e.future.length?e:Vr}}var Gr=/* @__PURE__ */new Set(["INPUT","TEXTAREA","SELECT"]);var Jr=500,Qr=250;function Zr({children:e,canEdit:t=!0,perms:n,windowId:r}){const[o,a]=G(_r,Vr),s=O(/* @__PURE__ */new Map),[l,c]=j(0),u=l>0,[d,h]=j(0),[m,p]=j(0),f=m>0,{hasAnyPerm:w}=i(),y=t&&0===d&&(!(n&&n.length>0)||w(n)),g=O(null),b=O(!1),v=B(()=>{const e={};for(const[t,n]of s.current)e[t]=n.getLast();return e},[]),x=B((e,t)=>{s.current.has(e)||c(e=>e+1),s.current.set(e,t)},[]),k=B(e=>{s.current.delete(e)&&c(e=>e-1)},[]),E=B(e=>{h(t=>t+(e?1:-1))},[]),C=B(e=>{p(t=>t+(e?1:-1))},[]),[M,N]=j(0),S=M>0,L=B(e=>{N(t=>t+(e?1:-1))},[]),T=K(Ne),z=T?.claimReadOnly;F(()=>{if(z&&!y)return z(!0),()=>z(!1)},[z,y]);const A=T?.claimOwnMount;F(()=>{if(A&&S)return A(!0),()=>A(!1)},[A,S]);const D=O({last:0,count:0,tripped:!1}),I=O(!1),P=B((e,t,n)=>{if(b.current)return void(n&&function(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}(n.prev,n.next)||(I.current=!0));if(!y||g.current)return;const r=D.current;if(r.tripped)return;const o=Date.now();if(o-r.last>Qr&&(r.count=0),r.last=o,++r.count>Jr)return r.tripped=!0,void console.error(`[efficient-shell] UndoProvider: "${e}" recorded ${Jr} undo steps with no pause between them, which no user action can do. The value passed to useUndoable for this slice is almost certainly rebuilt on every render (a .map/.filter/object literal in the call) rather than held in state, so it reads as changed every time — and since recording a step re-renders the form, that is a loop. Undo recording is now off for this form to keep the tab responsive.`);g.current={values:v(),label:e,coalesceKey:t},queueMicrotask(()=>{const e=g.current;g.current=null,e&&a({type:"record",step:e})})},[y,v]),W=B(e=>{for(const[t,n]of Object.entries(e)){const e=s.current.get(t);e&&(e.setLast(n),e.apply(n))}},[]),$=B(()=>{const e=o.past[o.past.length-1];if(!e)return;const t={values:v(),label:e.label,coalesceKey:null};W(e.values),a({type:"undo",redoStep:t})},[o.past,v,W]),R=B(()=>{const e=o.future[0];if(!e)return;const t={values:v(),label:e.label,coalesceKey:null};W(e.values),a({type:"redo",undoStep:t})},[o.future,v,W]),[q,H]=j(0),U=O(0),Y=O(0),X=O(!1),_=B(()=>{b.current=!0,I.current=!1,g.current=null,U.current+=1,Y.current=U.current,H(U.current)},[]),J=O(void 0),ee=B(e=>{void 0!==e&&(void 0!==J.current&&e!==J.current&&(X.current=!0),J.current=e),_()},[_]);F(()=>{b.current&&q===Y.current&&(b.current=!1,g.current=null,(I.current||X.current)&&a({type:"clear"}),I.current=!1,X.current=!1)},[q]);const te=B(()=>{X.current=!0,a({type:"clear"}),_()},[_]),ne=y&&o.past.length>0,re=y&&o.future.length>0,oe=Mr(r),ie=O({undo:$,redo:R,canUndo:ne,canRedo:re});ie.current={undo:$,redo:R,canUndo:ne,canRedo:re},F(()=>{if(!oe||!y)return;const e=e=>{const t=function(e){if(!e.metaKey&&!e.ctrlKey||e.altKey)return null;const t=e.key.toLowerCase(),n="z"===t?e.shiftKey?"redo":"undo":"y"!==t||!e.ctrlKey||e.metaKey||e.shiftKey?null:"redo";if(!n)return null;const r=e.target;return r?.isContentEditable||r?.tagName&&Gr.has(r.tagName.toUpperCase())?null:n}(e);if(!t)return;const n=ie.current;("undo"===t?n.canUndo:n.canRedo)&&(e.preventDefault(),"undo"===t?n.undo():n.redo())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[oe,y]);const ae=V(()=>({register:x,unregister:k,record:P,undo:$,redo:R,clear:te,baseline:ee,canUndo:ne,canRedo:re,enabled:y,hasState:u,handMounted:S,claimOwnMount:L,claimReadOnly:E,declaredEditable:f,claimEditable:C,undoLabel:ne?o.past[o.past.length-1].label:null,redoLabel:re?o.future[0].label:null}),[x,k,P,$,R,te,ee,ne,re,y,u,S,L,E,f,C,o.past,o.future]),se=""!==sn(),le=K(an)?.footerOpen??!1,ce=se&&y&&u&&!S&&le;/* @__PURE__ */
99
- return Q(Ne.Provider,{value:ae,children:[ce&&/* @__PURE__ */Z(cn,{position:"left",quiet:!0,children:/* @__PURE__ */Z(Le,{auto:!0})}),e]})}function eo(){const e=K(Ne),t=B(()=>{},[]);return{undo:e?.undo??t,redo:e?.redo??t,clear:e?.clear??t,baseline:e?.baseline??t,canUndo:e?.canUndo??!1,canRedo:e?.canRedo??!1,undoLabel:e?.undoLabel??null,redoLabel:e?.redoLabel??null,enabled:e?.enabled??!1,hasState:e?.hasState??!1}}function to(e){const t=K(Ne),n=t?.claimReadOnly,r=t?.claimEditable;F(()=>{const t=e?r:n;if(t)return t(!0),()=>t(!1)},[n,r,e])}function no(e,t,n){const r=K(Ne),o=_(),i=O(e),a=O(t);a.current=t,F(()=>{if(r)return r.register(o,{getLast:()=>i.current,setLast:e=>{i.current=e},apply:e=>a.current(e)}),()=>r.unregister(o)},[r,o]);const{label:s,coalesceKey:l=null}=n,c=O(r);c.current=r;const u=O({label:s,coalesceKey:l});u.current={label:s,coalesceKey:l},F(()=>{const t=c.current;t&&(Object.is(e,i.current)||(t.record(u.current.label,u.current.coalesceKey,{prev:i.current,next:e}),i.current=e))},[e])}function ro(e,t){const[n,r]=j(e);return no(n,e=>r(()=>e),t),[n,r]}export{un as CancelButton,Qe as DocFavStar,Fe as EntityWindowFallback,Re as EntityWindowLoading,je as EntityWindowState,Jt as KEY_ACTIVATED_SELECTOR,Ke as LoadingSpinner,Gt as MODAL_SUBMIT_SELECTOR,Yr as Modal,cn as ModalActions,Le as UndoControls,Zr as UndoProvider,ce as WINDOW_REGISTRY,Ce as WindowCrashedFallback,Me as WindowErrorBoundary,gt as WindowManagerProvider,rn as WindowTitle,rt as activateWindowById,At as beginWindowGesture,Xn as cancelWindowFront,pe as client_default,Br as commitExposeHighlight,Yn as confirmWindowDiscard,Dt as drainPerfEvents,Dr as exitExposeMode,kn as forgetMaximizedWindowBoxes,kr as getActiveModalId,at as getActiveWindowRoute,jr as getExposeHighlight,Ut as getWindowChromeVersion,vn as getWindowPosition,Be as isDraftEntityId,He as isDraftEntityWindow,ae as isEntityEntry,ie as isPageEntry,he as isShellApiClientConfigured,Ie as isTabWindow,zt as markMenuOpen,Bt as readWindowChrome,Bn as requestWindowFront,qr as setExposeHighlight,Tt as setPerfCollecting,de as setShellApiClient,be as setShellHomeRoute,Ee as setShellTabStrip,le as setShellWindowRegistry,bn as setWindowDefaultPosition,xn as setWindowPosition,$t as splitTitle,Fr as subscribeExposeHighlight,Ht as subscribeWindowChrome,Pe as tabGroupOf,Ar as toggleExposeMode,On as useCurrentTabKey,sn as useEnclosingModalId,Mr as useIsActiveWindow,ln as useModalActive,we as usePageSearch,eo as useUndo,to as useUndoCanEdit,no as useUndoable,ro as useUndoableState,en as useWidgetSettings,Xe as useWindowDirty,_e as useWindowManager,nn as useWindowMenuItem,on as useWindowTitle,Un as windowHoldsChanges};
@@ -1,14 +0,0 @@
1
- import{useHighlight as e}from"./chunk-CNYAHYE6.js";import{ChartTooltip as t}from"./chunk-P5BOTIJU.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-VKMEQKYT.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:A}){const N=o().charts,L=i(),S=y??(e=>h(e,L)),j=A??N.noStages,z=c(),[V,w]=m(null),{highlighted:C}=e(),E=s(null),F=l(E,560),W=$??F;if(0===x.length)/* @__PURE__ */return d("p",{className:`text-sm text-gray-500 ${k??""}`,children:j});const Z=b??a(0),B=p??54*x.length,H=Math.max(...x.map(e=>e.value),1),T="bars"===v,U=T?Math.round(Math.min(132,Math.max(80,.24*W))):Math.round(Math.min(168,Math.max(104,.38*W))),Y=e=>{const t=x[e-1]?.value;return null!=t&&t>0?100*(1-x[e].value/t):null},K=e=>{const t=Y(e);return{count:S(x[e].value),drop:null!=t?`−${u(t,1,L)}`:""}},O=T?Math.ceil(Math.max(...x.map((e,t)=>{const{count:l,drop:a}=K(t);return.62*(l.length+(a?a.length+1:0))*12}))+16):0,P=W-U-O,Q=Math.max(T?2:0,Math.min(M,P)),R=e=>Math.max(Q,P*Math.max(0,e/H)),I=e=>R(e)/2,J=U+P/2,X=e=>46+e/Math.max(1,x.length-1)*54,q=e=>`color-mix(in oklab, ${Z} ${X(e).toFixed(0)}%, ${n.surface})`,D=e=>X(e)>=55?n.surface:n.label,G=(e,t)=>null!==V?V!==e:null!==C&&C!==t,_=null!==V?x[V]:void 0;/* @__PURE__ */
2
- return f("div",{className:`relative ${k??""}`,ref:E,children:[
3
- /* @__PURE__ */f("svg",{width:"100%",height:B,viewBox:`0 0 ${W} ${B}`,role:"img","aria-labelledby":z,onMouseLeave:()=>w(null),children:[
4
- /* @__PURE__ */d("title",{id:z,children:N.funnel(x.length,S(x[0].value),S(x[x.length-1].value))}),x.map((e,t)=>{const l=t*B/x.length+g/2,a=(t+1)*B/x.length-g/2,r=(l+a)/2,o=u(e.value/(x[0].value||1)*100,0,L),i=.62*o.length*12+12;if(T){const u=U,h=u+R(e.value),{count:c,drop:m}=K(t);/* @__PURE__ */
5
- return f("g",{opacity:G(t,e.key)?.45:1,onMouseEnter:()=>w(t),children:[
6
- /* @__PURE__ */d("path",{d:`M${u},${l} L${h},${l} L${h},${a} L${u},${a} Z`,fill:q(t)}),
7
- /* @__PURE__ */d("text",{x:U-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:D(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=I(e.value),c="cone"===v?I(x[t+1]?.value??e.value):h,m=Y(t),s=2*Math.min(h,c)>=i;/* @__PURE__ */
10
- return f("g",{opacity:G(t,e.key)?.45:1,onMouseEnter:()=>w(t),children:[
11
- /* @__PURE__ */d("path",{d:`M${J-h},${l} L${J+h},${l} L${J+c},${a} L${J-c},${a} Z`,fill:q(t)}),
12
- /* @__PURE__ */d("text",{x:U-14,y:r-2,textAnchor:"end",fontSize:12,fill:n.label,children:e.label}),
13
- /* @__PURE__ */f("text",{x:U-14,y:r+14,textAnchor:"end",fontSize:11,fill:n.muted,style:{fontVariantNumeric:"tabular-nums"},children:[S(e.value),null!=m?` · −${u(m,1,L)}`:""]}),
14
- /* @__PURE__ */d("text",{x:s?J:J+Math.max(h,c)+6,y:r+4,textAnchor:s?"middle":"start",fontSize:12,fontWeight:600,fill:s?D(t):n.label,style:{fontVariantNumeric:"tabular-nums"},children:o})]},e.key)})]}),_&&null!==V&&/* @__PURE__ */d("div",{className:"pointer-events-none absolute top-2 left-2 z-10",children:/* @__PURE__ */d(t,{title:_.label,rows:[{key:"value",label:N.count,color:q(V),value:S(_.value)},{key:"share",label:N.ofFirstStage,color:n.muted,value:u(_.value/(x[0].value||1)*100,0,L)},...V>0&&x[V-1].value>0?[{key:"drop",label:N.droppedHere,color:r.critical,value:`−${u(100*(1-_.value/x[V-1].value),1,L)}`}]:[]]})})]})}export{x as FunnelChart};
@@ -1,11 +0,0 @@
1
- import{LIGHTBOX_PICTURE_FIT as e,ZoomableImage as t}from"./chunk-CGUMJZUB.js";import{isVideoUrl as r,mediaFileName as n}from"./chunk-IMDLBXO3.js";import{dialogA11y as o}from"./chunk-VWGWZY7A.js";import{useDismissPopupsOnOpen as i}from"./chunk-PKXQDCNR.js";import{useFocusTrap as l,useScrollLock as a}from"./chunk-CDAJKLGL.js";import{Button_default as s}from"./chunk-4IU5BSVE.js";import{buttonClasses as c}from"./chunk-K7U4RWXJ.js";import{Icon as m}from"./chunk-KIBL6M3T.js";import{Z_LAYERS as d}from"./chunk-62LW225J.js";import{useHydrated as u}from"./chunk-D65T4H6J.js";import{registerModalEscapeInterceptor as h}from"./chunk-TWVUQUUD.js";import{useShellStrings as f}from"./chunk-VKMEQKYT.js";import{useRef as p,useState as x,useCallback as b,useEffect as g}from"react";import{createPortal as k}from"react-dom";import{jsx as w,jsxs as v,Fragment as y}from"react/jsx-runtime";var N=/\.(pdf|docx?|xlsx?|pptx?|csv|txt|zip|rar|7z|dwg|dxf|stp|step|igs|iges)(?:[?#]|$)/i;function j(e){return e.kind?e.kind:r(e.url)?"video":N.test(e.url)?"file":"image"}var C="flex items-center justify-center rounded-full bg-black/60 text-white hover:bg-black/80 rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",L=e=>e.stopPropagation();function I({images:r,startIndex:N=0,onClose:I,onIndexChange:U,onOpenFile:D}){const K=f().lightbox,$=u(),z=p(null),A=p(null),[J,M]=x(N),W=r.length,B=$&&W>0,E=b(e=>{if(W<2)return;const t=((J+e)%W+W)%W;M(t),U?.(t)},[J,W,U]);if(i(B),l(z,B,A),a(B),g(()=>{if(B)return h(()=>(I(),!0),()=>z.current)},[B,I]),g(()=>{if(!B)return;const e=e=>{"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||e.target?.closest?.("video")||(e.preventDefault(),E("ArrowRight"===e.key?1:-1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[B,E]),!B)return null;const R=r[Math.min(J,W-1)],T=j(R),V=R.caption||n(R.url);let F;return F="video"===T?/* @__PURE__ */w("video",{src:R.url,controls:!0,playsInline:!0,"aria-label":V,onClick:L,className:`${e} rounded-lg bg-black`}):"file"===T?/* @__PURE__ */v("div",{onClick:L,className:"flex max-w-[calc(100vw-144px)] flex-col items-center gap-3 rounded-lg bg-white px-10 py-8 text-center text-gray-500",children:[
2
- /* @__PURE__ */w(m,{name:"document","aria-hidden":"true",className:"h-10 w-10"}),
3
- /* @__PURE__ */w("span",{className:"max-w-[60ch] break-all text-sm font-medium text-gray-700",children:V}),D?/* @__PURE__ */w(s,{size:"sm",onClick:()=>D(R),children:K.openFile}):/* @__PURE__ */w("a",{href:R.url,target:"_blank",rel:"noopener noreferrer",className:c({size:"sm"}),children:K.openFile})]}):/* @__PURE__ */w(t,{src:R.url,alt:V,className:`${e} object-contain`,frameClassName:"rounded-lg"}),k(
4
- /* @__PURE__ */v("div",{ref:z,...o({role:"dialog",modal:!0,label:K.label}),"data-lightbox-backdrop":"",className:"fixed inset-0 flex items-center justify-center bg-black/80",style:{zIndex:d.overlay},onClick:I,children:[F,
5
- /* @__PURE__ */v("div",{className:"absolute right-4 top-4 flex items-center gap-2",onClick:L,children:[
6
- /* @__PURE__ */w("span",{className:"rounded bg-black/60 px-2 py-1 text-xs text-white tabular-nums",children:K.counter(J+1,W)}),
7
- /* @__PURE__ */w("button",{ref:A,type:"button",onClick:I,"aria-label":K.close,className:`${C} h-8 w-8`,children:/* @__PURE__ */w(m,{name:"close","aria-hidden":"true",className:"h-4 w-4"})})]}),W>1&&/* @__PURE__ */v(y,{children:[
8
- /* @__PURE__ */w("button",{type:"button",onClick:e=>{L(e),E(-1)},"aria-label":K.previous,className:`${C} absolute left-4 top-1/2 h-10 w-10 -translate-y-1/2`,children:/* @__PURE__ */w(m,{name:"chevron-left","aria-hidden":"true",className:"h-5 w-5"})}),
9
- /* @__PURE__ */w("button",{type:"button",onClick:e=>{L(e),E(1)},"aria-label":K.next,className:`${C} absolute right-4 top-1/2 h-10 w-10 -translate-y-1/2`,children:/* @__PURE__ */w(m,{name:"chevron-right","aria-hidden":"true",className:"h-5 w-5"})})]}),
10
- /* @__PURE__ */v("div",{className:"absolute inset-x-18 bottom-4 flex items-center justify-center gap-3",onClick:L,children:[
11
- /* @__PURE__ */w("span",{className:"min-w-0 break-words text-center text-sm text-white/85",children:V}),"file"!==T&&/* @__PURE__ */w("a",{href:R.url,target:"_blank",rel:"noopener noreferrer",className:"flex-none text-xs font-medium text-white/70 underline decoration-white/30 underline-offset-2 hover:text-white",children:K.openOriginal})]})]}),document.body)}export{I as ImageLightbox,j as lightboxKind};
@@ -1,19 +0,0 @@
1
- import{ChartDot as t}from"./chunk-CK2YOGUS.js";import{stepPath as e,curvePath as a,areaBetween as r,areaFrom as l}from"./chunk-VFC6QUEN.js";import{ChartDefs as n,MOTION as i,stagger as o,fillFor as s,dashFor as c,maskId as h}from"./chunk-465RRWBY.js";import{ChartSkeleton as m}from"./chunk-ZVTOB4RE.js";import{useHighlight as d,highlightOpacity as u}from"./chunk-CNYAHYE6.js";import{ChartTooltip as f}from"./chunk-P5BOTIJU.js";import{tooltipBesideBand as p}from"./chunk-MG7A3R75.js";import{pairedAxes as g,niceAxis as k,niceMax as y,linearScale as x,axisGutter as v,bandScale as b,ladderScale as M}from"./chunk-2JWPNR2U.js";import{usePlotWidth as N}from"./chunk-MAFUXCPZ.js";import{registerModalEscapeInterceptor as j}from"./chunk-TWVUQUUD.js";import{ChartBrush as $}from"./chunk-F6YIUCIJ.js";import{resolveSeriesColor as w,CHART_INK as V,STATUS_VARS as A}from"./chunk-TZFACUMR.js";import{useShellStrings as R,useShellLocale as L}from"./chunk-VKMEQKYT.js";import{formatPercent as W,formatPlain as z}from"./chunk-C3QOHMR6.js";import{useRef as C,useState as U,useId as E,useEffect as I}from"react";import{jsx as S,jsxs as D}from"react/jsx-runtime";var T=12,B=16,F=26,O=52,Y=t=>"number"==typeof t&&Number.isFinite(t);function P({series:P,labels:K,height:Q=200,stacked:J=!1,stackMode:Z="value",levels:G,curve:H="linear",tension:X=0,max:q,yTickCount:_=4,formatValue:tt,formatTooltipValue:et,tooltipLabels:at,yAxisLabel:rt,referenceLines:lt,labelEndpoints:nt=!1,dots:it,dotVariant:ot="border",pulse:st=!1,brush:ct=!1,range:ht,onRangeChange:mt,loading:dt=!1,animate:ut=!0,reveal:ft="left-to-right",fillVariant:pt="gradient",gridStyle:gt="solid",width:kt,className:yt,emptyLabel:xt}){const vt=R().charts,bt=L(),Mt=tt??(t=>z(t,bt)),Nt=et??Mt,jt=xt??vt.noData,$t=C(null),wt=N($t),Vt=kt??wt,[At,Rt]=U(null),[Lt,Wt]=U(null),{highlighted:zt}=d(),Ct=E();if(I(()=>{if(null!==At)return j(t=>"Escape"===t.key&&(Rt(null),!0))},[At]),dt)/* @__PURE__ */
2
- return S("div",{className:yt,ref:$t,children:/* @__PURE__ */S(m,{height:Q,width:kt??wt})});const Ut=K,Et=ht??Lt??[0,Math.max(0,Ut.length-1)],[It,St]=Et,Dt=t=>ct?t.slice(It,St+1):t,Tt=P.map((t,e)=>({...t,slot:e})).filter(t=>t.data.some(Y)).map(t=>({...t,data:Dt(t.data)}));if(K=Dt(Ut),0===Tt.length||0===K.length)/* @__PURE__ */
3
- return S("div",{className:yt,ref:$t,children:/* @__PURE__ */S("p",{className:"flex items-center justify-center text-sm text-gray-500",style:{height:Q},children:jt})});const Bt=K.map((t,e)=>Tt.reduce((t,a)=>t+(Y(a.data[e])?a.data[e]:0),0)),Ft=(t,e)=>Bt[e]>0?t/Bt[e]:null,Ot=[];if(J){let t=K.map(()=>0);for(const e of Tt)t=t.map((t,a)=>t+(Y(e.data[a])?e.data[a]:0)),Ot.push("percent"===Z?t.map((t,e)=>Ft(t,e)):[...t])}const Yt=!!G&&G.length>0,Pt=t=>"right"===t.axis,Kt=!J&&!Yt&&void 0===q&&Tt.some(Pt)&&Tt.some(t=>!Pt(t)),Qt=Kt?Tt.filter(t=>!Pt(t)):Tt,Jt=Kt?Tt.filter(Pt).flatMap(t=>t.data.filter(Y)):[],Zt=J?(Ot.at(-1)??[]).filter(Y):Qt.flatMap(t=>t.data.filter(Y)),Gt=Kt?g([Math.min(0,...Zt),Math.max(0,...Zt)],[Math.min(0,...Jt),Math.max(0,...Jt)],{intervals:_+1,integerLeft:Zt.every(Number.isInteger),integerRight:Jt.every(Number.isInteger)}):null,Ht=Gt?Gt.left:J&&"percent"===Z||Yt||void 0!==q?null:k(J?0:Math.min(0,...Zt),Math.max(0,...Zt),{intervals:_+1,integer:Zt.every(Number.isInteger)}),Xt=Ht?Ht.lo:0,qt=J&&"percent"===Z?1:Ht?Ht.hi:q??y(Math.max(...Zt,0)),_t=J&&"percent"===Z?t=>W(Math.round(100*t),0,bt):Mt,te=Yt?G:Ht?Ht.ticks:x([Xt,qt],{from:0,to:1}).ticks(_+1),ee=v(te.map(_t),O),ae=Gt?v(Gt.right.ticks.map(Mt),B):B,re={left:ee,right:Math.max(ee+1,Vt-ae),top:T,bottom:Q-F},le=b(K.length,{from:re.left,to:re.right}),ne=Yt?M(G,{from:re.bottom,to:re.top}):null,ie=x([Xt,qt],{from:re.bottom,to:re.top}),oe=ie(Math.max(Xt,0)),se=t=>ne?ne(t):ie(t),ce=Gt?x([Gt.right.lo,Gt.right.hi],{from:re.bottom,to:re.top}):null,he=t=>ce&&Pt(t)?ce:se,me=ne?ne.levels.map(t=>({value:t,y:ne(t)})):te.map(t=>({value:t,y:ie(t)})),de=t=>e=>{e.preventDefault(),Rt(e=>{const a=(e??0)+t;return Math.min(K.length-1,Math.max(0,a))})},ue=Math.max(1,Math.ceil(K.length/Math.max(1,Math.floor(Vt/96))));/* @__PURE__ */
4
- return D("div",{className:`relative ${yt??""}`,ref:$t,children:[
5
- /* @__PURE__ */D("svg",{width:"100%",height:Q,viewBox:`0 0 ${Vt} ${Q}`,role:"img","aria-label":vt.overIntervals(Tt.map(t=>t.label),K.length),tabIndex:0,className:"rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-deep)]",onMouseLeave:()=>Rt(null),onBlur:()=>Rt(null),onKeyDown:t=>{"ArrowRight"===t.key&&de(1)(t),"ArrowLeft"===t.key&&de(-1)(t)},children:[
6
- /* @__PURE__ */S("defs",{children:/* @__PURE__ */S("clipPath",{id:Ct,children:/* @__PURE__ */S("rect",{x:re.left,y:re.top,width:re.right-re.left,height:re.bottom-re.top})})}),
7
- /* @__PURE__ */S(n,{id:Ct,fills:Tt.map((t,e)=>({color:w(t.slot,t.color,t.tone),variant:t.fillVariant??pt})),fadeFrom:J?.42:.3,reveal:!!ut&&ft}),me.map(t=>/* @__PURE__ */S("line",{x1:re.left,y1:t.y,x2:re.right,y2:t.y,stroke:V.grid,strokeWidth:1,shapeRendering:"crispEdges",strokeDasharray:"dashed"===gt?"3 3":void 0},`grid-${t.value}`)),
8
- /* @__PURE__ */S("line",{x1:re.left,y1:oe,x2:re.right,y2:oe,stroke:V.axis,strokeWidth:1,shapeRendering:"crispEdges"}),me.map(t=>/* @__PURE__ */S("text",{x:re.left-8,y:t.y+4,textAnchor:"end","data-axis-tick":"true",fontSize:11,fill:V.label,style:{fontVariantNumeric:"tabular-nums"},children:_t(t.value)},`ytick-${t.value}`)),Gt&&me.map((t,e)=>/* @__PURE__ */S("text",{x:re.right+8,y:t.y+4,textAnchor:"start","data-axis-tick":"true",fontSize:11,fill:V.label,style:{fontVariantNumeric:"tabular-nums"},children:Mt(Gt.right.ticks[e])},`ytick-r-${t.value}`)),rt&&/* @__PURE__ */S("text",{x:12,y:(re.top+re.bottom)/2,transform:`rotate(-90 12 ${(re.top+re.bottom)/2})`,textAnchor:"middle",fontSize:11,fill:V.label,children:rt}),
9
- /* @__PURE__ */S("g",{clipPath:`url(#${Ct})`,mask:ut&&ft?`url(#${h(Ct)})`:void 0,children:Tt.map((t,n)=>{const h=w(t.slot,t.color,t.tone),m=t.mode??(J?"area":"line"),d=u(t.key,zt);if("step"===m){const a=K.map((e,a)=>({start:le(a),end:le.end(a),value:t.data[a]})).filter(t=>Y(t.value)).map(e=>({start:e.start,end:e.end,y:he(t)(e.value)}));/* @__PURE__ */
10
- return S("path",{d:e(a),fill:"none",stroke:h,strokeWidth:2.5,strokeLinecap:"butt",strokeLinejoin:"miter",opacity:d??void 0,className:"rosh-viz-mark"},t.key)}const f=K.map((e,a)=>{const r=J?Ot[n]?.[a]:t.data[a];return Y(r)?[le.center(a),he(t)(r)]:null}).filter(t=>null!==t);if(0===f.length)return null;if("column"===m){const e=Math.max(1,.62*le.bandwidth),a="solid"===t.fillVariant,r=he(t);/* @__PURE__ */
11
- return S("g",{opacity:d??void 0,className:"rosh-viz-mark",children:K.map((l,s)=>{const c=J?Ot[n]?.[s]:t.data[s];if(!Y(c))return null;const m=r(c);/* @__PURE__ */
12
- return S("rect",{x:le.center(s)-e/2,y:Math.min(m,oe),width:e,height:Math.abs(oe-m),rx:2,fill:h,fillOpacity:a?1:.35,className:ut?i.rise:void 0,style:ut?o(s,26):void 0},s)})},t.key)}const p=a(f,H,X),g=J&&n>0?K.map((t,e)=>[le.center(e),se(Ot[n-1]?.[e]??0)-2]):null,k=g?r(p,g):l(p,f,oe);/* @__PURE__ */
13
- return D("g",{opacity:d??void 0,className:"rosh-viz-mark",children:[("area"===m||J)&&
14
- /* @__PURE__ */S("path",{d:k,fill:s(Ct,n,t.fillVariant??pt,h),stroke:"none"}),
15
- /* @__PURE__ */S("path",{d:p,fill:"none",stroke:h,strokeWidth:2,strokeLinejoin:"round",strokeLinecap:"round",strokeDasharray:c(t.stroke??(t.forecast?"animated-dashed":"solid")),className:ut&&("animated-dashed"===t.stroke||t.forecast&&!t.stroke)?i.march:void 0})]},t.key)})}),lt?.map((t,e)=>{const a=t.color??A[t.tone??"critical"],r=se(t.value);/* @__PURE__ */
16
- return D("g",{children:[
17
- /* @__PURE__ */S("line",{x1:re.left,y1:r,x2:re.right,y2:r,stroke:a,strokeWidth:1,strokeDasharray:"5 4"}),t.label&&/* @__PURE__ */S("text",{x:re.right-4,y:r-5,textAnchor:"end",fontSize:11,fontWeight:600,fill:a,children:t.label})]},`rule-${e}`)}),"none"!==(it??(nt?"last":"none"))&&Tt.map((e,a)=>{if("column"===e.mode)return null;const r=it??(nt?"last":"none"),l=w(e.slot,e.color,e.tone),n=[...e.data].map(Y).lastIndexOf(!0),i="all"===r?K.map((t,e)=>e).filter(t=>Y(J?Ot[a]?.[t]:e.data[t])):n>=0?[n]:[];/* @__PURE__ */
18
- return D("g",{children:[i.map(r=>{const i=J?Ot[a]?.[r]:e.data[r];return Y(i)?/* @__PURE__ */S(t,{cx:le.center(r),cy:he(e)(i),color:l,variant:ot,pulse:st&&r===n,title:`${K[r]}: ${e.label} ${Mt(i)}`},r):null}),nt&&n>=0&&Y(J?Ot[a]?.[n]:e.data[n])&&/* @__PURE__ */S("text",{x:le.center(n)-10,y:he(e)(J?Ot[a]?.[n]:e.data[n])-9,textAnchor:"end",fontSize:12,fontWeight:600,fill:V.label,style:{fontVariantNumeric:"tabular-nums"},children:Mt(J?Ot[a]?.[n]:e.data[n])})]},`dots-${e.key}`)}),K.map((t,e)=>e%ue===0?/* @__PURE__ */S("text",{x:le.center(e),y:Q-8,textAnchor:"middle",fontSize:11,fill:V.label,style:{fontVariantNumeric:"tabular-nums"},children:t},`xtick-${e}`):null),null!==At&&/* @__PURE__ */S("line",{x1:le.center(At),y1:re.top,x2:le.center(At),y2:re.bottom,stroke:V.axis,strokeWidth:1}),K.map((t,e)=>/* @__PURE__ */S("rect",{x:le(e),y:re.top,width:Math.max(1,le.bandwidth),height:re.bottom-re.top,fill:"transparent",onMouseEnter:()=>Rt(e)},`hit-${e}`))]}),ct&&Ut.length>2&&/* @__PURE__ */S($,{className:"mt-1",labels:Ut,width:Vt,data:P[0]?.data??[],range:Et,onRangeChange:t=>{mt?mt(t):Wt(t)}}),null!==At&&
19
- /* @__PURE__ */S("div",{className:"pointer-events-none absolute top-2 z-10",style:p(le.center(At),le.bandwidth,Vt),children:/* @__PURE__ */S(f,{title:at?.[At]??K[At],rows:Tt.map((t,e)=>({key:t.key,label:t.label,color:w(t.slot,t.color,t.tone),value:Y(t.data[At])?J&&"percent"===Z?`${W(100*(Ft(t.data[At],At)??0),1,bt)} · ${Nt(t.data[At])}`:Nt(t.data[At]):void 0})),footnote:J&&"percent"===Z?vt.inBucket(Nt(Bt[At])):void 0})})]})}export{P as TimeSeriesChart};
@@ -1,2 +0,0 @@
1
- import{TimelineCard as e}from"./chunk-SURSVJA2.js";import{TimelineTrack as n,TimelineMilestoneIcon as s}from"./chunk-ZY62UQI2.js";import{toDayMs as i,fmtSliderDate as t,DAY_MS as a}from"./chunk-YDEIXM2A.js";import{useBrowserValueOnce as l}from"./chunk-D65T4H6J.js";import{useShellStrings as o,useShellLocale as r}from"./chunk-VKMEQKYT.js";import{jsx as h}from"react/jsx-runtime";function m({title:m,heading:d,subject:c,milestones:p,summary:u,endDate:g,phaseLabels:k,variant:v="card",edgeCaptions:f,highlightKeys:y=null,onHoverChange:b}){const M=l(Date.now,null),j=[],x=[],C=o().timeline,D=r();for(const e of p){const n=i(e.date??null);null===n?x.push({key:e.key,label:e.label,kind:e.kind}):j.push({...e,ms:n})}j.sort((e,n)=>e.ms-n.ms);const K=i(g??null);let w,H,N=!0;0===j.length?(H=K??M??0,w=H-30*a,N=null!==K||null!==M):(w=j[0].ms,H=K??j[j.length-1].ms,H-w<a&&(H=w+a));const O=j.length>0?Math.max(0,Math.round((H-w)/a)):0,Y=u??(O>0?C.duration(O):void 0),A=[j.length>0?C.started(t(j[0].ms,D)):void 0,Y,x.length>0?C.reached(j.length,p.length):void 0],E=j.map(e=>{return{key:e.key,ms:e.ms,kind:e.kind,label:e.label,detail:e.detail,preview:e.preview,glyph:e.glyph,onClick:e.onClick,onOpen:e.onOpen,priority:(n=e.kind,"dfm"===n?1:0),caption:e.caption,provisional:e.provisional};var n}),I={};for(const e of j)e.phase&&(I[e.phase]=I[e.phase]||[]).push(e.ms);const J=Object.entries(I).filter(([,e])=>e.length>=2).map(([e,n])=>({key:e,label:k?.[e]??e,minMs:Math.min(...n),maxMs:Math.max(...n)})),L="rail"===v,Q=N&&/* @__PURE__ */h("div",{className:"select-none",children:/* @__PURE__ */h(n,{axis:L?"spread":"compressed",labels:L?"none":"lanes",items:E,pending:x,phases:J,startMs:w,endMs:H,todayMs:M??void 0,edgeCaptions:f,highlightKeys:y,onHoverChange:b,ariaLabel:C.milestones(m)})});/* @__PURE__ */
2
- return h("div",L?{className:"shrink-0","data-timeline-variant":"rail",children:Q}:{className:"shrink-0",children:/* @__PURE__ */h(e,{icon:/* @__PURE__ */h(s,{}),heading:d??m,subject:c,meta:A,children:Q})})}export{m as MilestoneTimeline};
@@ -1,13 +0,0 @@
1
- import{arcPath as e}from"./chunk-VFC6QUEN.js";import{MOTION as t,stagger as l}from"./chunk-465RRWBY.js";import{useHighlight as a}from"./chunk-CNYAHYE6.js";import{ChartTooltip as r}from"./chunk-P5BOTIJU.js";import{angleScale as n}from"./chunk-2JWPNR2U.js";import{usePlotWidth as o}from"./chunk-MAFUXCPZ.js";import{CHART_INK as s,resolveSeriesColor as i}from"./chunk-TZFACUMR.js";import{useShellStrings as h,useShellLocale as c}from"./chunk-VKMEQKYT.js";import{formatPercent as m,formatPlain as u}from"./chunk-C3QOHMR6.js";import{useId as d,useState as f,useRef as y}from"react";import{jsx as p,jsxs as g}from"react/jsx-runtime";function x({segments:x,variant:v="pie",size:k=280,innerRadius:M,padAngle:b=.012,maxSegments:N=6,otherLabel:I,formatValue:$,centerLabel:j,animate:P=!0,labels:w="none",labelMinShare:F=.04,className:S,emptyLabel:A}){const C=h().charts,T=c(),E=$??(e=>u(e,T)),R=I??C.other,W=A??C.nothingToBreakDown,z=d(),[U,V]=f(null),{highlighted:Y}=a(),_=y(null),B=o(_,Number.POSITIVE_INFINITY),L=x.map((e,t)=>({...e,slot:t})).filter(e=>e.value>0);if(0===L.length)/* @__PURE__ */return p("p",{className:`text-sm text-gray-500 ${S??""}`,children:W});const O=[...L].sort((e,t)=>t.value-e.value),Q=O.slice(0,N),H=O.slice(N),J=H.length>0?[...Q,{key:"__other__",label:R,value:H.reduce((e,t)=>e+t.value,0),slot:-1,color:s.muted}]:Q,K=e=>i(e.slot,e.color,e.tone),Z=J.reduce((e,t)=>e+t.value,0),q=Math.ceil(.62*Math.max(...J.map(e=>String(e.label).length),4)*11)+24,D="outside"===w&&B>=120+2*q,X=D?q:0,G=D?Math.max(120,Math.min(k,B-2*X)):k,ee=G+2*X,te=X+G/2,le=G/2,ae=G/2-12,re=M??("ring"===v?.58*ae:0),ne=n(J.length,b),oe=Math.max(...J.map(e=>e.value)),se=e=>re+(ae-re)*Math.sqrt(Math.max(0,e)/oe);let ie=-Math.PI/2;const he=(()=>{if(!D)return[];let e=-Math.PI/2;const t=J.map((t,l)=>{const a="rose"===v?n(J.length,b).step:t.value/Z*Math.PI*2,r="rose"===v?n(J.length,b).center(l):e+a/2;e+=a;const o="rose"===v?se(t.value):ae;return{key:t.key,label:t.label,share:t.value/Z,right:Math.cos(r)>=0,anchor:[te+o*Math.cos(r),le+o*Math.sin(r)],y:le+(o+14)*Math.sin(r),index:l}}).filter(e=>e.share>=F),l=Math.max(1,Math.floor((G-11-13)/26)+1),a=/* @__PURE__ */new Set;for(const e of[!0,!1]){const r=t.filter(t=>t.right===e).sort((e,t)=>t.share-e.share).slice(0,l).sort((e,t)=>e.y-t.y);for(let e=1;e<r.length;e+=1)r[e].y-r[e-1].y<26&&(r[e].y=r[e-1].y+26);for(let e=r.length-1;e>=0;e-=1){const t=e===r.length-1?G-13:r[e+1].y-26;r[e].y=Math.min(r[e].y,t)}r.forEach((e,t)=>{e.y=Math.max(e.y,0===t?11:r[t-1].y+26),a.add(e.key)})}return t.filter(e=>a.has(e.key))})(),ce=(e,t)=>null!==U?U!==e:null!==Y&&Y!==t,me=null!==U?J[U]:void 0;/* @__PURE__ */
2
- return g("div",{className:`relative ${S??""}`,ref:_,children:[
3
- /* @__PURE__ */g("svg",{width:"100%",height:G,viewBox:`0 0 ${ee} ${G}`,role:"img","aria-labelledby":z,onMouseLeave:()=>V(null),children:[
4
- /* @__PURE__ */p("title",{id:z,children:C.breakdown(E(Z),J.length)}),J.map((a,r)=>{const n=K(a),o="rose"===v?ne(r):ie,i="rose"===v?ne.step:a.value/Z*Math.PI*2-b;"rose"!==v&&(ie+=a.value/Z*Math.PI*2);const h=o+Math.max(.001,i),c="rose"===v?se(a.value):ae;/* @__PURE__ */
5
- return p("path",{d:e(te,le,re,c,o,h),fill:n,fillOpacity:ce(r,a.key)?.4:1,stroke:s.surface,strokeWidth:1,className:P?t.sweep:void 0,style:P?l(r,55):void 0,onMouseEnter:()=>V(r)},a.key)}),he.map(e=>{const t=e.right?ee-6:6,l=e.right?te+ae+14:te-ae-14;/* @__PURE__ */
6
- return g("g",{children:[
7
- /* @__PURE__ */p("polyline",{points:`${e.anchor[0].toFixed(1)},${e.anchor[1].toFixed(1)} ${l},${e.y.toFixed(1)} ${t},${e.y.toFixed(1)}`,fill:"none",stroke:s.grid,strokeWidth:1}),
8
- /* @__PURE__ */p("text",{x:t,y:e.y-2,fontSize:11,fill:s.label,textAnchor:e.right?"end":"start",children:e.label}),
9
- /* @__PURE__ */p("text",{x:t,y:e.y+10,fontSize:11,fontWeight:600,fill:s.label,textAnchor:e.right?"end":"start",style:{fontVariantNumeric:"tabular-nums"},children:m(100*e.share,1,T)})]},`lbl-${e.key}`)}),j&&re>0&&/* @__PURE__ */p("text",{x:te,y:le+5,textAnchor:"middle",fontSize:16,fontWeight:600,fill:s.label,children:j})]}),me&&null!==U&&/* @__PURE__ */p("div",{className:"pointer-events-none absolute top-2 left-2 z-10",children:/* @__PURE__ */p(r,{title:me.label,rows:[{key:"value",label:C.value,color:K(me),value:E(me.value)},{key:"share",label:C.share,color:s.muted,value:m(me.value/Z*100,1,T)}]})}),
10
- /* @__PURE__ */p("ul",{className:"m-0 mt-3 grid gap-1 p-0",style:{gridTemplateColumns:"repeat(auto-fit,minmax(140px,1fr))"},children:J.map((e,t)=>/* @__PURE__ */g("li",{className:"flex list-none items-center gap-2 text-xs text-gray-600",children:[
11
- /* @__PURE__ */p("span",{className:"h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:K(e)}}),
12
- /* @__PURE__ */p("span",{className:"flex-1 truncate",children:e.label}),
13
- /* @__PURE__ */p("span",{className:"tabular-nums text-gray-800",children:m(e.value/Z*100,1,T)})]},e.key))})]})}export{x as PieChart};
@@ -1,9 +0,0 @@
1
- import{AccessibleTable as e}from"./chunk-CDRXZBVR.js";import{bumpPath as t}from"./chunk-VFC6QUEN.js";import{useHighlight as n}from"./chunk-CNYAHYE6.js";import{ChartTooltip as o}from"./chunk-P5BOTIJU.js";import{usePlotWidth as l}from"./chunk-MAFUXCPZ.js";import{resolveSeriesColor as r,CHART_INK as a}from"./chunk-TZFACUMR.js";import{useShellStrings as i,useShellLocale as s}from"./chunk-VKMEQKYT.js";import{formatPlain as h}from"./chunk-C3QOHMR6.js";import{useRef as c,useState as m}from"react";import{jsx as d,jsxs as u}from"react/jsx-runtime";function f({nodes:f,links:k,height:p=320,width:x,nodeWidth:g=14,nodePadding:y=12,formatValue:v,className:M,emptyLabel:w}){const b=i().charts,j=s(),$=v??(e=>h(e,j)),N=w??b.noFlows,C=c(null),E=l(C),F=x??E,[A,O]=m(null),{highlighted:R}=n();if(0===f.length||0===k.length)/* @__PURE__ */
2
- return d("div",{className:M,ref:C,children:/* @__PURE__ */d("p",{className:"py-8 text-center text-sm text-gray-500",children:N})});const T=[...new Set(f.map(e=>e.depth))].sort((e,t)=>e-t),U=e=>T.length<=1?0:T.indexOf(e)/(T.length-1)*(F-g-140)+70,V=new Map(f.map(e=>{const t=k.filter(t=>t.from===e.key).reduce((e,t)=>e+t.value,0),n=k.filter(t=>t.to===e.key).reduce((e,t)=>e+t.value,0);return[e.key,Math.max(t,n,e.value??0)]})),z=/* @__PURE__ */new Map;for(const e of f)z.set(e.depth,[...z.get(e.depth)??[],e]);const B=Math.max(...[...z.values()].map(e=>e.reduce((e,t)=>e+(V.get(t.key)??0),0))),P=p-20,Q=B>0?(P-y*(Math.max(...[...z.values()].map(e=>e.length))-1))/B:0,Y=/* @__PURE__ */new Map;for(const[e,t]of z){const n=t.map(e=>Math.max(2,(V.get(e.key)??0)*Q)),o=n.reduce((e,t)=>e+t,0)+y*(t.length-1),l=n.reduce((e,t)=>e+Math.max(0,t-2),0),r=o>P&&l>0?Math.max(0,1-(o-P)/l):1;let a=10;t.forEach((t,o)=>{const l=2+Math.max(0,n[o]-2)*r;Y.set(t.key,{x:U(e),y:a,h:l,index:o}),a+=l+y})}const Z=/* @__PURE__ */new Map,H=/* @__PURE__ */new Map,K=/* @__PURE__ */new Map,L=(e,t)=>e.from===t||e.to===t,S="link"===A?.kind?k[A.index]:void 0,W="node"===A?.kind?f.find(e=>e.key===A.key):void 0;/* @__PURE__ */
3
- return u("div",{className:`relative ${M??""}`,ref:C,children:[
4
- /* @__PURE__ */u("svg",{width:"100%",height:p,viewBox:`0 0 ${F} ${p}`,role:"img","aria-label":b.sankey(f.length,k.length),onMouseLeave:()=>O(null),children:[k.map((e,n)=>{const o=Y.get(e.from),l=Y.get(e.to);if(!o||!l)return null;const a=Math.max(1,e.value*Q),i=o.y+(Z.get(e.from)??0)+a/2,s=l.y+(H.get(e.to)??0)+a/2;Z.set(e.from,(Z.get(e.from)??0)+a),H.set(e.to,(H.get(e.to)??0)+a);const h=o.x+g,c=l.x,m=r(o.index,e.color),u=`${e.from}→${e.to}`,f=K.get(u)??0;K.set(u,f+1);const k=((e,t)=>A?"link"===A.kind?A.index===t:L(e,A.key):null!==R?L(e,R):null)(e,n);/* @__PURE__ */
5
- return d("path",{d:t([[h,i],[c,s]]),fill:"none",stroke:m,strokeWidth:a,strokeOpacity:null===k||k?.42:.12,onMouseEnter:()=>O({kind:"link",index:n})},f?`${u}#${f}`:u)}),f.map(e=>{const t=Y.get(e.key);if(!t)return null;const n=t.x>F/2,o=(l=e.key,A?"node"===A.kind?A.key===l:L(k[A.index],l):null!==R?R===l:null);var l;/* @__PURE__ */
6
- return u("g",{opacity:null===o||o?1:.45,onMouseEnter:()=>O({kind:"node",key:e.key}),children:[
7
- /* @__PURE__ */d("rect",{x:t.x,y:t.y,width:g,height:t.h,rx:2,fill:r(t.index,e.color,e.tone)}),
8
- /* @__PURE__ */d("text",{x:n?t.x-8:t.x+g+8,y:t.y+t.h/2+4,textAnchor:n?"end":"start",fontSize:11,fill:a.label,children:e.label})]},e.key)})]}),S&&/* @__PURE__ */d("div",{className:"pointer-events-none absolute top-2 left-2 z-10",children:/* @__PURE__ */d(o,{title:`${S.from} → ${S.to}`,rows:[{key:"value",label:b.flow,color:r(Y.get(S.from)?.index??0,S.color),value:$(S.value)}]})}),W&&/* @__PURE__ */d("div",{className:"pointer-events-none absolute top-2 left-2 z-10",children:/* @__PURE__ */d(o,{title:W.label,rows:[{key:"value",label:b.throughput,color:r(Y.get(W.key)?.index??0,W.color,W.tone),value:$(V.get(W.key)??0)}]})}),
9
- /* @__PURE__ */d(e,{caption:b.sankey(f.length,k.length),head:[b.tableFrom,b.tableTo,b.value],rows:k.map(e=>[e.from,e.to,$(e.value)])})]})}export{f as SankeyChart};
@@ -1,11 +0,0 @@
1
- import{ChartTooltip as e}from"./chunk-P5BOTIJU.js";import{usePlotWidth as t}from"./chunk-MAFUXCPZ.js";import{registerModalEscapeInterceptor as l}from"./chunk-TWVUQUUD.js";import{resolveSeriesColor as r,CHART_INK as n}from"./chunk-TZFACUMR.js";import{useShellStrings as i,useShellLocale as a}from"./chunk-VKMEQKYT.js";import{formatPlain as o}from"./chunk-C3QOHMR6.js";import{useRef as h,useId as c,useState as s,useEffect as m}from"react";import{jsx as f,jsxs as u}from"react/jsx-runtime";function x({rows:x,columns:d,cells:p,height:M,width:g,color:y,max:v,formatValue:$,label:b,className:k,emptyLabel:w,cellGap:A=2,cellRadius:N=2}){const j=i().charts,U=a(),z=$??(e=>o(e,U)),C=b??j.intensity,D=w??j.noActivity,F=h(null),R=t(F),S=g??R,T=c(),[V,B]=s(null);if(m(()=>{if(null!==V)return l(e=>"Escape"===e.key&&(B(null),!0))},[V]),0===x.length||0===d.length)/* @__PURE__ */
2
- return f("div",{className:k,ref:F,children:/* @__PURE__ */f("p",{className:"py-8 text-center text-sm text-gray-500",children:D})});const E=y??r(0),K=v??Math.max(1,...p.flat().filter(Number.isFinite)),L=96,Q=26*x.length,G=M??Q+26+26,I=Math.max(2,(Math.max(97,S)-L)/d.length),O=e=>{const t=K>0?Math.max(0,Math.min(1,e/K)):0;return`color-mix(in oklab, ${E} ${(8+92*t).toFixed(1)}%, ${n.surface})`};/* @__PURE__ */
3
- return u("div",{className:`relative ${k??""}`,ref:F,children:[
4
- /* @__PURE__ */u("svg",{width:"100%",height:G,viewBox:`0 0 ${S} ${G}`,role:"img","aria-label":j.heatmap(C,x.length,d.length),tabIndex:0,className:"rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-deep)]",onMouseLeave:()=>B(null),onBlur:()=>B(null),onKeyDown:e=>{const t="ArrowDown"===e.key?1:"ArrowUp"===e.key?-1:0,l="ArrowRight"===e.key?1:"ArrowLeft"===e.key?-1:0;0===t&&0===l||(e.preventDefault(),B(e=>({r:Math.min(x.length-1,Math.max(0,(e?.r??0)+t)),c:Math.min(d.length-1,Math.max(0,(e?.c??0)+l))})))},children:[
5
- /* @__PURE__ */f("defs",{children:/* @__PURE__ */u("linearGradient",{id:T,x1:"0",x2:"1",children:[
6
- /* @__PURE__ */f("stop",{offset:"0",stopColor:O(0)}),
7
- /* @__PURE__ */f("stop",{offset:"1",stopColor:O(K)})]})}),x.map((e,t)=>/* @__PURE__ */f("text",{x:86,y:26*t+13+4,textAnchor:"end",fontSize:11,fill:n.label,children:e},`r${t}`)),x.map((e,t)=>d.map((l,r)=>{const n=p[t]?.[r]??0,i=V&&(V.r!==t||V.c!==r);/* @__PURE__ */
8
- return f("rect",{x:L+r*I+A/2,y:26*t+A/2,width:Math.max(1,I-A),height:26-A,rx:N,fill:O(n),opacity:i?.55:1,onMouseEnter:()=>B({r:t,c:r}),children:/* @__PURE__ */f("title",{children:`${e} · ${l}: ${z(n)}`})},`${t}-${r}`)})),d.map((e,t)=>t%Math.max(1,Math.ceil(d.length/Math.max(1,Math.floor((S-L)/56))))===0?/* @__PURE__ */f("text",{x:L+t*I+I/2,y:Q+15,textAnchor:"middle",fontSize:11,fill:n.label,children:e},`c${t}`):null),
9
- /* @__PURE__ */f("rect",{x:L,y:Q+26,width:Math.min(180,Math.max(40,S-L)),height:8,rx:4,fill:`url(#${T})`}),
10
- /* @__PURE__ */f("text",{x:L,y:Q+48,fontSize:11,fill:n.label,children:"0"}),
11
- /* @__PURE__ */f("text",{x:L+Math.min(180,Math.max(40,S-L)),y:Q+48,textAnchor:"end",fontSize:11,fill:n.label,style:{fontVariantNumeric:"tabular-nums"},children:z(K)})]}),V&&/* @__PURE__ */f("div",{className:"pointer-events-none absolute top-1 right-1 z-10",children:/* @__PURE__ */f(e,{title:`${x[V.r]} · ${d[V.c]}`,rows:[{key:"v",label:C,color:E,value:null==p[V.r]?.[V.c]?void 0:z(p[V.r][V.c])}]})})]})}export{x as HeatmapChart};