@expcat/tigercat-react 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-WV5XHYW6.js → chunk-23XPDNCA.js} +6 -4
- package/dist/{chunk-UAM3RQY4.js → chunk-24NDLFPK.js} +22 -28
- package/dist/{chunk-NMKFR435.js → chunk-2LKX6CE7.js} +7 -4
- package/dist/{chunk-BEZO5IE4.js → chunk-2PV3F47T.js} +2 -2
- package/dist/{chunk-ANN5P7TJ.js → chunk-2ZA4MUO2.js} +72 -29
- package/dist/{chunk-H4AR4GXH.js → chunk-3NVMKDMH.js} +1 -8
- package/dist/{chunk-7CHTTM6D.js → chunk-3RQ3FHJ7.js} +2 -2
- package/dist/{chunk-ELRZ2ZHM.mjs → chunk-4DRJA5ZK.mjs} +15 -17
- package/dist/{chunk-J3N24I7A.mjs → chunk-4F3UTDFE.mjs} +24 -6
- package/dist/{chunk-56CTXEJS.mjs → chunk-4HMMH4XS.mjs} +24 -11
- package/dist/{chunk-ZQSMJS2Q.mjs → chunk-4MREOFVE.mjs} +3 -3
- package/dist/{chunk-EEF26RBA.mjs → chunk-4SU6D2E7.mjs} +15 -3
- package/dist/{chunk-ZZAR4IDS.js → chunk-4TPRBVW7.js} +19 -2
- package/dist/{chunk-NSEO2B74.mjs → chunk-4V5RL25M.mjs} +8 -5
- package/dist/{chunk-AUW7DCXL.js → chunk-5JYVN65W.js} +24 -6
- package/dist/{chunk-YRVAF2ID.js → chunk-5QLSTNA3.js} +7 -1
- package/dist/chunk-5SX2M3LU.mjs +319 -0
- package/dist/{chunk-FI53LYZ6.js → chunk-5UREMEDS.js} +24 -8
- package/dist/chunk-6LGCAGNG.js +312 -0
- package/dist/{chunk-KED5S2WG.mjs → chunk-6REMGSLS.mjs} +22 -11
- package/dist/{chunk-PNAWOJ32.js → chunk-6S5QOTXZ.js} +14 -2
- package/dist/{chunk-4AMSYFYC.js → chunk-6SG2N4WF.js} +7 -7
- package/dist/{chunk-YSGM22AH.mjs → chunk-6UIVNRAR.mjs} +7 -4
- package/dist/{chunk-IZGXDHPB.mjs → chunk-7RI5W465.mjs} +19 -25
- package/dist/{chunk-DCKBVRLI.js → chunk-7UZ7O7KX.js} +63 -16
- package/dist/{chunk-WZUADPYB.js → chunk-7YI5TAPT.js} +2 -5
- package/dist/chunk-AI4V7L6K.mjs +230 -0
- package/dist/chunk-AQOXANET.mjs +222 -0
- package/dist/{chunk-HHMYERHY.mjs → chunk-ATSI3UKS.mjs} +2 -1
- package/dist/{chunk-ZRHDNGWO.js → chunk-BR3WLDH7.js} +16 -2
- package/dist/{chunk-2Y5NIPHB.mjs → chunk-BRPOEVRT.mjs} +32 -3
- package/dist/{chunk-I7FEGKX2.mjs → chunk-CR4QBH46.mjs} +36 -11
- package/dist/{chunk-7U6VWD4H.mjs → chunk-CSJGNEHR.mjs} +2 -2
- package/dist/{chunk-ANBNSUSR.js → chunk-CXXOZLP4.js} +31 -21
- package/dist/{chunk-DVEK5SO6.mjs → chunk-D4X3NBAI.mjs} +8 -3
- package/dist/{chunk-QIL24WZD.mjs → chunk-DEQZZKY5.mjs} +12 -7
- package/dist/{chunk-TEYL5X56.js → chunk-DH4B2COV.js} +105 -36
- package/dist/{chunk-BONUUJU3.mjs → chunk-DJOFM2VO.mjs} +1 -8
- package/dist/{chunk-SQTOVSDU.mjs → chunk-DO3MVZZN.mjs} +12 -6
- package/dist/{chunk-SDZKL3IB.mjs → chunk-E355NVP7.mjs} +35 -14
- package/dist/{chunk-CNNEUJR2.js → chunk-ENJMHEQU.js} +44 -19
- package/dist/{chunk-BRA3PO53.js → chunk-FBIBHTBG.js} +2 -2
- package/dist/{chunk-P36GX65N.js → chunk-FCCHM2B4.js} +40 -4
- package/dist/{chunk-4LIDROT4.js → chunk-FFDK6PEP.js} +7 -4
- package/dist/{chunk-R2KUNFDN.mjs → chunk-GA4YOE57.mjs} +2 -2
- package/dist/{chunk-3E76U2RG.js → chunk-GADCSCH2.js} +33 -5
- package/dist/{chunk-JOB47R6Q.mjs → chunk-GCOA4AO6.mjs} +72 -29
- package/dist/{chunk-M6YXUNOU.mjs → chunk-GOUSXJEY.mjs} +2 -2
- package/dist/{chunk-GDPU5MYA.js → chunk-GPAY5F7D.js} +11 -6
- package/dist/{chunk-TNTOSFGN.mjs → chunk-GQPKHMHA.mjs} +1 -1
- package/dist/{chunk-NKSYX4R7.mjs → chunk-GTDLZF7K.mjs} +2 -2
- package/dist/{chunk-OXQOKKTP.mjs → chunk-H7D7UBDC.mjs} +2 -2
- package/dist/{chunk-KYNWNTGO.js → chunk-HFGTJEQW.js} +82 -29
- package/dist/{chunk-J6OZWT3P.js → chunk-HVAG26CK.js} +3 -3
- package/dist/{chunk-SLEXEH7R.mjs → chunk-HWZSMV2M.mjs} +3 -11
- package/dist/{chunk-EJKOUI26.js → chunk-I5UB4FN3.js} +3 -3
- package/dist/{chunk-NVI2P7VH.js → chunk-I6VHGILW.js} +21 -9
- package/dist/{chunk-EOU6WZTS.js → chunk-I7OSNH5T.js} +34 -5
- package/dist/{chunk-L24PPXLV.js → chunk-IFB3OECJ.js} +1 -0
- package/dist/{chunk-376X7SDZ.mjs → chunk-IXAPFTTD.mjs} +7 -6
- package/dist/{chunk-EHIXCFD7.js → chunk-JHRFG5PG.js} +57 -12
- package/dist/{chunk-3EB42WFR.mjs → chunk-KCPGFO5R.mjs} +2 -2
- package/dist/{chunk-G3PBQ4B4.mjs → chunk-KQ4ZKXXN.mjs} +52 -2
- package/dist/{chunk-MC26ORSN.js → chunk-KSXGH3FO.js} +7 -7
- package/dist/{chunk-X7JAYXPY.js → chunk-KVWSVDAJ.js} +4 -4
- package/dist/{chunk-OFRKYQOZ.mjs → chunk-LACDTZTE.mjs} +4 -4
- package/dist/{chunk-YH57D4AV.mjs → chunk-LAKPYMBZ.mjs} +1 -0
- package/dist/{chunk-6GU5NH5F.mjs → chunk-LBXNMCXN.mjs} +33 -5
- package/dist/{chunk-KGMVRIYC.mjs → chunk-LOM6NNQK.mjs} +29 -16
- package/dist/{chunk-WFWEMXO7.mjs → chunk-LUABLBKS.mjs} +83 -30
- package/dist/{chunk-K2TXT5HQ.js → chunk-M577W3TS.js} +101 -85
- package/dist/{chunk-3EDASNTG.js → chunk-MOYZF62V.js} +29 -16
- package/dist/{chunk-ZDNQGS4O.js → chunk-MQIVMK24.js} +4 -4
- package/dist/{chunk-WMPCN7OF.mjs → chunk-MZCGQED3.mjs} +15 -3
- package/dist/{chunk-KDXKF6B2.mjs → chunk-MZPKFMQC.mjs} +1 -1
- package/dist/{chunk-AG4HRAW2.mjs → chunk-NEHSCSQP.mjs} +2 -2
- package/dist/chunk-NG3OBMKV.js +319 -0
- package/dist/{chunk-RFHPG4KN.js → chunk-NGSJGXUZ.js} +15 -17
- package/dist/{chunk-WIWTY74F.mjs → chunk-NJHZQBA7.mjs} +16 -2
- package/dist/{chunk-EQD2U4KM.js → chunk-O2N7ITWQ.js} +63 -16
- package/dist/{chunk-NASC6XHN.mjs → chunk-O6YIPNXX.mjs} +24 -15
- package/dist/{chunk-VHGCWZ6V.mjs → chunk-OTRPN5ZG.mjs} +58 -13
- package/dist/{chunk-QIKR5EFI.js → chunk-OVJO5NYW.js} +4 -4
- package/dist/{chunk-KXT2TP6A.mjs → chunk-P2WQIVXD.mjs} +22 -10
- package/dist/{chunk-PT5T5F4H.js → chunk-PQF5VLNX.js} +22 -11
- package/dist/chunk-PQOUWJAT.mjs +211 -0
- package/dist/{chunk-OS6M3IZF.js → chunk-PSCPLUGP.js} +5 -13
- package/dist/{chunk-ULWT6W6M.mjs → chunk-PZB24FST.mjs} +10 -5
- package/dist/{chunk-BO45CU4Q.js → chunk-PZWI4YNN.js} +6 -4
- package/dist/{chunk-PFYK2V3E.js → chunk-Q2OXQNWU.js} +73 -9
- package/dist/{chunk-VM4ZQHT5.mjs → chunk-QANWBRNU.mjs} +59 -12
- package/dist/{chunk-XBM76P27.mjs → chunk-QFUIGOOM.mjs} +4 -2
- package/dist/{chunk-BN4ZKCAI.mjs → chunk-QKNORS26.mjs} +49 -36
- package/dist/{chunk-LROHXQWX.js → chunk-R4PMBWU3.js} +2 -2
- package/dist/chunk-R56UOY6C.js +222 -0
- package/dist/chunk-RNHC7BON.js +230 -0
- package/dist/{chunk-7PXALKLM.js → chunk-RRO752KE.js} +11 -10
- package/dist/{chunk-RVLV63SI.mjs → chunk-S4NGDDAM.mjs} +105 -36
- package/dist/{chunk-D5MQBUP2.js → chunk-SA3N2LUB.js} +22 -17
- package/dist/{chunk-BROIZ266.js → chunk-SFBSI3J7.js} +6 -3
- package/dist/{chunk-RVO6R37N.mjs → chunk-SHDQJ5BJ.mjs} +1 -1
- package/dist/{chunk-N2JYU4JI.js → chunk-SHU7L4NM.js} +52 -2
- package/dist/{chunk-M3MOSUZO.mjs → chunk-SI3P3V75.mjs} +16 -6
- package/dist/{chunk-UVMQJOTX.js → chunk-SK7PXSVE.js} +23 -14
- package/dist/{chunk-U356F7GU.js → chunk-SO2ADQTB.js} +52 -11
- package/dist/{chunk-NKKIJQMV.mjs → chunk-SPIPFOGD.mjs} +4 -2
- package/dist/{chunk-NQNHM4OL.mjs → chunk-SRC7JHME.mjs} +1 -1
- package/dist/{chunk-2RBHQBSG.js → chunk-SXTMVZ4W.js} +25 -12
- package/dist/{chunk-BEM7XG2L.js → chunk-SYJJKI7U.js} +35 -14
- package/dist/{chunk-RYNLPRUM.mjs → chunk-SYVMCKPR.mjs} +1 -1
- package/dist/{chunk-SY23FAXK.mjs → chunk-T6HNFCOW.mjs} +24 -8
- package/dist/{chunk-ZITBUGBH.mjs → chunk-TBMDIAZI.mjs} +59 -12
- package/dist/{chunk-B63GEB2Y.js → chunk-TIDVBSXR.js} +47 -34
- package/dist/{chunk-ZJI2VLIL.js → chunk-TLDTBCT6.js} +15 -3
- package/dist/{chunk-XFPJYKBQ.js → chunk-TN7GMDME.js} +13 -9
- package/dist/{chunk-M3FVPPMM.js → chunk-TO4SSBAJ.js} +17 -12
- package/dist/{chunk-XTQUPDRI.js → chunk-TPU6S7G7.js} +2 -2
- package/dist/{chunk-NEZ445D4.mjs → chunk-TRXNHYWB.mjs} +3 -3
- package/dist/{chunk-H6NC6SBX.js → chunk-TVEO2CFD.js} +2 -2
- package/dist/{chunk-6QQBMZQ6.mjs → chunk-U2ZXZ2KQ.mjs} +74 -10
- package/dist/{chunk-AVLIUHOS.mjs → chunk-U337RHJB.mjs} +4 -4
- package/dist/{chunk-VC26SAXB.js → chunk-UQZ4RLTI.js} +12 -6
- package/dist/{chunk-PXO2F2CS.mjs → chunk-V23KR23W.mjs} +47 -4
- package/dist/{chunk-BA6TJQZL.js → chunk-V3QEV3TL.js} +6 -6
- package/dist/{chunk-GG72T6JK.js → chunk-VOSN3IQC.js} +47 -4
- package/dist/{chunk-J4OQ2VRH.mjs → chunk-W6T3CG7U.mjs} +45 -4
- package/dist/{chunk-OTEM4FVX.mjs → chunk-WGKNAOW7.mjs} +11 -7
- package/dist/chunk-WLFLQB4R.mjs +312 -0
- package/dist/{chunk-W6AWN7BC.js → chunk-WLORVPTR.js} +4 -4
- package/dist/{chunk-J5N5OQWB.mjs → chunk-WOEX4S6J.mjs} +5 -2
- package/dist/{chunk-CAQPYJFA.mjs → chunk-WT72F56O.mjs} +1 -1
- package/dist/{chunk-7Z64GEMN.js → chunk-WTASPL6V.js} +3 -1
- package/dist/{chunk-2LYV6NBJ.mjs → chunk-WTIEJCRV.mjs} +7 -1
- package/dist/{chunk-L6KSO66F.mjs → chunk-WYPTAUCX.mjs} +2 -5
- package/dist/{chunk-CC5GFX6F.js → chunk-XKMZ5AMS.js} +2 -1
- package/dist/{chunk-WCTNQYXO.js → chunk-XMD7CQQ2.js} +12 -7
- package/dist/{chunk-7DUHHRAU.mjs → chunk-Y5X3G2LD.mjs} +41 -5
- package/dist/{chunk-ZA5EFHET.mjs → chunk-Z6BDNV3S.mjs} +18 -1
- package/dist/{chunk-UBP7HZSU.mjs → chunk-ZG2W4HS5.mjs} +6 -4
- package/dist/{chunk-UIIOZEUP.js → chunk-ZLCVJXGL.js} +4 -4
- package/dist/{chunk-CME2IFUT.mjs → chunk-ZLP4XEAO.mjs} +21 -16
- package/dist/{chunk-YID7J6ZK.js → chunk-ZXVLZKLT.js} +1 -1
- package/dist/components/ActivityFeed.js +6 -6
- package/dist/components/ActivityFeed.mjs +5 -5
- package/dist/components/AreaChart.js +4 -4
- package/dist/components/AreaChart.mjs +3 -3
- package/dist/components/AutoComplete.js +3 -2
- package/dist/components/AutoComplete.mjs +2 -1
- package/dist/components/BackTop.js +2 -2
- package/dist/components/BackTop.mjs +1 -1
- package/dist/components/Badge.js +3 -2
- package/dist/components/Badge.mjs +2 -1
- package/dist/components/BarChart.js +4 -4
- package/dist/components/BarChart.mjs +3 -3
- package/dist/components/Breadcrumb.d.mts +1 -1
- package/dist/components/Breadcrumb.d.ts +1 -1
- package/dist/components/Calendar.d.mts +2 -10
- package/dist/components/Calendar.d.ts +2 -10
- package/dist/components/Calendar.js +3 -2
- package/dist/components/Calendar.mjs +2 -1
- package/dist/components/Cascader.js +2 -2
- package/dist/components/Cascader.mjs +1 -1
- package/dist/components/ChartAxis.d.mts +1 -2
- package/dist/components/ChartAxis.d.ts +1 -2
- package/dist/components/ChartGrid.d.mts +1 -2
- package/dist/components/ChartGrid.d.ts +1 -2
- package/dist/components/ChartLegend.js +2 -2
- package/dist/components/ChartLegend.mjs +1 -1
- package/dist/components/ChartSeries.d.mts +1 -2
- package/dist/components/ChartSeries.d.ts +1 -2
- package/dist/components/ChartTooltip.js +2 -2
- package/dist/components/ChartTooltip.mjs +1 -1
- package/dist/components/ChatWindow.js +8 -6
- package/dist/components/ChatWindow.mjs +7 -5
- package/dist/components/CodeEditor.js +2 -2
- package/dist/components/CodeEditor.mjs +1 -1
- package/dist/components/CommentThread.js +6 -4
- package/dist/components/CommentThread.mjs +5 -3
- package/dist/components/CropUpload.d.mts +6 -2
- package/dist/components/CropUpload.d.ts +6 -2
- package/dist/components/CropUpload.js +4 -4
- package/dist/components/CropUpload.mjs +3 -3
- package/dist/components/DataTableWithToolbar.d.mts +1 -2
- package/dist/components/DataTableWithToolbar.d.ts +1 -2
- package/dist/components/DataTableWithToolbar.js +7 -6
- package/dist/components/DataTableWithToolbar.mjs +6 -5
- package/dist/components/DatePicker.js +3 -2
- package/dist/components/DatePicker.mjs +2 -1
- package/dist/components/DonutChart.js +5 -5
- package/dist/components/DonutChart.mjs +4 -4
- package/dist/components/Empty.js +3 -2
- package/dist/components/Empty.mjs +2 -1
- package/dist/components/FileManager.d.mts +3 -23
- package/dist/components/FileManager.d.ts +3 -23
- package/dist/components/FileManager.js +2 -2
- package/dist/components/FileManager.mjs +1 -1
- package/dist/components/FloatButton.js +2 -2
- package/dist/components/FloatButton.mjs +1 -1
- package/dist/components/Form.js +2 -2
- package/dist/components/Form.mjs +1 -1
- package/dist/components/FormItem.js +3 -3
- package/dist/components/FormItem.mjs +2 -2
- package/dist/components/FormWizard.js +3 -3
- package/dist/components/FormWizard.mjs +2 -2
- package/dist/components/FunnelChart.js +4 -4
- package/dist/components/FunnelChart.mjs +3 -3
- package/dist/components/GaugeChart.js +3 -2
- package/dist/components/GaugeChart.mjs +2 -1
- package/dist/components/HeatmapChart.js +3 -3
- package/dist/components/HeatmapChart.mjs +2 -2
- package/dist/components/Image.js +5 -4
- package/dist/components/Image.mjs +4 -3
- package/dist/components/ImageAnnotation.d.mts +1 -1
- package/dist/components/ImageAnnotation.d.ts +1 -1
- package/dist/components/ImageAnnotation.js +3 -2
- package/dist/components/ImageAnnotation.mjs +2 -1
- package/dist/components/ImageCropper.js +3 -2
- package/dist/components/ImageCropper.mjs +2 -1
- package/dist/components/ImageGroup.js +4 -3
- package/dist/components/ImageGroup.mjs +3 -2
- package/dist/components/ImagePreview.js +3 -2
- package/dist/components/ImagePreview.mjs +2 -1
- package/dist/components/ImageViewer.d.mts +2 -0
- package/dist/components/ImageViewer.d.ts +2 -0
- package/dist/components/ImageViewer.js +3 -2
- package/dist/components/ImageViewer.mjs +2 -1
- package/dist/components/InfiniteScroll.js +2 -2
- package/dist/components/InfiniteScroll.mjs +1 -1
- package/dist/components/Input.js +3 -2
- package/dist/components/Input.mjs +2 -1
- package/dist/components/InputNumber.js +3 -2
- package/dist/components/InputNumber.mjs +2 -1
- package/dist/components/Kanban.d.mts +5 -1
- package/dist/components/Kanban.d.ts +5 -1
- package/dist/components/Kanban.js +3 -3
- package/dist/components/Kanban.mjs +2 -2
- package/dist/components/LineChart.js +4 -4
- package/dist/components/LineChart.mjs +3 -3
- package/dist/components/List.d.mts +1 -2
- package/dist/components/List.d.ts +1 -2
- package/dist/components/List.js +3 -3
- package/dist/components/List.mjs +2 -2
- package/dist/components/Loading.js +2 -2
- package/dist/components/Loading.mjs +1 -1
- package/dist/components/MarkdownEditor.js +2 -2
- package/dist/components/MarkdownEditor.mjs +1 -1
- package/dist/components/Menu.d.mts +2 -2
- package/dist/components/Menu.d.ts +2 -2
- package/dist/components/MenuItem.d.mts +1 -1
- package/dist/components/MenuItem.d.ts +1 -1
- package/dist/components/MenuItemGroup.d.mts +1 -1
- package/dist/components/MenuItemGroup.d.ts +1 -1
- package/dist/components/Message.d.mts +2 -1
- package/dist/components/Message.d.ts +2 -1
- package/dist/components/Message.js +2 -2
- package/dist/components/Message.mjs +1 -1
- package/dist/components/Modal.js +2 -2
- package/dist/components/Modal.mjs +1 -1
- package/dist/components/NotificationCenter.js +6 -6
- package/dist/components/NotificationCenter.mjs +5 -5
- package/dist/components/PieChart.js +4 -4
- package/dist/components/PieChart.mjs +3 -3
- package/dist/components/QRCode.d.mts +2 -1
- package/dist/components/QRCode.d.ts +2 -1
- package/dist/components/QRCode.js +3 -2
- package/dist/components/QRCode.mjs +2 -1
- package/dist/components/RadarChart.js +4 -4
- package/dist/components/RadarChart.mjs +3 -3
- package/dist/components/Rate.js +2 -2
- package/dist/components/Rate.mjs +1 -1
- package/dist/components/Resizable.js +2 -2
- package/dist/components/Resizable.mjs +1 -1
- package/dist/components/Result.js +2 -2
- package/dist/components/Result.mjs +1 -1
- package/dist/components/RichTextEditor.js +2 -2
- package/dist/components/RichTextEditor.mjs +1 -1
- package/dist/components/ScatterChart.js +4 -4
- package/dist/components/ScatterChart.mjs +3 -3
- package/dist/components/Segmented.d.mts +1 -1
- package/dist/components/Segmented.d.ts +1 -1
- package/dist/components/Segmented.js +2 -2
- package/dist/components/Segmented.mjs +1 -1
- package/dist/components/Select.js +2 -2
- package/dist/components/Select.mjs +1 -1
- package/dist/components/Slider.js +2 -2
- package/dist/components/Slider.mjs +1 -1
- package/dist/components/Splitter.js +2 -2
- package/dist/components/Splitter.mjs +1 -1
- package/dist/components/Steps.js +2 -2
- package/dist/components/Steps.mjs +1 -1
- package/dist/components/StepsItem.js +2 -2
- package/dist/components/StepsItem.mjs +1 -1
- package/dist/components/SubMenu.d.mts +1 -1
- package/dist/components/SubMenu.d.ts +1 -1
- package/dist/components/SunburstChart.js +4 -4
- package/dist/components/SunburstChart.mjs +3 -3
- package/dist/components/TabPane.js +2 -2
- package/dist/components/TabPane.mjs +1 -1
- package/dist/components/Table.d.mts +2 -2
- package/dist/components/Table.d.ts +2 -2
- package/dist/components/Table.js +4 -4
- package/dist/components/Table.mjs +3 -3
- package/dist/components/Tabs.d.mts +0 -4
- package/dist/components/Tabs.d.ts +0 -4
- package/dist/components/Tabs.js +2 -2
- package/dist/components/Tabs.mjs +1 -1
- package/dist/components/Tag.js +3 -2
- package/dist/components/Tag.mjs +2 -1
- package/dist/components/TaskBoard.d.mts +3 -1
- package/dist/components/TaskBoard.d.ts +3 -1
- package/dist/components/TaskBoard.js +2 -2
- package/dist/components/TaskBoard.mjs +1 -1
- package/dist/components/Textarea.js +3 -2
- package/dist/components/Textarea.mjs +2 -1
- package/dist/components/TimePicker.js +2 -2
- package/dist/components/TimePicker.mjs +1 -1
- package/dist/components/Timeline.d.mts +5 -1
- package/dist/components/Timeline.d.ts +5 -1
- package/dist/components/Timeline.js +3 -2
- package/dist/components/Timeline.mjs +2 -1
- package/dist/components/Tour.js +4 -3
- package/dist/components/Tour.mjs +3 -2
- package/dist/components/Transfer.js +2 -2
- package/dist/components/Transfer.mjs +1 -1
- package/dist/components/Tree.js +3 -3
- package/dist/components/Tree.mjs +2 -2
- package/dist/components/TreeMapChart.js +4 -4
- package/dist/components/TreeMapChart.mjs +3 -3
- package/dist/components/Upload.js +2 -2
- package/dist/components/Upload.mjs +1 -1
- package/dist/components/VirtualList.js +2 -2
- package/dist/components/VirtualList.mjs +1 -1
- package/dist/components/VirtualTable.d.mts +7 -2
- package/dist/components/VirtualTable.d.ts +7 -2
- package/dist/components/VirtualTable.js +2 -2
- package/dist/components/VirtualTable.mjs +1 -1
- package/dist/index.d.mts +52 -53
- package/dist/index.d.ts +52 -53
- package/dist/index.js +81 -81
- package/dist/index.mjs +80 -80
- package/dist/{types-DaC4a0Ny.d.ts → types-CcgZY0mv.d.mts} +2 -2
- package/dist/{types-DaC4a0Ny.d.mts → types-CcgZY0mv.d.ts} +2 -2
- package/package.json +6 -6
- package/dist/chunk-5EVHVZG5.js +0 -131
- package/dist/chunk-AF2AEZKM.js +0 -165
- package/dist/chunk-CDRQSKXT.mjs +0 -195
- package/dist/chunk-EPJ6W4VI.mjs +0 -165
- package/dist/chunk-GYQ2DN6Z.mjs +0 -174
- package/dist/chunk-MTIGGMHG.mjs +0 -180
- package/dist/chunk-NDGA3N6H.js +0 -180
- package/dist/chunk-S5Y6UHAK.mjs +0 -131
- package/dist/chunk-T7KO6EVK.js +0 -174
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Modal
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SI3P3V75.mjs";
|
|
4
4
|
import {
|
|
5
5
|
ImageCropper
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-T6HNFCOW.mjs";
|
|
7
7
|
import {
|
|
8
8
|
Button
|
|
9
9
|
} from "./chunk-5TE7KLE5.mjs";
|
|
10
|
+
import {
|
|
11
|
+
useTigerConfig
|
|
12
|
+
} from "./chunk-QAIBQHIO.mjs";
|
|
10
13
|
|
|
11
14
|
// src/components/CropUpload.tsx
|
|
12
15
|
import { useState, useRef, useCallback, useMemo } from "react";
|
|
@@ -18,21 +21,30 @@ import {
|
|
|
18
21
|
validateUploadFile,
|
|
19
22
|
readFileAsDataUrl,
|
|
20
23
|
getCropperResult,
|
|
21
|
-
isActivationKey
|
|
24
|
+
isActivationKey,
|
|
25
|
+
getImageEditorLabels,
|
|
26
|
+
mergeTigerLocale
|
|
22
27
|
} from "@expcat/tigercat-core";
|
|
23
28
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
24
29
|
var CropUpload = ({
|
|
30
|
+
locale,
|
|
25
31
|
accept = "image/*",
|
|
26
32
|
disabled = false,
|
|
27
33
|
maxSize,
|
|
28
34
|
cropperProps,
|
|
29
|
-
modalTitle
|
|
30
|
-
modalWidth
|
|
35
|
+
modalTitle,
|
|
36
|
+
modalWidth = 520,
|
|
31
37
|
className,
|
|
32
38
|
children,
|
|
33
39
|
onCropComplete,
|
|
34
40
|
onError
|
|
35
41
|
}) => {
|
|
42
|
+
const config = useTigerConfig();
|
|
43
|
+
const mergedLocale = useMemo(
|
|
44
|
+
() => mergeTigerLocale(config.locale, locale),
|
|
45
|
+
[config.locale, locale]
|
|
46
|
+
);
|
|
47
|
+
const labels = useMemo(() => getImageEditorLabels(mergedLocale), [mergedLocale]);
|
|
36
48
|
const fileInputRef = useRef(null);
|
|
37
49
|
const cropperRef = useRef(null);
|
|
38
50
|
const [modalVisible, setModalVisible] = useState(false);
|
|
@@ -112,7 +124,7 @@ var CropUpload = ({
|
|
|
112
124
|
onClick: handleTriggerClick,
|
|
113
125
|
role: "button",
|
|
114
126
|
tabIndex: disabled ? -1 : 0,
|
|
115
|
-
"aria-label":
|
|
127
|
+
"aria-label": labels.selectImageAriaLabel,
|
|
116
128
|
"aria-disabled": disabled ? "true" : void 0,
|
|
117
129
|
onKeyDown: handleKeyDown,
|
|
118
130
|
children: children || /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -135,7 +147,7 @@ var CropUpload = ({
|
|
|
135
147
|
)
|
|
136
148
|
}
|
|
137
149
|
),
|
|
138
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
150
|
+
/* @__PURE__ */ jsx("span", { children: labels.selectImageText })
|
|
139
151
|
] })
|
|
140
152
|
}
|
|
141
153
|
),
|
|
@@ -144,16 +156,17 @@ var CropUpload = ({
|
|
|
144
156
|
{
|
|
145
157
|
open: modalVisible,
|
|
146
158
|
size: "lg",
|
|
147
|
-
|
|
159
|
+
width: modalWidth,
|
|
160
|
+
title: modalTitle ?? labels.cropModalTitle,
|
|
148
161
|
className: "tiger-crop-upload-modal",
|
|
149
162
|
closable: true,
|
|
150
163
|
maskClosable: false,
|
|
151
164
|
onClose: handleCancel,
|
|
152
165
|
footer: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-3", children: [
|
|
153
|
-
/* @__PURE__ */ jsx(Button, { variant: "secondary", onClick: handleCancel, children:
|
|
154
|
-
/* @__PURE__ */ jsx(Button, { onClick: handleConfirm, loading: cropping, children:
|
|
166
|
+
/* @__PURE__ */ jsx(Button, { variant: "secondary", onClick: handleCancel, children: labels.cropCancelText }),
|
|
167
|
+
/* @__PURE__ */ jsx(Button, { onClick: handleConfirm, loading: cropping, children: labels.cropConfirmText })
|
|
155
168
|
] }),
|
|
156
|
-
children: imageSrc && /* @__PURE__ */ jsx(ImageCropper, { ref: cropperRef, src: imageSrc, ...cropperProps })
|
|
169
|
+
children: imageSrc && /* @__PURE__ */ jsx(ImageCropper, { ref: cropperRef, src: imageSrc, locale, ...cropperProps })
|
|
157
170
|
}
|
|
158
171
|
)
|
|
159
172
|
] });
|
|
@@ -88,8 +88,8 @@ var Cascader = (props) => {
|
|
|
88
88
|
const isSearchMode = showSearch && searchQuery.length > 0;
|
|
89
89
|
const flattenedOptions = useMemo(() => {
|
|
90
90
|
if (!showSearch) return [];
|
|
91
|
-
return flattenCascaderOptions(options);
|
|
92
|
-
}, [showSearch, options]);
|
|
91
|
+
return flattenCascaderOptions(options, [], [], changeOnSelect);
|
|
92
|
+
}, [showSearch, options, changeOnSelect]);
|
|
93
93
|
const searchResults = useMemo(() => {
|
|
94
94
|
if (!isSearchMode) return [];
|
|
95
95
|
return filterCascaderOptions(flattenedOptions, searchQuery, showSearch);
|
|
@@ -270,7 +270,7 @@ var Cascader = (props) => {
|
|
|
270
270
|
disabled: item.disabled
|
|
271
271
|
}),
|
|
272
272
|
onClick: () => handleSearchResultClick(item.valuePath, item.disabled),
|
|
273
|
-
children: item.label
|
|
273
|
+
children: typeof showSearch === "object" && showSearch.render ? showSearch.render(searchQuery, item.path) : item.label
|
|
274
274
|
},
|
|
275
275
|
item.valuePath.join(",")
|
|
276
276
|
)) })
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useTigerConfig
|
|
3
|
+
} from "./chunk-QAIBQHIO.mjs";
|
|
4
|
+
|
|
1
5
|
// src/components/Badge.tsx
|
|
2
|
-
import React from "react";
|
|
6
|
+
import React, { useMemo } from "react";
|
|
3
7
|
import {
|
|
4
8
|
classNames,
|
|
5
9
|
getBadgeVariantClasses,
|
|
@@ -10,11 +14,14 @@ import {
|
|
|
10
14
|
badgeWrapperClasses,
|
|
11
15
|
badgePositionClasses,
|
|
12
16
|
formatBadgeContent,
|
|
13
|
-
shouldHideBadge
|
|
17
|
+
shouldHideBadge,
|
|
18
|
+
getStatusLabels,
|
|
19
|
+
mergeTigerLocale
|
|
14
20
|
} from "@expcat/tigercat-core";
|
|
15
21
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
16
22
|
var Badge = React.memo(
|
|
17
23
|
({
|
|
24
|
+
locale,
|
|
18
25
|
variant = "danger",
|
|
19
26
|
size = "md",
|
|
20
27
|
type = "number",
|
|
@@ -28,6 +35,11 @@ var Badge = React.memo(
|
|
|
28
35
|
["aria-label"]: ariaLabelProp,
|
|
29
36
|
...props
|
|
30
37
|
}) => {
|
|
38
|
+
const config = useTigerConfig();
|
|
39
|
+
const labels = useMemo(
|
|
40
|
+
() => getStatusLabels(mergeTigerLocale(config.locale, locale)),
|
|
41
|
+
[config.locale, locale]
|
|
42
|
+
);
|
|
31
43
|
const isDot = type === "dot";
|
|
32
44
|
const isHidden = shouldHideBadge(content, type, showZero);
|
|
33
45
|
const displayContent = formatBadgeContent(content, max, showZero);
|
|
@@ -39,7 +51,7 @@ var Badge = React.memo(
|
|
|
39
51
|
!standalone && badgePositionClasses[position],
|
|
40
52
|
className
|
|
41
53
|
);
|
|
42
|
-
const computedAriaLabel = ariaLabelProp ?? (isDot ?
|
|
54
|
+
const computedAriaLabel = ariaLabelProp ?? (isDot ? labels.badgeLabel : type === "number" ? labels.badgeCountLabel.replace("{count}", String(displayContent)) : `${displayContent ?? ""}`);
|
|
43
55
|
if (isHidden) {
|
|
44
56
|
return standalone ? null : /* @__PURE__ */ jsx(Fragment, { children });
|
|
45
57
|
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
var _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
|
|
4
|
+
|
|
5
|
+
// src/components/Timeline.tsx
|
|
2
6
|
var _react = require('react');
|
|
3
7
|
|
|
4
8
|
|
|
@@ -12,6 +16,8 @@ var _react = require('react');
|
|
|
12
16
|
|
|
13
17
|
|
|
14
18
|
|
|
19
|
+
|
|
20
|
+
|
|
15
21
|
var _tigercatcore = require('@expcat/tigercat-core');
|
|
16
22
|
var _jsxruntime = require('react/jsx-runtime');
|
|
17
23
|
var Timeline = ({
|
|
@@ -24,8 +30,14 @@ var Timeline = ({
|
|
|
24
30
|
renderItem,
|
|
25
31
|
renderDot: customRenderDot,
|
|
26
32
|
className,
|
|
33
|
+
locale,
|
|
27
34
|
...ulProps
|
|
28
35
|
}) => {
|
|
36
|
+
const config = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
|
|
37
|
+
const mergedLocale = _react.useMemo.call(void 0,
|
|
38
|
+
() => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
|
|
39
|
+
[config.locale, locale]
|
|
40
|
+
);
|
|
29
41
|
const processedItems = _react.useMemo.call(void 0, () => {
|
|
30
42
|
let result = reverse ? [...items].reverse() : [...items];
|
|
31
43
|
if (mode === "alternate") {
|
|
@@ -88,9 +100,14 @@ var Timeline = ({
|
|
|
88
100
|
const itemClasses = _tigercatcore.getTimelineItemClasses.call(void 0, mode, position, true);
|
|
89
101
|
const headClasses = _tigercatcore.getTimelineHeadClasses.call(void 0, mode);
|
|
90
102
|
const contentClasses = _tigercatcore.getTimelineContentClasses.call(void 0, mode, position);
|
|
103
|
+
const pendingText = _tigercatcore.resolveLocaleText.call(void 0,
|
|
104
|
+
"Loading...",
|
|
105
|
+
_optionalChain([mergedLocale, 'optionalAccess', _ => _.timeline, 'optionalAccess', _2 => _2.pendingText]),
|
|
106
|
+
_optionalChain([mergedLocale, 'optionalAccess', _3 => _3.common, 'optionalAccess', _4 => _4.loadingText])
|
|
107
|
+
);
|
|
91
108
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { className: itemClasses, children: [
|
|
92
109
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: headClasses, children: renderDotElement({}, true) }),
|
|
93
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: contentClasses, children: pendingContent || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.timelineDescriptionClasses, children:
|
|
110
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: contentClasses, children: pendingContent || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.timelineDescriptionClasses, children: pendingText }) })
|
|
94
111
|
] }, "pending");
|
|
95
112
|
};
|
|
96
113
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -8,7 +8,8 @@ import {
|
|
|
8
8
|
backTopContainerClasses,
|
|
9
9
|
backTopHiddenClasses,
|
|
10
10
|
backTopVisibleClasses,
|
|
11
|
-
backTopIconPath
|
|
11
|
+
backTopIconPath,
|
|
12
|
+
isBrowser
|
|
12
13
|
} from "@expcat/tigercat-core";
|
|
13
14
|
import { jsx } from "react/jsx-runtime";
|
|
14
15
|
var DefaultIcon = () => /* @__PURE__ */ jsx(
|
|
@@ -24,7 +25,7 @@ var DefaultIcon = () => /* @__PURE__ */ jsx(
|
|
|
24
25
|
children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: backTopIconPath })
|
|
25
26
|
}
|
|
26
27
|
);
|
|
27
|
-
var getDefaultTarget = () => window;
|
|
28
|
+
var getDefaultTarget = () => isBrowser() ? window : null;
|
|
28
29
|
var BackTop = ({
|
|
29
30
|
visibilityHeight = 400,
|
|
30
31
|
target = getDefaultTarget,
|
|
@@ -36,8 +37,10 @@ var BackTop = ({
|
|
|
36
37
|
...props
|
|
37
38
|
}) => {
|
|
38
39
|
const [visible, setVisible] = useState(false);
|
|
40
|
+
const [targetElement, setTargetElement] = useState(null);
|
|
39
41
|
useEffect(() => {
|
|
40
42
|
const el = target();
|
|
43
|
+
setTargetElement(el);
|
|
41
44
|
if (!el) return;
|
|
42
45
|
const visibilityController = createBackTopVisibilityController({
|
|
43
46
|
target: el,
|
|
@@ -49,6 +52,7 @@ var BackTop = ({
|
|
|
49
52
|
return () => {
|
|
50
53
|
el.removeEventListener("scroll", visibilityController.schedule);
|
|
51
54
|
visibilityController.cancel();
|
|
55
|
+
setTargetElement(null);
|
|
52
56
|
};
|
|
53
57
|
}, [target, visibilityHeight]);
|
|
54
58
|
const handleClick = useCallback(
|
|
@@ -60,14 +64,13 @@ var BackTop = ({
|
|
|
60
64
|
[target, duration, onClick]
|
|
61
65
|
);
|
|
62
66
|
const buttonClasses = useMemo(() => {
|
|
63
|
-
const
|
|
64
|
-
const positionClasses = !el || el === window ? backTopButtonClasses : backTopContainerClasses;
|
|
67
|
+
const positionClasses = !targetElement || targetElement === window ? backTopButtonClasses : backTopContainerClasses;
|
|
65
68
|
return classNames(
|
|
66
69
|
positionClasses,
|
|
67
70
|
visible ? backTopVisibleClasses : backTopHiddenClasses,
|
|
68
71
|
className
|
|
69
72
|
);
|
|
70
|
-
}, [
|
|
73
|
+
}, [targetElement, visible, className]);
|
|
71
74
|
return /* @__PURE__ */ jsx(
|
|
72
75
|
"button",
|
|
73
76
|
{
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true})
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
var _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
|
|
4
|
+
|
|
5
|
+
// src/components/QRCode.tsx
|
|
2
6
|
var _react = require('react');
|
|
3
7
|
var _tigercatcore = require('@expcat/tigercat-core');
|
|
4
8
|
|
|
@@ -17,11 +21,25 @@ var QRCode = ({
|
|
|
17
21
|
level: _level = "M",
|
|
18
22
|
status = "active",
|
|
19
23
|
onRefresh,
|
|
20
|
-
className
|
|
24
|
+
className,
|
|
25
|
+
locale
|
|
21
26
|
}) => {
|
|
27
|
+
const config = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
|
|
28
|
+
const mergedLocale = _react.useMemo.call(void 0,
|
|
29
|
+
() => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
|
|
30
|
+
[config.locale, locale]
|
|
31
|
+
);
|
|
22
32
|
const matrix = _react.useMemo.call(void 0, () => _tigercatcore.generateQRMatrix.call(void 0, value), [value]);
|
|
23
33
|
const moduleSize = _react.useMemo.call(void 0, () => size / matrix.length, [size, matrix.length]);
|
|
24
34
|
const containerClass = _tigercatcore.classNames.call(void 0, _tigercatcore.qrcodeContainerClasses, className);
|
|
35
|
+
const ariaLabel = _tigercatcore.resolveLocaleText.call(void 0, "QR Code", _optionalChain([mergedLocale, 'optionalAccess', _ => _.qrcode, 'optionalAccess', _2 => _2.ariaLabel]));
|
|
36
|
+
const expiredText = _tigercatcore.resolveLocaleText.call(void 0, "QR code expired", _optionalChain([mergedLocale, 'optionalAccess', _3 => _3.qrcode, 'optionalAccess', _4 => _4.expiredText]));
|
|
37
|
+
const refreshText = _tigercatcore.resolveLocaleText.call(void 0, "Refresh", _optionalChain([mergedLocale, 'optionalAccess', _5 => _5.qrcode, 'optionalAccess', _6 => _6.refreshText]));
|
|
38
|
+
const loadingText = _tigercatcore.resolveLocaleText.call(void 0,
|
|
39
|
+
"Loading...",
|
|
40
|
+
_optionalChain([mergedLocale, 'optionalAccess', _7 => _7.qrcode, 'optionalAccess', _8 => _8.loadingText]),
|
|
41
|
+
_optionalChain([mergedLocale, 'optionalAccess', _9 => _9.common, 'optionalAccess', _10 => _10.loadingText])
|
|
42
|
+
);
|
|
25
43
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: containerClass, style: { width: size, height: size }, children: [
|
|
26
44
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
27
45
|
"svg",
|
|
@@ -31,7 +49,7 @@ var QRCode = ({
|
|
|
31
49
|
viewBox: `0 0 ${size} ${size}`,
|
|
32
50
|
xmlns: "http://www.w3.org/2000/svg",
|
|
33
51
|
role: "img",
|
|
34
|
-
"aria-label":
|
|
52
|
+
"aria-label": ariaLabel,
|
|
35
53
|
children: [
|
|
36
54
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: size, height: size, fill: bgColor }),
|
|
37
55
|
matrix.flatMap(
|
|
@@ -53,10 +71,10 @@ var QRCode = ({
|
|
|
53
71
|
}
|
|
54
72
|
),
|
|
55
73
|
status === "expired" && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.qrcodeOverlayClasses, children: [
|
|
56
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _tigercatcore.qrcodeExpiredTextClasses, children:
|
|
57
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _tigercatcore.qrcodeRefreshClasses, onClick: onRefresh, children:
|
|
74
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _tigercatcore.qrcodeExpiredTextClasses, children: expiredText }),
|
|
75
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _tigercatcore.qrcodeRefreshClasses, onClick: onRefresh, children: refreshText })
|
|
58
76
|
] }),
|
|
59
|
-
status === "loading" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.qrcodeOverlayClasses, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-gray-500", children:
|
|
77
|
+
status === "loading" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.qrcodeOverlayClasses, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-gray-500", children: loadingText }) })
|
|
60
78
|
] });
|
|
61
79
|
};
|
|
62
80
|
var QRCode_default = QRCode;
|
|
@@ -22,6 +22,7 @@ var _react = require('react');
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
|
|
25
26
|
var _tigercatcore = require('@expcat/tigercat-core');
|
|
26
27
|
var _jsxruntime = require('react/jsx-runtime');
|
|
27
28
|
var Loading = ({
|
|
@@ -36,9 +37,14 @@ var Loading = ({
|
|
|
36
37
|
lockScroll = true,
|
|
37
38
|
className,
|
|
38
39
|
style,
|
|
40
|
+
locale,
|
|
39
41
|
...props
|
|
40
42
|
}) => {
|
|
41
43
|
const config = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
|
|
44
|
+
const mergedLocale = _react.useMemo.call(void 0,
|
|
45
|
+
() => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
|
|
46
|
+
[config.locale, locale]
|
|
47
|
+
);
|
|
42
48
|
const [visible, setVisible] = _react.useState.call(void 0, delay <= 0);
|
|
43
49
|
_react.useEffect.call(void 0, () => {
|
|
44
50
|
_tigercatcore.injectLoadingAnimationStyles.call(void 0, );
|
|
@@ -121,7 +127,7 @@ var Loading = ({
|
|
|
121
127
|
className: containerClasses,
|
|
122
128
|
style: mergedStyle,
|
|
123
129
|
role: "status",
|
|
124
|
-
"aria-label": text || _tigercatcore.resolveLocaleText.call(void 0, "Loading", _optionalChain([
|
|
130
|
+
"aria-label": text || _tigercatcore.resolveLocaleText.call(void 0, "Loading", _optionalChain([mergedLocale, 'optionalAccess', _ => _.common, 'optionalAccess', _2 => _2.loadingText])),
|
|
125
131
|
"aria-live": "polite",
|
|
126
132
|
"aria-busy": true,
|
|
127
133
|
...props,
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useTigerConfig
|
|
3
|
+
} from "./chunk-QAIBQHIO.mjs";
|
|
4
|
+
|
|
5
|
+
// src/components/FileManager.tsx
|
|
6
|
+
import { useCallback, useMemo, useRef, useState } from "react";
|
|
7
|
+
import {
|
|
8
|
+
classNames,
|
|
9
|
+
getFileManagerContainerClasses,
|
|
10
|
+
getFileItemClasses,
|
|
11
|
+
deriveFileManagerModel,
|
|
12
|
+
toggleFileSelection,
|
|
13
|
+
resolveFileOpen,
|
|
14
|
+
sliceBreadcrumbPath,
|
|
15
|
+
toFileDragItem,
|
|
16
|
+
applyFileDragReorder,
|
|
17
|
+
formatFileSizeLabel,
|
|
18
|
+
getFileManagerLabels,
|
|
19
|
+
fileManagerToolbarClasses,
|
|
20
|
+
fileManagerBreadcrumbClasses,
|
|
21
|
+
fileManagerBreadcrumbItemClasses,
|
|
22
|
+
fileManagerBreadcrumbSeparatorClasses,
|
|
23
|
+
fileManagerContentClasses,
|
|
24
|
+
fileManagerItemIconClasses,
|
|
25
|
+
fileManagerItemNameClasses,
|
|
26
|
+
fileManagerItemMetaClasses,
|
|
27
|
+
fileManagerEmptyClasses,
|
|
28
|
+
fileManagerLoadingClasses,
|
|
29
|
+
fileManagerSearchClasses,
|
|
30
|
+
resolveLocaleText,
|
|
31
|
+
mergeTigerLocale
|
|
32
|
+
} from "@expcat/tigercat-core";
|
|
33
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
34
|
+
var FileManager = ({
|
|
35
|
+
files = [],
|
|
36
|
+
viewMode = "list",
|
|
37
|
+
selectedKeys = [],
|
|
38
|
+
multiple = false,
|
|
39
|
+
columns,
|
|
40
|
+
sortField = "name",
|
|
41
|
+
sortOrder = "asc",
|
|
42
|
+
currentPath = [],
|
|
43
|
+
showHidden = false,
|
|
44
|
+
draggable = false,
|
|
45
|
+
loading = false,
|
|
46
|
+
emptyText,
|
|
47
|
+
searchable = false,
|
|
48
|
+
searchText = "",
|
|
49
|
+
className,
|
|
50
|
+
onSelect,
|
|
51
|
+
onOpen,
|
|
52
|
+
onNavigate,
|
|
53
|
+
onSelectedKeysChange,
|
|
54
|
+
onCurrentPathChange,
|
|
55
|
+
onSearchTextChange,
|
|
56
|
+
onReorder,
|
|
57
|
+
renderIcon,
|
|
58
|
+
locale
|
|
59
|
+
}) => {
|
|
60
|
+
const config = useTigerConfig();
|
|
61
|
+
const mergedLocale = useMemo(
|
|
62
|
+
() => mergeTigerLocale(config.locale, locale),
|
|
63
|
+
[config.locale, locale]
|
|
64
|
+
);
|
|
65
|
+
const [localSearch, setLocalSearch] = useState(searchText);
|
|
66
|
+
const [focusedIndex, setFocusedIndex] = useState(0);
|
|
67
|
+
const contentRef = useRef(null);
|
|
68
|
+
const dragFromIndex = useRef(null);
|
|
69
|
+
const labels = useMemo(() => getFileManagerLabels(mergedLocale), [mergedLocale]);
|
|
70
|
+
const metaColumns = columns ?? ["size", "modified"];
|
|
71
|
+
const showSizeColumn = metaColumns.includes("size");
|
|
72
|
+
const showModifiedColumn = metaColumns.includes("modified");
|
|
73
|
+
const showTypeColumn = metaColumns.includes("type");
|
|
74
|
+
const model = useMemo(
|
|
75
|
+
() => deriveFileManagerModel({
|
|
76
|
+
files,
|
|
77
|
+
currentPath,
|
|
78
|
+
selectedKeys,
|
|
79
|
+
sortField,
|
|
80
|
+
sortOrder,
|
|
81
|
+
showHidden,
|
|
82
|
+
searchText: localSearch || searchText
|
|
83
|
+
}),
|
|
84
|
+
[files, currentPath, selectedKeys, sortField, sortOrder, showHidden, localSearch, searchText]
|
|
85
|
+
);
|
|
86
|
+
const containerClasses = useMemo(() => getFileManagerContainerClasses(className), [className]);
|
|
87
|
+
const handleSelect = useCallback(
|
|
88
|
+
(item) => {
|
|
89
|
+
if (item.disabled) return;
|
|
90
|
+
onSelect?.(item);
|
|
91
|
+
const keys = toggleFileSelection(selectedKeys, item.key, multiple);
|
|
92
|
+
onSelectedKeysChange?.(keys);
|
|
93
|
+
},
|
|
94
|
+
[selectedKeys, multiple, onSelect, onSelectedKeysChange]
|
|
95
|
+
);
|
|
96
|
+
const handleOpen = useCallback(
|
|
97
|
+
(item) => {
|
|
98
|
+
const result = resolveFileOpen(item, currentPath);
|
|
99
|
+
if (!result) return;
|
|
100
|
+
if (result.type === "navigate") {
|
|
101
|
+
onCurrentPathChange?.(result.path);
|
|
102
|
+
onNavigate?.(result.path);
|
|
103
|
+
} else {
|
|
104
|
+
onOpen?.(result.item);
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
[currentPath, onOpen, onNavigate, onCurrentPathChange]
|
|
108
|
+
);
|
|
109
|
+
const navigateToBreadcrumb = useCallback(
|
|
110
|
+
(index) => {
|
|
111
|
+
const newPath = sliceBreadcrumbPath(currentPath, index);
|
|
112
|
+
onCurrentPathChange?.(newPath);
|
|
113
|
+
onNavigate?.(newPath);
|
|
114
|
+
},
|
|
115
|
+
[currentPath, onNavigate, onCurrentPathChange]
|
|
116
|
+
);
|
|
117
|
+
const breadcrumbItems = [
|
|
118
|
+
/* @__PURE__ */ jsx(
|
|
119
|
+
"span",
|
|
120
|
+
{
|
|
121
|
+
className: fileManagerBreadcrumbItemClasses,
|
|
122
|
+
onClick: () => navigateToBreadcrumb(0),
|
|
123
|
+
children: labels.rootText
|
|
124
|
+
},
|
|
125
|
+
"root"
|
|
126
|
+
),
|
|
127
|
+
...currentPath.flatMap((seg, i) => [
|
|
128
|
+
/* @__PURE__ */ jsx("span", { className: fileManagerBreadcrumbSeparatorClasses, children: "/" }, `sep-${i}`),
|
|
129
|
+
/* @__PURE__ */ jsx(
|
|
130
|
+
"span",
|
|
131
|
+
{
|
|
132
|
+
className: fileManagerBreadcrumbItemClasses,
|
|
133
|
+
onClick: () => navigateToBreadcrumb(i + 1),
|
|
134
|
+
children: seg
|
|
135
|
+
},
|
|
136
|
+
`path-${i}`
|
|
137
|
+
)
|
|
138
|
+
])
|
|
139
|
+
];
|
|
140
|
+
const contentClass = viewMode === "grid" ? `${fileManagerContentClasses} grid grid-cols-4 gap-2` : fileManagerContentClasses;
|
|
141
|
+
const firstEnabledIndex = model.processedItems.findIndex((item) => !item.disabled);
|
|
142
|
+
const focusedItem = focusedIndex >= 0 && !model.processedItems[focusedIndex]?.disabled ? focusedIndex : firstEnabledIndex;
|
|
143
|
+
const focusItemAt = useCallback((index) => {
|
|
144
|
+
requestAnimationFrame(() => {
|
|
145
|
+
contentRef.current?.querySelector(`[data-option-index="${index}"]`)?.focus();
|
|
146
|
+
});
|
|
147
|
+
}, []);
|
|
148
|
+
const moveFocus = useCallback(
|
|
149
|
+
(current, direction) => {
|
|
150
|
+
if (model.processedItems.length === 0) return;
|
|
151
|
+
let next = current;
|
|
152
|
+
for (let i = 0; i < model.processedItems.length; i += 1) {
|
|
153
|
+
next = (next + direction + model.processedItems.length) % model.processedItems.length;
|
|
154
|
+
if (!model.processedItems[next]?.disabled) {
|
|
155
|
+
setFocusedIndex(next);
|
|
156
|
+
focusItemAt(next);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
[focusItemAt, model.processedItems]
|
|
162
|
+
);
|
|
163
|
+
const handleItemKeyDown = useCallback(
|
|
164
|
+
(event, item, index) => {
|
|
165
|
+
switch (event.key) {
|
|
166
|
+
case "ArrowDown":
|
|
167
|
+
case "ArrowRight":
|
|
168
|
+
event.preventDefault();
|
|
169
|
+
moveFocus(index, 1);
|
|
170
|
+
return;
|
|
171
|
+
case "ArrowUp":
|
|
172
|
+
case "ArrowLeft":
|
|
173
|
+
event.preventDefault();
|
|
174
|
+
moveFocus(index, -1);
|
|
175
|
+
return;
|
|
176
|
+
case "Home":
|
|
177
|
+
event.preventDefault();
|
|
178
|
+
if (firstEnabledIndex >= 0) {
|
|
179
|
+
setFocusedIndex(firstEnabledIndex);
|
|
180
|
+
focusItemAt(firstEnabledIndex);
|
|
181
|
+
}
|
|
182
|
+
return;
|
|
183
|
+
case "End": {
|
|
184
|
+
event.preventDefault();
|
|
185
|
+
let lastEnabledIndex = -1;
|
|
186
|
+
for (let next = model.processedItems.length - 1; next >= 0; next -= 1) {
|
|
187
|
+
if (!model.processedItems[next]?.disabled) {
|
|
188
|
+
lastEnabledIndex = next;
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if (lastEnabledIndex >= 0) {
|
|
193
|
+
setFocusedIndex(lastEnabledIndex);
|
|
194
|
+
focusItemAt(lastEnabledIndex);
|
|
195
|
+
}
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
case " ":
|
|
199
|
+
event.preventDefault();
|
|
200
|
+
handleSelect(item);
|
|
201
|
+
return;
|
|
202
|
+
case "Enter":
|
|
203
|
+
event.preventDefault();
|
|
204
|
+
handleSelect(item);
|
|
205
|
+
handleOpen(item);
|
|
206
|
+
return;
|
|
207
|
+
default:
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
[firstEnabledIndex, focusItemAt, handleOpen, handleSelect, model.processedItems, moveFocus]
|
|
212
|
+
);
|
|
213
|
+
const handleDragStart = useCallback(
|
|
214
|
+
(event, item, index) => {
|
|
215
|
+
if (!draggable || item.disabled) return;
|
|
216
|
+
dragFromIndex.current = index;
|
|
217
|
+
event.dataTransfer.effectAllowed = "move";
|
|
218
|
+
event.dataTransfer.setData("text/plain", String(toFileDragItem(item, index).id));
|
|
219
|
+
},
|
|
220
|
+
[draggable]
|
|
221
|
+
);
|
|
222
|
+
const handleDragOver = useCallback(
|
|
223
|
+
(event) => {
|
|
224
|
+
if (!draggable || dragFromIndex.current === null) return;
|
|
225
|
+
event.preventDefault();
|
|
226
|
+
event.dataTransfer.dropEffect = "move";
|
|
227
|
+
},
|
|
228
|
+
[draggable]
|
|
229
|
+
);
|
|
230
|
+
const handleDrop = useCallback(
|
|
231
|
+
(event, toIndex) => {
|
|
232
|
+
if (!draggable) return;
|
|
233
|
+
const fromIndex = dragFromIndex.current;
|
|
234
|
+
dragFromIndex.current = null;
|
|
235
|
+
if (fromIndex === null || fromIndex === toIndex) return;
|
|
236
|
+
event.preventDefault();
|
|
237
|
+
const items = model.processedItems;
|
|
238
|
+
const reordered = applyFileDragReorder(items, {
|
|
239
|
+
item: toFileDragItem(items[fromIndex], fromIndex),
|
|
240
|
+
fromIndex,
|
|
241
|
+
toIndex,
|
|
242
|
+
fromContainerId: "",
|
|
243
|
+
toContainerId: ""
|
|
244
|
+
});
|
|
245
|
+
onReorder?.(reordered, fromIndex, toIndex);
|
|
246
|
+
},
|
|
247
|
+
[draggable, model.processedItems, onReorder]
|
|
248
|
+
);
|
|
249
|
+
return /* @__PURE__ */ jsxs("div", { className: classNames(containerClasses), children: [
|
|
250
|
+
/* @__PURE__ */ jsxs("div", { className: fileManagerToolbarClasses, children: [
|
|
251
|
+
/* @__PURE__ */ jsx("nav", { className: fileManagerBreadcrumbClasses, "aria-label": "File path", children: breadcrumbItems }),
|
|
252
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1" }),
|
|
253
|
+
searchable && /* @__PURE__ */ jsx(
|
|
254
|
+
"input",
|
|
255
|
+
{
|
|
256
|
+
type: "text",
|
|
257
|
+
className: fileManagerSearchClasses,
|
|
258
|
+
placeholder: resolveLocaleText("Search...", mergedLocale?.common?.searchPlaceholder),
|
|
259
|
+
value: localSearch,
|
|
260
|
+
onChange: (e) => {
|
|
261
|
+
setLocalSearch(e.target.value);
|
|
262
|
+
onSearchTextChange?.(e.target.value);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
)
|
|
266
|
+
] }),
|
|
267
|
+
model.processedItems.length > 0 ? /* @__PURE__ */ jsx(
|
|
268
|
+
"div",
|
|
269
|
+
{
|
|
270
|
+
ref: contentRef,
|
|
271
|
+
className: contentClass,
|
|
272
|
+
role: "listbox",
|
|
273
|
+
"aria-multiselectable": multiple,
|
|
274
|
+
children: model.processedItems.map((item, index) => {
|
|
275
|
+
const isSelected = model.selectedSet.has(item.key);
|
|
276
|
+
const itemClass = getFileItemClasses(viewMode, isSelected);
|
|
277
|
+
const dragItem = draggable && !item.disabled ? toFileDragItem(item, index) : void 0;
|
|
278
|
+
return /* @__PURE__ */ jsxs(
|
|
279
|
+
"div",
|
|
280
|
+
{
|
|
281
|
+
className: itemClass,
|
|
282
|
+
role: "option",
|
|
283
|
+
"aria-selected": isSelected,
|
|
284
|
+
tabIndex: !item.disabled && index === focusedItem ? 0 : -1,
|
|
285
|
+
"data-option-index": index,
|
|
286
|
+
"data-disabled": item.disabled || void 0,
|
|
287
|
+
"data-drag-id": dragItem?.id,
|
|
288
|
+
onFocus: () => {
|
|
289
|
+
if (!item.disabled) setFocusedIndex(index);
|
|
290
|
+
},
|
|
291
|
+
onKeyDown: (event) => handleItemKeyDown(event, item, index),
|
|
292
|
+
onClick: () => handleSelect(item),
|
|
293
|
+
onDoubleClick: () => handleOpen(item),
|
|
294
|
+
draggable: draggable && !item.disabled,
|
|
295
|
+
onDragStart: (event) => handleDragStart(event, item, index),
|
|
296
|
+
onDragOver: handleDragOver,
|
|
297
|
+
onDrop: (event) => handleDrop(event, index),
|
|
298
|
+
children: [
|
|
299
|
+
renderIcon ? renderIcon(item) : /* @__PURE__ */ jsx("span", { className: fileManagerItemIconClasses, "aria-hidden": "true", children: item.type === "folder" ? "\u{1F4C1}" : "\u{1F4C4}" }),
|
|
300
|
+
/* @__PURE__ */ jsx("span", { className: fileManagerItemNameClasses, children: item.name }),
|
|
301
|
+
viewMode === "list" && showTypeColumn && /* @__PURE__ */ jsx("span", { className: fileManagerItemMetaClasses, children: item.extension ?? item.type }),
|
|
302
|
+
viewMode === "list" && showSizeColumn && item.size !== void 0 && /* @__PURE__ */ jsx("span", { className: fileManagerItemMetaClasses, children: formatFileSizeLabel(item.size) }),
|
|
303
|
+
viewMode === "list" && showModifiedColumn && item.modified && /* @__PURE__ */ jsx("span", { className: fileManagerItemMetaClasses, children: item.modified })
|
|
304
|
+
]
|
|
305
|
+
},
|
|
306
|
+
item.key
|
|
307
|
+
);
|
|
308
|
+
})
|
|
309
|
+
}
|
|
310
|
+
) : /* @__PURE__ */ jsx("div", { className: fileManagerEmptyClasses, children: resolveLocaleText("Empty folder", emptyText, mergedLocale?.common?.emptyText) }),
|
|
311
|
+
loading && /* @__PURE__ */ jsx("div", { className: fileManagerLoadingClasses, children: resolveLocaleText("Loading...", mergedLocale?.common?.loadingText) })
|
|
312
|
+
] });
|
|
313
|
+
};
|
|
314
|
+
var FileManager_default = FileManager;
|
|
315
|
+
|
|
316
|
+
export {
|
|
317
|
+
FileManager,
|
|
318
|
+
FileManager_default
|
|
319
|
+
};
|