efficient-shell 9.9.1 → 9.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Browser-GQ2ZK4PR.js → Browser-VUQISZ2Z.js} +14 -14
- package/dist/Calculator-IZXBE6R7.js +29 -0
- package/dist/{CurrencyConverter-SSR2XDIC.js → CurrencyConverter-AW7BB3DD.js} +8 -8
- package/dist/{Documents-5AC4WSNK.js → Documents-WPTBUSKV.js} +7 -7
- package/dist/Files-IZ6N6SG6.js +88 -0
- package/dist/{Notepad-EUIQXFUA.js → Notepad-VRQH524R.js} +10 -10
- package/dist/{PdfViewer-XSISAJZP.js → PdfViewer-FFQOKKFW.js} +1 -1
- package/dist/{PomodoroTimer-EV6D4OFU.js → PomodoroTimer-5VCWY4QT.js} +25 -25
- package/dist/{Preview-QK5HYJ6U.js → Preview-SP3WIE54.js} +14 -14
- package/dist/Sidebar-PUXP2DFI.js +43 -0
- package/dist/{Spreadsheet-HR6GBICY.js → Spreadsheet-4U4ABNE2.js} +13 -13
- package/dist/{Stock-6ZIQHGPH.js → Stock-2VWS2IQJ.js} +4 -4
- package/dist/{Weather-II7NFRMK.js → Weather-4MEYBP4D.js} +18 -18
- package/dist/{WorldClock-NBLNO63Q.js → WorldClock-Y4YRJ43F.js} +6 -6
- package/dist/ai/index.js +56 -56
- package/dist/apps/index.js +1 -1
- package/dist/bin/media-host-check.js +1 -1
- package/dist/bin/ui-check.js +1 -1
- package/dist/brand.css +1 -1
- package/dist/charts/BoxPlotChart.js +1 -1
- package/dist/charts/CandlestickChart.js +1 -1
- package/dist/charts/CartesianPlot.d.ts +24 -1
- package/dist/charts/CartesianPlot.js +1 -1
- package/dist/charts/ChartBrush.js +1 -1
- package/dist/charts/ChartFrame.js +1 -1
- package/dist/charts/ChartSkeleton.js +1 -1
- package/dist/charts/ChordChart.js +1 -1
- package/dist/charts/ColumnChart.d.ts +4 -1
- package/dist/charts/ColumnChart.js +1 -1
- package/dist/charts/FunnelChart.js +1 -1
- package/dist/charts/HeatmapChart.js +1 -1
- package/dist/charts/HistogramChart.js +1 -1
- package/dist/charts/Meter.js +1 -1
- package/dist/charts/PieChart.js +1 -1
- package/dist/charts/RadarChart.js +1 -1
- package/dist/charts/RadialBarChart.js +1 -1
- package/dist/charts/RangeChart.js +1 -1
- package/dist/charts/RankedBars.js +1 -1
- package/dist/charts/SankeyChart.js +1 -1
- package/dist/charts/ScatterChart.js +1 -1
- package/dist/charts/SpecChart.js +1 -1
- package/dist/charts/StatTile.js +1 -1
- package/dist/charts/SunburstChart.js +1 -1
- package/dist/charts/TimeSeriesChart.d.ts +1 -1
- package/dist/charts/TimeSeriesChart.js +1 -1
- package/dist/charts/TreemapChart.js +1 -1
- package/dist/charts/WaterfallChart.js +1 -1
- package/dist/charts/types.d.ts +35 -1
- package/dist/{chunk-7WGOLPGM.js → chunk-2AHLONPR.js} +1 -1
- package/dist/{chunk-2MLRK7IO.js → chunk-2GPHHW7C.js} +4 -4
- package/dist/{chunk-P3OBE43Q.js → chunk-2LDOLQ7F.js} +6 -6
- package/dist/{chunk-EFFF3FCS.js → chunk-2SJDTKQA.js} +19 -19
- package/dist/{chunk-DZTAGMNY.js → chunk-2XBJNB7D.js} +34 -34
- package/dist/{chunk-HQMN5THW.js → chunk-3FBYM6O5.js} +14 -14
- package/dist/{chunk-EXNAAHN4.js → chunk-3MHBALGV.js} +2 -2
- package/dist/{chunk-CJB73MHF.js → chunk-3XRBVYTO.js} +2 -2
- package/dist/{chunk-BVTNGW5S.js → chunk-46YVA2BF.js} +1 -1
- package/dist/chunk-4CPE5NBC.js +8 -0
- package/dist/{chunk-CO5RKOVX.js → chunk-4DBPKTVX.js} +16 -16
- package/dist/{chunk-DNWV6N4P.js → chunk-4SZ3NNVF.js} +1 -1
- package/dist/{chunk-XD34TCRG.js → chunk-4XZXY2AF.js} +1 -1
- package/dist/{chunk-5JRL5LXD.js → chunk-5AWV5R6E.js} +6 -6
- package/dist/{chunk-PYLNMN6E.js → chunk-5CVQN2BR.js} +8 -8
- package/dist/{chunk-RWJCKZEY.js → chunk-5Q3PFKB5.js} +1 -1
- package/dist/{chunk-LUWRPPJA.js → chunk-5R6RNUDB.js} +5 -5
- package/dist/{chunk-WUKN5WUM.js → chunk-5RAOFJYT.js} +6 -6
- package/dist/{chunk-SC63O7AL.js → chunk-5VYBPDZ2.js} +1 -1
- package/dist/{chunk-ZAU2HIRH.js → chunk-5XNN2SSR.js} +4 -4
- package/dist/{chunk-O5LQBBW2.js → chunk-5Y6LGPZI.js} +7 -7
- package/dist/{chunk-ZYDZY6ED.js → chunk-5Y7JITHW.js} +1 -1
- package/dist/{chunk-3APSMJPN.js → chunk-64R3IYAM.js} +1 -1
- package/dist/{chunk-Z3JW77LH.js → chunk-65DYHG73.js} +1 -1
- package/dist/{chunk-5VOVNIOU.js → chunk-6O2W4X2V.js} +1 -1
- package/dist/{chunk-VVGL5O4F.js → chunk-6TRE326A.js} +6 -6
- package/dist/{chunk-ZTL2RPNY.js → chunk-73W7537K.js} +1 -1
- package/dist/{chunk-GS5AISRS.js → chunk-7IC4JMFA.js} +4 -4
- package/dist/{chunk-OV2SWQPT.js → chunk-7JJUI52C.js} +1 -1
- package/dist/{chunk-IMOPDLMA.js → chunk-7WLFHDWA.js} +1 -1
- package/dist/chunk-7YZJLFAK.js +11 -0
- package/dist/{chunk-56RAOI7O.js → chunk-AG63JVX7.js} +6 -6
- package/dist/{chunk-WH3JHMEA.js → chunk-AGETTWMK.js} +1 -1
- package/dist/{chunk-6MVHRNWC.js → chunk-BF7PZFKT.js} +1 -1
- package/dist/{chunk-IJWFKUYA.js → chunk-BJONHLET.js} +4 -4
- package/dist/{chunk-B4KMHEFZ.js → chunk-BNKULSCG.js} +1 -1
- package/dist/{chunk-RULVWW4A.js → chunk-BRHKQMRH.js} +6 -6
- package/dist/{chunk-VG2R6PZV.js → chunk-BYHKYYL6.js} +1 -1
- package/dist/{chunk-UE4PVCA5.js → chunk-CB6ROWOC.js} +2 -2
- package/dist/chunk-CBMXYXBH.js +15 -0
- package/dist/{chunk-6JU3WQOR.js → chunk-CFO54C3H.js} +1 -1
- package/dist/{chunk-P3DTYFMC.js → chunk-CJI3POCE.js} +2 -2
- package/dist/{chunk-GVC535IA.js → chunk-D4KZOYXQ.js} +1 -1
- package/dist/chunk-D7JY2KHG.js +7 -0
- package/dist/{chunk-PDXPMHG3.js → chunk-DRNB7KDC.js} +1 -1
- package/dist/{chunk-RDKBMX6U.js → chunk-DWSCYYDM.js} +1 -1
- package/dist/{chunk-U5N6PSXO.js → chunk-E6EUGQGA.js} +5 -5
- package/dist/{chunk-N3JXHNID.js → chunk-E72USUUR.js} +10 -10
- package/dist/{chunk-C4UL2UNR.js → chunk-EOWOVR55.js} +1 -1
- package/dist/{chunk-CE5BARZI.js → chunk-EWJELWIT.js} +3 -3
- package/dist/{chunk-OQ2EDMB2.js → chunk-FEPBXJUR.js} +1 -1
- package/dist/{chunk-BWUU565Y.js → chunk-FKA6ZVQO.js} +9 -9
- package/dist/{chunk-QZKWIVZW.js → chunk-FNSVXN7B.js} +1 -1
- package/dist/{chunk-CRXFSN5K.js → chunk-G6LOKIFC.js} +11 -11
- package/dist/chunk-GCB5S2OI.js +8 -0
- package/dist/{chunk-LNQVTH5S.js → chunk-GP5UNEKY.js} +1 -1
- package/dist/{chunk-EW3L4W2I.js → chunk-GVAWCTJN.js} +8 -8
- package/dist/{chunk-X7PM7JOD.js → chunk-H2XCQJRG.js} +1 -1
- package/dist/{chunk-FBUUXK5G.js → chunk-H4YFANH5.js} +1 -1
- package/dist/chunk-HHOXLECO.js +29 -0
- package/dist/{chunk-442FFHQJ.js → chunk-HRAK46H7.js} +12 -12
- package/dist/chunk-HSTIEPLI.js +1 -0
- package/dist/chunk-I5XVZLDH.js +14 -0
- package/dist/{chunk-H7MJM2WI.js → chunk-IBIUI2D3.js} +2 -2
- package/dist/{chunk-CXMTDYVI.js → chunk-IENPHB5B.js} +1 -1
- package/dist/{chunk-FLQZ7GQ3.js → chunk-IEPSBXMU.js} +12 -12
- package/dist/{chunk-732XHVR4.js → chunk-IUWAMMDN.js} +3 -3
- package/dist/{chunk-B6YOP2IX.js → chunk-IVY7CCTS.js} +3 -3
- package/dist/{chunk-JKDEE35P.js → chunk-IZQ3XTD2.js} +1 -1
- package/dist/chunk-J7OKOVSL.js +11 -0
- package/dist/{chunk-IB4333CI.js → chunk-JECMVR4S.js} +7 -7
- package/dist/{chunk-6ZHX56NM.js → chunk-JQDRM6UK.js} +1 -1
- package/dist/{chunk-QC6OK3ED.js → chunk-JVYSRH6U.js} +1 -1
- package/dist/{chunk-5VRMQTKV.js → chunk-KAHYUBXM.js} +7 -7
- package/dist/{chunk-YWGC7J6B.js → chunk-KECOZKJU.js} +7 -7
- package/dist/{chunk-JIW5CJXC.js → chunk-KOSV4UPK.js} +2 -2
- package/dist/{chunk-NHVXVHUR.js → chunk-KQSUSVMF.js} +17 -17
- package/dist/{chunk-BBEOFKLY.js → chunk-KTRNAMHY.js} +1 -1
- package/dist/chunk-LFPJ263N.js +6 -0
- package/dist/{chunk-F4DIVARP.js → chunk-LYX55RI3.js} +1 -1
- package/dist/{chunk-XZYAFTW4.js → chunk-M5MAIJQQ.js} +4 -4
- package/dist/{chunk-XNWQ72WA.js → chunk-MCMUJDEP.js} +1 -1
- package/dist/{chunk-ZOHQVSB3.js → chunk-MUHWI4GK.js} +12 -12
- package/dist/chunk-N3CTLEJS.js +9 -0
- package/dist/{chunk-HJWTWS5E.js → chunk-N52D37FS.js} +5 -5
- package/dist/chunk-NBKQADMY.js +9 -0
- package/dist/{chunk-P4XTWAKJ.js → chunk-NCRLKFXD.js} +1 -1
- package/dist/{chunk-43ONX6UZ.js → chunk-NGQHXTUK.js} +1 -1
- package/dist/{chunk-SOP447EP.js → chunk-NRGBXEBU.js} +1 -1
- package/dist/{chunk-JS6ZSEZJ.js → chunk-O426Q7KC.js} +1 -1
- package/dist/{chunk-CAG3TSV2.js → chunk-O4NPQ23Q.js} +1 -1
- package/dist/{chunk-ZHHEMSOD.js → chunk-ODOEH5QZ.js} +2 -2
- package/dist/{chunk-ENL5L6NR.js → chunk-P65C5TUU.js} +1 -1
- package/dist/chunk-PEM7UXQ3.js +1 -0
- package/dist/chunk-PTA7A7GF.js +22 -0
- package/dist/{chunk-FLEG5KP5.js → chunk-PWBLGKQ3.js} +5 -5
- package/dist/chunk-QCFN3ET4.js +9 -0
- package/dist/{chunk-F7F6Z64G.js → chunk-QLOKT22X.js} +1 -1
- package/dist/{chunk-IK2WXW2E.js → chunk-QLYOGT3U.js} +13 -13
- package/dist/{chunk-N7T63BVD.js → chunk-QMYQ4B5A.js} +3 -3
- package/dist/{chunk-EWVOGTEX.js → chunk-QSUQC4AN.js} +1 -1
- package/dist/chunk-QYJQAY6C.js +2 -0
- package/dist/{chunk-M5GMIQ47.js → chunk-R7JTTKG2.js} +3 -3
- package/dist/{chunk-Y44ABEW3.js → chunk-REGXKU74.js} +1 -1
- package/dist/{chunk-AGUA3O5O.js → chunk-RLLONZJJ.js} +1 -1
- package/dist/chunk-RSHNWBW2.js +4 -0
- package/dist/chunk-SC6HJBQA.js +8 -0
- package/dist/{chunk-OUSKOWNP.js → chunk-SGR4V5YI.js} +3 -3
- package/dist/{chunk-CVNJSD2J.js → chunk-T2ITXX7R.js} +6 -6
- package/dist/chunk-T76X2SHR.js +4 -0
- package/dist/{chunk-ARWMJSQJ.js → chunk-T7O2TNNX.js} +1 -1
- package/dist/chunk-TBLN4MDQ.js +6 -0
- package/dist/{chunk-ANFLQSGX.js → chunk-TQH6E5V2.js} +1 -1
- package/dist/{chunk-KEK47CP3.js → chunk-TRUPMMDJ.js} +9 -9
- package/dist/{chunk-L67VXJMF.js → chunk-UL4G6JY2.js} +1 -1
- package/dist/chunk-UYDP4DK3.js +9 -0
- package/dist/{chunk-E4E7MACR.js → chunk-UZGVIHFI.js} +14 -14
- package/dist/{chunk-DWBZ3Z34.js → chunk-V5QEPNPK.js} +2 -2
- package/dist/{chunk-MV6WDGB6.js → chunk-VANJPZ3H.js} +1 -1
- package/dist/{chunk-VVAJ23SD.js → chunk-VBNA237H.js} +1 -1
- package/dist/{chunk-24K6GVNM.js → chunk-VR4GSAFM.js} +17 -17
- package/dist/{chunk-2R3BVU75.js → chunk-VZV7Q5V2.js} +1 -1
- package/dist/{chunk-IJIESSTX.js → chunk-WIOG2NOJ.js} +5 -5
- package/dist/{chunk-BCUQXILM.js → chunk-WZQCRTXF.js} +1 -1
- package/dist/chunk-X4BKHXU5.js +9 -0
- package/dist/{chunk-UKDJUYIV.js → chunk-XI45TSEK.js} +1 -1
- package/dist/{chunk-MWIT4UN2.js → chunk-XREN3AKD.js} +9 -9
- package/dist/{chunk-IGNZULKG.js → chunk-YBU7NOD7.js} +1 -1
- package/dist/{chunk-QSJR7EI7.js → chunk-YQB5OYDC.js} +1 -1
- package/dist/{chunk-TVL3JPMY.js → chunk-YWR2WRDR.js} +1 -1
- package/dist/{chunk-2HEJDLPP.js → chunk-ZA6S5XVM.js} +2 -2
- package/dist/{chunk-K4D63NP3.js → chunk-ZC3CCRPG.js} +7 -7
- package/dist/{chunk-IPTCV6CQ.js → chunk-ZPW3KQ27.js} +30 -30
- package/dist/data/DataTable.js +1 -1
- package/dist/data/Kanban.js +1 -1
- package/dist/data/ListFooter.js +1 -1
- package/dist/data/ListLoadError.js +1 -1
- package/dist/data/Pagination.js +1 -1
- package/dist/file-intake/index.js +1 -1
- package/dist/forms/BorderInput.js +1 -1
- package/dist/forms/BrandAssetEditor.js +1 -1
- package/dist/forms/Calendar.js +1 -1
- package/dist/forms/ColorPicker.js +1 -1
- package/dist/forms/ComposerAttachments.js +1 -1
- package/dist/forms/CornersInput.js +1 -1
- package/dist/forms/DatePicker.js +1 -1
- package/dist/forms/DateRangePicker.js +1 -1
- package/dist/forms/DateTimePicker.js +1 -1
- package/dist/forms/DisplayChips.js +1 -1
- package/dist/forms/FilePicker.js +1 -1
- package/dist/forms/FormErrorSummary.js +1 -1
- package/dist/forms/IconPicker.js +1 -1
- package/dist/forms/ImageFocusPoint.js +1 -1
- package/dist/forms/InputNumber.js +1 -1
- package/dist/forms/LinkPicker.js +1 -1
- package/dist/forms/MediaLibrary.js +1 -1
- package/dist/forms/MediaUploadField.js +1 -1
- package/dist/forms/MediaUploadGrid.js +1 -1
- package/dist/forms/MediaUsedInList.js +1 -1
- package/dist/forms/NumericKeypad.js +1 -1
- package/dist/forms/PositionInput.js +1 -1
- package/dist/forms/Select.js +1 -1
- package/dist/forms/SidesInput.js +1 -1
- package/dist/forms/Slider.js +1 -1
- package/dist/forms/Snippet.js +1 -1
- package/dist/forms/TagInput.js +1 -1
- package/dist/forms/TextToolbar.js +1 -1
- package/dist/forms/TimePicker.js +1 -1
- package/dist/forms/WidthsBar.js +1 -1
- package/dist/forms/mediaLibraryMenu.js +1 -1
- package/dist/forms/mediaMoveItems.js +1 -1
- package/dist/forms/textAlign.js +1 -1
- package/dist/forms/useFileIntake.js +1 -1
- package/dist/index.js +114 -114
- package/dist/locales/zh-Hans.js +1 -1
- package/dist/map/index.js +7 -7
- package/dist/page-tabs/index.js +5 -5
- package/dist/pdf/index.js +1 -1
- package/dist/shell/Accordion.js +1 -1
- package/dist/shell/AppUpdateBanner.js +1 -1
- package/dist/shell/Avatar.js +1 -1
- package/dist/shell/Banner.js +1 -1
- package/dist/shell/Breadcrumbs.js +1 -1
- package/dist/shell/BudgetBar.js +1 -1
- package/dist/shell/Card.js +1 -1
- package/dist/shell/ColoredBadge.js +1 -1
- package/dist/shell/ConfirmDialog.js +1 -1
- package/dist/shell/ContainerFillChart.js +1 -1
- package/dist/shell/CountBadge.js +1 -1
- package/dist/shell/Dialog.js +1 -1
- package/dist/shell/Drawer.js +1 -1
- package/dist/shell/EditableGrid.js +1 -1
- package/dist/shell/EmptyState.js +1 -1
- package/dist/shell/GlobalSearch.js +1 -1
- package/dist/shell/HelpCenter.js +1 -1
- package/dist/shell/IconRail.js +1 -1
- package/dist/shell/ImageLightbox.js +1 -1
- package/dist/shell/ItemCount.js +1 -1
- package/dist/shell/LanguageSelect.js +1 -1
- package/dist/shell/Markdown.js +1 -1
- package/dist/shell/MetricBar.js +1 -1
- package/dist/shell/MetricBarLegend.js +1 -1
- package/dist/shell/MilestoneTimeline.js +1 -1
- package/dist/shell/PageHeader.js +1 -1
- package/dist/shell/ProductionTimeline.js +1 -1
- package/dist/shell/ResizeHandle.js +1 -1
- package/dist/shell/Result.js +1 -1
- package/dist/shell/SearchableSelect.js +1 -1
- package/dist/shell/SettingReset.js +1 -1
- package/dist/shell/SettingRow.js +1 -1
- package/dist/shell/SidebarLayout.js +1 -1
- package/dist/shell/SidebarNav.js +1 -1
- package/dist/shell/SortableList.js +1 -1
- package/dist/shell/Statistic.js +1 -1
- package/dist/shell/TimeAgo.js +1 -1
- package/dist/shell/TimelineTrack.js +1 -1
- package/dist/shell/TransferProgress.js +1 -1
- package/dist/shell/Tree.js +1 -1
- package/dist/shell/language.js +1 -1
- package/dist/shell/strings.d.ts +6 -0
- package/dist/shell/strings.js +1 -1
- package/dist/shell/toast.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/templates/AuthScreen.js +1 -1
- package/dist/templates/ChatTemplate.js +1 -1
- package/dist/templates/CheckoutTemplate.js +1 -1
- package/dist/templates/DashboardTemplate.js +1 -1
- package/dist/templates/DataTablePage.js +1 -1
- package/dist/templates/EmailTemplate.js +1 -1
- package/dist/templates/ErrorBoundary.js +1 -1
- package/dist/templates/ErrorPage.js +1 -1
- package/dist/templates/FormLayoutPage.js +1 -1
- package/dist/templates/GalleryTemplate.js +1 -1
- package/dist/ui/index.js +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/Calculator-CSYRZAS5.js +0 -29
- package/dist/Files-4SD6LLKX.js +0 -88
- package/dist/Sidebar-Y4DTQYW2.js +0 -43
- package/dist/chunk-5SJ45P5E.js +0 -8
- package/dist/chunk-6453ISTQ.js +0 -4
- package/dist/chunk-D7IXMMZT.js +0 -9
- package/dist/chunk-FKNJSD6B.js +0 -14
- package/dist/chunk-G4EVQD5U.js +0 -8
- package/dist/chunk-G6CTTBKE.js +0 -9
- package/dist/chunk-HUF34LSW.js +0 -15
- package/dist/chunk-IMA5SXEC.js +0 -2
- package/dist/chunk-IX6QMUJQ.js +0 -9
- package/dist/chunk-JKHWZ2ZY.js +0 -19
- package/dist/chunk-KWT6GT4M.js +0 -29
- package/dist/chunk-LB3A53D5.js +0 -8
- package/dist/chunk-MG7A3R75.js +0 -1
- package/dist/chunk-N45ACN3G.js +0 -6
- package/dist/chunk-OX2DOOOI.js +0 -8
- package/dist/chunk-PDB5W7VI.js +0 -6
- package/dist/chunk-Q7KTTDUS.js +0 -11
- package/dist/chunk-QWHQJNKL.js +0 -1
- package/dist/chunk-RC6UHOAV.js +0 -4
- package/dist/chunk-TNTQL6SX.js +0 -1
- package/dist/chunk-TTHWXGT7.js +0 -11
- package/dist/chunk-WE7CYRZT.js +0 -7
|
@@ -1,68 +1,68 @@
|
|
|
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{reportBoundaryError as d}from"./chunk-KNUR2UEG.js";import{isStaleChunkError as h}from"./chunk-JDCM2VHG.js";import{Result as m}from"./chunk-
|
|
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{reportBoundaryError as d}from"./chunk-KNUR2UEG.js";import{isStaleChunkError as h}from"./chunk-JDCM2VHG.js";import{Result as m}from"./chunk-RLLONZJJ.js";import{CMD_Z as p,CMD_SHIFT_Z as f}from"./chunk-ZDMZM7HD.js";import{CopyButton as w}from"./chunk-BYHKYYL6.js";import{confirm as y}from"./chunk-QLYOGT3U.js";import{useShellPrefs as g}from"./chunk-KC3EX26K.js";import{ItemCount as v}from"./chunk-DRNB7KDC.js";import{dialogA11y as b}from"./chunk-VWGWZY7A.js";import{useIsMobile as x,useIsPhone as k}from"./chunk-UGTRSRIW.js";import{ColoredBadge as E}from"./chunk-H2XCQJRG.js";import{focusableIn as C}from"./chunk-CDAJKLGL.js";import{PopupMenu as M,PopupMenuItem as N,PopupMenuDivider as S,PopupMenuLabel as L}from"./chunk-FPGRKHUW.js";import{StatusBadge as T}from"./chunk-LNARMEEZ.js";import{Button_default as z}from"./chunk-NHH2MXFU.js";import{Icon as A}from"./chunk-FSPFV4MI.js";import{LoadingSpinner as D}from"./chunk-R2VKEMZH.js";import{Z_LAYERS as P}from"./chunk-62LW225J.js";import{runEscapeInterceptors as I}from"./chunk-TWVUQUUD.js";import{useShellStrings as R}from"./chunk-PEM7UXQ3.js";import{createContext as K,useContext as W,Component as $,useLayoutEffect as O,useRef as F,useEffect as j,useState as q,useSyncExternalStore as H,useCallback as B,isValidElement as U,Fragment as Y,Children as X,cloneElement as V,useMemo as G,useId as _,useReducer as J,Suspense as Z}from"react";import{jsxs as Q,jsx as ee,Fragment as te}from"react/jsx-runtime";import{createPortal as ne}from"react-dom";import{useLocation as re}from"react-router-dom";import{useQueryClient as oe,useQuery as ie}from"@tanstack/react-query";function ae(e){return"component"in e}function se(e){return"endpoint"in e}var le={};function ce(e){le=e}var ue=new Proxy({},{get:(e,t)=>le[t],has:(e,t)=>t in le,ownKeys:()=>Object.keys(le),getOwnPropertyDescriptor(e,t){if(t in le)return{configurable:!0,enumerable:!0,value:le[t]}}}),de=null;function he(e){de=e}function me(){return null!==de}var pe=/* @__PURE__ */new Set(["get","post","put","patch","delete","head","options","request"]),fe=new Proxy({},{get:(e,t)=>de?de[t]:"string"==typeof t&&pe.has(t)?()=>Promise.resolve({data:null,status:0,statusText:"",headers:{},config:{}}):void 0}),we=K(null);function ye(){return W(we)?.pageSearch??""}var ge=null,ve=/* @__PURE__ */new Set;function be(e){ge!==e&&(ge=e,ve.forEach(e=>e()))}function xe(){return ge}function ke(e){return ve.add(e),()=>{ve.delete(e)}}var Ee=null;function Ce(e){Ee=e}function Me({error:e,onReload:t}){const n=h(e);/* @__PURE__ */
|
|
2
2
|
return Q("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 px-6 py-12 text-center",children:[
|
|
3
3
|
/* @__PURE__ */ee(A,{name:"warning",className:"h-8 w-8 text-amber-500",strokeWidth:1.5}),
|
|
4
4
|
/* @__PURE__ */Q("div",{className:"min-w-0",children:[
|
|
5
5
|
/* @__PURE__ */ee("p",{className:"text-sm font-medium text-gray-700",children:n?"This window needs the latest version of the app":"This window crashed"}),
|
|
6
6
|
/* @__PURE__ */ee("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__ */ee("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 Ne=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),d(e)}reset=()=>this.setState({error:null});render(){const{error:e}=this.state;return e?this.props.fallback?this.props.fallback(e,this.reset):/* @__PURE__ */ee(
|
|
7
|
+
/* @__PURE__ */ee("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 Ne=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),d(e)}reset=()=>this.setState({error:null});render(){const{error:e}=this.state;return e?this.props.fallback?this.props.fallback(e,this.reset):/* @__PURE__ */ee(Me,{error:e,onReload:this.reset}):this.props.children}},Se=K(null),Le="text-xs text-gray-500 hover:text-gray-700 disabled:opacity-40 disabled:hover:text-gray-500 disabled:cursor-default";function Te({className:e="",auto:t=!1}){const n=W(Se),r=R().undo,o=n?.claimOwnMount;if(O(()=>{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
8
|
return Q("div",{className:`flex items-center gap-2 ${e}`,"data-undo-controls":t?"shell":"form",children:[
|
|
9
9
|
/* @__PURE__ */ee("button",{type:"button",onClick:i,disabled:!s,title:s?r.undoStep(c??"",p):r.nothingToUndo,className:Le,children:r.undo}),
|
|
10
|
-
/* @__PURE__ */ee("button",{type:"button",onClick:a,disabled:!l,title:l?r.redoStep(u??"",f):r.nothingToRedo,className:Le,children:r.redo})]})}var ze=/* @__PURE__ */new Set([408,429]);function Ae(e){const t=e?.response?.status;return"number"==typeof t?t:void 0}function De(e){const t=Ae(e);return null!=t&&(t>=400&&t<500&&!ze.has(t))}function Pe(e,t){return!De(t)&&e<3}function Ie(e){if("page"!==e.type)return!0;const t=e.route?ue[e.route]:void 0;if(!t||!ae(t))return!0;const n=t;return!n.widget&&!n.utility}function
|
|
11
|
-
return ee(D,{size:"sm",padding:"p-8",label:e.label})}var $e="flex-1 min-h-0";function Oe(){const e=
|
|
12
|
-
return ee(D,{label:e.loading,padding:"",className:$e})}function Fe(e){return e??void 0}function je({isPending:e,isFetching:t,enabled:n=!0,error:r,onRetry:o}){const i=
|
|
10
|
+
/* @__PURE__ */ee("button",{type:"button",onClick:a,disabled:!l,title:l?r.redoStep(u??"",f):r.nothingToRedo,className:Le,children:r.redo})]})}var ze=/* @__PURE__ */new Set([408,429]);function Ae(e){const t=e?.response?.status;return"number"==typeof t?t:void 0}function De(e){const t=Ae(e);return null!=t&&(t>=400&&t<500&&!ze.has(t))}function Pe(e,t){return!De(t)&&e<3}function Ie(e){if("page"!==e.type)return!0;const t=e.route?ue[e.route]:void 0;if(!t||!ae(t))return!0;const n=t;return!n.widget&&!n.utility}function Re(e){const t=e.route?ue[e.route]:void 0;if(!t||!ae(t))return;const n=t;return n.taskbarGroup?n.taskbarGroup:{key:e.route,label:n.label,icon:e.route}}var Ke=(e,t)=>!!t&&"page"===e.type&&e.route===t;function We(){const e=R().loading;/* @__PURE__ */
|
|
11
|
+
return ee(D,{size:"sm",padding:"p-8",label:e.label})}var $e="flex-1 min-h-0";function Oe(){const e=R().record;/* @__PURE__ */
|
|
12
|
+
return ee(D,{label:e.loading,padding:"",className:$e})}function Fe(e){return e??void 0}function je({isPending:e,isFetching:t,enabled:n=!0,error:r,onRetry:o}){const i=R().record;if(t||e&&n)/* @__PURE__ */return ee(Oe,{});if(r){const e=Ae(r);if(401===e)/* @__PURE__ */
|
|
13
13
|
return ee(m,{status:"warning",title:i.signInRequired,subTitle:i.signInBody,className:$e});if(403===e)/* @__PURE__ */
|
|
14
14
|
return ee(m,{status:"403",className:$e});if(404===e||410===e)/* @__PURE__ */
|
|
15
15
|
return ee(m,{status:"404",title:i.notFound,className:$e});const t=null==e||408===e||429===e||e>=500;/* @__PURE__ */
|
|
16
16
|
return ee(m,{status:"500",title:i.loadFailed,subTitle:t?i.checkConnection:i.rejected,extra:t?/* @__PURE__ */ee(z,{variant:"secondary",size:"sm",onClick:o,children:i.retry}):void 0,className:$e})}/* @__PURE__ */
|
|
17
|
-
return ee(m,{status:"404",title:i.notFound,className:$e})}function qe({entity:e,children:t,...n}){return null!=e?/* @__PURE__ */ee(te,{children:t(e)}):/* @__PURE__ */ee(je,{...n})}var He=/^[a-z]+(?:-[a-z]+)*-\d{13}$/;function Be(e){return"string"==typeof e&&(e.startsWith("new-")||He.test(e))}function Ue(e){if(Be(e.entityId))return!0;const t=e.entitySnapshot;return!(!t||"object"!=typeof t||!t._new&&!t._duplicate)}var Ye=K({openWindows:[],openEntity:()=>{},openPage:()=>{},reorderWindows:()=>{},closeEntity:()=>{},minimize:()=>{},items:[],restore:()=>{},remove:()=>{},restoreIfMinimized:()=>!1,openItems:[]}),Xe=K(null);function Ve(e){const t=
|
|
18
|
-
return ee(Vr,{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__ */ee(Xe.Provider,{value:o,children:/* @__PURE__ */ee(Z,{fallback:/* @__PURE__ */ee("div",{className:"flex items-center justify-center py-12",children:/* @__PURE__ */ee(
|
|
19
|
-
return ee("button",{onClick:()=>{const r=s?a.filter(n=>!(n.entityType===e&&n.entityId===t)):[...a,{entityType:e,entityId:t,label:n}];fe.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__ */ee(A,{name:"star",className:"h-4 w-4",fill:s?"currentColor":"none",strokeWidth:1.5})})}var et=/* @__PURE__ */new Set,tt=()=>"hidden";function nt({item:e,onClose:t,onMinimize:n,accentRgb:r}){const o=ue[e.entityType];if(!o||!se(o))return null;const i=o,[a,s]=q(!1),{dirty:l,registerDirty:u}=Ge(),d=i.queryKey||i.endpoint.replace(/^\/|\/$/g,"").split("/").pop()||e.entityType,h=e.entitySnapshot?._duplicate,m=Be(e.entityId),p=!i.selfFetching&&!h&&!m&&me(),f=ie({queryKey:[d,e.entityId],queryFn:()=>{return fe.get((t=i.endpoint,n=String(e.entityId),`${t}${encodeURIComponent(n)}/`)).then(e=>e.data);var t,n},initialData:Fe(e.entitySnapshot),initialDataUpdatedAt:0,enabled:p,staleTime:0,refetchOnWindowFocus:!0,refetchOnMount:"always",refetchInterval:e=>!De(e.state.error)&&6e4,refetchIntervalInBackground:!1,retry:Pe}),w=f.data,y=f.refetch;j(()=>{var t;if(p)return t=t=>{t!==e.id||et.has(t)||y({cancelRefetch:!1})},Zn.add(t),()=>{Zn.delete(t)}},[y,e.id,p]);const g=B(()=>{a&&!l?s(!1):t()},[a,l,t]),v=(i.useEdit??tt)(w??null),b=!i.useEdit||m||h?void 0:{state:v,editing:a,onEdit:()=>s(!0),onDiscard:()=>s(!1)},x=i.selfFetching?e.label:w?i.title(w,a,s):e.label,k=i.icon,E=k?c[k]:null,
|
|
17
|
+
return ee(m,{status:"404",title:i.notFound,className:$e})}function qe({entity:e,children:t,...n}){return null!=e?/* @__PURE__ */ee(te,{children:t(e)}):/* @__PURE__ */ee(je,{...n})}var He=/^[a-z]+(?:-[a-z]+)*-\d{13}$/;function Be(e){return"string"==typeof e&&(e.startsWith("new-")||He.test(e))}function Ue(e){if(Be(e.entityId))return!0;const t=e.entitySnapshot;return!(!t||"object"!=typeof t||!t._new&&!t._duplicate)}var Ye=K({openWindows:[],openEntity:()=>{},openPage:()=>{},reorderWindows:()=>{},closeEntity:()=>{},minimize:()=>{},items:[],restore:()=>{},remove:()=>{},restoreIfMinimized:()=>!1,openItems:[]}),Xe=K(null);function Ve(e){const t=W(Xe),n=F(null);null===n.current&&(n.current=/* @__PURE__ */Symbol("window-dirty")),O(()=>{if(t)return t(n.current,e)},[t,e]),j(()=>{if(!t||!e)return;const n=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",n),()=>window.removeEventListener("beforeunload",n)},[t,e])}function Ge(){const e=F(/* @__PURE__ */new Map),[t,n]=q(!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 W(Ye)}function Je(e){if("page"!==e.type&&Ue(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 Ze({item:e,onClose:t,accentRgb:n}){const{dirty:r,registerDirty:o}=Ge(),i=ue[e.route];if(!i||!ae(i))return null;const a=i,s=a.component;/* @__PURE__ */
|
|
18
|
+
return ee(Vr,{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__ */ee(Xe.Provider,{value:o,children:/* @__PURE__ */ee(Z,{fallback:/* @__PURE__ */ee("div",{className:"flex items-center justify-center py-12",children:/* @__PURE__ */ee(We,{})}),children:/* @__PURE__ */ee(s,{})})})})}function Qe({entityType:e,entityId:t,label:n}){const r=R(),o=oe(),{data:i}=ie({queryKey:["my-profile-sidebar"],enabled:me(),queryFn:()=>fe.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 ee("button",{onClick:()=>{const r=s?a.filter(n=>!(n.entityType===e&&n.entityId===t)):[...a,{entityType:e,entityId:t,label:n}];fe.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__ */ee(A,{name:"star",className:"h-4 w-4",fill:s?"currentColor":"none",strokeWidth:1.5})})}var et=/* @__PURE__ */new Set,tt=()=>"hidden";function nt({item:e,onClose:t,onMinimize:n,accentRgb:r}){const o=ue[e.entityType];if(!o||!se(o))return null;const i=o,[a,s]=q(!1),{dirty:l,registerDirty:u}=Ge(),d=i.queryKey||i.endpoint.replace(/^\/|\/$/g,"").split("/").pop()||e.entityType,h=e.entitySnapshot?._duplicate,m=Be(e.entityId),p=!i.selfFetching&&!h&&!m&&me(),f=ie({queryKey:[d,e.entityId],queryFn:()=>{return fe.get((t=i.endpoint,n=String(e.entityId),`${t}${encodeURIComponent(n)}/`)).then(e=>e.data);var t,n},initialData:Fe(e.entitySnapshot),initialDataUpdatedAt:0,enabled:p,staleTime:0,refetchOnWindowFocus:!0,refetchOnMount:"always",refetchInterval:e=>!De(e.state.error)&&6e4,refetchIntervalInBackground:!1,retry:Pe}),w=f.data,y=f.refetch;j(()=>{var t;if(p)return t=t=>{t!==e.id||et.has(t)||y({cancelRefetch:!1})},Zn.add(t),()=>{Zn.delete(t)}},[y,e.id,p]);const g=B(()=>{a&&!l?s(!1):t()},[a,l,t]),v=(i.useEdit??tt)(w??null),b=!i.useEdit||m||h?void 0:{state:v,editing:a,onEdit:()=>s(!0),onDiscard:()=>s(!1)},x=i.selfFetching?e.label:w?i.title(w,a,s):e.label,k=i.icon,E=k?c[k]:null,C=x,M=!i.selfFetching&&w&&i.footer&&!h?i.footer(w):void 0;return i.rendersOwnModal?i.selfFetching?/* @__PURE__ */ee(Z,{fallback:/* @__PURE__ */ee(We,{}),children:i.render(w??e.entitySnapshot,t,e.entityId,a,s)}):null!=w?/* @__PURE__ */ee(Z,{fallback:/* @__PURE__ */ee(Vr,{open:!0,onClose:t,title:e.label,size:i.size||"2xl",children:/* @__PURE__ */ee(Oe,{})}),children:i.render(w,t,e.entityId,a,s)}):/* @__PURE__ */ee(Vr,{open:!0,onClose:t,title:e.label,size:i.size||"2xl",children:/* @__PURE__ */ee(je,{isPending:f.isPending,isFetching:f.isFetching,enabled:p,error:f.error,onRetry:y})}):/* @__PURE__ */ee(Vr,{open:!0,onClose:g,onMinimize:n,initialBox:e.savedBox,icon:E,title:C,footer:M,copyText:e.label,windowKey:e.id,openedFromKey:e.openedFrom,size:i.size||"2xl",dirty:l,editing:a||m||h,edit:b,dimensions:i.dimensions,autoHeight:i.autoHeight,autoMinHeight:i.autoMinHeight,autoWidth:i.autoWidth,appStyle:i.appStyle,flushBody:i.flushBody,accentRgb:r,children:/* @__PURE__ */ee(Xe.Provider,{value:u,children:/* @__PURE__ */ee(Z,{fallback:/* @__PURE__ */ee(Oe,{}),children:i.selfFetching?i.render(null,t,e.entityId,a,s):/* @__PURE__ */ee(qe,{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 rt(e){return document.querySelector(`[data-modal-panel][data-window-key="${e}"]`)}function ot(e){return document.querySelector(`[data-modal-panel][data-window-root][data-window-owner="${e}"]`)}function it(e){const t=rt(e),n=t??ot(e);if(!n)return;if(t&&!ur(t))return r=e,void window.dispatchEvent(new CustomEvent("modal-reveal",{detail:{windowKey:r}}));var r;const o=n.getAttribute("data-modal-id");o&&Qn(o)}function at(){const e=Cr();if(!e)return;const t=document.querySelector(`[data-modal-panel][data-modal-id="${e}"]`);return t?.getAttribute("data-window-key")??void 0}var st=/* @__PURE__ */new Map;function lt(){const e=at();if(e)return st.get(e)}function ct(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 ut="rosh-peek-style",dt=P.peek,ht=P.taskbarPreview;function mt(e){"undefined"!=typeof document&&(!function(){if("undefined"==typeof document||document.getElementById(ut))return;const e=document.createElement("style");e.id=ut,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:${dt}!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 pt(){"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 ft({id:e,label:t,maxW:n,maxH:r,titleAbove:o=!1,onClick:i,onClose:a}){const s=R(),l=F(null),[c,u]=q({w:n,h:Math.round(.75*r)}),[d,h]=q(!1);return O(()=>{const o=l.current;if(!o)return;const i=rt(e)??ct(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-line-strong shadow-(--elevation-panel) cursor-pointer ring-2 ring-transparent group-hover:ring-blue-400 transition shrink-0",onClick:i,children:[
|
|
20
20
|
/* @__PURE__ */ee("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
21
|
/* @__PURE__ */ee(A,{name:"window",className:"h-6 w-6",strokeWidth:1.5}),
|
|
22
|
-
/* @__PURE__ */ee("span",{className:"mt-1 text-3xs uppercase tracking-wide",children:"Hidden"})]}),!o&&/* @__PURE__ */ee("div",{className:"absolute bottom-0 left-0 right-0 z-10 px-2 py-1 text-2xs font-medium text-on-accent bg-gradient-to-t from-black/80 to-transparent truncate pointer-events-none",children:t}),a&&/* @__PURE__ */ee("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-on-accent flex items-center justify-center",title:s.taskbar.closeWindow,children:/* @__PURE__ */ee(A,{name:"close",className:"h-3 w-3",strokeWidth:3})})]})}function wt({items:e,anchorEl:t,onActivate:n,onClose:r,onMouseEnter:o,onMouseLeave:i}){const a=
|
|
22
|
+
/* @__PURE__ */ee("span",{className:"mt-1 text-3xs uppercase tracking-wide",children:"Hidden"})]}),!o&&/* @__PURE__ */ee("div",{className:"absolute bottom-0 left-0 right-0 z-10 px-2 py-1 text-2xs font-medium text-on-accent bg-gradient-to-t from-black/80 to-transparent truncate pointer-events-none",children:t}),a&&/* @__PURE__ */ee("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-on-accent flex items-center justify-center",title:s.taskbar.closeWindow,children:/* @__PURE__ */ee(A,{name:"close",className:"h-3 w-3",strokeWidth:3})})]})}function wt({items:e,anchorEl:t,onActivate:n,onClose:r,onMouseEnter:o,onMouseLeave:i}){const a=R(),s=e.length>1,l=F(null),[c,u]=q({left:-9999,top:-9999,ready:!1}),[d,h]=q(()=>"undefined"!=typeof document&&getComputedStyle(document.documentElement).getPropertyValue("--taskbar-position")?.trim()||"bottom");O(()=>{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]),j(()=>pt,[]);const m="top"===d,p=(m?"mt-1":"mb-1")+" max-w-[240px] truncate text-2xs font-medium text-ink-strongest bg-white/80 px-2 py-0.5 rounded shadow-sm ring-2 ring-transparent transition group-hover:ring-blue-400";return ne(
|
|
23
23
|
/* @__PURE__ */ee("div",{ref:l,"data-taskbar-preview":"",style:{position:"fixed",left:c.left,top:c.top,zIndex:ht,maxWidth:"calc(100vw - 16px)",opacity:c.ready?1:0},className:s?"flex gap-2 flex-wrap":"",onMouseEnter:o,onMouseLeave:()=>{pt(),i()},children:e.map(e=>{const t=rt(e.id)??ct(e.label),o=t?function(e){if(ur(e))return null;const t=e.getBoundingClientRect(),n=or(),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
24
|
return Q("div",{className:"group flex flex-col items-center",onMouseEnter:()=>mt(t),children:[!m&&/* @__PURE__ */ee("span",{className:p,children:e.label}),
|
|
25
25
|
/* @__PURE__ */ee(ft,{id:e.id,label:e.label,maxW:240,maxH:160,titleAbove:!0,onClick:()=>n(e.id),onClose:()=>r(e.id)}),m&&/* @__PURE__ */ee("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-on-accent shadow-sm",children:[
|
|
26
|
-
/* @__PURE__ */ee(A,{name:"arrow-right",className:"h-3 w-3",style:{transform:`rotate(${o}deg)`},strokeWidth:3}),"Off screen"]})]},e.id)})}),document.body)}function yt(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 gt({openWindows:e,onRemove:t,onSplitView:n,onActivate:r,onActivateById:o}){const i=
|
|
26
|
+
/* @__PURE__ */ee(A,{name:"arrow-right",className:"h-3 w-3",style:{transform:`rotate(${o}deg)`},strokeWidth:3}),"Off screen"]})]},e.id)})}),document.body)}function yt(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 gt({openWindows:e,onRemove:t,onSplitView:n,onActivate:r,onActivateById:o}){const i=R(),[a,s]=q(null);j(()=>{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=H(Mr,Cr),[,u]=q(0);j(()=>{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]=q(0);j(()=>{const e=()=>d(e=>e+1);return window.addEventListener("window-title-update",e),()=>window.removeEventListener("window-title-update",e)},[]);const h=e=>{const t=ct(e),n=t?.querySelector("[data-window-title]");return n?.textContent?.trim()||e},[m,p]=q(null),[f,w]=q(null),[y,g]=q(null),b=F(null),x=()=>{b.current&&(clearTimeout(b.current),b.current=null),b.current=setTimeout(()=>{p(null),w(null)},150)},k=e.filter(e=>!e.route||!ue[e.route]?.utility);if(!a||!a.isConnected||0===k.length)return null;const E=[],C=/* @__PURE__ */new Map;for(const e of k){const t=e.route?ue[e.route]:void 0,n=t?.taskbarGroup,r=n?.key??e.route??`entity:${e.id}`,o=C.get(r);if(void 0!==o)E[o].items.push(e);else{C.set(r,E.length);const o=n?.label??t?.label??e.label;E.push({key:r,route:n?.icon??e.route,label:o,items:[e]})}}return ne(
|
|
27
27
|
/* @__PURE__ */Q(te,{children:[E.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=rt(e.id)??ct(e.label);return!!t&&!ur(t)});/* @__PURE__ */
|
|
28
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:x,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&&U(n)?V(n,{className:"h-3.5 w-3.5 shrink-0"}):/* @__PURE__ */ee(A,{name:"expand",className:"h-3.5 w-3.5 shrink-0",strokeWidth:2}),
|
|
29
29
|
/* @__PURE__ */ee("span",{className:"truncate flex-1",children:s?e.label:h(r.label)}),u&&/* @__PURE__ */ee("span",{title:i.taskbar.offscreenDot,className:"shrink-0 h-1.5 w-1.5 rounded-full bg-amber-500"}),s&&/* @__PURE__ */ee(v,{count:e.items.length,label:i.count.windows(e.items.length)}),!s&&/* @__PURE__ */ee("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__ */ee(A,{name:"close",className:"h-3 w-3",strokeWidth:2})})]},e.key)}),
|
|
30
30
|
/* @__PURE__ */ee("div",{className:"flex-1"}),k.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-accent-tint transition-colors shrink-0",children:[
|
|
31
|
-
/* @__PURE__ */ee(A,{name:"grid",className:"h-3 w-3",strokeWidth:2}),"Exposé"]}),y&&/* @__PURE__ */Q(
|
|
31
|
+
/* @__PURE__ */ee(A,{name:"grid",className:"h-3 w-3",strokeWidth:2}),"Exposé"]}),y&&/* @__PURE__ */Q(M,{portal:!0,minWidth:200,style:yt(y.x,y.y),onClose:()=>g(null),children:[
|
|
32
32
|
/* @__PURE__ */ee(L,{children:y.label}),
|
|
33
|
-
/* @__PURE__ */Q(N,{onClick:()=>{g(null),y.items.forEach(e=>function(e){const t=
|
|
33
|
+
/* @__PURE__ */Q(N,{onClick:()=>{g(null),y.items.forEach(e=>function(e){const t=Wn.get(e);t&&er(t)}(e.id))},children:[
|
|
34
34
|
/* @__PURE__ */ee(A,{name:"remove",className:"h-4 w-4",strokeWidth:1.5}),i.taskbar.minimizeAllWindows]}),
|
|
35
35
|
/* @__PURE__ */Q(N,{onClick:()=>{g(null),y.items.forEach(e=>o(e.id))},children:[
|
|
36
36
|
/* @__PURE__ */ee("svg",{className:"h-4 w-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */ee("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
37
|
/* @__PURE__ */ee(S,{}),
|
|
38
38
|
/* @__PURE__ */Q(N,{danger:!0,onClick:()=>{g(null),y.items.forEach(e=>t(e.id))},children:[
|
|
39
|
-
/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4",strokeWidth:2}),`${i.taskbar.closeAllWindows} (${y.items.length})`]})]}),m&&f&&/* @__PURE__ */ee(wt,{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:x})]}),a)}var vt=["/login","/forgot-password","/reset-password","/force-change-password"];function bt({children:e,windowAccentForRoute:t}){const n=re(),r=vt.some(e=>n.pathname.startsWith(e)),[o,i]=q([]),a=F(o);O(()=>{a.current=o},[o]);const s=H(ke,xe,xe),l=F(/* @__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};j(()=>{st.clear();for(const e of o)e.route&&st.set(e.id,e.route)},[o]);const u=B(e=>{i(t=>t.filter(t=>t.id!==e))},[]),d=B(e=>{var t;rt(e)||ot(e)?(t=e,window.dispatchEvent(new CustomEvent(Nr,{detail:{windowKey:t}}))):u(e)},[u]),h=(e,t=!1)=>{const n=Dn;t&&et.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,(Pn.get(i)??-1)>a)||Qn(o),t&&et.delete(e)},50)},m=(e,t,n)=>{const r=Ee;if(n||!r)return[...e,t];const o=function(e,t,n){if(!Ie(t))return e.length;if(t.shellOwned&&Ke(t,n.home))return 0;const r=Ke(t,n.home)?void 0:
|
|
39
|
+
/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4",strokeWidth:2}),`${i.taskbar.closeAllWindows} (${y.items.length})`]})]}),m&&f&&/* @__PURE__ */ee(wt,{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:x})]}),a)}var vt=["/login","/forgot-password","/reset-password","/force-change-password"];function bt({children:e,windowAccentForRoute:t}){const n=re(),r=vt.some(e=>n.pathname.startsWith(e)),[o,i]=q([]),a=F(o);O(()=>{a.current=o},[o]);const s=H(ke,xe,xe),l=F(/* @__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};j(()=>{st.clear();for(const e of o)e.route&&st.set(e.id,e.route)},[o]);const u=B(e=>{i(t=>t.filter(t=>t.id!==e))},[]),d=B(e=>{var t;rt(e)||ot(e)?(t=e,window.dispatchEvent(new CustomEvent(Nr,{detail:{windowKey:t}}))):u(e)},[u]),h=(e,t=!1)=>{const n=Dn;t&&et.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,(Pn.get(i)??-1)>a)||Qn(o),t&&et.delete(e)},50)},m=(e,t,n)=>{const r=Ee;if(n||!r)return[...e,t];const o=function(e,t,n){if(!Ie(t))return e.length;if(t.shellOwned&&Ke(t,n.home))return 0;const r=Ke(t,n.home)?void 0:Re(t)?.key;if(r){let t=-1;if(e.forEach((e,o)=>{Ie(e)&&!Ke(e,n.home)&&Re(e)?.key===r&&(t=o)}),t>=0)return t+1}if("page"===t.type&&t.route&&!Ke(t,n.home)&&n.favorites.includes(t.route))return e.length>0&&Ke(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])&&!Ke(e[t],n.home)?Re(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:xe(),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(!ue[e]||!se(ue[e]))return;const s=`${e}:${t}`,l=at();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:Fe(n),openedFrom:l},!!a.append))})},[]),w=B((e,t={})=>{if(!ue[e]||!ae(ue[e]))return;const n=ue[e],{reuse:r=!1,background:o=!1,shellOwned:s,search:l,append:c=!1}=t,u=e=>{var t;o?(t=e,qn.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=at();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(()=>{},[]),v=d,b=d;/* @__PURE__ */
|
|
40
40
|
return Q(Ye.Provider,{value:{openWindows:o,openEntity:f,openPage:w,reorderWindows:p,closeEntity:v,minimize:y,items:[],openItems:o,restore:g,remove:b,restoreIfMinimized:()=>!1},children:[e,
|
|
41
41
|
/* @__PURE__ */ee(gt,{openWindows:o,onRemove:d,onSplitView:Yr,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&&Qn(e)}})},onActivateById:it}),
|
|
42
42
|
/* @__PURE__ */ee(Xr,{}),!r&&o.map(e=>{const n=e.route?t?.(e.route):void 0;
|
|
43
43
|
/* @__PURE__ */
|
|
44
|
-
return ee(we.Provider,{value:c(e),children:/* @__PURE__ */ee(Ne,{fallback:(t,n)=>/* @__PURE__ */ee(Vr,{open:!0,onClose:()=>u(e.id),title:e.label,size:"md",autoHeight:!0,windowKey:e.id,children:/* @__PURE__ */ee(
|
|
45
|
-
return ee(Gt.Provider,{value:e,children:t})}var Jt=/* @__PURE__ */new Set(["button","input","textarea","select","kbd","svg"]),Zt='button[type="submit"], button[data-submit], button.btn-submit, button.bg-green-600, button.bg-blue-600',Qt='button, a[href], summary, [role="button"], [role="link"], [role="menuitem"], select';function en(e){return tn(e).replace(/\s+/g," ").trim()}function tn(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(tn).join("");if(U(e)){const t=e,n="string"==typeof t.type?t.type:"";return Jt.has(n)?"":` ${tn(t.props?.children)} `}return""}function nn(e){const t=
|
|
46
|
-
return ee("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 mn="erp_window_positions",pn={};try{const e=localStorage.getItem(mn);e&&(pn=JSON.parse(e))}catch{}var fn=null;function wn(){fn&&clearTimeout(fn),fn=setTimeout(()=>{try{localStorage.setItem(mn,JSON.stringify(pn))}catch{}},500)}var yn="erp_activation_order",gn=[];try{const e=localStorage.getItem(yn),t=e?JSON.parse(e):null;Array.isArray(t)&&t.every(e=>"string"==typeof e)&&(gn=t)}catch{}var vn=null;function bn(){vn&&clearTimeout(vn),vn=setTimeout(()=>{try{localStorage.setItem(yn,JSON.stringify(gn))}catch{}},500)}function xn(e,t){pn[e]||(pn[e]=t,wn())}function kn(e){return pn[e]?{...pn[e]}:null}function En(e,t){pn[e]=t,wn()}function
|
|
44
|
+
return ee(we.Provider,{value:c(e),children:/* @__PURE__ */ee(Ne,{fallback:(t,n)=>/* @__PURE__ */ee(Vr,{open:!0,onClose:()=>u(e.id),title:e.label,size:"md",autoHeight:!0,windowKey:e.id,children:/* @__PURE__ */ee(Me,{error:t,onReload:n})}),children:/* @__PURE__ */ee(_t,{spec:Je(e),children:/* @__PURE__ */ee(to,{windowId:e.id,children:"page"===e.type?/* @__PURE__ */ee(Ze,{item:e,onClose:()=>u(e.id),accentRgb:n}):/* @__PURE__ */ee(nt,{item:e,onClose:()=>u(e.id),onMinimize:()=>{},accentRgb:n})})})})},e.id)})]})}var xt=400;function kt({panelRef:e,bodyRef:t,open:n,widget:r,active:o,minimized:i}){const a=F(null),s=F(!1);n&&!s.current&&(a.current="undefined"==typeof document?null:document.activeElement),s.current=n;const l=F(!1),c=F(void 0),u=F(i),d=u.current&&!i;u.current=i;const h=()=>{l.current=!0,clearTimeout(c.current),c.current=setTimeout(()=>{l.current=!1},xt)};j(()=>{n&&!r&&h()},[n,r]),j(()=>{d&&n&&!r&&h()},[d]),j(()=>()=>clearTimeout(c.current),[]),j(()=>{if(!n||r||!o||i||!l.current)return;l.current=!1;const a=e.current;if(!a||a.contains(document.activeElement))return;if(document.activeElement?.closest('[aria-modal="true"]'))return;const s=t.current?C(t.current)[0]:void 0;s?s.focus():(a.hasAttribute("tabindex")||a.setAttribute("tabindex","-1"),a.focus())},[n,r,o,i,e,t]),O(()=>{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 Et=null,Ct=/* @__PURE__ */new Set;function Mt(){return Et}function Nt(e){if(Et!==e){Et=e;for(const e of Ct)e()}}function St(e){return Ct.add(e),()=>{Ct.delete(e)}}var Lt=!1,Tt={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0},zt=()=>{};function At(e){Lt=e,Tt={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0}}function Dt(e,t){Lt&&("submenu"===e?Tt.submenus++:Tt.menus++,Tt.menuKey=t)}function Pt(e){if(!Lt)return zt;const t=performance.now();let n=!1;return()=>{if(n)return;if(n=!0,!Lt)return;const r=performance.now()-t;"move"===e?Tt.moveMs+=r:Tt.resizeMs+=r}}function It(){const e=Tt;return Tt={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0},e}var Rt=/* @__PURE__ */new Set([T,E]),Kt=e=>Rt.has(e)||"function"==typeof e&&"badge"===e.titleRole,Wt=/* @__PURE__ */new Set(["button","a","input","select","textarea","kbd"]),$t=/* @__PURE__ */new Set(["svg"]);function Ot(e){const t=[],n={text:"",accessories:[],badges:[],actions:[]};return Ft(e,n,t),n.text=t.join("").replace(/\s+/g," ").trim(),n}function Ft(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=>Ft(e,t,n));if(!U(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===Y)return void X.toArray(r.props.children).forEach(e=>Ft(e,t,n));if("string"==typeof r.type){if($t.has(r.type))return;if(!Wt.has(r.type))return n.push(" "),X.toArray(r.props.children).forEach(e=>Ft(e,t,n)),void n.push(" ")}const o=V(r,{key:`title-part-${t.accessories.length}`});t.accessories.push(o),(Kt(r.type)?t.badges:t.actions).push(o)}var jt=/* @__PURE__ */new Map,qt=/* @__PURE__ */new Set,Ht=0;function Bt(){Ht++,qt.forEach(e=>e())}function Ut(e){return jt.get(e)}function Yt(e){return qt.add(e),()=>{qt.delete(e)}}function Xt(){return Ht}var Vt=K(""),Gt=K(null);function _t({spec:e,children:t}){/* @__PURE__ */
|
|
45
|
+
return ee(Gt.Provider,{value:e,children:t})}var Jt=/* @__PURE__ */new Set(["button","input","textarea","select","kbd","svg"]),Zt='button[type="submit"], button[data-submit], button.btn-submit, button.bg-green-600, button.bg-blue-600',Qt='button, a[href], summary, [role="button"], [role="link"], [role="menuitem"], select';function en(e){return tn(e).replace(/\s+/g," ").trim()}function tn(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(tn).join("");if(U(e)){const t=e,n="string"==typeof t.type?t.type:"";return Jt.has(n)?"":` ${tn(t.props?.children)} `}return""}function nn(e){const t=W(Vt);j(()=>{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 rn={};function on(e,t,n){const r=W(Vt);j(()=>{if(!r)return;rn[r]||(rn[r]=[]);const o={label:e,icon:n,onClick:t};return rn[r].push(o),()=>{rn[r]=(rn[r]||[]).filter(e=>e!==o)}},[r,e,t,n])}function an({title:e}){const t=F(null);return j(()=>{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__ */ee("span",{ref:t,style:{display:"none"},"aria-hidden":"true"})}function sn(e){}var ln=K(null);function cn(){return W(Vt)}function un(){const e=H(Mr,Cr),t=W(ln);return t?.active??(Tn.length<=1||null!=e)}function dn({children:e,position:t="right",quiet:n=!1}){const r=W(ln),[o,i]=q(null);return j(()=>{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?ne(e,o):null}function hn({onClick:e,children:t,className:n}){const r=W(ln);/* @__PURE__ */
|
|
46
|
+
return ee("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 mn="erp_window_positions",pn={};try{const e=localStorage.getItem(mn);e&&(pn=JSON.parse(e))}catch{}var fn=null;function wn(){fn&&clearTimeout(fn),fn=setTimeout(()=>{try{localStorage.setItem(mn,JSON.stringify(pn))}catch{}},500)}var yn="erp_activation_order",gn=[];try{const e=localStorage.getItem(yn),t=e?JSON.parse(e):null;Array.isArray(t)&&t.every(e=>"string"==typeof e)&&(gn=t)}catch{}var vn=null;function bn(){vn&&clearTimeout(vn),vn=setTimeout(()=>{try{localStorage.setItem(yn,JSON.stringify(gn))}catch{}},500)}function xn(e,t){pn[e]||(pn[e]=t,wn())}function kn(e){return pn[e]?{...pn[e]}:null}function En(e,t){pn[e]=t,wn()}function Cn(){const r=e(),o=t();let i=!1;for(const e of Object.keys(pn))n(pn[e],r,o)&&(delete pn[e],i=!0);i&&wn()}var Mn={sm:384,md:512,lg:672,xl:896,"2xl":1152,"3xl":1408},Nn=4e3,Sn=()=>{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"},Ln={small:.8,medium:1,large:1.25,maximized:1.25},Tn=[],zn=/* @__PURE__ */new Set,An=/* @__PURE__ */new Set,Dn=0,Pn=/* @__PURE__ */new Map;var In=0;function Rn(){return In}function Kn(){In++,zn.forEach(e=>e())}var Wn=/* @__PURE__ */new Map,$n=/* @__PURE__ */new Map,On=/* @__PURE__ */new Map;function Fn(){for(let e=Tn.length-1;e>=0;e--){const t=On.get(Tn[e]);if(t?.tab)return t.owner}return null}function jn(){return H(Mr,Fn,()=>null)}var qn=/* @__PURE__ */new Set;var Hn=null;function Bn(e){Hn=null,Qn(e)}function Un(e){Hn=e;const t=Wn.get(e);t&&Bn(t)}var Yn=/* @__PURE__ */new Map;function Xn(e){return Yn.get(e)?.holdsChanges()??!1}function Vn(e){const t=Yn.get(e);return t?t.ask():Promise.resolve(!0)}function Gn(e){Hn===e&&(Hn=null)}function _n(e,t,n){if(n&&On.set(e,n),t)if(Wn.set(t,e),$n.set(e,t),qn.delete(t)){Tn.unshift(e);const n=gn.indexOf(t);-1!==n&&gn.splice(n,1),gn.unshift(t),bn()}else!function(e,t){const n=gn.indexOf(t);if(-1===n)return void Tn.push(e);let r=Tn.length;for(let e=0;e<Tn.length;e++){const t=$n.get(Tn[e]);if(t&&gn.indexOf(t)>n){r=e;break}}Tn.splice(r,0,e)}(e,t),-1===gn.indexOf(t)&&(gn.push(t),bn());else Tn.push(e);Kn(),window.dispatchEvent(new CustomEvent("modal-reorder")),t&&Hn===t&&Bn(e)}function Jn(e){return e?On.get(e)?.owner??$n.get(e)??null:null}var Zn=/* @__PURE__ */new Set;function Qn(e){const t=Jn(Cr()),n=Tn.indexOf(e);-1!==n&&Tn.splice(n,1),Tn.push(e);const o=On.get(e);if(o?.root&&o.tab&&r()){const e=Tn.filter(e=>{const t=On.get(e);return!!t&&!t.root&&t.owner===o.owner});for(const t of e)Tn.splice(Tn.indexOf(t),1),Tn.push(t)}An.delete(e);const i=$n.get(e);if(i){const e=gn.indexOf(i);-1!==e&&gn.splice(e,1),gn.push(i),bn(),Hn&&Hn!==i&&(Hn=null)}Kn(),window.dispatchEvent(new CustomEvent("modal-reorder"));const a=Jn(Cr());a&&a!==t&&Zn.forEach(e=>e(a))}function er(e){const t=Tn.indexOf(e);-1!==t&&Tn.splice(t,1),An.add(e),Pn.set(e,++Dn);const n=$n.get(e);if(n){const e=gn.indexOf(n);-1!==e&&(gn.splice(e,1),bn())}Kn(),window.dispatchEvent(new CustomEvent("modal-reorder"))}var tr=/* @__PURE__ */new Set;var nr=8,rr=32;function or(){return e()}var ir=u.windowBar,ar=80,sr=384,lr=400;function cr(e,t=or()){const n=Math.min(Math.max(e.x,t.x+ar-e.w),t.x+t.w-ar),r=Math.min(Math.max(e.y,t.y),t.y+t.h-ir);return n===e.x&&r===e.y?e:{...e,x:n,y:r}}function ur(e){const t=e.getBoundingClientRect();if(0===t.width||0===t.height)return!0;const n=or();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 dr(e){const t=or(),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 hr=null;function mr(e){const t=(hr||((hr=document.createElement("div")).style.cssText=["position: fixed","pointer-events: none",`z-index: ${P.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(hr)),hr);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 pr(){hr&&(hr.style.opacity="0",hr.style.display="none")}var fr=[{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"}],wr=350,yr=200;function gr({maximized:e,onToggleMax:t,onSnap:n,buttonClassName:r,strings:o}){const[i,a]=q(!1),s=F(void 0),l=F(void 0);j(()=>()=>{clearTimeout(s.current),clearTimeout(l.current)},[]);const c=()=>{clearTimeout(l.current),s.current=setTimeout(()=>a(!0),wr)},u=()=>{clearTimeout(s.current),l.current=setTimeout(()=>a(!1),yr)};/* @__PURE__ */
|
|
47
47
|
return Q("span",{className:"relative inline-flex",onMouseEnter:c,onMouseLeave:u,children:[
|
|
48
|
-
/* @__PURE__ */ee("button",{onClick:t,onFocus:c,onBlur:u,title:e?o.windowed:o.maximize,className:r,children:e?"❐":"⤢"}),i&&/* @__PURE__ */ee("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-line bg-surface p-2 shadow-lg",children:fr.map(({zone:e,labelKey:t,region:r})=>/* @__PURE__ */ee("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__ */ee("span",{"aria-hidden":"true",className:`absolute rounded-sm bg-blue-500/70 ${r}`,style:{margin:2}})},e))})]})}var vr="rosh-gesture-style";var br={se:"nwse-resize",nw:"nwse-resize",sw:"nesw-resize",ne:"nesw-resize",n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize"},xr=4;function kr(e,t,n,r){!function(){if("undefined"==typeof document||document.getElementById(vr))return;const e=document.createElement("style");e.id=vr,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=Pt(r);let a=!1;return()=>{if(!a){a=!0,i();try{e.releasePointerCapture(t)}catch{}o.remove(),document.body.classList.remove("rosh-gesturing")}}}function Er(e){const t=Tn.indexOf(e);if(-1===t)return-1;const n=P.window+t*P.windowStep,o=On.get(e);if(!o||o.root||!o.tab||!r())return n;let i=-1;for(const[e,t]of On){if(!t.root||t.owner!==o.owner)continue;const n=Tn.indexOf(e);-1!==n&&(i=Math.max(i,P.window+n*P.windowStep))}return i>=n?i+2+Math.min(t,7):n}function
|
|
49
|
-
/* @__PURE__ */ee("div",{onMouseDown:e=>{e.stopPropagation(),Dr(!1)},style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",zIndex:P.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 Vr({open:t,onClose:i,title:c,icon:u,copyText:d,size:h="lg",dirty:m=!1,onNext:p,onPrev:f,footer:w,bodyScroll:v,onMinimize:E,initialBox:M,actions:L,actionsLeft:T,editing:D=!1,edit:K,allowPinOnTop:$,initialPosition:Y,widget:X,compact:J,appStyle:Z,flushBody:re,autoHeight:oe,autoMinHeight:ie,autoWidth:ae,widgetMenu:se,dimensions:le,windowKey:ce,openedFromKey:ue,accentRgb:de,children:he}){const[me,pe]=q(()=>r()),fe=x()&&!me,ye=k()&&!!X,[ge,ve]=q(0),[be,xe]=q(!1),ke=F(null),Ee=F(0);j(()=>{Ee.current=ge},[ge]);const Me=B(e=>{fe&&(ke.current={startX:e.clientX,startY:e.clientY,pointerId:e.pointerId},xe(!0),Nt(ue??null))},[fe,ue]),Ce=H(St,Ct);j(()=>{if(!be)return;const e=e=>{if(!ke.current)return;const t=e.clientX-ke.current.startX;if(Math.abs(e.clientY-ke.current.startY)>Math.abs(t)+12)return ke.current=null,xe(!1),ve(0),void Nt(null);ve(Math.max(0,t))},t=()=>{if(!ke.current)return;const e=.3*window.innerWidth,t=Ee.current>e;ke.current=null,xe(!1),t?(ve(window.innerWidth),setTimeout(()=>{i(),ve(0),Nt(null)},180)):(ve(0),Nt(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)}},[be]);const[Le,ze]=q(c),Ae=W(),De=Ae.window;j(()=>{ze(c)},[c]);const Pe=G(()=>en(Le).trim()||void 0,[Le]),Ie=_(),[We,Ke]=q(!1),Re=F(!1),[$e,Oe]=q(!1),[Fe,je]=q(null),qe=R(Gt),He=R(we),{prefs:Be,save:Ue}=g(),Ye=!!Be.window_accent_stripe,Xe=Be.favorite_documents||[],Ge=!!qe&&Xe.some(e=>e.entityType===qe.entityType&&e.entityId===qe.entityId),Je=B(()=>{if(!qe)return;const e=Ge?Xe.filter(e=>!(e.entityType===qe.entityType&&e.entityId===qe.entityId)):[...Xe,{entityType:qe.entityType,entityId:qe.entityId,label:qe.label}];Ue({favorite_documents:e})},[qe,Ge,Xe,Ue]),[Ze,Qe]=q(null),[et,tt]=q("top-right"===Y?"right":"left"),nt=F(!1),rt=F(null);O(()=>{const e=rt.current;e&&(de?e.style.setProperty("--window-accent-rgb",de):e.style.removeProperty("--window-accent-rgb"))},[de]);const ot=F(!1),it=F(null),at=F(null),st=F(null),[lt,ct]=q(!1),ut=F(null),dt=F(null),ht=F(null),[mt,pt]=q(!1);O(()=>{const e=dt.current,t=ht.current;if(!e||!t)return;const n=()=>pt(function(e,t){return e.scrollWidth>t.clientWidth}(t,e));if(n(),"undefined"==typeof ResizeObserver)return;const r=new ResizeObserver(n);return r.observe(e),r.observe(t),()=>r.disconnect()},[null!=w&&!1!==w]);const ft=!!K&&!X&&!J&&!Z&&(K.editing||"hidden"!==K.state),wt=!!(w||L||T)||lt||ft,yt=R(Se),gt=""!==R(Vt),vt=F(null);vt.current=He?{owner:He.key,tab:He.tab,root:!gt}:null;const bt=ce||(He&&!gt?He.key:null),xt=!!yt&&!gt&&yt.enabled&&yt.hasState&&(D||yt.declaredEditable)&&!yt.handMounted&&wt&&!X&&!J&&!Z&&!fe,Et=/* @__PURE__ */ee(A,{name:"window",className:"h-4 w-4",strokeWidth:1.5}),Mt=u&&U(u)?V(u,{className:`h-4 w-4 ${u.props?.className??""}`.trim()}):u??Et,Lt=()=>/* @__PURE__ */ee("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation();const t=e.currentTarget.getBoundingClientRect();je(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:Mt}),Tt=40,{minimize:zt,items:At,restoreIfMinimized:Dt,openWindows:Pt}=_e(),It=F(`modal-${Math.random().toString(36).slice(2,8)}`).current;j(()=>{if(X)return tr.add(It),()=>{tr.delete(It)}},[X,It]),j(()=>{const e=e=>{const t=e.detail;t?.id===It&&ze(t.title)};return window.addEventListener("window-title-update",e),()=>window.removeEventListener("window-title-update",e)},[It]);const[Wt,Kt]=q(P.window),Rt=function(e){const t=H(Cr,Mr);return Tn.length<=1||t===e}(It),$t=F(K);$t.current=K;const Ft=!!K&&!K.editing&&"enabled"===K.state;j(()=>{if(!t||!Rt||!Ft)return;const e=e=>{("KeyE"===e.code||"E"===e.key||"e"===e.key)&&e.altKey&&e.shiftKey&&!e.metaKey&&!e.ctrlKey&&(e.preventDefault(),e.stopPropagation(),$t.current?.onEdit())};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,Rt,Ft]);const qt=function(e){return H(Cr,()=>An.has(e))}(It);kt({panelRef:rt,bodyRef:it,open:t,widget:!!X,active:Rt,minimized:qt});const Ht=H(zr,Ar),Ut=H(Rr,$r),Yt=H(qr,Hr),Xt=!$&&!X,_t=Ht&&Xt,[Jt,tn]=q(!1),nn=_t&&Yt===It,[on,an]=q(!1),sn=on&&Xt&&Ut===It?"picked":null,cn=F(_t);j(()=>{if(cn.current&&!_t){an(!0);const e=setTimeout(()=>{an(!1),Wr===It&&Or(null)},700);return cn.current=_t,()=>clearTimeout(e)}cn.current=_t},[_t,It]),j(()=>{_t||tn(!1)},[_t]),j(()=>{const e=at.current,t=st.current;if(!e&&!t)return;const n=e=>e?Array.from(e.children).filter(e=>"shell"!==e.dataset.undoControls).length:0,r=()=>ct(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]),j(()=>{const e=e=>{if(e.target.closest('button[type="submit"]')&&rt.current){const t=rt.current.querySelector("form");t&&(e.preventDefault(),t.requestSubmit())}},t=at.current,n=st.current;return t&&t.addEventListener("click",e),n&&n.addEventListener("click",e),()=>{t&&t.removeEventListener("click",e),n&&n.removeEventListener("click",e)}},[t]);const un=F(!1),dn=B(e,[]),hn=B(()=>{const t=e(),n=le?le[0]:Cn[h]||672,o=t.w-80,i=t.h-80,a=Math.min(n,o),s=Ln[Sn()],l=le?Math.min(le[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*(Tn.length-1),u=Math.max(Tt,(i-l)/2),d=(o-a)/2,m=t.h-Tt-l-u;return"top-right"===Y?{x:t.x+t.w-a-Tt,y:t.y+Tt,w:a,h:l}:"top-left"===Y?{x:t.x+Tt,y:t.y+Tt,w:a,h:l}:{x:t.x+Math.max(Tt,(o-a)/2+Tt)+Math.min(c,Math.max(0,d)),y:t.y+u+Math.min(c,Math.max(0,m)),w:a,h:l}},[h]),mn=F(!1);t||(mn.current=!1);const fn=ce||d||null;j(()=>{if(!t)return;_n(It,fn,vt.current??void 0),ce||Qn(It),un.current=!1,Kt(Er(It));const e=()=>{Kt(Er(It))},n=()=>{},r=e=>{if(!e)return!1;if(e.windowKey)return e.windowKey===ce;if(!e.label)return!1;const t=rt.current?.querySelector("[data-window-title]");return!!t?.textContent?.includes(e.label)},o=e=>{if(!r(e.detail))return;if(Qn(It),Dn.current)return;const t=or(),n=Math.min(Bn.current.w,t.w-40),o=Math.min(Bn.current.h,t.h-40),i=t.x+(t.w-n)/2,a=t.y+(t.h-o)/2;vn({x:i,y:a,w:n,h:o}),Hn(!1)},i=e=>{const t=e.detail;r(t)&&(Qn(It),je({x:t.x,y:t.y}))},a=e=>{if(e.detail?.windowKey!==ce)return;Qn(It);const t=Bn.current,n=function(e,t=or()){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=rt.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)}vn(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=Tn.indexOf(e);-1!==t&&(Tn.splice(t,1),Kn()),An.delete(e),Pn.delete(e),On.delete(e);const n=$n.get(e);n&&($n.delete(e),Rn.delete(n))}(It),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,It,fn,dn]);const yn=!X&&"maximized"===Sn(),[gn,vn]=q(()=>{if(fn&&pn[fn]){const e={...pn[fn]};return le&&(e.w=le[0],oe||(e.h=le[1])),cr(e)}return M?{x:M.x,y:M.y,w:M.w,h:M.h}:yn?dn():hn()}),[bn,xn]=q(()=>!oe),kn=F(me),En=F(null);j(()=>{const e=()=>{const e=r();e!==kn.current&&En.current?.(e),kn.current=e,pe(e),Kt(Er(It))};return window.addEventListener("react-os-shell:layout-mode-changed",e),()=>window.removeEventListener("react-os-shell:layout-mode-changed",e)},[It]);const Mn=me&&!!He?.tab&&!gt&&!X&&!fe,zn=Mn,Dn=F(zn);Dn.current=zn;const In=jn(),Wn=me&&!!He?.tab&&!X&&!fe&&!Ht&&In!==He.key,Fn=!!X&&me&&!Ht&&null!==In,[qn,Hn]=q(()=>fn&&pn[fn]||M?zn:zn||yn),Bn=F(gn);Bn.current=gn;const Un=F(qn);O(()=>{Un.current=qn},[qn]),O(()=>{if(bn||Mn)return;const e=rt.current,t=it.current;if(!e||!t)return;const n=ie??(X?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,Bn.current.y)-24),g=w?Math.min(Bn.current.h,y):Math.min(Math.max(n,u+p),y),v=Math.abs(g-o)>1;v&&(o=g,vn(e=>Math.abs(e.h-g)>1?{...e,h:g}:e)),X||(g<=n?i&&(clearTimeout(i),i=null):(v||null===i)&&(i&&clearTimeout(i),i=setTimeout(()=>{const e=o;s(),o===e&&xn(!0)},160)))},l=new ResizeObserver(s);s(),ut.current&&l.observe(ut.current);const c=new MutationObserver(s);return c.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>{l.disconnect(),c.disconnect(),i&&clearTimeout(i)}},[bn,X,ie,wt,Mn]),O(()=>{if(!oe||!bn||X||!t)return;const e=ut.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||qn)return;if(document.body.classList.contains("rosh-gesturing"))return;const i=ie??240,a=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--taskbar-height"))||0,s=Math.max(i,window.innerHeight-a-Math.max(0,Bn.current.y)-24);vn(e=>({...e,h:Math.min(Math.max(i,e.h+r),s)}))});return r.observe(e),()=>r.disconnect()},[oe,bn,X,t,qn,ie]);const Xn=!1!==ae&&!X&&!Z&&!fe,[Vn,Gn]=q(()=>!Xn);O(()=>{if(Vn||!t)return;if(!Xn||qn)return void Gn(!0);const n=rt.current,r=it.current;if(!n||!r)return;const o=/* @__PURE__ */new WeakSet;let i=Bn.current.w,c=0;const u=()=>Gn(!0),d=()=>{c=0;const t=Bn.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 v=s(t,l(t.w,w,g),d,Tt);v!==t&&(i=v.w,vn(v))};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,Nn);return()=>{h.disconnect(),c&&cancelAnimationFrame(c),clearTimeout(m)}},[Vn,t,Xn,qn]);const Jn=F(null),Zn=!(!He?.tab||gt||X||fe);En.current=t=>{if(!Zn)return;if(t)return Jn.current||(Jn.current={box:{...Bn.current},maximized:Un.current}),void(Un.current=!0);const r=Jn.current;Jn.current=null;const o=e();if(r?.maximized)return Un.current=!0,Hn(!0),void vn(o);const i=r?.box??(fn?pn[fn]:void 0);if(Un.current=!1,Hn(!1),i&&!n(i,o,!1)){const e={...i};le&&(e.w=le[0],oe||(e.h=le[1])),vn(cr(e))}else vn(hn())},j(()=>{zn&&(Un.current=!0,Hn(!0),vn(dn()))},[zn,dn]),j(()=>{if(X)return;const e=()=>{const e=fn?pn[fn]:void 0;if(Un.current=!1,Hn(!1),e){const t={...e};le&&(t.w=le[0],oe||(t.h=le[1])),vn(cr(t))}else vn(hn())};return window.addEventListener("react-os-shell:restore-windowed",e),()=>window.removeEventListener("react-os-shell:restore-windowed",e)},[X,hn,fn]),j(()=>{t&&fn&&!Mn&&(pn[fn]=gn,wn()),t&&window.dispatchEvent(new CustomEvent("modal-geometry"))},[gn,t,fn,Mn]),j(()=>{if(!t)return;const e=()=>{Un.current?vn(dn()):document.body.classList.contains("rosh-gesturing")||vn(cr)};window.addEventListener("resize",e),window.addEventListener(o,e);let n=null;return qn&&(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,qn,dn]),j(()=>{if(t&&(Ke(!1),Re.current=!1,nt.current=!1,Gn(!Xn),!Dn.current)){if(fn&&pn[fn]){const e=pn[fn];return void vn(t=>cr({...e,...oe?{h:t.h}:{},...Xn?{x:t.x,w:t.w}:{}}))}M&&(vn({x:M.x,y:M.y,w:M.w,h:M.h}),Hn(M.maximized))}},[t]),j(()=>{if(!t||"auto"!==m)return;let e;const n=t=>{rt.current?.contains(t.target)&&!Re.current&&(Re.current=!0,e=setTimeout(()=>Ke(!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 ir="auto"===m?We:!0===m,ar=He&&!gt?He.key:null,ur=G(()=>Ot(Le),[Le]),hr=F({shortcutSpec:qe,isOnDesktop:Ge,toggleDesktopShortcut:Je,taskbarStrings:Ae.taskbar});O(()=>{hr.current={shortcutSpec:qe,isOnDesktop:Ge,toggleDesktopShortcut:Je,taskbarStrings:Ae.taskbar}});const fr=F(null);fr.current||(fr.current={open:(e,t)=>je({x:e,y:t}),items:()=>{const e=hr.current,t=[];e.shortcutSpec&&t.push({label:e.isOnDesktop?e.taskbarStrings.removeFromDesktop:e.taskbarStrings.addToDesktop,onSelect:e.toggleDesktopShortcut});for(const e of rn[It]||[])t.push({label:e.label,icon:e.icon,onSelect:e.onClick});return t}}),j(()=>{if(t&&ar)return()=>{return e=ar,void(jt.delete(e)&&Bt());var e}},[t,ar]),Ve(!(ce||!t)&&ir);const wr=B(()=>ir||"auto"===m&&Re.current,[ir,m]),yr=B(async e=>{if(nt.current)return!1;if(!wr())return!0;nt.current=!0;const t=Pe,n="close"===e?"Are you sure you want to close?":"discard"===e?"Are you sure you want to stop editing?":"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 nt.current=!1,r},[wr,Pe]),vr=B(()=>nt.current?Promise.resolve():wr()?yr("close").then(e=>{e&&i()}):(i(),Promise.resolve()),[wr,yr,i]),Sr=B(async()=>{await yr("discard")&&(Re.current=!1,Ke(!1),$t.current?.onDiscard())},[yr]),Lr=B(async()=>{const e=await yr("switch");return e&&(Re.current=!1,Ke(!1)),e},[yr]),Tr=F(()=>!1);O(()=>{Tr.current=wr}),O(()=>{if(!t||!ce)return;const e={holdsChanges:()=>Tr.current(),ask:Lr};return Yn.set(ce,e),()=>{Yn.get(ce)===e&&Yn.delete(ce)}},[t,ce,Lr]),O(()=>{if(!t||!bt)return;const e=e=>{e.detail?.windowKey===bt&&vr()};return window.addEventListener(Nr,e),()=>window.removeEventListener(Nr,e)},[t,bt,vr]);const Pr=F(null),Ir=B(e=>{if(0!==e.button)return;if(e.target.closest("button, input, a, kbd, select, textarea"))return;if(je(null),Qn(It),Dn.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=rt.current,s=a?.getBoundingClientRect();let l,c,u,d;if(Pr.current){const t=Pr.current;Pr.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:Bn.current.x,c=s?s.top:Bn.current.y,u=s?s.height:Bn.current.h,d=s?s.width:Bn.current.w;Hn(!1),vn(e=>({...e,x:l,y:c,w:d,h:u}));let h=null;const m=e=>{if(!r){if(Math.abs(e.clientX-o)<xr&&Math.abs(e.clientY-i)<xr)return;r=kr(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)`),Bn.current={...Bn.current,x:s,y:u},!X){const t=function(e,t){const n=or(),r=e<=n.x+nr,o=e>=n.x+n.w-nr,i=t<=n.y+nr,a=t>=n.y+n.h-nr,s=e<=n.x+rr,l=e>=n.x+n.w-rr,c=t<=n.y+rr,u=t>=n.y+n.h-rr;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?mr(dr(t)):pr())}},p=()=>{window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",p),r?.(),pr();const e=cr({...Bn.current});if(Bn.current=e,!X&&h){Pr.current={x:l,y:c,w:d,h:u};const e=dr(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 vn(e)}if(X){const t=e.x+e.w/2,n=window.innerWidth/2;tt(t>n?"right":"left")}a&&(a.style.left=`${e.x}px`,a.style.top=`${e.y}px`,a.style.transform="",a.style.transition=""),vn(e)};window.addEventListener("pointermove",m),window.addEventListener("pointerup",p)},[]),Kr=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=rt.current,l=s?.getBoundingClientRect(),c=l?l.left:Bn.current.x,u=l?l.top:Bn.current.y,d=l?l.width:Bn.current.w,h=l?l.height:Bn.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;Hn(!1),vn({x:c,y:u,w:d,h:h}),Bn.current={x:c,y:u,w:d,h:h};let y=0,g=null;const v=()=>{if(y=0,!g)return;const e=g;g=null,Bn.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`)},b=e=>{if(!o){if(Math.abs(e.clientX-i)<xr&&Math.abs(e.clientY-a)<xr)return;o=kr(n,r,br[t],"resize")}g=((e,t)=>{let n=c,r=u,o=d,i=h;if(f&&(o=Math.max(sr,d+e)),w&&(i=Math.max(lr,h+t)),m){const t=Math.max(sr,d-e);n=c+d-t,o=t}if(p){const e=Math.max(lr,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(v))},x=()=>{window.removeEventListener("pointermove",b),window.removeEventListener("pointerup",x),y&&cancelAnimationFrame(y),v(),o?.(),vn({...Bn.current})};window.addEventListener("pointermove",b),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(),Qn(It),"Enter"===e.key)return void(qn?(Hn(!1),vn(hn())):(Hn(!0),vn(dn())));const[n,r]=t;if(e.ctrlKey||e.metaKey){const e=()=>{Pr.current||(Pr.current={...Bn.current})};if(r<0)return e(),Hn(!0),void vn(dn());if(r>0){if(qn)return Hn(!1),void vn(hn());if(Pr.current){const e=cr(Pr.current);return Pr.current=null,Bn.current=e,void vn(e)}return void er(It)}e(),Hn(!1);const t=dr(n<0?"left":"right");return Bn.current=t,void vn(t)}if(qn)return;const o=Bn.current,i=e.shiftKey?{...o,w:Math.max(sr,o.w+24*n),h:Math.max(lr,o.h+24*r)}:cr({...o,x:o.x+24*n,y:Math.max(0,o.y+24*r)});Bn.current=i,vn(i)},[It,qn,hn,dn]),jr=B(e=>{Pr.current||(Pr.current={...Bn.current}),Hn(!1);const t=dr(e);Bn.current=t,vn(t),Qn(It)},[It]),Br=zn||_t?{}:{tabIndex:0,role:"group","aria-label":Pe?`${Pe} — ${De.windowSuffix}`:De.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},Ur=()=>{Hn(!0),vn(dn())},Yr=B(()=>{const e=rt.current;if(!e)return;const t=e.querySelector("form");if(t)t.requestSubmit();else{const t=e.querySelector(Zt);t&&!t.disabled&&t.click()}},[]);j(()=>{if(!t)return;if(X)return;const e=e=>{if(Tn[Tn.length-1]===It&&"Enter"===e.key){const t=e.target;if("TEXTAREA"===t.tagName||t.isContentEditable)return;if(e.metaKey||e.ctrlKey)e.preventDefault(),Yr();else{if("INPUT"===t.tagName&&t.closest("form"))return;if(!(t instanceof Element&&rt.current?.contains(t)))return;if(t.closest(Qt))return;e.preventDefault()}}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,Yr,It,X]),j(()=>{if(!t)return;const e=e=>{Tn[Tn.length-1]===It&&((e.metaKey||e.ctrlKey)&&"s"===e.key?(e.preventDefault(),document.dispatchEvent(new CustomEvent("modal-save",{detail:{modalId:It}})),Re.current=!1,Ke(!1)):e.altKey&&e.shiftKey&&("KeyD"===e.code||"D"===e.key||"d"===e.key)&&(e.preventDefault(),document.dispatchEvent(new CustomEvent("modal-duplicate",{detail:{modalId:It}}))))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t]),j(()=>{if(!t)return;if(X)return;const e=e=>{if("Escape"===e.key&&Tn[Tn.length-1]===It){if(I(e))return e.preventDefault(),void e.stopPropagation();if(Mn&&!D)return;e.preventDefault(),e.stopPropagation(),vr()}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,vr,It,X,Mn,D]);const Xr=t&&(void 0!==p||void 0!==f),[Vr]=q(()=>{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}),Gr=Mn&&!He?.home&&ur.actions.length>0;j(()=>{t&&ar&&function(e,t){const n=jt.get(e);n&&n.title===t.title&&n.dirty===t.dirty&&n.copy===t.copy&&n.actions===t.actions&&n.menu===t.menu||(jt.set(e,t),Bt())}(ar,{title:ur.text||Pe,dirty:ir,copy:ur.copy,actions:Gr&&Vr?Vr:void 0,menu:fr.current??void 0})},[t,ar,Pe,ir,ur.text,ur.copy,Gr,Vr]);const _r=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-on-accent 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(j(()=>{if(!t)return;const e=e=>{if(Tn[Tn.length-1]!==It)return;const t=e.target.tagName;"INPUT"!==t&&"TEXTAREA"!==t&&"SELECT"!==t&&(e.target.isContentEditable||("j"===e.key&&Xr&&(e.preventDefault(),p?p():_r("bottom")),"k"===e.key&&Xr&&(e.preventDefault(),f?f():_r("top"))))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,p,f,Xr,_r,It]),!t||mn.current)return null;const Jr=_t?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=or(),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}}(It):null,Zr=_t&&Jr?Math.min(Jr.w/gn.w,Jr.h/gn.h):1,Qr=(()=>{if(_t&&Jr){const e=Zr,t=gn.w*e,n=gn.h*e,r=Jr.x+(Jr.w-t)/2-gn.x,o=Jr.y+(Jr.h-n)/2-gn.y,i=Jt||nn;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:P.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(on&&Xt){const e="picked"===sn;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:P.expose+30}:{}}}return null})(),eo=b({modal:!1,titleId:!X&&(Mn?!He?.home:!fe)?Ie:void 0,label:ur.text||Pe}),to=/* @__PURE__ */Q("div",{children:[
|
|
50
|
-
/* @__PURE__ */Q("div",{ref:rt,"data-modal-panel":!0,"data-modal-id":It,"data-window-key":ce||void 0,...$?{"data-utility":""}:{},...$e?{"data-pinned-top":""}:{},...X?{"data-widget":""}:{},...He?{"data-window-owner":He.key}:{},...He&&!gt?{"data-window-root":""}:{},...
|
|
48
|
+
/* @__PURE__ */ee("button",{onClick:t,onFocus:c,onBlur:u,title:e?o.windowed:o.maximize,className:r,children:e?"❐":"⤢"}),i&&/* @__PURE__ */ee("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-line bg-surface p-2 shadow-lg",children:fr.map(({zone:e,labelKey:t,region:r})=>/* @__PURE__ */ee("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__ */ee("span",{"aria-hidden":"true",className:`absolute rounded-sm bg-blue-500/70 ${r}`,style:{margin:2}})},e))})]})}var vr="rosh-gesture-style";var br={se:"nwse-resize",nw:"nwse-resize",sw:"nesw-resize",ne:"nesw-resize",n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize"},xr=4;function kr(e,t,n,r){!function(){if("undefined"==typeof document||document.getElementById(vr))return;const e=document.createElement("style");e.id=vr,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=Pt(r);let a=!1;return()=>{if(!a){a=!0,i();try{e.releasePointerCapture(t)}catch{}o.remove(),document.body.classList.remove("rosh-gesturing")}}}function Er(e){const t=Tn.indexOf(e);if(-1===t)return-1;const n=P.window+t*P.windowStep,o=On.get(e);if(!o||o.root||!o.tab||!r())return n;let i=-1;for(const[e,t]of On){if(!t.root||t.owner!==o.owner)continue;const n=Tn.indexOf(e);-1!==n&&(i=Math.max(i,P.window+n*P.windowStep))}return i>=n?i+2+Math.min(t,7):n}function Cr(){return Tn[Tn.length-1]||null}function Mr(e){return zn.add(e),()=>{zn.delete(e)}}"undefined"!=typeof window&&window.addEventListener("deactivate-all-modals",function(){for(let e=Tn.length-1;e>=0;e--)tr.has(Tn[e])||Tn.splice(e,1);gn=gn.filter(e=>{const t=Wn.get(e);return null!=t&&tr.has(t)}),bn(),Kn(),window.dispatchEvent(new CustomEvent("modal-reorder"))});var Nr="modal-close-request";function Sr(e){H(Mr,Rn);const t=W(ln);if(Tn.length<=1)return!0;if(e){const t=Wn.get(e);if(null!=t)return Cr()===t}return t?.active??null!=Cr()}var Lr=!1,Tr=/* @__PURE__ */new Set;function zr(e){return Tr.add(e),()=>Tr.delete(e)}function Ar(){return Lr}function Dr(e){Lr!==e&&(Lr=e,Tr.forEach(e=>e()))}function Pr(){Dr(!Lr)}function Ir(){Dr(!1)}var Rr=null,Kr=/* @__PURE__ */new Set;function Wr(e){return Kr.add(e),()=>Kr.delete(e)}function $r(){return Rr}function Or(e){Rr!==e&&(Rr=e,Kr.forEach(e=>e()))}var Fr=null,jr=/* @__PURE__ */new Set;function qr(e){return jr.add(e),()=>jr.delete(e)}function Hr(){return Fr}function Br(e){Fr!==e&&(Fr=e,jr.forEach(e=>e()))}function Ur(){if(!Fr)return void Dr(!1);Or(Fr),Br(null),Dr(!1)}function Yr(){Dr(!Lr),window.dispatchEvent(new CustomEvent("modal-split-view"))}function Xr(){const e=H(zr,Ar),[t,n]=q(e),[r,o]=q(e);return j(()=>{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?ne(
|
|
49
|
+
/* @__PURE__ */ee("div",{onMouseDown:e=>{e.stopPropagation(),Dr(!1)},style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",zIndex:P.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 Vr({open:t,onClose:i,title:c,icon:u,copyText:d,size:h="lg",dirty:m=!1,onNext:p,onPrev:f,footer:w,bodyScroll:v,onMinimize:E,initialBox:C,actions:L,actionsLeft:T,editing:D=!1,edit:K,allowPinOnTop:$,initialPosition:Y,widget:X,compact:J,appStyle:Z,flushBody:re,autoHeight:oe,autoMinHeight:ie,autoWidth:ae,widgetMenu:se,dimensions:le,windowKey:ce,openedFromKey:ue,accentRgb:de,children:he}){const[me,pe]=q(()=>r()),fe=x()&&!me,ye=k()&&!!X,[ge,ve]=q(0),[be,xe]=q(!1),ke=F(null),Ee=F(0);j(()=>{Ee.current=ge},[ge]);const Ce=B(e=>{fe&&(ke.current={startX:e.clientX,startY:e.clientY,pointerId:e.pointerId},xe(!0),Nt(ue??null))},[fe,ue]),Me=H(St,Mt);j(()=>{if(!be)return;const e=e=>{if(!ke.current)return;const t=e.clientX-ke.current.startX;if(Math.abs(e.clientY-ke.current.startY)>Math.abs(t)+12)return ke.current=null,xe(!1),ve(0),void Nt(null);ve(Math.max(0,t))},t=()=>{if(!ke.current)return;const e=.3*window.innerWidth,t=Ee.current>e;ke.current=null,xe(!1),t?(ve(window.innerWidth),setTimeout(()=>{i(),ve(0),Nt(null)},180)):(ve(0),Nt(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)}},[be]);const[Le,ze]=q(c),Ae=R(),De=Ae.window;j(()=>{ze(c)},[c]);const Pe=G(()=>en(Le).trim()||void 0,[Le]),Ie=_(),[Re,Ke]=q(!1),We=F(!1),[$e,Oe]=q(!1),[Fe,je]=q(null),qe=W(Gt),He=W(we),{prefs:Be,save:Ue}=g(),Ye=!!Be.window_accent_stripe,Xe=Be.favorite_documents||[],Ge=!!qe&&Xe.some(e=>e.entityType===qe.entityType&&e.entityId===qe.entityId),Je=B(()=>{if(!qe)return;const e=Ge?Xe.filter(e=>!(e.entityType===qe.entityType&&e.entityId===qe.entityId)):[...Xe,{entityType:qe.entityType,entityId:qe.entityId,label:qe.label}];Ue({favorite_documents:e})},[qe,Ge,Xe,Ue]),[Ze,Qe]=q(null),[et,tt]=q("top-right"===Y?"right":"left"),nt=F(!1),rt=F(null);O(()=>{const e=rt.current;e&&(de?e.style.setProperty("--window-accent-rgb",de):e.style.removeProperty("--window-accent-rgb"))},[de]);const ot=F(!1),it=F(null),at=F(null),st=F(null),[lt,ct]=q(!1),ut=F(null),dt=F(null),ht=F(null),[mt,pt]=q(!1);O(()=>{const e=dt.current,t=ht.current;if(!e||!t)return;const n=()=>pt(function(e,t){return e.scrollWidth>t.clientWidth}(t,e));if(n(),"undefined"==typeof ResizeObserver)return;const r=new ResizeObserver(n);return r.observe(e),r.observe(t),()=>r.disconnect()},[null!=w&&!1!==w]);const ft=!!K&&!X&&!J&&!Z&&(K.editing||"hidden"!==K.state),wt=!!(w||L||T)||lt||ft,yt=W(Se),gt=""!==W(Vt),vt=F(null);vt.current=He?{owner:He.key,tab:He.tab,root:!gt}:null;const bt=ce||(He&&!gt?He.key:null),xt=!!yt&&!gt&&yt.enabled&&yt.hasState&&(D||yt.declaredEditable)&&!yt.handMounted&&wt&&!X&&!J&&!Z&&!fe,Et=/* @__PURE__ */ee(A,{name:"window",className:"h-4 w-4",strokeWidth:1.5}),Ct=u&&U(u)?V(u,{className:`h-4 w-4 ${u.props?.className??""}`.trim()}):u??Et,Lt=()=>/* @__PURE__ */ee("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation();const t=e.currentTarget.getBoundingClientRect();je(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:Ct}),Tt=40,{minimize:zt,items:At,restoreIfMinimized:Dt,openWindows:Pt}=_e(),It=F(`modal-${Math.random().toString(36).slice(2,8)}`).current;j(()=>{if(X)return tr.add(It),()=>{tr.delete(It)}},[X,It]),j(()=>{const e=e=>{const t=e.detail;t?.id===It&&ze(t.title)};return window.addEventListener("window-title-update",e),()=>window.removeEventListener("window-title-update",e)},[It]);const[Rt,Kt]=q(P.window),Wt=function(e){const t=H(Mr,Cr);return Tn.length<=1||t===e}(It),$t=F(K);$t.current=K;const Ft=!!K&&!K.editing&&"enabled"===K.state;j(()=>{if(!t||!Wt||!Ft)return;const e=e=>{("KeyE"===e.code||"E"===e.key||"e"===e.key)&&e.altKey&&e.shiftKey&&!e.metaKey&&!e.ctrlKey&&(e.preventDefault(),e.stopPropagation(),$t.current?.onEdit())};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,Wt,Ft]);const qt=function(e){return H(Mr,()=>An.has(e))}(It);kt({panelRef:rt,bodyRef:it,open:t,widget:!!X,active:Wt,minimized:qt});const Ht=H(zr,Ar),Ut=H(Wr,$r),Yt=H(qr,Hr),Xt=!$&&!X,_t=Ht&&Xt,[Jt,tn]=q(!1),nn=_t&&Yt===It,[on,an]=q(!1),sn=on&&Xt&&Ut===It?"picked":null,cn=F(_t);j(()=>{if(cn.current&&!_t){an(!0);const e=setTimeout(()=>{an(!1),Rr===It&&Or(null)},700);return cn.current=_t,()=>clearTimeout(e)}cn.current=_t},[_t,It]),j(()=>{_t||tn(!1)},[_t]),j(()=>{const e=at.current,t=st.current;if(!e&&!t)return;const n=e=>e?Array.from(e.children).filter(e=>"shell"!==e.dataset.undoControls).length:0,r=()=>ct(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]),j(()=>{const e=e=>{if(e.target.closest('button[type="submit"]')&&rt.current){const t=rt.current.querySelector("form");t&&(e.preventDefault(),t.requestSubmit())}},t=at.current,n=st.current;return t&&t.addEventListener("click",e),n&&n.addEventListener("click",e),()=>{t&&t.removeEventListener("click",e),n&&n.removeEventListener("click",e)}},[t]);const un=F(!1),dn=B(e,[]),hn=B(()=>{const t=e(),n=le?le[0]:Mn[h]||672,o=t.w-80,i=t.h-80,a=Math.min(n,o),s=Ln[Sn()],l=le?Math.min(le[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*(Tn.length-1),u=Math.max(Tt,(i-l)/2),d=(o-a)/2,m=t.h-Tt-l-u;return"top-right"===Y?{x:t.x+t.w-a-Tt,y:t.y+Tt,w:a,h:l}:"top-left"===Y?{x:t.x+Tt,y:t.y+Tt,w:a,h:l}:{x:t.x+Math.max(Tt,(o-a)/2+Tt)+Math.min(c,Math.max(0,d)),y:t.y+u+Math.min(c,Math.max(0,m)),w:a,h:l}},[h]),mn=F(!1);t||(mn.current=!1);const fn=ce||d||null;j(()=>{if(!t)return;_n(It,fn,vt.current??void 0),ce||Qn(It),un.current=!1,Kt(Er(It));const e=()=>{Kt(Er(It))},n=()=>{},r=e=>{if(!e)return!1;if(e.windowKey)return e.windowKey===ce;if(!e.label)return!1;const t=rt.current?.querySelector("[data-window-title]");return!!t?.textContent?.includes(e.label)},o=e=>{if(!r(e.detail))return;if(Qn(It),Dn.current)return;const t=or(),n=Math.min(Bn.current.w,t.w-40),o=Math.min(Bn.current.h,t.h-40),i=t.x+(t.w-n)/2,a=t.y+(t.h-o)/2;vn({x:i,y:a,w:n,h:o}),Hn(!1)},i=e=>{const t=e.detail;r(t)&&(Qn(It),je({x:t.x,y:t.y}))},a=e=>{if(e.detail?.windowKey!==ce)return;Qn(It);const t=Bn.current,n=function(e,t=or()){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=rt.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)}vn(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=Tn.indexOf(e);-1!==t&&(Tn.splice(t,1),Kn()),An.delete(e),Pn.delete(e),On.delete(e);const n=$n.get(e);n&&($n.delete(e),Wn.delete(n))}(It),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,It,fn,dn]);const yn=!X&&"maximized"===Sn(),[gn,vn]=q(()=>{if(fn&&pn[fn]){const e={...pn[fn]};return le&&(e.w=le[0],oe||(e.h=le[1])),cr(e)}return C?{x:C.x,y:C.y,w:C.w,h:C.h}:yn?dn():hn()}),[bn,xn]=q(()=>!oe),kn=F(me),En=F(null);j(()=>{const e=()=>{const e=r();e!==kn.current&&En.current?.(e),kn.current=e,pe(e),Kt(Er(It))};return window.addEventListener("react-os-shell:layout-mode-changed",e),()=>window.removeEventListener("react-os-shell:layout-mode-changed",e)},[It]);const Cn=me&&!!He?.tab&&!gt&&!X&&!fe,zn=Cn,Dn=F(zn);Dn.current=zn;const In=jn(),Rn=me&&!!He?.tab&&!X&&!fe&&!Ht&&In!==He.key,Fn=!!X&&me&&!Ht&&null!==In,[qn,Hn]=q(()=>fn&&pn[fn]||C?zn:zn||yn),Bn=F(gn);Bn.current=gn;const Un=F(qn);O(()=>{Un.current=qn},[qn]),O(()=>{if(bn||Cn)return;const e=rt.current,t=it.current;if(!e||!t)return;const n=ie??(X?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,Bn.current.y)-24),g=w?Math.min(Bn.current.h,y):Math.min(Math.max(n,u+p),y),v=Math.abs(g-o)>1;v&&(o=g,vn(e=>Math.abs(e.h-g)>1?{...e,h:g}:e)),X||(g<=n?i&&(clearTimeout(i),i=null):(v||null===i)&&(i&&clearTimeout(i),i=setTimeout(()=>{const e=o;s(),o===e&&xn(!0)},160)))},l=new ResizeObserver(s);s(),ut.current&&l.observe(ut.current);const c=new MutationObserver(s);return c.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>{l.disconnect(),c.disconnect(),i&&clearTimeout(i)}},[bn,X,ie,wt,Cn]),O(()=>{if(!oe||!bn||X||!t)return;const e=ut.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||qn)return;if(document.body.classList.contains("rosh-gesturing"))return;const i=ie??240,a=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--taskbar-height"))||0,s=Math.max(i,window.innerHeight-a-Math.max(0,Bn.current.y)-24);vn(e=>({...e,h:Math.min(Math.max(i,e.h+r),s)}))});return r.observe(e),()=>r.disconnect()},[oe,bn,X,t,qn,ie]);const Xn=!1!==ae&&!X&&!Z&&!fe,[Vn,Gn]=q(()=>!Xn);O(()=>{if(Vn||!t)return;if(!Xn||qn)return void Gn(!0);const n=rt.current,r=it.current;if(!n||!r)return;const o=/* @__PURE__ */new WeakSet;let i=Bn.current.w,c=0;const u=()=>Gn(!0),d=()=>{c=0;const t=Bn.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 v=s(t,l(t.w,w,g),d,Tt);v!==t&&(i=v.w,vn(v))};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,Nn);return()=>{h.disconnect(),c&&cancelAnimationFrame(c),clearTimeout(m)}},[Vn,t,Xn,qn]);const Jn=F(null),Zn=!(!He?.tab||gt||X||fe);En.current=t=>{if(!Zn)return;if(t)return Jn.current||(Jn.current={box:{...Bn.current},maximized:Un.current}),void(Un.current=!0);const r=Jn.current;Jn.current=null;const o=e();if(r?.maximized)return Un.current=!0,Hn(!0),void vn(o);const i=r?.box??(fn?pn[fn]:void 0);if(Un.current=!1,Hn(!1),i&&!n(i,o,!1)){const e={...i};le&&(e.w=le[0],oe||(e.h=le[1])),vn(cr(e))}else vn(hn())},j(()=>{zn&&(Un.current=!0,Hn(!0),vn(dn()))},[zn,dn]),j(()=>{if(X)return;const e=()=>{const e=fn?pn[fn]:void 0;if(Un.current=!1,Hn(!1),e){const t={...e};le&&(t.w=le[0],oe||(t.h=le[1])),vn(cr(t))}else vn(hn())};return window.addEventListener("react-os-shell:restore-windowed",e),()=>window.removeEventListener("react-os-shell:restore-windowed",e)},[X,hn,fn]),j(()=>{t&&fn&&!Cn&&(pn[fn]=gn,wn()),t&&window.dispatchEvent(new CustomEvent("modal-geometry"))},[gn,t,fn,Cn]),j(()=>{if(!t)return;const e=()=>{Un.current?vn(dn()):document.body.classList.contains("rosh-gesturing")||vn(cr)};window.addEventListener("resize",e),window.addEventListener(o,e);let n=null;return qn&&(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,qn,dn]),j(()=>{if(t&&(Ke(!1),We.current=!1,nt.current=!1,Gn(!Xn),!Dn.current)){if(fn&&pn[fn]){const e=pn[fn];return void vn(t=>cr({...e,...oe?{h:t.h}:{},...Xn?{x:t.x,w:t.w}:{}}))}C&&(vn({x:C.x,y:C.y,w:C.w,h:C.h}),Hn(C.maximized))}},[t]),j(()=>{if(!t||"auto"!==m)return;let e;const n=t=>{rt.current?.contains(t.target)&&!We.current&&(We.current=!0,e=setTimeout(()=>Ke(!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 ir="auto"===m?Re:!0===m,ar=He&&!gt?He.key:null,ur=G(()=>Ot(Le),[Le]),hr=F({shortcutSpec:qe,isOnDesktop:Ge,toggleDesktopShortcut:Je,taskbarStrings:Ae.taskbar});O(()=>{hr.current={shortcutSpec:qe,isOnDesktop:Ge,toggleDesktopShortcut:Je,taskbarStrings:Ae.taskbar}});const fr=F(null);fr.current||(fr.current={open:(e,t)=>je({x:e,y:t}),items:()=>{const e=hr.current,t=[];e.shortcutSpec&&t.push({label:e.isOnDesktop?e.taskbarStrings.removeFromDesktop:e.taskbarStrings.addToDesktop,onSelect:e.toggleDesktopShortcut});for(const e of rn[It]||[])t.push({label:e.label,icon:e.icon,onSelect:e.onClick});return t}}),j(()=>{if(t&&ar)return()=>{return e=ar,void(jt.delete(e)&&Bt());var e}},[t,ar]),Ve(!(ce||!t)&&ir);const wr=B(()=>ir||"auto"===m&&We.current,[ir,m]),yr=B(async e=>{if(nt.current)return!1;if(!wr())return!0;nt.current=!0;const t=Pe,n="close"===e?"Are you sure you want to close?":"discard"===e?"Are you sure you want to stop editing?":"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 nt.current=!1,r},[wr,Pe]),vr=B(()=>nt.current?Promise.resolve():wr()?yr("close").then(e=>{e&&i()}):(i(),Promise.resolve()),[wr,yr,i]),Sr=B(async()=>{await yr("discard")&&(We.current=!1,Ke(!1),$t.current?.onDiscard())},[yr]),Lr=B(async()=>{const e=await yr("switch");return e&&(We.current=!1,Ke(!1)),e},[yr]),Tr=F(()=>!1);O(()=>{Tr.current=wr}),O(()=>{if(!t||!ce)return;const e={holdsChanges:()=>Tr.current(),ask:Lr};return Yn.set(ce,e),()=>{Yn.get(ce)===e&&Yn.delete(ce)}},[t,ce,Lr]),O(()=>{if(!t||!bt)return;const e=e=>{e.detail?.windowKey===bt&&vr()};return window.addEventListener(Nr,e),()=>window.removeEventListener(Nr,e)},[t,bt,vr]);const Pr=F(null),Ir=B(e=>{if(0!==e.button)return;if(e.target.closest("button, input, a, kbd, select, textarea"))return;if(je(null),Qn(It),Dn.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=rt.current,s=a?.getBoundingClientRect();let l,c,u,d;if(Pr.current){const t=Pr.current;Pr.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:Bn.current.x,c=s?s.top:Bn.current.y,u=s?s.height:Bn.current.h,d=s?s.width:Bn.current.w;Hn(!1),vn(e=>({...e,x:l,y:c,w:d,h:u}));let h=null;const m=e=>{if(!r){if(Math.abs(e.clientX-o)<xr&&Math.abs(e.clientY-i)<xr)return;r=kr(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)`),Bn.current={...Bn.current,x:s,y:u},!X){const t=function(e,t){const n=or(),r=e<=n.x+nr,o=e>=n.x+n.w-nr,i=t<=n.y+nr,a=t>=n.y+n.h-nr,s=e<=n.x+rr,l=e>=n.x+n.w-rr,c=t<=n.y+rr,u=t>=n.y+n.h-rr;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?mr(dr(t)):pr())}},p=()=>{window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",p),r?.(),pr();const e=cr({...Bn.current});if(Bn.current=e,!X&&h){Pr.current={x:l,y:c,w:d,h:u};const e=dr(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 vn(e)}if(X){const t=e.x+e.w/2,n=window.innerWidth/2;tt(t>n?"right":"left")}a&&(a.style.left=`${e.x}px`,a.style.top=`${e.y}px`,a.style.transform="",a.style.transition=""),vn(e)};window.addEventListener("pointermove",m),window.addEventListener("pointerup",p)},[]),Kr=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=rt.current,l=s?.getBoundingClientRect(),c=l?l.left:Bn.current.x,u=l?l.top:Bn.current.y,d=l?l.width:Bn.current.w,h=l?l.height:Bn.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;Hn(!1),vn({x:c,y:u,w:d,h:h}),Bn.current={x:c,y:u,w:d,h:h};let y=0,g=null;const v=()=>{if(y=0,!g)return;const e=g;g=null,Bn.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`)},b=e=>{if(!o){if(Math.abs(e.clientX-i)<xr&&Math.abs(e.clientY-a)<xr)return;o=kr(n,r,br[t],"resize")}g=((e,t)=>{let n=c,r=u,o=d,i=h;if(f&&(o=Math.max(sr,d+e)),w&&(i=Math.max(lr,h+t)),m){const t=Math.max(sr,d-e);n=c+d-t,o=t}if(p){const e=Math.max(lr,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(v))},x=()=>{window.removeEventListener("pointermove",b),window.removeEventListener("pointerup",x),y&&cancelAnimationFrame(y),v(),o?.(),vn({...Bn.current})};window.addEventListener("pointermove",b),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(),Qn(It),"Enter"===e.key)return void(qn?(Hn(!1),vn(hn())):(Hn(!0),vn(dn())));const[n,r]=t;if(e.ctrlKey||e.metaKey){const e=()=>{Pr.current||(Pr.current={...Bn.current})};if(r<0)return e(),Hn(!0),void vn(dn());if(r>0){if(qn)return Hn(!1),void vn(hn());if(Pr.current){const e=cr(Pr.current);return Pr.current=null,Bn.current=e,void vn(e)}return void er(It)}e(),Hn(!1);const t=dr(n<0?"left":"right");return Bn.current=t,void vn(t)}if(qn)return;const o=Bn.current,i=e.shiftKey?{...o,w:Math.max(sr,o.w+24*n),h:Math.max(lr,o.h+24*r)}:cr({...o,x:o.x+24*n,y:Math.max(0,o.y+24*r)});Bn.current=i,vn(i)},[It,qn,hn,dn]),jr=B(e=>{Pr.current||(Pr.current={...Bn.current}),Hn(!1);const t=dr(e);Bn.current=t,vn(t),Qn(It)},[It]),Br=zn||_t?{}:{tabIndex:0,role:"group","aria-label":Pe?`${Pe} — ${De.windowSuffix}`:De.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},Ur=()=>{Hn(!0),vn(dn())},Yr=B(()=>{const e=rt.current;if(!e)return;const t=e.querySelector("form");if(t)t.requestSubmit();else{const t=e.querySelector(Zt);t&&!t.disabled&&t.click()}},[]);j(()=>{if(!t)return;if(X)return;const e=e=>{if(Tn[Tn.length-1]===It&&"Enter"===e.key){const t=e.target;if("TEXTAREA"===t.tagName||t.isContentEditable)return;if(e.metaKey||e.ctrlKey)e.preventDefault(),Yr();else{if("INPUT"===t.tagName&&t.closest("form"))return;if(!(t instanceof Element&&rt.current?.contains(t)))return;if(t.closest(Qt))return;e.preventDefault()}}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,Yr,It,X]),j(()=>{if(!t)return;const e=e=>{Tn[Tn.length-1]===It&&((e.metaKey||e.ctrlKey)&&"s"===e.key?(e.preventDefault(),document.dispatchEvent(new CustomEvent("modal-save",{detail:{modalId:It}})),We.current=!1,Ke(!1)):e.altKey&&e.shiftKey&&("KeyD"===e.code||"D"===e.key||"d"===e.key)&&(e.preventDefault(),document.dispatchEvent(new CustomEvent("modal-duplicate",{detail:{modalId:It}}))))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t]),j(()=>{if(!t)return;if(X)return;const e=e=>{if("Escape"===e.key&&Tn[Tn.length-1]===It){if(I(e))return e.preventDefault(),void e.stopPropagation();if(Cn&&!D)return;e.preventDefault(),e.stopPropagation(),vr()}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,vr,It,X,Cn,D]);const Xr=t&&(void 0!==p||void 0!==f),[Vr]=q(()=>{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}),Gr=Cn&&!He?.home&&ur.actions.length>0;j(()=>{t&&ar&&function(e,t){const n=jt.get(e);n&&n.title===t.title&&n.dirty===t.dirty&&n.copy===t.copy&&n.actions===t.actions&&n.menu===t.menu||(jt.set(e,t),Bt())}(ar,{title:ur.text||Pe,dirty:ir,copy:ur.copy,actions:Gr&&Vr?Vr:void 0,menu:fr.current??void 0})},[t,ar,Pe,ir,ur.text,ur.copy,Gr,Vr]);const _r=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-on-accent 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(j(()=>{if(!t)return;const e=e=>{if(Tn[Tn.length-1]!==It)return;const t=e.target.tagName;"INPUT"!==t&&"TEXTAREA"!==t&&"SELECT"!==t&&(e.target.isContentEditable||("j"===e.key&&Xr&&(e.preventDefault(),p?p():_r("bottom")),"k"===e.key&&Xr&&(e.preventDefault(),f?f():_r("top"))))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,p,f,Xr,_r,It]),!t||mn.current)return null;const Jr=_t?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=or(),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}}(It):null,Zr=_t&&Jr?Math.min(Jr.w/gn.w,Jr.h/gn.h):1,Qr=(()=>{if(_t&&Jr){const e=Zr,t=gn.w*e,n=gn.h*e,r=Jr.x+(Jr.w-t)/2-gn.x,o=Jr.y+(Jr.h-n)/2-gn.y,i=Jt||nn;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:P.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(on&&Xt){const e="picked"===sn;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:P.expose+30}:{}}}return null})(),eo=b({modal:!1,titleId:!X&&(Cn?!He?.home:!fe)?Ie:void 0,label:ur.text||Pe}),to=/* @__PURE__ */Q("div",{children:[
|
|
50
|
+
/* @__PURE__ */Q("div",{ref:rt,"data-modal-panel":!0,"data-modal-id":It,"data-window-key":ce||void 0,...$?{"data-utility":""}:{},...$e?{"data-pinned-top":""}:{},...X?{"data-widget":""}:{},...He?{"data-window-owner":He.key}:{},...He&&!gt?{"data-window-root":""}:{},...Cn?{"data-window-tab":""}:{},...eo,className:Cn?"fixed flex flex-col overflow-hidden":"fixed rounded-(--radius-window) flex flex-col overflow-hidden "+(X?Wt?"shadow-xl":"shadow-lg":"border "+(Wt?"shadow-xl border-line":"shadow-lg border-line-strong")),onMouseDownCapture:e=>{if(ot.current=!1,_t){if(e.target.closest("[data-expose-close]"))return;return e.preventDefault(),e.stopPropagation(),Or(It),Dr(!1),void Qn(It)}if(!Wt&&!X&&!$e&&0===e.button){const t=e.target;t.closest("[data-modal-panel]")===rt.current&&t.closest("button, input, a, select, textarea")&&!t.closest("[data-window-chrome]")&&(e.preventDefault(),e.stopPropagation(),ot.current=!0,je(null),Qn(It),window.addEventListener("mouseup",()=>{setTimeout(()=>{ot.current=!1},0)},{once:!0}))}},onClickCapture:e=>{ot.current&&(ot.current=!1,e.preventDefault(),e.stopPropagation())},onMouseDown:e=>{if(_t)return;je(null);e.target.closest("[data-modal-panel]")===rt.current&&(e.target.closest("button, input, a, select, textarea")||Qn(It))},style:fe?{zIndex:Rt+1,top:0,left:0,right:0,bottom:"var(--mobile-bottom-nav, 56px)",width:"auto",height:"auto",transform:`translateX(${ge}px)`,transition:be?"none":"transform 180ms ease-out",...X?{display:"none"}:{},...Rt<0?{display:"none"}:{},...Wt||$e||Me&&ce===Me?{}:{display:"none"}}:{zIndex:$e?P.pinnedWindow:Rt+1,width:gn.w,height:gn.h,top:gn.y,...X&&"right"===et?{right:window.innerWidth-gn.x-gn.w}:{left:gn.x},...Rt<0&&!$e?{display:"none"}:{},...ye?{display:"none"}:{},...Rn||Fn?{visibility:"hidden",pointerEvents:"none"}:{},...Qr??{}},children:[fe&&!X&&/* @__PURE__ */ee("div",{onPointerDown:Ce,className:"absolute top-0 bottom-0 left-0 w-[22px] z-[5]",style:{touchAction:"pan-y"},"aria-hidden":"true"}),X?null:Cn?He?.home?null:/* @__PURE__ */Q(te,{children:[
|
|
51
51
|
/* @__PURE__ */ee("h2",{id:Ie,"data-window-title":!0,className:"sr-only",children:ur.text||Pe}),Gr&&Vr&&ne(
|
|
52
52
|
/* @__PURE__ */ee(te,{children:ur.actions}),Vr),ur.badges.length>0&&/* @__PURE__ */ee("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:ur.badges})]}):fe?null:
|
|
53
|
-
/* @__PURE__ */Q("div",J?{onPointerDown:Ir,"data-window-chrome":"",...Br,className:"flex items-center justify-between h-(--row-height-compact-bar) px-3 border-b border-line 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 "+(
|
|
54
|
-
/* @__PURE__ */Q("div",{"data-window-title":!0,title:Pe,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:
|
|
53
|
+
/* @__PURE__ */Q("div",J?{onPointerDown:Ir,"data-window-chrome":"",...Br,className:"flex items-center justify-between h-(--row-height-compact-bar) px-3 border-b border-line 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 "+(Wt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:Wt?"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:Pe,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:Wt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!_t&&Lt(),
|
|
55
55
|
/* @__PURE__ */ee("span",{id:Ie,className:"truncate",children:_t?en(Le):Le})]}),!_t&&/* @__PURE__ */Q("div",{className:"flex items-center gap-2 shrink-0 ml-2",children:[$&&/* @__PURE__ */ee("button",{onClick:()=>Oe(e=>!e),title:$e?De.unpin:De.pinOnTop,className:"p-0.5 rounded hover:bg-gray-200 "+($e?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */ee(A,{name:"bookmark-square",className:"h-3 w-3",fill:$e?"currentColor":"none",strokeWidth:1.5})}),
|
|
56
|
-
/* @__PURE__ */ee("button",{type:"button",onClick:vr,"aria-label":De.close,className:"rounded p-0.5 text-ink-faintest hover:text-gray-600 hover:bg-gray-200",children:/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4"})})]})]}:Z?{onPointerDown:Ir,"data-window-chrome":"",...Br,className:"flex items-center justify-between h-(--row-height-compact-bar) px-3 border-b border-line 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 "+(
|
|
57
|
-
/* @__PURE__ */Q("div",{"data-window-title":!0,title:Pe,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:
|
|
56
|
+
/* @__PURE__ */ee("button",{type:"button",onClick:vr,"aria-label":De.close,className:"rounded p-0.5 text-ink-faintest hover:text-gray-600 hover:bg-gray-200",children:/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4"})})]})]}:Z?{onPointerDown:Ir,"data-window-chrome":"",...Br,className:"flex items-center justify-between h-(--row-height-compact-bar) px-3 border-b border-line 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 "+(Wt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:Wt?"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:Pe,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:Wt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!_t&&Lt(),
|
|
58
58
|
/* @__PURE__ */ee("span",{id:Ie,className:"truncate",children:_t?en(Le):Le})]}),!_t&&/* @__PURE__ */Q("div",{className:"flex items-center gap-2 shrink-0 ml-2",children:[$&&/* @__PURE__ */ee("button",{onClick:()=>Oe(e=>!e),title:$e?De.unpin:De.pinOnTop,className:"p-0.5 rounded hover:bg-gray-200 "+($e?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */ee(A,{name:"bookmark-square",className:"h-3 w-3",fill:$e?"currentColor":"none",strokeWidth:1.5})}),
|
|
59
59
|
/* @__PURE__ */ee("button",{onClick:()=>er(It),title:De.minimize,className:"text-gray-400 hover:text-gray-600 px-1 py-0.5 rounded hover:bg-gray-200 text-xs leading-none",children:"─"}),!zn&&/* @__PURE__ */ee(gr,{maximized:qn,onToggleMax:()=>{qn?(Hn(!1),vn(hn())):Ur()},onSnap:jr,buttonClassName:"text-gray-400 hover:text-gray-600 px-1 py-0.5 rounded hover:bg-gray-200 text-xs leading-none",strings:De}),
|
|
60
|
-
/* @__PURE__ */ee("button",{type:"button",onClick:vr,"aria-label":De.close,className:"rounded p-0.5 text-ink-faintest hover:text-gray-600 hover:bg-gray-200",children:/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4"})})]})]}:{onPointerDown:Ir,"data-window-chrome":"",...Br,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 "+(
|
|
61
|
-
/* @__PURE__ */Q("div",{"data-window-title":!0,title:Pe,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:
|
|
60
|
+
/* @__PURE__ */ee("button",{type:"button",onClick:vr,"aria-label":De.close,className:"rounded p-0.5 text-ink-faintest hover:text-gray-600 hover:bg-gray-200",children:/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4"})})]})]}:{onPointerDown:Ir,"data-window-chrome":"",...Br,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 "+(Wt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:Wt?"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:Pe,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:Wt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!_t&&Lt(),
|
|
62
62
|
/* @__PURE__ */ee("span",{id:Ie,className:"truncate",children:_t?en(Le):Le})]}),!_t&&/* @__PURE__ */Q("div",{className:"flex items-center gap-3 shrink-0 ml-4",children:[$&&/* @__PURE__ */ee("button",{onClick:()=>Oe(e=>!e),title:$e?De.unpin:De.pinOnTop,className:"text-xs px-2 py-1 rounded hover:bg-gray-200 "+($e?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */ee(A,{name:"bookmark-square",className:"h-3.5 w-3.5",fill:$e?"currentColor":"none",strokeWidth:1.5})}),
|
|
63
63
|
/* @__PURE__ */ee("button",{onClick:()=>er(It),title:De.minimize,className:"text-gray-400 hover:text-gray-600 text-xs px-2 py-1 rounded hover:bg-gray-200",children:"─"}),!zn&&/* @__PURE__ */ee(gr,{maximized:qn,onToggleMax:()=>{qn?(Hn(!1),vn(hn())):Ur()},onSnap:jr,buttonClassName:"text-gray-400 hover:text-gray-600 text-xs px-2 py-1 rounded hover:bg-gray-200",strings:De}),
|
|
64
|
-
/* @__PURE__ */ee("button",{type:"button",onClick:vr,"aria-label":De.close,className:"rounded-(--radius-control) text-ink-faintest hover:text-gray-600",children:/* @__PURE__ */ee(A,{name:"close",className:"h-5 w-5"})})]})]}),de&&Ye&&!X&&!fe&&/* @__PURE__ */ee("div",{"aria-hidden":"true",className:"h-[3px] shrink-0 pointer-events-none",style:{backgroundColor:`rgb(var(--window-accent-rgb) / ${
|
|
65
|
-
/* @__PURE__ */ee(Vt.Provider,{value:It,children:/* @__PURE__ */ee(ln.Provider,{value:{rightRef:at,leftRef:st,notify:()=>ct(!0),active:
|
|
64
|
+
/* @__PURE__ */ee("button",{type:"button",onClick:vr,"aria-label":De.close,className:"rounded-(--radius-control) text-ink-faintest hover:text-gray-600",children:/* @__PURE__ */ee(A,{name:"close",className:"h-5 w-5"})})]})]}),de&&Ye&&!X&&!fe&&/* @__PURE__ */ee("div",{"aria-hidden":"true",className:"h-[3px] shrink-0 pointer-events-none",style:{backgroundColor:`rgb(var(--window-accent-rgb) / ${Wt?.9:.55})`}}),
|
|
65
|
+
/* @__PURE__ */ee(Vt.Provider,{value:It,children:/* @__PURE__ */ee(ln.Provider,{value:{rightRef:at,leftRef:st,notify:()=>ct(!0),active:Wt,isDirty:ir,footerOpen:wt&&!X&&!J&&!Z&&!fe},children:/* @__PURE__ */ee("div",{ref:it,...X?{onPointerDown:Ir,onContextMenu:e=>{e.preventDefault(),Qe({x:e.clientX,y:e.clientY})}}:{},className:`flex-1 min-h-0 flex flex-col ${X?"p-0 cursor-move":Z||re?"p-0":J?"p-2":"p-4"} ${X||Cn?"":"backdrop-blur-sm"} ${!1===v||Z||re?"overflow-hidden":"overflow-y-auto overscroll-contain"} ${X?"rounded-2xl select-none":""}`,style:{...X?{touchAction:"none"}:{},backgroundColor:X?"transparent":Cn?"rgb(var(--window-content-rgb))":Wt?"rgb(var(--window-content-rgb) / var(--active-content-opacity, 0.9))":"rgb(var(--window-content-rgb) / var(--inactive-content-opacity, 0.8))"},children:/* @__PURE__ */ee(Ne,{children:he})})})}),X&&Ze&&/* @__PURE__ */Q(M,{minWidth:160,style:{left:Ze.x,top:Ze.y},onClose:()=>Qe(null),children:[
|
|
66
66
|
/* @__PURE__ */ee(N,{onClick:()=>{Qe(null),window.dispatchEvent(new CustomEvent("widget-open-settings",{detail:It}))},children:"Settings"}),
|
|
67
67
|
/* @__PURE__ */ee(S,{}),se&&/* @__PURE__ */Q(te,{children:[se,
|
|
68
68
|
/* @__PURE__ */ee(S,{})]}),
|
|
@@ -70,12 +70,12 @@ return Q("span",{className:"relative inline-flex",onMouseEnter:c,onMouseLeave:u,
|
|
|
70
70
|
/* @__PURE__ */ee("span",{className:"flex-1",children:"Always on Top"}),$e&&/* @__PURE__ */ee(A,{name:"check",className:"h-4 w-4 text-blue-600 shrink-0",strokeWidth:2})]}),
|
|
71
71
|
/* @__PURE__ */ee(S,{}),
|
|
72
72
|
/* @__PURE__ */ee(N,{onClick:()=>{Qe(null),vr()},children:"Close"})]}),
|
|
73
|
-
/* @__PURE__ */Q("div",{onPointerDown:Ir,ref:ut,"data-modal-footer":"",className:`px-4 py-2 border-t border-gray-200 shrink-0 flex items-center justify-between text-xs select-none${
|
|
73
|
+
/* @__PURE__ */Q("div",{onPointerDown:Ir,ref:ut,"data-modal-footer":"",className:`px-4 py-2 border-t border-gray-200 shrink-0 flex items-center justify-between text-xs select-none${Cn?"":" cursor-move"}${Wt&&!Cn?" backdrop-blur-sm":""}${X||J||Z||fe||!wt?" hidden":""}`,style:{touchAction:"none",backgroundColor:Cn?"rgb(var(--window-footer-rgb))":Wt?"rgb(var(--window-footer-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-footer-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
|
|
74
74
|
/* @__PURE__ */Q("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[xt&&/* @__PURE__ */ee(Te,{auto:!0}),T,
|
|
75
75
|
/* @__PURE__ */ee("div",{ref:st,"data-modal-actions-left":!0,className:"flex items-center gap-2 shrink-0"}),null!=w&&!1!==w&&
|
|
76
76
|
/* @__PURE__ */ee("div",{ref:dt,"data-modal-footer-facts":"",className:"min-w-0 flex-1 overflow-hidden",children:/* @__PURE__ */ee("div",{ref:ht,className:"inline-flex items-center gap-2 whitespace-nowrap"+(mt?" invisible":""),children:w})})]}),
|
|
77
77
|
/* @__PURE__ */Q("div",{"data-modal-footer-right":"",className:"flex items-center gap-2 ml-auto shrink-0",children:[ft&&K&&(K.editing?/* @__PURE__ */ee(z,{variant:"secondary",size:"sm","data-modal-discard":"",onClick:()=>{Sr()},children:De.discard}):"object"==typeof K.state?/* @__PURE__ */ee(z,{variant:"secondary",size:"sm","data-modal-edit":"","aria-disabled":!0,disabledReason:K.state.disabledReason,children:De.edit}):/* @__PURE__ */ee(z,{variant:"secondary",size:"sm","data-modal-edit":"",onClick:()=>K.onEdit(),children:De.edit})),
|
|
78
|
-
/* @__PURE__ */ee("div",{ref:at,"data-modal-actions":!0,className:"flex items-center gap-2"}),L]})]}),!X&&!fe&&!_t&&
|
|
78
|
+
/* @__PURE__ */ee("div",{ref:at,"data-modal-actions":!0,className:"flex items-center gap-2"}),L]})]}),!X&&!fe&&!_t&&Wt&&!zn&&/* @__PURE__ */Q(te,{children:[
|
|
79
79
|
/* @__PURE__ */ee("div",{onPointerDown:e=>Kr(e,"se"),className:"absolute bottom-0 right-0 w-3 h-3 cursor-nwse-resize z-10"}),
|
|
80
80
|
/* @__PURE__ */ee("div",{onPointerDown:e=>Kr(e,"sw"),className:"absolute bottom-0 left-0 w-3 h-3 cursor-nesw-resize z-10"}),
|
|
81
81
|
/* @__PURE__ */ee("div",{onPointerDown:e=>Kr(e,"ne"),className:"absolute top-0 right-0 w-3 h-3 cursor-nesw-resize z-10"}),
|
|
@@ -83,18 +83,18 @@ return Q("span",{className:"relative inline-flex",onMouseEnter:c,onMouseLeave:u,
|
|
|
83
83
|
/* @__PURE__ */ee("div",{onPointerDown:e=>Kr(e,"n"),className:"absolute top-0 left-3 right-3 h-1 cursor-ns-resize"}),
|
|
84
84
|
/* @__PURE__ */ee("div",{onPointerDown:e=>Kr(e,"s"),className:"absolute bottom-0 left-3 right-3 h-1 cursor-ns-resize"}),
|
|
85
85
|
/* @__PURE__ */ee("div",{onPointerDown:e=>Kr(e,"e"),className:"absolute top-3 bottom-3 right-0 w-1 cursor-ew-resize"}),
|
|
86
|
-
/* @__PURE__ */ee("div",{onPointerDown:e=>Kr(e,"w"),className:"absolute top-3 bottom-3 left-0 w-1 cursor-ew-resize"})]}),_t&&/* @__PURE__ */ee("div",{className:"absolute inset-0",style:{zIndex:P.hint,cursor:"pointer",background:"transparent"},onMouseEnter:()=>tn(!0),onMouseLeave:()=>tn(!1),onMouseDown:e=>{e.stopPropagation(),e.preventDefault(),Qn(It),Dr(!1)},onClick:e=>{e.stopPropagation(),e.preventDefault()},children:Jt&&/* @__PURE__ */ee("button",{type:"button","data-expose-close":!0,"aria-label":Ae.taskbar.closeWindow,title:"Close",className:"absolute flex items-center justify-center rounded-full bg-black/55 text-on-accent 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/Zr})`,transformOrigin:"top right",zIndex:P.raised},onMouseDown:e=>{e.stopPropagation(),e.preventDefault()},onClick:e=>{e.stopPropagation(),e.preventDefault(),vr()},children:/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4",strokeWidth:2.2})})})]}),_t&&Jr&&/* @__PURE__ */ee("div",{className:"fixed pointer-events-none select-none truncate text-center",style:{left:Jr.x,top:Jr.y+Jr.h+4,width:Jr.w,zIndex:P.expose+(Jt?21:11),color:"white",fontSize:"var(--text-xs)",fontWeight:500,textShadow:"0 1px 2px rgba(0,0,0,0.6)"},children:en(Le)})]}),no=Fe&&/* @__PURE__ */Q(
|
|
86
|
+
/* @__PURE__ */ee("div",{onPointerDown:e=>Kr(e,"w"),className:"absolute top-3 bottom-3 left-0 w-1 cursor-ew-resize"})]}),_t&&/* @__PURE__ */ee("div",{className:"absolute inset-0",style:{zIndex:P.hint,cursor:"pointer",background:"transparent"},onMouseEnter:()=>tn(!0),onMouseLeave:()=>tn(!1),onMouseDown:e=>{e.stopPropagation(),e.preventDefault(),Qn(It),Dr(!1)},onClick:e=>{e.stopPropagation(),e.preventDefault()},children:Jt&&/* @__PURE__ */ee("button",{type:"button","data-expose-close":!0,"aria-label":Ae.taskbar.closeWindow,title:"Close",className:"absolute flex items-center justify-center rounded-full bg-black/55 text-on-accent 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/Zr})`,transformOrigin:"top right",zIndex:P.raised},onMouseDown:e=>{e.stopPropagation(),e.preventDefault()},onClick:e=>{e.stopPropagation(),e.preventDefault(),vr()},children:/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4",strokeWidth:2.2})})})]}),_t&&Jr&&/* @__PURE__ */ee("div",{className:"fixed pointer-events-none select-none truncate text-center",style:{left:Jr.x,top:Jr.y+Jr.h+4,width:Jr.w,zIndex:P.expose+(Jt?21:11),color:"white",fontSize:"var(--text-xs)",fontWeight:500,textShadow:"0 1px 2px rgba(0,0,0,0.6)"},children:en(Le)})]}),no=Fe&&/* @__PURE__ */Q(M,{style:{left:Fe.x,top:Fe.y},onClose:()=>je(null),minWidth:160,children:[!X&&!J&&!Cn&&/* @__PURE__ */Q(te,{children:[
|
|
87
87
|
/* @__PURE__ */Q(N,{onClick:()=>{er(It),je(null)},children:[
|
|
88
88
|
/* @__PURE__ */ee(A,{name:"remove",className:"h-4 w-4",strokeWidth:1.5}),De.minimize]}),!zn&&/* @__PURE__ */Q(N,qn?{onClick:()=>{Hn(!1),vn(hn()),je(null)},children:[
|
|
89
89
|
/* @__PURE__ */ee("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */ee("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 4.5v15m6-15v15M4.5 9h15M4.5 15h15"})}),De.windowed]}:{onClick:()=>{Ur(),je(null)},children:[
|
|
90
|
-
/* @__PURE__ */ee(A,{name:"expand",className:"h-4 w-4",strokeWidth:1.5}),De.maximize]})]}),$&&!
|
|
90
|
+
/* @__PURE__ */ee(A,{name:"expand",className:"h-4 w-4",strokeWidth:1.5}),De.maximize]})]}),$&&!Cn&&/* @__PURE__ */Q(N,{onClick:()=>{Oe(e=>!e),je(null)},children:[
|
|
91
91
|
/* @__PURE__ */ee(A,{name:"bookmark-square",className:"h-4 w-4 "+($e?"text-blue-600":""),fill:$e?"currentColor":"none",strokeWidth:1.5}),$e?De.unpin:De.pinOnTop]}),qe&&/* @__PURE__ */Q(N,{onClick:()=>{je(null),Je()},children:[
|
|
92
|
-
/* @__PURE__ */ee(A,{name:"star",className:"h-4 w-4",fill:Ge?"currentColor":"none",strokeWidth:1.5}),Ge?Ae.taskbar.removeFromDesktop:Ae.taskbar.addToDesktop]}),(rn[It]||[]).length>0&&/* @__PURE__ */ee(te,{children:(rn[It]||[]).map((e,t)=>/* @__PURE__ */Q(N,{onClick:()=>{je(null),e.onClick()},children:[e.icon,e.label]},t))}),!(
|
|
92
|
+
/* @__PURE__ */ee(A,{name:"star",className:"h-4 w-4",fill:Ge?"currentColor":"none",strokeWidth:1.5}),Ge?Ae.taskbar.removeFromDesktop:Ae.taskbar.addToDesktop]}),(rn[It]||[]).length>0&&/* @__PURE__ */ee(te,{children:(rn[It]||[]).map((e,t)=>/* @__PURE__ */Q(N,{onClick:()=>{je(null),e.onClick()},children:[e.icon,e.label]},t))}),!(Cn&&He?.home)&&/* @__PURE__ */Q(te,{children:[
|
|
93
93
|
/* @__PURE__ */ee(S,{}),
|
|
94
94
|
/* @__PURE__ */Q(N,{danger:!0,onClick:()=>{je(null),vr()},children:[
|
|
95
95
|
/* @__PURE__ */ee(A,{name:"close",className:"h-4 w-4"}),De.close]})]})]}),ro=!!ce&&Pt.some(e=>e.id===ce),oo=!qt||ro||X?null:/* @__PURE__ */Q("div",{"data-modal-restore-tab":!0,"data-modal-id":It,className:"fixed left-1/2 z-(--z-restore-tab) flex -translate-x-1/2 items-center gap-1 rounded-lg border border-line-strong bg-surface px-2 py-1 shadow-lg",style:{bottom:"calc(var(--taskbar-height, 0px) + 12px)"},children:[
|
|
96
96
|
/* @__PURE__ */ee("button",{type:"button",onClick:()=>Qn(It),title:De.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:Pe||De.windowSuffix}),
|
|
97
97
|
/* @__PURE__ */ee("button",{type:"button",onClick:()=>Qn(It),title:De.restore,"aria-label":De.restore,className:"rounded px-2 py-0.5 text-xs leading-none text-ink-faintest hover:bg-gray-100 hover:text-gray-600",children:"▴"}),
|
|
98
98
|
/* @__PURE__ */ee("button",{type:"button",onClick:()=>{vr()},title:De.close,"aria-label":De.close,className:"rounded px-2 py-0.5 text-xs leading-none text-ink-faintest hover:bg-gray-100 hover:text-gray-600",children:"✕"})]});return ne(
|
|
99
|
-
/* @__PURE__ */Q(Gt.Provider,{value:null,children:[to,no,oo]}),document.body)}"undefined"!=typeof window&&window.addEventListener("keydown",e=>{Lr&&"Escape"===e.key&&(Br(null),Dr(!1))});var Gr=100,_r={past:[],future:[]};function Jr(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>Gr?r.slice(r.length-Gr):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:_r}}var Zr=/* @__PURE__ */new Set(["INPUT","TEXTAREA","SELECT"]);var Qr=500,eo=250;function to({children:e,canEdit:t=!0,perms:n,windowId:r}){const[o,a]=J(Jr,_r),s=F(/* @__PURE__ */new Map),[l,c]=q(0),u=l>0,[d,h]=q(0),[m,p]=q(0),f=m>0,{hasAnyPerm:w}=i(),y=t&&0===d&&(!(n&&n.length>0)||w(n)),g=F(null),v=F(!1),b=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))},[]),
|
|
100
|
-
return Q(Se.Provider,{value:ae,children:[ce&&/* @__PURE__ */ee(dn,{position:"left",quiet:!0,children:/* @__PURE__ */ee(Te,{auto:!0})}),e]})}function no(){const e=
|
|
99
|
+
/* @__PURE__ */Q(Gt.Provider,{value:null,children:[to,no,oo]}),document.body)}"undefined"!=typeof window&&window.addEventListener("keydown",e=>{Lr&&"Escape"===e.key&&(Br(null),Dr(!1))});var Gr=100,_r={past:[],future:[]};function Jr(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>Gr?r.slice(r.length-Gr):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:_r}}var Zr=/* @__PURE__ */new Set(["INPUT","TEXTAREA","SELECT"]);var Qr=500,eo=250;function to({children:e,canEdit:t=!0,perms:n,windowId:r}){const[o,a]=J(Jr,_r),s=F(/* @__PURE__ */new Map),[l,c]=q(0),u=l>0,[d,h]=q(0),[m,p]=q(0),f=m>0,{hasAnyPerm:w}=i(),y=t&&0===d&&(!(n&&n.length>0)||w(n)),g=F(null),v=F(!1),b=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]=q(0),S=M>0,L=B(e=>{N(t=>t+(e?1:-1))},[]),T=W(Se),z=T?.claimReadOnly;j(()=>{if(z&&!y)return z(!0),()=>z(!1)},[z,y]);const A=T?.claimOwnMount;j(()=>{if(A&&S)return A(!0),()=>A(!1)},[A,S]);const D=F({last:0,count:0,tripped:!1}),P=F(!1),I=B((e,t,n)=>{if(v.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)||(P.current=!0));if(!y||g.current)return;const r=D.current;if(r.tripped)return;const o=Date.now();if(o-r.last>eo&&(r.count=0),r.last=o,++r.count>Qr)return r.tripped=!0,void console.error(`[efficient-shell] UndoProvider: "${e}" recorded ${Qr} 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:b(),label:e,coalesceKey:t},queueMicrotask(()=>{const e=g.current;g.current=null,e&&a({type:"record",step:e})})},[y,b]),R=B(e=>{for(const[t,n]of Object.entries(e)){const e=s.current.get(t);e&&(e.setLast(n),e.apply(n))}},[]),K=B(()=>{const e=o.past[o.past.length-1];if(!e)return;const t={values:b(),label:e.label,coalesceKey:null};R(e.values),a({type:"undo",redoStep:t})},[o.past,b,R]),$=B(()=>{const e=o.future[0];if(!e)return;const t={values:b(),label:e.label,coalesceKey:null};R(e.values),a({type:"redo",undoStep:t})},[o.future,b,R]),[O,H]=q(0),U=F(0),Y=F(0),X=F(!1),V=B(()=>{v.current=!0,P.current=!1,g.current=null,U.current+=1,Y.current=U.current,H(U.current)},[]),_=F(void 0),Z=B(e=>{void 0!==e&&(void 0!==_.current&&e!==_.current&&(X.current=!0),_.current=e),V()},[V]);j(()=>{v.current&&O===Y.current&&(v.current=!1,g.current=null,(P.current||X.current)&&a({type:"clear"}),P.current=!1,X.current=!1)},[O]);const te=B(()=>{X.current=!0,a({type:"clear"}),V()},[V]),ne=y&&o.past.length>0,re=y&&o.future.length>0,oe=Sr(r),ie=F({undo:K,redo:$,canUndo:ne,canRedo:re});ie.current={undo:K,redo:$,canUndo:ne,canRedo:re},j(()=>{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&&Zr.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=G(()=>({register:x,unregister:k,record:I,undo:K,redo:$,clear:te,baseline:Z,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,I,K,$,te,Z,ne,re,y,u,S,L,E,f,C,o.past,o.future]),se=""!==cn(),le=W(ln)?.footerOpen??!1,ce=se&&y&&u&&!S&≤/* @__PURE__ */
|
|
100
|
+
return Q(Se.Provider,{value:ae,children:[ce&&/* @__PURE__ */ee(dn,{position:"left",quiet:!0,children:/* @__PURE__ */ee(Te,{auto:!0})}),e]})}function no(){const e=W(Se),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 ro(e){const t=W(Se),n=t?.claimReadOnly,r=t?.claimEditable;j(()=>{const t=e?r:n;if(t)return t(!0),()=>t(!1)},[n,r,e])}function oo(e,t,n){const r=W(Se),o=_(),i=F(e),a=F(t);a.current=t,j(()=>{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=F(r);c.current=r;const u=F({label:s,coalesceKey:l});u.current={label:s,coalesceKey:l},j(()=>{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 io(e,t){const[n,r]=q(e);return oo(n,e=>r(()=>e),t),[n,r]}export{hn as CancelButton,Qe as DocFavStar,je as EntityWindowFallback,Oe as EntityWindowLoading,qe as EntityWindowState,Qt as KEY_ACTIVATED_SELECTOR,We as LoadingSpinner,Zt as MODAL_SUBMIT_SELECTOR,Vr as Modal,dn as ModalActions,Te as UndoControls,to as UndoProvider,ue as WINDOW_REGISTRY,Me as WindowCrashedFallback,Ne as WindowErrorBoundary,bt as WindowManagerProvider,an as WindowTitle,it as activateWindowById,Pt as beginWindowGesture,Gn as cancelWindowFront,fe as client_default,Ur as commitExposeHighlight,Vn as confirmWindowDiscard,It as drainPerfEvents,Ir as exitExposeMode,Cn as forgetMaximizedWindowBoxes,Cr as getActiveModalId,lt as getActiveWindowRoute,Hr as getExposeHighlight,Xt as getWindowChromeVersion,kn as getWindowPosition,Be as isDraftEntityId,Ue as isDraftEntityWindow,se as isEntityEntry,ae as isPageEntry,me as isShellApiClientConfigured,Ie as isTabWindow,Dt as markMenuOpen,Ut as readWindowChrome,Un as requestWindowFront,Br as setExposeHighlight,At as setPerfCollecting,he as setShellApiClient,be as setShellHomeRoute,Ce as setShellTabStrip,ce as setShellWindowRegistry,xn as setWindowDefaultPosition,En as setWindowPosition,Ot as splitTitle,qr as subscribeExposeHighlight,Yt as subscribeWindowChrome,Re as tabGroupOf,Pr as toggleExposeMode,jn as useCurrentTabKey,cn as useEnclosingModalId,Sr as useIsActiveWindow,un as useModalActive,ye as usePageSearch,no as useUndo,ro as useUndoCanEdit,oo as useUndoable,io as useUndoableState,nn as useWidgetSettings,Ve as useWindowDirty,_e as useWindowManager,on as useWindowMenuItem,sn as useWindowTitle,Xn as windowHoldsChanges};
|