@fangxinyan/lumina 0.5.0 → 0.6.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/Accordion.cjs +3 -3
- package/dist/Accordion.d.cts +2 -2
- package/dist/Accordion.d.ts +2 -2
- package/dist/Accordion.js +2 -2
- package/dist/Alert.cjs +3 -3
- package/dist/Alert.d.cts +2 -2
- package/dist/Alert.d.ts +2 -2
- package/dist/Alert.js +2 -2
- package/dist/AppShell.cjs +5 -5
- package/dist/AppShell.d.cts +8 -8
- package/dist/AppShell.d.ts +8 -8
- package/dist/AppShell.js +1 -1
- package/dist/AutoComplete.cjs +5 -5
- package/dist/AutoComplete.d.cts +1 -4
- package/dist/AutoComplete.d.ts +1 -4
- package/dist/AutoComplete.js +4 -4
- package/dist/Avatar.cjs +2 -2
- package/dist/Avatar.d.cts +1 -1
- package/dist/Avatar.d.ts +1 -1
- package/dist/Avatar.js +1 -1
- package/dist/Button.cjs +4 -4
- package/dist/Button.js +2 -2
- package/dist/Calendar.cjs +3 -3
- package/dist/Calendar.d.cts +2 -2
- package/dist/Calendar.d.ts +2 -2
- package/dist/Calendar.js +2 -2
- package/dist/Cascader.cjs +4 -4
- package/dist/Cascader.d.cts +2 -2
- package/dist/Cascader.d.ts +2 -2
- package/dist/Cascader.js +3 -3
- package/dist/Checkbox.cjs +4 -4
- package/dist/Checkbox.d.cts +5 -5
- package/dist/Checkbox.d.ts +5 -5
- package/dist/Checkbox.js +2 -2
- package/dist/ColorPicker.cjs +3 -3
- package/dist/ColorPicker.d.cts +1 -3
- package/dist/ColorPicker.d.ts +1 -3
- package/dist/ColorPicker.js +2 -2
- package/dist/CommandPalette.cjs +4 -4
- package/dist/CommandPalette.d.cts +2 -2
- package/dist/CommandPalette.d.ts +2 -2
- package/dist/CommandPalette.js +3 -3
- package/dist/ContextMenu.cjs +2 -2
- package/dist/ContextMenu.d.cts +2 -2
- package/dist/ContextMenu.d.ts +2 -2
- package/dist/ContextMenu.js +1 -1
- package/dist/Divider.cjs +2 -2
- package/dist/Divider.d.cts +1 -1
- package/dist/Divider.d.ts +1 -1
- package/dist/Divider.js +1 -1
- package/dist/Drawer.cjs +3 -3
- package/dist/Drawer.d.cts +2 -2
- package/dist/Drawer.d.ts +2 -2
- package/dist/Drawer.js +2 -2
- package/dist/Empty.cjs +4 -4
- package/dist/Empty.d.cts +6 -6
- package/dist/Empty.d.ts +6 -6
- package/dist/Empty.js +1 -1
- package/dist/Form.cjs +4 -4
- package/dist/Form.d.cts +2 -2
- package/dist/Form.d.ts +2 -2
- package/dist/Form.js +1 -1
- package/dist/Icon.cjs +3 -3
- package/dist/Icon.d.cts +2 -2
- package/dist/Icon.d.ts +2 -2
- package/dist/Icon.js +1 -1
- package/dist/Image.cjs +4 -4
- package/dist/Image.d.cts +4 -4
- package/dist/Image.d.ts +4 -4
- package/dist/Image.js +2 -2
- package/dist/Input.cjs +4 -4
- package/dist/Input.js +2 -2
- package/dist/InputNumber.cjs +4 -4
- package/dist/InputNumber.d.cts +1 -5
- package/dist/InputNumber.d.ts +1 -5
- package/dist/InputNumber.js +3 -3
- package/dist/List.cjs +2 -2
- package/dist/List.d.cts +2 -2
- package/dist/List.d.ts +2 -2
- package/dist/List.js +1 -1
- package/dist/Modal.cjs +4 -4
- package/dist/Modal.d.cts +2 -2
- package/dist/Modal.d.ts +2 -2
- package/dist/Modal.js +3 -3
- package/dist/Pagination.cjs +6 -6
- package/dist/Pagination.d.cts +2 -2
- package/dist/Pagination.d.ts +2 -2
- package/dist/Pagination.js +5 -5
- package/dist/Popover-DVGQGWX6.css +103 -0
- package/dist/Popover.cjs +3 -3
- package/dist/Popover.d.cts +25 -3
- package/dist/Popover.d.ts +25 -3
- package/dist/Popover.js +2 -2
- package/dist/Progress-CHV7DN6Y.css +80 -0
- package/dist/Progress.cjs +2 -6
- package/dist/Progress.d.cts +5 -13
- package/dist/Progress.d.ts +5 -13
- package/dist/Progress.js +1 -1
- package/dist/Select.cjs +5 -5
- package/dist/Select.d.cts +6 -3
- package/dist/Select.d.ts +6 -3
- package/dist/Select.js +4 -4
- package/dist/Splitter.cjs +2 -2
- package/dist/Splitter.d.cts +2 -2
- package/dist/Splitter.d.ts +2 -2
- package/dist/Splitter.js +1 -1
- package/dist/StatusBar.cjs +3 -3
- package/dist/StatusBar.d.cts +3 -2
- package/dist/StatusBar.d.ts +3 -2
- package/dist/StatusBar.js +1 -1
- package/dist/Switch.cjs +2 -2
- package/dist/Switch.d.cts +2 -2
- package/dist/Switch.d.ts +2 -2
- package/dist/Switch.js +1 -1
- package/dist/Table.cjs +9 -9
- package/dist/Table.d.cts +4 -3
- package/dist/Table.d.ts +4 -3
- package/dist/Table.js +7 -7
- package/dist/Tabs.cjs +3 -3
- package/dist/Tabs.d.cts +5 -5
- package/dist/Tabs.d.ts +5 -5
- package/dist/Tabs.js +1 -1
- package/dist/Tag.cjs +4 -4
- package/dist/Tag.d.cts +2 -2
- package/dist/Tag.d.ts +2 -2
- package/dist/Tag.js +2 -2
- package/dist/Timeline-RHZAZKZ7.css +136 -0
- package/dist/Timeline.cjs +13 -0
- package/dist/Timeline.cjs.map +1 -0
- package/dist/Timeline.d.cts +38 -0
- package/dist/Timeline.d.ts +38 -0
- package/dist/Timeline.js +4 -0
- package/dist/Timeline.js.map +1 -0
- package/dist/{Toast-6PVSAXQ5.css → Toast-YSACW3EM.css} +2 -2
- package/dist/Toast.cjs +4 -4
- package/dist/Toast.d.cts +2 -2
- package/dist/Toast.d.ts +2 -2
- package/dist/Toast.js +2 -2
- package/dist/{Tooltip-ST24GY4S.css → Tooltip-DMKUPC24.css} +1 -0
- package/dist/Tooltip.cjs +3 -3
- package/dist/Tooltip.d.cts +2 -2
- package/dist/Tooltip.d.ts +2 -2
- package/dist/Tooltip.js +2 -2
- package/dist/Typography.cjs +7 -7
- package/dist/Typography.js +2 -2
- package/dist/{chunk-QVFEKGKI.cjs → chunk-2K5HZLXW.cjs} +6 -3
- package/dist/chunk-2K5HZLXW.cjs.map +1 -0
- package/dist/chunk-2LIX7ZHX.js +29 -0
- package/dist/chunk-2LIX7ZHX.js.map +1 -0
- package/dist/{chunk-N73JGXYZ.cjs → chunk-2TNJ7TC4.cjs} +22 -12
- package/dist/chunk-2TNJ7TC4.cjs.map +1 -0
- package/dist/chunk-3EGZ6TBF.cjs +65 -0
- package/dist/chunk-3EGZ6TBF.cjs.map +1 -0
- package/dist/{chunk-RFU5HN4E.js → chunk-3LJO33HI.js} +25 -7
- package/dist/chunk-3LJO33HI.js.map +1 -0
- package/dist/{chunk-RZ2E3XEU.cjs → chunk-3XIDJEYR.cjs} +21 -6
- package/dist/chunk-3XIDJEYR.cjs.map +1 -0
- package/dist/{chunk-UQB5OHMO.js → chunk-44AVDO3T.js} +27 -19
- package/dist/chunk-44AVDO3T.js.map +1 -0
- package/dist/chunk-474MXYO5.cjs +108 -0
- package/dist/chunk-474MXYO5.cjs.map +1 -0
- package/dist/{chunk-XCYE4OQV.js → chunk-4DNHASZU.js} +10 -8
- package/dist/chunk-4DNHASZU.js.map +1 -0
- package/dist/{chunk-OM76QWUN.js → chunk-4JHFGSNH.js} +24 -13
- package/dist/chunk-4JHFGSNH.js.map +1 -0
- package/dist/{chunk-6Z24VO3K.js → chunk-4XSP4HHZ.js} +18 -8
- package/dist/chunk-4XSP4HHZ.js.map +1 -0
- package/dist/{chunk-CTYW42GG.js → chunk-5VIOJW6M.js} +142 -129
- package/dist/chunk-5VIOJW6M.js.map +1 -0
- package/dist/{chunk-O7C6S644.js → chunk-6CAEGNCK.js} +10 -8
- package/dist/chunk-6CAEGNCK.js.map +1 -0
- package/dist/{chunk-JXHMJUVI.js → chunk-6FSOJLY6.js} +3 -3
- package/dist/{chunk-JXHMJUVI.js.map → chunk-6FSOJLY6.js.map} +1 -1
- package/dist/{chunk-LLNEDEST.cjs → chunk-6TRVGFFX.cjs} +18 -7
- package/dist/chunk-6TRVGFFX.cjs.map +1 -0
- package/dist/{chunk-7T2SLRNL.cjs → chunk-74VZZAUT.cjs} +14 -7
- package/dist/chunk-74VZZAUT.cjs.map +1 -0
- package/dist/{chunk-GR5STMOA.js → chunk-A3IJM7IX.js} +76 -50
- package/dist/chunk-A3IJM7IX.js.map +1 -0
- package/dist/{chunk-V2DIQ3RH.js → chunk-ANAQER3T.js} +21 -6
- package/dist/chunk-ANAQER3T.js.map +1 -0
- package/dist/{chunk-WZ73TWB2.cjs → chunk-AXRABZLY.cjs} +25 -7
- package/dist/chunk-AXRABZLY.cjs.map +1 -0
- package/dist/{chunk-QOGROEVD.js → chunk-BSHHQOFY.js} +27 -21
- package/dist/chunk-BSHHQOFY.js.map +1 -0
- package/dist/{chunk-JSDQVVQB.js → chunk-CVEGVB2C.js} +17 -12
- package/dist/chunk-CVEGVB2C.js.map +1 -0
- package/dist/{chunk-LXNR6TQK.js → chunk-D242UJZO.js} +14 -11
- package/dist/chunk-D242UJZO.js.map +1 -0
- package/dist/{chunk-AESLEYST.js → chunk-DB5JMXOI.js} +11 -9
- package/dist/chunk-DB5JMXOI.js.map +1 -0
- package/dist/{chunk-OWNVDXRQ.js → chunk-DCX36FYD.js} +23 -10
- package/dist/chunk-DCX36FYD.js.map +1 -0
- package/dist/{chunk-YCHUHMNP.cjs → chunk-DH4NYYJP.cjs} +46 -20
- package/dist/chunk-DH4NYYJP.cjs.map +1 -0
- package/dist/{chunk-ZFJHUOFU.js → chunk-DUNQNSVK.js} +21 -11
- package/dist/chunk-DUNQNSVK.js.map +1 -0
- package/dist/{chunk-5PREWYTB.js → chunk-E6K6GYUC.js} +21 -27
- package/dist/chunk-E6K6GYUC.js.map +1 -0
- package/dist/{chunk-IHACXMOI.js → chunk-EARCKSI7.js} +6 -3
- package/dist/chunk-EARCKSI7.js.map +1 -0
- package/dist/chunk-EHZXEZI2.cjs +78 -0
- package/dist/chunk-EHZXEZI2.cjs.map +1 -0
- package/dist/{chunk-HJIKU6MF.cjs → chunk-FBQLNAUI.cjs} +11 -9
- package/dist/chunk-FBQLNAUI.cjs.map +1 -0
- package/dist/chunk-FCIPCZAK.cjs +53 -0
- package/dist/chunk-FCIPCZAK.cjs.map +1 -0
- package/dist/{chunk-7M7NAMR5.js → chunk-FSOJHDXH.js} +18 -7
- package/dist/chunk-FSOJHDXH.js.map +1 -0
- package/dist/{chunk-BCPAY65C.cjs → chunk-HHSVGNJA.cjs} +7 -7
- package/dist/chunk-HHSVGNJA.cjs.map +1 -0
- package/dist/{chunk-WVBFQB26.cjs → chunk-HQO7EZNQ.cjs} +24 -14
- package/dist/chunk-HQO7EZNQ.cjs.map +1 -0
- package/dist/{chunk-MDQNUKCP.cjs → chunk-IL523MTN.cjs} +146 -133
- package/dist/chunk-IL523MTN.cjs.map +1 -0
- package/dist/{chunk-SMHXSEBD.cjs → chunk-JAGJQDAV.cjs} +22 -13
- package/dist/chunk-JAGJQDAV.cjs.map +1 -0
- package/dist/{chunk-RWHWEQQX.cjs → chunk-JF2WNLPF.cjs} +6 -6
- package/dist/{chunk-RWHWEQQX.cjs.map → chunk-JF2WNLPF.cjs.map} +1 -1
- package/dist/chunk-JS6U7UQS.js +86 -0
- package/dist/chunk-JS6U7UQS.js.map +1 -0
- package/dist/{chunk-TZXEZFCI.cjs → chunk-KA3XLPQJ.cjs} +34 -9
- package/dist/chunk-KA3XLPQJ.cjs.map +1 -0
- package/dist/{chunk-NS3C2ZSE.js → chunk-KWE2PXJQ.js} +8 -5
- package/dist/chunk-KWE2PXJQ.js.map +1 -0
- package/dist/{chunk-E62JFAHW.js → chunk-LSQD2GFA.js} +4 -4
- package/dist/chunk-LSQD2GFA.js.map +1 -0
- package/dist/{chunk-77TZHI76.cjs → chunk-MU4GGX6C.cjs} +14 -12
- package/dist/chunk-MU4GGX6C.cjs.map +1 -0
- package/dist/{chunk-IOWREUEP.js → chunk-MXIWTYNC.js} +17 -7
- package/dist/chunk-MXIWTYNC.js.map +1 -0
- package/dist/{chunk-5EAVXFFD.cjs → chunk-NRP3X3PE.cjs} +17 -12
- package/dist/chunk-NRP3X3PE.cjs.map +1 -0
- package/dist/{chunk-VQBZKRIB.cjs → chunk-P4CGE5C7.cjs} +19 -9
- package/dist/chunk-P4CGE5C7.cjs.map +1 -0
- package/dist/{chunk-TZLM5GF4.js → chunk-PX5ABNKV.js} +19 -10
- package/dist/chunk-PX5ABNKV.js.map +1 -0
- package/dist/{chunk-RQV7SMIZ.cjs → chunk-QCNHDDSD.cjs} +36 -13
- package/dist/chunk-QCNHDDSD.cjs.map +1 -0
- package/dist/{chunk-5N7347MI.js → chunk-QRSPBK3X.js} +8 -6
- package/dist/chunk-QRSPBK3X.js.map +1 -0
- package/dist/{chunk-6XZ362VL.js → chunk-RHZOBQON.js} +36 -15
- package/dist/chunk-RHZOBQON.js.map +1 -0
- package/dist/chunk-RNVE2LMJ.cjs +162 -0
- package/dist/chunk-RNVE2LMJ.cjs.map +1 -0
- package/dist/{chunk-TQLCIXCK.cjs → chunk-RXL26GSI.cjs} +28 -5
- package/dist/chunk-RXL26GSI.cjs.map +1 -0
- package/dist/{chunk-NN7WMXY4.cjs → chunk-S3OSBW7R.cjs} +19 -14
- package/dist/chunk-S3OSBW7R.cjs.map +1 -0
- package/dist/{chunk-33TIL25B.cjs → chunk-SREMTSVI.cjs} +47 -19
- package/dist/chunk-SREMTSVI.cjs.map +1 -0
- package/dist/{chunk-6GNFRP2H.js → chunk-SWB57EA2.js} +9 -7
- package/dist/chunk-SWB57EA2.js.map +1 -0
- package/dist/{chunk-KW7Z4IQC.js → chunk-T7ZBJJC4.js} +12 -7
- package/dist/chunk-T7ZBJJC4.js.map +1 -0
- package/dist/chunk-TC5ZL2OS.cjs +165 -0
- package/dist/chunk-TC5ZL2OS.cjs.map +1 -0
- package/dist/{chunk-XYVJ3FBQ.cjs → chunk-V24B7KWT.cjs} +12 -10
- package/dist/chunk-V24B7KWT.cjs.map +1 -0
- package/dist/{chunk-3BZ47QNV.cjs → chunk-V5KSJITO.cjs} +7 -7
- package/dist/{chunk-3BZ47QNV.cjs.map → chunk-V5KSJITO.cjs.map} +1 -1
- package/dist/{chunk-YFBHVTKN.cjs → chunk-WFFWVQK4.cjs} +7 -7
- package/dist/{chunk-YFBHVTKN.cjs.map → chunk-WFFWVQK4.cjs.map} +1 -1
- package/dist/{chunk-I7WLFADD.js → chunk-WLFMOWUY.js} +3 -3
- package/dist/{chunk-I7WLFADD.js.map → chunk-WLFMOWUY.js.map} +1 -1
- package/dist/{chunk-I2HHC6QW.js → chunk-X3QINITU.js} +17 -6
- package/dist/chunk-X3QINITU.js.map +1 -0
- package/dist/{chunk-2ENTRT7R.cjs → chunk-XMFVAYBP.cjs} +20 -9
- package/dist/chunk-XMFVAYBP.cjs.map +1 -0
- package/dist/{chunk-HXSAH4Y6.cjs → chunk-XMINE4TN.cjs} +28 -17
- package/dist/chunk-XMINE4TN.cjs.map +1 -0
- package/dist/{chunk-YZ2I7CDF.cjs → chunk-XXE5TQ7I.cjs} +9 -7
- package/dist/chunk-XXE5TQ7I.cjs.map +1 -0
- package/dist/chunk-XYGRVPUA.js +140 -0
- package/dist/chunk-XYGRVPUA.js.map +1 -0
- package/dist/chunk-Y7BZMMAV.cjs +51 -0
- package/dist/chunk-Y7BZMMAV.cjs.map +1 -0
- package/dist/{chunk-FFZLSY2N.js → chunk-YRAQRENN.js} +40 -13
- package/dist/chunk-YRAQRENN.js.map +1 -0
- package/dist/{chunk-IJA26LRY.cjs → chunk-YVSZLQTQ.cjs} +19 -9
- package/dist/chunk-YVSZLQTQ.cjs.map +1 -0
- package/dist/{chunk-OZVPJWXO.cjs → chunk-ZA36BJIY.cjs} +41 -14
- package/dist/chunk-ZA36BJIY.cjs.map +1 -0
- package/dist/{chunk-47Z4NIU4.js → chunk-ZHCQEJ2Z.js} +14 -7
- package/dist/chunk-ZHCQEJ2Z.js.map +1 -0
- package/dist/{chunk-T4PI2ZX7.cjs → chunk-ZM4P6ELG.cjs} +46 -25
- package/dist/chunk-ZM4P6ELG.cjs.map +1 -0
- package/dist/{chunk-PKXXR76Q.js → chunk-ZN6VS6SO.js} +18 -13
- package/dist/chunk-ZN6VS6SO.js.map +1 -0
- package/dist/{chunk-FXQGPHK2.js → chunk-ZPDMAMWC.js} +21 -11
- package/dist/chunk-ZPDMAMWC.js.map +1 -0
- package/dist/{chunk-WUOFJPZ4.js → chunk-ZZXNHPF3.js} +3 -3
- package/dist/{chunk-WUOFJPZ4.js.map → chunk-ZZXNHPF3.js.map} +1 -1
- package/dist/index.cjs +98 -97
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +38 -37
- package/dist/index.js.map +1 -1
- package/dist/styles.css +136 -36
- package/docs/llms/appshell.md +36 -0
- package/docs/llms/popover.md +138 -6
- package/docs/llms/progress.md +10 -18
- package/docs/llms/timeline.md +140 -0
- package/docs/llms.md +9 -6
- package/package.json +80 -1
- package/dist/Popover-NYEKT5CQ.css +0 -10
- package/dist/Progress-IXRSO5TW.css +0 -63
- package/dist/chunk-2ENTRT7R.cjs.map +0 -1
- package/dist/chunk-33TIL25B.cjs.map +0 -1
- package/dist/chunk-3UU2PUK4.js +0 -66
- package/dist/chunk-3UU2PUK4.js.map +0 -1
- package/dist/chunk-47Z4NIU4.js.map +0 -1
- package/dist/chunk-5BFETKVP.cjs +0 -52
- package/dist/chunk-5BFETKVP.cjs.map +0 -1
- package/dist/chunk-5EAVXFFD.cjs.map +0 -1
- package/dist/chunk-5N7347MI.js.map +0 -1
- package/dist/chunk-5PREWYTB.js.map +0 -1
- package/dist/chunk-6GNFRP2H.js.map +0 -1
- package/dist/chunk-6XZ362VL.js.map +0 -1
- package/dist/chunk-6Z24VO3K.js.map +0 -1
- package/dist/chunk-77TZHI76.cjs.map +0 -1
- package/dist/chunk-7M7NAMR5.js.map +0 -1
- package/dist/chunk-7T2SLRNL.cjs.map +0 -1
- package/dist/chunk-7YQWG7HR.cjs +0 -45
- package/dist/chunk-7YQWG7HR.cjs.map +0 -1
- package/dist/chunk-AESLEYST.js.map +0 -1
- package/dist/chunk-BCPAY65C.cjs.map +0 -1
- package/dist/chunk-CTYW42GG.js.map +0 -1
- package/dist/chunk-E62JFAHW.js.map +0 -1
- package/dist/chunk-FFZLSY2N.js.map +0 -1
- package/dist/chunk-FXQGPHK2.js.map +0 -1
- package/dist/chunk-GR5STMOA.js.map +0 -1
- package/dist/chunk-HJIKU6MF.cjs.map +0 -1
- package/dist/chunk-HXSAH4Y6.cjs.map +0 -1
- package/dist/chunk-I2HHC6QW.js.map +0 -1
- package/dist/chunk-IHACXMOI.js.map +0 -1
- package/dist/chunk-IJA26LRY.cjs.map +0 -1
- package/dist/chunk-IOWREUEP.js.map +0 -1
- package/dist/chunk-IZDJCEMF.cjs +0 -31
- package/dist/chunk-IZDJCEMF.cjs.map +0 -1
- package/dist/chunk-JSDQVVQB.js.map +0 -1
- package/dist/chunk-KW7Z4IQC.js.map +0 -1
- package/dist/chunk-LLNEDEST.cjs.map +0 -1
- package/dist/chunk-LXNR6TQK.js.map +0 -1
- package/dist/chunk-MDQNUKCP.cjs.map +0 -1
- package/dist/chunk-N73JGXYZ.cjs.map +0 -1
- package/dist/chunk-NN7WMXY4.cjs.map +0 -1
- package/dist/chunk-NQQWCIE6.cjs +0 -20
- package/dist/chunk-NQQWCIE6.cjs.map +0 -1
- package/dist/chunk-NS3C2ZSE.js.map +0 -1
- package/dist/chunk-O2HMH5BI.cjs +0 -88
- package/dist/chunk-O2HMH5BI.cjs.map +0 -1
- package/dist/chunk-O7C6S644.js.map +0 -1
- package/dist/chunk-OM76QWUN.js.map +0 -1
- package/dist/chunk-OWNVDXRQ.js.map +0 -1
- package/dist/chunk-OZVPJWXO.cjs.map +0 -1
- package/dist/chunk-PKXXR76Q.js.map +0 -1
- package/dist/chunk-QOGROEVD.js.map +0 -1
- package/dist/chunk-QVFEKGKI.cjs.map +0 -1
- package/dist/chunk-RFU5HN4E.js.map +0 -1
- package/dist/chunk-RQV7SMIZ.cjs.map +0 -1
- package/dist/chunk-RZ2E3XEU.cjs.map +0 -1
- package/dist/chunk-SMHXSEBD.cjs.map +0 -1
- package/dist/chunk-T4PI2ZX7.cjs.map +0 -1
- package/dist/chunk-TQLCIXCK.cjs.map +0 -1
- package/dist/chunk-TZLM5GF4.js.map +0 -1
- package/dist/chunk-TZXEZFCI.cjs.map +0 -1
- package/dist/chunk-UQB5OHMO.js.map +0 -1
- package/dist/chunk-V2DIQ3RH.js.map +0 -1
- package/dist/chunk-VQBZKRIB.cjs.map +0 -1
- package/dist/chunk-WDBJVKSR.js +0 -18
- package/dist/chunk-WDBJVKSR.js.map +0 -1
- package/dist/chunk-WVBFQB26.cjs.map +0 -1
- package/dist/chunk-WZ73TWB2.cjs.map +0 -1
- package/dist/chunk-XCYE4OQV.js.map +0 -1
- package/dist/chunk-XUT2Z2L6.cjs +0 -119
- package/dist/chunk-XUT2Z2L6.cjs.map +0 -1
- package/dist/chunk-XYVJ3FBQ.cjs.map +0 -1
- package/dist/chunk-YCHUHMNP.cjs.map +0 -1
- package/dist/chunk-YZ2I7CDF.cjs.map +0 -1
- package/dist/chunk-ZFJHUOFU.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkDH4NYYJP_cjs = require('./chunk-DH4NYYJP.cjs');
|
|
4
4
|
require('./tokens-BIIUTPKN.css');
|
|
5
5
|
require('./shared-NJHRNLRH.css');
|
|
6
6
|
require('./Accordion-REMDCQUD.css');
|
|
@@ -53,7 +53,7 @@ var AccordionPanel = ({ open, children }) => {
|
|
|
53
53
|
}
|
|
54
54
|
);
|
|
55
55
|
};
|
|
56
|
-
var Accordion = ({
|
|
56
|
+
var Accordion = React__namespace.forwardRef(({
|
|
57
57
|
items,
|
|
58
58
|
multiple = false,
|
|
59
59
|
accordion = false,
|
|
@@ -61,8 +61,9 @@ var Accordion = ({
|
|
|
61
61
|
activeKeys,
|
|
62
62
|
defaultActiveKeys = [],
|
|
63
63
|
onChange,
|
|
64
|
-
className = ""
|
|
65
|
-
|
|
64
|
+
className = "",
|
|
65
|
+
...rest
|
|
66
|
+
}, ref) => {
|
|
66
67
|
const [inner, setInner] = React__namespace.useState(defaultActiveKeys);
|
|
67
68
|
const isControlled = activeKeys !== void 0;
|
|
68
69
|
const keys = isControlled ? activeKeys : inner;
|
|
@@ -73,7 +74,7 @@ var Accordion = ({
|
|
|
73
74
|
if (!isControlled) setInner(next);
|
|
74
75
|
onChange?.(next);
|
|
75
76
|
};
|
|
76
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `accordion ${className}`, children: items.map((it) => {
|
|
77
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: `accordion ${className}`, ...rest, children: items.map((it) => {
|
|
77
78
|
const open = keys.includes(it.key);
|
|
78
79
|
const isDisabled = it.disabled || collapsible === "disabled";
|
|
79
80
|
const headerClickable = collapsible === "header" && !isDisabled;
|
|
@@ -102,7 +103,7 @@ var Accordion = ({
|
|
|
102
103
|
toggle(it.key, it.disabled);
|
|
103
104
|
}
|
|
104
105
|
},
|
|
105
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
106
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkDH4NYYJP_cjs.Icon, { name: "chevDown", size: 16 })
|
|
106
107
|
}
|
|
107
108
|
)
|
|
108
109
|
]
|
|
@@ -114,8 +115,9 @@ var Accordion = ({
|
|
|
114
115
|
it.key
|
|
115
116
|
);
|
|
116
117
|
}) });
|
|
117
|
-
};
|
|
118
|
+
});
|
|
119
|
+
Accordion.displayName = "Accordion";
|
|
118
120
|
|
|
119
121
|
exports.Accordion = Accordion;
|
|
120
|
-
//# sourceMappingURL=chunk-
|
|
121
|
-
//# sourceMappingURL=chunk-
|
|
122
|
+
//# sourceMappingURL=chunk-FBQLNAUI.cjs.map
|
|
123
|
+
//# sourceMappingURL=chunk-FBQLNAUI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Accordion/Accordion.tsx"],"names":["React","jsx","jsxs","Icon"],"mappings":"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","file":"chunk-FBQLNAUI.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Accordion.css\";\nimport * as React from \"react\";\nimport { Icon } from \"../Icon\";\n\nexport interface AccordionItem {\n key: string;\n title: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface AccordionProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n items: AccordionItem[];\n /** If true, multiple sections can be open at once. */\n multiple?: boolean;\n /**\n * Accordion mode — at most one item open at a time. Takes precedence over `multiple`\n * when both are set.\n */\n accordion?: boolean;\n /**\n * What triggers expansion.\n * - `\"header\"` (default): clicking anywhere on the header toggles.\n * - `\"icon\"`: only the chevron icon is clickable.\n * - `\"disabled\"`: the panel cannot be toggled.\n */\n collapsible?: \"header\" | \"icon\" | \"disabled\";\n activeKeys?: string[];\n defaultActiveKeys?: string[];\n onChange?: (keys: string[]) => void;\n className?: string;\n}\n\nconst AccordionPanel: React.FC<{ open: boolean; children: React.ReactNode }> = ({ open, children }) => {\n const innerRef = React.useRef<HTMLDivElement>(null);\n const [h, setH] = React.useState(0);\n const [animated, setAnimated] = React.useState(false);\n\n React.useLayoutEffect(() => {\n const el = innerRef.current;\n if (!el) return;\n setH(el.scrollHeight);\n const ro = new ResizeObserver(() => setH(el.scrollHeight));\n ro.observe(el);\n return () => ro.disconnect();\n }, []);\n\n React.useEffect(() => {\n const id = requestAnimationFrame(() => setAnimated(true));\n return () => cancelAnimationFrame(id);\n }, []);\n\n return (\n <div\n className=\"accordion-body\"\n style={{ maxHeight: open ? h : 0, transition: animated ? undefined : \"none\" }}\n aria-hidden={!open}\n >\n <div ref={innerRef} className=\"accordion-body-inner\">{children}</div>\n </div>\n );\n};\n\n/** `Accordion` — collapsible sections. */\nexport const Accordion = React.forwardRef<HTMLDivElement, AccordionProps>(({\n items,\n multiple = false,\n accordion = false,\n collapsible = \"header\",\n activeKeys,\n defaultActiveKeys = [],\n onChange,\n className = \"\",\n ...rest\n}, ref) => {\n const [inner, setInner] = React.useState<string[]>(defaultActiveKeys);\n const isControlled = activeKeys !== undefined;\n const keys = isControlled ? activeKeys! : inner;\n\n // accordion takes precedence over multiple\n const singleOpen = accordion || !multiple;\n\n const toggle = (k: string, itemDisabled?: boolean) => {\n if (collapsible === \"disabled\" || itemDisabled) return;\n const next = keys.includes(k)\n ? keys.filter((x) => x !== k)\n : singleOpen\n ? [k]\n : [...keys, k];\n if (!isControlled) setInner(next);\n onChange?.(next);\n };\n\n return (\n <div ref={ref} className={`accordion ${className}`} {...rest}>\n {items.map((it) => {\n const open = keys.includes(it.key);\n const isDisabled = it.disabled || collapsible === \"disabled\";\n const headerClickable = collapsible === \"header\" && !isDisabled;\n return (\n <div\n key={it.key}\n className={`accordion-item ${open ? \"open\" : \"\"} ${isDisabled ? \"disabled\" : \"\"} ${collapsible === \"icon\" ? \"icon-only\" : \"\"}`}\n >\n <button\n type=\"button\"\n className=\"accordion-head\"\n disabled={isDisabled}\n onClick={() => headerClickable && toggle(it.key, it.disabled)}\n aria-expanded={open}\n >\n <span>{it.title}</span>\n <span\n className={`accordion-chev${collapsible === \"icon\" ? \" clickable\" : \"\"}`}\n onClick={(e) => {\n if (collapsible === \"icon\" && !isDisabled) {\n e.stopPropagation();\n toggle(it.key, it.disabled);\n }\n }}\n >\n <Icon name=\"chevDown\" size={16} />\n </span>\n </button>\n <AccordionPanel open={open}>{it.content}</AccordionPanel>\n </div>\n );\n })}\n </div>\n );\n});\nAccordion.displayName = \"Accordion\";\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./tokens-BIIUTPKN.css');
|
|
4
|
+
require('./shared-NJHRNLRH.css');
|
|
5
|
+
require('./Divider-OEE4Q2KS.css');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
function _interopNamespace(e) {
|
|
10
|
+
if (e && e.__esModule) return e;
|
|
11
|
+
var n = Object.create(null);
|
|
12
|
+
if (e) {
|
|
13
|
+
Object.keys(e).forEach(function (k) {
|
|
14
|
+
if (k !== 'default') {
|
|
15
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return e[k]; }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
n.default = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
28
|
+
|
|
29
|
+
// src/components/Divider/Divider.tsx
|
|
30
|
+
var Divider = React__namespace.forwardRef(({
|
|
31
|
+
direction = "horizontal",
|
|
32
|
+
label,
|
|
33
|
+
sunken,
|
|
34
|
+
dashed,
|
|
35
|
+
orientation = "center",
|
|
36
|
+
className = "",
|
|
37
|
+
...rest
|
|
38
|
+
}, ref) => {
|
|
39
|
+
const cls = [
|
|
40
|
+
"divider",
|
|
41
|
+
direction,
|
|
42
|
+
sunken && "sunken",
|
|
43
|
+
dashed && "dashed",
|
|
44
|
+
label && direction === "horizontal" && `orient-${orientation}`,
|
|
45
|
+
className
|
|
46
|
+
].filter(Boolean).join(" ");
|
|
47
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cls, role: "separator", ...rest, children: label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "divider-label", children: label }) });
|
|
48
|
+
});
|
|
49
|
+
Divider.displayName = "Divider";
|
|
50
|
+
|
|
51
|
+
exports.Divider = Divider;
|
|
52
|
+
//# sourceMappingURL=chunk-FCIPCZAK.cjs.map
|
|
53
|
+
//# sourceMappingURL=chunk-FCIPCZAK.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Divider/Divider.tsx"],"names":["React","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,IAAM,OAAA,GAAgBA,4BAAyC,CAAC;AAAA,EACrE,SAAA,GAAY,YAAA;AAAA,EACZ,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,WAAA,GAAc,QAAA;AAAA,EACd,SAAA,GAAY,EAAA;AAAA,EACZ,GAAG;AACL,CAAA,EAAG,GAAA,KAAQ;AACT,EAAA,MAAM,GAAA,GAAM;AAAA,IACV,SAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA,IAAU,QAAA;AAAA,IACV,MAAA,IAAU,QAAA;AAAA,IACV,KAAA,IAAS,SAAA,KAAc,YAAA,IAAgB,CAAA,OAAA,EAAU,WAAW,CAAA,CAAA;AAAA,IAC5D;AAAA,GACF,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AACX,EAAA,uBACEC,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,SAAA,EAAW,KAAK,IAAA,EAAK,WAAA,EAAa,GAAG,IAAA,EACjD,mCAASA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,eAAA,EAAiB,iBAAM,CAAA,EACnD,CAAA;AAEJ,CAAC;AACD,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-FCIPCZAK.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Divider.css\";\nimport * as React from \"react\";\n\nexport interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {\n direction?: \"horizontal\" | \"vertical\";\n label?: React.ReactNode;\n /** Use recessed groove styling. */\n sunken?: boolean;\n /** Render as dashed lines instead of solid. */\n dashed?: boolean;\n /**\n * Label position for horizontal dividers. Defaults to `\"center\"`.\n * Ignored when there is no `label`.\n */\n orientation?: \"left\" | \"center\" | \"right\";\n}\n\n/** `Divider` — visual separator, horizontal or vertical. */\nexport const Divider = React.forwardRef<HTMLDivElement, DividerProps>(({\n direction = \"horizontal\",\n label,\n sunken,\n dashed,\n orientation = \"center\",\n className = \"\",\n ...rest\n}, ref) => {\n const cls = [\n \"divider\",\n direction,\n sunken && \"sunken\",\n dashed && \"dashed\",\n label && direction === \"horizontal\" && `orient-${orientation}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n return (\n <div ref={ref} className={cls} role=\"separator\" {...rest}>\n {label && <span className=\"divider-label\">{label}</span>}\n </div>\n );\n});\nDivider.displayName = \"Divider\";\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Icon } from './chunk-
|
|
1
|
+
import { Icon } from './chunk-BSHHQOFY.js';
|
|
2
2
|
import './tokens-BIIUTPKN.css';
|
|
3
3
|
import './shared-NJHRNLRH.css';
|
|
4
|
-
import './Toast-
|
|
4
|
+
import './Toast-YSACW3EM.css';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import ReactDOM from 'react-dom';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -9,7 +9,17 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
9
9
|
var listeners = /* @__PURE__ */ new Set();
|
|
10
10
|
var items = [];
|
|
11
11
|
var uid = 0;
|
|
12
|
+
var autoMounted = false;
|
|
12
13
|
function emit() {
|
|
14
|
+
if (listeners.size === 0 && !autoMounted && typeof document !== "undefined") {
|
|
15
|
+
autoMounted = true;
|
|
16
|
+
const div = document.createElement("div");
|
|
17
|
+
document.body.appendChild(div);
|
|
18
|
+
const root = ReactDOM.createRoot ? ReactDOM.createRoot(div) : null;
|
|
19
|
+
if (root) {
|
|
20
|
+
root.render(React.createElement(ToastContainer));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
13
23
|
listeners.forEach((l) => l(items));
|
|
14
24
|
}
|
|
15
25
|
var toast = {
|
|
@@ -35,7 +45,7 @@ var toast = {
|
|
|
35
45
|
emit();
|
|
36
46
|
}
|
|
37
47
|
};
|
|
38
|
-
var ToastContainer = ({ placement = "top-right" }) => {
|
|
48
|
+
var ToastContainer = React.forwardRef(({ placement = "top-right", className = "", ...rest }, ref) => {
|
|
39
49
|
const [list, setList] = React.useState(items);
|
|
40
50
|
React.useEffect(() => {
|
|
41
51
|
listeners.add(setList);
|
|
@@ -45,7 +55,7 @@ var ToastContainer = ({ placement = "top-right" }) => {
|
|
|
45
55
|
}, []);
|
|
46
56
|
if (typeof document === "undefined") return null;
|
|
47
57
|
return ReactDOM.createPortal(
|
|
48
|
-
/* @__PURE__ */ jsx("div", { className: `toast-container ${placement}`, children: list.map((t) => {
|
|
58
|
+
/* @__PURE__ */ jsx("div", { ref, className: `toast-container ${placement} ${className}`, ...rest, children: list.map((t) => {
|
|
49
59
|
const iconName = t.type === "success" ? "check2" : t.type === "warning" ? "alert" : t.type === "danger" ? "alert" : "info";
|
|
50
60
|
return /* @__PURE__ */ jsxs("div", { className: `toast ${t.type}`, role: "status", children: [
|
|
51
61
|
/* @__PURE__ */ jsx(Icon, { name: iconName, size: 18, className: "toast-icon" }),
|
|
@@ -58,8 +68,9 @@ var ToastContainer = ({ placement = "top-right" }) => {
|
|
|
58
68
|
}) }),
|
|
59
69
|
document.body
|
|
60
70
|
);
|
|
61
|
-
};
|
|
71
|
+
});
|
|
72
|
+
ToastContainer.displayName = "ToastContainer";
|
|
62
73
|
|
|
63
74
|
export { ToastContainer, toast };
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-FSOJHDXH.js.map
|
|
76
|
+
//# sourceMappingURL=chunk-FSOJHDXH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Toast/Toast.tsx"],"names":[],"mappings":"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","file":"chunk-FSOJHDXH.js","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Toast.css\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Icon } from \"../Icon\";\n\nexport type ToastType = \"info\" | \"success\" | \"warning\" | \"danger\";\n\nexport interface ToastItem {\n id: number;\n type: ToastType;\n title?: React.ReactNode;\n message?: React.ReactNode;\n duration?: number;\n}\n\ntype ListenerState = ToastItem[];\nconst listeners = new Set<(s: ListenerState) => void>();\nlet items: ListenerState = [];\nlet uid = 0;\nlet autoMounted = false;\n\nfunction emit() {\n if (listeners.size === 0 && !autoMounted && typeof document !== \"undefined\") {\n autoMounted = true;\n const div = document.createElement(\"div\");\n document.body.appendChild(div);\n const root = (ReactDOM as any).createRoot\n ? (ReactDOM as any).createRoot(div)\n : null;\n if (root) {\n root.render(React.createElement(ToastContainer));\n }\n }\n listeners.forEach((l) => l(items));\n}\n\nexport const toast = {\n show(t: Omit<ToastItem, \"id\">) {\n const id = ++uid;\n items = [...items, { ...t, id, duration: t.duration ?? 3200 }];\n emit();\n if (items[items.length - 1].duration! > 0) {\n setTimeout(() => toast.dismiss(id), items[items.length - 1].duration);\n }\n return id;\n },\n info: (message: React.ReactNode, title?: React.ReactNode) => toast.show({ type: \"info\", message, title }),\n success: (message: React.ReactNode, title?: React.ReactNode) => toast.show({ type: \"success\", message, title }),\n warn: (message: React.ReactNode, title?: React.ReactNode) => toast.show({ type: \"warning\", message, title }),\n error: (message: React.ReactNode, title?: React.ReactNode) => toast.show({ type: \"danger\", message, title }),\n dismiss(id: number) {\n items = items.filter((i) => i.id !== id);\n emit();\n },\n clear() {\n items = [];\n emit();\n },\n};\n\nexport interface ToastContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n placement?: \"top-right\" | \"top-left\" | \"bottom-right\" | \"bottom-left\" | \"top-center\";\n}\n\n/** `ToastContainer` — mount once at your app root; subscribes to `toast.*` calls. */\nexport const ToastContainer = React.forwardRef<HTMLDivElement, ToastContainerProps>(({ placement = \"top-right\", className = \"\", ...rest }, ref) => {\n const [list, setList] = React.useState<ListenerState>(items);\n React.useEffect(() => {\n listeners.add(setList);\n return () => {\n listeners.delete(setList);\n };\n }, []);\n if (typeof document === \"undefined\") return null;\n return ReactDOM.createPortal(\n <div ref={ref} className={`toast-container ${placement} ${className}`} {...rest}>\n {list.map((t) => {\n const iconName =\n t.type === \"success\" ? \"check2\" : t.type === \"warning\" ? \"alert\" : t.type === \"danger\" ? \"alert\" : \"info\";\n return (\n <div key={t.id} className={`toast ${t.type}`} role=\"status\">\n <Icon name={iconName} size={18} className=\"toast-icon\" />\n <div className=\"toast-body\">\n {t.title && <div className=\"toast-title\">{t.title}</div>}\n {t.message && <div className=\"toast-msg\">{t.message}</div>}\n </div>\n <button type=\"button\" className=\"toast-close\" onClick={() => toast.dismiss(t.id)} aria-label=\"Dismiss\">\n <Icon name=\"x\" size={14} />\n </button>\n </div>\n );\n })}\n </div>,\n document.body\n );\n});\nToastContainer.displayName = \"ToastContainer\";\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkWFFWVQK4_cjs = require('./chunk-WFFWVQK4.cjs');
|
|
4
|
+
var chunkDH4NYYJP_cjs = require('./chunk-DH4NYYJP.cjs');
|
|
5
5
|
require('./tokens-BIIUTPKN.css');
|
|
6
6
|
require('./shared-NJHRNLRH.css');
|
|
7
7
|
require('./InputNumber-VXQIWLQC.css');
|
|
@@ -117,7 +117,7 @@ var InputNumber = React__namespace.forwardRef(
|
|
|
117
117
|
disabled: upDisabled,
|
|
118
118
|
onMouseDown: (e) => e.preventDefault(),
|
|
119
119
|
onClick: () => increment(step),
|
|
120
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
120
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkDH4NYYJP_cjs.Icon, { name: "chevUp", size: 10, stroke: 2.5 })
|
|
121
121
|
}
|
|
122
122
|
),
|
|
123
123
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -129,7 +129,7 @@ var InputNumber = React__namespace.forwardRef(
|
|
|
129
129
|
disabled: downDisabled,
|
|
130
130
|
onMouseDown: (e) => e.preventDefault(),
|
|
131
131
|
onClick: () => increment(-step),
|
|
132
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
132
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkDH4NYYJP_cjs.Icon, { name: "chevDown", size: 10, stroke: 2.5 })
|
|
133
133
|
}
|
|
134
134
|
)
|
|
135
135
|
] }) : null;
|
|
@@ -138,7 +138,7 @@ var InputNumber = React__namespace.forwardRef(
|
|
|
138
138
|
stepperSuffix
|
|
139
139
|
] }) : stepperSuffix ?? suffix;
|
|
140
140
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
141
|
-
|
|
141
|
+
chunkWFFWVQK4_cjs.Input,
|
|
142
142
|
{
|
|
143
143
|
ref,
|
|
144
144
|
id,
|
|
@@ -165,5 +165,5 @@ var InputNumber = React__namespace.forwardRef(
|
|
|
165
165
|
InputNumber.displayName = "InputNumber";
|
|
166
166
|
|
|
167
167
|
exports.InputNumber = InputNumber;
|
|
168
|
-
//# sourceMappingURL=chunk-
|
|
169
|
-
//# sourceMappingURL=chunk-
|
|
168
|
+
//# sourceMappingURL=chunk-HHSVGNJA.cjs.map
|
|
169
|
+
//# sourceMappingURL=chunk-HHSVGNJA.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/InputNumber/InputNumber.tsx"],"names":["React","jsxs","jsx","Icon","Fragment","Input"],"mappings":"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","file":"chunk-HHSVGNJA.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./InputNumber.css\";\nimport * as React from \"react\";\nimport { Input } from \"../Input\";\nimport { Icon } from \"../Icon\";\n\nexport interface InputNumberProps\n extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"value\" | \"defaultValue\" | \"onChange\" | \"size\" | \"prefix\" | \"suffix\" | \"type\"\n > {\n /** Controlled value. `null` = empty field. */\n value?: number | null;\n /** Uncontrolled initial value. */\n defaultValue?: number;\n /** Fires with the parsed number (or `null` when the input is emptied). */\n onChange?: (value: number | null) => void;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /** Fires when the Enter key is pressed (matches antd's `onPressEnter`). */\n onPressEnter?: React.KeyboardEventHandler<HTMLInputElement>;\n min?: number;\n max?: number;\n /** Step for up/down buttons + arrow keys. Default 1. */\n step?: number;\n /** Number of decimal places to round to. Omit for no rounding. */\n precision?: number;\n size?: \"sm\" | \"md\" | \"lg\";\n disabled?: boolean;\n readOnly?: boolean;\n placeholder?: string;\n /** Show the up/down stepper buttons. Default true. */\n controls?: boolean;\n invalid?: boolean;\n className?: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n}\n\n/**\n * `InputNumber` — numeric input with up/down stepper buttons. Arrow-key\n * and mouse-wheel increments; min / max clamping; optional rounding.\n *\n * @example\n * ```tsx\n * <InputNumber min={0} max={100} step={1} defaultValue={10} onChange={...} />\n * ```\n */\nexport const InputNumber = React.forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n value,\n defaultValue,\n onChange,\n onBlur,\n onFocus,\n onPressEnter,\n min = -Infinity,\n max = Infinity,\n step = 1,\n precision,\n size = \"md\",\n disabled,\n readOnly,\n placeholder,\n controls = true,\n invalid,\n className = \"\",\n prefix,\n suffix,\n autoFocus,\n id,\n name,\n },\n ref\n ) => {\n const [inner, setInner] = React.useState<number | null>(defaultValue ?? null);\n const isControlled = value !== undefined;\n const current = isControlled ? (value as number | null) : inner;\n\n const [text, setText] = React.useState<string>(current == null ? \"\" : String(current));\n\n React.useEffect(() => {\n if (isControlled) setText(value == null ? \"\" : String(value));\n }, [value, isControlled]);\n\n const clamp = React.useCallback(\n (n: number) => Math.max(min, Math.min(max, n)),\n [min, max]\n );\n const round = React.useCallback(\n (n: number) => (precision != null ? Number(n.toFixed(precision)) : n),\n [precision]\n );\n\n const commit = (next: number | null) => {\n if (!isControlled) setInner(next);\n onChange?.(next);\n };\n\n const handleInput = (v: string) => {\n setText(v);\n if (v === \"\" || v === \"-\") {\n commit(null);\n return;\n }\n const parsed = Number(v);\n if (!Number.isNaN(parsed)) commit(clamp(round(parsed)));\n };\n\n const handleBlur: React.FocusEventHandler<HTMLInputElement> = (e) => {\n // Normalize displayed text to the committed numeric value.\n if (current == null) setText(\"\");\n else setText(String(current));\n onBlur?.(e);\n };\n\n const increment = (delta: number) => {\n if (disabled || readOnly) return;\n const base = current ?? 0;\n const next = clamp(round(base + delta));\n if (!isControlled) setInner(next);\n setText(String(next));\n onChange?.(next);\n };\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (e) => {\n if (e.key === \"ArrowUp\") { e.preventDefault(); increment(step); }\n if (e.key === \"ArrowDown\") { e.preventDefault(); increment(-step); }\n if (e.key === \"Enter\") onPressEnter?.(e);\n };\n\n const upDisabled = disabled || readOnly || (current != null && current >= max);\n const downDisabled = disabled || readOnly || (current != null && current <= min);\n\n const stepperSuffix = controls ? (\n <span className=\"ipn-steppers\" aria-hidden>\n <button\n type=\"button\"\n className=\"ipn-step up\"\n tabIndex={-1}\n disabled={upDisabled}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => increment(step)}\n >\n <Icon name=\"chevUp\" size={10} stroke={2.5} />\n </button>\n <button\n type=\"button\"\n className=\"ipn-step down\"\n tabIndex={-1}\n disabled={downDisabled}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => increment(-step)}\n >\n <Icon name=\"chevDown\" size={10} stroke={2.5} />\n </button>\n </span>\n ) : null;\n\n const finalSuffix =\n stepperSuffix && suffix\n ? (<>{suffix}{stepperSuffix}</>)\n : stepperSuffix ?? suffix;\n\n return (\n <Input\n ref={ref}\n id={id}\n name={name}\n size={size}\n value={text}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n invalid={invalid}\n autoFocus={autoFocus}\n prefix={prefix}\n suffix={finalSuffix}\n className={`input-number ${className}`}\n inputMode=\"decimal\"\n onChange={handleInput}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n onFocus={onFocus}\n />\n );\n }\n);\nInputNumber.displayName = \"InputNumber\";\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunk3XIDJEYR_cjs = require('./chunk-3XIDJEYR.cjs');
|
|
4
|
+
var chunkDH4NYYJP_cjs = require('./chunk-DH4NYYJP.cjs');
|
|
5
5
|
require('./tokens-BIIUTPKN.css');
|
|
6
6
|
require('./shared-NJHRNLRH.css');
|
|
7
7
|
require('./Cascader-VSYEKQCG.css');
|
|
@@ -29,31 +29,40 @@ function _interopNamespace(e) {
|
|
|
29
29
|
|
|
30
30
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
31
31
|
|
|
32
|
-
var Cascader = ({
|
|
32
|
+
var Cascader = React__namespace.forwardRef(({
|
|
33
33
|
options,
|
|
34
34
|
value,
|
|
35
35
|
defaultValue = [],
|
|
36
36
|
onChange,
|
|
37
37
|
placeholder = "\u8BF7\u9009\u62E9",
|
|
38
38
|
disabled,
|
|
39
|
-
className = ""
|
|
40
|
-
|
|
39
|
+
className = "",
|
|
40
|
+
...rest
|
|
41
|
+
}, ref) => {
|
|
41
42
|
const [inner, setInner] = React__namespace.useState(defaultValue);
|
|
42
43
|
const isControlled = value !== void 0;
|
|
43
44
|
const cur = isControlled ? value : inner;
|
|
44
45
|
const [open, setOpen] = React__namespace.useState(false);
|
|
45
46
|
const [path, setPath] = React__namespace.useState(cur);
|
|
46
47
|
const panelRef = React__namespace.useRef(null);
|
|
47
|
-
const { triggerRef
|
|
48
|
+
const { triggerRef, floatingStyle } = chunk3XIDJEYR_cjs.useFloating({
|
|
48
49
|
open,
|
|
49
50
|
placement: "bottom",
|
|
50
51
|
panelWidth: 520,
|
|
51
52
|
panelHeight: 260
|
|
52
53
|
});
|
|
54
|
+
const setTriggerRef = React__namespace.useCallback(
|
|
55
|
+
(node) => {
|
|
56
|
+
triggerRef.current = node;
|
|
57
|
+
if (typeof ref === "function") ref(node);
|
|
58
|
+
else if (ref) ref.current = node;
|
|
59
|
+
},
|
|
60
|
+
[ref, triggerRef]
|
|
61
|
+
);
|
|
53
62
|
React__namespace.useEffect(() => {
|
|
54
63
|
const h = (e) => {
|
|
55
64
|
const t = e.target;
|
|
56
|
-
if (
|
|
65
|
+
if (triggerRef.current?.contains(t)) return;
|
|
57
66
|
if (panelRef.current?.contains(t)) return;
|
|
58
67
|
setOpen(false);
|
|
59
68
|
};
|
|
@@ -90,7 +99,7 @@ var Cascader = ({
|
|
|
90
99
|
if (!m.children) break;
|
|
91
100
|
list = m.children;
|
|
92
101
|
}
|
|
93
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: `cascader ${open ? "open" : ""} ${className}`, children: [
|
|
102
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: setTriggerRef, className: `cascader ${open ? "open" : ""} ${className}`, ...rest, children: [
|
|
94
103
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
95
104
|
"button",
|
|
96
105
|
{
|
|
@@ -103,7 +112,7 @@ var Cascader = ({
|
|
|
103
112
|
i > 0 && " / ",
|
|
104
113
|
l
|
|
105
114
|
] }, i)) : placeholder }),
|
|
106
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { position: "absolute", right: 12, color: "var(--fg-subtle)" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
115
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { position: "absolute", right: 12, color: "var(--fg-subtle)" }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkDH4NYYJP_cjs.Icon, { name: "chevDown", size: 14 }) })
|
|
107
116
|
]
|
|
108
117
|
}
|
|
109
118
|
),
|
|
@@ -119,9 +128,9 @@ var Cascader = ({
|
|
|
119
128
|
disabled: o.disabled,
|
|
120
129
|
onClick: () => pick(depth, o.value, hasChildren),
|
|
121
130
|
children: [
|
|
122
|
-
o.icon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
131
|
+
o.icon && /* @__PURE__ */ jsxRuntime.jsx(chunkDH4NYYJP_cjs.Icon, { name: o.icon, size: 13 }),
|
|
123
132
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: o.label }),
|
|
124
|
-
hasChildren && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "chev", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
133
|
+
hasChildren && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "chev", children: /* @__PURE__ */ jsxRuntime.jsx(chunkDH4NYYJP_cjs.Icon, { name: "chevRight", size: 12 }) })
|
|
125
134
|
]
|
|
126
135
|
},
|
|
127
136
|
o.value
|
|
@@ -130,8 +139,9 @@ var Cascader = ({
|
|
|
130
139
|
document.body
|
|
131
140
|
)
|
|
132
141
|
] });
|
|
133
|
-
};
|
|
142
|
+
});
|
|
143
|
+
Cascader.displayName = "Cascader";
|
|
134
144
|
|
|
135
145
|
exports.Cascader = Cascader;
|
|
136
|
-
//# sourceMappingURL=chunk-
|
|
137
|
-
//# sourceMappingURL=chunk-
|
|
146
|
+
//# sourceMappingURL=chunk-HQO7EZNQ.cjs.map
|
|
147
|
+
//# sourceMappingURL=chunk-HQO7EZNQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Cascader/Cascader.tsx"],"names":["React","useFloating","jsxs","jsx","Icon","createPortal"],"mappings":"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","file":"chunk-HQO7EZNQ.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Cascader.css\";\nimport * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Icon, type IconName } from \"../Icon\";\nimport { useFloating } from \"../../utils/useFloating\";\n\nexport interface CascaderOption {\n value: string;\n label: React.ReactNode;\n icon?: IconName;\n children?: CascaderOption[];\n disabled?: boolean;\n}\n\nexport interface CascaderProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\" | \"defaultValue\"> {\n options: CascaderOption[];\n value?: string[];\n defaultValue?: string[];\n onChange?: (path: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n}\n\n/** `Cascader` — multi-column hierarchical selector. */\nexport const Cascader = React.forwardRef<HTMLDivElement, CascaderProps>(({\n options,\n value,\n defaultValue = [],\n onChange,\n placeholder = \"请选择\",\n disabled,\n className = \"\",\n ...rest\n}, ref) => {\n const [inner, setInner] = React.useState<string[]>(defaultValue);\n const isControlled = value !== undefined;\n const cur = isControlled ? value! : inner;\n const [open, setOpen] = React.useState(false);\n const [path, setPath] = React.useState<string[]>(cur);\n const panelRef = React.useRef<HTMLDivElement>(null);\n\n const { triggerRef, floatingStyle } = useFloating<HTMLDivElement>({\n open,\n placement: \"bottom\",\n panelWidth: 520,\n panelHeight: 260,\n });\n\n const setTriggerRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n (triggerRef as React.MutableRefObject<HTMLDivElement | null>).current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n },\n [ref, triggerRef]\n );\n\n React.useEffect(() => {\n const h = (e: MouseEvent) => {\n const t = e.target as Node;\n if (triggerRef.current?.contains(t)) return;\n if (panelRef.current?.contains(t)) return;\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n if (open) setPath(cur);\n }, [open, cur]);\n\n const columns: CascaderOption[][] = [options];\n let cursor: CascaderOption[] = options;\n for (const v of path) {\n const match: CascaderOption | undefined = cursor.find((o) => o.value === v);\n if (match && match.children) {\n cursor = match.children;\n columns.push(cursor);\n } else break;\n }\n\n const pick = (depth: number, val: string, hasChildren: boolean) => {\n const np = [...path.slice(0, depth), val];\n setPath(np);\n if (!hasChildren) {\n if (!isControlled) setInner(np);\n onChange?.(np);\n setOpen(false);\n }\n };\n\n const labels: React.ReactNode[] = [];\n let list: CascaderOption[] = options;\n for (const v of cur) {\n const m: CascaderOption | undefined = list.find((o) => o.value === v);\n if (!m) break;\n labels.push(m.label);\n if (!m.children) break;\n list = m.children;\n }\n\n return (\n <div ref={setTriggerRef} className={`cascader ${open ? \"open\" : \"\"} ${className}`} {...rest}>\n <button\n type=\"button\"\n className={`cascader-trigger ${labels.length === 0 ? \"placeholder\" : \"\"}`}\n disabled={disabled}\n onClick={() => !disabled && setOpen((o) => !o)}\n >\n <span style={{ flex: 1 }}>\n {labels.length ? labels.map((l, i) => <span key={i}>{i > 0 && \" / \"}{l}</span>) : placeholder}\n </span>\n <span style={{ position: \"absolute\", right: 12, color: \"var(--fg-subtle)\" }}>\n <Icon name=\"chevDown\" size={14} />\n </span>\n </button>\n {open && typeof document !== \"undefined\" &&\n createPortal(\n <div ref={panelRef} className=\"cascader-panel\" style={floatingStyle}>\n {columns.map((col, depth) => (\n <div key={depth} className=\"cascader-col\">\n {col.map((o) => {\n const isActive = path[depth] === o.value;\n const hasChildren = !!(o.children && o.children.length);\n return (\n <button\n key={o.value}\n type=\"button\"\n className={`cascader-item ${isActive ? \"active\" : \"\"}`}\n disabled={o.disabled}\n onClick={() => pick(depth, o.value, hasChildren)}\n >\n {o.icon && <Icon name={o.icon} size={13} />}\n <span>{o.label}</span>\n {hasChildren && (\n <span className=\"chev\">\n <Icon name=\"chevRight\" size={12} />\n </span>\n )}\n </button>\n );\n })}\n </div>\n ))}\n </div>,\n document.body\n )}\n </div>\n );\n});\nCascader.displayName = \"Cascader\";\n"]}
|