@fangxinyan/lumina 0.6.1 → 0.6.3
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/README.md +2 -1
- package/dist/{Alert-JJ7GB3UU.css → Alert-QBKIDY5H.css} +7 -0
- package/dist/Alert.cjs +3 -3
- package/dist/Alert.d.cts +3 -2
- package/dist/Alert.d.ts +3 -2
- package/dist/Alert.js +2 -2
- package/dist/AutoComplete.cjs +5 -4
- package/dist/AutoComplete.d.cts +1 -1
- package/dist/AutoComplete.d.ts +1 -1
- package/dist/AutoComplete.js +4 -3
- package/dist/Badge-DPGLV3D3.css +22 -0
- package/dist/Badge.cjs +10 -0
- package/dist/Badge.d.cts +19 -0
- package/dist/Badge.d.ts +19 -0
- package/dist/Badge.js +1 -0
- package/dist/{Button-SDQD25AG.css → Button-4Z3Q6KII.css} +56 -36
- package/dist/Button.cjs +3 -7
- package/dist/Button.d.cts +11 -15
- package/dist/Button.d.ts +11 -15
- package/dist/Button.js +2 -2
- package/dist/Calendar.cjs +3 -3
- package/dist/Calendar.js +2 -2
- package/dist/{Card-RG7ECXL2.css → Card-6RMVIHWX.css} +7 -13
- package/dist/Card.cjs +2 -6
- package/dist/Card.d.cts +7 -11
- package/dist/Card.d.ts +7 -11
- package/dist/Card.js +1 -1
- package/dist/{Cascader-VSYEKQCG.css → Cascader-3BLLA7EN.css} +77 -0
- package/dist/Cascader.cjs +5 -3
- package/dist/Cascader.d.cts +22 -4
- package/dist/Cascader.d.ts +22 -4
- package/dist/Cascader.js +4 -2
- package/dist/{Checkbox-SKJATVSN.css → Checkbox-U5EUDSYS.css} +5 -35
- package/dist/Checkbox.cjs +3 -7
- package/dist/Checkbox.d.cts +1 -18
- package/dist/Checkbox.d.ts +1 -18
- package/dist/Checkbox.js +2 -2
- package/dist/Collapse-66U5YJFY.css +53 -0
- package/dist/Collapse.cjs +11 -0
- package/dist/Collapse.d.cts +32 -0
- package/dist/Collapse.d.ts +32 -0
- package/dist/Collapse.js +2 -0
- package/dist/CommandPalette.cjs +5 -4
- package/dist/CommandPalette.js +4 -3
- package/dist/Drawer.cjs +3 -3
- package/dist/Drawer.js +2 -2
- package/dist/Empty-DC2LPORC.css +28 -0
- package/dist/Empty.cjs +2 -10
- package/dist/Empty.d.cts +1 -62
- package/dist/Empty.d.ts +1 -62
- package/dist/Empty.js +1 -1
- package/dist/Form.d.cts +1 -1
- package/dist/Form.d.ts +1 -1
- package/dist/Icon.cjs +187 -3
- package/dist/Icon.d.cts +104 -3
- package/dist/Icon.d.ts +104 -3
- package/dist/Icon.js +1 -1
- package/dist/{Image-4MN34O6P.css → Image-MRYQCRQ5.css} +78 -0
- package/dist/Image.cjs +12 -4
- package/dist/Image.d.cts +79 -6
- package/dist/Image.d.ts +79 -6
- package/dist/Image.js +2 -2
- package/dist/{Input-33CAH4O6.css → Input-HUBJ55OH.css} +25 -42
- package/dist/Input.cjs +6 -5
- package/dist/Input.d.cts +23 -26
- package/dist/Input.d.ts +23 -26
- package/dist/Input.js +3 -2
- package/dist/InputNumber.cjs +5 -4
- package/dist/InputNumber.d.cts +1 -1
- package/dist/InputNumber.d.ts +1 -1
- package/dist/InputNumber.js +4 -3
- package/dist/Message-2MZ3LFPU.css +45 -0
- package/dist/Message.cjs +23 -0
- package/dist/Message.d.cts +54 -0
- package/dist/Message.d.ts +54 -0
- package/dist/Message.js +2 -0
- package/dist/{Modal-XSDMU4XJ.css → Modal-2QNDW4SO.css} +27 -0
- package/dist/Modal.cjs +4 -4
- package/dist/Modal.d.cts +29 -4
- package/dist/Modal.d.ts +29 -4
- package/dist/Modal.js +3 -3
- package/dist/Pagination.cjs +7 -5
- package/dist/Pagination.js +6 -4
- package/dist/Popover.cjs +2 -2
- package/dist/Popover.d.cts +11 -3
- package/dist/Popover.d.ts +11 -3
- package/dist/Popover.js +1 -1
- package/dist/Radio-GVFDPAZM.css +97 -0
- package/dist/Radio.cjs +14 -0
- package/dist/Radio.d.cts +36 -0
- package/dist/Radio.d.ts +36 -0
- package/dist/Radio.js +1 -0
- package/dist/{Select-J3CCVFJ7.css → Select-Z5VYPEEY.css} +33 -24
- package/dist/Select.cjs +6 -4
- package/dist/Select.d.cts +29 -7
- package/dist/Select.d.ts +29 -7
- package/dist/Select.js +5 -3
- package/dist/Skeleton-CVWH2VWN.css +40 -0
- package/dist/Skeleton.cjs +10 -0
- package/dist/Skeleton.d.cts +30 -0
- package/dist/Skeleton.d.ts +30 -0
- package/dist/Skeleton.js +1 -0
- package/dist/Spin-3GJNMSIH.css +94 -0
- package/dist/Spin.cjs +10 -0
- package/dist/Spin.d.cts +20 -0
- package/dist/Spin.d.ts +20 -0
- package/dist/Spin.js +1 -0
- package/dist/{Table-2LPTOUIR.css → Table-ATJJQLKU.css} +0 -53
- package/dist/Table.cjs +9 -11
- package/dist/Table.d.cts +2 -21
- package/dist/Table.d.ts +2 -21
- package/dist/Table.js +8 -6
- package/dist/TablePro-3XVHYLSL.css +45 -0
- package/dist/TablePro.cjs +19 -0
- package/dist/TablePro.d.cts +21 -0
- package/dist/TablePro.d.ts +21 -0
- package/dist/TablePro.js +10 -0
- package/dist/{Tabs-RHK6XAFF.css → Tabs-BLSNI2T5.css} +0 -34
- package/dist/Tabs.cjs +2 -6
- package/dist/Tabs.d.cts +1 -16
- package/dist/Tabs.d.ts +1 -16
- package/dist/Tabs.js +1 -1
- package/dist/Tag-HDYCDPFS.css +42 -0
- package/dist/Tag.cjs +3 -7
- package/dist/Tag.d.cts +5 -14
- package/dist/Tag.d.ts +5 -14
- package/dist/Tag.js +2 -2
- package/dist/Textarea-YNET7IBH.css +54 -0
- package/dist/Textarea.cjs +15 -0
- package/dist/Textarea.d.cts +25 -0
- package/dist/Textarea.d.ts +25 -0
- package/dist/Textarea.js +2 -0
- package/dist/Theme.cjs +14 -10
- package/dist/Theme.d.cts +29 -6
- package/dist/Theme.d.ts +29 -6
- package/dist/Theme.js +1 -1
- package/dist/{Timeline-RHZAZKZ7.css → Timeline-3ZHOHPXT.css} +2 -2
- package/dist/Timeline.cjs +3 -3
- package/dist/Timeline.d.cts +1 -1
- package/dist/Timeline.d.ts +1 -1
- package/dist/Timeline.js +2 -2
- package/dist/Tooltip.cjs +2 -2
- package/dist/Tooltip.d.cts +17 -4
- package/dist/Tooltip.d.ts +17 -4
- package/dist/Tooltip.js +1 -1
- package/dist/Typography.cjs +7 -7
- package/dist/Typography.d.cts +1 -0
- package/dist/Typography.d.ts +1 -0
- package/dist/Typography.js +2 -2
- package/dist/{chunk-OVZTG5CP.cjs → chunk-2HQCUBA7.cjs} +2 -2
- package/dist/{chunk-X2U7EKCS.cjs → chunk-3YJU3D5S.cjs} +28 -5
- package/dist/chunk-45VJGBGN.js +25 -0
- package/dist/{chunk-3D77MQHO.js → chunk-46VXFTEC.js} +3 -3
- package/dist/chunk-47VG2P34.js +393 -0
- package/dist/{chunk-LZU33BX6.cjs → chunk-5DKRY67M.cjs} +4 -20
- package/dist/{chunk-TWGQZX2R.js → chunk-5H5YP2TB.js} +4 -19
- package/dist/chunk-5MN3PMF4.cjs +240 -0
- package/dist/{chunk-5A3RT4KD.js → chunk-5TKC6IEN.js} +4 -55
- package/dist/{chunk-N57NXCNC.cjs → chunk-6HMTV6P4.cjs} +3 -44
- package/dist/{chunk-RF2EY5JS.cjs → chunk-6ZXQJRAT.cjs} +153 -34
- package/dist/{chunk-OFGDUCT7.cjs → chunk-7AG524YZ.cjs} +3 -3
- package/dist/chunk-7IYKKLV3.js +283 -0
- package/dist/{chunk-73RQBWWW.js → chunk-AAGF7K3L.js} +2 -2
- package/dist/chunk-AXZ7ELMA.js +41 -0
- package/dist/{chunk-R6BIF3FF.js → chunk-BPOOVO5T.js} +5 -23
- package/dist/{chunk-OI3CWXT3.js → chunk-BVQ77VRY.js} +3 -3
- package/dist/{chunk-UXH5PH3S.js → chunk-CETNCRZ4.js} +2 -2
- package/dist/chunk-DG5VQ6BO.cjs +28 -0
- package/dist/chunk-DWAN57G4.js +243 -0
- package/dist/chunk-ELNT3CFO.js +64 -0
- package/dist/{chunk-ULOJ5UEY.js → chunk-ET6DYQVZ.js} +1 -1
- package/dist/chunk-F6RYCBQG.js +25 -0
- package/dist/{chunk-RPFMQZA5.js → chunk-FBYUZOZP.js} +42 -31
- package/dist/chunk-FGW5GJ22.cjs +132 -0
- package/dist/{chunk-6Y5WRCPW.js → chunk-FWPBORRB.js} +1 -1
- package/dist/chunk-GENABQYA.cjs +47 -0
- package/dist/{chunk-TGHBKKSS.js → chunk-GIZU3H6H.js} +3 -43
- package/dist/chunk-GMN74OEY.cjs +63 -0
- package/dist/{chunk-Y47YTYQ3.cjs → chunk-H4LGWZMH.cjs} +159 -8
- package/dist/chunk-HKF2V5MM.cjs +214 -0
- package/dist/chunk-HLFH5HWR.js +81 -0
- package/dist/{chunk-4WRE4HQP.js → chunk-HWFM4MAT.js} +18 -6
- package/dist/{chunk-GY3BSHHS.cjs → chunk-HZSIUOCN.cjs} +2 -55
- package/dist/{chunk-D46EM4EN.js → chunk-I5WTQ5Y3.js} +4 -4
- package/dist/chunk-J2HZTJO6.js +26 -0
- package/dist/{chunk-NN25YMOL.js → chunk-J5ZGYQZK.js} +153 -35
- package/dist/{chunk-WRDKOSSM.js → chunk-JCEHZ336.js} +1 -1
- package/dist/chunk-JVUVOR6S.js +110 -0
- package/dist/chunk-K5IGFBDR.js +113 -0
- package/dist/{chunk-Q2KG6SQK.cjs → chunk-K7FV7W6U.cjs} +5 -5
- package/dist/{chunk-PWW64ZWO.cjs → chunk-KD4YYIIO.cjs} +1 -32
- package/dist/chunk-KGSADAOD.cjs +170 -0
- package/dist/{chunk-54YLXXS2.js → chunk-ME5BZ2WA.js} +2 -2
- package/dist/chunk-MPVCYU2K.cjs +104 -0
- package/dist/{chunk-EEMWQX3C.cjs → chunk-NTS5L4NQ.cjs} +3 -3
- package/dist/{chunk-WBK6XIDJ.js → chunk-OBEKX4VR.js} +2 -32
- package/dist/{chunk-EBNRZRWY.cjs → chunk-P6EZG2R7.cjs} +5 -5
- package/dist/{chunk-KYEY2LIB.cjs → chunk-P6P4DGLF.cjs} +3 -3
- package/dist/{chunk-GOBWKQCX.cjs → chunk-PULGVK2I.cjs} +3 -3
- package/dist/chunk-Q5SZIU7Z.cjs +47 -0
- package/dist/chunk-QKQHZIF3.cjs +86 -0
- package/dist/{chunk-3TWNBJFI.cjs → chunk-QP3VCSRY.cjs} +6 -6
- package/dist/{chunk-6ODY6MGL.cjs → chunk-R2TEDH2F.cjs} +5 -5
- package/dist/{chunk-YRZGXXWA.js → chunk-SQGPSMSK.js} +14 -20
- package/dist/{chunk-IW5LW6XS.js → chunk-TEEFR2FD.js} +28 -5
- package/dist/chunk-TGL5BGMR.js +218 -0
- package/dist/{chunk-62GU4OHH.cjs → chunk-TP567B3L.cjs} +13 -20
- package/dist/chunk-UKS23N3L.js +191 -0
- package/dist/chunk-USQ43DJ5.js +147 -0
- package/dist/{chunk-G2K6ETP4.cjs → chunk-UUHFKIWP.cjs} +18 -6
- package/dist/{chunk-2MNAZRWE.cjs → chunk-V272XR3F.cjs} +271 -2
- package/dist/chunk-VFFIE2VO.cjs +271 -0
- package/dist/{chunk-FIO65XYG.cjs → chunk-X5GCOMC3.cjs} +49 -38
- package/dist/{chunk-Y3ZSG3SJ.cjs → chunk-XSN4TLN5.cjs} +11 -30
- package/dist/chunk-ZKE73UQF.cjs +138 -0
- package/dist/index.cjs +342 -132
- package/dist/index.d.cts +26 -20
- package/dist/index.d.ts +26 -20
- package/dist/index.js +35 -29
- package/dist/styles.css +515 -230
- package/docs/llms/alert.md +4 -3
- package/docs/llms/badge.md +3 -3
- package/docs/llms/button.md +11 -41
- package/docs/llms/card.md +6 -12
- package/docs/llms/cascader.md +22 -0
- package/docs/llms/{accordion.md → collapse.md} +13 -11
- package/docs/llms/drawer.md +1 -1
- package/docs/llms/form.md +1 -1
- package/docs/llms/image.md +72 -1
- package/docs/llms/input.md +28 -18
- package/docs/llms/message.md +63 -0
- package/docs/llms/modal.md +30 -0
- package/docs/llms/popover.md +18 -1
- package/docs/llms/radio.md +37 -1
- package/docs/llms/select.md +22 -2
- package/docs/llms/spin.md +59 -0
- package/docs/llms/table.md +3 -3
- package/docs/llms/tag.md +3 -2
- package/docs/llms/theme.md +41 -4
- package/docs/llms/tooltip.md +16 -3
- package/docs/llms.md +8 -8
- package/package.json +32 -52
- package/dist/Accordion-REMDCQUD.css +0 -44
- package/dist/Accordion.cjs +0 -11
- package/dist/Accordion.d.cts +0 -33
- package/dist/Accordion.d.ts +0 -33
- package/dist/Accordion.js +0 -2
- package/dist/Empty-NQ72W3D7.css +0 -160
- package/dist/Tag-FGDY3W7E.css +0 -51
- package/dist/Toast-YSACW3EM.css +0 -45
- package/dist/Toast.cjs +0 -15
- package/dist/Toast.d.cts +0 -26
- package/dist/Toast.d.ts +0 -26
- package/dist/Toast.js +0 -2
- package/dist/chunk-32HBMXXV.cjs +0 -208
- package/dist/chunk-3XTHKAEY.js +0 -39
- package/dist/chunk-5M26OVVY.js +0 -90
- package/dist/chunk-DOMYUGJY.js +0 -132
- package/dist/chunk-DPNDHNKK.js +0 -185
- package/dist/chunk-G2XK57I7.cjs +0 -116
- package/dist/chunk-HBWO3QKW.js +0 -74
- package/dist/chunk-JVS5ZALZ.js +0 -123
- package/dist/chunk-LIGHV4RC.cjs +0 -121
- package/dist/chunk-MCTIA6RZ.js +0 -99
- package/dist/chunk-NC4YUEXM.cjs +0 -145
- package/dist/chunk-NJ6B22YJ.js +0 -170
- package/dist/chunk-W64ARHLJ.cjs +0 -62
- package/dist/chunk-ZFW6OYAO.cjs +0 -100
- package/docs/llms/spinner.md +0 -58
- package/docs/llms/toast.md +0 -51
|
@@ -33,11 +33,36 @@
|
|
|
33
33
|
flex: 1;
|
|
34
34
|
min-width: 0;
|
|
35
35
|
}
|
|
36
|
-
.select-value
|
|
36
|
+
.select-value-label {
|
|
37
37
|
white-space: nowrap;
|
|
38
38
|
overflow: hidden;
|
|
39
39
|
text-overflow: ellipsis;
|
|
40
40
|
}
|
|
41
|
+
.select-icon,
|
|
42
|
+
.menu-item-icon {
|
|
43
|
+
display: inline-flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
justify-content: center;
|
|
46
|
+
line-height: 0;
|
|
47
|
+
flex-shrink: 0;
|
|
48
|
+
}
|
|
49
|
+
.select-icon img,
|
|
50
|
+
.menu-item-icon img {
|
|
51
|
+
display: block;
|
|
52
|
+
width: 16px;
|
|
53
|
+
height: 16px;
|
|
54
|
+
object-fit: contain;
|
|
55
|
+
}
|
|
56
|
+
.select.sm .select-icon img,
|
|
57
|
+
.select.sm .menu-item-icon img {
|
|
58
|
+
width: 14px;
|
|
59
|
+
height: 14px;
|
|
60
|
+
}
|
|
61
|
+
.select.lg .select-icon img,
|
|
62
|
+
.select.lg .menu-item-icon img {
|
|
63
|
+
width: 18px;
|
|
64
|
+
height: 18px;
|
|
65
|
+
}
|
|
41
66
|
.select.invalid .select-trigger {
|
|
42
67
|
box-shadow: var(--neu-out-sm), 0 0 0 2px color-mix(in oklch, var(--danger) 30%, transparent);
|
|
43
68
|
}
|
|
@@ -128,32 +153,12 @@
|
|
|
128
153
|
|
|
129
154
|
/* Menu search — flush with menu, single subtle separator (no nested frame) */
|
|
130
155
|
.menu-search {
|
|
131
|
-
display:
|
|
132
|
-
|
|
133
|
-
gap: 8px;
|
|
134
|
-
height: 32px;
|
|
135
|
-
padding: 0 6px;
|
|
156
|
+
display: block;
|
|
157
|
+
padding: 4px 2px 8px;
|
|
136
158
|
margin: -2px -2px 4px;
|
|
137
159
|
border-bottom: 1px solid var(--divider);
|
|
138
|
-
color: var(--fg-subtle);
|
|
139
|
-
transition: color var(--dur) var(--ease);
|
|
140
|
-
}
|
|
141
|
-
.menu-search:focus-within { color: var(--accent); }
|
|
142
|
-
.menu-search input {
|
|
143
|
-
flex: 1;
|
|
144
|
-
min-width: 0;
|
|
145
|
-
border: none;
|
|
146
|
-
outline: none;
|
|
147
|
-
background: transparent;
|
|
148
|
-
color: var(--fg);
|
|
149
|
-
font-size: 13px;
|
|
150
|
-
font-family: inherit;
|
|
151
|
-
height: 100%;
|
|
152
|
-
padding: 0;
|
|
153
160
|
}
|
|
154
|
-
.menu-search input
|
|
155
|
-
.menu-search input:focus,
|
|
156
|
-
.menu-search input:focus-visible { box-shadow: none; }
|
|
161
|
+
.menu-search .input-wrap { width: 100%; }
|
|
157
162
|
|
|
158
163
|
/* Menu state (loading / empty) */
|
|
159
164
|
.menu-state {
|
|
@@ -179,8 +184,12 @@
|
|
|
179
184
|
.menu-state .menu-state-ico .spinner {
|
|
180
185
|
width: 16px;
|
|
181
186
|
height: 16px;
|
|
187
|
+
display: inline-block;
|
|
188
|
+
border-radius: 999px;
|
|
189
|
+
border: 2px solid var(--accent);
|
|
182
190
|
border-color: var(--accent);
|
|
183
191
|
border-right-color: transparent;
|
|
192
|
+
animation: spin 0.8s linear infinite;
|
|
184
193
|
}
|
|
185
194
|
|
|
186
195
|
/* Option body — supports description line under label */
|
package/dist/Select.cjs
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var chunkX5GCOMC3_cjs = require('./chunk-X5GCOMC3.cjs');
|
|
4
|
+
require('./chunk-5DKRY67M.cjs');
|
|
5
5
|
require('./chunk-YB3IWIOJ.cjs');
|
|
6
|
-
require('./chunk-
|
|
6
|
+
require('./chunk-HKF2V5MM.cjs');
|
|
7
|
+
require('./chunk-MPVCYU2K.cjs');
|
|
8
|
+
require('./chunk-V272XR3F.cjs');
|
|
7
9
|
|
|
8
10
|
|
|
9
11
|
|
|
10
12
|
Object.defineProperty(exports, "Select", {
|
|
11
13
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkX5GCOMC3_cjs.Select; }
|
|
13
15
|
});
|
package/dist/Select.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { IconSlot } from './Icon.cjs';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
3
4
|
|
|
4
5
|
interface SelectOption<T extends string | number = string> {
|
|
5
6
|
value: T;
|
|
@@ -8,8 +9,8 @@ interface SelectOption<T extends string | number = string> {
|
|
|
8
9
|
text?: string;
|
|
9
10
|
/** Secondary line shown beneath the label. */
|
|
10
11
|
description?: React.ReactNode;
|
|
11
|
-
/** Leading icon. */
|
|
12
|
-
icon?:
|
|
12
|
+
/** Leading icon. Accepts a built-in icon name or custom React node. */
|
|
13
|
+
icon?: IconSlot;
|
|
13
14
|
disabled?: boolean;
|
|
14
15
|
}
|
|
15
16
|
interface SelectOptionGroup<T extends string | number = string> {
|
|
@@ -18,6 +19,13 @@ interface SelectOptionGroup<T extends string | number = string> {
|
|
|
18
19
|
options: SelectOption<T>[];
|
|
19
20
|
}
|
|
20
21
|
type SelectItem<T extends string | number = string> = SelectOption<T> | SelectOptionGroup<T>;
|
|
22
|
+
type SelectFilterOption<T extends string | number = string> = boolean | ((input: string, option: SelectOption<T>) => boolean);
|
|
23
|
+
type SelectSingleChangeHandler<T extends string | number = string> = {
|
|
24
|
+
bivarianceHack(value: any): void;
|
|
25
|
+
}["bivarianceHack"];
|
|
26
|
+
type SelectMultiChangeHandler<T extends string | number = string> = {
|
|
27
|
+
bivarianceHack(value: T[]): void;
|
|
28
|
+
}["bivarianceHack"];
|
|
21
29
|
interface BaseSelectProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
|
|
22
30
|
/** Flat or mixed (groups + options) item list. */
|
|
23
31
|
options: SelectItem<T>[];
|
|
@@ -28,10 +36,18 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
|
|
|
28
36
|
invalid?: boolean;
|
|
29
37
|
/** Show a small × to clear the selection (single mode) or all selections (multi). */
|
|
30
38
|
clearable?: boolean;
|
|
39
|
+
/** Alias for `clearable`. */
|
|
40
|
+
allowClear?: boolean | {
|
|
41
|
+
clearIcon?: React.ReactNode;
|
|
42
|
+
};
|
|
31
43
|
/** Add a search input at the top of the menu. */
|
|
32
44
|
searchable?: boolean;
|
|
45
|
+
/** Alias for `searchable`. */
|
|
46
|
+
showSearch?: boolean;
|
|
33
47
|
/** Custom filter — defaults to label/text/value substring match. */
|
|
34
|
-
filterOption?:
|
|
48
|
+
filterOption?: SelectFilterOption<T>;
|
|
49
|
+
/** Field used by the default filter. */
|
|
50
|
+
optionFilterProp?: "label" | "value" | "text" | string;
|
|
35
51
|
/** Show spinner instead of options. */
|
|
36
52
|
loading?: boolean;
|
|
37
53
|
/** Custom empty content when no options match. */
|
|
@@ -43,12 +59,16 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
|
|
|
43
59
|
className?: string;
|
|
44
60
|
/** Class for the popped-out menu. */
|
|
45
61
|
menuClassName?: string;
|
|
62
|
+
/** Alias for `menuClassName`. */
|
|
63
|
+
popupClassName?: string;
|
|
64
|
+
/** Additional alias for `menuClassName`. */
|
|
65
|
+
dropdownClassName?: string;
|
|
46
66
|
}
|
|
47
67
|
interface SingleSelectProps<T extends string | number = string> extends BaseSelectProps<T> {
|
|
48
68
|
multiple?: false;
|
|
49
69
|
value?: T;
|
|
50
70
|
defaultValue?: T;
|
|
51
|
-
onChange?:
|
|
71
|
+
onChange?: SelectSingleChangeHandler<T>;
|
|
52
72
|
/** Fired when user clears the selection via the × button. */
|
|
53
73
|
onClear?: () => void;
|
|
54
74
|
}
|
|
@@ -56,7 +76,9 @@ interface MultiSelectProps<T extends string | number = string> extends BaseSelec
|
|
|
56
76
|
multiple: true;
|
|
57
77
|
value?: T[];
|
|
58
78
|
defaultValue?: T[];
|
|
59
|
-
onChange?:
|
|
79
|
+
onChange?: SelectMultiChangeHandler<T>;
|
|
80
|
+
/** Fired when user clears all selections via the × button. */
|
|
81
|
+
onClear?: () => void;
|
|
60
82
|
/** Max selected items shown as tags before collapsing to "+N". */
|
|
61
83
|
maxTagCount?: number;
|
|
62
84
|
}
|
|
@@ -68,4 +90,4 @@ type SelectComponent = {
|
|
|
68
90
|
/** `Select` — neumorphic dropdown. Set `multiple` for tag-style multi-select. */
|
|
69
91
|
declare const Select: SelectComponent;
|
|
70
92
|
|
|
71
|
-
export { type MultiSelectProps, Select, type SelectItem, type SelectOption, type SelectOptionGroup, type SelectProps, type SingleSelectProps };
|
|
93
|
+
export { type MultiSelectProps, Select, type SelectFilterOption, type SelectItem, type SelectMultiChangeHandler, type SelectOption, type SelectOptionGroup, type SelectProps, type SelectSingleChangeHandler, type SingleSelectProps };
|
package/dist/Select.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { IconSlot } from './Icon.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
3
4
|
|
|
4
5
|
interface SelectOption<T extends string | number = string> {
|
|
5
6
|
value: T;
|
|
@@ -8,8 +9,8 @@ interface SelectOption<T extends string | number = string> {
|
|
|
8
9
|
text?: string;
|
|
9
10
|
/** Secondary line shown beneath the label. */
|
|
10
11
|
description?: React.ReactNode;
|
|
11
|
-
/** Leading icon. */
|
|
12
|
-
icon?:
|
|
12
|
+
/** Leading icon. Accepts a built-in icon name or custom React node. */
|
|
13
|
+
icon?: IconSlot;
|
|
13
14
|
disabled?: boolean;
|
|
14
15
|
}
|
|
15
16
|
interface SelectOptionGroup<T extends string | number = string> {
|
|
@@ -18,6 +19,13 @@ interface SelectOptionGroup<T extends string | number = string> {
|
|
|
18
19
|
options: SelectOption<T>[];
|
|
19
20
|
}
|
|
20
21
|
type SelectItem<T extends string | number = string> = SelectOption<T> | SelectOptionGroup<T>;
|
|
22
|
+
type SelectFilterOption<T extends string | number = string> = boolean | ((input: string, option: SelectOption<T>) => boolean);
|
|
23
|
+
type SelectSingleChangeHandler<T extends string | number = string> = {
|
|
24
|
+
bivarianceHack(value: any): void;
|
|
25
|
+
}["bivarianceHack"];
|
|
26
|
+
type SelectMultiChangeHandler<T extends string | number = string> = {
|
|
27
|
+
bivarianceHack(value: T[]): void;
|
|
28
|
+
}["bivarianceHack"];
|
|
21
29
|
interface BaseSelectProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
|
|
22
30
|
/** Flat or mixed (groups + options) item list. */
|
|
23
31
|
options: SelectItem<T>[];
|
|
@@ -28,10 +36,18 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
|
|
|
28
36
|
invalid?: boolean;
|
|
29
37
|
/** Show a small × to clear the selection (single mode) or all selections (multi). */
|
|
30
38
|
clearable?: boolean;
|
|
39
|
+
/** Alias for `clearable`. */
|
|
40
|
+
allowClear?: boolean | {
|
|
41
|
+
clearIcon?: React.ReactNode;
|
|
42
|
+
};
|
|
31
43
|
/** Add a search input at the top of the menu. */
|
|
32
44
|
searchable?: boolean;
|
|
45
|
+
/** Alias for `searchable`. */
|
|
46
|
+
showSearch?: boolean;
|
|
33
47
|
/** Custom filter — defaults to label/text/value substring match. */
|
|
34
|
-
filterOption?:
|
|
48
|
+
filterOption?: SelectFilterOption<T>;
|
|
49
|
+
/** Field used by the default filter. */
|
|
50
|
+
optionFilterProp?: "label" | "value" | "text" | string;
|
|
35
51
|
/** Show spinner instead of options. */
|
|
36
52
|
loading?: boolean;
|
|
37
53
|
/** Custom empty content when no options match. */
|
|
@@ -43,12 +59,16 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
|
|
|
43
59
|
className?: string;
|
|
44
60
|
/** Class for the popped-out menu. */
|
|
45
61
|
menuClassName?: string;
|
|
62
|
+
/** Alias for `menuClassName`. */
|
|
63
|
+
popupClassName?: string;
|
|
64
|
+
/** Additional alias for `menuClassName`. */
|
|
65
|
+
dropdownClassName?: string;
|
|
46
66
|
}
|
|
47
67
|
interface SingleSelectProps<T extends string | number = string> extends BaseSelectProps<T> {
|
|
48
68
|
multiple?: false;
|
|
49
69
|
value?: T;
|
|
50
70
|
defaultValue?: T;
|
|
51
|
-
onChange?:
|
|
71
|
+
onChange?: SelectSingleChangeHandler<T>;
|
|
52
72
|
/** Fired when user clears the selection via the × button. */
|
|
53
73
|
onClear?: () => void;
|
|
54
74
|
}
|
|
@@ -56,7 +76,9 @@ interface MultiSelectProps<T extends string | number = string> extends BaseSelec
|
|
|
56
76
|
multiple: true;
|
|
57
77
|
value?: T[];
|
|
58
78
|
defaultValue?: T[];
|
|
59
|
-
onChange?:
|
|
79
|
+
onChange?: SelectMultiChangeHandler<T>;
|
|
80
|
+
/** Fired when user clears all selections via the × button. */
|
|
81
|
+
onClear?: () => void;
|
|
60
82
|
/** Max selected items shown as tags before collapsing to "+N". */
|
|
61
83
|
maxTagCount?: number;
|
|
62
84
|
}
|
|
@@ -68,4 +90,4 @@ type SelectComponent = {
|
|
|
68
90
|
/** `Select` — neumorphic dropdown. Set `multiple` for tag-style multi-select. */
|
|
69
91
|
declare const Select: SelectComponent;
|
|
70
92
|
|
|
71
|
-
export { type MultiSelectProps, Select, type SelectItem, type SelectOption, type SelectOptionGroup, type SelectProps, type SingleSelectProps };
|
|
93
|
+
export { type MultiSelectProps, Select, type SelectFilterOption, type SelectItem, type SelectMultiChangeHandler, type SelectOption, type SelectOptionGroup, type SelectProps, type SelectSingleChangeHandler, type SingleSelectProps };
|
package/dist/Select.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { Select } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { Select } from './chunk-FBYUZOZP.js';
|
|
2
|
+
import './chunk-5H5YP2TB.js';
|
|
3
3
|
import './chunk-DUFRASGO.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-UKS23N3L.js';
|
|
5
|
+
import './chunk-HLFH5HWR.js';
|
|
6
|
+
import './chunk-47VG2P34.js';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* ============ Skeleton ============ */
|
|
2
|
+
.skeleton {
|
|
3
|
+
display: block;
|
|
4
|
+
background: color-mix(in oklch, var(--accent-soft) 55%, var(--bg-sunken));
|
|
5
|
+
border-radius: var(--r-sm);
|
|
6
|
+
}
|
|
7
|
+
.skeleton.wave {
|
|
8
|
+
background: linear-gradient(90deg,
|
|
9
|
+
color-mix(in oklch, var(--accent-soft) 35%, var(--bg-sunken)),
|
|
10
|
+
color-mix(in oklch, var(--accent-soft) 75%, var(--bg-sunken)),
|
|
11
|
+
color-mix(in oklch, var(--accent-soft) 35%, var(--bg-sunken)));
|
|
12
|
+
background-size: 200% 100%;
|
|
13
|
+
animation: skel-wave 1.4s ease-in-out infinite;
|
|
14
|
+
}
|
|
15
|
+
.skeleton.pulse { animation: skel-pulse 1.4s ease-in-out infinite; }
|
|
16
|
+
.skeleton.none { animation: none; }
|
|
17
|
+
.skeleton.circle { border-radius: 999px; }
|
|
18
|
+
@keyframes skel-wave { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
|
|
19
|
+
@keyframes skel-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
|
|
20
|
+
|
|
21
|
+
.skeleton-box {
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: flex-start;
|
|
24
|
+
gap: 16px;
|
|
25
|
+
width: 100%;
|
|
26
|
+
}
|
|
27
|
+
.skeleton-content {
|
|
28
|
+
flex: 1;
|
|
29
|
+
min-width: 0;
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
gap: 12px;
|
|
33
|
+
}
|
|
34
|
+
.skeleton-box .skeleton-title {
|
|
35
|
+
display: block;
|
|
36
|
+
margin-bottom: 4px;
|
|
37
|
+
}
|
|
38
|
+
.skeleton-box .skeleton-row {
|
|
39
|
+
display: block;
|
|
40
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface SkeletonAvatarConfig {
|
|
4
|
+
shape?: "circle" | "square";
|
|
5
|
+
size?: "sm" | "md" | "lg";
|
|
6
|
+
}
|
|
7
|
+
interface SkeletonTitleConfig {
|
|
8
|
+
width?: number | string;
|
|
9
|
+
}
|
|
10
|
+
interface SkeletonParagraphConfig {
|
|
11
|
+
rows?: number;
|
|
12
|
+
width?: (number | string)[];
|
|
13
|
+
}
|
|
14
|
+
interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
|
|
15
|
+
width?: number | string;
|
|
16
|
+
height?: number | string;
|
|
17
|
+
circle?: boolean;
|
|
18
|
+
/** `wave` is a shimmer sweep; `pulse` fades opacity; `none` disables animation. */
|
|
19
|
+
animation?: "wave" | "pulse" | "none";
|
|
20
|
+
avatar?: boolean | SkeletonAvatarConfig;
|
|
21
|
+
title?: boolean | SkeletonTitleConfig;
|
|
22
|
+
paragraph?: boolean | SkeletonParagraphConfig;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* `Skeleton` — content placeholder during loading.
|
|
27
|
+
*/
|
|
28
|
+
declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLElement>>;
|
|
29
|
+
|
|
30
|
+
export { Skeleton, type SkeletonAvatarConfig, type SkeletonParagraphConfig, type SkeletonProps, type SkeletonTitleConfig };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface SkeletonAvatarConfig {
|
|
4
|
+
shape?: "circle" | "square";
|
|
5
|
+
size?: "sm" | "md" | "lg";
|
|
6
|
+
}
|
|
7
|
+
interface SkeletonTitleConfig {
|
|
8
|
+
width?: number | string;
|
|
9
|
+
}
|
|
10
|
+
interface SkeletonParagraphConfig {
|
|
11
|
+
rows?: number;
|
|
12
|
+
width?: (number | string)[];
|
|
13
|
+
}
|
|
14
|
+
interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
|
|
15
|
+
width?: number | string;
|
|
16
|
+
height?: number | string;
|
|
17
|
+
circle?: boolean;
|
|
18
|
+
/** `wave` is a shimmer sweep; `pulse` fades opacity; `none` disables animation. */
|
|
19
|
+
animation?: "wave" | "pulse" | "none";
|
|
20
|
+
avatar?: boolean | SkeletonAvatarConfig;
|
|
21
|
+
title?: boolean | SkeletonTitleConfig;
|
|
22
|
+
paragraph?: boolean | SkeletonParagraphConfig;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* `Skeleton` — content placeholder during loading.
|
|
27
|
+
*/
|
|
28
|
+
declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLElement>>;
|
|
29
|
+
|
|
30
|
+
export { Skeleton, type SkeletonAvatarConfig, type SkeletonParagraphConfig, type SkeletonProps, type SkeletonTitleConfig };
|
package/dist/Skeleton.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Skeleton } from './chunk-5TKC6IEN.js';
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/* ============ Spin ============ */
|
|
2
|
+
.spin {
|
|
3
|
+
width: 14px;
|
|
4
|
+
height: 14px;
|
|
5
|
+
border-radius: 999px;
|
|
6
|
+
border: 2px solid currentColor;
|
|
7
|
+
border-right-color: transparent;
|
|
8
|
+
animation: spin 0.8s linear infinite;
|
|
9
|
+
display: inline-block;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.spin.accent { color: var(--accent); }
|
|
13
|
+
.spin.success { color: var(--success); }
|
|
14
|
+
.spin.warning { color: var(--warning); }
|
|
15
|
+
.spin.danger { color: var(--danger); }
|
|
16
|
+
|
|
17
|
+
.spin.ring {
|
|
18
|
+
position: relative;
|
|
19
|
+
display: inline-block;
|
|
20
|
+
border: none;
|
|
21
|
+
border-radius: 50%;
|
|
22
|
+
background: var(--bg);
|
|
23
|
+
box-shadow: var(--neu-in-sm);
|
|
24
|
+
animation: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.spin.ring::before {
|
|
28
|
+
content: "";
|
|
29
|
+
position: absolute;
|
|
30
|
+
inset: 0;
|
|
31
|
+
border-radius: inherit;
|
|
32
|
+
background: conic-gradient(from 0deg,
|
|
33
|
+
transparent 0deg,
|
|
34
|
+
color-mix(in oklch, currentColor 30%, transparent) 40deg,
|
|
35
|
+
color-mix(in oklch, currentColor 70%, transparent) 100deg,
|
|
36
|
+
currentColor 220deg,
|
|
37
|
+
currentColor 340deg,
|
|
38
|
+
transparent 360deg);
|
|
39
|
+
-webkit-mask: radial-gradient(circle, transparent 60%, currentColor 61%);
|
|
40
|
+
mask: radial-gradient(circle, transparent 60%, currentColor 61%);
|
|
41
|
+
animation: spin 0.9s linear infinite;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.spin.ring.accent::before,
|
|
45
|
+
.spin.ring.success::before,
|
|
46
|
+
.spin.ring.warning::before,
|
|
47
|
+
.spin.ring.danger::before {
|
|
48
|
+
filter: drop-shadow(0 0 4px color-mix(in oklch, currentColor 50%, transparent));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.spin.dots {
|
|
52
|
+
display: inline-flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
gap: 0.34em;
|
|
55
|
+
border: none;
|
|
56
|
+
background: none;
|
|
57
|
+
box-shadow: none;
|
|
58
|
+
width: auto;
|
|
59
|
+
height: auto;
|
|
60
|
+
animation: none;
|
|
61
|
+
line-height: 1;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.spin.dots i {
|
|
65
|
+
width: 0.4em;
|
|
66
|
+
height: 0.4em;
|
|
67
|
+
border-radius: 999px;
|
|
68
|
+
background: radial-gradient(circle at 32% 28%,
|
|
69
|
+
color-mix(in oklch, currentColor 40%, var(--bg)),
|
|
70
|
+
currentColor 62%,
|
|
71
|
+
color-mix(in oklch, currentColor 82%, var(--fg)) 100%);
|
|
72
|
+
box-shadow:
|
|
73
|
+
0 0.06em 0.14em color-mix(in oklch, currentColor 45%, transparent),
|
|
74
|
+
0 0 0.35em color-mix(in oklch, currentColor 50%, transparent);
|
|
75
|
+
display: inline-block;
|
|
76
|
+
animation: spin-dot-bounce 1.2s ease-in-out infinite;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.spin.dots i:nth-child(2) { animation-delay: 0.15s; }
|
|
80
|
+
.spin.dots i:nth-child(3) { animation-delay: 0.3s; }
|
|
81
|
+
|
|
82
|
+
@keyframes spin-dot-bounce {
|
|
83
|
+
0%, 80%, 100% { transform: translateY(0); opacity: 0.5; }
|
|
84
|
+
40% { transform: translateY(-30%); opacity: 1; }
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.spin-wrap {
|
|
88
|
+
display: inline-flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
gap: 8px;
|
|
91
|
+
color: var(--fg-muted);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.spin-label { font-size: 12px; }
|
package/dist/Spin.cjs
ADDED
package/dist/Spin.d.cts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type SpinSize = "small" | "default" | "large" | number;
|
|
4
|
+
interface SpinProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
|
+
size?: SpinSize;
|
|
6
|
+
tone?: "accent" | "success" | "warning" | "danger" | "current";
|
|
7
|
+
/** Text rendered next to the indicator. */
|
|
8
|
+
tip?: React.ReactNode;
|
|
9
|
+
/** Same as `tip`; useful when a `label` prop reads better at call sites. */
|
|
10
|
+
label?: React.ReactNode;
|
|
11
|
+
/** `ring` is the default border spinner; `dots` is a three-dot bounce. */
|
|
12
|
+
variant?: "ring" | "dots";
|
|
13
|
+
/** Hide the indicator while preserving wrapper rendering. */
|
|
14
|
+
spinning?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/** `Spin` — loading indicator. */
|
|
18
|
+
declare const Spin: React.ForwardRefExoticComponent<SpinProps & React.RefAttributes<HTMLSpanElement>>;
|
|
19
|
+
|
|
20
|
+
export { Spin, type SpinProps, type SpinSize };
|
package/dist/Spin.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type SpinSize = "small" | "default" | "large" | number;
|
|
4
|
+
interface SpinProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
|
+
size?: SpinSize;
|
|
6
|
+
tone?: "accent" | "success" | "warning" | "danger" | "current";
|
|
7
|
+
/** Text rendered next to the indicator. */
|
|
8
|
+
tip?: React.ReactNode;
|
|
9
|
+
/** Same as `tip`; useful when a `label` prop reads better at call sites. */
|
|
10
|
+
label?: React.ReactNode;
|
|
11
|
+
/** `ring` is the default border spinner; `dots` is a three-dot bounce. */
|
|
12
|
+
variant?: "ring" | "dots";
|
|
13
|
+
/** Hide the indicator while preserving wrapper rendering. */
|
|
14
|
+
spinning?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/** `Spin` — loading indicator. */
|
|
18
|
+
declare const Spin: React.ForwardRefExoticComponent<SpinProps & React.RefAttributes<HTMLSpanElement>>;
|
|
19
|
+
|
|
20
|
+
export { Spin, type SpinProps, type SpinSize };
|
package/dist/Spin.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Spin } from './chunk-ELNT3CFO.js';
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
/* ============ Table ============ */
|
|
2
|
-
.table-card {
|
|
3
|
-
border-radius: var(--r-lg);
|
|
4
|
-
background: var(--bg);
|
|
5
|
-
box-shadow: var(--neu-out-sm);
|
|
6
|
-
overflow: hidden;
|
|
7
|
-
}
|
|
8
2
|
.table-wrap {
|
|
9
3
|
border-radius: var(--r-lg);
|
|
10
4
|
background: var(--bg);
|
|
@@ -246,50 +240,3 @@
|
|
|
246
240
|
.table-pagination {
|
|
247
241
|
margin-top: 12px;
|
|
248
242
|
}
|
|
249
|
-
|
|
250
|
-
/* Pro: card-wrap with toolbar + table + footer */
|
|
251
|
-
.table-card {
|
|
252
|
-
border-radius: var(--r-lg);
|
|
253
|
-
background: var(--bg);
|
|
254
|
-
box-shadow: var(--neu-out-sm);
|
|
255
|
-
overflow: hidden;
|
|
256
|
-
}
|
|
257
|
-
.table-card .table-wrap { background: transparent; box-shadow: none; border-radius: 0; }
|
|
258
|
-
.table-card .table-wrap.joined { border-radius: 0; }
|
|
259
|
-
/* When TablePro hosts the built-in pagination, seat it inside the card. */
|
|
260
|
-
.table-card .table-pagination {
|
|
261
|
-
margin-top: 0;
|
|
262
|
-
padding: 6px 16px;
|
|
263
|
-
border-top: 1px solid var(--divider);
|
|
264
|
-
background: color-mix(in oklch, var(--bg-sunken) 30%, transparent);
|
|
265
|
-
}
|
|
266
|
-
.table-toolbar {
|
|
267
|
-
display: flex;
|
|
268
|
-
align-items: center;
|
|
269
|
-
gap: var(--gap-3);
|
|
270
|
-
padding: 14px 16px;
|
|
271
|
-
border-bottom: 1px solid var(--divider);
|
|
272
|
-
}
|
|
273
|
-
.table-toolbar .table-title {
|
|
274
|
-
font-size: 14px;
|
|
275
|
-
font-weight: 600;
|
|
276
|
-
margin-right: 8px;
|
|
277
|
-
}
|
|
278
|
-
.table-toolbar-main {
|
|
279
|
-
flex: 1;
|
|
280
|
-
display: flex;
|
|
281
|
-
align-items: center;
|
|
282
|
-
gap: 10px;
|
|
283
|
-
min-width: 0;
|
|
284
|
-
}
|
|
285
|
-
.table-toolbar-actions {
|
|
286
|
-
display: flex;
|
|
287
|
-
align-items: center;
|
|
288
|
-
gap: 8px;
|
|
289
|
-
flex-shrink: 0;
|
|
290
|
-
}
|
|
291
|
-
.table-footer {
|
|
292
|
-
padding: 10px 16px;
|
|
293
|
-
border-top: 1px solid var(--divider);
|
|
294
|
-
background: color-mix(in oklch, var(--bg-sunken) 30%, transparent);
|
|
295
|
-
}
|
package/dist/Table.cjs
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
7
|
-
require('./chunk-
|
|
3
|
+
var chunkXSN4TLN5_cjs = require('./chunk-XSN4TLN5.cjs');
|
|
4
|
+
require('./chunk-P6EZG2R7.cjs');
|
|
5
|
+
require('./chunk-X5GCOMC3.cjs');
|
|
6
|
+
require('./chunk-5DKRY67M.cjs');
|
|
7
|
+
require('./chunk-6HMTV6P4.cjs');
|
|
8
8
|
require('./chunk-YB3IWIOJ.cjs');
|
|
9
|
-
require('./chunk-
|
|
9
|
+
require('./chunk-HKF2V5MM.cjs');
|
|
10
|
+
require('./chunk-MPVCYU2K.cjs');
|
|
11
|
+
require('./chunk-V272XR3F.cjs');
|
|
10
12
|
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
Object.defineProperty(exports, "Table", {
|
|
14
16
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
16
|
-
});
|
|
17
|
-
Object.defineProperty(exports, "TablePro", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function () { return chunkY3ZSG3SJ_cjs.TablePro; }
|
|
17
|
+
get: function () { return chunkXSN4TLN5_cjs.Table; }
|
|
20
18
|
});
|