efficient-shell 12.5.0 → 12.8.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.
- package/README.md +19 -8
- package/dist/{Browser-FQUSLYYL.js → Browser-DEXVIONU.js} +13 -13
- package/dist/{Calculator-AHBFZ4EN.js → Calculator-NZ2S6CAK.js} +22 -22
- package/dist/{CurrencyConverter-PZYRBADV.js → CurrencyConverter-H4M35SIY.js} +8 -8
- package/dist/Files-HDTNIXUC.js +121 -0
- package/dist/{Notepad-7FEHOFEE.js → Notepad-PSDXZTBI.js} +9 -9
- package/dist/{PomodoroTimer-WGN2KNSB.js → PomodoroTimer-SKAUQXPO.js} +63 -63
- package/dist/{Preview-XJ3PGGRE.js → Preview-HBB2SWJY.js} +20 -20
- package/dist/Sidebar-XGAVJGOL.js +44 -0
- package/dist/{Stock-5GEEDQVT.js → Stock-X7GEAET7.js} +3 -3
- package/dist/{Weather-WMQQXWHH.js → Weather-OH5PIQLU.js} +18 -18
- package/dist/{WorldClock-IK3WTHVW.js → WorldClock-S5NSJ7ZX.js} +6 -6
- package/dist/ai/index.js +54 -54
- 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/ChordChart.js +1 -1
- package/dist/charts/FlowChart.js +1 -1
- package/dist/charts/RadarChart.js +1 -1
- package/dist/charts/SankeyChart.js +1 -1
- package/dist/charts/SpecChart.js +1 -1
- package/dist/charts/SunburstChart.js +1 -1
- package/dist/charts/TreemapChart.js +1 -1
- package/dist/{chunk-AAIUJJDQ.js → chunk-23WJCEYD.js} +1 -1
- package/dist/chunk-27TJNID7.js +13 -0
- package/dist/chunk-2JXGTA73.js +99 -0
- package/dist/{chunk-ZOZEQZUA.js → chunk-2UBASCOK.js} +1 -1
- package/dist/chunk-3C5NKOVF.js +1 -0
- package/dist/{chunk-SYZLS2JA.js → chunk-3DWVSQIJ.js} +1 -1
- package/dist/chunk-3I67TIGD.js +23 -0
- package/dist/chunk-3KP3EIYP.js +9 -0
- package/dist/{chunk-IXBKWVEP.js → chunk-4EVBKID5.js} +1 -1
- package/dist/{chunk-GEXETMGL.js → chunk-4JYHS4VJ.js} +1 -1
- package/dist/{chunk-J53LQWWY.js → chunk-5NONOFIV.js} +13 -13
- package/dist/{chunk-GZQD6IBV.js → chunk-5Q7VFXEO.js} +1 -1
- package/dist/chunk-6EHPEBGP.js +5 -0
- package/dist/{chunk-2BMGV6DE.js → chunk-6HH6KNJB.js} +1 -1
- package/dist/{chunk-IFQXTIMY.js → chunk-6LYBE7LM.js} +1 -1
- package/dist/{chunk-N6Q7HNAH.js → chunk-7FRG5CF7.js} +1 -1
- package/dist/chunk-7HTDD37H.js +6 -0
- package/dist/{chunk-DFYXIW4O.js → chunk-AXTVK6LU.js} +1 -1
- package/dist/{chunk-MGW7SX53.js → chunk-B7LNSGNR.js} +8 -8
- package/dist/{chunk-ND5IZ37V.js → chunk-BDWZLMIT.js} +5 -5
- package/dist/{chunk-C5LBNLFJ.js → chunk-BTUI3MKS.js} +1 -1
- package/dist/{chunk-N7JX27JE.js → chunk-BXU3LX44.js} +1 -1
- package/dist/{chunk-6BATVJBA.js → chunk-C37PXEEH.js} +4 -4
- package/dist/{chunk-56GGBTAD.js → chunk-C3SE57NF.js} +3 -3
- package/dist/chunk-EVYD6UFQ.js +2 -0
- package/dist/chunk-EZ6SVQSV.js +4 -0
- package/dist/{chunk-5JUG74UR.js → chunk-EZWWQHD3.js} +1 -1
- package/dist/{chunk-I5BS6AP6.js → chunk-F6QSHKUR.js} +4 -4
- package/dist/{chunk-CJH2BGXY.js → chunk-G67CJAQ2.js} +1 -1
- package/dist/{chunk-UVBX5LEU.js → chunk-GG4ZXQXG.js} +4 -4
- package/dist/{chunk-N442GPRJ.js → chunk-GHZ4PP62.js} +1 -1
- package/dist/{chunk-BG2OL3MO.js → chunk-GLJILR2Y.js} +6 -6
- package/dist/{chunk-RNQBWWYR.js → chunk-H27KA5IL.js} +5 -5
- package/dist/{chunk-UVGEOQI4.js → chunk-H6IGZWC2.js} +9 -9
- package/dist/chunk-HEAGOZKJ.js +6 -0
- package/dist/chunk-HQA7SPU5.js +4 -0
- package/dist/{chunk-G7I255HN.js → chunk-HS6KTFW6.js} +11 -11
- package/dist/{chunk-EYPKBJYG.js → chunk-HY6CBG4M.js} +1 -1
- package/dist/chunk-IFIMUNID.js +4 -0
- package/dist/{chunk-QIUIP6YZ.js → chunk-J33QE4J7.js} +2 -2
- package/dist/{chunk-JPNAEN53.js → chunk-JMGDGNM7.js} +1 -1
- package/dist/chunk-JY2OBPVO.js +11 -0
- package/dist/{chunk-57YY4J6T.js → chunk-JYD6PSDA.js} +1 -1
- package/dist/{chunk-OLVKHYHV.js → chunk-KETGA66S.js} +6 -6
- package/dist/chunk-KO74S3FL.js +28 -0
- package/dist/{chunk-YRJJKF5H.js → chunk-KUUZFLT6.js} +1 -1
- package/dist/{chunk-RVQUSPXC.js → chunk-LLAYWMYS.js} +1 -1
- package/dist/{chunk-TTQ7K4AJ.js → chunk-LLUHE2ZW.js} +1 -1
- package/dist/{chunk-XWFLIGDQ.js → chunk-M5K4AX4E.js} +1 -1
- package/dist/chunk-MCJ4JHLE.js +8 -0
- package/dist/{chunk-VWQNCYGQ.js → chunk-MM5AFQ24.js} +8 -8
- package/dist/{chunk-VYMM2BPX.js → chunk-MX2YRSMZ.js} +2 -2
- package/dist/{chunk-RFKCSRJX.js → chunk-MZG3FS5T.js} +5 -5
- package/dist/chunk-N5LVUI7R.js +15 -0
- package/dist/{chunk-BKKKIHHV.js → chunk-NKMSGZZ3.js} +6 -6
- package/dist/{chunk-RBMZSZOH.js → chunk-NPIZ2Y3P.js} +1 -1
- package/dist/{chunk-XMH2JOZ2.js → chunk-NU7LUJX5.js} +1 -1
- package/dist/{chunk-DANLBFBD.js → chunk-OCI3PZDU.js} +1 -1
- package/dist/{chunk-FLTPVFKA.js → chunk-OGPCFMNA.js} +1 -1
- package/dist/{chunk-JM2IQC4J.js → chunk-PPSA3QLE.js} +1 -1
- package/dist/{chunk-JQBVSPF5.js → chunk-QAS22BIS.js} +1 -1
- package/dist/{chunk-RQDVAUXD.js → chunk-QJGZOD6X.js} +3 -3
- package/dist/{chunk-J4KYZGHQ.js → chunk-QLVH66TE.js} +19 -19
- package/dist/{chunk-UPTKROT7.js → chunk-QQXQQPCD.js} +8 -8
- package/dist/{chunk-5FDS6KVH.js → chunk-QR46K5SB.js} +1 -1
- package/dist/{chunk-34SPT4I6.js → chunk-RJKMFIM3.js} +6 -6
- package/dist/{chunk-UDHJTQBA.js → chunk-ROM25ZMZ.js} +12 -12
- package/dist/{chunk-CAXOKGMB.js → chunk-SCU2CWNJ.js} +11 -11
- package/dist/chunk-SE3S362N.js +7 -0
- package/dist/chunk-SOZCWT6I.js +6 -0
- package/dist/{chunk-UGOJLNYR.js → chunk-SV5RRBVA.js} +1 -1
- package/dist/{chunk-KSOMKQ5U.js → chunk-SYIJRZIS.js} +2 -2
- package/dist/chunk-TWFD7A3K.js +1 -0
- package/dist/{chunk-6U25ELYF.js → chunk-TXZR5G55.js} +1 -1
- package/dist/{chunk-FVZXRGVM.js → chunk-U5DSVCWV.js} +7 -7
- package/dist/{chunk-3PWI5IH7.js → chunk-UK6XNW3I.js} +10 -10
- package/dist/{chunk-62275PI2.js → chunk-UOUVHHTC.js} +1 -1
- package/dist/{chunk-5MO5JBBK.js → chunk-UZZVI7EN.js} +1 -1
- package/dist/{chunk-XK4SMAVR.js → chunk-VQJLH2BU.js} +1 -1
- package/dist/{chunk-A4KQKN32.js → chunk-VROBW74Y.js} +1 -1
- package/dist/{chunk-KDTL6VEC.js → chunk-VVQJHQW6.js} +8 -8
- package/dist/chunk-WSRM6ZQS.js +7 -0
- package/dist/{chunk-X32TVINY.js → chunk-X5ZY35KZ.js} +1 -1
- package/dist/{chunk-EZPSNUYR.js → chunk-X7APOT53.js} +7 -7
- package/dist/{chunk-EIY6YGEZ.js → chunk-XFD4BLP7.js} +1 -1
- package/dist/{chunk-EEVLRCMA.js → chunk-XVIDD6F3.js} +8 -8
- package/dist/{chunk-NIBE57KV.js → chunk-YJIFJIXV.js} +1 -1
- package/dist/{chunk-WCPAQHHA.js → chunk-YMNWUQGV.js} +4 -4
- package/dist/{chunk-MOMOZVOW.js → chunk-YUB3TJKO.js} +3 -3
- package/dist/chunk-Z2MNXUM6.js +3 -0
- package/dist/{chunk-KUEYOJBN.js → chunk-ZC3TSMFK.js} +2 -2
- package/dist/{chunk-YU6KOO6O.js → chunk-ZYW4KSEE.js} +4 -4
- package/dist/data/DataTable.js +1 -1
- package/dist/data/EntityList.js +1 -1
- package/dist/data/ListLoadError.js +1 -1
- package/dist/data/ResizableTable.js +1 -1
- package/dist/forms/AlignmentGrid.js +1 -1
- package/dist/forms/BorderInput.js +1 -1
- package/dist/forms/BrandAssetEditor.js +1 -1
- package/dist/forms/Button.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/DateRangePicker.js +1 -1
- package/dist/forms/DisplayChips.js +1 -1
- package/dist/forms/FilePicker.js +1 -1
- package/dist/forms/IconButton.js +1 -1
- package/dist/forms/IconPicker.js +1 -1
- package/dist/forms/Input.js +1 -1
- package/dist/forms/InputNumber.d.ts +6 -0
- 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/PictureTiles.js +1 -1
- package/dist/forms/PositionInput.js +1 -1
- package/dist/forms/RenameField.js +1 -1
- package/dist/forms/Segmented.js +1 -1
- package/dist/forms/SidesInput.d.ts +12 -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/SplitButton.js +1 -1
- package/dist/forms/TagInput.js +1 -1
- package/dist/forms/TextToolbar.js +1 -1
- package/dist/forms/UnitMenu.d.ts +16 -0
- package/dist/forms/UnitMenu.js +1 -0
- package/dist/forms/WidthsBar.js +1 -1
- package/dist/icons/efficient-glyphs.js +1 -1
- package/dist/icons/efficient-looks.js +1 -1
- package/dist/icons/efficient.js +1 -1
- package/dist/icons/looks/map.js +1 -1
- package/dist/icons/sets.js +1 -1
- package/dist/index.d.ts +29 -6
- package/dist/index.js +247 -248
- package/dist/map/index.js +3 -3
- package/dist/page-tabs/index.js +5 -5
- package/dist/shell/AppUpdateBanner.js +1 -1
- package/dist/shell/ColoredBadge.js +1 -1
- package/dist/shell/ConfirmDialog.js +1 -1
- package/dist/shell/ContextMenu.js +1 -1
- package/dist/shell/Dialog.js +1 -1
- package/dist/shell/Drawer.js +1 -1
- package/dist/shell/DropdownMenu.d.ts +13 -2
- package/dist/shell/DropdownMenu.js +1 -1
- package/dist/shell/EditableGrid.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/Markdown.js +1 -1
- package/dist/shell/PopupMenu.d.ts +1 -1
- package/dist/shell/PopupMenu.js +1 -1
- package/dist/shell/ResizeHandle.js +1 -1
- package/dist/shell/SearchableSelect.js +1 -1
- package/dist/shell/SettingReset.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/StatusBadge.js +1 -1
- package/dist/shell/Tabs.js +1 -1
- package/dist/shell/Tooltip.js +1 -1
- package/dist/shell/TopNav.js +1 -1
- package/dist/shell/TransferProgress.js +1 -1
- package/dist/shell/Tree.js +1 -1
- package/dist/shell/discardGuard.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/FormLayoutPage.js +1 -1
- package/dist/templates/GalleryTemplate.js +1 -1
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.js +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
- package/dist/Files-A5ULCW3Q.js +0 -121
- package/dist/Sidebar-F7HHC5GY.js +0 -44
- package/dist/chunk-2YRLRMZH.js +0 -23
- package/dist/chunk-4XSE5PV2.js +0 -1
- package/dist/chunk-7RRJPNYN.js +0 -4
- package/dist/chunk-BTFBXZS2.js +0 -1
- package/dist/chunk-BUGTNNZQ.js +0 -15
- package/dist/chunk-C57PNNAW.js +0 -13
- package/dist/chunk-EB2UE6ZR.js +0 -10
- package/dist/chunk-GUIJCTFJ.js +0 -8
- package/dist/chunk-I64TVNHS.js +0 -6
- package/dist/chunk-JI756ABJ.js +0 -28
- package/dist/chunk-N7YHXL2F.js +0 -3
- package/dist/chunk-PIWC3CAC.js +0 -4
- package/dist/chunk-PM4Y2FMQ.js +0 -9
- package/dist/chunk-PMJMYH5O.js +0 -5
- package/dist/chunk-PVXX77MY.js +0 -6
- package/dist/chunk-QQ2LDC6C.js +0 -6
- package/dist/chunk-TQWLJ5VM.js +0 -7
- package/dist/chunk-UJJXWLHE.js +0 -2
- package/dist/chunk-UWF45S5L.js +0 -99
- package/dist/chunk-YZR4T5FZ.js +0 -7
- /package/dist/{chunk-2762IAB7.js → chunk-7B5KFESH.js} +0 -0
- /package/dist/{chunk-T75VCE6K.js → chunk-GMHMWDXU.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{getNumberingConfigs as e}from"./chunk-
|
|
2
|
-
/* @__PURE__ */x("div",{className:"p-2 border-b border-gray-200",children:/* @__PURE__ */h("button",{onClick:()=>{
|
|
1
|
+
import{getNumberingConfigs as e}from"./chunk-23WJCEYD.js";import{SidebarLayout as t}from"./chunk-MZG3FS5T.js";import"./chunk-QWK6DRSN.js";import"./chunk-ZC3TSMFK.js";import{timeAgo as r}from"./chunk-GEYM4WN3.js";import"./chunk-Y3JW2GW5.js";import"./chunk-36BRD5J3.js";import"./chunk-LF27WIN2.js";import{AboutApp as n}from"./chunk-SYIJRZIS.js";import{useWindowManager as o,client_default as i}from"./chunk-2JXGTA73.js";import"./chunk-4LXCCZDM.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-Y4RERPFN.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-HE767CVB.js";import"./chunk-SCU2CWNJ.js";import"./chunk-6EHPEBGP.js";import"./chunk-BXU3LX44.js";import"./chunk-3DVNXNTF.js";import"./chunk-7B5KFESH.js";import"./chunk-VWGWZY7A.js";import"./chunk-7QSDPSXP.js";import"./chunk-EZWWQHD3.js";import"./chunk-SCGBCBXP.js";import"./chunk-F3ZOO23R.js";import"./chunk-2QY5BJLA.js";import"./chunk-UGTRSRIW.js";import{useShellPrefs as c}from"./chunk-KC3EX26K.js";import"./chunk-TWFD7A3K.js";import"./chunk-CDAJKLGL.js";import"./chunk-JMGDGNM7.js";import"./chunk-6LYBE7LM.js";import"./chunk-URHGHXDN.js";import"./chunk-5QFPTDQF.js";import"./chunk-EVYD6UFQ.js";import"./chunk-M5K4AX4E.js";import{Icon as s}from"./chunk-UIWGVOFH.js";import"./chunk-J75ZT2JQ.js";import"./chunk-R2VKEMZH.js";import"./chunk-G67CJAQ2.js";import"./chunk-SOZCWT6I.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-STKJA4PV.js";import{toast_default as l}from"./chunk-TRWHVG3A.js";import"./chunk-UQYNPYF4.js";import"./chunk-MRJKZWWV.js";import"./chunk-TWVUQUUD.js";import"./chunk-5FYDNH4Y.js";import"./chunk-LNXBTK7Q.js";import"./chunk-43MCNASD.js";import"./chunk-C3QOHMR6.js";import{useRef as a,useEffect as p,useState as d,useCallback as m}from"react";import{useQuery as u}from"@tanstack/react-query";import{jsxs as h,Fragment as g,jsx as x}from"react/jsx-runtime";var y=[{key:"yellow",bg:"bg-yellow-100",border:"border-yellow-300",text:"text-yellow-900",dot:"bg-yellow-400"},{key:"blue",bg:"bg-blue-100",border:"border-blue-300",text:"text-blue-900",dot:"bg-blue-400"},{key:"green",bg:"bg-green-100",border:"border-green-300",text:"text-green-900",dot:"bg-green-400"},{key:"pink",bg:"bg-pink-100",border:"border-pink-300",text:"text-pink-900",dot:"bg-pink-400"},{key:"purple",bg:"bg-purple-100",border:"border-purple-300",text:"text-purple-900",dot:"bg-purple-400"},{key:"orange",bg:"bg-orange-100",border:"border-orange-300",text:"text-orange-900",dot:"bg-orange-400"},{key:"white",bg:"bg-white",border:"border-gray-300",text:"text-gray-900",dot:"bg-gray-300"}];var k={sales_order:{entityType:"order",endpoint:"/orders/sales-orders/"},purchase_order:{entityType:"purchase_order",endpoint:"/purchase-orders/"},invoice:{entityType:"invoice",endpoint:"/invoicing/invoices/"},vendor_invoice:{entityType:"vendor_invoice",endpoint:"/invoicing/vendor-invoices/"},shipment:{entityType:"shipment",endpoint:"/shipments/delivery-notes/"},receipt:{entityType:"payment",endpoint:"/invoicing/payments/"},vendor_payment:{entityType:"vendor_payment",endpoint:"/invoicing/vendor-payments/"},vendor_price_sheet:{entityType:"vendor_price_sheet",endpoint:"/pricing/manufacturer-price-sheets/"},client_price_sheet:{entityType:"price_sheet",endpoint:"/pricing/price-sheets/"},qc_report:{entityType:"qc_report",endpoint:"/qc-reports/"},warranty_claim:{entityType:"warranty_claim",endpoint:"/warranty-claims/claims/"},vendor_shipment:{entityType:"vendor_shipment",endpoint:"/shipments/goods-receipts/"}},b=/\[([ xX]?)\]/g;function f(){const{openEntity:f}=o(),{prefs:j,save:N}=c(),{data:v}=u({queryKey:["numbering-configs"],queryFn:()=>e(),retry:!1}),T=a({});p(()=>{if(!v)return;const e={};for(const t of v){const r=k[t.entity_type];if(!r)continue;const n=(t.prefix||"").replace("#","").toUpperCase();if(n&&(e[n]={...r,prefix:t.prefix}),t.alt_prefix){const n=t.alt_prefix.replace("#","").toUpperCase();n&&(e[n]={...r,prefix:t.alt_prefix})}}T.current=e},[v]);const w=j.notepad_notes||[],[C,W]=d(null),[_,S]=d(""),[D,X]=d(""),[G,$]=d("yellow"),[E,J]=d(!1),[M,F]=d(!1),U=a(null),K=a();p(()=>{if(!C&&w.length>0){const e=w[0];W(e.id),S(e.title),X(e.content),$(e.color)}},[w.length]);const B=m(e=>{N({notepad_notes:e})},[N]),H=m(()=>{if(!C||!E)return;const e=w.map(e=>e.id===C?{...e,title:_,content:D,color:G,updated_at:/* @__PURE__ */(new Date).toISOString()}:e);B(e),J(!1)},[C,E,_,D,G,w,B]);p(()=>{if(E)return K.current&&clearTimeout(K.current),K.current=setTimeout(H,800),()=>{K.current&&clearTimeout(K.current)}},[E,H]),p(()=>()=>{E&&H()},[]);const R=e=>{E&&H(),W(e.id),S(e.title),X(e.content),$(e.color),J(!1),F(!1)},Z=e=>{const t=D.slice(0,e),r=D.slice(e).match(/^\[([ xX]?)\]/);if(!r)return;const n="x"===r[1]||"X"===r[1]?"[ ]":"[x]",o=D.slice(e+r[0].length);X(t+n+o),J(!0)},A=async(e,t)=>{const r=T.current[e];if(!r)return;const n=`${e}#${t}`;try{const{data:e}=await i.get(r.endpoint,{params:{search:n,page_size:1}}),t=(e?.results??e??[])[0];t?f(r.entityType,t.id,t,n):l.error(`${n} not found`)}catch{l.error(`Failed to look up ${n}`)}},Q="Start writing...\n\nTips:\n [] Type [] for a checkbox, click to toggle\n SO#35001 Type XX#NNNNN to link entities (SO, PO, CI, VI, PL, etc.)",Y=/* @__PURE__ */h(g,{children:[
|
|
2
|
+
/* @__PURE__ */x("div",{className:"p-2 border-b border-gray-200",children:/* @__PURE__ */h("button",{onClick:()=>{E&&H();const e={id:`note-${Date.now()}-${Math.random().toString(36).slice(2,6)}`,title:"",content:"",color:"yellow",updated_at:/* @__PURE__ */(new Date).toISOString()},t=[e,...w];B(t),W(e.id),S(""),X(""),$("yellow"),J(!1),F(!0),setTimeout(()=>U.current?.focus(),50)},className:"w-full flex items-center justify-center gap-2 rounded-lg bg-accent-fill text-on-accent px-3 min-h-8 py-1 text-sm font-medium hover:bg-accent-fill-hover transition-colors",children:[
|
|
3
3
|
/* @__PURE__ */x(s,{name:"add",className:"h-4 w-4",strokeWidth:2}),"New Note"]})}),
|
|
4
|
-
/* @__PURE__ */x("div",{className:"flex-1 overflow-y-auto",children:0===
|
|
5
|
-
return h("button",{onClick:()=>
|
|
4
|
+
/* @__PURE__ */x("div",{className:"flex-1 overflow-y-auto",children:0===w.length?/* @__PURE__ */x("p",{className:"text-sm text-gray-400 text-center py-8 px-4",children:"No notes yet. Create one to get started."}):w.map(e=>{const t=(n=e.color,y.find(e=>e.key===n)||y[0]);var n;/* @__PURE__ */
|
|
5
|
+
return h("button",{onClick:()=>R(e),className:"w-full text-left px-3 py-3 border-b border-line-subtle transition-colors "+(C===e.id?"bg-accent-tint":"hover:bg-row-hover"),children:[
|
|
6
6
|
/* @__PURE__ */h("div",{className:"flex items-center gap-2",children:[
|
|
7
7
|
/* @__PURE__ */x("div",{className:`w-3 h-3 rounded-full shrink-0 ${t.dot}`}),
|
|
8
8
|
/* @__PURE__ */x("span",{className:"text-sm font-medium text-gray-900 truncate flex-1",children:e.title||"Untitled"})]}),
|
|
@@ -10,12 +10,12 @@ return h("button",{onClick:()=>O(e),className:"w-full text-left px-3 py-3 border
|
|
|
10
10
|
/* @__PURE__ */x("p",{className:"text-2xs text-gray-300 mt-0.5 ml-5",children:r(e.updated_at)})]},e.id)})})]});/* @__PURE__ */
|
|
11
11
|
return h("div",{className:"h-full",children:[
|
|
12
12
|
/* @__PURE__ */x(n,{app:"notepad"}),
|
|
13
|
-
/* @__PURE__ */x(t,{sidebar:
|
|
13
|
+
/* @__PURE__ */x(t,{sidebar:Y,storageKey:"notepad.sidebarWidth",defaultWidth:224,minWidth:180,maxWidth:360,children:C?/* @__PURE__ */h("div",{className:"flex-1 flex flex-col min-w-0",children:[
|
|
14
14
|
/* @__PURE__ */h("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-gray-200",children:[
|
|
15
|
-
/* @__PURE__ */x("input",{value:
|
|
16
|
-
/* @__PURE__ */x("div",{className:"flex gap-1",children:y.map(e=>/* @__PURE__ */x("button",{onClick:()=>{
|
|
17
|
-
/* @__PURE__ */x("button",{onClick:()=>(e=>{const t=
|
|
18
|
-
return x("div",{className:p?"line-through text-gray-400":"",children:n},r)})})(
|
|
15
|
+
/* @__PURE__ */x("input",{value:_,onChange:e=>{S(e.target.value),J(!0)},placeholder:"Note title...",className:"flex-1 text-lg font-semibold text-gray-900 outline-none bg-transparent placeholder:text-gray-300"}),
|
|
16
|
+
/* @__PURE__ */x("div",{className:"flex gap-1",children:y.map(e=>/* @__PURE__ */x("button",{onClick:()=>{$(e.key),J(!0)},className:`w-5 h-5 rounded-full border-2 transition-all ${e.dot} ${G===e.key?"border-gray-600 scale-110":"border-transparent hover:border-gray-400"}`,title:e.key},e.key))}),
|
|
17
|
+
/* @__PURE__ */x("button",{onClick:()=>(e=>{const t=w.filter(t=>t.id!==e);if(B(t),C===e){const e=t[0];e?R(e):(W(null),S(""),X(""))}})(C),title:"Delete note",className:"p-1 rounded text-gray-300 hover:text-red-500 transition-colors",children:/* @__PURE__ */x(s,{name:"trash",className:"h-4 w-4",strokeWidth:1.5})})]}),M?/* @__PURE__ */x("textarea",{ref:U,value:D,onChange:e=>{X(e.target.value),J(!0)},onBlur:()=>{F(!1),E&&H()},placeholder:Q,className:"flex-1 p-4 text-sm text-gray-700 outline-none resize-none bg-transparent leading-relaxed placeholder:text-gray-300 font-mono"}):/* @__PURE__ */x("div",{onClick:()=>{F(!0),setTimeout(()=>U.current?.focus(),50)},className:"flex-1 p-4 text-sm text-gray-700 overflow-y-auto leading-relaxed cursor-text",children:D?(e=>{if(!e)return[];const t=e.split("\n");return t.map((e,r)=>{const n=[];let o=0;const i=[],c=/([A-Z]{2,4})#(\d{4,6})/g;let l;for(;null!==(l=c.exec(e));){const e=l[1],t=l[2];if(T.current[e]){const n=l.index,o=l[0];i.push({idx:n,len:o.length,render:()=>/* @__PURE__ */x("button",{onClick:()=>A(e,t),className:"text-blue-600 hover:text-blue-800 hover:underline font-medium cursor-pointer",children:o},`ref-${r}-${n}`)})}}b.lastIndex=0;let a=0;for(let e=0;e<r;e++)a+=t[e].length+1;for(;null!==(l=b.exec(e));){const e="x"===l[1]||"X"===l[1],t=l.index,n=a+t;i.push({idx:t,len:l[0].length,render:()=>/* @__PURE__ */x("button",{onClick:()=>Z(n),className:`inline-flex items-center justify-center w-4 h-4 rounded border ${e?"bg-blue-500 border-blue-500 text-white":"border-gray-400 bg-white hover:border-blue-400"} cursor-pointer align-text-bottom mr-0.5`,children:e&&/* @__PURE__ */x(s,{name:"check",className:"w-3 h-3",strokeWidth:3})},`cb-${r}-${t}`)})}i.sort((e,t)=>e.idx-t.idx);for(const t of i)t.idx>o&&n.push(/* @__PURE__ */x("span",{children:e.slice(o,t.idx)},`t-${r}-${o}`)),n.push(t.render()),o=t.idx+t.len;o<e.length&&n.push(/* @__PURE__ */x("span",{children:e.slice(o)},`t-${r}-${o}`)),0===n.length&&n.push(/* @__PURE__ */x("span",{children:""},`empty-${r}`));const p=/^\[x\]/i.test(e.trimStart());/* @__PURE__ */
|
|
18
|
+
return x("div",{className:p?"line-through text-gray-400":"",children:n},r)})})(D):/* @__PURE__ */x("p",{className:"text-gray-300 whitespace-pre-line",children:Q})}),
|
|
19
19
|
/* @__PURE__ */h("div",{className:"px-4 min-h-8 py-1 border-t border-line-subtle flex items-center gap-4 text-2xs text-ink-faintest",children:[
|
|
20
20
|
/* @__PURE__ */x("span",{children:"[] checkbox"}),
|
|
21
21
|
/* @__PURE__ */x("span",{children:"SO#35001 entity link"}),
|
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
import{loadAppearance as e,WidgetSettingsModal as t}from"./chunk-
|
|
1
|
+
import{loadAppearance as e,WidgetSettingsModal as t}from"./chunk-YJIFJIXV.js";import{subscribePomo as o,getPomoSnapshot as a,setPomoDurations as n,setPomoAlarm as r,setPomoAlarmConfig as s,setPomoBehaviour as i,setPomoFocusSound as l,useTodoTasks as c,migratePomodoroTasksOnce as u,pomoSwitchMode as d,pomoPause as m,pomoStart as h,ALARM_OPTIONS as p,playAlarm as g,FOCUS_SOUND_OPTIONS as k,previewFocusSound as f}from"./chunk-TS36J7RW.js";import{PLACEHOLDER_INK as b}from"./chunk-AYZY3YNC.js";import{pad2 as x}from"./chunk-LF27WIN2.js";import{useWidgetSettings as v}from"./chunk-2JXGTA73.js";import"./chunk-4LXCCZDM.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-Y4RERPFN.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-HE767CVB.js";import"./chunk-SCU2CWNJ.js";import"./chunk-6EHPEBGP.js";import"./chunk-BXU3LX44.js";import"./chunk-3DVNXNTF.js";import"./chunk-7B5KFESH.js";import"./chunk-VWGWZY7A.js";import"./chunk-7QSDPSXP.js";import"./chunk-EZWWQHD3.js";import"./chunk-SCGBCBXP.js";import"./chunk-F3ZOO23R.js";import"./chunk-2QY5BJLA.js";import"./chunk-UGTRSRIW.js";import{useShellPrefs as y}from"./chunk-KC3EX26K.js";import"./chunk-CDAJKLGL.js";import"./chunk-JMGDGNM7.js";import"./chunk-6LYBE7LM.js";import"./chunk-URHGHXDN.js";import"./chunk-5QFPTDQF.js";import"./chunk-EVYD6UFQ.js";import"./chunk-M5K4AX4E.js";import{Icon as N}from"./chunk-UIWGVOFH.js";import"./chunk-J75ZT2JQ.js";import"./chunk-R2VKEMZH.js";import"./chunk-G67CJAQ2.js";import"./chunk-SOZCWT6I.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-STKJA4PV.js";import"./chunk-TRWHVG3A.js";import"./chunk-UQYNPYF4.js";import"./chunk-MRJKZWWV.js";import"./chunk-TWVUQUUD.js";import"./chunk-5FYDNH4Y.js";import"./chunk-LNXBTK7Q.js";import"./chunk-43MCNASD.js";import"./chunk-C3QOHMR6.js";import{useSyncExternalStore as C,useEffect as S,useMemo as w,useState as j,useRef as B,useCallback as M}from"react";import{jsxs as T,Fragment as P,jsx as A}from"react/jsx-runtime";var I="pomodoro_appearance",D="pomodoro_active_task_id",V={focus:"Pomodoro",short:"Short Break",long:"Long Break"},L={focus:"#0f172a",short:"#508a52",long:"#5b7898"};var W=25,$=5,E=15,R=!1,F=!1,J=4,G=!0,H=!0,U="bell",X=100,Y=1,K="none",Q=50,_=(e,t,o,a)=>"number"==typeof e&&isFinite(e)?Math.max(t,Math.min(o,Math.round(e))):a;function O(){const t=C(o,a,a),{prefs:g,save:f}=y(),b=function(e){const t=e&&"object"==typeof e?e:{};return{focusMinutes:_(t.focusMinutes,1,120,W),shortBreakMinutes:_(t.shortBreakMinutes,1,120,$),longBreakMinutes:_(t.longBreakMinutes,1,120,E),autoStartBreaks:"boolean"==typeof t.autoStartBreaks?t.autoStartBreaks:R,autoStartPomodoros:"boolean"==typeof t.autoStartPomodoros?t.autoStartPomodoros:F,longBreakInterval:_(t.longBreakInterval,1,20,J),autoCheckTasks:"boolean"==typeof t.autoCheckTasks?t.autoCheckTasks:G,checkToBottom:"boolean"==typeof t.checkToBottom?t.checkToBottom:H,alarmSound:p.some(e=>e.id===t.alarmSound)?t.alarmSound:U,alarmVolume:_(t.alarmVolume,0,100,X),alarmRepeat:_(t.alarmRepeat,1,5,Y),focusSound:k.some(e=>e.id===t.focusSound)?t.focusSound:K,focusVolume:_(t.focusVolume,0,100,Q)}}(g.pomodoro_settings);S(()=>{n({focus:60*b.focusMinutes,short:60*b.shortBreakMinutes,long:60*b.longBreakMinutes})},[b.focusMinutes,b.shortBreakMinutes,b.longBreakMinutes]),S(()=>{r(b.alarmSound),s(b.alarmVolume,b.alarmRepeat)},[b.alarmSound,b.alarmVolume,b.alarmRepeat]),S(()=>{i({autoStartBreaks:b.autoStartBreaks,autoStartPomodoros:b.autoStartPomodoros,longBreakInterval:b.longBreakInterval})},[b.autoStartBreaks,b.autoStartPomodoros,b.longBreakInterval]),S(()=>{l(b.focusSound,b.focusVolume)},[b.focusSound,b.focusVolume]),S(()=>{if("undefined"!=typeof Notification&&"default"===Notification.permission)try{Notification.requestPermission()}catch{}},[]);const O=c(),z=O.tasks,q=w(()=>/* @__PURE__ */(new Date).toISOString().slice(0,10),[]),ee=function(e,t){return w(()=>t?(e=>{const t=[],o=[];for(const a of e)(a.done?o:t).push(a);return[...t,...o]})(e):e,[e,t])}(w(()=>z.filter(e=>!!e.dueDate&&(e.dueDate===q||e.dueDate<q&&!e.done)),[z,q]),b.checkToBottom),[te,oe]=j(()=>localStorage.getItem(D)),[ae,ne]=j(!1),[re,se]=j(null),ie=B(!1);S(()=>{ie.current||(ie.current=!0,u(z,O.setAllTasks))},[]),S(()=>{try{te?localStorage.setItem(D,te):localStorage.removeItem(D)}catch{}},[te]),S(()=>{if(!re)return;const e=()=>se(null),t=setTimeout(()=>document.addEventListener("click",e),0);return()=>{clearTimeout(t),document.removeEventListener("click",e)}},[re]);const le=B(t.streak);S(()=>{if(t.streak>le.current&&te){const e=z.find(e=>e.id===te);if(e){const t=(e.completed??0)+1,o=e.estimated??0,a=b.autoCheckTasks&&o>0&&t>=o;O.updateTask(te,{completed:t,done:e.done||a})}}le.current=t.streak},[t.streak,te,b.autoCheckTasks,z,O]);const ue=ee.reduce((e,t)=>e+(t.completed??0),0),de=ee.reduce((e,t)=>e+Math.max(t.estimated??0,t.completed??0),0),me=ee.reduce((e,t)=>t.done?e:e+Math.max(0,(t.estimated??0)-(t.completed??0)),0),he=t.running&&"focus"===t.mode?t.remaining:0,pe=me*b.focusMinutes*60+he,ge=new Date(Date.now()+1e3*pe).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1}),ke=(pe/3600).toFixed(1),fe=te?z.find(e=>e.id===te)??null:null,be=x(Math.floor(t.remaining/60)),xe=x(t.remaining%60),[ve,ye]=j(()=>e(I)),[Ne,Ce]=j(!1),[Se,we]=j(ve),[je,Be]=j(b);v(M(()=>{we({...ve}),Be({...b}),Ce(!0)},[ve,b]));const Me="focus"!==t.mode,Te=L[t.mode],Pe=Me?(Ae=Te,Ie=ve.activeOpacity/100,`rgba(${parseInt(Ae.slice(1,3),16)}, ${parseInt(Ae.slice(3,5),16)}, ${parseInt(Ae.slice(5,7),16)}, ${Ie})`):`rgb(var(--taskbar-bg-rgb, 243 244 246) / ${ve.activeOpacity/100})`;var Ae,Ie;const De={primary:Me?"text-white":"text-gray-900",secondary:Me?"text-white/85":"text-gray-700",muted:Me?"text-white/65":"text-gray-500",tabActive:Me?"bg-white/15 text-white":"bg-gray-200 text-gray-900",tabInactive:Me?"text-white/75 hover:bg-white/10":"text-gray-500 hover:bg-gray-200",divider:Me?"border-white/30":"border-gray-200",softDivider:Me?"border-white/20":"border-gray-200",iconBtn:Me?"bg-black/15 hover:bg-black/25 text-white/85":"bg-gray-200 hover:bg-gray-300 text-gray-600",addTaskBtn:Me?"border-white/45 text-white/90 hover:bg-white/[0.06]":"border-gray-300 text-gray-500 hover:bg-gray-200/50"},Ve=Me?Te:"#0f172a";/* @__PURE__ */
|
|
2
2
|
return T(P,{children:[
|
|
3
3
|
/* @__PURE__ */T("div",{className:`flex flex-col h-full select-none transition-colors duration-300 ${De.primary}`,style:{backgroundColor:Pe,backdropFilter:ve.activeBlur>0?`blur(${ve.activeBlur}px)`:void 0},children:[
|
|
4
|
-
/* @__PURE__ */
|
|
4
|
+
/* @__PURE__ */A("div",{className:"px-3 pt-3 flex justify-center gap-2",children:["focus","short","long"].map(e=>/* @__PURE__ */A("button",{onClick:()=>d(e),className:`px-3 py-1 text-sm font-bold rounded transition-colors ${t.mode===e?De.tabActive:De.tabInactive}`,children:V[e]},e))}),
|
|
5
5
|
/* @__PURE__ */T("div",{className:"text-center font-bold tabular-nums leading-none tracking-tight mt-3",style:{fontSize:"4.5rem"},children:[be,":",xe]}),
|
|
6
|
-
/* @__PURE__ */
|
|
7
|
-
/* @__PURE__ */
|
|
6
|
+
/* @__PURE__ */A("div",{className:"flex justify-center mt-3 mb-2",children:/* @__PURE__ */A("button",{onClick:()=>t.running?m():h(),className:"bg-surface px-12 py-3 rounded-md font-bold text-base shadow-[0_4px_0_rgba(0,0,0,0.12)] hover:shadow-[0_3px_0_rgba(0,0,0,0.12)] active:translate-y-1 active:shadow-none transition-all",style:{color:Ve,letterSpacing:"0.08em"},children:t.running?"PAUSE":"START"})}),
|
|
7
|
+
/* @__PURE__ */A("div",{className:"px-3 py-3 text-center",children:fe?/* @__PURE__ */T(P,{children:[
|
|
8
8
|
/* @__PURE__ */T("div",{className:`text-xs leading-tight ${De.muted}`,children:["#",(fe.completed??0)+1]}),
|
|
9
|
-
/* @__PURE__ */
|
|
9
|
+
/* @__PURE__ */A("div",{className:`text-base font-medium leading-tight truncate mt-0.5 ${De.primary}`,children:fe.name})]}):/* @__PURE__ */A("div",{className:`text-xs italic ${De.muted}`,children:"No task selected"})}),
|
|
10
10
|
/* @__PURE__ */T("div",{className:"px-3 mt-1 flex items-center justify-between",children:[
|
|
11
|
-
/* @__PURE__ */
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
-
/* @__PURE__ */
|
|
11
|
+
/* @__PURE__ */A("h3",{className:`text-base font-bold tracking-tight ${De.primary}`,children:"Tasks"}),
|
|
12
|
+
/* @__PURE__ */A("button",{className:`rounded p-1 transition-colors ${De.iconBtn}`,"aria-label":"Tasks menu",tabIndex:-1,children:/* @__PURE__ */A(N,{name:"more-vertical",look:"solid",className:"h-4 w-4"})})]}),
|
|
13
|
+
/* @__PURE__ */A("div",{className:`border-t mx-3 mt-2 ${De.divider}`}),
|
|
14
14
|
/* @__PURE__ */T("div",{className:"flex-1 px-3 py-3 space-y-2 overflow-y-auto",children:[ee.map(e=>{const t=e.id===te;/* @__PURE__ */
|
|
15
15
|
return T("div",{onClick:()=>oe(e.id),className:"bg-surface text-ink-strong rounded-md flex items-center pr-2 py-3 shadow-sm cursor-pointer transition-shadow hover:shadow-(--elevation-panel) "+(t?"border-l-4 border-gray-700 pl-2":"pl-3 border-l-4 border-transparent"),children:[
|
|
16
|
-
/* @__PURE__ */
|
|
17
|
-
/* @__PURE__ */
|
|
16
|
+
/* @__PURE__ */A("button",{onClick:t=>{var o;t.stopPropagation(),o=e.id,O.toggleDone(o)},className:"shrink-0",children:e.done?/* @__PURE__ */A("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",style:{color:Ve},children:/* @__PURE__ */A("path",{d:"M10 0a10 10 0 100 20 10 10 0 000-20zm-1 14.5l-4.5-4.5 1.4-1.4 3.1 3.1 6.1-6.1 1.4 1.4z"})}):/* @__PURE__ */A("svg",{className:"h-5 w-5 text-gray-300",fill:"none",stroke:"currentColor",strokeWidth:2,viewBox:"0 0 24 24",children:/* @__PURE__ */A("circle",{cx:"12",cy:"12",r:"10"})})}),
|
|
17
|
+
/* @__PURE__ */A("span",{className:"ml-3 flex-1 font-semibold truncate "+(e.done?"line-through text-gray-400":"text-gray-800"),children:e.name}),
|
|
18
18
|
/* @__PURE__ */T("span",{className:"text-sm tabular-nums mr-2 shrink-0",children:[
|
|
19
|
-
/* @__PURE__ */
|
|
20
|
-
/* @__PURE__ */
|
|
21
|
-
/* @__PURE__ */
|
|
19
|
+
/* @__PURE__ */A("span",{className:"font-bold text-gray-500",children:e.completed??0}),
|
|
20
|
+
/* @__PURE__ */A("span",{className:"text-gray-400",children:" / "}),
|
|
21
|
+
/* @__PURE__ */A("span",{className:"text-gray-400",children:e.estimated??"–"})]}),
|
|
22
22
|
/* @__PURE__ */T("div",{className:"relative",children:[
|
|
23
|
-
/* @__PURE__ */
|
|
24
|
-
/* @__PURE__ */
|
|
23
|
+
/* @__PURE__ */A("button",{onClick:t=>{t.stopPropagation(),se(re===e.id?null:e.id)},className:"rounded p-1 bg-gray-100 hover:bg-gray-200",children:/* @__PURE__ */A(N,{name:"more-vertical",look:"solid",className:"h-4 w-4 text-ink-faint"})}),re===e.id&&/* @__PURE__ */A("div",{className:"absolute right-0 top-full mt-1 bg-white text-gray-800 rounded shadow-lg border border-gray-200 z-10 min-w-[110px] overflow-hidden",onClick:e=>e.stopPropagation(),children:/* @__PURE__ */A("button",{onClick:t=>{var o;t.stopPropagation(),o=e.id,O.removeTask(o),te===o&&oe(null),se(null)},className:"block w-full px-3 h-8 text-sm text-left hover:bg-red-50 text-red-600",children:"Delete"})})]})]},e.id)}),ae?/* @__PURE__ */A(ce,{onSubmit:(e,t)=>{const o=e.trim();if(!o)return;const a=O.addTask({name:o,estimated:t,completed:0,dueDate:q});te||oe(a),ne(!1)},onCancel:()=>ne(!1),accentColor:Ve}):/* @__PURE__ */T("button",{onClick:()=>ne(!0),className:`w-full border-2 border-dashed rounded-md py-3 font-semibold flex items-center justify-center gap-2 transition-colors ${De.addTaskBtn}`,children:[
|
|
24
|
+
/* @__PURE__ */A(N,{name:"add-circle",className:"h-5 w-5",strokeWidth:2}),"Add Task"]})]}),
|
|
25
25
|
/* @__PURE__ */T("div",{className:`border-t px-3 py-3 flex items-center justify-center gap-5 text-sm ${De.softDivider}`,children:[
|
|
26
26
|
/* @__PURE__ */T("span",{className:De.secondary,children:["Pomos: ",
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
-
/* @__PURE__ */
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
-
/* @__PURE__ */
|
|
27
|
+
/* @__PURE__ */A("span",{className:`font-bold ${De.primary}`,children:ue}),
|
|
28
|
+
/* @__PURE__ */A("span",{className:De.muted,children:" / "}),
|
|
29
|
+
/* @__PURE__ */A("span",{className:`font-bold ${De.primary}`,children:de})]}),pe>0&&/* @__PURE__ */T("span",{className:De.secondary,children:["Finish At: ",
|
|
30
|
+
/* @__PURE__ */A("span",{className:`font-bold ${De.primary}`,children:ge}),
|
|
31
31
|
/* @__PURE__ */T("span",{className:De.muted,children:[" (",ke,"h)"]})]})]})]}),
|
|
32
|
-
/* @__PURE__ */
|
|
32
|
+
/* @__PURE__ */A(Z,{open:Ne,onClose:()=>Ce(!1),onSave:()=>{ye(Se),localStorage.setItem(I,JSON.stringify(Se)),f({pomodoro_settings:je}),Ce(!1)},configAppearance:Se,setConfigAppearance:we,configPrefs:je,setConfigPrefs:Be})]})}function Z({open:e,onClose:o,onSave:a,configAppearance:n,setConfigAppearance:r,configPrefs:s,setConfigPrefs:i}){const l=(e,t)=>i(o=>({...o,[e]:t}));/* @__PURE__ */
|
|
33
33
|
return T(t,{open:e,onClose:o,title:"Pomodoro Settings",appearance:n,onAppearanceChange:r,onSave:a,children:[
|
|
34
|
-
/* @__PURE__ */T(z,{icon:/* @__PURE__ */
|
|
34
|
+
/* @__PURE__ */T(z,{icon:/* @__PURE__ */A(se,{}),label:"TIMER",children:[
|
|
35
35
|
/* @__PURE__ */T("div",{children:[
|
|
36
|
-
/* @__PURE__ */
|
|
36
|
+
/* @__PURE__ */A("p",{className:"text-sm font-bold text-gray-800 mb-2",children:"Time (minutes)"}),
|
|
37
37
|
/* @__PURE__ */T("div",{className:"grid grid-cols-3 gap-3",children:[
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
/* @__PURE__ */
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
/* @__PURE__ */
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
-
/* @__PURE__ */T(z,{icon:/* @__PURE__ */
|
|
45
|
-
/* @__PURE__ */
|
|
46
|
-
/* @__PURE__ */
|
|
47
|
-
/* @__PURE__ */T(z,{icon:/* @__PURE__ */
|
|
48
|
-
/* @__PURE__ */
|
|
49
|
-
/* @__PURE__ */
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
-
/* @__PURE__ */
|
|
53
|
-
/* @__PURE__ */
|
|
54
|
-
/* @__PURE__ */
|
|
38
|
+
/* @__PURE__ */A(te,{label:"Pomodoro",value:s.focusMinutes,onChange:e=>l("focusMinutes",e),max:120}),
|
|
39
|
+
/* @__PURE__ */A(te,{label:"Short Break",value:s.shortBreakMinutes,onChange:e=>l("shortBreakMinutes",e),max:120}),
|
|
40
|
+
/* @__PURE__ */A(te,{label:"Long Break",value:s.longBreakMinutes,onChange:e=>l("longBreakMinutes",e),max:120})]})]}),
|
|
41
|
+
/* @__PURE__ */A(q,{label:"Auto Start Breaks",children:/* @__PURE__ */A(ne,{checked:s.autoStartBreaks,onChange:e=>l("autoStartBreaks",e)})}),
|
|
42
|
+
/* @__PURE__ */A(q,{label:"Auto Start Pomodoros",children:/* @__PURE__ */A(ne,{checked:s.autoStartPomodoros,onChange:e=>l("autoStartPomodoros",e)})}),
|
|
43
|
+
/* @__PURE__ */A(q,{label:"Long Break interval",children:/* @__PURE__ */A(oe,{value:s.longBreakInterval,onChange:e=>l("longBreakInterval",e),min:1,max:20,className:"w-14 text-center"})})]}),
|
|
44
|
+
/* @__PURE__ */T(z,{icon:/* @__PURE__ */A(ie,{}),label:"TASK",children:[
|
|
45
|
+
/* @__PURE__ */A(q,{label:"Auto Check Tasks",info:'If you enable "Auto Check Tasks", the active task will be automatically checked when the actual pomodoro count reaches the estimated count.',children:/* @__PURE__ */A(ne,{checked:s.autoCheckTasks,onChange:e=>l("autoCheckTasks",e)})}),
|
|
46
|
+
/* @__PURE__ */A(q,{label:"Check to Bottom",info:'If you enable "Check to Bottom", the checked task will be automatically moved to the bottom of the task list.',children:/* @__PURE__ */A(ne,{checked:s.checkToBottom,onChange:e=>l("checkToBottom",e)})})]}),
|
|
47
|
+
/* @__PURE__ */T(z,{icon:/* @__PURE__ */A(le,{}),label:"SOUND",children:[
|
|
48
|
+
/* @__PURE__ */A(q,{label:"Alarm Sound",children:/* @__PURE__ */T("div",{className:"flex items-center gap-2",children:[
|
|
49
|
+
/* @__PURE__ */A(ae,{value:s.alarmSound,onChange:e=>l("alarmSound",e),options:p.map(e=>({id:e.id,label:e.label}))}),"off"!==s.alarmSound&&/* @__PURE__ */A("button",{type:"button",onClick:()=>g(s.alarmSound,{volume:s.alarmVolume,repeat:1}),className:"px-2 py-1 text-2xs rounded border border-line-strong text-gray-600 hover:bg-gray-100",children:"Play"})]})}),
|
|
50
|
+
/* @__PURE__ */A(ee,{value:s.alarmVolume,onChange:e=>l("alarmVolume",e)}),
|
|
51
|
+
/* @__PURE__ */A(q,{label:"repeat",children:/* @__PURE__ */A(oe,{value:s.alarmRepeat,onChange:e=>l("alarmRepeat",e),min:1,max:5,className:"w-14 text-center"})}),
|
|
52
|
+
/* @__PURE__ */A(q,{label:"Focus Sound",children:/* @__PURE__ */T("div",{className:"flex items-center gap-2",children:[
|
|
53
|
+
/* @__PURE__ */A(ae,{value:s.focusSound,onChange:e=>l("focusSound",e),options:k}),"none"!==s.focusSound&&/* @__PURE__ */A("button",{type:"button",onClick:()=>f(s.focusSound,s.focusVolume),className:"px-2 py-1 text-2xs rounded border border-line-strong text-gray-600 hover:bg-gray-100",children:"Play"})]})}),
|
|
54
|
+
/* @__PURE__ */A(ee,{value:s.focusVolume,onChange:e=>l("focusVolume",e)})]})]})}function z({icon:e,label:t,children:o}){/* @__PURE__ */
|
|
55
55
|
return T("div",{className:"border-t border-gray-200 pt-3 first:border-0 first:pt-0",children:[
|
|
56
56
|
/* @__PURE__ */T("div",{className:"flex items-center gap-2 mb-3 text-ink-faintest",children:[e,
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
-
/* @__PURE__ */
|
|
57
|
+
/* @__PURE__ */A("span",{className:"text-xs font-bold tracking-[0.15em]",children:t})]}),
|
|
58
|
+
/* @__PURE__ */A("div",{className:"space-y-3",children:o})]})}function q({label:e,info:t,children:o}){/* @__PURE__ */
|
|
59
59
|
return T("div",{className:"flex items-center justify-between gap-3",children:[
|
|
60
60
|
/* @__PURE__ */T("div",{className:"flex items-center gap-2 min-w-0",children:[
|
|
61
|
-
/* @__PURE__ */
|
|
62
|
-
/* @__PURE__ */
|
|
61
|
+
/* @__PURE__ */A("span",{className:"text-sm font-semibold text-gray-800",children:e}),t&&/* @__PURE__ */A(re,{title:t})]}),
|
|
62
|
+
/* @__PURE__ */A("div",{className:"shrink-0",children:o})]})}function ee({value:e,onChange:t}){/* @__PURE__ */
|
|
63
63
|
return T("div",{className:"flex items-center justify-end gap-3",children:[
|
|
64
|
-
/* @__PURE__ */
|
|
65
|
-
/* @__PURE__ */
|
|
64
|
+
/* @__PURE__ */A("span",{className:"text-xs text-gray-400 w-7 text-right tabular-nums",children:e}),
|
|
65
|
+
/* @__PURE__ */A("input",{type:"range",min:0,max:100,value:e,onChange:e=>t(parseInt(e.target.value,10)),className:"w-40 accent-blue-500"})]})}function te({label:e,value:t,onChange:o,min:a=1,max:n=99}){/* @__PURE__ */
|
|
66
66
|
return T("label",{className:"flex flex-col",children:[
|
|
67
|
-
/* @__PURE__ */
|
|
68
|
-
/* @__PURE__ */
|
|
69
|
-
return
|
|
67
|
+
/* @__PURE__ */A("span",{className:"text-xs font-semibold text-gray-500 mb-1",children:e}),
|
|
68
|
+
/* @__PURE__ */A(oe,{value:t,onChange:o,min:a,max:n})]})}function oe({value:e,onChange:t,min:o=1,max:a=99,className:n=""}){/* @__PURE__ */
|
|
69
|
+
return A("input",{type:"number",min:o,max:a,value:e,onChange:e=>t(Math.max(o,Math.min(a,parseInt(e.target.value,10)||o))),className:`bg-gray-100 border-0 rounded-md px-2 h-8 text-sm font-medium text-ink-strong focus:outline-none focus:ring-2 focus:ring-blue-500 w-full ${n}`})}function ae({value:e,onChange:t,options:o}){/* @__PURE__ */
|
|
70
70
|
return T("div",{className:"relative",children:[
|
|
71
|
-
/* @__PURE__ */
|
|
72
|
-
/* @__PURE__ */
|
|
73
|
-
return
|
|
74
|
-
return
|
|
71
|
+
/* @__PURE__ */A("select",{value:e,onChange:e=>t(e.target.value),className:"appearance-none bg-gray-100 border-0 rounded-md pl-3 pr-8 h-8 text-sm font-medium text-ink-strong focus:outline-none focus:ring-2 focus:ring-blue-500 cursor-pointer",children:o.map(e=>/* @__PURE__ */A("option",{value:e.id,children:e.label},e.id))}),
|
|
72
|
+
/* @__PURE__ */A(N,{name:"chevron-down",className:`absolute right-2 top-1/2 -translate-y-1/2 h-3.5 w-3.5 pointer-events-none ${b}`,strokeWidth:2.5})]})}function ne({checked:e,onChange:t}){/* @__PURE__ */
|
|
73
|
+
return A("button",{type:"button",role:"switch","aria-checked":e,onClick:()=>t(!e),className:"relative inline-flex h-6 w-11 items-center rounded-full transition-colors "+(e?"bg-emerald-500":"bg-gray-300"),children:/* @__PURE__ */A("span",{className:"absolute h-5 w-5 rounded-full bg-white shadow transition-transform "+(e?"translate-x-[22px]":"translate-x-0.5")})})}function re({title:e}){/* @__PURE__ */
|
|
74
|
+
return A("span",{title:e,className:"inline-flex items-center justify-center w-4 h-4 rounded-full bg-gray-300 text-on-accent text-3xs font-bold cursor-help",children:"i"})}function se(){/* @__PURE__ */
|
|
75
75
|
return T("svg",{className:"h-3.5 w-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[
|
|
76
|
-
/* @__PURE__ */
|
|
77
|
-
/* @__PURE__ */
|
|
76
|
+
/* @__PURE__ */A("circle",{cx:"12",cy:"12",r:"9"}),
|
|
77
|
+
/* @__PURE__ */A("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 7v5l3 2"})]})}function ie(){/* @__PURE__ */
|
|
78
78
|
return T("svg",{className:"h-3.5 w-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[
|
|
79
|
-
/* @__PURE__ */
|
|
80
|
-
/* @__PURE__ */
|
|
79
|
+
/* @__PURE__ */A("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),
|
|
80
|
+
/* @__PURE__ */A("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12l2 2 4-4"})]})}function le(){/* @__PURE__ */
|
|
81
81
|
return T("svg",{className:"h-3.5 w-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:[
|
|
82
|
-
/* @__PURE__ */
|
|
83
|
-
/* @__PURE__ */
|
|
82
|
+
/* @__PURE__ */A("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11 5L6 9H2v6h4l5 4V5z"}),
|
|
83
|
+
/* @__PURE__ */A("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.5 8.5a5 5 0 010 7M19 5a9 9 0 010 14"})]})}function ce({onSubmit:e,onCancel:t,accentColor:o}){const[a,n]=j(""),[r,s]=j(1),i=()=>e(a,r);/* @__PURE__ */
|
|
84
84
|
return T("div",{className:"bg-surface text-ink-strong rounded-md p-3 shadow-(--elevation-panel)",children:[
|
|
85
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */A("input",{autoFocus:!0,value:a,onChange:e=>n(e.target.value),placeholder:"What are you working on?",onKeyDown:e=>{"Enter"===e.key&&i(),"Escape"===e.key&&t()},className:"w-full text-base font-medium bg-transparent border-0 outline-none placeholder-gray-400"}),
|
|
86
86
|
/* @__PURE__ */T("div",{className:"flex items-center justify-between mt-2",children:[
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
87
|
+
/* @__PURE__ */A("span",{className:"text-xs font-semibold text-gray-500",children:"Est Pomodoros"}),
|
|
88
|
+
/* @__PURE__ */A("input",{type:"number",min:1,max:20,value:r,onChange:e=>s(Math.max(1,Math.min(20,parseInt(e.target.value,10)||1))),className:"w-16 bg-gray-100 rounded px-2 py-1 text-sm text-right border-0 focus:outline-none focus:ring-2 focus:ring-blue-500"})]}),
|
|
89
89
|
/* @__PURE__ */T("div",{className:"flex gap-2 mt-3 justify-end",children:[
|
|
90
|
-
/* @__PURE__ */
|
|
91
|
-
/* @__PURE__ */
|
|
90
|
+
/* @__PURE__ */A("button",{onClick:t,className:"px-3 py-1 text-sm text-gray-500 hover:bg-gray-100 rounded",children:"Cancel"}),
|
|
91
|
+
/* @__PURE__ */A("button",{onClick:i,className:"px-4 py-1 text-sm font-semibold text-white rounded shadow-sm",style:{backgroundColor:o},children:"Save"})]})]})}export{O as default};
|