efficient-shell 10.1.0 → 10.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/README.md +1 -1
  2. package/dist/{Browser-2S5V2RRU.js → Browser-YHMFQIN5.js} +14 -14
  3. package/dist/Calculator-NSYIXONM.js +29 -0
  4. package/dist/CurrencyConverter-YQ2AZ7ZG.js +21 -0
  5. package/dist/Documents-CMCZA5PH.js +52 -0
  6. package/dist/Files-UW65YMFW.js +88 -0
  7. package/dist/Notepad-RSYZ7HZA.js +24 -0
  8. package/dist/{PdfViewer-WNKGFJD6.js → PdfViewer-Z4YKDHIH.js} +1 -1
  9. package/dist/{PomodoroTimer-TGUTV47T.js → PomodoroTimer-5KCWCL62.js} +12 -12
  10. package/dist/{Preview-76A4GKGI.js → Preview-PK4QI7SK.js} +41 -41
  11. package/dist/Sidebar-QCUDD4OU.js +44 -0
  12. package/dist/Spreadsheet-MQR4TQGV.js +37 -0
  13. package/dist/Stock-DMW2REHR.js +16 -0
  14. package/dist/{Weather-2EGADOTH.js → Weather-PN7XVCZY.js} +14 -14
  15. package/dist/{WorldClock-U5DIGLOY.js → WorldClock-JYLOJCUS.js} +9 -9
  16. package/dist/ai/index.js +59 -59
  17. package/dist/apps/index.js +1 -1
  18. package/dist/bin/media-host-check.js +1 -1
  19. package/dist/bin/ui-check.js +1 -1
  20. package/dist/brand.css +1 -1
  21. package/dist/charts/BoxPlotChart.js +1 -1
  22. package/dist/charts/CandlestickChart.js +1 -1
  23. package/dist/charts/CartesianPlot.js +1 -1
  24. package/dist/charts/ChartBrush.js +1 -1
  25. package/dist/charts/ChartFrame.js +1 -1
  26. package/dist/charts/ChartSkeleton.js +1 -1
  27. package/dist/charts/ChartTooltip.js +1 -1
  28. package/dist/charts/ChordChart.js +1 -1
  29. package/dist/charts/ColumnChart.js +1 -1
  30. package/dist/charts/FunnelChart.js +1 -1
  31. package/dist/charts/HeatmapChart.js +1 -1
  32. package/dist/charts/HistogramChart.js +1 -1
  33. package/dist/charts/Meter.js +1 -1
  34. package/dist/charts/PieChart.js +1 -1
  35. package/dist/charts/RadarChart.js +1 -1
  36. package/dist/charts/RadialBarChart.js +1 -1
  37. package/dist/charts/RangeChart.js +1 -1
  38. package/dist/charts/RankedBars.js +1 -1
  39. package/dist/charts/SankeyChart.js +1 -1
  40. package/dist/charts/ScatterChart.js +1 -1
  41. package/dist/charts/SpecChart.js +1 -1
  42. package/dist/charts/StatTile.js +1 -1
  43. package/dist/charts/SunburstChart.js +1 -1
  44. package/dist/charts/TimeSeriesChart.js +1 -1
  45. package/dist/charts/TreemapChart.js +1 -1
  46. package/dist/charts/WaterfallChart.js +1 -1
  47. package/dist/chunk-2JG5JU4M.js +8 -0
  48. package/dist/{chunk-5VSP3TYU.js → chunk-2K2W6VIR.js} +1 -1
  49. package/dist/{chunk-QXRRAADR.js → chunk-2SY76NFO.js} +4 -4
  50. package/dist/{chunk-BMXMSAQE.js → chunk-2VTO64YC.js} +7 -7
  51. package/dist/{chunk-HL6JSDN3.js → chunk-34URULVW.js} +1 -1
  52. package/dist/{chunk-RZR3OAKV.js → chunk-35DG7Y4M.js} +1 -1
  53. package/dist/{chunk-MH6DI6YY.js → chunk-37U326EL.js} +12 -12
  54. package/dist/{chunk-YL6LLHJA.js → chunk-3CPB3WP2.js} +18 -18
  55. package/dist/{chunk-CKPVXDKX.js → chunk-3ELLBQPS.js} +3 -3
  56. package/dist/{chunk-A6RB4PIX.js → chunk-3NW5LD7D.js} +4 -4
  57. package/dist/{chunk-BNQRPLBW.js → chunk-3RORPK2J.js} +1 -1
  58. package/dist/{chunk-U5DMF2TX.js → chunk-4BYJQU37.js} +1 -1
  59. package/dist/chunk-4PAWQEXM.js +1 -0
  60. package/dist/{chunk-CUA6CREW.js → chunk-5S3YYN7M.js} +7 -7
  61. package/dist/{chunk-Q5YM65DZ.js → chunk-632N62BY.js} +8 -8
  62. package/dist/{chunk-LOYCPZUB.js → chunk-63L5ORRZ.js} +1 -1
  63. package/dist/{chunk-B7HW6XZD.js → chunk-67JCJ2MG.js} +1 -1
  64. package/dist/chunk-6OMCCEYA.js +1 -0
  65. package/dist/{chunk-4VDGVF5T.js → chunk-6PFZK6ED.js} +1 -1
  66. package/dist/{chunk-P6LB3I3D.js → chunk-6RX4PVBU.js} +1 -1
  67. package/dist/chunk-6XBWM453.js +6 -0
  68. package/dist/{chunk-ZG2HMC7S.js → chunk-7SMV6G4Z.js} +1 -1
  69. package/dist/{chunk-X6YT3I5F.js → chunk-7X3XNVES.js} +1 -1
  70. package/dist/{chunk-WUMHSI4U.js → chunk-7X5FABQS.js} +1 -1
  71. package/dist/{chunk-JZK3UDOT.js → chunk-7YOQS3C6.js} +1 -1
  72. package/dist/{chunk-TDLU6GF5.js → chunk-7Z4PTLDL.js} +4 -4
  73. package/dist/{chunk-2OJ3HGFY.js → chunk-A4HJDSRA.js} +6 -6
  74. package/dist/chunk-A5BV6NFA.js +7 -0
  75. package/dist/{chunk-42XMT5JN.js → chunk-AJO72CPB.js} +2 -2
  76. package/dist/chunk-AKJHVOSD.js +8 -0
  77. package/dist/{chunk-OQW42DOR.js → chunk-AKM6JBMD.js} +1 -1
  78. package/dist/chunk-AM2F5ZXH.js +2 -0
  79. package/dist/{chunk-4WZRNPIG.js → chunk-AUWTGM65.js} +1 -1
  80. package/dist/chunk-B73AXE6P.js +1 -0
  81. package/dist/{chunk-V4RYE6KA.js → chunk-C2P2Z6HU.js} +11 -11
  82. package/dist/{chunk-WKSNTMEJ.js → chunk-CAVADOJK.js} +1 -1
  83. package/dist/chunk-CBEKJTXU.js +9 -0
  84. package/dist/{chunk-Q4LBBFLO.js → chunk-CGQAKGPT.js} +6 -6
  85. package/dist/{chunk-AEQFFD5I.js → chunk-CHBRMAJV.js} +1 -1
  86. package/dist/{chunk-2OE5VVBE.js → chunk-CPZ42W2B.js} +1 -1
  87. package/dist/{chunk-BDAKGS7O.js → chunk-D7F442OZ.js} +1 -1
  88. package/dist/{chunk-BZPPDYEE.js → chunk-DDCMMOB4.js} +1 -1
  89. package/dist/{chunk-5VTRKWKO.js → chunk-DKGZPVLL.js} +1 -1
  90. package/dist/{chunk-XABYSSXW.js → chunk-DLNIRZNR.js} +1 -1
  91. package/dist/{chunk-RBIGSJ2J.js → chunk-DRDYZ633.js} +2 -2
  92. package/dist/{chunk-FS2KWQJW.js → chunk-E5MVH3SH.js} +10 -10
  93. package/dist/chunk-EU3JZGV2.js +14 -0
  94. package/dist/{chunk-GGIFS34Z.js → chunk-EYZZW6SO.js} +5 -5
  95. package/dist/{chunk-43T5JGFB.js → chunk-EZEYKCI6.js} +1 -1
  96. package/dist/{chunk-DTJRIWFR.js → chunk-F27JJHNJ.js} +1 -1
  97. package/dist/{chunk-7ILNRFEV.js → chunk-FFIQPFUR.js} +1 -1
  98. package/dist/{chunk-TLRCTNUF.js → chunk-G4GVLK44.js} +1 -1
  99. package/dist/chunk-G5NQOV7L.js +6 -0
  100. package/dist/{chunk-JB3WKDD7.js → chunk-GGK27H67.js} +1 -1
  101. package/dist/{chunk-2YLG32JY.js → chunk-GISDIVFK.js} +1 -1
  102. package/dist/{chunk-FFASZGNZ.js → chunk-GNHLVGG5.js} +3 -3
  103. package/dist/{chunk-6FPDOEOX.js → chunk-GSKLHUQ6.js} +1 -1
  104. package/dist/{chunk-GY67Y5SN.js → chunk-H4HB5OET.js} +1 -1
  105. package/dist/{chunk-6L2UAAGT.js → chunk-HNBGLF4B.js} +1 -1
  106. package/dist/{chunk-YJSX6JAC.js → chunk-I2XGPTCN.js} +1 -1
  107. package/dist/{chunk-NHH2MXFU.js → chunk-I4VIEGCX.js} +1 -1
  108. package/dist/chunk-IKNG7EFQ.js +12 -0
  109. package/dist/{chunk-RQNZ2PVW.js → chunk-INNIWRVU.js} +4 -4
  110. package/dist/{chunk-J53OQCKC.js → chunk-IOJNSX4N.js} +7 -7
  111. package/dist/{chunk-JKZJVQIB.js → chunk-IPFWXM2Y.js} +6 -6
  112. package/dist/{chunk-K7PCBUDC.js → chunk-JRZ7PPVJ.js} +6 -6
  113. package/dist/chunk-JSGQWVYH.js +7 -0
  114. package/dist/{chunk-ZCV377AG.js → chunk-KEPJWZJZ.js} +3 -3
  115. package/dist/{chunk-JJP54OT4.js → chunk-KJ4CBZEQ.js} +1 -1
  116. package/dist/{chunk-XHMIJ7S3.js → chunk-KP2THXEI.js} +6 -6
  117. package/dist/{chunk-GKK7DR2H.js → chunk-LCJRTJXT.js} +9 -9
  118. package/dist/{chunk-Q3MNSM7W.js → chunk-LDE5IV2M.js} +4 -4
  119. package/dist/{chunk-MZ26SYFY.js → chunk-LEDUD23S.js} +1 -1
  120. package/dist/{chunk-7TONF2PM.js → chunk-LOFYSLC7.js} +9 -9
  121. package/dist/{chunk-AGLBDT7X.js → chunk-LTKXAHS3.js} +8 -8
  122. package/dist/{chunk-BMQCUHSD.js → chunk-M22B3Y5Y.js} +1 -1
  123. package/dist/{chunk-CLQFP42I.js → chunk-MBXLROCD.js} +1 -1
  124. package/dist/{chunk-KCV7BFKJ.js → chunk-MCDM2G4W.js} +1 -1
  125. package/dist/{chunk-R4Q5653D.js → chunk-MNXRAZJV.js} +20 -20
  126. package/dist/{chunk-VC42SDAC.js → chunk-MQU3PZUS.js} +1 -1
  127. package/dist/{chunk-TYK7VN73.js → chunk-MTX5LMJD.js} +17 -17
  128. package/dist/{chunk-OZAAIE4E.js → chunk-MVZRZTQP.js} +1 -1
  129. package/dist/{chunk-NNOA7AVG.js → chunk-MXH3UPCH.js} +5 -5
  130. package/dist/{chunk-ZLHPCPXS.js → chunk-N4DI5F74.js} +18 -18
  131. package/dist/{chunk-EIUCHQI2.js → chunk-N67QX3WW.js} +2 -2
  132. package/dist/{chunk-XQQNA246.js → chunk-O42AN43Q.js} +1 -1
  133. package/dist/{chunk-MLKY5ESV.js → chunk-O45WQK57.js} +1 -1
  134. package/dist/{chunk-RSIGTZMU.js → chunk-O4V5PEA3.js} +1 -1
  135. package/dist/{chunk-M554OMPA.js → chunk-O6JJIR4H.js} +1 -1
  136. package/dist/{chunk-APXQMZSV.js → chunk-O7DW2BKY.js} +26 -26
  137. package/dist/{chunk-UB5TLWZN.js → chunk-ON67HF5K.js} +8 -8
  138. package/dist/{chunk-KZQAGXME.js → chunk-ORIGX2H5.js} +4 -4
  139. package/dist/{chunk-JRBQLRAZ.js → chunk-OZBM2XFQ.js} +1 -1
  140. package/dist/{chunk-ZRZ5LOW3.js → chunk-PBWUEBJ5.js} +1 -1
  141. package/dist/chunk-PJQGYKN6.js +11 -0
  142. package/dist/chunk-PN65IIYN.js +8 -0
  143. package/dist/chunk-PUF75SMJ.js +1 -0
  144. package/dist/{chunk-5EX6XXUX.js → chunk-PXDDCD5X.js} +1 -1
  145. package/dist/{chunk-RKFEJ5CX.js → chunk-PXQG5EIH.js} +1 -1
  146. package/dist/{chunk-5VDT4762.js → chunk-QEKOEIOQ.js} +2 -2
  147. package/dist/{chunk-GMRZX2ET.js → chunk-QHOBK35Y.js} +1 -1
  148. package/dist/{chunk-UDKOJB2B.js → chunk-QL4757YL.js} +2 -2
  149. package/dist/{chunk-7VCAMNCH.js → chunk-QP4UPCXQ.js} +1 -1
  150. package/dist/chunk-QQPIQCT7.js +11 -0
  151. package/dist/{chunk-CL7SBEBQ.js → chunk-QYRMFGES.js} +1 -1
  152. package/dist/{chunk-3V6ZERBS.js → chunk-RBQWIHYD.js} +1 -1
  153. package/dist/chunk-RCPFUDPS.js +4 -0
  154. package/dist/chunk-RP3GUVAI.js +100 -0
  155. package/dist/chunk-RPYFOQM2.js +6 -0
  156. package/dist/chunk-SDI2UGAG.js +1 -0
  157. package/dist/{chunk-53KQSCMG.js → chunk-SDQIXE5M.js} +9 -9
  158. package/dist/{chunk-NW7Z3G7P.js → chunk-SF654IHN.js} +13 -13
  159. package/dist/{chunk-LPDI5NL6.js → chunk-SO6X4CII.js} +2 -2
  160. package/dist/{chunk-VP63OOO4.js → chunk-SOECV4V5.js} +3 -3
  161. package/dist/chunk-SWN3LSQX.js +12 -0
  162. package/dist/{chunk-TBPHW42V.js → chunk-TKJBZIHT.js} +1 -1
  163. package/dist/chunk-TMNAHOJ7.js +9 -0
  164. package/dist/{chunk-CBGKLHPB.js → chunk-TOVKWNI2.js} +6 -6
  165. package/dist/{chunk-PF5CKD4C.js → chunk-TVH7IZQ4.js} +2 -2
  166. package/dist/{chunk-LNARMEEZ.js → chunk-TXDA7TTP.js} +1 -1
  167. package/dist/{chunk-SKY2NBTQ.js → chunk-UBOP6HFI.js} +5 -5
  168. package/dist/{chunk-J7CIBRDS.js → chunk-UDRMZ22J.js} +1 -1
  169. package/dist/{chunk-IWJRSC7M.js → chunk-ULAGXDOL.js} +1 -1
  170. package/dist/{chunk-O6ABVKHU.js → chunk-ULXCDM7Y.js} +10 -10
  171. package/dist/{chunk-MVQMAIZM.js → chunk-UPQW4GCT.js} +1 -1
  172. package/dist/{chunk-E3RHEEA6.js → chunk-URERZUX5.js} +1 -1
  173. package/dist/{chunk-RPMWF42S.js → chunk-UTWJKSET.js} +5 -5
  174. package/dist/{chunk-SWO4VPOB.js → chunk-UWIZX3RK.js} +1 -1
  175. package/dist/{chunk-EQN65XOO.js → chunk-UYRITNQW.js} +4 -4
  176. package/dist/{chunk-LFVUDFVU.js → chunk-VJJMWJPZ.js} +1 -1
  177. package/dist/{chunk-QSW3YHPK.js → chunk-VKKK4WLS.js} +4 -4
  178. package/dist/{chunk-JJYAYMY7.js → chunk-VTFZ6W2D.js} +2 -2
  179. package/dist/chunk-W35N7SL3.js +8 -0
  180. package/dist/{chunk-IWEL2ZCV.js → chunk-W5CJD54C.js} +1 -1
  181. package/dist/{chunk-45XXERGA.js → chunk-W6SC3ZNO.js} +2 -2
  182. package/dist/{chunk-ZF545DXX.js → chunk-W6URVLQF.js} +14 -14
  183. package/dist/{chunk-R5EJJ6HC.js → chunk-WINNA7LS.js} +1 -1
  184. package/dist/chunk-WMEYNKXZ.js +22 -0
  185. package/dist/{chunk-DKQWFQAV.js → chunk-WN5HHHLO.js} +1 -1
  186. package/dist/chunk-WTTSB4SV.js +3 -0
  187. package/dist/{chunk-XZBQ3XXD.js → chunk-XDQGIW4X.js} +1 -1
  188. package/dist/{chunk-4UX6ET7G.js → chunk-XKDBYJHF.js} +1 -1
  189. package/dist/chunk-XLYCWGTK.js +4 -0
  190. package/dist/{chunk-HI6IE5HI.js → chunk-XO7URRTM.js} +1 -1
  191. package/dist/chunk-Y3R267FV.js +15 -0
  192. package/dist/chunk-YATWJMLM.js +29 -0
  193. package/dist/{chunk-Y23TGQFN.js → chunk-YCOYCPAH.js} +3 -3
  194. package/dist/chunk-YGSU5KCP.js +9 -0
  195. package/dist/{chunk-VMDBVXDJ.js → chunk-YJLLLO5R.js} +1 -1
  196. package/dist/chunk-YMYY5G6V.js +1 -0
  197. package/dist/{chunk-BDFZNLFQ.js → chunk-YWDEFPSW.js} +3 -3
  198. package/dist/{chunk-FMC2XNSP.js → chunk-ZNAVCHBV.js} +6 -6
  199. package/dist/{chunk-B7AHMB3U.js → chunk-ZURB2DCM.js} +1 -1
  200. package/dist/{chunk-NQJKANUP.js → chunk-ZUS7FXKE.js} +13 -13
  201. package/dist/{chunk-3V74SUZO.js → chunk-ZZOBG6GP.js} +17 -17
  202. package/dist/chunk-ZZVE64OI.js +2 -0
  203. package/dist/data/DataTable.js +1 -1
  204. package/dist/data/Kanban.js +1 -1
  205. package/dist/data/ListFooter.js +1 -1
  206. package/dist/data/ListLoadError.js +1 -1
  207. package/dist/data/Pagination.js +1 -1
  208. package/dist/file-intake/index.js +1 -1
  209. package/dist/format/index.js +1 -1
  210. package/dist/forms/AlignmentGrid.js +1 -1
  211. package/dist/forms/BorderInput.js +1 -1
  212. package/dist/forms/BrandAssetEditor.js +1 -1
  213. package/dist/forms/Button.js +1 -1
  214. package/dist/forms/Calendar.js +1 -1
  215. package/dist/forms/ColorPicker.js +1 -1
  216. package/dist/forms/ComposerAttachments.js +1 -1
  217. package/dist/forms/CornersInput.js +1 -1
  218. package/dist/forms/DatePicker.js +1 -1
  219. package/dist/forms/DateRangePicker.js +1 -1
  220. package/dist/forms/DateTimePicker.js +1 -1
  221. package/dist/forms/DisplayChips.js +1 -1
  222. package/dist/forms/FilePicker.js +1 -1
  223. package/dist/forms/FormErrorSummary.js +1 -1
  224. package/dist/forms/IconButton.js +1 -1
  225. package/dist/forms/IconPicker.js +1 -1
  226. package/dist/forms/ImageFocusPoint.js +1 -1
  227. package/dist/forms/InputNumber.js +1 -1
  228. package/dist/forms/LinkPicker.js +1 -1
  229. package/dist/forms/MediaLibrary.js +1 -1
  230. package/dist/forms/MediaUploadField.js +1 -1
  231. package/dist/forms/MediaUploadGrid.js +1 -1
  232. package/dist/forms/MediaUsedInList.js +1 -1
  233. package/dist/forms/NumericKeypad.js +1 -1
  234. package/dist/forms/PictureTiles.js +1 -1
  235. package/dist/forms/PositionInput.js +1 -1
  236. package/dist/forms/Segmented.js +1 -1
  237. package/dist/forms/Select.js +1 -1
  238. package/dist/forms/SidesInput.js +1 -1
  239. package/dist/forms/Slider.js +1 -1
  240. package/dist/forms/Snippet.js +1 -1
  241. package/dist/forms/SplitButton.js +1 -1
  242. package/dist/forms/TagInput.js +1 -1
  243. package/dist/forms/TextToolbar.js +1 -1
  244. package/dist/forms/TimePicker.js +1 -1
  245. package/dist/forms/WidthsBar.js +1 -1
  246. package/dist/forms/mediaLibraryMenu.js +1 -1
  247. package/dist/forms/mediaMoveItems.js +1 -1
  248. package/dist/forms/textAlign.js +1 -1
  249. package/dist/forms/useFileIntake.js +1 -1
  250. package/dist/hooks/useTheme.d.ts +1 -1
  251. package/dist/icons/efficient-glyphs.js +1 -1
  252. package/dist/icons/efficient-looks.js +1 -1
  253. package/dist/icons/efficient.js +1 -1
  254. package/dist/icons/index.js +1 -1
  255. package/dist/icons/looks/map.js +1 -1
  256. package/dist/icons/sets.js +1 -1
  257. package/dist/index.d.ts +2 -1
  258. package/dist/index.js +152 -152
  259. package/dist/locales/zh-Hans.js +1 -1
  260. package/dist/map/index.js +8 -8
  261. package/dist/page-tabs/index.js +5 -5
  262. package/dist/pdf/index.js +1 -1
  263. package/dist/shell/Accordion.js +1 -1
  264. package/dist/shell/AppUpdateBanner.js +1 -1
  265. package/dist/shell/Avatar.js +1 -1
  266. package/dist/shell/Banner.js +1 -1
  267. package/dist/shell/Breadcrumbs.js +1 -1
  268. package/dist/shell/BudgetBar.js +1 -1
  269. package/dist/shell/Card.js +1 -1
  270. package/dist/shell/ColoredBadge.js +1 -1
  271. package/dist/shell/ConfirmDialog.js +1 -1
  272. package/dist/shell/ContainerFillChart.js +1 -1
  273. package/dist/shell/ContextMenu.js +1 -1
  274. package/dist/shell/CountBadge.js +1 -1
  275. package/dist/shell/Dialog.d.ts +15 -2
  276. package/dist/shell/Dialog.js +1 -1
  277. package/dist/shell/Drawer.d.ts +5 -1
  278. package/dist/shell/Drawer.js +1 -1
  279. package/dist/shell/DropdownMenu.js +1 -1
  280. package/dist/shell/EditableGrid.js +1 -1
  281. package/dist/shell/EmptyState.js +1 -1
  282. package/dist/shell/FloatingBar.js +1 -1
  283. package/dist/shell/GlobalSearch.js +1 -1
  284. package/dist/shell/HelpCenter.js +1 -1
  285. package/dist/shell/IconRail.js +1 -1
  286. package/dist/shell/ImageLightbox.js +1 -1
  287. package/dist/shell/ItemCount.js +1 -1
  288. package/dist/shell/LanguageSelect.js +1 -1
  289. package/dist/shell/Markdown.js +1 -1
  290. package/dist/shell/MetricBar.js +1 -1
  291. package/dist/shell/MetricBarLegend.js +1 -1
  292. package/dist/shell/MilestoneTimeline.js +1 -1
  293. package/dist/shell/PageHeader.js +1 -1
  294. package/dist/shell/PopupMenu.js +1 -1
  295. package/dist/shell/ProductionTimeline.js +1 -1
  296. package/dist/shell/ResizeHandle.js +1 -1
  297. package/dist/shell/Result.js +1 -1
  298. package/dist/shell/SearchableSelect.js +1 -1
  299. package/dist/shell/SettingReset.js +1 -1
  300. package/dist/shell/SettingRow.js +1 -1
  301. package/dist/shell/SidebarLayout.js +1 -1
  302. package/dist/shell/SidebarNav.js +1 -1
  303. package/dist/shell/SortableList.js +1 -1
  304. package/dist/shell/Statistic.js +1 -1
  305. package/dist/shell/StatusBadge.js +1 -1
  306. package/dist/shell/Tabs.js +1 -1
  307. package/dist/shell/TimeAgo.js +1 -1
  308. package/dist/shell/TimelineTrack.js +1 -1
  309. package/dist/shell/Tooltip.js +1 -1
  310. package/dist/shell/TopNav.js +1 -1
  311. package/dist/shell/TransferProgress.js +1 -1
  312. package/dist/shell/Tree.js +1 -1
  313. package/dist/shell/discardGuard.d.ts +43 -0
  314. package/dist/shell/discardGuard.js +2 -0
  315. package/dist/shell/language.js +1 -1
  316. package/dist/shell/strings.d.ts +6 -0
  317. package/dist/shell/strings.js +1 -1
  318. package/dist/shell/toast.js +1 -1
  319. package/dist/telemetry/index.js +1 -1
  320. package/dist/templates/AuthScreen.js +1 -1
  321. package/dist/templates/ChatTemplate.js +1 -1
  322. package/dist/templates/CheckoutTemplate.js +1 -1
  323. package/dist/templates/DashboardTemplate.js +1 -1
  324. package/dist/templates/DataTablePage.js +1 -1
  325. package/dist/templates/EmailTemplate.js +1 -1
  326. package/dist/templates/ErrorBoundary.d.ts +1 -1
  327. package/dist/templates/ErrorBoundary.js +1 -1
  328. package/dist/templates/ErrorPage.js +1 -1
  329. package/dist/templates/FormLayoutPage.js +1 -1
  330. package/dist/templates/GalleryTemplate.js +1 -1
  331. package/dist/ui/index.d.ts +1 -0
  332. package/dist/ui/index.js +1 -1
  333. package/dist/ui.css +5 -0
  334. package/dist/utils/glass.d.ts +4 -2
  335. package/dist/utils/glass.js +1 -1
  336. package/dist/version.js +1 -1
  337. package/package.json +1 -1
  338. package/dist/Calculator-N2NLSDTW.js +0 -29
  339. package/dist/CurrencyConverter-HW5HW3RH.js +0 -21
  340. package/dist/Documents-JTURYN4D.js +0 -52
  341. package/dist/Files-GP2LAGME.js +0 -88
  342. package/dist/Notepad-OV66ANUO.js +0 -24
  343. package/dist/Sidebar-4OI4LP6G.js +0 -44
  344. package/dist/Spreadsheet-FU5QIZA3.js +0 -37
  345. package/dist/Stock-FEVMKWMS.js +0 -16
  346. package/dist/chunk-2SLQD57V.js +0 -6
  347. package/dist/chunk-44PGFMSX.js +0 -8
  348. package/dist/chunk-4AJRHTTB.js +0 -1
  349. package/dist/chunk-5GUBNCTP.js +0 -1
  350. package/dist/chunk-6B4F5DWV.js +0 -4
  351. package/dist/chunk-A3VJ4PRU.js +0 -11
  352. package/dist/chunk-ACVKU6YW.js +0 -7
  353. package/dist/chunk-AG2OLB3E.js +0 -15
  354. package/dist/chunk-AKVB5TQD.js +0 -29
  355. package/dist/chunk-ANTH2FBS.js +0 -100
  356. package/dist/chunk-AXL7VTNM.js +0 -11
  357. package/dist/chunk-BCDG4N6L.js +0 -6
  358. package/dist/chunk-DY2M6BIG.js +0 -12
  359. package/dist/chunk-F7A6K3D5.js +0 -9
  360. package/dist/chunk-GZYTCHPX.js +0 -8
  361. package/dist/chunk-IGEFUHYE.js +0 -12
  362. package/dist/chunk-K64JRGNE.js +0 -6
  363. package/dist/chunk-KE5U4KKG.js +0 -4
  364. package/dist/chunk-N6VP75F5.js +0 -3
  365. package/dist/chunk-OPB3I4JH.js +0 -8
  366. package/dist/chunk-PYQ6DD3F.js +0 -1
  367. package/dist/chunk-QASKQDUR.js +0 -22
  368. package/dist/chunk-QMUAY24U.js +0 -8
  369. package/dist/chunk-RUTUVS4H.js +0 -1
  370. package/dist/chunk-SKETTGCJ.js +0 -2
  371. package/dist/chunk-UP442DPT.js +0 -9
  372. package/dist/chunk-VO3ZB7C6.js +0 -14
  373. package/dist/chunk-W244OMOU.js +0 -7
  374. package/dist/chunk-X2PZMXDP.js +0 -1
  375. package/dist/chunk-YVTKTWZX.js +0 -9
  376. package/dist/chunk-ZN2BFSQR.js +0 -2
@@ -0,0 +1,37 @@
1
+ import{EditableGrid as e}from"./chunk-SDQIXE5M.js";import"./chunk-G6DKCCWH.js";import{AboutApp as t}from"./chunk-QL4757YL.js";import{peekSpreadsheetPreviewStage as r,claimSpreadsheetPreviewStage as n,SPREADSHEET_PREVIEW_UPDATE_EVENT as o}from"./chunk-VTVSMRFX.js";import{WindowTitle as a}from"./chunk-RP3GUVAI.js";import"./chunk-CY5N5OA3.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-URERZUX5.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-RBQWIHYD.js";import"./chunk-MTX5LMJD.js";import"./chunk-XLYCWGTK.js";import"./chunk-KC3EX26K.js";import"./chunk-QHOBK35Y.js";import"./chunk-SDI2UGAG.js";import"./chunk-YMYY5G6V.js";import"./chunk-VWGWZY7A.js";import"./chunk-PKXQDCNR.js";import"./chunk-UGTRSRIW.js";import"./chunk-PXQG5EIH.js";import"./chunk-CDAJKLGL.js";import"./chunk-6OMCCEYA.js";import"./chunk-37U326EL.js";import"./chunk-URHGHXDN.js";import"./chunk-5QFPTDQF.js";import"./chunk-TXDA7TTP.js";import"./chunk-I4VIEGCX.js";import"./chunk-UQYNPYF4.js";import"./chunk-34URULVW.js";import"./chunk-KKSVRIMP.js";import"./chunk-J75ZT2JQ.js";import"./chunk-R2VKEMZH.js";import"./chunk-MRJKZWWV.js";import"./chunk-MVZRZTQP.js";import"./chunk-6XBWM453.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-F27JJHNJ.js";import"./chunk-TWVUQUUD.js";import"./chunk-4PAWQEXM.js";import"./chunk-C3QOHMR6.js";import{useRef as l,useState as s,useEffect as c,useCallback as i}from"react";import{jsxs as u,jsx as d,Fragment as h}from"react/jsx-runtime";var m="ABCDEFGHIJKLMNOPQRSTUVWXYZ",p=10,x=30;function g(e){return e<26?m[e]:m[Math.floor(e/26)-1]+m[e%26]}function y(e){return Array.from({length:e},(e,t)=>({key:`col_${t}`,title:g(t),width:100}))}function b(e,t){return Array.from({length:e},()=>Array(t).fill(""))}function f(e){return{id:crypto.randomUUID(),name:e,columns:y(p),data:b(x,p),cellStyles:{}}}function v(e){return e.split("\n").map(e=>{if(e.includes("\t"))return e.split("\t").map(e=>e.trim());const t=[];let r="",n=!1;for(const o of e)'"'!==o?","!==o||n?r+=o:(t.push(r.trim()),r=""):n=!n;return t.push(r.trim()),t}).filter(e=>e.some(e=>e.trim()))}function k(e,t){const r=e.rows?e.rows.map(e=>e.map(e=>String(e??""))):v(e.csv??"");if(0===r.length)return null;const n=Math.max(p,r.reduce((e,t)=>Math.max(e,t.length),0)),o=r.map(e=>{for(;e.length<n;)e.push("");return e});for(;o.length<x;)o.push(Array(n).fill(""));return{id:crypto.randomUUID(),name:t,columns:y(n),data:o,cellStyles:{}}}function w(){const m=l(null),g=l(void 0);void 0===g.current&&(g.current=r());const w=l(g.current?.data??null),j=(()=>{const e=g.current;if(!e)return null;const t=k(e.data,"Sheet 1");if(!t)return null;return{sheet:t,title:e.data.filename.replace(/\.(csv|tsv|txt)$/i,"")}})(),[C,N]=s(j?[j.sheet]:[f("Sheet 1")]),[M,S]=s(0),U=l([]),D=l(C),E=l(!1);c(()=>{E.current?E.current=!1:D.current!==C&&(U.current.push(D.current),U.current.length>50&&U.current.shift()),D.current=C},[C]);const A=i(()=>{const e=U.current.pop();e&&(E.current=!0,N(e))},[]);c(()=>{const e=e=>{if(!m.current?.contains(document.activeElement)&&!m.current?.matches(":focus-within"))return;(e.ctrlKey||e.metaKey)&&!e.shiftKey&&("z"===e.key||"Z"===e.key)&&(e.preventDefault(),A())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[A]);const[R,L]=s(j?.title??"Untitled"),[$,K]=s(()=>g.current?.data.onEmail),G=i(e=>{const t=k(e,"Sheet 1");t&&(N([t]),S(0),L(e.filename.replace(/\.(csv|tsv|txt)$/i,"")),K(()=>e.onEmail))},[]);c(()=>{const e=g.current;null!=e&&(n(e),e.data!==w.current&&G(e.data))},[]),c(()=>{const e=g.current?.token;if(null==e)return;const t=t=>{const r=t.detail;r&&r.token===e&&G(r.data)};return window.addEventListener(o,t),()=>window.removeEventListener(o,t)},[]);const[X,I]=s(!1),[W,Q]=s(null),[T,V]=s(""),H=l(null),[J,Y]=s("1"),[B,F]=s("10"),P=C[M]||C[0],Z=P.data,O=P.columns,z=P.cellStyles??{},[_,q]=s(null),[ee,te]=s(null),re=i(()=>{if(ee){const e=Math.min(ee.anchor.row,ee.end.row),t=Math.max(ee.anchor.row,ee.end.row),r=Math.min(ee.anchor.col,ee.end.col),n=Math.max(ee.anchor.col,ee.end.col),o=[];for(let a=e;a<=t;a++)for(let e=r;e<=n;e++)o.push({row:a,col:e});return o}return _?[_]:[]},[ee,_]),ne=i((e,t)=>{const r=re();0!==r.length&&N(n=>n.map((n,o)=>{if(o!==M)return n;const a={...n.cellStyles??{}},l=`${r[0].row}:${r[0].col}`,s=void 0!==t?t:!(a[l]??{})[e];for(const{row:t,col:n}of r){const r=`${t}:${n}`;a[r]={...a[r]??{},[e]:s}}return{...n,cellStyles:a}}))},[re,M]),oe=ee?{row:ee.anchor.row,col:ee.anchor.col}:_,ae=oe?z[`${oe.row}:${oe.col}`]??{}:{},le=!!oe,se=i(e=>{N(t=>t.map((t,r)=>r===M?{...t,...e}:t))},[M]),ce=i(e=>{const t=e.reduce((e,t)=>Math.max(e,t.length),0);t!==O.length?se({data:e,columns:y(t)}):se({data:e})},[se,O.length]),ie=(e,t)=>{N(r=>r.map((r,n)=>n===e?{...r,name:t}:r)),Q(null)},ue=()=>Z.filter(e=>e.some(e=>e.trim())).map(e=>e.map(e=>e.includes(",")||e.includes('"')||e.includes("\n")?`"${e.replace(/"/g,'""')}"`:e).join(",")).join("\n"),de=[];Z.forEach(e=>e.forEach(e=>{const t=parseFloat(e);!isNaN(t)&&e.trim()&&de.push(t)}));const he=Z.reduce((e,t)=>e+t.filter(e=>e.trim()).length,0);/* @__PURE__ */
2
+ return u("div",{ref:m,className:"flex flex-col h-full",children:[
3
+ /* @__PURE__ */d(a,{title:`${me=R||"Untitled",me.length>24?`${me.slice(0,23)}…`:me} - Spreadsheets`}),
4
+ /* @__PURE__ */d(t,{app:"spreadsheet"}),
5
+ /* @__PURE__ */u("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-gray-200 bg-gray-50 shrink-0",children:[X?/* @__PURE__ */d("input",{type:"text",value:R,onChange:e=>L(e.target.value),onBlur:()=>I(!1),onKeyDown:e=>{"Enter"===e.key&&I(!1)},autoFocus:!0,className:"text-sm font-medium text-gray-900 border border-gray-300 rounded px-2 py-0.5 w-40 focus:border-blue-500 focus:ring-blue-500"}):/* @__PURE__ */d("button",{onClick:()=>I(!0),className:"text-sm font-medium text-gray-900 hover:text-blue-600 truncate max-w-[200px]",title:"Click to rename",children:R||"Untitled"}),
6
+ /* @__PURE__ */d("div",{className:"h-4 w-px bg-gray-300"}),
7
+ /* @__PURE__ */d("input",{ref:H,type:"file",accept:".csv,.tsv,.txt,.xlsx,.xls,.ods",onChange:async e=>{const t=e.target.files?.[0];if(!t)return;const r=t.name.replace(/\.(csv|tsv|txt|xlsx|xls|ods)$/i,"");if(/\.(xlsx|xls|ods)$/i.test(t.name)){const e=new Uint8Array(await t.arrayBuffer()),n=await(import("xlsx")),o=n.read(e,{type:"array"}),a=o.SheetNames.map(e=>{const t=n.utils.sheet_to_json(o.Sheets[e],{header:1,defval:""}),r=Math.max(p,t.reduce((e,t)=>Math.max(e,t.length),0)),a=t.map(e=>{const t=e.map(e=>String(e??""));for(;t.length<r;)t.push("");return t});for(;a.length<x;)a.push(Array(r).fill(""));return{id:crypto.randomUUID(),name:e,columns:y(r),data:a}});N(a),S(0),L(r)}else{const e=v(await t.text());if(0===e.length)return;const n=Math.max(p,e.reduce((e,t)=>Math.max(e,t.length),0)),o=e.map(e=>{for(;e.length<n;)e.push("");return e});for(;o.length<x;)o.push(Array(n).fill(""));se({columns:y(n),data:o}),L(r)}H.current&&(H.current.value="")},className:"hidden"}),
8
+ /* @__PURE__ */d("button",{onClick:()=>H.current?.click(),className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Open"}),
9
+ /* @__PURE__ */d("button",{onClick:()=>{const e=new Blob([ue()],{type:"text/csv"}),t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download=`${R||"spreadsheet"}.csv`,r.click(),URL.revokeObjectURL(t)},className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Save CSV"}),$&&/* @__PURE__ */d("button",{onClick:()=>$(ue(),`${R||"spreadsheet"}.csv`),className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Email"}),
10
+ /* @__PURE__ */d("div",{className:"h-4 w-px bg-gray-300"}),
11
+ /* @__PURE__ */u("div",{className:"flex items-center gap-1",children:[
12
+ /* @__PURE__ */d("input",{type:"number",min:"1",max:"50",value:J,onChange:e=>Y(e.target.value),className:"w-10 text-xs text-center border border-gray-300 rounded px-1 py-0.5 focus:border-blue-500 focus:ring-blue-500"}),
13
+ /* @__PURE__ */d("button",{onClick:()=>(e=>{const t=O.length+e;se({columns:y(t),data:Z.map(t=>[...t,...Array(e).fill("")])})})(parseInt(J)||1),className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"+ Col"})]}),
14
+ /* @__PURE__ */u("div",{className:"flex items-center gap-1",children:[
15
+ /* @__PURE__ */d("input",{type:"number",min:"1",max:"500",value:B,onChange:e=>F(e.target.value),className:"w-10 text-xs text-center border border-gray-300 rounded px-1 py-0.5 focus:border-blue-500 focus:ring-blue-500"}),
16
+ /* @__PURE__ */d("button",{onClick:()=>{return e=parseInt(B)||10,void se({data:[...Z,...Array.from({length:e},()=>Array(O.length).fill(""))]});var e},className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"+ Row"})]}),
17
+ /* @__PURE__ */d("div",{className:"h-4 w-px bg-gray-300"}),
18
+ /* @__PURE__ */d("button",{onClick:()=>{se({columns:y(p),data:b(x,p)})},className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Clear"}),
19
+ /* @__PURE__ */d("div",{className:"h-4 w-px bg-gray-300"}),
20
+ /* @__PURE__ */u("div",{className:"flex items-center gap-0.5",title:le?"":"Click a cell first",children:[
21
+ /* @__PURE__ */d("button",{onClick:()=>ne("bold"),disabled:!le,className:`px-2 py-1 text-xs rounded transition-colors font-bold ${ae.bold?"bg-blue-100 text-blue-700":"text-gray-600 hover:bg-gray-200"} disabled:opacity-40 disabled:cursor-not-allowed`,children:"B"}),
22
+ /* @__PURE__ */d("button",{onClick:()=>ne("italic"),disabled:!le,className:`px-2 py-1 text-xs rounded transition-colors italic ${ae.italic?"bg-blue-100 text-blue-700":"text-gray-600 hover:bg-gray-200"} disabled:opacity-40 disabled:cursor-not-allowed`,children:"I"}),
23
+ /* @__PURE__ */d("button",{onClick:()=>ne("underline"),disabled:!le,className:`px-2 py-1 text-xs rounded transition-colors underline ${ae.underline?"bg-blue-100 text-blue-700":"text-gray-600 hover:bg-gray-200"} disabled:opacity-40 disabled:cursor-not-allowed`,children:"U"}),
24
+ /* @__PURE__ */u("select",{value:ae.fontSize??"base",onChange:e=>ne("fontSize",e.target.value),disabled:!le,className:"ml-1 text-xs border border-gray-300 rounded px-1 py-0.5 bg-white disabled:opacity-40 disabled:cursor-not-allowed",children:[
25
+ /* @__PURE__ */d("option",{value:"sm",children:"XS"}),
26
+ /* @__PURE__ */d("option",{value:"base",children:"S"}),
27
+ /* @__PURE__ */d("option",{value:"lg",children:"M"}),
28
+ /* @__PURE__ */d("option",{value:"xl",children:"L"})]})]})]}),
29
+ /* @__PURE__ */d("div",{className:"flex-1 min-h-0",children:/* @__PURE__ */d(e,{columns:O,data:Z,onChange:ce,onColumnsChange:e=>se({columns:e}),cellStyles:z,onFocusChange:q,onSelectionChange:te,minRows:x,maxHeight:"100%"})}),
30
+ /* @__PURE__ */u("div",{className:"flex items-center border-t border-gray-200 bg-gray-50 shrink-0",children:[
31
+ /* @__PURE__ */u("div",{className:"flex items-center gap-0.5 px-1 py-1 overflow-x-auto flex-1 min-w-0",children:[C.map((e,t)=>/* @__PURE__ */d("button",{onClick:()=>S(t),onDoubleClick:()=>{Q(t),V(e.name)},onContextMenu:e=>{e.preventDefault(),C.length>1&&(e=>{C.length<=1||(N(t=>t.filter((t,r)=>r!==e)),M>=e&&M>0&&S(M-1))})(t)},className:"px-3 py-1 text-xs font-medium rounded-b whitespace-nowrap transition-colors "+(t===M?"bg-white text-blue-700 border border-t-0 border-gray-300 -mt-px relative z-10":"text-gray-500 hover:text-gray-700 hover:bg-gray-100"),children:W===t?/* @__PURE__ */d("input",{type:"text",value:T,onChange:e=>V(e.target.value),onBlur:()=>ie(t,T||e.name),onKeyDown:r=>{"Enter"===r.key&&ie(t,T||e.name),"Escape"===r.key&&Q(null)},onClick:e=>e.stopPropagation(),autoFocus:!0,className:"w-20 text-xs border border-blue-400 rounded px-1 py-0 focus:ring-0 focus:outline-none"}):e.name},e.id)),
32
+ /* @__PURE__ */d("button",{onClick:()=>{const e=`Sheet ${C.length+1}`;N(t=>[...t,f(e)]),S(C.length)},className:"px-2 py-1 text-xs text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded",title:"Add sheet",children:"+"})]}),
33
+ /* @__PURE__ */u("div",{className:"flex items-center gap-4 px-3 py-1 text-xs text-gray-500 shrink-0 border-l border-gray-200",children:[
34
+ /* @__PURE__ */u("span",{children:[he," cells"]}),de.length>0&&/* @__PURE__ */u(h,{children:[
35
+ /* @__PURE__ */u("span",{children:["Sum: ",de.reduce((e,t)=>e+t,0).toLocaleString(void 0,{maximumFractionDigits:2})]}),
36
+ /* @__PURE__ */u("span",{children:["Avg: ",(de.reduce((e,t)=>e+t,0)/de.length).toLocaleString(void 0,{maximumFractionDigits:2})]})]}),
37
+ /* @__PURE__ */u("span",{children:[Z.length," × ",O.length]})]})]})]});var me}export{w as default};
@@ -0,0 +1,16 @@
1
+ import{loadAppearance as e,WidgetSettingsModal as t}from"./chunk-XDQGIW4X.js";import{useWidgetSettings as n}from"./chunk-RP3GUVAI.js";import"./chunk-CY5N5OA3.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-URERZUX5.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-RBQWIHYD.js";import"./chunk-MTX5LMJD.js";import"./chunk-XLYCWGTK.js";import"./chunk-KC3EX26K.js";import"./chunk-QHOBK35Y.js";import"./chunk-SDI2UGAG.js";import"./chunk-YMYY5G6V.js";import"./chunk-VWGWZY7A.js";import"./chunk-PKXQDCNR.js";import"./chunk-UGTRSRIW.js";import"./chunk-PXQG5EIH.js";import"./chunk-CDAJKLGL.js";import"./chunk-37U326EL.js";import"./chunk-URHGHXDN.js";import"./chunk-5QFPTDQF.js";import"./chunk-TXDA7TTP.js";import"./chunk-I4VIEGCX.js";import"./chunk-UQYNPYF4.js";import"./chunk-34URULVW.js";import"./chunk-KKSVRIMP.js";import"./chunk-J75ZT2JQ.js";import"./chunk-R2VKEMZH.js";import"./chunk-MRJKZWWV.js";import"./chunk-MVZRZTQP.js";import"./chunk-6XBWM453.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-F27JJHNJ.js";import"./chunk-TWVUQUUD.js";import"./chunk-4PAWQEXM.js";import"./chunk-C3QOHMR6.js";import{useState as r,useCallback as c}from"react";import{jsxs as s,Fragment as a,jsx as i}from"react/jsx-runtime";var o=["AAPL","MSFT","GOOGL","TSLA","NVDA"],m="stock_symbols",l="stock_appearance",h={AAPL:{price:229.87,change:1.42,changePct:.62},MSFT:{price:451.16,change:-2.31,changePct:-.51},GOOGL:{price:178.34,change:.89,changePct:.5},AMZN:{price:201.45,change:-1.08,changePct:-.53},TSLA:{price:248.92,change:6.74,changePct:2.78},NVDA:{price:134.81,change:-3.12,changePct:-2.26},META:{price:563.27,change:4.55,changePct:.81}},p=Object.keys(h);function u(){try{const e=JSON.parse(localStorage.getItem(m)||"");if(Array.isArray(e)&&e.length)return e.slice(0,8)}catch{}return o}var d=e=>`${e>=0?"+":""}${e.toFixed(2)}`;function g(){const[o,g]=r(u),[x,k]=r(()=>e(l)),[j,b]=r(!1),[f,y]=r([]),[N,v]=r(x),[A,D]=r(""),G=c(()=>{y([...o]),v({...x}),D(""),b(!0)},[o,x]);n(G);const M=()=>{const e=A.trim().toUpperCase();!e||f.includes(e)||f.length>=8||(y(t=>[...t,e]),D(""))},P=p.filter(e=>!f.includes(e));/* @__PURE__ */
2
+ return s(a,{children:[
3
+ /* @__PURE__ */i("div",{style:{backgroundColor:`rgb(var(--taskbar-bg-rgb, 243 244 246) / ${x.activeOpacity/100})`,backdropFilter:x.activeBlur>0?`blur(${x.activeBlur}px)`:void 0},children:/* @__PURE__ */i("div",{className:"px-4 py-3",children:0===o.length?/* @__PURE__ */i("div",{className:"text-xs text-gray-500 text-center py-6",children:"No symbols yet — add some in settings."}):/* @__PURE__ */i("div",{className:"space-y-0.5",children:o.map(e=>{const t=h[e],n=(t?.change??0)>=0,r=t?t.change>0?"text-green-600":t.change<0?"text-red-600":"text-gray-500":"text-gray-400";/* @__PURE__ */
4
+ return s("div",{className:"flex items-center justify-between px-2 py-2 border-b border-gray-200 last:border-0",children:[
5
+ /* @__PURE__ */i("span",{className:"text-sm font-bold text-gray-800 tracking-tight",children:e}),t?/* @__PURE__ */s("div",{className:"flex flex-col items-end leading-tight",children:[
6
+ /* @__PURE__ */i("span",{className:"text-sm font-mono font-semibold text-gray-900 tabular-nums",children:(c=t.price,`$${c.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}`)}),
7
+ /* @__PURE__ */s("span",{className:`text-2xs font-medium tabular-nums ${r}`,children:[n?"▲":"▼"," ",d(t.change)," (",d(t.changePct),"%)"]})]}):/* @__PURE__ */i("span",{className:"text-sm font-mono text-gray-400 tabular-nums",children:"—"})]},e);var c})})})}),
8
+ /* @__PURE__ */i(t,{open:j,onClose:()=>b(!1),title:"Stock Settings",appearance:N,onAppearanceChange:v,onSave:()=>{const e=f.map(e=>e.toUpperCase()).slice(0,8);g(e),k(N),localStorage.setItem(m,JSON.stringify(e)),localStorage.setItem(l,JSON.stringify(N)),b(!1)},children:/* @__PURE__ */s("div",{children:[
9
+ /* @__PURE__ */s("h3",{className:"text-sm font-semibold text-ink mb-2",children:["Symbols ",
10
+ /* @__PURE__ */s("span",{className:"text-2xs font-normal text-ink-faintest",children:["(",f.length,"/",8,")"]})]}),
11
+ /* @__PURE__ */s("div",{className:"space-y-1 mb-2",children:[f.map((e,t)=>/* @__PURE__ */s("div",{className:"flex items-center justify-between py-1 px-2 bg-gray-50 rounded",children:[
12
+ /* @__PURE__ */i("span",{className:"text-sm font-semibold text-gray-700",children:e}),
13
+ /* @__PURE__ */i("button",{onClick:()=>y(e=>e.filter((e,n)=>n!==t)),className:"text-red-400 hover:text-red-600",children:"×"})]},t)),0===f.length&&/* @__PURE__ */i("p",{className:"text-2xs text-ink-faintest italic",children:"No symbols — add a ticker below."})]}),f.length<8?/* @__PURE__ */s("div",{className:"flex items-center gap-2",children:[
14
+ /* @__PURE__ */i("input",{value:A,onChange:e=>D(e.target.value),onKeyDown:e=>{"Enter"===e.key&&M()},placeholder:"e.g. NVDA",className:"flex-1 bg-gray-50 border border-gray-200 rounded px-2 py-1 text-sm uppercase focus:outline-none focus:ring-1 focus:ring-blue-500"}),
15
+ /* @__PURE__ */i("button",{onClick:M,className:"text-sm font-medium text-blue-600 hover:text-blue-800 px-2",children:"+ Add"})]}):/* @__PURE__ */s("p",{className:"text-2xs text-ink-faintest italic",children:["Max ",8," symbols — remove one to add another."]}),P.length>0&&f.length<8&&/* @__PURE__ */i("div",{className:"flex flex-wrap gap-2 mt-2",children:P.map(e=>/* @__PURE__ */i("button",{onClick:()=>y(t=>t.length<8?[...t,e]:t),className:"text-2xs font-medium text-gray-600 bg-gray-100 hover:bg-gray-200 rounded px-2 py-0.5 transition-colors",children:e},e))}),
16
+ /* @__PURE__ */i("p",{className:"text-2xs text-ink-faintest mt-2",children:"Demo prices — static sample data, no live feed."})]})})]})}export{g as default};
@@ -1,4 +1,4 @@
1
- import{fetchCityWeather as e,getCondition as t,AVAILABLE_CITIES as a,toFahrenheit as r}from"./chunk-FBDZGO3V.js";import{loadAppearance as n,WidgetSettingsModal as i}from"./chunk-XZBQ3XXD.js";import{useWidgetSettings as s}from"./chunk-ANTH2FBS.js";import"./chunk-CY5N5OA3.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-E3RHEEA6.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-3V6ZERBS.js";import"./chunk-TYK7VN73.js";import"./chunk-6B4F5DWV.js";import"./chunk-GMRZX2ET.js";import"./chunk-4AJRHTTB.js";import"./chunk-VWGWZY7A.js";import"./chunk-PKXQDCNR.js";import"./chunk-RKFEJ5CX.js";import"./chunk-UGTRSRIW.js";import"./chunk-CDAJKLGL.js";import{useShellPrefs as o}from"./chunk-KC3EX26K.js";import"./chunk-MH6DI6YY.js";import"./chunk-5QFPTDQF.js";import"./chunk-URHGHXDN.js";import"./chunk-LNARMEEZ.js";import"./chunk-NHH2MXFU.js";import"./chunk-UQYNPYF4.js";import"./chunk-KKSVRIMP.js";import"./chunk-J75ZT2JQ.js";import"./chunk-HL6JSDN3.js";import{LoadingSpinner as l}from"./chunk-R2VKEMZH.js";import"./chunk-MRJKZWWV.js";import"./chunk-OZAAIE4E.js";import"./chunk-BCDG4N6L.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-DTJRIWFR.js";import"./chunk-TWVUQUUD.js";import"./chunk-X2PZMXDP.js";import"./chunk-C3QOHMR6.js";import{useState as c,useEffect as d,useCallback as m}from"react";import{jsx as p,jsxs as h,Fragment as u}from"react/jsx-runtime";var f="weather_city",y="weather_appearance",g={useFahrenheit:!1,showLocalTime:!0,use24Hour:!1};function x(){const e="undefined"!=typeof localStorage?localStorage.getItem(f):null;if(e&&a[e])return e;try{const e=JSON.parse(localStorage.getItem("weather_cities")||"");if(Array.isArray(e)&&e[0]&&a[e[0]])return localStorage.setItem(f,e[0]),e[0]}catch{}return function(){try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone;for(const[t,r]of Object.entries(a))if(r.tz===e)return t}catch{}return"London"}()}var b=r;function w(e,t=!1){try{if(t){const t=new Intl.DateTimeFormat("en-US",{timeZone:e,hour:"numeric",minute:"2-digit",hour12:!1}).formatToParts(/* @__PURE__ */new Date),a=parseInt(t.find(e=>"hour"===e.type)?.value||"0"),r=parseInt(t.find(e=>"minute"===e.type)?.value||"0");return`${String(a).padStart(2,"0")}:${String(r).padStart(2,"0")}`}const a=new Intl.DateTimeFormat("en-US",{timeZone:e,hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(/* @__PURE__ */new Date),r=parseInt(a.find(e=>"hour"===e.type)?.value||"12"),n=parseInt(a.find(e=>"minute"===e.type)?.value||"0"),i=a.find(e=>"dayPeriod"===e.type)?.value||"";return`${r}:${String(n).padStart(2,"0")} ${i}`}catch{return""}}function v(){/* @__PURE__ */
1
+ import{fetchCityWeather as e,getCondition as t,AVAILABLE_CITIES as a,toFahrenheit as r}from"./chunk-FBDZGO3V.js";import{loadAppearance as n,WidgetSettingsModal as i}from"./chunk-XDQGIW4X.js";import{useWidgetSettings as s}from"./chunk-RP3GUVAI.js";import"./chunk-CY5N5OA3.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-URERZUX5.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-RBQWIHYD.js";import"./chunk-MTX5LMJD.js";import"./chunk-XLYCWGTK.js";import{useShellPrefs as o}from"./chunk-KC3EX26K.js";import"./chunk-QHOBK35Y.js";import"./chunk-SDI2UGAG.js";import"./chunk-YMYY5G6V.js";import"./chunk-VWGWZY7A.js";import"./chunk-PKXQDCNR.js";import"./chunk-UGTRSRIW.js";import"./chunk-PXQG5EIH.js";import"./chunk-CDAJKLGL.js";import"./chunk-37U326EL.js";import"./chunk-URHGHXDN.js";import"./chunk-5QFPTDQF.js";import"./chunk-TXDA7TTP.js";import"./chunk-I4VIEGCX.js";import"./chunk-UQYNPYF4.js";import"./chunk-34URULVW.js";import"./chunk-KKSVRIMP.js";import"./chunk-J75ZT2JQ.js";import{LoadingSpinner as l}from"./chunk-R2VKEMZH.js";import"./chunk-MRJKZWWV.js";import"./chunk-MVZRZTQP.js";import"./chunk-6XBWM453.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-F27JJHNJ.js";import"./chunk-TWVUQUUD.js";import"./chunk-4PAWQEXM.js";import"./chunk-C3QOHMR6.js";import{useState as c,useEffect as d,useCallback as m}from"react";import{jsx as p,jsxs as h,Fragment as u}from"react/jsx-runtime";var f="weather_city",y="weather_appearance",g={useFahrenheit:!1,showLocalTime:!0,use24Hour:!1};function x(){const e="undefined"!=typeof localStorage?localStorage.getItem(f):null;if(e&&a[e])return e;try{const e=JSON.parse(localStorage.getItem("weather_cities")||"");if(Array.isArray(e)&&e[0]&&a[e[0]])return localStorage.setItem(f,e[0]),e[0]}catch{}return function(){try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone;for(const[t,r]of Object.entries(a))if(r.tz===e)return t}catch{}return"London"}()}var b=r;function w(e,t=!1){try{if(t){const t=new Intl.DateTimeFormat("en-US",{timeZone:e,hour:"numeric",minute:"2-digit",hour12:!1}).formatToParts(/* @__PURE__ */new Date),a=parseInt(t.find(e=>"hour"===e.type)?.value||"0"),r=parseInt(t.find(e=>"minute"===e.type)?.value||"0");return`${String(a).padStart(2,"0")}:${String(r).padStart(2,"0")}`}const a=new Intl.DateTimeFormat("en-US",{timeZone:e,hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(/* @__PURE__ */new Date),r=parseInt(a.find(e=>"hour"===e.type)?.value||"12"),n=parseInt(a.find(e=>"minute"===e.type)?.value||"0"),i=a.find(e=>"dayPeriod"===e.type)?.value||"";return`${r}:${String(n).padStart(2,"0")} ${i}`}catch{return""}}function v(){/* @__PURE__ */
2
2
  return h("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[
3
3
  /* @__PURE__ */p("div",{className:"absolute -top-5 -right-5 w-24 h-24",style:{animation:"wx-sun-rays 70s linear infinite"},children:/* @__PURE__ */p("svg",{viewBox:"0 0 100 100",className:"w-full h-full",children:Array.from({length:12}).map((e,t)=>/* @__PURE__ */p("rect",{x:49,y:3,width:2,height:14,rx:1,fill:"rgba(255, 232, 130, 0.55)",transform:`rotate(${30*t} 50 50)`},t))})}),
4
4
  /* @__PURE__ */p("div",{className:"absolute top-1 right-1 w-10 h-10 rounded-full",style:{background:"radial-gradient(circle at 35% 35%, #fff8cc 0%, #ffd84a 55%, #ff9e2a 100%)",boxShadow:"0 0 18px 5px rgba(255, 200, 80, 0.55)",animation:"wx-sun-pulse 4.5s ease-in-out infinite"}})]})}function k(){const e=Array.from({length:16}).map((e,t)=>({left:(53*t+11)%95+"%",top:(37*t+9)%78+"%",size:1+13*t%3,delay:.41*t%4+"s",duration:2.5+7*t%5*.6+"s"}));/* @__PURE__ */
@@ -24,37 +24,37 @@ return h("div",{className:"absolute inset-0 overflow-hidden pointer-events-none"
24
24
  /* @__PURE__ */p(j,{heavy:!0}),
25
25
  /* @__PURE__ */p("div",{className:"absolute inset-0 bg-white",style:{animation:"wx-flash 6s ease-out infinite"}}),
26
26
  /* @__PURE__ */p("div",{className:"absolute inset-y-0 right-1/3 flex items-center justify-center pointer-events-none",style:{animation:"wx-bolt 6s ease-out infinite"},children:/* @__PURE__ */p("svg",{viewBox:"0 0 18 60",className:"h-4/5",style:{filter:"drop-shadow(0 0 6px rgba(255, 240, 150, 0.95)) drop-shadow(0 0 14px rgba(255, 220, 90, 0.7))"},children:/* @__PURE__ */p("path",{d:"M11 0 L2 28 L8 30 L4 60 L16 24 L9 22 Z",fill:"rgba(255, 250, 200, 0.98)",stroke:"rgba(255, 255, 255, 0.9)",strokeWidth:.3})})})]})}function T(){/* @__PURE__ */
27
- return p("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:Array.from({length:4}).map((e,t)=>/* @__PURE__ */p("div",{className:"absolute left-0 right-0",style:{top:10+22*t+"%",height:"14px",background:"linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 100%)",filter:"blur(2px)",animation:`wx-fog-drift ${10+3*t}s ease-in-out ${.7*t}s infinite alternate`}},t))})}function H({code:e,isDay:t}){return 0===e||1===e?/* @__PURE__ */p(t?v:k,{}):2===e?/* @__PURE__ */h(u,{children:[/* @__PURE__ */p(t?v:k,{}),
28
- /* @__PURE__ */p(N,{tone:t?"light":"dark"})]}):3===e?/* @__PURE__ */p(N,{tone:t?"light":"dark"}):45===e||48===e?/* @__PURE__ */p(T,{}):[51,53,61,80,81].includes(e)?/* @__PURE__ */p(j,{}):[55,63,65,82].includes(e)?/* @__PURE__ */p(j,{heavy:!0}):[71,73,75].includes(e)?/* @__PURE__ */p(S,{}):[95,96,99].includes(e)?/* @__PURE__ */p(D,{}):null}function $(){const[r,v]=c(x),[k,N]=c(()=>n(y)),[j,S]=c(null),[D,T]=c(!0),[,$]=c(0);d(()=>{const e=setInterval(()=>$(e=>e+1),6e4);return()=>clearInterval(e)},[]);const[A,C]=c(!1),[F,I]=c(r),[L,M]=c(k),{prefs:R,save:X}=o(),Z={...g,...R.weather_prefs??{}},[B,E]=c(Z);s(m(()=>{I(r),M({...k}),E({...Z}),C(!0)},[r,k,Z])),d(()=>{let t=!1;return T(!0),e(r).then(e=>{t||(S(e),T(!1))}),()=>{t=!0}},[r]);const J=e=>Z.useFahrenheit?`${b(e)}°F`:`${e}°`;if(D&&!j)/* @__PURE__ */
27
+ return p("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:Array.from({length:4}).map((e,t)=>/* @__PURE__ */p("div",{className:"absolute left-0 right-0",style:{top:10+22*t+"%",height:"14px",background:"linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 100%)",filter:"blur(2px)",animation:`wx-fog-drift ${10+3*t}s ease-in-out ${.7*t}s infinite alternate`}},t))})}function I({code:e,isDay:t}){return 0===e||1===e?/* @__PURE__ */p(t?v:k,{}):2===e?/* @__PURE__ */h(u,{children:[/* @__PURE__ */p(t?v:k,{}),
28
+ /* @__PURE__ */p(N,{tone:t?"light":"dark"})]}):3===e?/* @__PURE__ */p(N,{tone:t?"light":"dark"}):45===e||48===e?/* @__PURE__ */p(T,{}):[51,53,61,80,81].includes(e)?/* @__PURE__ */p(j,{}):[55,63,65,82].includes(e)?/* @__PURE__ */p(j,{heavy:!0}):[71,73,75].includes(e)?/* @__PURE__ */p(S,{}):[95,96,99].includes(e)?/* @__PURE__ */p(D,{}):null}function $(){const[r,v]=c(x),[k,N]=c(()=>n(y)),[j,S]=c(null),[D,T]=c(!0),[,$]=c(0);d(()=>{const e=setInterval(()=>$(e=>e+1),6e4);return()=>clearInterval(e)},[]);const[C,L]=c(!1),[A,H]=c(r),[X,G]=c(k),{prefs:M,save:U}=o(),W={...g,...M.weather_prefs??{}},[F,R]=c(W);s(m(()=>{H(r),G({...k}),R({...W}),L(!0)},[r,k,W])),d(()=>{let t=!1;return T(!0),e(r).then(e=>{t||(S(e),T(!1))}),()=>{t=!0}},[r]);const J=e=>W.useFahrenheit?`${b(e)}°F`:`${e}°`;if(D&&!j)/* @__PURE__ */
29
29
  return p("div",{className:"flex items-center justify-center h-full bg-gradient-to-b from-sky-400 to-blue-500 rounded-lg text-on-accent/80 text-xs",style:{minHeight:110},children:/* @__PURE__ */p(l,{size:"sm",padding:"",label:"Loading"})});if(!j)/* @__PURE__ */
30
- return p("div",{className:"flex items-center justify-center h-full bg-slate-700 rounded-lg text-white/80 text-xs",style:{minHeight:110},children:"Couldn't load weather"});const[W,G,O]=t(j.code,j.isDay);/* @__PURE__ */
30
+ return p("div",{className:"flex items-center justify-center h-full bg-slate-700 rounded-lg text-white/80 text-xs",style:{minHeight:110},children:"Couldn't load weather"});const[P,Z,B]=t(j.code,j.isDay);/* @__PURE__ */
31
31
  return h(u,{children:[
32
32
  /* @__PURE__ */p("style",{children:"\n@keyframes wx-rain-a { 0% { transform: translate(0,-20px); opacity: 0; } 10% { opacity: 0.95; } 100% { transform: translate(8px,140px); opacity: 0; } }\n@keyframes wx-rain-b { 0% { transform: translate(0,-20px); opacity: 0; } 12% { opacity: 0.85; } 100% { transform: translate(12px,140px); opacity: 0; } }\n@keyframes wx-rain-c { 0% { transform: translate(0,-20px); opacity: 0; } 10% { opacity: 1; } 100% { transform: translate(5px,140px); opacity: 0; } }\n@keyframes wx-snow-a { 0% { transform: translate(0,-12px) rotate(0deg); opacity: 0; } 10% { opacity: 0.9; } 50% { transform: translate(10px,55px) rotate(180deg); } 100% { transform: translate(-4px,140px) rotate(360deg); opacity: 0; } }\n@keyframes wx-snow-b { 0% { transform: translate(0,-12px) rotate(0deg); opacity: 0; } 10% { opacity: 0.85; } 50% { transform: translate(-12px,55px) rotate(-180deg); } 100% { transform: translate(6px,140px) rotate(-360deg); opacity: 0; } }\n@keyframes wx-snow-c { 0% { transform: translate(0,-12px); opacity: 0; } 10% { opacity: 0.7; } 100% { transform: translate(2px,140px); opacity: 0; } }\n@keyframes wx-drift-cloud { 0% { transform: translateX(-40%); } 100% { transform: translateX(140%); } }\n@keyframes wx-twinkle { 0%, 100% { opacity: 0.25; transform: scale(1); } 50% { opacity: 1; transform: scale(1.6); } }\n@keyframes wx-flash { 0%, 86%, 100% { opacity: 0; } 87% { opacity: 0.95; } 88% { opacity: 0.15; } 89% { opacity: 0.85; } 90% { opacity: 0; } }\n@keyframes wx-bolt { 0%, 86%, 90%, 100% { opacity: 0; } 87% { opacity: 1; } 89% { opacity: 0.85; } }\n@keyframes wx-sun-pulse { 0%, 100% { transform: scale(1); opacity: 0.65; } 50% { transform: scale(1.12); opacity: 0.95; } }\n@keyframes wx-sun-rays { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\n@keyframes wx-fog-drift { 0% { transform: translateX(-25%); opacity: 0.3; } 50% { opacity: 0.65; } 100% { transform: translateX(25%); opacity: 0.3; } }\n@keyframes wx-shooting-star { 0%, 95% { opacity: 0; transform: translate(0,0) scale(0); } 96% { opacity: 1; transform: translate(0,0) scale(1); } 100% { opacity: 0; transform: translate(40px,30px) scale(1); } }\n"}),
33
- /* @__PURE__ */p("div",{className:"rounded-lg overflow-hidden",style:{backgroundColor:`rgba(15, 23, 42, ${k.activeOpacity/100})`,backdropFilter:k.activeBlur>0?`blur(${k.activeBlur}px)`:void 0},children:/* @__PURE__ */h("div",{className:`relative rounded-lg overflow-hidden text-white bg-gradient-to-br ${O}`,style:{height:110},children:[
34
- /* @__PURE__ */p(H,{code:j.code,isDay:j.isDay}),
33
+ /* @__PURE__ */p("div",{className:"rounded-lg overflow-hidden",style:{backgroundColor:`rgba(15, 23, 42, ${k.activeOpacity/100})`,backdropFilter:k.activeBlur>0?`blur(${k.activeBlur}px)`:void 0},children:/* @__PURE__ */h("div",{className:`relative rounded-lg overflow-hidden text-white bg-gradient-to-br ${B}`,style:{height:110},children:[
34
+ /* @__PURE__ */p(I,{code:j.code,isDay:j.isDay}),
35
35
  /* @__PURE__ */h("div",{className:"relative z-10 px-3 py-3 flex flex-col h-full justify-between",children:[
36
36
  /* @__PURE__ */h("div",{className:"flex items-start justify-between gap-2",children:[
37
37
  /* @__PURE__ */h("div",{className:"min-w-0 flex-1",children:[
38
- /* @__PURE__ */p("div",{className:"text-base font-semibold leading-tight truncate drop-shadow-sm",children:j.city}),Z.showLocalTime&&/* @__PURE__ */p("div",{className:"text-2xs opacity-90 leading-tight tabular-nums drop-shadow-sm",children:w(j.timezone,Z.use24Hour)})]}),
38
+ /* @__PURE__ */p("div",{className:"text-base font-semibold leading-tight truncate drop-shadow-sm",children:j.city}),W.showLocalTime&&/* @__PURE__ */p("div",{className:"text-2xs opacity-90 leading-tight tabular-nums drop-shadow-sm",children:w(j.timezone,W.use24Hour)})]}),
39
39
  /* @__PURE__ */p("div",{className:"text-3xl font-extralight leading-none tracking-tight tabular-nums shrink-0 drop-shadow-sm",children:J(j.temp)})]}),
40
40
  /* @__PURE__ */h("div",{className:"flex items-end justify-between gap-2",children:[
41
41
  /* @__PURE__ */h("div",{className:"flex items-center gap-2 min-w-0",children:[
42
- /* @__PURE__ */p("span",{className:"text-lg leading-none drop-shadow-sm",children:G}),
43
- /* @__PURE__ */p("span",{className:"text-2xs font-medium drop-shadow-sm truncate",children:W})]}),
42
+ /* @__PURE__ */p("span",{className:"text-lg leading-none drop-shadow-sm",children:Z}),
43
+ /* @__PURE__ */p("span",{className:"text-2xs font-medium drop-shadow-sm truncate",children:P})]}),
44
44
  /* @__PURE__ */h("span",{className:"text-2xs opacity-90 tabular-nums drop-shadow-sm shrink-0",children:["H:",J(j.high)," L:",J(j.low)]})]})]})]})}),
45
- /* @__PURE__ */h(i,{open:A,onClose:()=>C(!1),title:"Weather Settings",appearance:L,onAppearanceChange:M,onSave:()=>{v(F),N(L),X({weather_prefs:B}),localStorage.setItem(f,F),localStorage.setItem(y,JSON.stringify(L)),C(!1)},children:[
45
+ /* @__PURE__ */h(i,{open:C,onClose:()=>L(!1),title:"Weather Settings",appearance:X,onAppearanceChange:G,onSave:()=>{v(A),N(X),U({weather_prefs:F}),localStorage.setItem(f,A),localStorage.setItem(y,JSON.stringify(X)),L(!1)},children:[
46
46
  /* @__PURE__ */p("div",{className:"space-y-3",children:/* @__PURE__ */h("div",{children:[
47
47
  /* @__PURE__ */p("h3",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Display"}),
48
48
  /* @__PURE__ */h("div",{className:"flex items-center gap-3 mb-2",children:[
49
49
  /* @__PURE__ */p("span",{className:"text-sm text-gray-600 w-24",children:"Temperature"}),
50
- /* @__PURE__ */p("div",{className:"flex gap-1",children:[{key:!1,label:"°C"},{key:!0,label:"°F"}].map(e=>/* @__PURE__ */p("button",{onClick:()=>E(t=>({...t,useFahrenheit:e.key})),className:"px-3 py-1 text-xs font-medium rounded-lg border transition-colors "+(B.useFahrenheit===e.key?"bg-blue-600 text-white border-blue-600":"bg-white text-gray-700 border-gray-300 hover:bg-gray-50"),children:e.label},String(e.key)))})]}),
50
+ /* @__PURE__ */p("div",{className:"flex gap-1",children:[{key:!1,label:"°C"},{key:!0,label:"°F"}].map(e=>/* @__PURE__ */p("button",{onClick:()=>R(t=>({...t,useFahrenheit:e.key})),className:"px-3 py-1 text-xs font-medium rounded-lg border transition-colors "+(F.useFahrenheit===e.key?"bg-blue-600 text-white border-blue-600":"bg-white text-gray-700 border-gray-300 hover:bg-gray-50"),children:e.label},String(e.key)))})]}),
51
51
  /* @__PURE__ */h("div",{className:"flex items-center gap-3 mb-2",children:[
52
52
  /* @__PURE__ */p("span",{className:"text-sm text-gray-600 w-24",children:"Time Format"}),
53
- /* @__PURE__ */p("div",{className:"flex gap-1",children:[{key:!1,label:"AM/PM"},{key:!0,label:"24H"}].map(e=>/* @__PURE__ */p("button",{onClick:()=>E(t=>({...t,use24Hour:e.key})),className:"px-3 py-1 text-xs font-medium rounded-lg border transition-colors "+(B.use24Hour===e.key?"bg-blue-600 text-white border-blue-600":"bg-white text-gray-700 border-gray-300 hover:bg-gray-50"),children:e.label},String(e.key)))})]}),
53
+ /* @__PURE__ */p("div",{className:"flex gap-1",children:[{key:!1,label:"AM/PM"},{key:!0,label:"24H"}].map(e=>/* @__PURE__ */p("button",{onClick:()=>R(t=>({...t,use24Hour:e.key})),className:"px-3 py-1 text-xs font-medium rounded-lg border transition-colors "+(F.use24Hour===e.key?"bg-blue-600 text-white border-blue-600":"bg-white text-gray-700 border-gray-300 hover:bg-gray-50"),children:e.label},String(e.key)))})]}),
54
54
  /* @__PURE__ */h("label",{className:"flex items-center gap-2 cursor-pointer",children:[
55
- /* @__PURE__ */p("input",{type:"checkbox",checked:B.showLocalTime,onChange:e=>E(t=>({...t,showLocalTime:e.target.checked})),className:"rounded border-gray-300 text-blue-600 h-3.5 w-3.5"}),
55
+ /* @__PURE__ */p("input",{type:"checkbox",checked:F.showLocalTime,onChange:e=>R(t=>({...t,showLocalTime:e.target.checked})),className:"rounded border-gray-300 text-blue-600 h-3.5 w-3.5"}),
56
56
  /* @__PURE__ */p("span",{className:"text-sm text-gray-600",children:"Show local time"})]})]})}),
57
57
  /* @__PURE__ */h("div",{children:[
58
58
  /* @__PURE__ */p("h3",{className:"text-sm font-semibold text-gray-700 mb-2",children:"City"}),
59
- /* @__PURE__ */p("select",{value:F,onChange:e=>I(e.target.value),className:"w-full bg-surface-sunken border border-line rounded px-2 h-8 text-sm focus:outline-none focus:ring-1 focus:ring-blue-500",children:Object.keys(a).map(e=>/* @__PURE__ */p("option",{value:e,children:e},e))}),
59
+ /* @__PURE__ */p("select",{value:A,onChange:e=>H(e.target.value),className:"w-full bg-surface-sunken border border-line rounded px-2 h-8 text-sm focus:outline-none focus:ring-1 focus:ring-blue-500",children:Object.keys(a).map(e=>/* @__PURE__ */p("option",{value:e,children:e},e))}),
60
60
  /* @__PURE__ */p("p",{className:"mt-1 text-2xs text-ink-faintest",children:"Auto-detected from your timezone; change if needed."})]})]})]})}export{$ as default};
@@ -1,32 +1,32 @@
1
- import{AVAILABLE_CITIES as e,fetchCityWeather as t,getCondition as n,toFahrenheit as r}from"./chunk-FBDZGO3V.js";import{loadAppearance as s,WidgetSettingsModal as i}from"./chunk-XZBQ3XXD.js";import{useWidgetSettings as a}from"./chunk-ANTH2FBS.js";import"./chunk-CY5N5OA3.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-E3RHEEA6.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-3V6ZERBS.js";import"./chunk-TYK7VN73.js";import"./chunk-6B4F5DWV.js";import"./chunk-GMRZX2ET.js";import"./chunk-4AJRHTTB.js";import"./chunk-VWGWZY7A.js";import"./chunk-PKXQDCNR.js";import"./chunk-RKFEJ5CX.js";import"./chunk-UGTRSRIW.js";import"./chunk-CDAJKLGL.js";import{useShellPrefs as c}from"./chunk-KC3EX26K.js";import"./chunk-MH6DI6YY.js";import"./chunk-5QFPTDQF.js";import"./chunk-URHGHXDN.js";import"./chunk-LNARMEEZ.js";import"./chunk-NHH2MXFU.js";import"./chunk-UQYNPYF4.js";import"./chunk-KKSVRIMP.js";import"./chunk-J75ZT2JQ.js";import"./chunk-HL6JSDN3.js";import{LoadingSpinner as o}from"./chunk-R2VKEMZH.js";import"./chunk-MRJKZWWV.js";import"./chunk-OZAAIE4E.js";import"./chunk-BCDG4N6L.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-DTJRIWFR.js";import"./chunk-TWVUQUUD.js";import"./chunk-X2PZMXDP.js";import"./chunk-C3QOHMR6.js";import{useState as l,useEffect as m,useCallback as h}from"react";import{jsxs as p,Fragment as u,jsx as d}from"react/jsx-runtime";var k="world_clock_appearance",g=["London","Shanghai","New York"];function x(){const{prefs:x,save:j}=c(),[b,f]=l(()=>s(k)),[y,N]=l(!1),[v,w]=l([]),[D,F]=l(b),C={useFahrenheit:!!x.weather_prefs?.useFahrenheit},[R,T]=l(C),[E,H]=l(()=>/* @__PURE__ */new Date);m(()=>{const e=setInterval(()=>H(/* @__PURE__ */new Date),3e4);return()=>clearInterval(e)},[]);const A=Object.fromEntries(Object.entries(e).map(([e,t])=>[t.tz,e])),M=x.world_clocks,S=(()=>{if(!Array.isArray(M)||0===M.length)return g;const t=[];for(const n of M){const r=e[n]?n:A[n];r&&!t.includes(r)&&t.push(r)}return t.length?t:g})(),[Z,J]=l({}),[U,W]=l(!0);m(()=>{let e=!1;return W(!0),(async()=>{const n={};await Promise.all(S.map(async e=>{const r=await t(e);r&&(n[e]=r)})),e||(J(n),W(!1))})(),()=>{e=!0}},[S.join(",")]),a(h(()=>{w([...S]),F({...b}),T({...C}),N(!0)},[S.join(","),b,C.useFahrenheit]));const X=e=>C.useFahrenheit?`${r(e)}°`:`${e}°`;/* @__PURE__ */
1
+ import{AVAILABLE_CITIES as e,fetchCityWeather as t,getCondition as n,toFahrenheit as r}from"./chunk-FBDZGO3V.js";import{loadAppearance as s,WidgetSettingsModal as i}from"./chunk-XDQGIW4X.js";import{useWidgetSettings as a}from"./chunk-RP3GUVAI.js";import"./chunk-CY5N5OA3.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-URERZUX5.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-RBQWIHYD.js";import"./chunk-MTX5LMJD.js";import"./chunk-XLYCWGTK.js";import{useShellPrefs as c}from"./chunk-KC3EX26K.js";import"./chunk-QHOBK35Y.js";import"./chunk-SDI2UGAG.js";import"./chunk-YMYY5G6V.js";import"./chunk-VWGWZY7A.js";import"./chunk-PKXQDCNR.js";import"./chunk-UGTRSRIW.js";import"./chunk-PXQG5EIH.js";import"./chunk-CDAJKLGL.js";import"./chunk-37U326EL.js";import"./chunk-URHGHXDN.js";import"./chunk-5QFPTDQF.js";import"./chunk-TXDA7TTP.js";import"./chunk-I4VIEGCX.js";import"./chunk-UQYNPYF4.js";import"./chunk-34URULVW.js";import"./chunk-KKSVRIMP.js";import"./chunk-J75ZT2JQ.js";import{LoadingSpinner as o}from"./chunk-R2VKEMZH.js";import"./chunk-MRJKZWWV.js";import"./chunk-MVZRZTQP.js";import"./chunk-6XBWM453.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-F27JJHNJ.js";import"./chunk-TWVUQUUD.js";import"./chunk-4PAWQEXM.js";import"./chunk-C3QOHMR6.js";import{useState as m,useEffect as l,useCallback as h}from"react";import{jsxs as p,Fragment as u,jsx as d}from"react/jsx-runtime";var k="world_clock_appearance",g=["London","Shanghai","New York"];function j(){const{prefs:j,save:x}=c(),[b,f]=m(()=>s(k)),[y,N]=m(!1),[v,w]=m([]),[D,U]=m(b),C={useFahrenheit:!!j.weather_prefs?.useFahrenheit},[G,T]=m(C),[W,F]=m(()=>/* @__PURE__ */new Date);l(()=>{const e=setInterval(()=>F(/* @__PURE__ */new Date),3e4);return()=>clearInterval(e)},[]);const M=Object.fromEntries(Object.entries(e).map(([e,t])=>[t.tz,e])),R=j.world_clocks,X=(()=>{if(!Array.isArray(R)||0===R.length)return g;const t=[];for(const n of R){const r=e[n]?n:M[n];r&&!t.includes(r)&&t.push(r)}return t.length?t:g})(),[I,J]=m({}),[P,Q]=m(!0);l(()=>{let e=!1;return Q(!0),(async()=>{const n={};await Promise.all(X.map(async e=>{const r=await t(e);r&&(n[e]=r)})),e||(J(n),Q(!1))})(),()=>{e=!0}},[X.join(",")]),a(h(()=>{w([...X]),U({...b}),T({...C}),N(!0)},[X.join(","),b,C.useFahrenheit]));const A=e=>C.useFahrenheit?`${r(e)}°`:`${e}°`;/* @__PURE__ */
2
2
  return p(u,{children:[
3
- /* @__PURE__ */d("div",{style:{backgroundColor:`rgb(var(--taskbar-bg-rgb, 243 244 246) / ${b.activeOpacity/100})`,backdropFilter:b.activeBlur>0?`blur(${b.activeBlur}px)`:void 0},children:/* @__PURE__ */p("div",{className:"divide-y divide-gray-200",children:[U&&S.every(e=>!Z[e])&&/* @__PURE__ */d(o,{size:"sm",padding:"py-6",label:"Loading"}),S.map(t=>{const r=Z[t],s=e[t]?.tz??"UTC",{time:i,ampm:a}=function(e,t){try{const n=new Intl.DateTimeFormat("en-US",{timeZone:e,hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(t),r=n.find(e=>"hour"===e.type)?.value||"12";return{time:`${r}:${n.find(e=>"minute"===e.type)?.value||"00"}`,ampm:(n.find(e=>"dayPeriod"===e.type)?.value||"").toUpperCase()}}catch{return{time:"",ampm:""}}}(s,E);if(!r)/* @__PURE__ */
3
+ /* @__PURE__ */d("div",{style:{backgroundColor:`rgb(var(--taskbar-bg-rgb, 243 244 246) / ${b.activeOpacity/100})`,backdropFilter:b.activeBlur>0?`blur(${b.activeBlur}px)`:void 0},children:/* @__PURE__ */p("div",{className:"divide-y divide-gray-200",children:[P&&X.every(e=>!I[e])&&/* @__PURE__ */d(o,{size:"sm",padding:"py-6",label:"Loading"}),X.map(t=>{const r=I[t],s=e[t]?.tz??"UTC",{time:i,ampm:a}=function(e,t){try{const n=new Intl.DateTimeFormat("en-US",{timeZone:e,hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(t),r=n.find(e=>"hour"===e.type)?.value||"12";return{time:`${r}:${n.find(e=>"minute"===e.type)?.value||"00"}`,ampm:(n.find(e=>"dayPeriod"===e.type)?.value||"").toUpperCase()}}catch{return{time:"",ampm:""}}}(s,W);if(!r)/* @__PURE__ */
4
4
  return p("div",{className:"px-4 py-3",children:[
5
5
  /* @__PURE__ */p("div",{className:"flex items-baseline justify-between gap-2",children:[
6
6
  /* @__PURE__ */d("span",{className:"text-base font-semibold tracking-tight text-ink-strongest truncate",children:t}),
7
7
  /* @__PURE__ */p("span",{className:"tabular-nums text-sm font-medium text-ink-faint",children:[i,
8
8
  /* @__PURE__ */d("span",{className:"text-3xs ml-0.5 opacity-70",children:a})]})]}),
9
- /* @__PURE__ */d(o,{size:"sm",padding:"pt-1",label:"Loading weather"})]},t);const[c,l]=n(r.code,r.isDay);/* @__PURE__ */
9
+ /* @__PURE__ */d(o,{size:"sm",padding:"pt-1",label:"Loading weather"})]},t);const[c,m]=n(r.code,r.isDay);/* @__PURE__ */
10
10
  return p("div",{className:"px-4 py-3",children:[
11
11
  /* @__PURE__ */p("div",{className:"flex items-baseline justify-between gap-2",children:[
12
12
  /* @__PURE__ */d("span",{className:"text-base font-semibold tracking-tight text-ink-strongest truncate",children:t}),
13
- /* @__PURE__ */d("span",{className:"text-2xl font-extralight leading-none tabular-nums tracking-tight text-ink-strongest shrink-0",children:X(r.temp)})]}),
13
+ /* @__PURE__ */d("span",{className:"text-2xl font-extralight leading-none tabular-nums tracking-tight text-ink-strongest shrink-0",children:A(r.temp)})]}),
14
14
  /* @__PURE__ */p("div",{className:"flex items-center justify-between gap-2 mt-2 text-2xs",children:[
15
15
  /* @__PURE__ */p("div",{className:"flex items-center gap-2 min-w-0 text-ink-faint",children:[
16
- /* @__PURE__ */d("span",{className:"text-base leading-none shrink-0",children:l}),
16
+ /* @__PURE__ */d("span",{className:"text-base leading-none shrink-0",children:m}),
17
17
  /* @__PURE__ */p("span",{className:"tabular-nums font-semibold text-gray-700 shrink-0",children:[i,
18
18
  /* @__PURE__ */d("span",{className:"text-3xs font-medium ml-0.5 opacity-70",children:a})]}),
19
19
  /* @__PURE__ */d("span",{className:"text-gray-300 shrink-0",children:"·"}),
20
20
  /* @__PURE__ */d("span",{className:"truncate",children:c})]}),
21
- /* @__PURE__ */p("span",{className:"tabular-nums text-gray-500 shrink-0",children:["H:",X(r.high)," L:",X(r.low)]})]})]},t)})]})}),
22
- /* @__PURE__ */p(i,{open:y,onClose:()=>N(!1),title:"World Clock Settings",appearance:D,onAppearanceChange:F,onSave:()=>{0!==v.length&&(j({world_clocks:v,weather_prefs:{...x.weather_prefs??{},useFahrenheit:R.useFahrenheit}}),f(D),localStorage.setItem(k,JSON.stringify(D)),N(!1))},children:[
21
+ /* @__PURE__ */p("span",{className:"tabular-nums text-gray-500 shrink-0",children:["H:",A(r.high)," L:",A(r.low)]})]})]},t)})]})}),
22
+ /* @__PURE__ */p(i,{open:y,onClose:()=>N(!1),title:"World Clock Settings",appearance:D,onAppearanceChange:U,onSave:()=>{0!==v.length&&(x({world_clocks:v,weather_prefs:{...j.weather_prefs??{},useFahrenheit:G.useFahrenheit}}),f(D),localStorage.setItem(k,JSON.stringify(D)),N(!1))},children:[
23
23
  /* @__PURE__ */p("div",{children:[
24
24
  /* @__PURE__ */d("h3",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Display"}),
25
25
  /* @__PURE__ */p("div",{className:"flex items-center gap-3 mb-2",children:[
26
26
  /* @__PURE__ */d("span",{className:"text-sm text-gray-600 w-24",children:"Temperature"}),
27
- /* @__PURE__ */d("div",{className:"flex gap-1",children:[{key:!1,label:"°C"},{key:!0,label:"°F"}].map(e=>/* @__PURE__ */d("button",{onClick:()=>T(t=>({...t,useFahrenheit:e.key})),className:"px-3 py-1 text-xs font-medium rounded-lg border transition-colors "+(R.useFahrenheit===e.key?"bg-blue-600 text-white border-blue-600":"bg-white text-gray-700 border-gray-300 hover:bg-gray-50"),children:e.label},String(e.key)))})]}),
27
+ /* @__PURE__ */d("div",{className:"flex gap-1",children:[{key:!1,label:"°C"},{key:!0,label:"°F"}].map(e=>/* @__PURE__ */d("button",{onClick:()=>T(t=>({...t,useFahrenheit:e.key})),className:"px-3 py-1 text-xs font-medium rounded-lg border transition-colors "+(G.useFahrenheit===e.key?"bg-blue-600 text-white border-blue-600":"bg-white text-gray-700 border-gray-300 hover:bg-gray-50"),children:e.label},String(e.key)))})]}),
28
28
  /* @__PURE__ */d("p",{className:"text-2xs text-ink-faintest mt-1",children:"Shared with the Weather widget."})]}),
29
29
  /* @__PURE__ */p("div",{children:[
30
30
  /* @__PURE__ */d("h3",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Cities"}),
31
31
  /* @__PURE__ */d("div",{className:"grid grid-cols-2 gap-1 max-h-56 overflow-y-auto",children:Object.keys(e).map(e=>/* @__PURE__ */p("label",{className:"flex items-center gap-2 text-sm py-1 cursor-pointer hover:bg-gray-50 rounded px-2",children:[
32
- /* @__PURE__ */d("input",{type:"checkbox",checked:v.includes(e),onChange:()=>w(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),className:"rounded border-gray-300 text-blue-600 focus:ring-blue-500 h-3.5 w-3.5"}),e]},e))})]})]})]})}export{x as default};
32
+ /* @__PURE__ */d("input",{type:"checkbox",checked:v.includes(e),onChange:()=>w(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),className:"rounded border-gray-300 text-blue-600 focus:ring-blue-500 h-3.5 w-3.5"}),e]},e))})]})]})]})}export{j as default};