@fangxinyan/lumina 0.6.16 → 0.6.18
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/DatePicker.cjs +3 -2
- package/dist/DatePicker.js +2 -1
- package/dist/DateTimePicker.cjs +3 -2
- package/dist/DateTimePicker.js +2 -1
- package/dist/{Image-TDCXJISG.css → Image-NISJRUWX.css} +80 -1
- package/dist/Image.cjs +6 -5
- package/dist/Image.d.cts +18 -1
- package/dist/Image.d.ts +18 -1
- package/dist/Image.js +2 -1
- package/dist/Pagination.cjs +3 -3
- package/dist/Pagination.js +2 -2
- package/dist/Select.cjs +2 -2
- package/dist/Select.js +1 -1
- package/dist/Table.cjs +4 -4
- package/dist/Table.js +3 -3
- package/dist/TablePro.cjs +5 -5
- package/dist/TablePro.js +4 -4
- package/dist/TimePicker.cjs +3 -2
- package/dist/TimePicker.js +2 -1
- package/dist/{chunk-QNN3YV2P.js → chunk-2FOC3D6X.js} +1 -1
- package/dist/chunk-35RCCUGO.cjs +62 -0
- package/dist/{chunk-PBT4UKPL.cjs → chunk-4ACCOYBY.cjs} +2 -2
- package/dist/chunk-5VOUUQF5.js +736 -0
- package/dist/{chunk-FKP5D5IS.js → chunk-7NTTRKNT.js} +8 -2
- package/dist/{chunk-6PHPRZTT.js → chunk-E22OIVYP.js} +17 -1
- package/dist/{chunk-DU4VSUBF.js → chunk-HG6YS4I7.js} +8 -2
- package/dist/chunk-HSAJUEO7.cjs +764 -0
- package/dist/{chunk-ZBWUIR2J.cjs → chunk-L6GIV5DQ.cjs} +2 -2
- package/dist/{chunk-32FWB5NO.cjs → chunk-MWEHU7YO.cjs} +8 -2
- package/dist/{chunk-7YJV45U6.cjs → chunk-NXBFEIUX.cjs} +2 -2
- package/dist/chunk-RC6ULCQP.js +40 -0
- package/dist/{chunk-YPE6CDXQ.js → chunk-SOCYOUGM.js} +8 -2
- package/dist/{chunk-KHRYPNUV.cjs → chunk-T2O4DTDE.cjs} +8 -2
- package/dist/{chunk-4YSGGZDB.js → chunk-UGAN4BBW.js} +1 -1
- package/dist/{chunk-IVFVLRWJ.cjs → chunk-UW57F3UO.cjs} +17 -1
- package/dist/{chunk-SFEWMO45.cjs → chunk-UWL6DRZW.cjs} +8 -2
- package/dist/{chunk-6LC4QROE.js → chunk-V5SQOZPF.js} +1 -1
- package/dist/index.cjs +21 -20
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +10 -9
- package/dist/styles.css +79 -1
- package/docs/llms/image.md +21 -0
- package/docs/llms.md +1 -1
- package/package.json +1 -1
- package/dist/chunk-EQ4FPOQQ.js +0 -253
- package/dist/chunk-RMFSX7DO.cjs +0 -281
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkUW57F3UO_cjs = require('./chunk-UW57F3UO.cjs');
|
|
4
4
|
var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
|
|
5
5
|
require('./tokens-RYJ3DFTU.css');
|
|
6
6
|
require('./shared-NJHRNLRH.css');
|
|
@@ -124,7 +124,7 @@ var Pagination = React__namespace.forwardRef(({
|
|
|
124
124
|
}
|
|
125
125
|
),
|
|
126
126
|
showSizeChanger && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pg-size-changer", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
127
|
-
|
|
127
|
+
chunkUW57F3UO_cjs.Select,
|
|
128
128
|
{
|
|
129
129
|
value: pageSize,
|
|
130
130
|
size: "sm",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunk35RCCUGO_cjs = require('./chunk-35RCCUGO.cjs');
|
|
3
4
|
var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
|
|
4
5
|
var chunkVS3I5OKA_cjs = require('./chunk-VS3I5OKA.cjs');
|
|
5
6
|
var chunkSW2HMNCA_cjs = require('./chunk-SW2HMNCA.cjs');
|
|
@@ -166,6 +167,12 @@ var DateTimePicker = React__namespace.forwardRef(
|
|
|
166
167
|
},
|
|
167
168
|
[disabled, onOpenChange, openControlled, readOnly]
|
|
168
169
|
);
|
|
170
|
+
const inputTriggerHandlers = chunk35RCCUGO_cjs.useInputTriggerToggle({
|
|
171
|
+
open,
|
|
172
|
+
disabled,
|
|
173
|
+
readOnly,
|
|
174
|
+
setOpen
|
|
175
|
+
});
|
|
169
176
|
const rootRef = React__namespace.useRef(null);
|
|
170
177
|
const panelRef = React__namespace.useRef(null);
|
|
171
178
|
const { triggerRef, floatingStyle } = chunkYB3IWIOJ_cjs.useFloating({
|
|
@@ -430,8 +437,7 @@ var DateTimePicker = React__namespace.forwardRef(
|
|
|
430
437
|
invalid,
|
|
431
438
|
allowClear,
|
|
432
439
|
leadingIcon: "calendar",
|
|
433
|
-
|
|
434
|
-
onClick: () => setOpen(true),
|
|
440
|
+
...inputTriggerHandlers,
|
|
435
441
|
onValueChange: handleInputChange,
|
|
436
442
|
onBlur: handleInputBlur,
|
|
437
443
|
inputMode: "numeric",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkL6GIV5DQ_cjs = require('./chunk-L6GIV5DQ.cjs');
|
|
4
4
|
var chunkATUPFAPZ_cjs = require('./chunk-ATUPFAPZ.cjs');
|
|
5
5
|
var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
|
|
6
6
|
var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
|
|
@@ -398,7 +398,7 @@ var TableInner = ({
|
|
|
398
398
|
}
|
|
399
399
|
),
|
|
400
400
|
pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
401
|
-
|
|
401
|
+
chunkL6GIV5DQ_cjs.Pagination,
|
|
402
402
|
{
|
|
403
403
|
total: totalCount,
|
|
404
404
|
pageSize: curPageSize,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
// src/utils/useInputTriggerToggle.ts
|
|
4
|
+
function useInputTriggerToggle({
|
|
5
|
+
open,
|
|
6
|
+
disabled,
|
|
7
|
+
readOnly,
|
|
8
|
+
setOpen
|
|
9
|
+
}) {
|
|
10
|
+
const pointerDownOpenRef = React.useRef(false);
|
|
11
|
+
const focusOpenedRef = React.useRef(false);
|
|
12
|
+
const handlePointerDown = React.useCallback(() => {
|
|
13
|
+
pointerDownOpenRef.current = open;
|
|
14
|
+
focusOpenedRef.current = false;
|
|
15
|
+
}, [open]);
|
|
16
|
+
const handleFocus = React.useCallback(() => {
|
|
17
|
+
if (disabled || readOnly || open) return;
|
|
18
|
+
focusOpenedRef.current = true;
|
|
19
|
+
setOpen(true);
|
|
20
|
+
}, [disabled, open, readOnly, setOpen]);
|
|
21
|
+
const handleClick = React.useCallback(() => {
|
|
22
|
+
if (disabled || readOnly) return;
|
|
23
|
+
if (focusOpenedRef.current) {
|
|
24
|
+
focusOpenedRef.current = false;
|
|
25
|
+
pointerDownOpenRef.current = false;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const nextOpen = !(pointerDownOpenRef.current || open);
|
|
29
|
+
pointerDownOpenRef.current = false;
|
|
30
|
+
setOpen(nextOpen);
|
|
31
|
+
}, [disabled, open, readOnly, setOpen]);
|
|
32
|
+
return {
|
|
33
|
+
onPointerDown: handlePointerDown,
|
|
34
|
+
onMouseDown: handlePointerDown,
|
|
35
|
+
onFocus: handleFocus,
|
|
36
|
+
onClick: handleClick
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { useInputTriggerToggle };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useInputTriggerToggle } from './chunk-RC6ULCQP.js';
|
|
1
2
|
import { useFloating } from './chunk-DUFRASGO.js';
|
|
2
3
|
import { Input } from './chunk-IOAOG5L7.js';
|
|
3
4
|
import { Button } from './chunk-IPSNC5VZ.js';
|
|
@@ -144,6 +145,12 @@ var DateTimePicker = React.forwardRef(
|
|
|
144
145
|
},
|
|
145
146
|
[disabled, onOpenChange, openControlled, readOnly]
|
|
146
147
|
);
|
|
148
|
+
const inputTriggerHandlers = useInputTriggerToggle({
|
|
149
|
+
open,
|
|
150
|
+
disabled,
|
|
151
|
+
readOnly,
|
|
152
|
+
setOpen
|
|
153
|
+
});
|
|
147
154
|
const rootRef = React.useRef(null);
|
|
148
155
|
const panelRef = React.useRef(null);
|
|
149
156
|
const { triggerRef, floatingStyle } = useFloating({
|
|
@@ -408,8 +415,7 @@ var DateTimePicker = React.forwardRef(
|
|
|
408
415
|
invalid,
|
|
409
416
|
allowClear,
|
|
410
417
|
leadingIcon: "calendar",
|
|
411
|
-
|
|
412
|
-
onClick: () => setOpen(true),
|
|
418
|
+
...inputTriggerHandlers,
|
|
413
419
|
onValueChange: handleInputChange,
|
|
414
420
|
onBlur: handleInputBlur,
|
|
415
421
|
inputMode: "numeric",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunk35RCCUGO_cjs = require('./chunk-35RCCUGO.cjs');
|
|
3
4
|
var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
|
|
4
5
|
var chunkVS3I5OKA_cjs = require('./chunk-VS3I5OKA.cjs');
|
|
5
6
|
var chunkSW2HMNCA_cjs = require('./chunk-SW2HMNCA.cjs');
|
|
@@ -108,6 +109,12 @@ var DatePicker = React__namespace.forwardRef(
|
|
|
108
109
|
},
|
|
109
110
|
[disabled, onOpenChange, openControlled, readOnly]
|
|
110
111
|
);
|
|
112
|
+
const inputTriggerHandlers = chunk35RCCUGO_cjs.useInputTriggerToggle({
|
|
113
|
+
open,
|
|
114
|
+
disabled,
|
|
115
|
+
readOnly,
|
|
116
|
+
setOpen
|
|
117
|
+
});
|
|
111
118
|
const rootRef = React__namespace.useRef(null);
|
|
112
119
|
const panelRef = React__namespace.useRef(null);
|
|
113
120
|
const { triggerRef, floatingStyle } = chunkYB3IWIOJ_cjs.useFloating({
|
|
@@ -229,8 +236,7 @@ var DatePicker = React__namespace.forwardRef(
|
|
|
229
236
|
invalid,
|
|
230
237
|
allowClear,
|
|
231
238
|
leadingIcon: "calendar",
|
|
232
|
-
|
|
233
|
-
onClick: () => setOpen(true),
|
|
239
|
+
...inputTriggerHandlers,
|
|
234
240
|
onValueChange: handleInputChange,
|
|
235
241
|
onBlur: handleInputBlur,
|
|
236
242
|
inputMode: "numeric",
|
|
@@ -159,7 +159,12 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
159
159
|
if (!multiControlled) setInnerMulti(next);
|
|
160
160
|
props.onChange?.(next);
|
|
161
161
|
};
|
|
162
|
+
const stopClearActivation = (e) => {
|
|
163
|
+
e.preventDefault();
|
|
164
|
+
e.stopPropagation();
|
|
165
|
+
};
|
|
162
166
|
const clearAll = (e) => {
|
|
167
|
+
e.preventDefault();
|
|
163
168
|
e.stopPropagation();
|
|
164
169
|
if (isMulti) {
|
|
165
170
|
if (!multiControlled) setInnerMulti([]);
|
|
@@ -296,7 +301,18 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
296
301
|
onClick: () => !disabled && setOpen(!open),
|
|
297
302
|
children: [
|
|
298
303
|
renderTrigger(),
|
|
299
|
-
showClear && /* @__PURE__ */ jsxRuntime.jsx(
|
|
304
|
+
showClear && /* @__PURE__ */ jsxRuntime.jsx(
|
|
305
|
+
"span",
|
|
306
|
+
{
|
|
307
|
+
className: "select-clear",
|
|
308
|
+
role: "button",
|
|
309
|
+
"aria-label": "Clear",
|
|
310
|
+
onPointerDown: stopClearActivation,
|
|
311
|
+
onMouseDown: stopClearActivation,
|
|
312
|
+
onClick: clearAll,
|
|
313
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "x", size: 12 })
|
|
314
|
+
}
|
|
315
|
+
),
|
|
300
316
|
/* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "chevDown", size: 14, className: "select-caret" })
|
|
301
317
|
]
|
|
302
318
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunk35RCCUGO_cjs = require('./chunk-35RCCUGO.cjs');
|
|
3
4
|
var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
|
|
4
5
|
var chunkVS3I5OKA_cjs = require('./chunk-VS3I5OKA.cjs');
|
|
5
6
|
var chunkSW2HMNCA_cjs = require('./chunk-SW2HMNCA.cjs');
|
|
@@ -136,6 +137,12 @@ var TimePicker = React__namespace.forwardRef(
|
|
|
136
137
|
},
|
|
137
138
|
[disabled, onOpenChange, openControlled, readOnly]
|
|
138
139
|
);
|
|
140
|
+
const inputTriggerHandlers = chunk35RCCUGO_cjs.useInputTriggerToggle({
|
|
141
|
+
open,
|
|
142
|
+
disabled,
|
|
143
|
+
readOnly,
|
|
144
|
+
setOpen
|
|
145
|
+
});
|
|
139
146
|
const rootRef = React__namespace.useRef(null);
|
|
140
147
|
const panelRef = React__namespace.useRef(null);
|
|
141
148
|
const { triggerRef, floatingStyle } = chunkYB3IWIOJ_cjs.useFloating({
|
|
@@ -353,8 +360,7 @@ var TimePicker = React__namespace.forwardRef(
|
|
|
353
360
|
invalid,
|
|
354
361
|
allowClear,
|
|
355
362
|
leadingIcon: "clock",
|
|
356
|
-
|
|
357
|
-
onClick: () => setOpen(true),
|
|
363
|
+
...inputTriggerHandlers,
|
|
358
364
|
onValueChange: handleInputChange,
|
|
359
365
|
onBlur: handleInputBlur,
|
|
360
366
|
inputMode: "numeric",
|
package/dist/index.cjs
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
var chunk6Q76VLCE_cjs = require('./chunk-6Q76VLCE.cjs');
|
|
4
4
|
var chunkV5KUC5VH_cjs = require('./chunk-V5KUC5VH.cjs');
|
|
5
5
|
var chunkX5MYHDEQ_cjs = require('./chunk-X5MYHDEQ.cjs');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var chunk4ACCOYBY_cjs = require('./chunk-4ACCOYBY.cjs');
|
|
7
|
+
var chunkNXBFEIUX_cjs = require('./chunk-NXBFEIUX.cjs');
|
|
8
8
|
var chunk5A6KSYWA_cjs = require('./chunk-5A6KSYWA.cjs');
|
|
9
9
|
var chunkA4Z7PLHV_cjs = require('./chunk-A4Z7PLHV.cjs');
|
|
10
|
-
var
|
|
10
|
+
var chunkUWL6DRZW_cjs = require('./chunk-UWL6DRZW.cjs');
|
|
11
11
|
var chunkM4NJTJKV_cjs = require('./chunk-M4NJTJKV.cjs');
|
|
12
12
|
var chunkMPOO5VPW_cjs = require('./chunk-MPOO5VPW.cjs');
|
|
13
13
|
var chunkN7OQNSII_cjs = require('./chunk-N7OQNSII.cjs');
|
|
@@ -20,18 +20,18 @@ var chunk5QEI7GGA_cjs = require('./chunk-5QEI7GGA.cjs');
|
|
|
20
20
|
var chunkSOQ56ZI2_cjs = require('./chunk-SOQ56ZI2.cjs');
|
|
21
21
|
var chunkRFI5R42I_cjs = require('./chunk-RFI5R42I.cjs');
|
|
22
22
|
var chunkBT2RXFT4_cjs = require('./chunk-BT2RXFT4.cjs');
|
|
23
|
-
var
|
|
24
|
-
var
|
|
23
|
+
var chunkL6GIV5DQ_cjs = require('./chunk-L6GIV5DQ.cjs');
|
|
24
|
+
var chunkUW57F3UO_cjs = require('./chunk-UW57F3UO.cjs');
|
|
25
25
|
var chunk5ERD3W24_cjs = require('./chunk-5ERD3W24.cjs');
|
|
26
26
|
var chunkJMFHL7GN_cjs = require('./chunk-JMFHL7GN.cjs');
|
|
27
27
|
var chunkX7XP6GEI_cjs = require('./chunk-X7XP6GEI.cjs');
|
|
28
28
|
var chunkPSQ3HNZP_cjs = require('./chunk-PSQ3HNZP.cjs');
|
|
29
|
-
var
|
|
29
|
+
var chunkMWEHU7YO_cjs = require('./chunk-MWEHU7YO.cjs');
|
|
30
30
|
var chunkP2OQTJZP_cjs = require('./chunk-P2OQTJZP.cjs');
|
|
31
31
|
var chunkULUD3FED_cjs = require('./chunk-ULUD3FED.cjs');
|
|
32
32
|
var chunkES7AWMNH_cjs = require('./chunk-ES7AWMNH.cjs');
|
|
33
33
|
var chunkFDUQPAQE_cjs = require('./chunk-FDUQPAQE.cjs');
|
|
34
|
-
var
|
|
34
|
+
var chunkHSAJUEO7_cjs = require('./chunk-HSAJUEO7.cjs');
|
|
35
35
|
var chunk262ED6WQ_cjs = require('./chunk-262ED6WQ.cjs');
|
|
36
36
|
var chunkBW76ENTW_cjs = require('./chunk-BW76ENTW.cjs');
|
|
37
37
|
var chunkRSSOX4RQ_cjs = require('./chunk-RSSOX4RQ.cjs');
|
|
@@ -40,7 +40,8 @@ var chunkBNY2NVTL_cjs = require('./chunk-BNY2NVTL.cjs');
|
|
|
40
40
|
var chunkS2ZGXBUH_cjs = require('./chunk-S2ZGXBUH.cjs');
|
|
41
41
|
var chunk4TTRHEGM_cjs = require('./chunk-4TTRHEGM.cjs');
|
|
42
42
|
var chunkVA2I7ZAL_cjs = require('./chunk-VA2I7ZAL.cjs');
|
|
43
|
-
var
|
|
43
|
+
var chunkT2O4DTDE_cjs = require('./chunk-T2O4DTDE.cjs');
|
|
44
|
+
require('./chunk-35RCCUGO.cjs');
|
|
44
45
|
var chunkLEMMFFEY_cjs = require('./chunk-LEMMFFEY.cjs');
|
|
45
46
|
var chunkIOUAZYK2_cjs = require('./chunk-IOUAZYK2.cjs');
|
|
46
47
|
var chunk7IO3EOHN_cjs = require('./chunk-7IO3EOHN.cjs');
|
|
@@ -54,7 +55,7 @@ var chunk4KDABJSY_cjs = require('./chunk-4KDABJSY.cjs');
|
|
|
54
55
|
var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
|
|
55
56
|
|
|
56
57
|
// src/index.ts
|
|
57
|
-
var VERSION = "0.6.
|
|
58
|
+
var VERSION = "0.6.18";
|
|
58
59
|
|
|
59
60
|
Object.defineProperty(exports, "Timeline", {
|
|
60
61
|
enumerable: true,
|
|
@@ -86,11 +87,11 @@ Object.defineProperty(exports, "Typography", {
|
|
|
86
87
|
});
|
|
87
88
|
Object.defineProperty(exports, "TablePro", {
|
|
88
89
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
90
|
+
get: function () { return chunk4ACCOYBY_cjs.TablePro; }
|
|
90
91
|
});
|
|
91
92
|
Object.defineProperty(exports, "Table", {
|
|
92
93
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
94
|
+
get: function () { return chunkNXBFEIUX_cjs.Table; }
|
|
94
95
|
});
|
|
95
96
|
Object.defineProperty(exports, "Tabs", {
|
|
96
97
|
enumerable: true,
|
|
@@ -110,7 +111,7 @@ Object.defineProperty(exports, "ThemePanel", {
|
|
|
110
111
|
});
|
|
111
112
|
Object.defineProperty(exports, "TimePicker", {
|
|
112
113
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
114
|
+
get: function () { return chunkUWL6DRZW_cjs.TimePicker; }
|
|
114
115
|
});
|
|
115
116
|
Object.defineProperty(exports, "Skeleton", {
|
|
116
117
|
enumerable: true,
|
|
@@ -214,11 +215,11 @@ Object.defineProperty(exports, "Modal", {
|
|
|
214
215
|
});
|
|
215
216
|
Object.defineProperty(exports, "Pagination", {
|
|
216
217
|
enumerable: true,
|
|
217
|
-
get: function () { return
|
|
218
|
+
get: function () { return chunkL6GIV5DQ_cjs.Pagination; }
|
|
218
219
|
});
|
|
219
220
|
Object.defineProperty(exports, "Select", {
|
|
220
221
|
enumerable: true,
|
|
221
|
-
get: function () { return
|
|
222
|
+
get: function () { return chunkUW57F3UO_cjs.Select; }
|
|
222
223
|
});
|
|
223
224
|
Object.defineProperty(exports, "Tag", {
|
|
224
225
|
enumerable: true,
|
|
@@ -242,7 +243,7 @@ Object.defineProperty(exports, "RadioGroup", {
|
|
|
242
243
|
});
|
|
243
244
|
Object.defineProperty(exports, "DateTimePicker", {
|
|
244
245
|
enumerable: true,
|
|
245
|
-
get: function () { return
|
|
246
|
+
get: function () { return chunkMWEHU7YO_cjs.DateTimePicker; }
|
|
246
247
|
});
|
|
247
248
|
Object.defineProperty(exports, "Divider", {
|
|
248
249
|
enumerable: true,
|
|
@@ -270,19 +271,19 @@ Object.defineProperty(exports, "useForm", {
|
|
|
270
271
|
});
|
|
271
272
|
Object.defineProperty(exports, "Image", {
|
|
272
273
|
enumerable: true,
|
|
273
|
-
get: function () { return
|
|
274
|
+
get: function () { return chunkHSAJUEO7_cjs.Image; }
|
|
274
275
|
});
|
|
275
276
|
Object.defineProperty(exports, "ImageGrid", {
|
|
276
277
|
enumerable: true,
|
|
277
|
-
get: function () { return
|
|
278
|
+
get: function () { return chunkHSAJUEO7_cjs.ImageGrid; }
|
|
278
279
|
});
|
|
279
280
|
Object.defineProperty(exports, "LayeredImage", {
|
|
280
281
|
enumerable: true,
|
|
281
|
-
get: function () { return
|
|
282
|
+
get: function () { return chunkHSAJUEO7_cjs.LayeredImage; }
|
|
282
283
|
});
|
|
283
284
|
Object.defineProperty(exports, "SpriteImage", {
|
|
284
285
|
enumerable: true,
|
|
285
|
-
get: function () { return
|
|
286
|
+
get: function () { return chunkHSAJUEO7_cjs.SpriteImage; }
|
|
286
287
|
});
|
|
287
288
|
Object.defineProperty(exports, "Card", {
|
|
288
289
|
enumerable: true,
|
|
@@ -318,7 +319,7 @@ Object.defineProperty(exports, "ContextMenu", {
|
|
|
318
319
|
});
|
|
319
320
|
Object.defineProperty(exports, "DatePicker", {
|
|
320
321
|
enumerable: true,
|
|
321
|
-
get: function () { return
|
|
322
|
+
get: function () { return chunkT2O4DTDE_cjs.DatePicker; }
|
|
322
323
|
});
|
|
323
324
|
Object.defineProperty(exports, "Alert", {
|
|
324
325
|
enumerable: true,
|
package/dist/index.d.cts
CHANGED
|
@@ -40,7 +40,7 @@ export { ErrorField, Form, FormInstance, FormItem, FormItemProps, FormLayout, Fo
|
|
|
40
40
|
export { Empty, EmptyProps } from './Empty.cjs';
|
|
41
41
|
export { Spin, SpinProps, SpinSize } from './Spin.cjs';
|
|
42
42
|
export { Skeleton, SkeletonAvatarConfig, SkeletonParagraphConfig, SkeletonProps, SkeletonTitleConfig } from './Skeleton.cjs';
|
|
43
|
-
export { Image, ImageGrid, ImageGridItem, ImageGridProps, ImageProps, ImageVariant, LayeredImage, LayeredImageInset, LayeredImageLayer, LayeredImageProps, SpriteImage, SpriteImageProps, SpriteRect } from './Image.cjs';
|
|
43
|
+
export { Image, ImageGrid, ImageGridItem, ImageGridProps, ImagePreviewMode, ImagePreviewToolbarRenderProps, ImageProps, ImageVariant, LayeredImage, LayeredImageInset, LayeredImageLayer, LayeredImageProps, SpriteImage, SpriteImageProps, SpriteRect } from './Image.cjs';
|
|
44
44
|
export { Cascader, CascaderOption, CascaderProps, CascaderShowSearchConfig } from './Cascader.cjs';
|
|
45
45
|
export { BaseTypographyProps, CopyableConfig, EditableConfig, EllipsisConfig, Link, LinkProps, Paragraph, ParagraphProps, Text, TextProps, Title, TitleLevel, TitleProps, Typography, TypographyProps, TypographyType } from './Typography.cjs';
|
|
46
46
|
export { ColorPicker, ColorPickerProps } from './ColorPicker.cjs';
|
|
@@ -52,6 +52,6 @@ import 'react/jsx-runtime';
|
|
|
52
52
|
import 'react';
|
|
53
53
|
|
|
54
54
|
/** Package version — bumped by release scripts. */
|
|
55
|
-
declare const VERSION = "0.6.
|
|
55
|
+
declare const VERSION = "0.6.18";
|
|
56
56
|
|
|
57
57
|
export { VERSION };
|
package/dist/index.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export { ErrorField, Form, FormInstance, FormItem, FormItemProps, FormLayout, Fo
|
|
|
40
40
|
export { Empty, EmptyProps } from './Empty.js';
|
|
41
41
|
export { Spin, SpinProps, SpinSize } from './Spin.js';
|
|
42
42
|
export { Skeleton, SkeletonAvatarConfig, SkeletonParagraphConfig, SkeletonProps, SkeletonTitleConfig } from './Skeleton.js';
|
|
43
|
-
export { Image, ImageGrid, ImageGridItem, ImageGridProps, ImageProps, ImageVariant, LayeredImage, LayeredImageInset, LayeredImageLayer, LayeredImageProps, SpriteImage, SpriteImageProps, SpriteRect } from './Image.js';
|
|
43
|
+
export { Image, ImageGrid, ImageGridItem, ImageGridProps, ImagePreviewMode, ImagePreviewToolbarRenderProps, ImageProps, ImageVariant, LayeredImage, LayeredImageInset, LayeredImageLayer, LayeredImageProps, SpriteImage, SpriteImageProps, SpriteRect } from './Image.js';
|
|
44
44
|
export { Cascader, CascaderOption, CascaderProps, CascaderShowSearchConfig } from './Cascader.js';
|
|
45
45
|
export { BaseTypographyProps, CopyableConfig, EditableConfig, EllipsisConfig, Link, LinkProps, Paragraph, ParagraphProps, Text, TextProps, Title, TitleLevel, TitleProps, Typography, TypographyProps, TypographyType } from './Typography.js';
|
|
46
46
|
export { ColorPicker, ColorPickerProps } from './ColorPicker.js';
|
|
@@ -52,6 +52,6 @@ import 'react/jsx-runtime';
|
|
|
52
52
|
import 'react';
|
|
53
53
|
|
|
54
54
|
/** Package version — bumped by release scripts. */
|
|
55
|
-
declare const VERSION = "0.6.
|
|
55
|
+
declare const VERSION = "0.6.18";
|
|
56
56
|
|
|
57
57
|
export { VERSION };
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { Timeline } from './chunk-OTSDPQPV.js';
|
|
2
2
|
export { Tooltip } from './chunk-MOZ52KN6.js';
|
|
3
3
|
export { Link, Paragraph, Text, Title, Typography } from './chunk-6HF6UF73.js';
|
|
4
|
-
export { TablePro } from './chunk-
|
|
5
|
-
export { Table } from './chunk-
|
|
4
|
+
export { TablePro } from './chunk-2FOC3D6X.js';
|
|
5
|
+
export { Table } from './chunk-UGAN4BBW.js';
|
|
6
6
|
export { Tabs } from './chunk-ZTCRD2FL.js';
|
|
7
7
|
export { THEME_PANEL_DEFAULT_PRESET_OPTIONS, THEME_PANEL_DEFAULT_THEME_PRESETS, ThemePanel } from './chunk-3VSHGM54.js';
|
|
8
|
-
export { TimePicker } from './chunk-
|
|
8
|
+
export { TimePicker } from './chunk-HG6YS4I7.js';
|
|
9
9
|
export { Skeleton } from './chunk-R3DTXVP2.js';
|
|
10
10
|
export { Slider } from './chunk-D7GK6H6V.js';
|
|
11
11
|
export { Splitter } from './chunk-IZHH6CVY.js';
|
|
@@ -18,18 +18,18 @@ export { InputNumber } from './chunk-3VXGZ3SJ.js';
|
|
|
18
18
|
export { List } from './chunk-YAFDVNXT.js';
|
|
19
19
|
export { MessageContainer, ToastContainer, message, toast } from './chunk-P64NPZBG.js';
|
|
20
20
|
export { Modal } from './chunk-BVQOJKRX.js';
|
|
21
|
-
export { Pagination } from './chunk-
|
|
22
|
-
export { Select } from './chunk-
|
|
21
|
+
export { Pagination } from './chunk-V5SQOZPF.js';
|
|
22
|
+
export { Select } from './chunk-E22OIVYP.js';
|
|
23
23
|
export { Tag } from './chunk-6K5YI4ZE.js';
|
|
24
24
|
export { Popover } from './chunk-I777JTTG.js';
|
|
25
25
|
export { Progress } from './chunk-KMPFESEV.js';
|
|
26
26
|
export { Radio, RadioGroup } from './chunk-KYV75JPQ.js';
|
|
27
|
-
export { DateTimePicker } from './chunk-
|
|
27
|
+
export { DateTimePicker } from './chunk-SOCYOUGM.js';
|
|
28
28
|
export { Divider } from './chunk-HBO7ZDEQ.js';
|
|
29
29
|
export { Drawer } from './chunk-WMGMIE2D.js';
|
|
30
30
|
export { Empty } from './chunk-6MEOLYNQ.js';
|
|
31
31
|
export { Form, FormItem, useForm } from './chunk-ZR4IMROK.js';
|
|
32
|
-
export { Image, ImageGrid, LayeredImage, SpriteImage } from './chunk-
|
|
32
|
+
export { Image, ImageGrid, LayeredImage, SpriteImage } from './chunk-5VOUUQF5.js';
|
|
33
33
|
export { Card } from './chunk-ARUPS7JH.js';
|
|
34
34
|
export { Spin } from './chunk-FYSXJXNW.js';
|
|
35
35
|
export { Cascader } from './chunk-4HJBF4GY.js';
|
|
@@ -38,7 +38,8 @@ export { Collapse } from './chunk-6LN4VVX7.js';
|
|
|
38
38
|
export { ColorPicker } from './chunk-TJECLLN4.js';
|
|
39
39
|
export { CommandPalette } from './chunk-5MOYKVB7.js';
|
|
40
40
|
export { ContextMenu } from './chunk-AAPZLBHQ.js';
|
|
41
|
-
export { DatePicker } from './chunk-
|
|
41
|
+
export { DatePicker } from './chunk-7NTTRKNT.js';
|
|
42
|
+
import './chunk-RC6ULCQP.js';
|
|
42
43
|
export { Alert } from './chunk-A6O25EP2.js';
|
|
43
44
|
export { AppShell, Sidebar, TitleBar, WindowControls } from './chunk-XCXUGHDF.js';
|
|
44
45
|
export { AutoComplete } from './chunk-CFZVWY5N.js';
|
|
@@ -52,6 +53,6 @@ export { Calendar } from './chunk-I7TOBKJO.js';
|
|
|
52
53
|
export { AimOutlined, AppstoreOutlined, BarChartOutlined, BlockOutlined, BorderOutlined, CameraOutlined, CaretDownOutlined, CaretUpOutlined, CheckCircleFilled, CheckCircleOutlined, CheckOutlined, ClockCircleFilled, CloseCircleOutlined, CloseOutlined, CopyOutlined, DashboardOutlined, DeleteOutlined, DownOutlined, EnvironmentOutlined, ExclamationCircleOutlined, FolderOpenOutlined, ICON_NAMES, Icon, LeftOutlined, LoadingOutlined, MinusCircleOutlined, MinusOutlined, NAMED_ICON_MAP, PictureOutlined, PlusOutlined, QqOutlined, ReloadOutlined, RightOutlined, RobotOutlined, SearchOutlined, SettingOutlined, StarFilled, StarOutlined, SwapOutlined, SwapRightOutlined, SyncOutlined, ThunderboltOutlined, TranslationOutlined, UnorderedListOutlined, UserOutlined, isIconName, renderIconSlot, resolveIconName } from './chunk-FDZG27IG.js';
|
|
53
54
|
|
|
54
55
|
// src/index.ts
|
|
55
|
-
var VERSION = "0.6.
|
|
56
|
+
var VERSION = "0.6.18";
|
|
56
57
|
|
|
57
58
|
export { VERSION };
|
package/dist/styles.css
CHANGED
|
@@ -3191,14 +3191,92 @@ input, textarea, select { font-family: inherit; color: inherit; }
|
|
|
3191
3191
|
background: var(--image-preview-mask-bg, var(--mask-bg));
|
|
3192
3192
|
backdrop-filter: blur(16px);
|
|
3193
3193
|
display: grid; place-items: center;
|
|
3194
|
+
overflow: hidden;
|
|
3195
|
+
padding: min(8vh, 72px) var(--gap-8) var(--gap-8);
|
|
3194
3196
|
z-index: 500;
|
|
3195
3197
|
animation: fadeIn var(--dur) var(--ease);
|
|
3196
3198
|
}
|
|
3197
|
-
.image-preview-overlay
|
|
3199
|
+
.image-preview-overlay:focus {
|
|
3200
|
+
outline: none;
|
|
3201
|
+
}
|
|
3202
|
+
.image-preview-toolbar {
|
|
3203
|
+
--image-preview-toolbar-ink: color-mix(in oklch, var(--accent) 42%, var(--fg-muted));
|
|
3204
|
+
--image-preview-toolbar-ink-hover: color-mix(in oklch, var(--accent) 48%, var(--fg));
|
|
3205
|
+
position: absolute;
|
|
3206
|
+
top: var(--gap-5);
|
|
3207
|
+
left: 50%;
|
|
3208
|
+
z-index: 1;
|
|
3209
|
+
display: flex;
|
|
3210
|
+
align-items: center;
|
|
3211
|
+
gap: var(--gap-2);
|
|
3212
|
+
max-width: min(calc(100vw - 32px), 720px);
|
|
3213
|
+
padding: 6px;
|
|
3214
|
+
overflow-x: auto;
|
|
3215
|
+
color: var(--image-preview-toolbar-ink);
|
|
3216
|
+
border: 1px solid color-mix(in oklch, var(--accent) 14%, var(--border));
|
|
3217
|
+
border-radius: var(--r-pill);
|
|
3218
|
+
background: color-mix(in oklch, var(--bg-raised) 92%, var(--accent-soft));
|
|
3219
|
+
box-shadow:
|
|
3220
|
+
var(--neu-float),
|
|
3221
|
+
0 0 0 1px color-mix(in oklch, var(--accent-glow) 22%, transparent);
|
|
3222
|
+
backdrop-filter: blur(18px) saturate(1.2);
|
|
3223
|
+
transform: translateX(-50%);
|
|
3224
|
+
}
|
|
3225
|
+
.image-preview-toolbar .btn {
|
|
3226
|
+
flex: 0 0 auto;
|
|
3227
|
+
}
|
|
3228
|
+
.image-preview-toolbar .btn.ghost {
|
|
3229
|
+
color: var(--image-preview-toolbar-ink);
|
|
3230
|
+
}
|
|
3231
|
+
.image-preview-toolbar .btn.ghost:hover {
|
|
3232
|
+
color: var(--image-preview-toolbar-ink-hover);
|
|
3233
|
+
background: color-mix(in oklch, var(--accent-soft) 36%, var(--bg));
|
|
3234
|
+
box-shadow: var(--neu-shadow-subtle);
|
|
3235
|
+
}
|
|
3236
|
+
.image-preview-toolbar .btn.ghost:active,
|
|
3237
|
+
.image-preview-toolbar .btn.ghost.pressed {
|
|
3238
|
+
color: var(--image-preview-toolbar-ink-hover);
|
|
3239
|
+
background: color-mix(in oklch, var(--accent-soft) 48%, var(--bg));
|
|
3240
|
+
box-shadow: var(--neu-shadow-inset-strong);
|
|
3241
|
+
}
|
|
3242
|
+
.image-preview-scale {
|
|
3243
|
+
min-width: 48px;
|
|
3244
|
+
color: var(--image-preview-toolbar-ink);
|
|
3245
|
+
font-family: var(--font-mono);
|
|
3246
|
+
font-size: var(--fs-sm);
|
|
3247
|
+
font-weight: 500;
|
|
3248
|
+
line-height: 1;
|
|
3249
|
+
text-align: center;
|
|
3250
|
+
}
|
|
3251
|
+
.image-preview-ratio {
|
|
3252
|
+
min-width: 46px;
|
|
3253
|
+
padding-inline: 10px;
|
|
3254
|
+
font-family: var(--font-mono);
|
|
3255
|
+
}
|
|
3256
|
+
.image-preview-toolbar-slot {
|
|
3257
|
+
display: inline-flex;
|
|
3258
|
+
flex: 0 0 auto;
|
|
3259
|
+
align-items: center;
|
|
3260
|
+
gap: var(--gap-2);
|
|
3261
|
+
}
|
|
3262
|
+
.image-preview-img {
|
|
3198
3263
|
max-width: 80vw;
|
|
3199
3264
|
max-height: 80vh;
|
|
3200
3265
|
border-radius: var(--r-lg);
|
|
3201
3266
|
box-shadow: var(--neu-shadow-float);
|
|
3267
|
+
transform-origin: center;
|
|
3268
|
+
transition: transform var(--dur-fast) var(--ease);
|
|
3269
|
+
user-select: none;
|
|
3270
|
+
will-change: transform;
|
|
3271
|
+
}
|
|
3272
|
+
@media (max-width: 640px) {
|
|
3273
|
+
.image-preview-overlay {
|
|
3274
|
+
padding: 76px var(--gap-4) var(--gap-4);
|
|
3275
|
+
}
|
|
3276
|
+
.image-preview-toolbar {
|
|
3277
|
+
top: var(--gap-4);
|
|
3278
|
+
border-radius: var(--r-lg);
|
|
3279
|
+
}
|
|
3202
3280
|
}
|
|
3203
3281
|
/* ============ SpriteImage / LayeredImage ============ */
|
|
3204
3282
|
.n-sprite-image,
|
package/docs/llms/image.md
CHANGED
|
@@ -28,6 +28,25 @@ import { Image, ImageGrid, SpriteImage, LayeredImage } from "@fangxinyan/lumina"
|
|
|
28
28
|
/>
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
+
### 精细预览
|
|
32
|
+
|
|
33
|
+
预览层内置放大、缩小、适配窗口、1:1、滚轮缩放和拖拽平移;previewMaxWidth / previewMaxHeight 控制适配态尺寸,renderPreviewToolbar 可追加业务按钮。
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<Image
|
|
37
|
+
src={url}
|
|
38
|
+
width={260}
|
|
39
|
+
height={180}
|
|
40
|
+
previewMaxWidth="90vw"
|
|
41
|
+
previewMaxHeight="76vh"
|
|
42
|
+
renderPreviewToolbar={({ fitToWindow, scale }) => (
|
|
43
|
+
<Button size="sm" variant="ghost" icon="star" onClick={fitToWindow}>
|
|
44
|
+
标记 {Math.round(scale * 100)}%
|
|
45
|
+
</Button>
|
|
46
|
+
)}
|
|
47
|
+
/>
|
|
48
|
+
```
|
|
49
|
+
|
|
31
50
|
### 图标 / 原始资源
|
|
32
51
|
|
|
33
52
|
variant="icon" 会默认去掉外层 padding,适合 1:1 装备、物品、头像缩略图;variant="raw" 保留原始图片比例。
|
|
@@ -82,6 +101,8 @@ LayeredImage 将多张图片叠在同一个盒子里,适合头像 + 头像框、
|
|
|
82
101
|
| preview | `boolean` | `true` | 支持点击全屏预览 |
|
|
83
102
|
| previewClassName | `string` | — | 预览蒙层 className |
|
|
84
103
|
| previewStyle | `CSSProperties` | — | 预览蒙层内联样式 |
|
|
104
|
+
| previewMaxWidth / previewMaxHeight | `number | string` | `"80vw" / "80vh"` | 预览适配态的最大尺寸 |
|
|
105
|
+
| renderPreviewToolbar | `(controls) => ReactNode` | — | 在预览工具栏追加自定义按钮 |
|
|
85
106
|
| hover | `boolean` | `true` | 悬浮放大 |
|
|
86
107
|
| placeholder | `ReactNode` | — | 占位/错误时内容 |
|
|
87
108
|
| imgProps | `ImgHTMLAttributes` | — | 透传到底层 img 的属性 |
|
package/docs/llms.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> 拟态风格的 React 18 组件库,目标是 Electron 桌面应用。**写给 AI 编程助手**的按需文档 —— 每个组件单独一个 `.md`,避免一次性读取全部。示例源自 playground 的 demo,可直接复制运行。
|
|
4
4
|
|
|
5
5
|
- **包名**: `@fangxinyan/lumina`
|
|
6
|
-
- **版本**: `0.6.
|
|
6
|
+
- **版本**: `0.6.18`
|
|
7
7
|
- **React 最低版本**: 18
|
|
8
8
|
- **环境**: 带打包器的 React 工程(Vite / Next.js / Webpack / Remix / Electron + Vite 等)
|
|
9
9
|
- **零运行时依赖**: 只依赖 `react` / `react-dom` (peer deps)
|