@fangxinyan/lumina 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion.cjs +3 -3
- package/dist/Accordion.js +2 -2
- package/dist/Alert.cjs +3 -3
- package/dist/Alert.js +2 -2
- package/dist/AutoComplete.cjs +5 -5
- package/dist/AutoComplete.js +4 -4
- package/dist/Button.cjs +4 -4
- package/dist/Button.js +2 -2
- package/dist/Calendar.cjs +3 -3
- package/dist/Calendar.js +2 -2
- package/dist/Cascader.cjs +4 -4
- package/dist/Cascader.js +3 -3
- package/dist/Checkbox.cjs +4 -4
- package/dist/Checkbox.js +2 -2
- package/dist/ColorPicker.cjs +3 -3
- package/dist/ColorPicker.js +2 -2
- package/dist/CommandPalette.cjs +4 -4
- package/dist/CommandPalette.js +3 -3
- package/dist/Drawer.cjs +3 -3
- package/dist/Drawer.js +2 -2
- package/dist/Icon.cjs +3 -3
- package/dist/Icon.d.cts +1 -1
- package/dist/Icon.d.ts +1 -1
- package/dist/Icon.js +1 -1
- package/dist/Image.cjs +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.js +3 -3
- package/dist/Modal.cjs +4 -4
- package/dist/Modal.js +3 -3
- package/dist/Pagination.cjs +6 -6
- package/dist/Pagination.js +5 -5
- package/dist/Popover-DVGQGWX6.css +103 -0
- package/dist/Popover.cjs +3 -3
- package/dist/Popover.d.cts +23 -1
- package/dist/Popover.d.ts +23 -1
- package/dist/Popover.js +2 -2
- package/dist/Select.cjs +5 -5
- package/dist/Select.js +4 -4
- package/dist/{Slider-X4PVA65R.css → Slider-3JKA5EW6.css} +44 -25
- package/dist/Slider.cjs +2 -2
- package/dist/Slider.d.cts +8 -5
- package/dist/Slider.d.ts +8 -5
- package/dist/Slider.js +1 -1
- package/dist/Table.cjs +9 -9
- package/dist/Table.js +7 -7
- package/dist/Tag.cjs +4 -4
- 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.js +2 -2
- package/dist/{Tooltip-ST24GY4S.css → Tooltip-DMKUPC24.css} +1 -0
- package/dist/Tooltip.cjs +3 -3
- package/dist/Tooltip.js +2 -2
- package/dist/Typography.cjs +7 -7
- package/dist/Typography.js +2 -2
- package/dist/{chunk-BCPAY65C.cjs → chunk-2D5VCIJZ.cjs} +7 -7
- package/dist/{chunk-BCPAY65C.cjs.map → chunk-2D5VCIJZ.cjs.map} +1 -1
- package/dist/{chunk-LLNEDEST.cjs → chunk-2OBQOEFD.cjs} +4 -4
- package/dist/{chunk-LLNEDEST.cjs.map → chunk-2OBQOEFD.cjs.map} +1 -1
- package/dist/chunk-2TZ2R7L2.js +235 -0
- package/dist/chunk-2TZ2R7L2.js.map +1 -0
- package/dist/{chunk-N73JGXYZ.cjs → chunk-3ES5QPAF.cjs} +4 -4
- package/dist/{chunk-N73JGXYZ.cjs.map → chunk-3ES5QPAF.cjs.map} +1 -1
- package/dist/{chunk-YCHUHMNP.cjs → chunk-3KQKEE5O.cjs} +5 -4
- package/dist/chunk-3KQKEE5O.cjs.map +1 -0
- package/dist/{chunk-RZ2E3XEU.cjs → chunk-3XIDJEYR.cjs} +21 -6
- package/dist/chunk-3XIDJEYR.cjs.map +1 -0
- package/dist/{chunk-IOWREUEP.js → chunk-3YYOYDKI.js} +4 -4
- package/dist/{chunk-IOWREUEP.js.map → chunk-3YYOYDKI.js.map} +1 -1
- package/dist/{chunk-PKXXR76Q.js → chunk-4ADDAZK3.js} +3 -3
- package/dist/{chunk-PKXXR76Q.js.map → chunk-4ADDAZK3.js.map} +1 -1
- package/dist/{chunk-TZLM5GF4.js → chunk-5SJJI3HL.js} +4 -4
- package/dist/{chunk-TZLM5GF4.js.map → chunk-5SJJI3HL.js.map} +1 -1
- package/dist/{chunk-2ENTRT7R.cjs → chunk-AJEF2ZB7.cjs} +16 -6
- package/dist/chunk-AJEF2ZB7.cjs.map +1 -0
- package/dist/{chunk-V2DIQ3RH.js → chunk-ANAQER3T.js} +21 -6
- package/dist/chunk-ANAQER3T.js.map +1 -0
- package/dist/{chunk-FXQGPHK2.js → chunk-AZRJZM7W.js} +3 -3
- package/dist/{chunk-FXQGPHK2.js.map → chunk-AZRJZM7W.js.map} +1 -1
- package/dist/{chunk-3BZ47QNV.cjs → chunk-BIXW4ZYW.cjs} +7 -7
- package/dist/{chunk-3BZ47QNV.cjs.map → chunk-BIXW4ZYW.cjs.map} +1 -1
- package/dist/{chunk-IJA26LRY.cjs → chunk-BPDWBY6Y.cjs} +4 -4
- package/dist/{chunk-IJA26LRY.cjs.map → chunk-BPDWBY6Y.cjs.map} +1 -1
- package/dist/{chunk-77TZHI76.cjs → chunk-D26YHP2Y.cjs} +7 -7
- package/dist/{chunk-77TZHI76.cjs.map → chunk-D26YHP2Y.cjs.map} +1 -1
- package/dist/{chunk-T4PI2ZX7.cjs → chunk-D3GZSL2B.cjs} +16 -17
- package/dist/chunk-D3GZSL2B.cjs.map +1 -0
- package/dist/{chunk-VQBZKRIB.cjs → chunk-DF5K2BZ2.cjs} +6 -6
- package/dist/{chunk-VQBZKRIB.cjs.map → chunk-DF5K2BZ2.cjs.map} +1 -1
- package/dist/{chunk-7M7NAMR5.js → chunk-DLGFIRVW.js} +14 -4
- package/dist/chunk-DLGFIRVW.js.map +1 -0
- package/dist/{chunk-6Z24VO3K.js → chunk-E7UQSFKF.js} +3 -3
- package/dist/{chunk-6Z24VO3K.js.map → chunk-E7UQSFKF.js.map} +1 -1
- package/dist/{chunk-KW7Z4IQC.js → chunk-FLPHVK45.js} +3 -3
- package/dist/{chunk-KW7Z4IQC.js.map → chunk-FLPHVK45.js.map} +1 -1
- package/dist/{chunk-WUOFJPZ4.js → chunk-GB5NAXBP.js} +3 -3
- package/dist/{chunk-WUOFJPZ4.js.map → chunk-GB5NAXBP.js.map} +1 -1
- package/dist/{chunk-SMHXSEBD.cjs → chunk-GT45MQAK.cjs} +7 -7
- package/dist/{chunk-SMHXSEBD.cjs.map → chunk-GT45MQAK.cjs.map} +1 -1
- package/dist/{chunk-TZXEZFCI.cjs → chunk-H2QTLV5T.cjs} +5 -5
- package/dist/{chunk-TZXEZFCI.cjs.map → chunk-H2QTLV5T.cjs.map} +1 -1
- package/dist/{chunk-FFZLSY2N.js → chunk-HHPYY4LH.js} +4 -4
- package/dist/{chunk-FFZLSY2N.js.map → chunk-HHPYY4LH.js.map} +1 -1
- package/dist/{chunk-XYVJ3FBQ.cjs → chunk-I7UJA6RM.cjs} +5 -5
- package/dist/{chunk-XYVJ3FBQ.cjs.map → chunk-I7UJA6RM.cjs.map} +1 -1
- package/dist/{chunk-YFBHVTKN.cjs → chunk-IJIQ4H6C.cjs} +7 -7
- package/dist/{chunk-YFBHVTKN.cjs.map → chunk-IJIQ4H6C.cjs.map} +1 -1
- package/dist/{chunk-LXNR6TQK.js → chunk-ILVNMES2.js} +3 -3
- package/dist/{chunk-LXNR6TQK.js.map → chunk-ILVNMES2.js.map} +1 -1
- package/dist/{chunk-JXHMJUVI.js → chunk-JELHUUM5.js} +3 -3
- package/dist/{chunk-JXHMJUVI.js.map → chunk-JELHUUM5.js.map} +1 -1
- package/dist/{chunk-CTYW42GG.js → chunk-JQZFOIX6.js} +6 -6
- package/dist/{chunk-CTYW42GG.js.map → chunk-JQZFOIX6.js.map} +1 -1
- package/dist/{chunk-I7WLFADD.js → chunk-LWN2PXW7.js} +3 -3
- package/dist/{chunk-I7WLFADD.js.map → chunk-LWN2PXW7.js.map} +1 -1
- package/dist/{chunk-I2HHC6QW.js → chunk-N5W6XJI2.js} +3 -3
- package/dist/{chunk-I2HHC6QW.js.map → chunk-N5W6XJI2.js.map} +1 -1
- package/dist/chunk-N6ZLZUBF.cjs +257 -0
- package/dist/chunk-N6ZLZUBF.cjs.map +1 -0
- package/dist/chunk-P2AV5BD7.cjs +137 -0
- package/dist/chunk-P2AV5BD7.cjs.map +1 -0
- package/dist/{chunk-ZFJHUOFU.js → chunk-P4XPESR2.js} +4 -4
- package/dist/{chunk-ZFJHUOFU.js.map → chunk-P4XPESR2.js.map} +1 -1
- package/dist/{chunk-AESLEYST.js → chunk-RJNGXR5Y.js} +4 -4
- package/dist/{chunk-AESLEYST.js.map → chunk-RJNGXR5Y.js.map} +1 -1
- package/dist/chunk-S3NIRNWM.js +86 -0
- package/dist/chunk-S3NIRNWM.js.map +1 -0
- package/dist/{chunk-HJIKU6MF.cjs → chunk-S7RFIMA3.cjs} +4 -4
- package/dist/{chunk-HJIKU6MF.cjs.map → chunk-S7RFIMA3.cjs.map} +1 -1
- package/dist/chunk-TAYFI4RG.cjs +108 -0
- package/dist/chunk-TAYFI4RG.cjs.map +1 -0
- package/dist/{chunk-OZVPJWXO.cjs → chunk-TCPTBLDV.cjs} +5 -5
- package/dist/{chunk-OZVPJWXO.cjs.map → chunk-TCPTBLDV.cjs.map} +1 -1
- package/dist/{chunk-E62JFAHW.js → chunk-TGUDT3GK.js} +4 -4
- package/dist/{chunk-E62JFAHW.js.map → chunk-TGUDT3GK.js.map} +1 -1
- package/dist/{chunk-XCYE4OQV.js → chunk-TMRSI543.js} +3 -3
- package/dist/{chunk-XCYE4OQV.js.map → chunk-TMRSI543.js.map} +1 -1
- package/dist/{chunk-RWHWEQQX.cjs → chunk-U7TAQLPN.cjs} +6 -6
- package/dist/{chunk-RWHWEQQX.cjs.map → chunk-U7TAQLPN.cjs.map} +1 -1
- package/dist/chunk-UEHONGPZ.js +115 -0
- package/dist/chunk-UEHONGPZ.js.map +1 -0
- package/dist/{chunk-NN7WMXY4.cjs → chunk-UUY7EDVJ.cjs} +4 -4
- package/dist/{chunk-NN7WMXY4.cjs.map → chunk-UUY7EDVJ.cjs.map} +1 -1
- package/dist/{chunk-OM76QWUN.js → chunk-UXABXEWT.js} +3 -3
- package/dist/{chunk-OM76QWUN.js.map → chunk-UXABXEWT.js.map} +1 -1
- package/dist/{chunk-MDQNUKCP.cjs → chunk-V6466VMN.cjs} +14 -14
- package/dist/{chunk-MDQNUKCP.cjs.map → chunk-V6466VMN.cjs.map} +1 -1
- package/dist/{chunk-O7C6S644.js → chunk-WBL7LOIH.js} +3 -3
- package/dist/{chunk-O7C6S644.js.map → chunk-WBL7LOIH.js.map} +1 -1
- package/dist/{chunk-RQV7SMIZ.cjs → chunk-WKNVNN2K.cjs} +5 -5
- package/dist/{chunk-RQV7SMIZ.cjs.map → chunk-WKNVNN2K.cjs.map} +1 -1
- package/dist/{chunk-HXSAH4Y6.cjs → chunk-WR3FML2W.cjs} +7 -7
- package/dist/{chunk-HXSAH4Y6.cjs.map → chunk-WR3FML2W.cjs.map} +1 -1
- package/dist/{chunk-QOGROEVD.js → chunk-X3JG3IR6.js} +6 -5
- package/dist/chunk-X3JG3IR6.js.map +1 -0
- package/dist/{chunk-6XZ362VL.js → chunk-XT7RXXOE.js} +6 -7
- package/dist/chunk-XT7RXXOE.js.map +1 -0
- package/dist/{chunk-WVBFQB26.cjs → chunk-ZSR5JSYZ.cjs} +8 -8
- package/dist/{chunk-WVBFQB26.cjs.map → chunk-ZSR5JSYZ.cjs.map} +1 -1
- package/dist/index.cjs +67 -62
- 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 +27 -26
- package/dist/index.js.map +1 -1
- package/dist/styles.css +124 -29
- package/docs/llms/form.md +26 -0
- package/docs/llms/popover.md +138 -6
- package/docs/llms/slider.md +13 -2
- package/docs/llms/timeline.md +140 -0
- package/docs/llms.md +5 -4
- package/package.json +5 -1
- package/dist/Popover-NYEKT5CQ.css +0 -10
- package/dist/chunk-2ENTRT7R.cjs.map +0 -1
- package/dist/chunk-3UU2PUK4.js +0 -66
- package/dist/chunk-3UU2PUK4.js.map +0 -1
- package/dist/chunk-6XZ362VL.js.map +0 -1
- package/dist/chunk-7M7NAMR5.js.map +0 -1
- package/dist/chunk-B5JH7NRZ.cjs +0 -133
- package/dist/chunk-B5JH7NRZ.cjs.map +0 -1
- package/dist/chunk-O2HMH5BI.cjs +0 -88
- package/dist/chunk-O2HMH5BI.cjs.map +0 -1
- package/dist/chunk-QJGKI2BD.js +0 -111
- package/dist/chunk-QJGKI2BD.js.map +0 -1
- package/dist/chunk-QOGROEVD.js.map +0 -1
- package/dist/chunk-RZ2E3XEU.cjs.map +0 -1
- package/dist/chunk-T4PI2ZX7.cjs.map +0 -1
- package/dist/chunk-V2DIQ3RH.js.map +0 -1
- package/dist/chunk-YCHUHMNP.cjs.map +0 -1
package/dist/Popover.d.cts
CHANGED
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
3
|
interface PopoverProps {
|
|
4
|
+
/** Popover body content. */
|
|
4
5
|
content: React.ReactNode;
|
|
6
|
+
/** Optional title rendered above content. */
|
|
7
|
+
title?: React.ReactNode;
|
|
8
|
+
/** Preferred placement relative to the trigger. */
|
|
5
9
|
placement?: "top" | "bottom" | "left" | "right";
|
|
10
|
+
/** How the popover is triggered. */
|
|
6
11
|
trigger?: "click" | "hover";
|
|
12
|
+
/** Show a small arrow pointing at the trigger. */
|
|
13
|
+
arrow?: boolean;
|
|
14
|
+
/** Show a close button in the header (click trigger only). */
|
|
15
|
+
closable?: boolean;
|
|
16
|
+
/** Panel width in px, or `"auto"` to fit content. */
|
|
17
|
+
width?: number | "auto";
|
|
18
|
+
/** Uncontrolled initial open state. */
|
|
7
19
|
defaultOpen?: boolean;
|
|
20
|
+
/** Controlled open state. */
|
|
8
21
|
open?: boolean;
|
|
22
|
+
/** Callback when visibility changes. */
|
|
9
23
|
onOpenChange?: (open: boolean) => void;
|
|
24
|
+
/** Trigger element. */
|
|
10
25
|
children: React.ReactElement;
|
|
11
26
|
className?: string;
|
|
12
27
|
}
|
|
13
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* `Popover` — rich content bubble with optional title, arrow, and close button.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* <Popover title="Confirm" content={<p>Are you sure?</p>} arrow>
|
|
33
|
+
* <Button>Delete</Button>
|
|
34
|
+
* </Popover>
|
|
35
|
+
*/
|
|
14
36
|
declare const Popover: React.FC<PopoverProps>;
|
|
15
37
|
|
|
16
38
|
export { Popover, type PopoverProps };
|
package/dist/Popover.d.ts
CHANGED
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
3
|
interface PopoverProps {
|
|
4
|
+
/** Popover body content. */
|
|
4
5
|
content: React.ReactNode;
|
|
6
|
+
/** Optional title rendered above content. */
|
|
7
|
+
title?: React.ReactNode;
|
|
8
|
+
/** Preferred placement relative to the trigger. */
|
|
5
9
|
placement?: "top" | "bottom" | "left" | "right";
|
|
10
|
+
/** How the popover is triggered. */
|
|
6
11
|
trigger?: "click" | "hover";
|
|
12
|
+
/** Show a small arrow pointing at the trigger. */
|
|
13
|
+
arrow?: boolean;
|
|
14
|
+
/** Show a close button in the header (click trigger only). */
|
|
15
|
+
closable?: boolean;
|
|
16
|
+
/** Panel width in px, or `"auto"` to fit content. */
|
|
17
|
+
width?: number | "auto";
|
|
18
|
+
/** Uncontrolled initial open state. */
|
|
7
19
|
defaultOpen?: boolean;
|
|
20
|
+
/** Controlled open state. */
|
|
8
21
|
open?: boolean;
|
|
22
|
+
/** Callback when visibility changes. */
|
|
9
23
|
onOpenChange?: (open: boolean) => void;
|
|
24
|
+
/** Trigger element. */
|
|
10
25
|
children: React.ReactElement;
|
|
11
26
|
className?: string;
|
|
12
27
|
}
|
|
13
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* `Popover` — rich content bubble with optional title, arrow, and close button.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* <Popover title="Confirm" content={<p>Are you sure?</p>} arrow>
|
|
33
|
+
* <Button>Delete</Button>
|
|
34
|
+
* </Popover>
|
|
35
|
+
*/
|
|
14
36
|
declare const Popover: React.FC<PopoverProps>;
|
|
15
37
|
|
|
16
38
|
export { Popover, type PopoverProps };
|
package/dist/Popover.js
CHANGED
package/dist/Select.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
3
|
+
var chunkD3GZSL2B_cjs = require('./chunk-D3GZSL2B.cjs');
|
|
4
|
+
require('./chunk-WKNVNN2K.cjs');
|
|
5
|
+
require('./chunk-3XIDJEYR.cjs');
|
|
6
|
+
require('./chunk-3KQKEE5O.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "Select", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunkD3GZSL2B_cjs.Select; }
|
|
13
13
|
});
|
|
14
14
|
//# sourceMappingURL=Select.cjs.map
|
|
15
15
|
//# sourceMappingURL=Select.cjs.map
|
package/dist/Select.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Select } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
1
|
+
export { Select } from './chunk-XT7RXXOE.js';
|
|
2
|
+
import './chunk-ILVNMES2.js';
|
|
3
|
+
import './chunk-ANAQER3T.js';
|
|
4
|
+
import './chunk-X3JG3IR6.js';
|
|
5
5
|
//# sourceMappingURL=Select.js.map
|
|
6
6
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
/* ============ Slider ============ */
|
|
2
2
|
.slider {
|
|
3
3
|
position: relative;
|
|
4
|
-
height: 36px;
|
|
5
4
|
width: 100%;
|
|
6
5
|
display: flex;
|
|
7
6
|
align-items: center;
|
|
7
|
+
gap: 10px;
|
|
8
8
|
cursor: pointer;
|
|
9
|
+
min-height: 36px;
|
|
9
10
|
}
|
|
10
11
|
.slider.has-marks { padding-bottom: 26px; }
|
|
11
12
|
.slider.disabled { opacity: 0.5; cursor: not-allowed; }
|
|
13
|
+
|
|
14
|
+
/* Rail: positioning context for track + thumbs + marks */
|
|
15
|
+
.slider-rail {
|
|
16
|
+
position: relative;
|
|
17
|
+
flex: 1 1 0%;
|
|
18
|
+
height: 36px;
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
}
|
|
22
|
+
|
|
12
23
|
.slider-track {
|
|
13
24
|
position: relative;
|
|
14
25
|
width: 100%;
|
|
@@ -16,8 +27,10 @@
|
|
|
16
27
|
border-radius: 999px;
|
|
17
28
|
background: var(--bg);
|
|
18
29
|
box-shadow: var(--neu-in-sm);
|
|
19
|
-
|
|
30
|
+
touch-action: none;
|
|
31
|
+
z-index: 1;
|
|
20
32
|
}
|
|
33
|
+
|
|
21
34
|
.slider-fill {
|
|
22
35
|
position: absolute;
|
|
23
36
|
top: 0; bottom: 0;
|
|
@@ -25,7 +38,9 @@
|
|
|
25
38
|
box-shadow: 0 0 12px var(--accent-glow);
|
|
26
39
|
border-radius: 999px;
|
|
27
40
|
transition: left var(--dur-fast) var(--ease), right var(--dur-fast) var(--ease);
|
|
41
|
+
pointer-events: none;
|
|
28
42
|
}
|
|
43
|
+
|
|
29
44
|
.slider-thumb {
|
|
30
45
|
position: absolute;
|
|
31
46
|
top: 50%;
|
|
@@ -36,43 +51,45 @@
|
|
|
36
51
|
transform: translate(-50%, -50%);
|
|
37
52
|
transition: all var(--dur-fast) var(--ease);
|
|
38
53
|
display: grid; place-items: center;
|
|
39
|
-
|
|
54
|
+
z-index: 3;
|
|
55
|
+
outline: none;
|
|
56
|
+
touch-action: none;
|
|
40
57
|
}
|
|
41
|
-
.slider.has-marks .slider-thumb { top: calc(50% - 13px); }
|
|
42
|
-
.slider.has-marks .slider-track { margin-top: -26px; }
|
|
43
58
|
.slider-thumb::after {
|
|
44
59
|
content: "";
|
|
45
60
|
width: 6px; height: 6px;
|
|
46
61
|
border-radius: 999px;
|
|
47
|
-
background: var(--accent);
|
|
62
|
+
background: var(--slider-thumb-color, var(--accent));
|
|
63
|
+
}
|
|
64
|
+
.slider-thumb:focus-visible {
|
|
65
|
+
box-shadow: var(--neu-out-sm), 0 0 0 3px var(--accent-glow);
|
|
48
66
|
}
|
|
49
67
|
.slider:hover .slider-thumb { transform: translate(-50%, -50%) scale(1.08); }
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
pointer-events: auto;
|
|
68
|
+
|
|
69
|
+
.slider-value {
|
|
70
|
+
font-family: var(--font-mono);
|
|
71
|
+
font-size: 12px;
|
|
72
|
+
color: var(--accent-ink);
|
|
73
|
+
flex-shrink: 0;
|
|
74
|
+
white-space: nowrap;
|
|
58
75
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
.slider
|
|
62
|
-
.slider.has-marks input[type="range"] { height: calc(100% - 26px); }
|
|
63
|
-
.slider-value { font-family: var(--font-mono); font-size: 12px; color: var(--accent-ink); margin-left: 10px; }
|
|
76
|
+
|
|
77
|
+
/* Tone variants */
|
|
78
|
+
.slider.success .slider-thumb { --slider-thumb-color: var(--success); }
|
|
64
79
|
.slider.success .slider-fill { background: linear-gradient(90deg, color-mix(in oklch, var(--success) 70%, white), var(--success)); box-shadow: 0 0 10px color-mix(in oklch, var(--success) 35%, transparent); }
|
|
65
|
-
.slider.success .slider-thumb
|
|
80
|
+
.slider.success .slider-thumb:focus-visible { box-shadow: var(--neu-out-sm), 0 0 0 3px color-mix(in oklch, var(--success) 35%, transparent); }
|
|
81
|
+
.slider.warning .slider-thumb { --slider-thumb-color: var(--warning); }
|
|
66
82
|
.slider.warning .slider-fill { background: linear-gradient(90deg, color-mix(in oklch, var(--warning) 70%, white), var(--warning)); box-shadow: 0 0 10px color-mix(in oklch, var(--warning) 35%, transparent); }
|
|
67
|
-
.slider.warning .slider-thumb
|
|
83
|
+
.slider.warning .slider-thumb:focus-visible { box-shadow: var(--neu-out-sm), 0 0 0 3px color-mix(in oklch, var(--warning) 35%, transparent); }
|
|
84
|
+
.slider.danger .slider-thumb { --slider-thumb-color: var(--danger); }
|
|
68
85
|
.slider.danger .slider-fill { background: linear-gradient(90deg, color-mix(in oklch, var(--danger) 70%, white), var(--danger)); box-shadow: 0 0 10px color-mix(in oklch, var(--danger) 35%, transparent); }
|
|
69
|
-
.slider.danger .slider-thumb
|
|
86
|
+
.slider.danger .slider-thumb:focus-visible { box-shadow: var(--neu-out-sm), 0 0 0 3px color-mix(in oklch, var(--danger) 35%, transparent); }
|
|
70
87
|
|
|
71
88
|
/* Marks */
|
|
72
89
|
.slider-marks {
|
|
73
90
|
position: absolute;
|
|
74
91
|
left: 0; right: 0;
|
|
75
|
-
bottom:
|
|
92
|
+
bottom: -26px;
|
|
76
93
|
height: 22px;
|
|
77
94
|
pointer-events: none;
|
|
78
95
|
}
|
|
@@ -94,8 +111,10 @@
|
|
|
94
111
|
border-radius: 999px;
|
|
95
112
|
background: var(--bg);
|
|
96
113
|
box-shadow: var(--neu-in-sm);
|
|
97
|
-
|
|
98
|
-
|
|
114
|
+
position: absolute;
|
|
115
|
+
top: -12px;
|
|
116
|
+
left: 50%;
|
|
117
|
+
transform: translateX(-50%);
|
|
99
118
|
z-index: 1;
|
|
100
119
|
}
|
|
101
120
|
.slider-mark.active .slider-mark-dot { background: var(--accent); box-shadow: 0 0 6px var(--accent-glow); }
|
package/dist/Slider.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkN6ZLZUBF_cjs = require('./chunk-N6ZLZUBF.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "Slider", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkN6ZLZUBF_cjs.Slider; }
|
|
10
10
|
});
|
|
11
11
|
//# sourceMappingURL=Slider.cjs.map
|
|
12
12
|
//# sourceMappingURL=Slider.cjs.map
|
package/dist/Slider.d.cts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
type SliderSingleValue = number;
|
|
4
3
|
type SliderRangeValue = [number, number];
|
|
5
|
-
type SliderValue =
|
|
4
|
+
type SliderValue = number | SliderRangeValue;
|
|
6
5
|
interface SliderBaseProps {
|
|
7
6
|
min?: number;
|
|
8
7
|
max?: number;
|
|
@@ -10,6 +9,8 @@ interface SliderBaseProps {
|
|
|
10
9
|
disabled?: boolean;
|
|
11
10
|
showValue?: boolean;
|
|
12
11
|
tone?: "accent" | "success" | "warning" | "danger";
|
|
12
|
+
/** Custom gradient colors mapped from min→max. Overrides `tone` for fill & thumb. */
|
|
13
|
+
colors?: string[];
|
|
13
14
|
/** Tick marks with labels. Clicking a mark snaps to it. */
|
|
14
15
|
marks?: Record<number, React.ReactNode>;
|
|
15
16
|
className?: string;
|
|
@@ -27,7 +28,9 @@ interface SliderRangeProps extends SliderBaseProps {
|
|
|
27
28
|
onChange?: (value: SliderRangeValue) => void;
|
|
28
29
|
}
|
|
29
30
|
type SliderProps = SliderSingleProps | SliderRangeProps;
|
|
30
|
-
/** `Slider` — neumorphic range input with grooved track.
|
|
31
|
-
|
|
31
|
+
/** `Slider` — neumorphic range input with grooved track.
|
|
32
|
+
* @example <Slider defaultValue={40} showValue />
|
|
33
|
+
*/
|
|
34
|
+
declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
|
|
32
35
|
|
|
33
|
-
export { Slider, type SliderProps, type SliderRangeProps, type SliderRangeValue, type SliderSingleProps, type
|
|
36
|
+
export { Slider, type SliderProps, type SliderRangeProps, type SliderRangeValue, type SliderSingleProps, type SliderValue };
|
package/dist/Slider.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
type SliderSingleValue = number;
|
|
4
3
|
type SliderRangeValue = [number, number];
|
|
5
|
-
type SliderValue =
|
|
4
|
+
type SliderValue = number | SliderRangeValue;
|
|
6
5
|
interface SliderBaseProps {
|
|
7
6
|
min?: number;
|
|
8
7
|
max?: number;
|
|
@@ -10,6 +9,8 @@ interface SliderBaseProps {
|
|
|
10
9
|
disabled?: boolean;
|
|
11
10
|
showValue?: boolean;
|
|
12
11
|
tone?: "accent" | "success" | "warning" | "danger";
|
|
12
|
+
/** Custom gradient colors mapped from min→max. Overrides `tone` for fill & thumb. */
|
|
13
|
+
colors?: string[];
|
|
13
14
|
/** Tick marks with labels. Clicking a mark snaps to it. */
|
|
14
15
|
marks?: Record<number, React.ReactNode>;
|
|
15
16
|
className?: string;
|
|
@@ -27,7 +28,9 @@ interface SliderRangeProps extends SliderBaseProps {
|
|
|
27
28
|
onChange?: (value: SliderRangeValue) => void;
|
|
28
29
|
}
|
|
29
30
|
type SliderProps = SliderSingleProps | SliderRangeProps;
|
|
30
|
-
/** `Slider` — neumorphic range input with grooved track.
|
|
31
|
-
|
|
31
|
+
/** `Slider` — neumorphic range input with grooved track.
|
|
32
|
+
* @example <Slider defaultValue={40} showValue />
|
|
33
|
+
*/
|
|
34
|
+
declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
|
|
32
35
|
|
|
33
|
-
export { Slider, type SliderProps, type SliderRangeProps, type SliderRangeValue, type SliderSingleProps, type
|
|
36
|
+
export { Slider, type SliderProps, type SliderRangeProps, type SliderRangeValue, type SliderSingleProps, type SliderValue };
|
package/dist/Slider.js
CHANGED
package/dist/Table.cjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
7
|
-
require('./chunk-
|
|
8
|
-
require('./chunk-
|
|
9
|
-
require('./chunk-
|
|
3
|
+
var chunkV6466VMN_cjs = require('./chunk-V6466VMN.cjs');
|
|
4
|
+
require('./chunk-D26YHP2Y.cjs');
|
|
5
|
+
require('./chunk-D3GZSL2B.cjs');
|
|
6
|
+
require('./chunk-WKNVNN2K.cjs');
|
|
7
|
+
require('./chunk-UUY7EDVJ.cjs');
|
|
8
|
+
require('./chunk-3XIDJEYR.cjs');
|
|
9
|
+
require('./chunk-3KQKEE5O.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, "Table", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkV6466VMN_cjs.Table; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "TablePro", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkV6466VMN_cjs.TablePro; }
|
|
20
20
|
});
|
|
21
21
|
//# sourceMappingURL=Table.cjs.map
|
|
22
22
|
//# sourceMappingURL=Table.cjs.map
|
package/dist/Table.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { Table, TablePro } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
1
|
+
export { Table, TablePro } from './chunk-JQZFOIX6.js';
|
|
2
|
+
import './chunk-RJNGXR5Y.js';
|
|
3
|
+
import './chunk-XT7RXXOE.js';
|
|
4
|
+
import './chunk-ILVNMES2.js';
|
|
5
|
+
import './chunk-4ADDAZK3.js';
|
|
6
|
+
import './chunk-ANAQER3T.js';
|
|
7
|
+
import './chunk-X3JG3IR6.js';
|
|
8
8
|
//# sourceMappingURL=Table.js.map
|
|
9
9
|
//# sourceMappingURL=Table.js.map
|
package/dist/Tag.cjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var chunkWKNVNN2K_cjs = require('./chunk-WKNVNN2K.cjs');
|
|
4
|
+
require('./chunk-3KQKEE5O.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "Badge", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkWKNVNN2K_cjs.Badge; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "Tag", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkWKNVNN2K_cjs.Tag; }
|
|
15
15
|
});
|
|
16
16
|
//# sourceMappingURL=Tag.cjs.map
|
|
17
17
|
//# sourceMappingURL=Tag.cjs.map
|
package/dist/Tag.js
CHANGED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
.timeline {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
font-size: 14px;
|
|
5
|
+
color: var(--fg);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* ---- Item layout ---- */
|
|
9
|
+
.timeline-item {
|
|
10
|
+
display: grid;
|
|
11
|
+
grid-template-columns: 1fr auto 1fr;
|
|
12
|
+
gap: 0 var(--gap-3);
|
|
13
|
+
min-height: 60px;
|
|
14
|
+
position: relative;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Left mode: label hidden, content on right */
|
|
18
|
+
.timeline-left .timeline-item-label {
|
|
19
|
+
display: none;
|
|
20
|
+
}
|
|
21
|
+
.timeline-left .timeline-item {
|
|
22
|
+
grid-template-columns: auto 1fr;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Right mode: content on left, label hidden */
|
|
26
|
+
.timeline-right .timeline-item-label {
|
|
27
|
+
display: none;
|
|
28
|
+
}
|
|
29
|
+
.timeline-right .timeline-item {
|
|
30
|
+
grid-template-columns: 1fr auto;
|
|
31
|
+
direction: rtl;
|
|
32
|
+
}
|
|
33
|
+
.timeline-right .timeline-item-content,
|
|
34
|
+
.timeline-right .timeline-item-head {
|
|
35
|
+
direction: ltr;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Alternate mode */
|
|
39
|
+
.timeline-alternate .timeline-item-left .timeline-item-label {
|
|
40
|
+
text-align: right;
|
|
41
|
+
color: var(--fg-muted);
|
|
42
|
+
}
|
|
43
|
+
.timeline-alternate .timeline-item-left .timeline-item-content {
|
|
44
|
+
text-align: left;
|
|
45
|
+
}
|
|
46
|
+
.timeline-alternate .timeline-item-right .timeline-item-label {
|
|
47
|
+
text-align: left;
|
|
48
|
+
}
|
|
49
|
+
.timeline-alternate .timeline-item-right .timeline-item-content {
|
|
50
|
+
text-align: right;
|
|
51
|
+
color: var(--fg-muted);
|
|
52
|
+
}
|
|
53
|
+
.timeline-alternate .timeline-item-right {
|
|
54
|
+
direction: rtl;
|
|
55
|
+
}
|
|
56
|
+
.timeline-alternate .timeline-item-right .timeline-item-head,
|
|
57
|
+
.timeline-alternate .timeline-item-right .timeline-item-content,
|
|
58
|
+
.timeline-alternate .timeline-item-right .timeline-item-label {
|
|
59
|
+
direction: ltr;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* ---- Head (dot + tail) ---- */
|
|
63
|
+
.timeline-item-head {
|
|
64
|
+
display: flex;
|
|
65
|
+
flex-direction: column;
|
|
66
|
+
align-items: center;
|
|
67
|
+
position: relative;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.timeline-item-dot {
|
|
71
|
+
width: 12px;
|
|
72
|
+
height: 12px;
|
|
73
|
+
border-radius: var(--r-pill);
|
|
74
|
+
box-shadow: var(--neu-out-sm);
|
|
75
|
+
flex-shrink: 0;
|
|
76
|
+
display: flex;
|
|
77
|
+
align-items: center;
|
|
78
|
+
justify-content: center;
|
|
79
|
+
position: relative;
|
|
80
|
+
z-index: 1;
|
|
81
|
+
margin-top: 4px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.timeline-item-dot.accent { background: var(--accent); }
|
|
85
|
+
.timeline-item-dot.success { background: var(--success); }
|
|
86
|
+
.timeline-item-dot.warning { background: var(--warning); }
|
|
87
|
+
.timeline-item-dot.danger { background: var(--danger); }
|
|
88
|
+
.timeline-item-dot.info { background: var(--info); }
|
|
89
|
+
.timeline-item-dot.muted { background: var(--fg-subtle); }
|
|
90
|
+
|
|
91
|
+
/* Pending dot: clear default fill, Spinner handles its own visuals */
|
|
92
|
+
.timeline-item-dot.pending {
|
|
93
|
+
background: transparent;
|
|
94
|
+
box-shadow: none;
|
|
95
|
+
border: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.timeline-item-tail {
|
|
99
|
+
width: 2px;
|
|
100
|
+
flex: 1;
|
|
101
|
+
background: var(--divider);
|
|
102
|
+
margin-top: var(--gap-1);
|
|
103
|
+
margin-bottom: 0;
|
|
104
|
+
border-radius: 1px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* ---- Content ---- */
|
|
108
|
+
.timeline-item-content {
|
|
109
|
+
padding-bottom: var(--gap-5);
|
|
110
|
+
line-height: 1.6;
|
|
111
|
+
}
|
|
112
|
+
.timeline-item-last .timeline-item-content {
|
|
113
|
+
padding-bottom: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.timeline-item-label {
|
|
117
|
+
padding-bottom: var(--gap-5);
|
|
118
|
+
line-height: 1.6;
|
|
119
|
+
color: var(--fg-muted);
|
|
120
|
+
font-size: 13px;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/* ---- Pending animation ---- */
|
|
124
|
+
.timeline-item-pending .timeline-item-content {
|
|
125
|
+
color: var(--fg-muted);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* When dot has custom content (Spinner / Icon), expand to fit */
|
|
129
|
+
.timeline-item-dot:has(> *) {
|
|
130
|
+
width: auto;
|
|
131
|
+
height: auto;
|
|
132
|
+
background: transparent !important;
|
|
133
|
+
box-shadow: none;
|
|
134
|
+
border-radius: 0;
|
|
135
|
+
border: none;
|
|
136
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkTAYFI4RG_cjs = require('./chunk-TAYFI4RG.cjs');
|
|
4
|
+
require('./chunk-XUT2Z2L6.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "Timeline", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunkTAYFI4RG_cjs.Timeline; }
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=Timeline.cjs.map
|
|
13
|
+
//# sourceMappingURL=Timeline.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"Timeline.cjs"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface TimelineItemConfig {
|
|
4
|
+
/** Unique key for the item */
|
|
5
|
+
key?: string;
|
|
6
|
+
/** Content displayed on the right (or main side) */
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
/** Label displayed on the opposite side (alternate/label mode) */
|
|
9
|
+
label?: React.ReactNode;
|
|
10
|
+
/** Dot color */
|
|
11
|
+
color?: "accent" | "success" | "warning" | "danger" | "info" | "muted";
|
|
12
|
+
/** Custom dot content (replaces default dot) */
|
|
13
|
+
dot?: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
interface TimelineProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
16
|
+
/** Timeline items */
|
|
17
|
+
items: TimelineItemConfig[];
|
|
18
|
+
/**
|
|
19
|
+
* Show a pending (loading) item at the end.
|
|
20
|
+
* `true` renders a default spinner; a ReactNode renders custom content.
|
|
21
|
+
*/
|
|
22
|
+
pending?: boolean | React.ReactNode;
|
|
23
|
+
/** Text shown as the pending item's content */
|
|
24
|
+
pendingContent?: React.ReactNode;
|
|
25
|
+
/** Layout mode */
|
|
26
|
+
mode?: "left" | "right" | "alternate";
|
|
27
|
+
/** Reverse the order of items */
|
|
28
|
+
reverse?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* `Timeline` — vertical timeline with pending/loading state.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <Timeline items={[{ children: "Created" }, { children: "In Progress" }]} pending />
|
|
35
|
+
*/
|
|
36
|
+
declare const Timeline: React.ForwardRefExoticComponent<TimelineProps & React.RefAttributes<HTMLDivElement>>;
|
|
37
|
+
|
|
38
|
+
export { Timeline, type TimelineItemConfig, type TimelineProps };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface TimelineItemConfig {
|
|
4
|
+
/** Unique key for the item */
|
|
5
|
+
key?: string;
|
|
6
|
+
/** Content displayed on the right (or main side) */
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
/** Label displayed on the opposite side (alternate/label mode) */
|
|
9
|
+
label?: React.ReactNode;
|
|
10
|
+
/** Dot color */
|
|
11
|
+
color?: "accent" | "success" | "warning" | "danger" | "info" | "muted";
|
|
12
|
+
/** Custom dot content (replaces default dot) */
|
|
13
|
+
dot?: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
interface TimelineProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
16
|
+
/** Timeline items */
|
|
17
|
+
items: TimelineItemConfig[];
|
|
18
|
+
/**
|
|
19
|
+
* Show a pending (loading) item at the end.
|
|
20
|
+
* `true` renders a default spinner; a ReactNode renders custom content.
|
|
21
|
+
*/
|
|
22
|
+
pending?: boolean | React.ReactNode;
|
|
23
|
+
/** Text shown as the pending item's content */
|
|
24
|
+
pendingContent?: React.ReactNode;
|
|
25
|
+
/** Layout mode */
|
|
26
|
+
mode?: "left" | "right" | "alternate";
|
|
27
|
+
/** Reverse the order of items */
|
|
28
|
+
reverse?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* `Timeline` — vertical timeline with pending/loading state.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <Timeline items={[{ children: "Created" }, { children: "In Progress" }]} pending />
|
|
35
|
+
*/
|
|
36
|
+
declare const Timeline: React.ForwardRefExoticComponent<TimelineProps & React.RefAttributes<HTMLDivElement>>;
|
|
37
|
+
|
|
38
|
+
export { Timeline, type TimelineItemConfig, type TimelineProps };
|
package/dist/Timeline.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"Timeline.js"}
|