@mieweb/ui 0.10.0-dev.30 → 0.10.0-dev.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CsvBlock-CFXSDPBI.js +9 -0
- package/dist/{CsvBlock-VLMG7GUO.js.map → CsvBlock-CFXSDPBI.js.map} +1 -1
- package/dist/CsvBlock-RGO7JXHJ.cjs +18 -0
- package/dist/{CsvBlock-FX5YNGNE.cjs.map → CsvBlock-RGO7JXHJ.cjs.map} +1 -1
- package/dist/HtmlPreviewBlock-VBYXCXVT.cjs +18 -0
- package/dist/{HtmlPreviewBlock-UO37JQ3K.cjs.map → HtmlPreviewBlock-VBYXCXVT.cjs.map} +1 -1
- package/dist/HtmlPreviewBlock-Z2GCK325.js +9 -0
- package/dist/{HtmlPreviewBlock-5JE7L3GR.js.map → HtmlPreviewBlock-Z2GCK325.js.map} +1 -1
- package/dist/MermaidBlock-I2R2BQOX.cjs +18 -0
- package/dist/{MermaidBlock-RZ75RPZA.cjs.map → MermaidBlock-I2R2BQOX.cjs.map} +1 -1
- package/dist/MermaidBlock-XCAK7IA5.js +9 -0
- package/dist/{MermaidBlock-3XHFBAMV.js.map → MermaidBlock-XCAK7IA5.js.map} +1 -1
- package/dist/SurveyBlock-KI5JOWCL.js +9 -0
- package/dist/{SurveyBlock-MUVJ3JUI.js.map → SurveyBlock-KI5JOWCL.js.map} +1 -1
- package/dist/SurveyBlock-UKSGISRT.cjs +18 -0
- package/dist/{SurveyBlock-VH47YXZC.cjs.map → SurveyBlock-UKSGISRT.cjs.map} +1 -1
- package/dist/brands/index.cjs +7 -7
- package/dist/brands/index.js +2 -2
- package/dist/{chunk-6ZPTZTKN.js → chunk-24AFHH4J.js} +3 -3
- package/dist/{chunk-6ZPTZTKN.js.map → chunk-24AFHH4J.js.map} +1 -1
- package/dist/{chunk-TYE5K5WV.cjs → chunk-32ZCJOSR.cjs} +4 -4
- package/dist/{chunk-TYE5K5WV.cjs.map → chunk-32ZCJOSR.cjs.map} +1 -1
- package/dist/{chunk-SD7ONW6S.js → chunk-3DLLTITK.js} +4 -4
- package/dist/{chunk-SD7ONW6S.js.map → chunk-3DLLTITK.js.map} +1 -1
- package/dist/chunk-47P5QLX4.cjs +42 -0
- package/dist/chunk-47P5QLX4.cjs.map +1 -0
- package/dist/chunk-4ZB7RSMY.cjs +306 -0
- package/dist/chunk-4ZB7RSMY.cjs.map +1 -0
- package/dist/{chunk-WXFGHDTV.cjs → chunk-57G3O552.cjs} +13 -13
- package/dist/{chunk-WXFGHDTV.cjs.map → chunk-57G3O552.cjs.map} +1 -1
- package/dist/{chunk-D22GE27K.js → chunk-5A4SL436.js} +4 -4
- package/dist/{chunk-D22GE27K.js.map → chunk-5A4SL436.js.map} +1 -1
- package/dist/chunk-6BNZLN4B.cjs +548 -0
- package/dist/chunk-6BNZLN4B.cjs.map +1 -0
- package/dist/chunk-6JSFT2J5.js +130 -0
- package/dist/chunk-6JSFT2J5.js.map +1 -0
- package/dist/{chunk-NKV76R65.cjs → chunk-6M63CM7X.cjs} +26 -26
- package/dist/{chunk-NKV76R65.cjs.map → chunk-6M63CM7X.cjs.map} +1 -1
- package/dist/chunk-6N7NMOSV.js +233 -0
- package/dist/chunk-6N7NMOSV.js.map +1 -0
- package/dist/chunk-6TTCZY3P.cjs +4 -0
- package/dist/chunk-6TTCZY3P.cjs.map +1 -0
- package/dist/{chunk-TTSSUOEV.cjs → chunk-7C5W744U.cjs} +8 -8
- package/dist/{chunk-TTSSUOEV.cjs.map → chunk-7C5W744U.cjs.map} +1 -1
- package/dist/chunk-7HUTR6RX.js +178 -0
- package/dist/chunk-7HUTR6RX.js.map +1 -0
- package/dist/chunk-7IRTD4JT.cjs +61 -0
- package/dist/chunk-7IRTD4JT.cjs.map +1 -0
- package/dist/{chunk-YU55JD35.js → chunk-7QW6TU4X.js} +3 -3
- package/dist/{chunk-YU55JD35.js.map → chunk-7QW6TU4X.js.map} +1 -1
- package/dist/chunk-7WJ6MBF5.cjs +47 -0
- package/dist/chunk-7WJ6MBF5.cjs.map +1 -0
- package/dist/chunk-A4W5CSK7.cjs +216 -0
- package/dist/chunk-A4W5CSK7.cjs.map +1 -0
- package/dist/chunk-AMYFRY7K.js +3 -0
- package/dist/chunk-AMYFRY7K.js.map +1 -0
- package/dist/{chunk-X6A27RGO.cjs → chunk-ANMX7YDL.cjs} +2 -2
- package/dist/{chunk-X6A27RGO.cjs.map → chunk-ANMX7YDL.cjs.map} +1 -1
- package/dist/{chunk-DVOQ3JNO.js → chunk-B4CKCNWD.js} +16 -8
- package/dist/chunk-B4CKCNWD.js.map +1 -0
- package/dist/chunk-BJ6ABRSQ.cjs +256 -0
- package/dist/chunk-BJ6ABRSQ.cjs.map +1 -0
- package/dist/chunk-BXRQ6HEP.cjs +4 -0
- package/dist/chunk-BXRQ6HEP.cjs.map +1 -0
- package/dist/{chunk-TJCX4OML.cjs → chunk-C77FAR3F.cjs} +2 -2
- package/dist/{chunk-TJCX4OML.cjs.map → chunk-C77FAR3F.cjs.map} +1 -1
- package/dist/chunk-CBBKWRLG.js +213 -0
- package/dist/chunk-CBBKWRLG.js.map +1 -0
- package/dist/{chunk-BNH4SXJB.js → chunk-CMF7VCGP.js} +5 -5
- package/dist/{chunk-BNH4SXJB.js.map → chunk-CMF7VCGP.js.map} +1 -1
- package/dist/chunk-CPDNX3LS.cjs +47 -0
- package/dist/chunk-CPDNX3LS.cjs.map +1 -0
- package/dist/chunk-CVNPNZMX.js +44 -0
- package/dist/chunk-CVNPNZMX.js.map +1 -0
- package/dist/chunk-DHGCLPFZ.js +91 -0
- package/dist/chunk-DHGCLPFZ.js.map +1 -0
- package/dist/chunk-DO2YN46R.cjs +201 -0
- package/dist/chunk-DO2YN46R.cjs.map +1 -0
- package/dist/chunk-DVDT7TX7.js +151 -0
- package/dist/chunk-DVDT7TX7.js.map +1 -0
- package/dist/{chunk-R5Z7AOVU.cjs → chunk-DZ3JTMKM.cjs} +9 -9
- package/dist/{chunk-R5Z7AOVU.cjs.map → chunk-DZ3JTMKM.cjs.map} +1 -1
- package/dist/chunk-EACNRR3C.cjs +4 -0
- package/dist/chunk-EACNRR3C.cjs.map +1 -0
- package/dist/{chunk-E2PBPQGS.js → chunk-EEOGIGIA.js} +2 -2
- package/dist/{chunk-E2PBPQGS.js.map → chunk-EEOGIGIA.js.map} +1 -1
- package/dist/{chunk-QURJVPRH.cjs → chunk-EMRWTCCN.cjs} +41 -2
- package/dist/chunk-EMRWTCCN.cjs.map +1 -0
- package/dist/chunk-EPCUPHEO.js +193 -0
- package/dist/chunk-EPCUPHEO.js.map +1 -0
- package/dist/chunk-EPTP3VKT.js +283 -0
- package/dist/chunk-EPTP3VKT.js.map +1 -0
- package/dist/{chunk-HIZWOAWY.cjs → chunk-ERACGSDY.cjs} +8 -8
- package/dist/{chunk-HIZWOAWY.cjs.map → chunk-ERACGSDY.cjs.map} +1 -1
- package/dist/{chunk-VOQJHSXN.cjs → chunk-F2FOG4EG.cjs} +9 -9
- package/dist/{chunk-VOQJHSXN.cjs.map → chunk-F2FOG4EG.cjs.map} +1 -1
- package/dist/{chunk-GBUVIGD5.js → chunk-F3EWRDIT.js} +99 -3
- package/dist/chunk-F3EWRDIT.js.map +1 -0
- package/dist/{chunk-ZTMYKAVU.cjs → chunk-FCV7GBNQ.cjs} +24 -23
- package/dist/chunk-FCV7GBNQ.cjs.map +1 -0
- package/dist/{chunk-GVLNXPJX.js → chunk-FGLIP6YR.js} +4 -4
- package/dist/{chunk-GVLNXPJX.js.map → chunk-FGLIP6YR.js.map} +1 -1
- package/dist/chunk-FKGFOBC2.js +314 -0
- package/dist/chunk-FKGFOBC2.js.map +1 -0
- package/dist/chunk-FSGJXCBG.cjs +318 -0
- package/dist/chunk-FSGJXCBG.cjs.map +1 -0
- package/dist/chunk-FTEZNCRI.js +29 -0
- package/dist/chunk-FTEZNCRI.js.map +1 -0
- package/dist/{chunk-COM7RNZU.cjs → chunk-FYQZWLAM.cjs} +2 -2
- package/dist/{chunk-COM7RNZU.cjs.map → chunk-FYQZWLAM.cjs.map} +1 -1
- package/dist/{chunk-YVPC65ZJ.cjs → chunk-GF2BE4FB.cjs} +91 -32
- package/dist/chunk-GF2BE4FB.cjs.map +1 -0
- package/dist/{chunk-JEIW7BSV.cjs → chunk-GKDHMNUA.cjs} +2 -52
- package/dist/chunk-GKDHMNUA.cjs.map +1 -0
- package/dist/{chunk-N7C4OEP7.cjs → chunk-GM32IDVL.cjs} +6 -6
- package/dist/{chunk-N7C4OEP7.cjs.map → chunk-GM32IDVL.cjs.map} +1 -1
- package/dist/chunk-GNOQFTLL.cjs +286 -0
- package/dist/chunk-GNOQFTLL.cjs.map +1 -0
- package/dist/chunk-GY5SP4ST.js +3 -0
- package/dist/chunk-GY5SP4ST.js.map +1 -0
- package/dist/chunk-H2Y7HZV5.js +3 -0
- package/dist/chunk-H2Y7HZV5.js.map +1 -0
- package/dist/chunk-H3QPREIJ.js +195 -0
- package/dist/chunk-H3QPREIJ.js.map +1 -0
- package/dist/{chunk-QOVJ6Z6R.js → chunk-HDY7YQFX.js} +3 -3
- package/dist/{chunk-QOVJ6Z6R.js.map → chunk-HDY7YQFX.js.map} +1 -1
- package/dist/chunk-HNFFFFYH.cjs +114 -0
- package/dist/chunk-HNFFFFYH.cjs.map +1 -0
- package/dist/chunk-HNXLLDPN.js +25 -0
- package/dist/chunk-HNXLLDPN.js.map +1 -0
- package/dist/chunk-I2MMUFCN.cjs +154 -0
- package/dist/chunk-I2MMUFCN.cjs.map +1 -0
- package/dist/{chunk-GYXUS65N.cjs → chunk-IGDO62KR.cjs} +5 -5
- package/dist/{chunk-GYXUS65N.cjs.map → chunk-IGDO62KR.cjs.map} +1 -1
- package/dist/{chunk-JBIGSP2T.js → chunk-ILDLYRTP.js} +5 -4
- package/dist/chunk-ILDLYRTP.js.map +1 -0
- package/dist/{chunk-HC3NAN55.cjs → chunk-IPL2O2OL.cjs} +19 -19
- package/dist/{chunk-HC3NAN55.cjs.map → chunk-IPL2O2OL.cjs.map} +1 -1
- package/dist/chunk-ISUIKUX7.cjs +337 -0
- package/dist/chunk-ISUIKUX7.cjs.map +1 -0
- package/dist/{chunk-N5O47VGS.cjs → chunk-IVGI353O.cjs} +2 -2
- package/dist/{chunk-N5O47VGS.cjs.map → chunk-IVGI353O.cjs.map} +1 -1
- package/dist/chunk-IWRBJHO3.cjs +51 -0
- package/dist/chunk-IWRBJHO3.cjs.map +1 -0
- package/dist/{chunk-KRU6IGV7.js → chunk-JUJGWUAN.js} +28 -6
- package/dist/chunk-JUJGWUAN.js.map +1 -0
- package/dist/{chunk-BUT6MF5K.cjs → chunk-KQ6GLYFZ.cjs} +4 -4
- package/dist/{chunk-BUT6MF5K.cjs.map → chunk-KQ6GLYFZ.cjs.map} +1 -1
- package/dist/chunk-L6K4PRZK.cjs +4 -0
- package/dist/chunk-L6K4PRZK.cjs.map +1 -0
- package/dist/{chunk-P7UMS4E6.cjs → chunk-LC7PVBXH.cjs} +16 -8
- package/dist/chunk-LC7PVBXH.cjs.map +1 -0
- package/dist/chunk-LRRSD7LR.js +248 -0
- package/dist/chunk-LRRSD7LR.js.map +1 -0
- package/dist/chunk-LSMS6DY7.cjs +331 -0
- package/dist/chunk-LSMS6DY7.cjs.map +1 -0
- package/dist/chunk-M3VPGJMV.js +283 -0
- package/dist/chunk-M3VPGJMV.js.map +1 -0
- package/dist/{chunk-2JICT4A2.js → chunk-N54FYWG6.js} +3 -3
- package/dist/{chunk-2JICT4A2.js.map → chunk-N54FYWG6.js.map} +1 -1
- package/dist/chunk-N5JDL4VE.js +3 -0
- package/dist/chunk-N5JDL4VE.js.map +1 -0
- package/dist/{chunk-KGKBZN3T.cjs → chunk-NAH65KPK.cjs} +8 -8
- package/dist/{chunk-KGKBZN3T.cjs.map → chunk-NAH65KPK.cjs.map} +1 -1
- package/dist/chunk-O4WGSOJI.js +261 -0
- package/dist/chunk-O4WGSOJI.js.map +1 -0
- package/dist/{chunk-SVSHA7XV.js → chunk-O6XDA3SI.js} +31 -33
- package/dist/chunk-O6XDA3SI.js.map +1 -0
- package/dist/chunk-OIF34LEN.cjs +425 -0
- package/dist/chunk-OIF34LEN.cjs.map +1 -0
- package/dist/chunk-ORCCJ5VY.cjs +218 -0
- package/dist/chunk-ORCCJ5VY.cjs.map +1 -0
- package/dist/{chunk-CRS2CQWM.js → chunk-OSTSZDQC.js} +3 -3
- package/dist/{chunk-CRS2CQWM.js.map → chunk-OSTSZDQC.js.map} +1 -1
- package/dist/{chunk-MLAWXPRY.js → chunk-OZ5CKVQN.js} +41 -2
- package/dist/chunk-OZ5CKVQN.js.map +1 -0
- package/dist/chunk-P22YCUVM.cjs +4 -0
- package/dist/chunk-P22YCUVM.cjs.map +1 -0
- package/dist/chunk-P55LNEDH.cjs +306 -0
- package/dist/chunk-P55LNEDH.cjs.map +1 -0
- package/dist/{chunk-R6KPWIGO.js → chunk-P7D7BYFE.js} +4 -4
- package/dist/{chunk-R6KPWIGO.js.map → chunk-P7D7BYFE.js.map} +1 -1
- package/dist/{chunk-GU5OS7JJ.cjs → chunk-PYI2IWNX.cjs} +4 -4
- package/dist/{chunk-GU5OS7JJ.cjs.map → chunk-PYI2IWNX.cjs.map} +1 -1
- package/dist/chunk-Q3YVLO52.cjs +174 -0
- package/dist/chunk-Q3YVLO52.cjs.map +1 -0
- package/dist/{chunk-K34DXMLZ.js → chunk-QJ2L5RU6.js} +7 -7
- package/dist/{chunk-K34DXMLZ.js.map → chunk-QJ2L5RU6.js.map} +1 -1
- package/dist/{chunk-X4LBUPJO.cjs → chunk-QX6AAVDE.cjs} +31 -33
- package/dist/chunk-QX6AAVDE.cjs.map +1 -0
- package/dist/{chunk-LFPJ3OUM.cjs → chunk-RIUQP2QS.cjs} +5 -5
- package/dist/{chunk-LFPJ3OUM.cjs.map → chunk-RIUQP2QS.cjs.map} +1 -1
- package/dist/{chunk-JHG3ELS2.js → chunk-RPFATYUI.js} +2 -2
- package/dist/{chunk-JHG3ELS2.js.map → chunk-RPFATYUI.js.map} +1 -1
- package/dist/{chunk-FZURBQJ2.js → chunk-RSJGTWLM.js} +3 -3
- package/dist/{chunk-FZURBQJ2.js.map → chunk-RSJGTWLM.js.map} +1 -1
- package/dist/{chunk-XBTKZCZF.js → chunk-RZSSQ7AT.js} +3 -3
- package/dist/{chunk-XBTKZCZF.js.map → chunk-RZSSQ7AT.js.map} +1 -1
- package/dist/{chunk-VROIMIHB.cjs → chunk-SHBCUXFS.cjs} +28 -6
- package/dist/chunk-SHBCUXFS.cjs.map +1 -0
- package/dist/{chunk-JELTRRR5.cjs → chunk-SW2E7XKY.cjs} +9 -9
- package/dist/{chunk-JELTRRR5.cjs.map → chunk-SW2E7XKY.cjs.map} +1 -1
- package/dist/chunk-SZSRGUVO.js +402 -0
- package/dist/chunk-SZSRGUVO.js.map +1 -0
- package/dist/{chunk-HZ4MBUC3.js → chunk-TI3TQQ7F.js} +4 -53
- package/dist/chunk-TI3TQQ7F.js.map +1 -0
- package/dist/{chunk-H2IAMSHK.js → chunk-TVEJKKIM.js} +3 -3
- package/dist/{chunk-H2IAMSHK.js.map → chunk-TVEJKKIM.js.map} +1 -1
- package/dist/{chunk-LHBWRMNC.cjs → chunk-TVU4KB27.cjs} +130 -12
- package/dist/chunk-TVU4KB27.cjs.map +1 -0
- package/dist/{chunk-ZYL4SNOR.js → chunk-UJDWFDKE.js} +3 -3
- package/dist/{chunk-ZYL4SNOR.js.map → chunk-UJDWFDKE.js.map} +1 -1
- package/dist/{chunk-4HC2IBOX.js → chunk-UNFDIBKJ.js} +3 -3
- package/dist/{chunk-4HC2IBOX.js.map → chunk-UNFDIBKJ.js.map} +1 -1
- package/dist/{chunk-IYWG72DM.js → chunk-VEE46VTX.js} +4 -4
- package/dist/{chunk-IYWG72DM.js.map → chunk-VEE46VTX.js.map} +1 -1
- package/dist/{chunk-Y4E2WRUR.cjs → chunk-VFFV7EMT.cjs} +6 -6
- package/dist/{chunk-Y4E2WRUR.cjs.map → chunk-VFFV7EMT.cjs.map} +1 -1
- package/dist/chunk-VNEAQCY2.js +308 -0
- package/dist/chunk-VNEAQCY2.js.map +1 -0
- package/dist/chunk-VOYLX32A.cjs +271 -0
- package/dist/chunk-VOYLX32A.cjs.map +1 -0
- package/dist/{chunk-7ZV67VZE.js → chunk-VSRO4PAI.js} +21 -3
- package/dist/chunk-VSRO4PAI.js.map +1 -0
- package/dist/{chunk-L6MDULYB.js → chunk-VU3ZMJBN.js} +2 -2
- package/dist/{chunk-L6MDULYB.js.map → chunk-VU3ZMJBN.js.map} +1 -1
- package/dist/{chunk-35Y4ILCU.cjs → chunk-VXW7D5LR.cjs} +21 -3
- package/dist/chunk-VXW7D5LR.cjs.map +1 -0
- package/dist/{chunk-7YO7DNUV.js → chunk-WFBUBT54.js} +2 -2
- package/dist/{chunk-7YO7DNUV.js.map → chunk-WFBUBT54.js.map} +1 -1
- package/dist/chunk-WQHBMZSC.js +295 -0
- package/dist/chunk-WQHBMZSC.js.map +1 -0
- package/dist/chunk-X5JOEZVR.js +525 -0
- package/dist/chunk-X5JOEZVR.js.map +1 -0
- package/dist/chunk-XBAAHOCP.js +3 -0
- package/dist/chunk-XBAAHOCP.js.map +1 -0
- package/dist/chunk-XNPDZANN.cjs +238 -0
- package/dist/chunk-XNPDZANN.cjs.map +1 -0
- package/dist/chunk-XXA4NZUC.js +3 -0
- package/dist/chunk-XXA4NZUC.js.map +1 -0
- package/dist/chunk-Y424YL55.js +59 -0
- package/dist/chunk-Y424YL55.js.map +1 -0
- package/dist/chunk-YGS2TRMP.js +38 -0
- package/dist/chunk-YGS2TRMP.js.map +1 -0
- package/dist/chunk-YUMOM3KE.js +167 -0
- package/dist/chunk-YUMOM3KE.js.map +1 -0
- package/dist/{chunk-3KPDQG5O.cjs → chunk-ZG6FXMDX.cjs} +5 -5
- package/dist/{chunk-3KPDQG5O.cjs.map → chunk-ZG6FXMDX.cjs.map} +1 -1
- package/dist/chunk-ZNUMOJOI.cjs +4 -0
- package/dist/chunk-ZNUMOJOI.cjs.map +1 -0
- package/dist/components/Accordion/index.cjs +2 -2
- package/dist/components/Accordion/index.d.cts +6 -0
- package/dist/components/Accordion/index.d.ts +6 -0
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/ActionPlan/index.cjs +34 -0
- package/dist/components/ActionPlan/index.cjs.map +1 -0
- package/dist/components/ActionPlan/index.d.cts +65 -0
- package/dist/components/ActionPlan/index.d.ts +65 -0
- package/dist/components/ActionPlan/index.js +21 -0
- package/dist/components/ActionPlan/index.js.map +1 -0
- package/dist/components/ActivityFeed/index.cjs +31 -0
- package/dist/components/ActivityFeed/index.cjs.map +1 -0
- package/dist/components/ActivityFeed/index.d.cts +99 -0
- package/dist/components/ActivityFeed/index.d.ts +99 -0
- package/dist/components/ActivityFeed/index.js +18 -0
- package/dist/components/ActivityFeed/index.js.map +1 -0
- package/dist/components/AlertDialog/index.cjs +16 -3
- package/dist/components/AlertDialog/index.d.cts +66 -13
- package/dist/components/AlertDialog/index.d.ts +66 -13
- package/dist/components/AlertDialog/index.js +3 -2
- package/dist/components/AssociationList/index.cjs +29 -0
- package/dist/components/AssociationList/index.cjs.map +1 -0
- package/dist/components/AssociationList/index.d.cts +50 -0
- package/dist/components/AssociationList/index.d.ts +50 -0
- package/dist/components/AssociationList/index.js +16 -0
- package/dist/components/AssociationList/index.js.map +1 -0
- package/dist/components/Avatar/index.cjs +9 -7
- package/dist/components/Avatar/index.d.cts +45 -14
- package/dist/components/Avatar/index.d.ts +45 -14
- package/dist/components/Avatar/index.js +3 -1
- package/dist/components/AvatarGroup/index.cjs +20 -0
- package/dist/components/AvatarGroup/index.cjs.map +1 -0
- package/dist/components/AvatarGroup/index.d.cts +57 -0
- package/dist/components/AvatarGroup/index.d.ts +57 -0
- package/dist/components/AvatarGroup/index.js +7 -0
- package/dist/components/AvatarGroup/index.js.map +1 -0
- package/dist/components/Button/index.cjs +3 -2
- package/dist/components/Button/index.js +2 -1
- package/dist/components/CalendarHeatmap/index.cjs +18 -0
- package/dist/components/CalendarHeatmap/index.cjs.map +1 -0
- package/dist/components/CalendarHeatmap/index.d.cts +47 -0
- package/dist/components/CalendarHeatmap/index.d.ts +47 -0
- package/dist/components/CalendarHeatmap/index.js +5 -0
- package/dist/components/CalendarHeatmap/index.js.map +1 -0
- package/dist/components/CalendarView/index.cjs +5 -4
- package/dist/components/CalendarView/index.js +3 -2
- package/dist/components/ClampedText/index.cjs +3 -2
- package/dist/components/ClampedText/index.js +2 -1
- package/dist/components/CollabStatus/index.cjs +6 -4
- package/dist/components/CollabStatus/index.d.cts +11 -0
- package/dist/components/CollabStatus/index.d.ts +11 -0
- package/dist/components/CollabStatus/index.js +3 -1
- package/dist/components/Collapsible/index.cjs +4 -4
- package/dist/components/Collapsible/index.d.cts +6 -0
- package/dist/components/Collapsible/index.d.ts +6 -0
- package/dist/components/Collapsible/index.js +1 -1
- package/dist/components/CompletenessMeter/index.cjs +22 -0
- package/dist/components/CompletenessMeter/index.cjs.map +1 -0
- package/dist/components/CompletenessMeter/index.d.cts +52 -0
- package/dist/components/CompletenessMeter/index.d.ts +52 -0
- package/dist/components/CompletenessMeter/index.js +5 -0
- package/dist/components/CompletenessMeter/index.js.map +1 -0
- package/dist/components/CustomizableDashboard/index.cjs +10 -9
- package/dist/components/CustomizableDashboard/index.js +3 -2
- package/dist/components/DateInput/index.d.cts +36 -4
- package/dist/components/DateInput/index.d.ts +36 -4
- package/dist/components/Dropdown/index.cjs +9 -8
- package/dist/components/Dropdown/index.js +2 -1
- package/dist/components/FieldHistory/index.cjs +34 -0
- package/dist/components/FieldHistory/index.cjs.map +1 -0
- package/dist/components/FieldHistory/index.d.cts +66 -0
- package/dist/components/FieldHistory/index.d.ts +66 -0
- package/dist/components/FieldHistory/index.js +21 -0
- package/dist/components/FieldHistory/index.js.map +1 -0
- package/dist/components/FloatingWindow/index.cjs +5 -4
- package/dist/components/FloatingWindow/index.js +3 -2
- package/dist/components/InlineEdit/index.cjs +20 -0
- package/dist/components/InlineEdit/index.cjs.map +1 -0
- package/dist/components/InlineEdit/index.d.cts +56 -0
- package/dist/components/InlineEdit/index.d.ts +56 -0
- package/dist/components/InlineEdit/index.js +7 -0
- package/dist/components/InlineEdit/index.js.map +1 -0
- package/dist/components/ListView/index.cjs +5 -4
- package/dist/components/ListView/index.js +3 -2
- package/dist/components/LogoUploader/index.cjs +18 -0
- package/dist/components/LogoUploader/index.cjs.map +1 -0
- package/dist/components/LogoUploader/index.d.cts +49 -0
- package/dist/components/LogoUploader/index.d.ts +49 -0
- package/dist/components/LogoUploader/index.js +5 -0
- package/dist/components/LogoUploader/index.js.map +1 -0
- package/dist/components/Markdown/index.cjs +17 -16
- package/dist/components/Markdown/index.js +8 -7
- package/dist/components/MediaEditor/index.cjs +9 -8
- package/dist/components/MediaEditor/index.js +4 -3
- package/dist/components/MediaFeed/index.cjs +8 -5
- package/dist/components/MediaFeed/index.js +7 -4
- package/dist/components/MediaPlayer/index.cjs +6 -5
- package/dist/components/MediaPlayer/index.js +3 -2
- package/dist/components/MegaMenu/index.cjs +2 -1
- package/dist/components/MegaMenu/index.js +2 -1
- package/dist/components/PhiMask/index.cjs +18 -0
- package/dist/components/PhiMask/index.cjs.map +1 -0
- package/dist/components/PhiMask/index.d.cts +45 -0
- package/dist/components/PhiMask/index.d.ts +45 -0
- package/dist/components/PhiMask/index.js +5 -0
- package/dist/components/PhiMask/index.js.map +1 -0
- package/dist/components/PhoneInput/index.d.cts +3 -36
- package/dist/components/PhoneInput/index.d.ts +3 -36
- package/dist/components/PropertyList/index.cjs +25 -0
- package/dist/components/PropertyList/index.cjs.map +1 -0
- package/dist/components/PropertyList/index.d.cts +71 -0
- package/dist/components/PropertyList/index.d.ts +71 -0
- package/dist/components/PropertyList/index.js +12 -0
- package/dist/components/PropertyList/index.js.map +1 -0
- package/dist/components/RadialExplorer/index.cjs +2 -1
- package/dist/components/RadialExplorer/index.js +2 -1
- package/dist/components/Rating/index.cjs +28 -0
- package/dist/components/Rating/index.cjs.map +1 -0
- package/dist/components/Rating/index.d.cts +85 -0
- package/dist/components/Rating/index.d.ts +85 -0
- package/dist/components/Rating/index.js +7 -0
- package/dist/components/Rating/index.js.map +1 -0
- package/dist/components/RecordHeader/index.cjs +29 -0
- package/dist/components/RecordHeader/index.cjs.map +1 -0
- package/dist/components/RecordHeader/index.d.cts +86 -0
- package/dist/components/RecordHeader/index.d.ts +86 -0
- package/dist/components/RecordHeader/index.js +16 -0
- package/dist/components/RecordHeader/index.js.map +1 -0
- package/dist/components/RecordLayout/index.cjs +21 -0
- package/dist/components/RecordLayout/index.cjs.map +1 -0
- package/dist/components/RecordLayout/index.d.cts +40 -0
- package/dist/components/RecordLayout/index.d.ts +40 -0
- package/dist/components/RecordLayout/index.js +8 -0
- package/dist/components/RecordLayout/index.js.map +1 -0
- package/dist/components/RichTextEditor/index.cjs +8 -6
- package/dist/components/RichTextEditor/index.js +5 -3
- package/dist/components/SectionSpyNav/index.cjs +2 -1
- package/dist/components/SectionSpyNav/index.js +2 -1
- package/dist/components/SuperChat/index.cjs +50 -22
- package/dist/components/SuperChat/index.cjs.map +1 -1
- package/dist/components/SuperChat/index.d.cts +93 -2
- package/dist/components/SuperChat/index.d.ts +93 -2
- package/dist/components/SuperChat/index.js +38 -10
- package/dist/components/SuperChat/index.js.map +1 -1
- package/dist/components/SuperChat/plugins/index.cjs +5 -4
- package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
- package/dist/components/SuperChat/plugins/index.js +4 -3
- package/dist/components/SuperChat/plugins/index.js.map +1 -1
- package/dist/components/Tabs/index.cjs +9 -7
- package/dist/components/Tabs/index.d.cts +12 -1
- package/dist/components/Tabs/index.d.ts +12 -1
- package/dist/components/Tabs/index.js +3 -1
- package/dist/components/TagEditor/index.cjs +20 -0
- package/dist/components/TagEditor/index.cjs.map +1 -0
- package/dist/components/TagEditor/index.d.cts +46 -0
- package/dist/components/TagEditor/index.d.ts +46 -0
- package/dist/components/TagEditor/index.js +7 -0
- package/dist/components/TagEditor/index.js.map +1 -0
- package/dist/components/UserPicker/index.cjs +24 -0
- package/dist/components/UserPicker/index.cjs.map +1 -0
- package/dist/components/UserPicker/index.d.cts +60 -0
- package/dist/components/UserPicker/index.d.ts +60 -0
- package/dist/components/UserPicker/index.js +11 -0
- package/dist/components/UserPicker/index.js.map +1 -0
- package/dist/components/ViewSet/index.cjs +6 -5
- package/dist/components/ViewSet/index.d.cts +2 -1
- package/dist/components/ViewSet/index.d.ts +2 -1
- package/dist/components/ViewSet/index.js +5 -4
- package/dist/components/ViewSwitcher/index.d.cts +39 -4
- package/dist/components/ViewSwitcher/index.d.ts +39 -4
- package/dist/datavis.cjs +3 -2
- package/dist/datavis.cjs.map +1 -1
- package/dist/datavis.js +2 -1
- package/dist/datavis.js.map +1 -1
- package/dist/esheet.cjs +8 -6
- package/dist/esheet.cjs.map +1 -1
- package/dist/esheet.js +5 -3
- package/dist/esheet.js.map +1 -1
- package/dist/hooks/index.cjs +53 -27
- package/dist/hooks/index.d.cts +91 -6
- package/dist/hooks/index.d.ts +91 -6
- package/dist/hooks/index.js +5 -3
- package/dist/index.cjs +1258 -714
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1253 -168
- package/dist/index.d.ts +1253 -168
- package/dist/index.js +536 -168
- package/dist/index.js.map +1 -1
- package/dist/org-chart.cjs +1302 -0
- package/dist/org-chart.cjs.map +1 -0
- package/dist/org-chart.d.cts +164 -0
- package/dist/org-chart.d.ts +164 -0
- package/dist/org-chart.js +1277 -0
- package/dist/org-chart.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -4
- package/dist/tailwind-preset.js +1 -1
- package/dist/{index-DoYYWsNc.d.cts → types-CDeBNZiE.d.cts} +1 -36
- package/dist/{index-DoYYWsNc.d.ts → types-CDeBNZiE.d.ts} +1 -36
- package/package.json +22 -2
- package/dist/CsvBlock-FX5YNGNE.cjs +0 -17
- package/dist/CsvBlock-VLMG7GUO.js +0 -8
- package/dist/HtmlPreviewBlock-5JE7L3GR.js +0 -8
- package/dist/HtmlPreviewBlock-UO37JQ3K.cjs +0 -17
- package/dist/MermaidBlock-3XHFBAMV.js +0 -8
- package/dist/MermaidBlock-RZ75RPZA.cjs +0 -17
- package/dist/SurveyBlock-MUVJ3JUI.js +0 -8
- package/dist/SurveyBlock-VH47YXZC.cjs +0 -17
- package/dist/chunk-35Y4ILCU.cjs.map +0 -1
- package/dist/chunk-6N6LIAUJ.cjs +0 -80
- package/dist/chunk-6N6LIAUJ.cjs.map +0 -1
- package/dist/chunk-7ZV67VZE.js.map +0 -1
- package/dist/chunk-7ZVTLTJF.js +0 -109
- package/dist/chunk-7ZVTLTJF.js.map +0 -1
- package/dist/chunk-DVOQ3JNO.js.map +0 -1
- package/dist/chunk-GBUVIGD5.js.map +0 -1
- package/dist/chunk-HZ4MBUC3.js.map +0 -1
- package/dist/chunk-JBIGSP2T.js.map +0 -1
- package/dist/chunk-JEIW7BSV.cjs.map +0 -1
- package/dist/chunk-KRU6IGV7.js.map +0 -1
- package/dist/chunk-LHBWRMNC.cjs.map +0 -1
- package/dist/chunk-MLAWXPRY.js.map +0 -1
- package/dist/chunk-P7UMS4E6.cjs.map +0 -1
- package/dist/chunk-QURJVPRH.cjs.map +0 -1
- package/dist/chunk-SVSHA7XV.js.map +0 -1
- package/dist/chunk-UBSH27C2.js +0 -78
- package/dist/chunk-UBSH27C2.js.map +0 -1
- package/dist/chunk-VROIMIHB.cjs.map +0 -1
- package/dist/chunk-X4LBUPJO.cjs.map +0 -1
- package/dist/chunk-YVPC65ZJ.cjs.map +0 -1
- package/dist/chunk-ZTMYKAVU.cjs.map +0 -1
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { withLocale } from './chunk-YGS2TRMP.js';
|
|
2
|
+
import { usePendingOverrides } from './chunk-FTEZNCRI.js';
|
|
3
|
+
import { RecordState } from './chunk-Y424YL55.js';
|
|
4
|
+
import { Progress } from './chunk-CEQJGUAS.js';
|
|
5
|
+
import { Checkbox } from './chunk-753Z3NXL.js';
|
|
6
|
+
import { Avatar } from './chunk-TI3TQQ7F.js';
|
|
7
|
+
import { accentClasses, toDateTime } from './chunk-3YBS4WUQ.js';
|
|
8
|
+
import { Badge } from './chunk-BMSG4NBH.js';
|
|
9
|
+
import { Button } from './chunk-WFBUBT54.js';
|
|
10
|
+
import { cn } from './chunk-TQONQSJO.js';
|
|
11
|
+
import * as React from 'react';
|
|
12
|
+
import { DateTime } from 'luxon';
|
|
13
|
+
import { Plus, CalendarClock } from 'lucide-react';
|
|
14
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
15
|
+
|
|
16
|
+
var defaultActionPlanLabels = {
|
|
17
|
+
title: "Action plan",
|
|
18
|
+
progress: (done, total) => `${done} of ${total} complete`,
|
|
19
|
+
overdue: "Overdue",
|
|
20
|
+
todo: "To do",
|
|
21
|
+
inProgress: "In progress",
|
|
22
|
+
done: "Done",
|
|
23
|
+
addStep: "Add step",
|
|
24
|
+
loading: "Loading plan",
|
|
25
|
+
empty: "No steps yet",
|
|
26
|
+
error: "Could not load this plan",
|
|
27
|
+
retry: "Try again"
|
|
28
|
+
};
|
|
29
|
+
var STATUS_ORDER = ["in_progress", "todo", "done"];
|
|
30
|
+
var SUB_HEADING = { h2: "h3", h3: "h4", h4: "h5" };
|
|
31
|
+
var ActionPlan = React.forwardRef(
|
|
32
|
+
({
|
|
33
|
+
items,
|
|
34
|
+
title,
|
|
35
|
+
loading = false,
|
|
36
|
+
error = null,
|
|
37
|
+
onRetry,
|
|
38
|
+
arrange = "manual",
|
|
39
|
+
now,
|
|
40
|
+
locale,
|
|
41
|
+
timeZone = "local",
|
|
42
|
+
onStatusChange,
|
|
43
|
+
onAdd,
|
|
44
|
+
onOpen,
|
|
45
|
+
getHref,
|
|
46
|
+
renderStepMeta,
|
|
47
|
+
emptyState,
|
|
48
|
+
labels,
|
|
49
|
+
classNames,
|
|
50
|
+
headingLevel: Heading = "h3",
|
|
51
|
+
className,
|
|
52
|
+
...rest
|
|
53
|
+
}, ref) => {
|
|
54
|
+
const text = { ...defaultActionPlanLabels, ...labels };
|
|
55
|
+
const baseId = React.useId();
|
|
56
|
+
const [overrides, runStatus] = usePendingOverrides();
|
|
57
|
+
const today = (now ? DateTime.fromJSDate(now) : DateTime.now()).setZone(timeZone).startOf("day");
|
|
58
|
+
const statusOf = (step) => overrides.get(step.id) ?? step.status;
|
|
59
|
+
const statusLabel = {
|
|
60
|
+
todo: text.todo,
|
|
61
|
+
in_progress: text.inProgress,
|
|
62
|
+
done: text.done
|
|
63
|
+
};
|
|
64
|
+
const done = items.filter((s) => statusOf(s) === "done").length;
|
|
65
|
+
const dueOf = (step) => toDateTime(step.dueDate, timeZone);
|
|
66
|
+
const renderStep = (step) => {
|
|
67
|
+
const status = statusOf(step);
|
|
68
|
+
const pending = overrides.has(step.id);
|
|
69
|
+
const due = dueOf(step);
|
|
70
|
+
const overdue = status !== "done" && due !== null && due.startOf("day") < today;
|
|
71
|
+
const titleId = `${baseId}-step-${items.indexOf(step)}`;
|
|
72
|
+
const href = getHref?.(step.id, step);
|
|
73
|
+
const titleClasses = cn(
|
|
74
|
+
"text-sm font-medium",
|
|
75
|
+
status === "done" ? "text-muted-foreground line-through" : "text-foreground"
|
|
76
|
+
);
|
|
77
|
+
const focusRing = "rounded-sm hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring";
|
|
78
|
+
let titleNode = /* @__PURE__ */ jsx("span", { id: titleId, className: titleClasses, children: step.title });
|
|
79
|
+
if (href) {
|
|
80
|
+
titleNode = /* @__PURE__ */ jsx(
|
|
81
|
+
"a",
|
|
82
|
+
{
|
|
83
|
+
id: titleId,
|
|
84
|
+
href,
|
|
85
|
+
className: cn(titleClasses, focusRing),
|
|
86
|
+
onClick: (event) => {
|
|
87
|
+
if (!onOpen || event.metaKey || event.ctrlKey || event.shiftKey || event.button !== 0)
|
|
88
|
+
return;
|
|
89
|
+
event.preventDefault();
|
|
90
|
+
onOpen(step.id, step);
|
|
91
|
+
},
|
|
92
|
+
children: step.title
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
} else if (onOpen) {
|
|
96
|
+
titleNode = /* @__PURE__ */ jsx(
|
|
97
|
+
"button",
|
|
98
|
+
{
|
|
99
|
+
id: titleId,
|
|
100
|
+
type: "button",
|
|
101
|
+
className: cn(titleClasses, focusRing, "text-start"),
|
|
102
|
+
onClick: () => onOpen(step.id, step),
|
|
103
|
+
children: step.title
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
return /* @__PURE__ */ jsxs(
|
|
108
|
+
"li",
|
|
109
|
+
{
|
|
110
|
+
"data-slot": "action-plan-step",
|
|
111
|
+
"data-overdue": overdue || void 0,
|
|
112
|
+
"aria-busy": pending || void 0,
|
|
113
|
+
className: cn(
|
|
114
|
+
"flex items-start gap-3 px-4 py-3",
|
|
115
|
+
overdue && accentClasses.destructive.tint,
|
|
116
|
+
classNames?.step,
|
|
117
|
+
overdue && classNames?.overdueStep
|
|
118
|
+
),
|
|
119
|
+
children: [
|
|
120
|
+
/* @__PURE__ */ jsx(
|
|
121
|
+
Checkbox,
|
|
122
|
+
{
|
|
123
|
+
size: "sm",
|
|
124
|
+
className: "mt-0.5",
|
|
125
|
+
checked: status === "done",
|
|
126
|
+
disabled: !onStatusChange || pending,
|
|
127
|
+
"aria-labelledby": titleId,
|
|
128
|
+
onChange: (event) => {
|
|
129
|
+
if (!onStatusChange) return;
|
|
130
|
+
const next = event.currentTarget.checked ? "done" : "todo";
|
|
131
|
+
void runStatus(
|
|
132
|
+
step.id,
|
|
133
|
+
next,
|
|
134
|
+
() => onStatusChange(step.id, next)
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
),
|
|
139
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
140
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
141
|
+
titleNode,
|
|
142
|
+
status === "in_progress" && /* @__PURE__ */ jsx(Badge, { size: "sm", variant: "secondary", children: text.inProgress }),
|
|
143
|
+
overdue && /* @__PURE__ */ jsx(Badge, { size: "sm", variant: "danger", children: text.overdue })
|
|
144
|
+
] }),
|
|
145
|
+
(step.owner || due) && /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs", children: [
|
|
146
|
+
step.owner && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
147
|
+
/* @__PURE__ */ jsx(
|
|
148
|
+
Avatar,
|
|
149
|
+
{
|
|
150
|
+
size: "xs",
|
|
151
|
+
name: step.owner.name,
|
|
152
|
+
src: step.owner.avatarUrl,
|
|
153
|
+
alt: "",
|
|
154
|
+
"aria-hidden": true
|
|
155
|
+
}
|
|
156
|
+
),
|
|
157
|
+
step.owner.name
|
|
158
|
+
] }),
|
|
159
|
+
due && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1", children: [
|
|
160
|
+
/* @__PURE__ */ jsx(CalendarClock, { className: "size-3.5", "aria-hidden": true }),
|
|
161
|
+
/* @__PURE__ */ jsx("time", { dateTime: step.dueDate, children: withLocale(due, locale).toLocaleString(
|
|
162
|
+
DateTime.DATE_MED
|
|
163
|
+
) })
|
|
164
|
+
] }),
|
|
165
|
+
renderStepMeta?.(step)
|
|
166
|
+
] }),
|
|
167
|
+
step.note && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground mt-1 text-sm", children: step.note })
|
|
168
|
+
] })
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
step.id
|
|
172
|
+
);
|
|
173
|
+
};
|
|
174
|
+
let body;
|
|
175
|
+
if (error) {
|
|
176
|
+
body = /* @__PURE__ */ jsx(
|
|
177
|
+
RecordState,
|
|
178
|
+
{
|
|
179
|
+
kind: "error",
|
|
180
|
+
slot: "action-plan-state",
|
|
181
|
+
message: text.error,
|
|
182
|
+
retryLabel: text.retry,
|
|
183
|
+
onRetry,
|
|
184
|
+
className: classNames?.state
|
|
185
|
+
}
|
|
186
|
+
);
|
|
187
|
+
} else if (loading) {
|
|
188
|
+
body = /* @__PURE__ */ jsx(
|
|
189
|
+
RecordState,
|
|
190
|
+
{
|
|
191
|
+
kind: "loading",
|
|
192
|
+
slot: "action-plan-state",
|
|
193
|
+
message: text.loading,
|
|
194
|
+
className: classNames?.state
|
|
195
|
+
}
|
|
196
|
+
);
|
|
197
|
+
} else if (items.length === 0) {
|
|
198
|
+
body = emptyState ?? /* @__PURE__ */ jsx(
|
|
199
|
+
RecordState,
|
|
200
|
+
{
|
|
201
|
+
kind: "empty",
|
|
202
|
+
slot: "action-plan-state",
|
|
203
|
+
message: text.empty,
|
|
204
|
+
className: classNames?.state
|
|
205
|
+
}
|
|
206
|
+
);
|
|
207
|
+
} else if (arrange === "status") {
|
|
208
|
+
const SubHeading = SUB_HEADING[Heading];
|
|
209
|
+
body = STATUS_ORDER.map((status) => {
|
|
210
|
+
const group = items.filter((s) => statusOf(s) === status);
|
|
211
|
+
if (group.length === 0) return null;
|
|
212
|
+
const groupId = `${baseId}-group-${status}`;
|
|
213
|
+
return /* @__PURE__ */ jsxs(
|
|
214
|
+
"section",
|
|
215
|
+
{
|
|
216
|
+
"aria-labelledby": groupId,
|
|
217
|
+
"data-slot": "action-plan-group",
|
|
218
|
+
className: classNames?.group,
|
|
219
|
+
children: [
|
|
220
|
+
/* @__PURE__ */ jsxs(
|
|
221
|
+
SubHeading,
|
|
222
|
+
{
|
|
223
|
+
id: groupId,
|
|
224
|
+
className: "border-border bg-muted text-muted-foreground flex items-center justify-between border-y px-4 py-1.5 text-xs font-semibold tracking-wide uppercase",
|
|
225
|
+
children: [
|
|
226
|
+
statusLabel[status],
|
|
227
|
+
/* @__PURE__ */ jsx("span", { className: "font-normal tabular-nums", children: group.length })
|
|
228
|
+
]
|
|
229
|
+
}
|
|
230
|
+
),
|
|
231
|
+
/* @__PURE__ */ jsx("ul", { className: "divide-border divide-y", children: group.map(renderStep) })
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
status
|
|
235
|
+
);
|
|
236
|
+
});
|
|
237
|
+
} else {
|
|
238
|
+
const ordered = arrange === "dueDate" ? [...items].sort(
|
|
239
|
+
(a, b) => (dueOf(a)?.toMillis() ?? Infinity) - (dueOf(b)?.toMillis() ?? Infinity) || 0
|
|
240
|
+
) : items;
|
|
241
|
+
body = /* @__PURE__ */ jsx("ul", { className: "divide-border divide-y", children: ordered.map(renderStep) });
|
|
242
|
+
}
|
|
243
|
+
const headingId = `${baseId}-title`;
|
|
244
|
+
return /* @__PURE__ */ jsxs(
|
|
245
|
+
"section",
|
|
246
|
+
{
|
|
247
|
+
ref,
|
|
248
|
+
"aria-labelledby": headingId,
|
|
249
|
+
"data-slot": "action-plan",
|
|
250
|
+
className: cn(
|
|
251
|
+
"border-border bg-card overflow-hidden rounded-lg border",
|
|
252
|
+
className
|
|
253
|
+
),
|
|
254
|
+
...rest,
|
|
255
|
+
children: [
|
|
256
|
+
/* @__PURE__ */ jsxs(
|
|
257
|
+
"div",
|
|
258
|
+
{
|
|
259
|
+
"data-slot": "action-plan-header",
|
|
260
|
+
className: cn(
|
|
261
|
+
"border-border space-y-3 border-b px-4 py-3",
|
|
262
|
+
classNames?.header
|
|
263
|
+
),
|
|
264
|
+
children: [
|
|
265
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
266
|
+
/* @__PURE__ */ jsx(
|
|
267
|
+
Heading,
|
|
268
|
+
{
|
|
269
|
+
id: headingId,
|
|
270
|
+
className: "text-foreground min-w-0 flex-1 truncate text-sm font-semibold",
|
|
271
|
+
children: title ?? text.title
|
|
272
|
+
}
|
|
273
|
+
),
|
|
274
|
+
onAdd && /* @__PURE__ */ jsx(
|
|
275
|
+
Button,
|
|
276
|
+
{
|
|
277
|
+
variant: "ghost",
|
|
278
|
+
size: "sm",
|
|
279
|
+
onClick: onAdd,
|
|
280
|
+
leftIcon: /* @__PURE__ */ jsx(Plus, { className: "size-4", "aria-hidden": true }),
|
|
281
|
+
children: text.addStep
|
|
282
|
+
}
|
|
283
|
+
)
|
|
284
|
+
] }),
|
|
285
|
+
!loading && !error && items.length > 0 && /* @__PURE__ */ jsx(
|
|
286
|
+
"div",
|
|
287
|
+
{
|
|
288
|
+
"data-slot": "action-plan-progress",
|
|
289
|
+
className: classNames?.progress,
|
|
290
|
+
children: /* @__PURE__ */ jsx(
|
|
291
|
+
Progress,
|
|
292
|
+
{
|
|
293
|
+
size: "sm",
|
|
294
|
+
value: done,
|
|
295
|
+
max: items.length,
|
|
296
|
+
label: text.progress(done, items.length)
|
|
297
|
+
}
|
|
298
|
+
)
|
|
299
|
+
}
|
|
300
|
+
)
|
|
301
|
+
]
|
|
302
|
+
}
|
|
303
|
+
),
|
|
304
|
+
body
|
|
305
|
+
]
|
|
306
|
+
}
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
);
|
|
310
|
+
ActionPlan.displayName = "ActionPlan";
|
|
311
|
+
|
|
312
|
+
export { ActionPlan, defaultActionPlanLabels };
|
|
313
|
+
//# sourceMappingURL=chunk-FKGFOBC2.js.map
|
|
314
|
+
//# sourceMappingURL=chunk-FKGFOBC2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ActionPlan/ActionPlan.tsx"],"names":[],"mappings":"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","file":"chunk-FKGFOBC2.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { DateTime } from 'luxon';\nimport { CalendarClock, Plus } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Avatar } from '../Avatar';\nimport { Badge } from '../Badge';\nimport { Button } from '../Button';\nimport { Checkbox } from '../Checkbox';\nimport { Progress } from '../Progress';\nimport { accentClasses, toDateTime } from '../../views/types';\nimport { withLocale } from '../ActivityFeed/dayGroups';\nimport { RecordState } from '../ActivityFeed/RecordState';\nimport { usePendingOverrides } from '../ActivityFeed/usePendingOverrides';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport type ActionPlanStepStatus = 'todo' | 'in_progress' | 'done';\n\nexport interface ActionPlanOwner {\n name: string;\n avatarUrl?: string;\n}\n\nexport interface ActionPlanStep {\n id: string;\n title: string;\n owner?: ActionPlanOwner;\n /** ISO date or date-time. Date-only values are wall dates in `timeZone`. */\n dueDate?: string;\n status: ActionPlanStepStatus;\n note?: string;\n}\n\nexport interface ActionPlanLabels {\n title: string;\n progress: (done: number, total: number) => string;\n overdue: string;\n todo: string;\n inProgress: string;\n done: string;\n addStep: string;\n loading: string;\n empty: string;\n error: string;\n retry: string;\n}\n\nexport const defaultActionPlanLabels: ActionPlanLabels = {\n title: 'Action plan',\n progress: (done, total) => `${done} of ${total} complete`,\n overdue: 'Overdue',\n todo: 'To do',\n inProgress: 'In progress',\n done: 'Done',\n addStep: 'Add step',\n loading: 'Loading plan',\n empty: 'No steps yet',\n error: 'Could not load this plan',\n retry: 'Try again',\n};\n\nexport type ActionPlanSlot =\n | 'header'\n | 'progress'\n | 'group'\n | 'step'\n | 'overdueStep'\n | 'state';\n\nexport type ActionPlanArrange = 'manual' | 'dueDate' | 'status';\n\nexport interface ActionPlanProps extends Omit<\n React.HTMLAttributes<HTMLElement>,\n 'children' | 'title'\n> {\n items: ActionPlanStep[];\n /** Card heading. Defaults to `labels.title`. */\n title?: string;\n loading?: boolean;\n error?: Error | null;\n onRetry?: () => void;\n /** `manual` keeps `items` order; `dueDate` sorts soonest first; `status` groups by status. */\n arrange?: ActionPlanArrange;\n /** Reference for overdue checks. Defaults to the current time. */\n now?: Date;\n locale?: string;\n /** IANA zone for due dates. Defaults to local. */\n timeZone?: string;\n /** The checkbox shows the new status at once and restores it on rejection. */\n onStatusChange?: (\n id: string,\n status: ActionPlanStepStatus\n ) => void | Promise<void>;\n onAdd?: () => void;\n onOpen?: (id: string, step: ActionPlanStep) => void;\n getHref?: (id: string, step: ActionPlanStep) => string;\n /** Extra content on a step's meta line. */\n renderStepMeta?: (step: ActionPlanStep) => React.ReactNode;\n emptyState?: React.ReactNode;\n labels?: Partial<ActionPlanLabels>;\n classNames?: Partial<Record<ActionPlanSlot, string>>;\n headingLevel?: 'h2' | 'h3' | 'h4';\n}\n\nconst STATUS_ORDER: ActionPlanStepStatus[] = ['in_progress', 'todo', 'done'];\nconst SUB_HEADING = { h2: 'h3', h3: 'h4', h4: 'h5' } as const;\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * A shared checklist with progress and due dates. Declared\n * `parameters.catalog.collection` — its load states are part of the API.\n */\nexport const ActionPlan = React.forwardRef<HTMLElement, ActionPlanProps>(\n (\n {\n items,\n title,\n loading = false,\n error = null,\n onRetry,\n arrange = 'manual',\n now,\n locale,\n timeZone = 'local',\n onStatusChange,\n onAdd,\n onOpen,\n getHref,\n renderStepMeta,\n emptyState,\n labels,\n classNames,\n headingLevel: Heading = 'h3',\n className,\n ...rest\n },\n ref\n ) => {\n const text = { ...defaultActionPlanLabels, ...labels };\n const baseId = React.useId();\n const [overrides, runStatus] = usePendingOverrides<ActionPlanStepStatus>();\n const today = (now ? DateTime.fromJSDate(now) : DateTime.now())\n .setZone(timeZone)\n .startOf('day');\n\n const statusOf = (step: ActionPlanStep) =>\n overrides.get(step.id) ?? step.status;\n const statusLabel: Record<ActionPlanStepStatus, string> = {\n todo: text.todo,\n in_progress: text.inProgress,\n done: text.done,\n };\n const done = items.filter((s) => statusOf(s) === 'done').length;\n\n const dueOf = (step: ActionPlanStep) => toDateTime(step.dueDate, timeZone);\n\n const renderStep = (step: ActionPlanStep) => {\n const status = statusOf(step);\n const pending = overrides.has(step.id);\n const due = dueOf(step);\n const overdue =\n status !== 'done' && due !== null && due.startOf('day') < today;\n // Position, not the caller's id: ids with spaces would break aria-labelledby.\n const titleId = `${baseId}-step-${items.indexOf(step)}`;\n const href = getHref?.(step.id, step);\n const titleClasses = cn(\n 'text-sm font-medium',\n status === 'done'\n ? 'text-muted-foreground line-through'\n : 'text-foreground'\n );\n const focusRing =\n 'rounded-sm hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring';\n\n let titleNode: React.ReactNode = (\n <span id={titleId} className={titleClasses}>\n {step.title}\n </span>\n );\n if (href) {\n titleNode = (\n <a\n id={titleId}\n href={href}\n className={cn(titleClasses, focusRing)}\n onClick={(event) => {\n if (\n !onOpen ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.button !== 0\n )\n return;\n event.preventDefault();\n onOpen(step.id, step);\n }}\n >\n {step.title}\n </a>\n );\n } else if (onOpen) {\n titleNode = (\n <button\n id={titleId}\n type=\"button\"\n className={cn(titleClasses, focusRing, 'text-start')}\n onClick={() => onOpen(step.id, step)}\n >\n {step.title}\n </button>\n );\n }\n\n return (\n <li\n key={step.id}\n data-slot=\"action-plan-step\"\n data-overdue={overdue || undefined}\n aria-busy={pending || undefined}\n className={cn(\n 'flex items-start gap-3 px-4 py-3',\n overdue && accentClasses.destructive.tint,\n classNames?.step,\n overdue && classNames?.overdueStep\n )}\n >\n <Checkbox\n size=\"sm\"\n className=\"mt-0.5\"\n checked={status === 'done'}\n disabled={!onStatusChange || pending}\n aria-labelledby={titleId}\n onChange={(event) => {\n if (!onStatusChange) return;\n const next = event.currentTarget.checked ? 'done' : 'todo';\n void runStatus(step.id, next, () =>\n onStatusChange(step.id, next)\n );\n }}\n />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n {titleNode}\n {status === 'in_progress' && (\n <Badge size=\"sm\" variant=\"secondary\">\n {text.inProgress}\n </Badge>\n )}\n {overdue && (\n <Badge size=\"sm\" variant=\"danger\">\n {text.overdue}\n </Badge>\n )}\n </div>\n {(step.owner || due) && (\n <div className=\"text-muted-foreground mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs\">\n {step.owner && (\n <span className=\"inline-flex items-center gap-1.5\">\n <Avatar\n size=\"xs\"\n name={step.owner.name}\n src={step.owner.avatarUrl}\n alt=\"\"\n aria-hidden\n />\n {step.owner.name}\n </span>\n )}\n {due && (\n <span className=\"inline-flex items-center gap-1\">\n <CalendarClock className=\"size-3.5\" aria-hidden />\n <time dateTime={step.dueDate}>\n {withLocale(due, locale).toLocaleString(\n DateTime.DATE_MED\n )}\n </time>\n </span>\n )}\n {renderStepMeta?.(step)}\n </div>\n )}\n {step.note && (\n <p className=\"text-muted-foreground mt-1 text-sm\">{step.note}</p>\n )}\n </div>\n </li>\n );\n };\n\n let body: React.ReactNode;\n if (error) {\n body = (\n <RecordState\n kind=\"error\"\n slot=\"action-plan-state\"\n message={text.error}\n retryLabel={text.retry}\n onRetry={onRetry}\n className={classNames?.state}\n />\n );\n } else if (loading) {\n body = (\n <RecordState\n kind=\"loading\"\n slot=\"action-plan-state\"\n message={text.loading}\n className={classNames?.state}\n />\n );\n } else if (items.length === 0) {\n body = emptyState ?? (\n <RecordState\n kind=\"empty\"\n slot=\"action-plan-state\"\n message={text.empty}\n className={classNames?.state}\n />\n );\n } else if (arrange === 'status') {\n const SubHeading = SUB_HEADING[Heading];\n body = STATUS_ORDER.map((status) => {\n const group = items.filter((s) => statusOf(s) === status);\n if (group.length === 0) return null;\n const groupId = `${baseId}-group-${status}`;\n return (\n <section\n key={status}\n aria-labelledby={groupId}\n data-slot=\"action-plan-group\"\n className={classNames?.group}\n >\n <SubHeading\n id={groupId}\n className=\"border-border bg-muted text-muted-foreground flex items-center justify-between border-y px-4 py-1.5 text-xs font-semibold tracking-wide uppercase\"\n >\n {statusLabel[status]}\n <span className=\"font-normal tabular-nums\">{group.length}</span>\n </SubHeading>\n <ul className=\"divide-border divide-y\">{group.map(renderStep)}</ul>\n </section>\n );\n });\n } else {\n const ordered =\n arrange === 'dueDate'\n ? [...items].sort(\n (a, b) =>\n (dueOf(a)?.toMillis() ?? Infinity) -\n (dueOf(b)?.toMillis() ?? Infinity) || 0\n )\n : items;\n body = (\n <ul className=\"divide-border divide-y\">{ordered.map(renderStep)}</ul>\n );\n }\n\n const headingId = `${baseId}-title`;\n return (\n <section\n ref={ref}\n aria-labelledby={headingId}\n data-slot=\"action-plan\"\n className={cn(\n 'border-border bg-card overflow-hidden rounded-lg border',\n className\n )}\n {...rest}\n >\n <div\n data-slot=\"action-plan-header\"\n className={cn(\n 'border-border space-y-3 border-b px-4 py-3',\n classNames?.header\n )}\n >\n <div className=\"flex items-center gap-2\">\n <Heading\n id={headingId}\n className=\"text-foreground min-w-0 flex-1 truncate text-sm font-semibold\"\n >\n {title ?? text.title}\n </Heading>\n {onAdd && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={onAdd}\n leftIcon={<Plus className=\"size-4\" aria-hidden />}\n >\n {text.addStep}\n </Button>\n )}\n </div>\n {!loading && !error && items.length > 0 && (\n <div\n data-slot=\"action-plan-progress\"\n className={classNames?.progress}\n >\n <Progress\n size=\"sm\"\n value={done}\n max={items.length}\n label={text.progress(done, items.length)}\n />\n </div>\n )}\n </div>\n {body}\n </section>\n );\n }\n);\n\nActionPlan.displayName = 'ActionPlan';\n"]}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
6
|
+
var lucideReact = require('lucide-react');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
function _interopNamespace(e) {
|
|
10
|
+
if (e && e.__esModule) return e;
|
|
11
|
+
var n = Object.create(null);
|
|
12
|
+
if (e) {
|
|
13
|
+
Object.keys(e).forEach(function (k) {
|
|
14
|
+
if (k !== 'default') {
|
|
15
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return e[k]; }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
n.default = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
28
|
+
|
|
29
|
+
var defaultLogoUploaderLabels = {
|
|
30
|
+
upload: "Upload logo",
|
|
31
|
+
replace: "Replace logo",
|
|
32
|
+
remove: "Remove logo",
|
|
33
|
+
dropHint: "Drop an image or click to browse",
|
|
34
|
+
uploading: "Uploading\u2026",
|
|
35
|
+
removing: "Removing\u2026",
|
|
36
|
+
invalidType: "That file type is not supported.",
|
|
37
|
+
tooLarge: (maxBytes) => `Files must be ${formatBytes(maxBytes)} or smaller.`,
|
|
38
|
+
uploadFailed: "Upload failed. Try again.",
|
|
39
|
+
removeFailed: "Could not remove the logo. Try again.",
|
|
40
|
+
previewAlt: "Current logo"
|
|
41
|
+
};
|
|
42
|
+
function formatBytes(bytes) {
|
|
43
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
44
|
+
const kb = bytes / 1024;
|
|
45
|
+
if (kb < 1024) return `${Math.round(kb)} KB`;
|
|
46
|
+
return `${Math.round(kb / 1024 * 10) / 10} MB`;
|
|
47
|
+
}
|
|
48
|
+
function safeImageSrc(url) {
|
|
49
|
+
const trimmed = url?.trim();
|
|
50
|
+
if (!trimmed) return null;
|
|
51
|
+
const scheme = /^([a-z][a-z\d+.-]*):/i.exec(trimmed)?.[1].toLowerCase();
|
|
52
|
+
if (!scheme || ["http", "https", "blob"].includes(scheme)) return trimmed;
|
|
53
|
+
return /^data:image\//i.test(trimmed) ? trimmed : null;
|
|
54
|
+
}
|
|
55
|
+
function matchesAccept(file, accept) {
|
|
56
|
+
return accept.split(",").map((token) => token.trim().toLowerCase()).some((token) => {
|
|
57
|
+
if (!token) return false;
|
|
58
|
+
if (token.startsWith(".")) return file.name.toLowerCase().endsWith(token);
|
|
59
|
+
if (token.endsWith("/*")) return file.type.startsWith(token.slice(0, -1));
|
|
60
|
+
return file.type === token;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function FilePreview({ file, alt }) {
|
|
64
|
+
const canvasRef = React__namespace.useRef(null);
|
|
65
|
+
React__namespace.useEffect(() => {
|
|
66
|
+
if (typeof globalThis.createImageBitmap !== "function") return;
|
|
67
|
+
let cancelled = false;
|
|
68
|
+
globalThis.createImageBitmap(file).then((bitmap) => {
|
|
69
|
+
const canvas = canvasRef.current;
|
|
70
|
+
if (!cancelled && canvas) {
|
|
71
|
+
canvas.width = bitmap.width;
|
|
72
|
+
canvas.height = bitmap.height;
|
|
73
|
+
canvas.getContext("2d")?.drawImage(bitmap, 0, 0);
|
|
74
|
+
}
|
|
75
|
+
bitmap.close();
|
|
76
|
+
}).catch(() => {
|
|
77
|
+
});
|
|
78
|
+
return () => {
|
|
79
|
+
cancelled = true;
|
|
80
|
+
};
|
|
81
|
+
}, [file]);
|
|
82
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
|
+
"canvas",
|
|
84
|
+
{
|
|
85
|
+
ref: canvasRef,
|
|
86
|
+
role: "img",
|
|
87
|
+
"aria-label": alt,
|
|
88
|
+
className: "h-full w-full object-contain"
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
var targetVariants = classVarianceAuthority.cva(
|
|
93
|
+
[
|
|
94
|
+
"relative flex cursor-pointer items-center justify-center overflow-hidden border-2 border-dashed bg-muted/40 text-muted-foreground",
|
|
95
|
+
"transition-colors motion-reduce:transition-none hover:border-primary-500 hover:text-foreground",
|
|
96
|
+
"peer-focus-visible:ring-ring peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2",
|
|
97
|
+
"peer-disabled:cursor-not-allowed peer-disabled:opacity-50"
|
|
98
|
+
],
|
|
99
|
+
{
|
|
100
|
+
variants: {
|
|
101
|
+
shape: { square: "rounded-lg", circle: "rounded-full" },
|
|
102
|
+
size: { sm: "h-16 w-16", md: "h-24 w-24", lg: "h-32 w-32" },
|
|
103
|
+
dragging: {
|
|
104
|
+
true: "border-primary-500 bg-primary-500/10",
|
|
105
|
+
false: "border-border"
|
|
106
|
+
},
|
|
107
|
+
filled: { true: "border-solid bg-card", false: "" }
|
|
108
|
+
},
|
|
109
|
+
defaultVariants: {
|
|
110
|
+
shape: "square",
|
|
111
|
+
size: "md",
|
|
112
|
+
dragging: false,
|
|
113
|
+
filled: false
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
var LogoUploader = React__namespace.forwardRef(
|
|
118
|
+
function LogoUploader2({
|
|
119
|
+
value,
|
|
120
|
+
onUpload,
|
|
121
|
+
onRemove,
|
|
122
|
+
accept = "image/*",
|
|
123
|
+
maxSizeBytes,
|
|
124
|
+
disabled,
|
|
125
|
+
shape,
|
|
126
|
+
size,
|
|
127
|
+
labels: labelOverrides,
|
|
128
|
+
className,
|
|
129
|
+
...props
|
|
130
|
+
}, ref) {
|
|
131
|
+
const labels = { ...defaultLogoUploaderLabels, ...labelOverrides };
|
|
132
|
+
const [busy, setBusy] = React__namespace.useState(
|
|
133
|
+
null
|
|
134
|
+
);
|
|
135
|
+
const [preview, setPreview] = React__namespace.useState(null);
|
|
136
|
+
const [localFile, setLocalFile] = React__namespace.useState(null);
|
|
137
|
+
const [error, setError] = React__namespace.useState(null);
|
|
138
|
+
const [dragging, setDragging] = React__namespace.useState(false);
|
|
139
|
+
const inputRef = React__namespace.useRef(null);
|
|
140
|
+
const generation = React__namespace.useRef(0);
|
|
141
|
+
const id = React__namespace.useId();
|
|
142
|
+
const inputId = `${id}-input`;
|
|
143
|
+
const errorId = `${id}-error`;
|
|
144
|
+
React__namespace.useEffect(() => {
|
|
145
|
+
generation.current += 1;
|
|
146
|
+
setPreview(null);
|
|
147
|
+
setLocalFile(null);
|
|
148
|
+
}, [value]);
|
|
149
|
+
const shown = localFile ? null : safeImageSrc(preview ?? value);
|
|
150
|
+
const filled = !!localFile || !!shown;
|
|
151
|
+
const inactive = disabled || busy !== null;
|
|
152
|
+
const refocusInput = React__namespace.useRef(false);
|
|
153
|
+
React__namespace.useEffect(() => {
|
|
154
|
+
if (busy === null && refocusInput.current) {
|
|
155
|
+
refocusInput.current = false;
|
|
156
|
+
inputRef.current?.focus();
|
|
157
|
+
}
|
|
158
|
+
}, [busy]);
|
|
159
|
+
const handleFile = async (file) => {
|
|
160
|
+
if (!file || inactive) return;
|
|
161
|
+
if (!matchesAccept(file, accept)) return setError(labels.invalidType);
|
|
162
|
+
if (maxSizeBytes !== void 0 && file.size > maxSizeBytes) {
|
|
163
|
+
return setError(labels.tooLarge(maxSizeBytes));
|
|
164
|
+
}
|
|
165
|
+
setError(null);
|
|
166
|
+
const request = ++generation.current;
|
|
167
|
+
setPreview(null);
|
|
168
|
+
setLocalFile(file);
|
|
169
|
+
setBusy("uploading");
|
|
170
|
+
try {
|
|
171
|
+
const url = await onUpload(file);
|
|
172
|
+
if (url && request === generation.current) {
|
|
173
|
+
setLocalFile(null);
|
|
174
|
+
setPreview(url);
|
|
175
|
+
}
|
|
176
|
+
} catch {
|
|
177
|
+
if (request === generation.current) {
|
|
178
|
+
setLocalFile(null);
|
|
179
|
+
setError(labels.uploadFailed);
|
|
180
|
+
}
|
|
181
|
+
} finally {
|
|
182
|
+
setBusy(null);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
const handleRemove = async () => {
|
|
186
|
+
if (!onRemove || inactive) return;
|
|
187
|
+
setError(null);
|
|
188
|
+
setBusy("removing");
|
|
189
|
+
try {
|
|
190
|
+
await onRemove();
|
|
191
|
+
setPreview(null);
|
|
192
|
+
setLocalFile(null);
|
|
193
|
+
} catch {
|
|
194
|
+
setError(labels.removeFailed);
|
|
195
|
+
} finally {
|
|
196
|
+
refocusInput.current = true;
|
|
197
|
+
setBusy(null);
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
201
|
+
"div",
|
|
202
|
+
{
|
|
203
|
+
ref,
|
|
204
|
+
"data-slot": "logo-uploader",
|
|
205
|
+
"aria-busy": busy !== null || void 0,
|
|
206
|
+
className: chunkS5RVSXDV_cjs.cn("inline-flex flex-col items-start gap-2", className),
|
|
207
|
+
...props,
|
|
208
|
+
children: [
|
|
209
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
210
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
211
|
+
"input",
|
|
212
|
+
{
|
|
213
|
+
ref: inputRef,
|
|
214
|
+
id: inputId,
|
|
215
|
+
type: "file",
|
|
216
|
+
accept,
|
|
217
|
+
disabled: inactive,
|
|
218
|
+
"aria-label": filled ? labels.replace : labels.upload,
|
|
219
|
+
"aria-describedby": error ? errorId : void 0,
|
|
220
|
+
"aria-invalid": error ? true : void 0,
|
|
221
|
+
onChange: (e) => {
|
|
222
|
+
void handleFile(e.target.files?.[0]);
|
|
223
|
+
e.target.value = "";
|
|
224
|
+
},
|
|
225
|
+
className: "peer sr-only"
|
|
226
|
+
}
|
|
227
|
+
),
|
|
228
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
229
|
+
"label",
|
|
230
|
+
{
|
|
231
|
+
htmlFor: inputId,
|
|
232
|
+
"data-slot": "logo-uploader-target",
|
|
233
|
+
onDragOver: (e) => {
|
|
234
|
+
e.preventDefault();
|
|
235
|
+
if (!inactive) setDragging(true);
|
|
236
|
+
},
|
|
237
|
+
onDragLeave: () => setDragging(false),
|
|
238
|
+
onDrop: (e) => {
|
|
239
|
+
e.preventDefault();
|
|
240
|
+
setDragging(false);
|
|
241
|
+
void handleFile(e.dataTransfer.files?.[0]);
|
|
242
|
+
},
|
|
243
|
+
className: targetVariants({
|
|
244
|
+
shape,
|
|
245
|
+
size,
|
|
246
|
+
dragging,
|
|
247
|
+
filled
|
|
248
|
+
}),
|
|
249
|
+
children: [
|
|
250
|
+
localFile ? /* @__PURE__ */ jsxRuntime.jsx(FilePreview, { file: localFile, alt: labels.previewAlt }) : shown ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
251
|
+
"img",
|
|
252
|
+
{
|
|
253
|
+
src: shown,
|
|
254
|
+
alt: labels.previewAlt,
|
|
255
|
+
className: "h-full w-full object-contain"
|
|
256
|
+
}
|
|
257
|
+
) : /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex flex-col items-center gap-1 px-2 text-center text-xs", children: [
|
|
258
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ImagePlus, { "aria-hidden": "true", className: "h-5 w-5" }),
|
|
259
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: labels.dropHint })
|
|
260
|
+
] }),
|
|
261
|
+
busy && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
262
|
+
"span",
|
|
263
|
+
{
|
|
264
|
+
role: "status",
|
|
265
|
+
className: "bg-background/70 absolute inset-0 flex items-center justify-center",
|
|
266
|
+
children: [
|
|
267
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
268
|
+
lucideReact.Loader2,
|
|
269
|
+
{
|
|
270
|
+
"aria-hidden": "true",
|
|
271
|
+
className: "text-foreground h-5 w-5 animate-spin motion-reduce:animate-none"
|
|
272
|
+
}
|
|
273
|
+
),
|
|
274
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: busy === "uploading" ? labels.uploading : labels.removing })
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
)
|
|
278
|
+
]
|
|
279
|
+
}
|
|
280
|
+
),
|
|
281
|
+
filled && onRemove && /* @__PURE__ */ jsxRuntime.jsx(
|
|
282
|
+
"button",
|
|
283
|
+
{
|
|
284
|
+
type: "button",
|
|
285
|
+
"aria-label": labels.remove,
|
|
286
|
+
title: labels.remove,
|
|
287
|
+
disabled: inactive,
|
|
288
|
+
onClick: () => void handleRemove(),
|
|
289
|
+
className: chunkS5RVSXDV_cjs.cn(
|
|
290
|
+
"border-border bg-card text-muted-foreground absolute -end-2 -top-2 rounded-full border p-1 shadow-sm",
|
|
291
|
+
"hover:text-destructive focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
|
|
292
|
+
"disabled:cursor-not-allowed disabled:opacity-50"
|
|
293
|
+
),
|
|
294
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { "aria-hidden": "true", className: "h-3.5 w-3.5" })
|
|
295
|
+
}
|
|
296
|
+
)
|
|
297
|
+
] }),
|
|
298
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
+
"p",
|
|
300
|
+
{
|
|
301
|
+
id: errorId,
|
|
302
|
+
role: "alert",
|
|
303
|
+
"data-slot": "logo-uploader-error",
|
|
304
|
+
className: "text-destructive-700 dark:text-destructive-400 text-sm",
|
|
305
|
+
children: error
|
|
306
|
+
}
|
|
307
|
+
)
|
|
308
|
+
]
|
|
309
|
+
}
|
|
310
|
+
);
|
|
311
|
+
}
|
|
312
|
+
);
|
|
313
|
+
LogoUploader.displayName = "LogoUploader";
|
|
314
|
+
|
|
315
|
+
exports.LogoUploader = LogoUploader;
|
|
316
|
+
exports.defaultLogoUploaderLabels = defaultLogoUploaderLabels;
|
|
317
|
+
//# sourceMappingURL=chunk-FSGJXCBG.cjs.map
|
|
318
|
+
//# sourceMappingURL=chunk-FSGJXCBG.cjs.map
|