@mieweb/ui 0.10.0-dev.31 → 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 +22 -18
- package/dist/components/SuperChat/index.cjs.map +1 -1
- package/dist/components/SuperChat/index.js +10 -6
- 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,331 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkFSGEDDF2_cjs = require('./chunk-FSGEDDF2.cjs');
|
|
4
|
+
var chunkAOHJILLU_cjs = require('./chunk-AOHJILLU.cjs');
|
|
5
|
+
var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var reactDom = require('react-dom');
|
|
8
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
9
|
+
var lucideReact = require('lucide-react');
|
|
10
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
11
|
+
|
|
12
|
+
function _interopNamespace(e) {
|
|
13
|
+
if (e && e.__esModule) return e;
|
|
14
|
+
var n = Object.create(null);
|
|
15
|
+
if (e) {
|
|
16
|
+
Object.keys(e).forEach(function (k) {
|
|
17
|
+
if (k !== 'default') {
|
|
18
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
19
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return e[k]; }
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
n.default = e;
|
|
27
|
+
return Object.freeze(n);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
31
|
+
|
|
32
|
+
var defaultTagEditorLabels = {
|
|
33
|
+
input: "Add tag",
|
|
34
|
+
placeholder: "Add a tag\u2026",
|
|
35
|
+
remove: (tag) => `Remove ${tag}`,
|
|
36
|
+
duplicate: (tag) => `"${tag}" is already added`,
|
|
37
|
+
maxReached: (max) => `You can add up to ${max} tags`,
|
|
38
|
+
saving: "Saving\u2026",
|
|
39
|
+
saveFailed: "Could not save tags. Try again.",
|
|
40
|
+
suggestions: "Suggestions"
|
|
41
|
+
};
|
|
42
|
+
var containerVariants = classVarianceAuthority.cva(
|
|
43
|
+
[
|
|
44
|
+
"flex w-full flex-wrap items-center gap-1.5 rounded-lg border bg-background",
|
|
45
|
+
"focus-within:ring-ring focus-within:ring-2"
|
|
46
|
+
],
|
|
47
|
+
{
|
|
48
|
+
variants: {
|
|
49
|
+
size: { sm: "min-h-8 px-2 py-1 text-sm", md: "min-h-10 px-3 py-1.5" },
|
|
50
|
+
hasError: { true: "border-destructive", false: "border-input" }
|
|
51
|
+
},
|
|
52
|
+
defaultVariants: { size: "md", hasError: false }
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
var TagEditor = React__namespace.forwardRef(
|
|
56
|
+
function TagEditor2({
|
|
57
|
+
value,
|
|
58
|
+
onChange,
|
|
59
|
+
suggestions,
|
|
60
|
+
maxTags,
|
|
61
|
+
validate,
|
|
62
|
+
label,
|
|
63
|
+
readOnly,
|
|
64
|
+
disabled,
|
|
65
|
+
size,
|
|
66
|
+
labels: labelOverrides,
|
|
67
|
+
className,
|
|
68
|
+
...props
|
|
69
|
+
}, ref) {
|
|
70
|
+
const labels = { ...defaultTagEditorLabels, ...labelOverrides };
|
|
71
|
+
const [draft, setDraft] = React__namespace.useState("");
|
|
72
|
+
const [error, setError] = React__namespace.useState(null);
|
|
73
|
+
const [pending, setPending] = React__namespace.useState(false);
|
|
74
|
+
const [open, setOpen] = React__namespace.useState(false);
|
|
75
|
+
const [activeIndex, setActiveIndex] = React__namespace.useState(-1);
|
|
76
|
+
const inputRef = React__namespace.useRef(null);
|
|
77
|
+
const containerRef = React__namespace.useRef(null);
|
|
78
|
+
const id = React__namespace.useId();
|
|
79
|
+
const inputId = `${id}-input`;
|
|
80
|
+
const errorId = `${id}-error`;
|
|
81
|
+
const listId = `${id}-list`;
|
|
82
|
+
const { anchorRef, floatingRef, style } = chunkAOHJILLU_cjs.useAnchoredPosition({ open, matchWidth: true, maxHeight: 240 });
|
|
83
|
+
const outsideRefs = React__namespace.useMemo(
|
|
84
|
+
() => [containerRef, floatingRef],
|
|
85
|
+
[floatingRef]
|
|
86
|
+
);
|
|
87
|
+
chunkFSGEDDF2_cjs.useClickOutside(outsideRefs, () => setOpen(false), open);
|
|
88
|
+
const has = (tag) => value.some((t) => t.toLowerCase() === tag.toLowerCase());
|
|
89
|
+
const query = draft.trim().toLowerCase();
|
|
90
|
+
const matches = (suggestions ?? []).filter(
|
|
91
|
+
(s) => !has(s) && (!query || s.toLowerCase().includes(query))
|
|
92
|
+
);
|
|
93
|
+
const isOpen = open && matches.length > 0 && !pending;
|
|
94
|
+
const interactive = !readOnly && !disabled && !pending;
|
|
95
|
+
const atMax = maxTags !== void 0 && value.length >= maxTags;
|
|
96
|
+
const inFlight = React__namespace.useRef(false);
|
|
97
|
+
const commit = async (next, refocus = true) => {
|
|
98
|
+
inFlight.current = true;
|
|
99
|
+
setPending(true);
|
|
100
|
+
try {
|
|
101
|
+
await onChange(next);
|
|
102
|
+
} catch {
|
|
103
|
+
setError(labels.saveFailed);
|
|
104
|
+
} finally {
|
|
105
|
+
inFlight.current = false;
|
|
106
|
+
setPending(false);
|
|
107
|
+
if (refocus) inputRef.current?.focus();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const add = (raw, refocus = true) => {
|
|
111
|
+
if (inFlight.current) return;
|
|
112
|
+
const next = [...value];
|
|
113
|
+
for (const piece of raw) {
|
|
114
|
+
const tag = piece.trim();
|
|
115
|
+
if (!tag) continue;
|
|
116
|
+
if (next.some((t) => t.toLowerCase() === tag.toLowerCase())) {
|
|
117
|
+
setError(labels.duplicate(tag));
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (maxTags !== void 0 && next.length >= maxTags) {
|
|
121
|
+
setError(labels.maxReached(maxTags));
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const invalid = validate?.(tag);
|
|
125
|
+
if (invalid) {
|
|
126
|
+
setError(invalid);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
next.push(tag);
|
|
130
|
+
}
|
|
131
|
+
setError(null);
|
|
132
|
+
setDraft("");
|
|
133
|
+
setActiveIndex(-1);
|
|
134
|
+
if (next.length !== value.length) void commit(next, refocus);
|
|
135
|
+
};
|
|
136
|
+
const remove = (index) => {
|
|
137
|
+
if (inFlight.current) return;
|
|
138
|
+
setError(null);
|
|
139
|
+
void commit(value.filter((_, i) => i !== index));
|
|
140
|
+
};
|
|
141
|
+
const handleKeyDown = (e) => {
|
|
142
|
+
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
143
|
+
e.preventDefault();
|
|
144
|
+
setOpen(true);
|
|
145
|
+
if (!matches.length) return;
|
|
146
|
+
const step = e.key === "ArrowDown" ? 1 : -1;
|
|
147
|
+
setActiveIndex((i) => (i + step + matches.length) % matches.length);
|
|
148
|
+
} else if (e.key === "Enter" || e.key === ",") {
|
|
149
|
+
if (e.key === "Enter" && !draft.trim() && activeIndex < 0) return;
|
|
150
|
+
e.preventDefault();
|
|
151
|
+
add([isOpen && activeIndex >= 0 ? matches[activeIndex] : draft]);
|
|
152
|
+
} else if (e.key === "Backspace" && !draft && value.length) {
|
|
153
|
+
remove(value.length - 1);
|
|
154
|
+
} else if (e.key === "Escape" && isOpen) {
|
|
155
|
+
e.preventDefault();
|
|
156
|
+
setOpen(false);
|
|
157
|
+
setActiveIndex(-1);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
const handleChange = (e) => {
|
|
161
|
+
const parts = e.target.value.split(",");
|
|
162
|
+
setOpen(true);
|
|
163
|
+
setActiveIndex(-1);
|
|
164
|
+
if (parts.length > 1) {
|
|
165
|
+
add(parts.slice(0, -1));
|
|
166
|
+
setDraft(parts[parts.length - 1]);
|
|
167
|
+
} else {
|
|
168
|
+
setDraft(e.target.value);
|
|
169
|
+
if (error) setError(null);
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
173
|
+
"div",
|
|
174
|
+
{
|
|
175
|
+
ref,
|
|
176
|
+
"data-slot": "tag-editor",
|
|
177
|
+
className: chunkS5RVSXDV_cjs.cn("w-full", className),
|
|
178
|
+
...props,
|
|
179
|
+
children: [
|
|
180
|
+
label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
+
"label",
|
|
182
|
+
{
|
|
183
|
+
htmlFor: inputId,
|
|
184
|
+
className: "text-foreground mb-1.5 block text-sm font-medium",
|
|
185
|
+
children: label
|
|
186
|
+
}
|
|
187
|
+
),
|
|
188
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
189
|
+
"div",
|
|
190
|
+
{
|
|
191
|
+
ref: (node) => {
|
|
192
|
+
containerRef.current = node;
|
|
193
|
+
anchorRef.current = node;
|
|
194
|
+
},
|
|
195
|
+
"data-slot": "tag-editor-field",
|
|
196
|
+
"aria-busy": pending || void 0,
|
|
197
|
+
className: chunkS5RVSXDV_cjs.cn(
|
|
198
|
+
containerVariants({ size, hasError: !!error }),
|
|
199
|
+
disabled && "cursor-not-allowed opacity-50",
|
|
200
|
+
readOnly && "focus-within:ring-0"
|
|
201
|
+
),
|
|
202
|
+
children: [
|
|
203
|
+
value.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
204
|
+
"ul",
|
|
205
|
+
{
|
|
206
|
+
"aria-label": label ?? labels.input,
|
|
207
|
+
className: "flex max-w-full flex-wrap items-center gap-1.5",
|
|
208
|
+
children: value.map((tag, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
209
|
+
"li",
|
|
210
|
+
{
|
|
211
|
+
"data-slot": "tag-editor-tag",
|
|
212
|
+
className: "bg-primary-100 text-primary-900 dark:bg-primary-900 dark:text-primary-100 inline-flex max-w-full items-center gap-1 rounded-full py-0.5 ps-2.5 pe-1 text-sm",
|
|
213
|
+
children: [
|
|
214
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: tag }),
|
|
215
|
+
!readOnly && /* @__PURE__ */ jsxRuntime.jsx(
|
|
216
|
+
"button",
|
|
217
|
+
{
|
|
218
|
+
type: "button",
|
|
219
|
+
"aria-label": labels.remove(tag),
|
|
220
|
+
disabled: !interactive,
|
|
221
|
+
onClick: (e) => {
|
|
222
|
+
e.stopPropagation();
|
|
223
|
+
remove(index);
|
|
224
|
+
},
|
|
225
|
+
className: "hover:bg-primary-200 dark:hover:bg-primary-800 focus-visible:ring-ring rounded-full p-0.5 focus-visible:ring-2 focus-visible:outline-none disabled:opacity-50",
|
|
226
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { "aria-hidden": "true", className: "h-3 w-3" })
|
|
227
|
+
}
|
|
228
|
+
)
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
tag
|
|
232
|
+
))
|
|
233
|
+
}
|
|
234
|
+
),
|
|
235
|
+
!readOnly && /* @__PURE__ */ jsxRuntime.jsx(
|
|
236
|
+
"input",
|
|
237
|
+
{
|
|
238
|
+
ref: inputRef,
|
|
239
|
+
id: inputId,
|
|
240
|
+
type: "text",
|
|
241
|
+
role: "combobox",
|
|
242
|
+
"aria-label": label ? void 0 : labels.input,
|
|
243
|
+
"aria-expanded": isOpen,
|
|
244
|
+
"aria-controls": suggestions ? listId : void 0,
|
|
245
|
+
"aria-autocomplete": "list",
|
|
246
|
+
"aria-activedescendant": isOpen && activeIndex >= 0 ? `${listId}-${activeIndex}` : void 0,
|
|
247
|
+
"aria-invalid": error ? true : void 0,
|
|
248
|
+
"aria-describedby": error ? errorId : void 0,
|
|
249
|
+
autoComplete: "off",
|
|
250
|
+
value: draft,
|
|
251
|
+
placeholder: atMax ? void 0 : labels.placeholder,
|
|
252
|
+
disabled,
|
|
253
|
+
readOnly: pending || atMax,
|
|
254
|
+
onChange: handleChange,
|
|
255
|
+
onKeyDown: handleKeyDown,
|
|
256
|
+
onFocus: () => setOpen(true),
|
|
257
|
+
onBlur: () => {
|
|
258
|
+
setOpen(false);
|
|
259
|
+
if (draft.trim()) add([draft], false);
|
|
260
|
+
},
|
|
261
|
+
className: "placeholder:text-muted-foreground text-foreground min-w-24 flex-1 bg-transparent py-0.5 outline-none disabled:cursor-not-allowed"
|
|
262
|
+
}
|
|
263
|
+
),
|
|
264
|
+
pending && /* @__PURE__ */ jsxRuntime.jsxs("span", { role: "status", className: "inline-flex", children: [
|
|
265
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
266
|
+
lucideReact.Loader2,
|
|
267
|
+
{
|
|
268
|
+
"aria-hidden": "true",
|
|
269
|
+
className: "text-muted-foreground h-4 w-4 animate-spin motion-reduce:animate-none"
|
|
270
|
+
}
|
|
271
|
+
),
|
|
272
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: labels.saving })
|
|
273
|
+
] })
|
|
274
|
+
]
|
|
275
|
+
}
|
|
276
|
+
),
|
|
277
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
278
|
+
"p",
|
|
279
|
+
{
|
|
280
|
+
id: errorId,
|
|
281
|
+
role: "alert",
|
|
282
|
+
"data-slot": "tag-editor-error",
|
|
283
|
+
className: "text-destructive-700 dark:text-destructive-400 mt-1 text-sm",
|
|
284
|
+
children: error
|
|
285
|
+
}
|
|
286
|
+
),
|
|
287
|
+
isOpen && reactDom.createPortal(
|
|
288
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
289
|
+
"div",
|
|
290
|
+
{
|
|
291
|
+
ref: floatingRef,
|
|
292
|
+
style,
|
|
293
|
+
id: listId,
|
|
294
|
+
role: "listbox",
|
|
295
|
+
"aria-label": labels.suggestions,
|
|
296
|
+
"data-slot": "tag-editor-suggestions",
|
|
297
|
+
className: "border-border bg-card text-card-foreground overflow-auto rounded-md border py-1 shadow-lg",
|
|
298
|
+
children: matches.map((s, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
+
"button",
|
|
300
|
+
{
|
|
301
|
+
type: "button",
|
|
302
|
+
tabIndex: -1,
|
|
303
|
+
id: `${listId}-${i}`,
|
|
304
|
+
role: "option",
|
|
305
|
+
"aria-selected": i === activeIndex,
|
|
306
|
+
onMouseEnter: () => setActiveIndex(i),
|
|
307
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
308
|
+
onClick: () => add([s]),
|
|
309
|
+
className: chunkS5RVSXDV_cjs.cn(
|
|
310
|
+
"block w-full px-3 py-2 text-start text-sm",
|
|
311
|
+
i === activeIndex ? "bg-muted" : "hover:bg-muted"
|
|
312
|
+
),
|
|
313
|
+
children: s
|
|
314
|
+
},
|
|
315
|
+
s
|
|
316
|
+
))
|
|
317
|
+
}
|
|
318
|
+
),
|
|
319
|
+
document.body
|
|
320
|
+
)
|
|
321
|
+
]
|
|
322
|
+
}
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
);
|
|
326
|
+
TagEditor.displayName = "TagEditor";
|
|
327
|
+
|
|
328
|
+
exports.TagEditor = TagEditor;
|
|
329
|
+
exports.defaultTagEditorLabels = defaultTagEditorLabels;
|
|
330
|
+
//# sourceMappingURL=chunk-LSMS6DY7.cjs.map
|
|
331
|
+
//# sourceMappingURL=chunk-LSMS6DY7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/TagEditor/TagEditor.tsx"],"names":["cva","React","TagEditor","useAnchoredPosition","useClickOutside","jsxs","cn","jsx","X","Loader2","createPortal"],"mappings":"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","file":"chunk-LSMS6DY7.cjs","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Loader2, X } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { useAnchoredPosition } from '../../hooks/useAnchoredPosition';\nimport { useClickOutside } from '../../hooks/useClickOutside';\n\nexport interface TagEditorLabels {\n /** Accessible name of the text input when no visible `label` is given. */\n input: string;\n placeholder: string;\n remove: (tag: string) => string;\n duplicate: (tag: string) => string;\n maxReached: (max: number) => string;\n saving: string;\n saveFailed: string;\n /** Accessible name of the suggestions list. */\n suggestions: string;\n}\n\nexport const defaultTagEditorLabels: TagEditorLabels = {\n input: 'Add tag',\n placeholder: 'Add a tag…',\n remove: (tag) => `Remove ${tag}`,\n duplicate: (tag) => `\"${tag}\" is already added`,\n maxReached: (max) => `You can add up to ${max} tags`,\n saving: 'Saving…',\n saveFailed: 'Could not save tags. Try again.',\n suggestions: 'Suggestions',\n};\n\nconst containerVariants = cva(\n [\n 'flex w-full flex-wrap items-center gap-1.5 rounded-lg border bg-background',\n 'focus-within:ring-ring focus-within:ring-2',\n ],\n {\n variants: {\n size: { sm: 'min-h-8 px-2 py-1 text-sm', md: 'min-h-10 px-3 py-1.5' },\n hasError: { true: 'border-destructive', false: 'border-input' },\n },\n defaultVariants: { size: 'md', hasError: false },\n }\n);\n\nexport interface TagEditorProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'>,\n Omit<VariantProps<typeof containerVariants>, 'hasError'> {\n /** Current tags (controlled). */\n value: string[];\n /** Receives the next tag list. May return a promise; a rejection shows an error. */\n onChange: (tags: string[]) => void | Promise<void>;\n /** Optional values offered while typing. */\n suggestions?: string[];\n /** Maximum number of tags. */\n maxTags?: number;\n /** Return an error message to reject a tag. */\n validate?: (tag: string) => string | undefined;\n /** Visible label for the field. */\n label?: string;\n readOnly?: boolean;\n disabled?: boolean;\n /** Translatable strings. */\n labels?: Partial<TagEditorLabels>;\n}\n\n/**\n * Edit a list of free-form tags: chips with remove buttons plus an input that\n * adds on Enter or comma, with optional suggestions.\n */\nexport const TagEditor = React.forwardRef<HTMLDivElement, TagEditorProps>(\n function TagEditor(\n {\n value,\n onChange,\n suggestions,\n maxTags,\n validate,\n label,\n readOnly,\n disabled,\n size,\n labels: labelOverrides,\n className,\n ...props\n },\n ref\n ) {\n const labels = { ...defaultTagEditorLabels, ...labelOverrides };\n const [draft, setDraft] = React.useState('');\n const [error, setError] = React.useState<string | null>(null);\n const [pending, setPending] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const id = React.useId();\n const inputId = `${id}-input`;\n const errorId = `${id}-error`;\n const listId = `${id}-list`;\n\n const { anchorRef, floatingRef, style } = useAnchoredPosition<\n HTMLDivElement,\n HTMLDivElement\n >({ open, matchWidth: true, maxHeight: 240 });\n const outsideRefs = React.useMemo(\n () => [containerRef, floatingRef],\n [floatingRef]\n );\n useClickOutside(outsideRefs, () => setOpen(false), open);\n\n const has = (tag: string) =>\n value.some((t) => t.toLowerCase() === tag.toLowerCase());\n const query = draft.trim().toLowerCase();\n const matches = (suggestions ?? []).filter(\n (s) => !has(s) && (!query || s.toLowerCase().includes(query))\n );\n const isOpen = open && matches.length > 0 && !pending;\n const interactive = !readOnly && !disabled && !pending;\n const atMax = maxTags !== undefined && value.length >= maxTags;\n // State lags a render behind; the ref blocks a second save from the same tick.\n const inFlight = React.useRef(false);\n\n const commit = async (next: string[], refocus = true) => {\n inFlight.current = true;\n setPending(true);\n try {\n await onChange(next);\n } catch {\n setError(labels.saveFailed);\n } finally {\n inFlight.current = false;\n setPending(false);\n if (refocus) inputRef.current?.focus();\n }\n };\n\n const add = (raw: string[], refocus = true) => {\n if (inFlight.current) return;\n const next = [...value];\n for (const piece of raw) {\n const tag = piece.trim();\n if (!tag) continue;\n if (next.some((t) => t.toLowerCase() === tag.toLowerCase())) {\n setError(labels.duplicate(tag));\n return;\n }\n if (maxTags !== undefined && next.length >= maxTags) {\n setError(labels.maxReached(maxTags));\n return;\n }\n const invalid = validate?.(tag);\n if (invalid) {\n setError(invalid);\n return;\n }\n next.push(tag);\n }\n setError(null);\n setDraft('');\n setActiveIndex(-1);\n if (next.length !== value.length) void commit(next, refocus);\n };\n\n const remove = (index: number) => {\n if (inFlight.current) return;\n setError(null);\n void commit(value.filter((_, i) => i !== index));\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault();\n setOpen(true);\n if (!matches.length) return;\n const step = e.key === 'ArrowDown' ? 1 : -1;\n setActiveIndex((i) => (i + step + matches.length) % matches.length);\n } else if (e.key === 'Enter' || e.key === ',') {\n if (e.key === 'Enter' && !draft.trim() && activeIndex < 0) return;\n e.preventDefault();\n add([isOpen && activeIndex >= 0 ? matches[activeIndex] : draft]);\n } else if (e.key === 'Backspace' && !draft && value.length) {\n remove(value.length - 1);\n } else if (e.key === 'Escape' && isOpen) {\n e.preventDefault();\n setOpen(false);\n setActiveIndex(-1);\n }\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const parts = e.target.value.split(',');\n setOpen(true);\n setActiveIndex(-1);\n if (parts.length > 1) {\n add(parts.slice(0, -1));\n setDraft(parts[parts.length - 1]);\n } else {\n setDraft(e.target.value);\n if (error) setError(null);\n }\n };\n\n return (\n <div\n ref={ref}\n data-slot=\"tag-editor\"\n className={cn('w-full', className)}\n {...props}\n >\n {label && (\n <label\n htmlFor={inputId}\n className=\"text-foreground mb-1.5 block text-sm font-medium\"\n >\n {label}\n </label>\n )}\n <div\n ref={(node) => {\n containerRef.current = node;\n anchorRef.current = node;\n }}\n data-slot=\"tag-editor-field\"\n aria-busy={pending || undefined}\n className={cn(\n containerVariants({ size, hasError: !!error }),\n disabled && 'cursor-not-allowed opacity-50',\n readOnly && 'focus-within:ring-0'\n )}\n >\n {value.length > 0 && (\n <ul\n aria-label={label ?? labels.input}\n className=\"flex max-w-full flex-wrap items-center gap-1.5\"\n >\n {value.map((tag, index) => (\n <li\n key={tag}\n data-slot=\"tag-editor-tag\"\n className=\"bg-primary-100 text-primary-900 dark:bg-primary-900 dark:text-primary-100 inline-flex max-w-full items-center gap-1 rounded-full py-0.5 ps-2.5 pe-1 text-sm\"\n >\n <span className=\"truncate\">{tag}</span>\n {!readOnly && (\n <button\n type=\"button\"\n aria-label={labels.remove(tag)}\n disabled={!interactive}\n onClick={(e) => {\n e.stopPropagation();\n remove(index);\n }}\n className=\"hover:bg-primary-200 dark:hover:bg-primary-800 focus-visible:ring-ring rounded-full p-0.5 focus-visible:ring-2 focus-visible:outline-none disabled:opacity-50\"\n >\n <X aria-hidden=\"true\" className=\"h-3 w-3\" />\n </button>\n )}\n </li>\n ))}\n </ul>\n )}\n {!readOnly && (\n <input\n ref={inputRef}\n id={inputId}\n type=\"text\"\n role=\"combobox\"\n aria-label={label ? undefined : labels.input}\n aria-expanded={isOpen}\n aria-controls={suggestions ? listId : undefined}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n isOpen && activeIndex >= 0\n ? `${listId}-${activeIndex}`\n : undefined\n }\n aria-invalid={error ? true : undefined}\n aria-describedby={error ? errorId : undefined}\n autoComplete=\"off\"\n value={draft}\n placeholder={atMax ? undefined : labels.placeholder}\n disabled={disabled}\n readOnly={pending || atMax}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onFocus={() => setOpen(true)}\n onBlur={() => {\n setOpen(false);\n if (draft.trim()) add([draft], false);\n }}\n className=\"placeholder:text-muted-foreground text-foreground min-w-24 flex-1 bg-transparent py-0.5 outline-none disabled:cursor-not-allowed\"\n />\n )}\n {pending && (\n <span role=\"status\" className=\"inline-flex\">\n <Loader2\n aria-hidden=\"true\"\n className=\"text-muted-foreground h-4 w-4 animate-spin motion-reduce:animate-none\"\n />\n <span className=\"sr-only\">{labels.saving}</span>\n </span>\n )}\n </div>\n {error && (\n <p\n id={errorId}\n role=\"alert\"\n data-slot=\"tag-editor-error\"\n className=\"text-destructive-700 dark:text-destructive-400 mt-1 text-sm\"\n >\n {error}\n </p>\n )}\n {isOpen &&\n createPortal(\n <div\n ref={floatingRef}\n style={style}\n id={listId}\n role=\"listbox\"\n aria-label={labels.suggestions}\n data-slot=\"tag-editor-suggestions\"\n className=\"border-border bg-card text-card-foreground overflow-auto rounded-md border py-1 shadow-lg\"\n >\n {matches.map((s, i) => (\n <button\n key={s}\n type=\"button\"\n tabIndex={-1}\n id={`${listId}-${i}`}\n role=\"option\"\n aria-selected={i === activeIndex}\n onMouseEnter={() => setActiveIndex(i)}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => add([s])}\n className={cn(\n 'block w-full px-3 py-2 text-start text-sm',\n i === activeIndex ? 'bg-muted' : 'hover:bg-muted'\n )}\n >\n {s}\n </button>\n ))}\n </div>,\n document.body\n )}\n </div>\n );\n }\n);\n\nTagEditor.displayName = 'TagEditor';\n"]}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { inputVariants } from './chunk-3IMM2PM4.js';
|
|
2
|
+
import { cn } from './chunk-TQONQSJO.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { Loader2, Pencil, Check, X } from 'lucide-react';
|
|
6
|
+
import { DateTime } from 'luxon';
|
|
7
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
var defaultInlineEditLabels = {
|
|
10
|
+
edit: (label) => `Edit ${label}`,
|
|
11
|
+
save: "Save",
|
|
12
|
+
cancel: "Cancel",
|
|
13
|
+
saving: "Saving\u2026",
|
|
14
|
+
empty: "Click to add",
|
|
15
|
+
saveFailed: "Could not save. Try again."
|
|
16
|
+
};
|
|
17
|
+
var displayVariants = cva(
|
|
18
|
+
[
|
|
19
|
+
"group inline-flex w-full min-w-0 items-center gap-2 rounded-md text-start",
|
|
20
|
+
"text-foreground transition-colors motion-reduce:transition-none",
|
|
21
|
+
"hover:bg-muted focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
|
|
22
|
+
"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent"
|
|
23
|
+
],
|
|
24
|
+
{
|
|
25
|
+
variants: {
|
|
26
|
+
size: {
|
|
27
|
+
sm: "min-h-8 px-2 py-1 text-sm",
|
|
28
|
+
md: "min-h-10 px-3 py-2 text-base"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
defaultVariants: { size: "md" }
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
function defaultDisplay(value, type, options) {
|
|
35
|
+
if (type === "select") {
|
|
36
|
+
return options?.find((o) => o.value === value)?.label ?? value;
|
|
37
|
+
}
|
|
38
|
+
if (type === "date") {
|
|
39
|
+
const date = DateTime.fromISO(value);
|
|
40
|
+
return date.isValid ? date.toLocaleString(DateTime.DATE_MED) : value;
|
|
41
|
+
}
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
var InlineEdit = React.forwardRef(
|
|
45
|
+
function InlineEdit2({
|
|
46
|
+
value,
|
|
47
|
+
onSave,
|
|
48
|
+
label,
|
|
49
|
+
type = "text",
|
|
50
|
+
options,
|
|
51
|
+
placeholder,
|
|
52
|
+
validate,
|
|
53
|
+
formatDisplay,
|
|
54
|
+
readOnly,
|
|
55
|
+
disabled,
|
|
56
|
+
saveOnBlur = true,
|
|
57
|
+
size,
|
|
58
|
+
labels: labelOverrides,
|
|
59
|
+
className,
|
|
60
|
+
"aria-describedby": describedBy,
|
|
61
|
+
...props
|
|
62
|
+
}, ref) {
|
|
63
|
+
const labels = { ...defaultInlineEditLabels, ...labelOverrides };
|
|
64
|
+
const [editing, setEditing] = React.useState(false);
|
|
65
|
+
const [draft, setDraft] = React.useState(value);
|
|
66
|
+
const [pendingValue, setPendingValue] = React.useState(null);
|
|
67
|
+
const [error, setError] = React.useState(null);
|
|
68
|
+
const containerRef = React.useRef(null);
|
|
69
|
+
const displayRef = React.useRef(null);
|
|
70
|
+
const fieldRef = React.useRef(null);
|
|
71
|
+
const refocusDisplay = React.useRef(false);
|
|
72
|
+
const errorId = React.useId();
|
|
73
|
+
const describedByIds = [describedBy, error && errorId].filter(Boolean).join(" ") || void 0;
|
|
74
|
+
React.useImperativeHandle(ref, () => containerRef.current);
|
|
75
|
+
React.useEffect(() => {
|
|
76
|
+
if (editing) fieldRef.current?.focus();
|
|
77
|
+
else if (refocusDisplay.current) {
|
|
78
|
+
refocusDisplay.current = false;
|
|
79
|
+
displayRef.current?.focus();
|
|
80
|
+
}
|
|
81
|
+
}, [editing]);
|
|
82
|
+
const startEditing = () => {
|
|
83
|
+
if (disabled || readOnly || pendingValue !== null) return;
|
|
84
|
+
setDraft(value);
|
|
85
|
+
setError(null);
|
|
86
|
+
setEditing(true);
|
|
87
|
+
};
|
|
88
|
+
const cancel = (restoreFocus) => {
|
|
89
|
+
refocusDisplay.current = restoreFocus;
|
|
90
|
+
setError(null);
|
|
91
|
+
setEditing(false);
|
|
92
|
+
};
|
|
93
|
+
const commit = async (restoreFocus) => {
|
|
94
|
+
const next = type === "select" ? draft : draft.trim();
|
|
95
|
+
if (next === value) return cancel(restoreFocus);
|
|
96
|
+
const invalid = validate?.(next);
|
|
97
|
+
if (invalid) {
|
|
98
|
+
setError(invalid);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
refocusDisplay.current = restoreFocus;
|
|
102
|
+
setError(null);
|
|
103
|
+
setEditing(false);
|
|
104
|
+
setPendingValue(next);
|
|
105
|
+
try {
|
|
106
|
+
await onSave(next);
|
|
107
|
+
} catch (e) {
|
|
108
|
+
setError(
|
|
109
|
+
e instanceof Error && e.message ? e.message : labels.saveFailed
|
|
110
|
+
);
|
|
111
|
+
} finally {
|
|
112
|
+
setPendingValue(null);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
const handleKeyDown = (e) => {
|
|
116
|
+
if (e.key === "Escape") {
|
|
117
|
+
e.preventDefault();
|
|
118
|
+
cancel(true);
|
|
119
|
+
} else if (e.key === "Enter" && (type !== "textarea" || e.metaKey || e.ctrlKey)) {
|
|
120
|
+
e.preventDefault();
|
|
121
|
+
void commit(true);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const handleBlur = (e) => {
|
|
125
|
+
if (containerRef.current?.contains(e.relatedTarget)) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
if (saveOnBlur) void commit(false);
|
|
129
|
+
else cancel(false);
|
|
130
|
+
};
|
|
131
|
+
const shown = pendingValue ?? value;
|
|
132
|
+
const isEmpty = shown.trim() === "";
|
|
133
|
+
const displayContent = isEmpty ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground italic", children: placeholder ?? labels.empty }) : formatDisplay?.(shown) ?? /* @__PURE__ */ jsx("span", { className: "break-words whitespace-pre-wrap", children: defaultDisplay(shown, type, options) });
|
|
134
|
+
const errorNode = error && /* @__PURE__ */ jsx(
|
|
135
|
+
"p",
|
|
136
|
+
{
|
|
137
|
+
id: errorId,
|
|
138
|
+
role: "alert",
|
|
139
|
+
"data-slot": "inline-edit-error",
|
|
140
|
+
className: "text-destructive-700 dark:text-destructive-400 mt-1 text-sm",
|
|
141
|
+
children: error
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
if (readOnly) {
|
|
145
|
+
return /* @__PURE__ */ jsx(
|
|
146
|
+
"div",
|
|
147
|
+
{
|
|
148
|
+
ref: containerRef,
|
|
149
|
+
"data-slot": "inline-edit",
|
|
150
|
+
"data-state": "read-only",
|
|
151
|
+
"aria-describedby": describedBy,
|
|
152
|
+
className: cn(
|
|
153
|
+
displayVariants({ size }),
|
|
154
|
+
"hover:bg-transparent",
|
|
155
|
+
className
|
|
156
|
+
),
|
|
157
|
+
...props,
|
|
158
|
+
children: displayContent
|
|
159
|
+
}
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
if (!editing) {
|
|
163
|
+
return /* @__PURE__ */ jsxs(
|
|
164
|
+
"div",
|
|
165
|
+
{
|
|
166
|
+
ref: containerRef,
|
|
167
|
+
"data-slot": "inline-edit",
|
|
168
|
+
"data-state": "display",
|
|
169
|
+
className: cn("min-w-0", className),
|
|
170
|
+
...props,
|
|
171
|
+
children: [
|
|
172
|
+
/* @__PURE__ */ jsxs(
|
|
173
|
+
"button",
|
|
174
|
+
{
|
|
175
|
+
ref: displayRef,
|
|
176
|
+
type: "button",
|
|
177
|
+
"data-slot": "inline-edit-display",
|
|
178
|
+
"aria-label": labels.edit(label),
|
|
179
|
+
"aria-describedby": describedByIds,
|
|
180
|
+
"aria-busy": pendingValue !== null || void 0,
|
|
181
|
+
disabled,
|
|
182
|
+
onClick: startEditing,
|
|
183
|
+
className: displayVariants({ size }),
|
|
184
|
+
children: [
|
|
185
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1", children: displayContent }),
|
|
186
|
+
pendingValue !== null ? /* @__PURE__ */ jsxs("span", { role: "status", className: "inline-flex items-center", children: [
|
|
187
|
+
/* @__PURE__ */ jsx(
|
|
188
|
+
Loader2,
|
|
189
|
+
{
|
|
190
|
+
"aria-hidden": "true",
|
|
191
|
+
className: "text-muted-foreground h-4 w-4 animate-spin motion-reduce:animate-none"
|
|
192
|
+
}
|
|
193
|
+
),
|
|
194
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: labels.saving })
|
|
195
|
+
] }) : /* @__PURE__ */ jsx(
|
|
196
|
+
Pencil,
|
|
197
|
+
{
|
|
198
|
+
"aria-hidden": "true",
|
|
199
|
+
className: "text-muted-foreground h-3.5 w-3.5 shrink-0 opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100 motion-reduce:transition-none"
|
|
200
|
+
}
|
|
201
|
+
)
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
),
|
|
205
|
+
errorNode
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
const fieldProps = {
|
|
211
|
+
ref: fieldRef,
|
|
212
|
+
"aria-label": label,
|
|
213
|
+
"aria-invalid": error ? true : void 0,
|
|
214
|
+
"aria-describedby": describedByIds,
|
|
215
|
+
"data-slot": "inline-edit-field",
|
|
216
|
+
value: draft,
|
|
217
|
+
onChange: (e) => setDraft(e.target.value),
|
|
218
|
+
onKeyDown: handleKeyDown,
|
|
219
|
+
onBlur: handleBlur,
|
|
220
|
+
className: cn(
|
|
221
|
+
inputVariants({ size: size === "sm" ? "sm" : "md", hasError: !!error })
|
|
222
|
+
)
|
|
223
|
+
};
|
|
224
|
+
return /* @__PURE__ */ jsxs(
|
|
225
|
+
"div",
|
|
226
|
+
{
|
|
227
|
+
ref: containerRef,
|
|
228
|
+
"data-slot": "inline-edit",
|
|
229
|
+
"data-state": "editing",
|
|
230
|
+
className: cn("min-w-0", className),
|
|
231
|
+
...props,
|
|
232
|
+
children: [
|
|
233
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-1", children: [
|
|
234
|
+
type === "textarea" ? /* @__PURE__ */ jsx(
|
|
235
|
+
"textarea",
|
|
236
|
+
{
|
|
237
|
+
...fieldProps,
|
|
238
|
+
rows: 3,
|
|
239
|
+
placeholder,
|
|
240
|
+
className: cn(fieldProps.className, "h-auto min-h-20")
|
|
241
|
+
}
|
|
242
|
+
) : type === "select" ? /* @__PURE__ */ jsxs("select", { ...fieldProps, children: [
|
|
243
|
+
!options?.some((o) => o.value === draft) && /* @__PURE__ */ jsx("option", { value: draft, children: placeholder ?? "" }),
|
|
244
|
+
options?.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: o.label }, o.value))
|
|
245
|
+
] }) : /* @__PURE__ */ jsx("input", { ...fieldProps, type, placeholder }),
|
|
246
|
+
/* @__PURE__ */ jsx(
|
|
247
|
+
"button",
|
|
248
|
+
{
|
|
249
|
+
type: "button",
|
|
250
|
+
"aria-label": labels.save,
|
|
251
|
+
title: labels.save,
|
|
252
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
253
|
+
onClick: () => void commit(true),
|
|
254
|
+
onBlur: handleBlur,
|
|
255
|
+
className: "text-success hover:bg-muted focus-visible:ring-ring mt-1 rounded p-1 focus-visible:ring-2 focus-visible:outline-none",
|
|
256
|
+
children: /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "h-4 w-4" })
|
|
257
|
+
}
|
|
258
|
+
),
|
|
259
|
+
/* @__PURE__ */ jsx(
|
|
260
|
+
"button",
|
|
261
|
+
{
|
|
262
|
+
type: "button",
|
|
263
|
+
"aria-label": labels.cancel,
|
|
264
|
+
title: labels.cancel,
|
|
265
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
266
|
+
onClick: () => cancel(true),
|
|
267
|
+
onBlur: handleBlur,
|
|
268
|
+
className: "text-muted-foreground hover:bg-muted focus-visible:ring-ring mt-1 rounded p-1 focus-visible:ring-2 focus-visible:outline-none",
|
|
269
|
+
children: /* @__PURE__ */ jsx(X, { "aria-hidden": "true", className: "h-4 w-4" })
|
|
270
|
+
}
|
|
271
|
+
)
|
|
272
|
+
] }),
|
|
273
|
+
errorNode
|
|
274
|
+
]
|
|
275
|
+
}
|
|
276
|
+
);
|
|
277
|
+
}
|
|
278
|
+
);
|
|
279
|
+
InlineEdit.displayName = "InlineEdit";
|
|
280
|
+
|
|
281
|
+
export { InlineEdit, defaultInlineEditLabels };
|
|
282
|
+
//# sourceMappingURL=chunk-M3VPGJMV.js.map
|
|
283
|
+
//# sourceMappingURL=chunk-M3VPGJMV.js.map
|