@fangxinyan/lumina 0.6.14 → 0.6.16

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.
Files changed (41) hide show
  1. package/dist/{Calendar-RUTPKREW.css → Calendar-I6NHCXIB.css} +65 -0
  2. package/dist/Calendar.cjs +2 -2
  3. package/dist/Calendar.d.cts +2 -0
  4. package/dist/Calendar.d.ts +2 -0
  5. package/dist/Calendar.js +1 -1
  6. package/dist/DatePicker-VDVSIARF.css +60 -0
  7. package/dist/DatePicker.cjs +16 -0
  8. package/dist/DatePicker.d.cts +49 -0
  9. package/dist/DatePicker.d.ts +49 -0
  10. package/dist/DatePicker.js +7 -0
  11. package/dist/DateTimePicker-DRX7XA74.css +224 -0
  12. package/dist/DateTimePicker.cjs +16 -0
  13. package/dist/DateTimePicker.d.cts +61 -0
  14. package/dist/DateTimePicker.d.ts +61 -0
  15. package/dist/DateTimePicker.js +7 -0
  16. package/dist/TimePicker-ZBJOXH3U.css +151 -0
  17. package/dist/TimePicker.cjs +15 -0
  18. package/dist/TimePicker.d.cts +63 -0
  19. package/dist/TimePicker.d.ts +63 -0
  20. package/dist/TimePicker.js +6 -0
  21. package/dist/chunk-32FWB5NO.cjs +505 -0
  22. package/dist/chunk-4KDABJSY.cjs +241 -0
  23. package/dist/chunk-DU4VSUBF.js +393 -0
  24. package/dist/chunk-FKP5D5IS.js +271 -0
  25. package/dist/chunk-I7TOBKJO.js +219 -0
  26. package/dist/chunk-KHRYPNUV.cjs +293 -0
  27. package/dist/chunk-SFEWMO45.cjs +415 -0
  28. package/dist/chunk-YPE6CDXQ.js +483 -0
  29. package/dist/index.cjs +66 -51
  30. package/dist/index.d.cts +4 -1
  31. package/dist/index.d.ts +4 -1
  32. package/dist/index.js +15 -12
  33. package/dist/styles.css +439 -0
  34. package/docs/llms/calendar.md +2 -1
  35. package/docs/llms/datepicker.md +69 -0
  36. package/docs/llms/datetimepicker.md +83 -0
  37. package/docs/llms/timepicker.md +81 -0
  38. package/docs/llms.md +5 -2
  39. package/package.json +7 -3
  40. package/dist/chunk-XG5D777V.js +0 -90
  41. package/dist/chunk-ZBTGYTQE.cjs +0 -112
@@ -0,0 +1,151 @@
1
+ /* ============ TimePicker ============ */
2
+ .time-picker {
3
+ position: relative;
4
+ display: inline-block;
5
+ width: 100%;
6
+ min-width: 180px;
7
+ }
8
+
9
+ .time-picker.disabled {
10
+ opacity: 0.55;
11
+ pointer-events: none;
12
+ }
13
+
14
+ .time-picker.readonly .input-wrap {
15
+ cursor: default;
16
+ }
17
+
18
+ .time-picker .input-wrap {
19
+ width: 100%;
20
+ }
21
+
22
+ .time-picker.open .input-wrap {
23
+ box-shadow: var(--neu-shadow-inset);
24
+ }
25
+
26
+ .time-picker-panel {
27
+ position: fixed;
28
+ z-index: 1000;
29
+ width: 300px;
30
+ padding: 10px;
31
+ border-radius: var(--r-md);
32
+ background: var(--bg);
33
+ box-shadow:
34
+ 0 calc(var(--shadow-offset) * 1.1) calc(var(--shadow-blur) * 1.3) color-mix(in oklch, var(--shadow-dark) 72%, transparent),
35
+ inset 0 0 0 1px var(--divider);
36
+ animation: menuIn var(--dur) var(--ease);
37
+ }
38
+
39
+ .time-picker-panel.without-second {
40
+ width: 228px;
41
+ }
42
+
43
+ .time-picker-columns {
44
+ position: relative;
45
+ display: grid;
46
+ grid-template-columns: repeat(3, minmax(0, 1fr));
47
+ gap: 0;
48
+ padding: 8px;
49
+ border-radius: var(--r-sm);
50
+ background: var(--bg);
51
+ box-shadow: inset 0 0 0 1px var(--divider);
52
+ overflow: hidden;
53
+ }
54
+
55
+ .time-picker-column + .time-picker-column {
56
+ border-left: 1px solid var(--divider);
57
+ }
58
+
59
+ .time-picker-panel.without-second .time-picker-columns {
60
+ grid-template-columns: repeat(2, minmax(0, 1fr));
61
+ }
62
+
63
+ .time-picker-column {
64
+ min-width: 0;
65
+ }
66
+
67
+ .time-picker-column-label {
68
+ height: 22px;
69
+ position: relative;
70
+ z-index: 1;
71
+ display: grid;
72
+ place-items: center;
73
+ font-size: var(--fs-xs);
74
+ font-weight: 700;
75
+ color: var(--fg-muted);
76
+ }
77
+
78
+ .time-picker-list {
79
+ display: flex;
80
+ flex-direction: column;
81
+ gap: 4px;
82
+ height: 166px;
83
+ overflow-y: auto;
84
+ padding: calc((166px - 30px) / 2) 8px;
85
+ border-radius: 0;
86
+ background: transparent;
87
+ box-shadow: none;
88
+ scroll-padding: calc((166px - 30px) / 2) 0;
89
+ scrollbar-width: none;
90
+ -webkit-mask-image: linear-gradient(to bottom, transparent 0, black 24px, black calc(100% - 24px), transparent 100%);
91
+ mask-image: linear-gradient(to bottom, transparent 0, black 24px, black calc(100% - 24px), transparent 100%);
92
+ }
93
+
94
+ .time-picker-list::-webkit-scrollbar {
95
+ width: 0;
96
+ height: 0;
97
+ }
98
+
99
+ .time-picker-option {
100
+ position: relative;
101
+ z-index: 1;
102
+ flex: 0 0 30px;
103
+ width: 100%;
104
+ height: 30px;
105
+ border: none;
106
+ border-radius: 7px;
107
+ background: transparent;
108
+ color: var(--fg);
109
+ cursor: pointer;
110
+ font: 600 var(--fs-md) var(--font-mono);
111
+ transition:
112
+ color var(--dur-fast) var(--ease),
113
+ background var(--dur-fast) var(--ease),
114
+ box-shadow var(--dur-fast) var(--ease);
115
+ }
116
+
117
+ .time-picker-option:hover:not(:disabled) {
118
+ color: var(--accent-ink);
119
+ background: var(--bg);
120
+ box-shadow: var(--neu-shadow-subtle);
121
+ }
122
+
123
+ .time-picker-option.selected {
124
+ background: var(--bg);
125
+ color: var(--accent-ink);
126
+ box-shadow: var(--neu-shadow-subtle);
127
+ }
128
+
129
+ .time-picker-option:disabled {
130
+ color: var(--fg-subtle);
131
+ cursor: not-allowed;
132
+ opacity: 0.45;
133
+ }
134
+
135
+ .time-picker-footer {
136
+ display: flex;
137
+ align-items: center;
138
+ gap: 6px;
139
+ margin-top: 8px;
140
+ padding: 8px 0 0;
141
+ border-top: 1px solid var(--divider);
142
+ }
143
+
144
+ .time-picker-footer-spacer {
145
+ flex: 1;
146
+ min-width: 0;
147
+ }
148
+
149
+ .time-picker-footer .btn {
150
+ min-width: 54px;
151
+ }
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var chunkSFEWMO45_cjs = require('./chunk-SFEWMO45.cjs');
4
+ require('./chunk-YB3IWIOJ.cjs');
5
+ require('./chunk-VS3I5OKA.cjs');
6
+ require('./chunk-RZEFKXL3.cjs');
7
+ require('./chunk-SW2HMNCA.cjs');
8
+ require('./chunk-QMX67CVT.cjs');
9
+
10
+
11
+
12
+ Object.defineProperty(exports, "TimePicker", {
13
+ enumerable: true,
14
+ get: function () { return chunkSFEWMO45_cjs.TimePicker; }
15
+ });
@@ -0,0 +1,63 @@
1
+ import * as React from 'react';
2
+
3
+ type TimePickerFormat = "HH:mm" | "HH:mm:ss";
4
+ type TimePickerSize = "sm" | "md" | "lg";
5
+ interface TimePickerValue {
6
+ hour: number;
7
+ minute: number;
8
+ second: number;
9
+ }
10
+ interface TimePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
11
+ /** Controlled time string. Use `null` for an empty picker. */
12
+ value?: string | null;
13
+ /** Initial time string when uncontrolled. */
14
+ defaultValue?: string | null;
15
+ /** Fires when the time changes or is cleared. */
16
+ onChange?: (value: string | null, time: TimePickerValue | null) => void;
17
+ /** Display and output format. */
18
+ format?: TimePickerFormat;
19
+ /** Show the seconds column. Overrides `format` display if true. */
20
+ showSecond?: boolean;
21
+ placeholder?: string;
22
+ disabled?: boolean;
23
+ readOnly?: boolean;
24
+ invalid?: boolean;
25
+ size?: TimePickerSize;
26
+ /** Show a clear button when a value is selected. */
27
+ allowClear?: boolean;
28
+ /** Selectable hour increment. Default 1. */
29
+ hourStep?: number;
30
+ /** Selectable minute increment. Default 1. */
31
+ minuteStep?: number;
32
+ /** Selectable second increment. Default 1. */
33
+ secondStep?: number;
34
+ /** Min selectable time, e.g. `"09:00"` or `"09:00:30"`. */
35
+ min?: string;
36
+ /** Max selectable time, e.g. `"18:30"` or `"18:30:00"`. */
37
+ max?: string;
38
+ /** Predicate that disables individual time values. */
39
+ disabledTime?: (time: TimePickerValue) => boolean;
40
+ /** Where the panel appears relative to the trigger. */
41
+ placement?: "top" | "bottom" | "left" | "right";
42
+ /** Controlled panel open state. */
43
+ open?: boolean;
44
+ /** Initial panel open state when uncontrolled. */
45
+ defaultOpen?: boolean;
46
+ /** Called when panel open state changes. */
47
+ onOpenChange?: (open: boolean) => void;
48
+ /** Class for the popped-out panel. */
49
+ popupClassName?: string;
50
+ /** Alias for `popupClassName`. */
51
+ dropdownClassName?: string;
52
+ className?: string;
53
+ }
54
+ /**
55
+ * `TimePicker` — time-of-day picker with hour / minute / optional second
56
+ * columns, string values, min/max constraints, and custom disabled times.
57
+ *
58
+ * @example
59
+ * <TimePicker value={time} onChange={setTime} minuteStep={15} />
60
+ */
61
+ declare const TimePicker: React.ForwardRefExoticComponent<TimePickerProps & React.RefAttributes<HTMLDivElement>>;
62
+
63
+ export { TimePicker, type TimePickerFormat, type TimePickerProps, type TimePickerSize, type TimePickerValue };
@@ -0,0 +1,63 @@
1
+ import * as React from 'react';
2
+
3
+ type TimePickerFormat = "HH:mm" | "HH:mm:ss";
4
+ type TimePickerSize = "sm" | "md" | "lg";
5
+ interface TimePickerValue {
6
+ hour: number;
7
+ minute: number;
8
+ second: number;
9
+ }
10
+ interface TimePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
11
+ /** Controlled time string. Use `null` for an empty picker. */
12
+ value?: string | null;
13
+ /** Initial time string when uncontrolled. */
14
+ defaultValue?: string | null;
15
+ /** Fires when the time changes or is cleared. */
16
+ onChange?: (value: string | null, time: TimePickerValue | null) => void;
17
+ /** Display and output format. */
18
+ format?: TimePickerFormat;
19
+ /** Show the seconds column. Overrides `format` display if true. */
20
+ showSecond?: boolean;
21
+ placeholder?: string;
22
+ disabled?: boolean;
23
+ readOnly?: boolean;
24
+ invalid?: boolean;
25
+ size?: TimePickerSize;
26
+ /** Show a clear button when a value is selected. */
27
+ allowClear?: boolean;
28
+ /** Selectable hour increment. Default 1. */
29
+ hourStep?: number;
30
+ /** Selectable minute increment. Default 1. */
31
+ minuteStep?: number;
32
+ /** Selectable second increment. Default 1. */
33
+ secondStep?: number;
34
+ /** Min selectable time, e.g. `"09:00"` or `"09:00:30"`. */
35
+ min?: string;
36
+ /** Max selectable time, e.g. `"18:30"` or `"18:30:00"`. */
37
+ max?: string;
38
+ /** Predicate that disables individual time values. */
39
+ disabledTime?: (time: TimePickerValue) => boolean;
40
+ /** Where the panel appears relative to the trigger. */
41
+ placement?: "top" | "bottom" | "left" | "right";
42
+ /** Controlled panel open state. */
43
+ open?: boolean;
44
+ /** Initial panel open state when uncontrolled. */
45
+ defaultOpen?: boolean;
46
+ /** Called when panel open state changes. */
47
+ onOpenChange?: (open: boolean) => void;
48
+ /** Class for the popped-out panel. */
49
+ popupClassName?: string;
50
+ /** Alias for `popupClassName`. */
51
+ dropdownClassName?: string;
52
+ className?: string;
53
+ }
54
+ /**
55
+ * `TimePicker` — time-of-day picker with hour / minute / optional second
56
+ * columns, string values, min/max constraints, and custom disabled times.
57
+ *
58
+ * @example
59
+ * <TimePicker value={time} onChange={setTime} minuteStep={15} />
60
+ */
61
+ declare const TimePicker: React.ForwardRefExoticComponent<TimePickerProps & React.RefAttributes<HTMLDivElement>>;
62
+
63
+ export { TimePicker, type TimePickerFormat, type TimePickerProps, type TimePickerSize, type TimePickerValue };
@@ -0,0 +1,6 @@
1
+ export { TimePicker } from './chunk-DU4VSUBF.js';
2
+ import './chunk-DUFRASGO.js';
3
+ import './chunk-IOAOG5L7.js';
4
+ import './chunk-S7IHWY24.js';
5
+ import './chunk-IPSNC5VZ.js';
6
+ import './chunk-FDZG27IG.js';