@devslab/dds-solid 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +15 -3
- package/README.md +15 -3
- package/dist/assets/{calendar-view-1RO2mtf1.js → calendar-view-BBQGmkJ7.js} +181 -145
- package/dist/assets/calendar-view-BBQGmkJ7.js.map +1 -0
- package/dist/assets/{choice-DoXiK8nc.js → choice-DPmk9AHn.js} +41 -29
- package/dist/assets/choice-DPmk9AHn.js.map +1 -0
- package/dist/assets/choice-types-h4YVL8xH.js +24 -0
- package/dist/assets/choice-types-h4YVL8xH.js.map +1 -0
- package/dist/assets/date-only-0Ldsjp43.js +174 -0
- package/dist/assets/date-only-0Ldsjp43.js.map +1 -0
- package/dist/assets/direction-BpTqmXs-.js +24 -0
- package/dist/assets/direction-BpTqmXs-.js.map +1 -0
- package/dist/calendar-view-CZLsC57_.js +481 -0
- package/dist/calendar-view-CZLsC57_.js.map +1 -0
- package/dist/calendar-view.d.ts +10 -0
- package/dist/calendar-view.d.ts.map +1 -1
- package/dist/calendar.js +7 -6
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.server.js +2 -1
- package/dist/calendar.server.js.map +1 -1
- package/dist/choice-CTNeFOVo.js +403 -0
- package/dist/choice-CTNeFOVo.js.map +1 -0
- package/dist/choice-types-kSaEnZPr.js +23 -0
- package/dist/choice-types-kSaEnZPr.js.map +1 -0
- package/dist/combobox.js +1 -1
- package/dist/combobox.server.js +1 -1
- package/dist/date-only-Bu4UmsTP.js +151 -0
- package/dist/date-only-Bu4UmsTP.js.map +1 -0
- package/dist/date-only.d.ts +92 -0
- package/dist/date-only.d.ts.map +1 -1
- package/dist/date-picker.js +51 -50
- package/dist/date-picker.js.map +1 -1
- package/dist/date-picker.server.js +2 -1
- package/dist/date-picker.server.js.map +1 -1
- package/dist/date-range-picker.d.ts +41 -0
- package/dist/date-range-picker.d.ts.map +1 -0
- package/dist/date-range-picker.js +368 -0
- package/dist/date-range-picker.js.map +1 -0
- package/dist/date-range-picker.server.js +347 -0
- package/dist/date-range-picker.server.js.map +1 -0
- package/dist/direction-CS85IDNU.js +21 -0
- package/dist/direction-CS85IDNU.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +168 -179
- package/dist/index.js.map +1 -1
- package/dist/internal/choice.d.ts +25 -3
- package/dist/internal/choice.d.ts.map +1 -1
- package/dist/month-picker.d.ts +33 -0
- package/dist/month-picker.d.ts.map +1 -0
- package/dist/month-picker.js +287 -0
- package/dist/month-picker.js.map +1 -0
- package/dist/month-picker.server.js +282 -0
- package/dist/month-picker.server.js.map +1 -0
- package/dist/number-input.d.ts +53 -0
- package/dist/number-input.d.ts.map +1 -0
- package/dist/number-input.js +267 -0
- package/dist/number-input.js.map +1 -0
- package/dist/number-input.server.js +237 -0
- package/dist/number-input.server.js.map +1 -0
- package/dist/segmented-control.d.ts +40 -0
- package/dist/segmented-control.d.ts.map +1 -0
- package/dist/segmented-control.js +133 -0
- package/dist/segmented-control.js.map +1 -0
- package/dist/segmented-control.server.js +138 -0
- package/dist/segmented-control.server.js.map +1 -0
- package/dist/select-picker.js +1 -1
- package/dist/select-picker.server.js +1 -1
- package/dist/server.js +8 -22
- package/dist/server.js.map +1 -1
- package/dist/time-only.d.ts +32 -0
- package/dist/time-only.d.ts.map +1 -0
- package/dist/time-picker-BlMWCQwk.js +113 -0
- package/dist/time-picker-BlMWCQwk.js.map +1 -0
- package/dist/time-picker.d.ts +34 -0
- package/dist/time-picker.d.ts.map +1 -0
- package/dist/time-picker.js +2 -0
- package/dist/time-picker.server.js +152 -0
- package/dist/time-picker.server.js.map +1 -0
- package/package.json +44 -4
- package/styles.css +31 -1
- package/dist/assets/calendar-view-1RO2mtf1.js.map +0 -1
- package/dist/assets/choice-DoXiK8nc.js.map +0 -1
- package/dist/calendar-view-CTBTPB4T.js +0 -444
- package/dist/calendar-view-CTBTPB4T.js.map +0 -1
- package/dist/choice-BPMiJlPJ.js +0 -395
- package/dist/choice-BPMiJlPJ.js.map +0 -1
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { l as createControllableSignal, t as CalendarView } from "./assets/calendar-view-BBQGmkJ7.js";
|
|
2
|
+
import { n as describedBy } from "./assets/utils-Ou0UJRlO.js";
|
|
3
|
+
import { c as isKorean, d as rangeMessages, h as validateRange, i as displayDate, o as isCalendarDate, t as canonicalInput } from "./assets/date-only-0Ldsjp43.js";
|
|
4
|
+
import { Show, createEffect, createMemo, createSignal, createUniqueId, on, onCleanup, onMount } from "solid-js";
|
|
5
|
+
import { Portal, createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
6
|
+
import { DatePicker, parseDate } from "@ark-ui/solid/date-picker";
|
|
7
|
+
//#region src/date-range-picker.tsx
|
|
8
|
+
var _tmpl$ = ["<svg", " width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" aria-hidden=\"true\"><rect x=\"3.5\" y=\"5.5\" width=\"17\" height=\"15\" rx=\"2\"></rect><path d=\"M7.5 3v5M16.5 3v5M3.5 10.5h17\"></path></svg>"];
|
|
9
|
+
var _tmpl$2 = ["<span", " aria-hidden=\"true\"> *</span>"];
|
|
10
|
+
var _tmpl$3 = [
|
|
11
|
+
"<label",
|
|
12
|
+
" class=\"dds-field__label\"",
|
|
13
|
+
"><!--$-->",
|
|
14
|
+
"<!--/--><!--$-->",
|
|
15
|
+
"<!--/--></label>"
|
|
16
|
+
];
|
|
17
|
+
var _tmpl$4 = [
|
|
18
|
+
"<div",
|
|
19
|
+
" class=\"dds-date-range-box\"",
|
|
20
|
+
"><input type=\"text\" class=\"dds-date-range-input\" autocomplete=\"off\" autocorrect=\"off\" spellcheck=\"false\"",
|
|
21
|
+
"",
|
|
22
|
+
"",
|
|
23
|
+
"><span class=\"dds-date-range-separator\" aria-hidden=\"true\">~</span><input type=\"text\" class=\"dds-date-range-input\" autocomplete=\"off\" autocorrect=\"off\" spellcheck=\"false\"",
|
|
24
|
+
"",
|
|
25
|
+
"",
|
|
26
|
+
"></div>"
|
|
27
|
+
];
|
|
28
|
+
var _tmpl$5 = [
|
|
29
|
+
"<input",
|
|
30
|
+
" type=\"hidden\"",
|
|
31
|
+
"",
|
|
32
|
+
">"
|
|
33
|
+
];
|
|
34
|
+
var _tmpl$6 = [
|
|
35
|
+
"<span",
|
|
36
|
+
" class=\"dds-field__error\" role=\"alert\">",
|
|
37
|
+
"</span>"
|
|
38
|
+
];
|
|
39
|
+
var _tmpl$7 = [
|
|
40
|
+
"<div",
|
|
41
|
+
" class=\"",
|
|
42
|
+
"\" role=\"group\"",
|
|
43
|
+
"><!--$-->",
|
|
44
|
+
"<!--/--><!--$-->",
|
|
45
|
+
"<!--/--><!--$-->",
|
|
46
|
+
"<!--/--><!--$-->",
|
|
47
|
+
"<!--/--><!--$-->",
|
|
48
|
+
"<!--/--></div>"
|
|
49
|
+
];
|
|
50
|
+
var EMPTY = {
|
|
51
|
+
start: "",
|
|
52
|
+
end: ""
|
|
53
|
+
};
|
|
54
|
+
var same = (a, b) => a.start === b.start && a.end === b.end;
|
|
55
|
+
function selectionOf(range) {
|
|
56
|
+
if (!isCalendarDate(range.start)) return [];
|
|
57
|
+
const start = parseDate(range.start);
|
|
58
|
+
return isCalendarDate(range.end) && range.start <= range.end ? [start, parseDate(range.end)] : [start];
|
|
59
|
+
}
|
|
60
|
+
function CalendarIcon() {
|
|
61
|
+
return ssr(_tmpl$, ssrHydrationKey());
|
|
62
|
+
}
|
|
63
|
+
function DateRangePicker(props) {
|
|
64
|
+
const locale = () => props.locale ?? "ko-KR", id = props.id ?? `dds-date-range-${createUniqueId()}`, endId = `${id}-end`, labelId = `${id}-label`, errorId = `${id}-error`;
|
|
65
|
+
const text = () => rangeMessages(locale(), props.messages);
|
|
66
|
+
const [value, setValue] = createControllableSignal({
|
|
67
|
+
value: () => props.value,
|
|
68
|
+
defaultValue: props.defaultValue ?? EMPTY,
|
|
69
|
+
onChange: void 0
|
|
70
|
+
});
|
|
71
|
+
const display = (range) => ({
|
|
72
|
+
start: displayDate(range.start, locale()),
|
|
73
|
+
end: displayDate(range.end, locale())
|
|
74
|
+
});
|
|
75
|
+
const [draftState, setDraftState] = createSignal({
|
|
76
|
+
...display(value()),
|
|
77
|
+
locale: locale()
|
|
78
|
+
});
|
|
79
|
+
const relocalize = (draft, from) => {
|
|
80
|
+
const canonical = canonicalInput(draft, from);
|
|
81
|
+
return from !== locale() && isCalendarDate(canonical) ? displayDate(canonical, locale()) : draft;
|
|
82
|
+
};
|
|
83
|
+
const drafts = createMemo(() => {
|
|
84
|
+
const state = draftState();
|
|
85
|
+
return {
|
|
86
|
+
start: relocalize(state.start, state.locale),
|
|
87
|
+
end: relocalize(state.end, state.locale)
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
const setDrafts = (next) => setDraftState({
|
|
91
|
+
...next,
|
|
92
|
+
locale: locale()
|
|
93
|
+
});
|
|
94
|
+
const [selection, setSelection] = createSignal(selectionOf(value()));
|
|
95
|
+
const [open, setOpen] = createSignal(false);
|
|
96
|
+
let endInput, emitted = value(), focusFrame;
|
|
97
|
+
const [portalMount, setPortalMount] = createSignal();
|
|
98
|
+
onMount(() => {});
|
|
99
|
+
const blocked = () => props.disabled || props.readOnly;
|
|
100
|
+
const validity = createMemo(() => validateRange(drafts().start, drafts().end, props.required ?? false, props.min, props.max, locale()));
|
|
101
|
+
const messageFor = (reason) => reason === "required" ? text().required : reason === "order" ? text().order : text().invalid;
|
|
102
|
+
const error = () => validity().valid ? void 0 : messageFor(validity().reason);
|
|
103
|
+
const startInvalid = () => props.invalid || !validity().start.valid;
|
|
104
|
+
const endInvalid = () => props.invalid || !validity().end.valid || validity().reason === "order";
|
|
105
|
+
const fieldName = () => props.label ?? props["aria-label"] ?? "";
|
|
106
|
+
createEffect(on(() => [value().start, value().end], ([start, end]) => {
|
|
107
|
+
if (same({
|
|
108
|
+
start,
|
|
109
|
+
end
|
|
110
|
+
}, emitted)) return;
|
|
111
|
+
emitted = {
|
|
112
|
+
start,
|
|
113
|
+
end
|
|
114
|
+
};
|
|
115
|
+
setDrafts(display(emitted));
|
|
116
|
+
setSelection(selectionOf(emitted));
|
|
117
|
+
}, { defer: true }));
|
|
118
|
+
createEffect(() => {
|
|
119
|
+
validity();
|
|
120
|
+
});
|
|
121
|
+
createEffect(() => {
|
|
122
|
+
if (blocked()) {
|
|
123
|
+
setOpen(false);
|
|
124
|
+
if (focusFrame !== void 0) cancelAnimationFrame(focusFrame);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
onMount(() => {});
|
|
128
|
+
onCleanup(() => {
|
|
129
|
+
if (focusFrame !== void 0) cancelAnimationFrame(focusFrame);
|
|
130
|
+
});
|
|
131
|
+
function focusSoon(target, frames = 1) {
|
|
132
|
+
if (focusFrame !== void 0) cancelAnimationFrame(focusFrame);
|
|
133
|
+
const run = (left) => {
|
|
134
|
+
focusFrame = requestAnimationFrame(() => {
|
|
135
|
+
if (left > 1) return run(left - 1);
|
|
136
|
+
if (!blocked()) target()?.focus({ preventScroll: true });
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
run(frames);
|
|
140
|
+
}
|
|
141
|
+
function commit(next) {
|
|
142
|
+
if (blocked()) return;
|
|
143
|
+
setSelection(selectionOf(next));
|
|
144
|
+
if (same(next, emitted)) return;
|
|
145
|
+
emitted = next;
|
|
146
|
+
setValue(next);
|
|
147
|
+
props.onValueChange?.(next);
|
|
148
|
+
}
|
|
149
|
+
function choose(range) {
|
|
150
|
+
setDrafts(display(range));
|
|
151
|
+
commit(range);
|
|
152
|
+
}
|
|
153
|
+
const presets = () => (props.presets ?? []).map((preset) => {
|
|
154
|
+
const state = () => validateRange(preset.value.start, preset.value.end, false, props.min, props.max, "en-US");
|
|
155
|
+
return {
|
|
156
|
+
label: preset.label,
|
|
157
|
+
disabled: !state().valid,
|
|
158
|
+
onSelect: () => {
|
|
159
|
+
const checked = state();
|
|
160
|
+
if (blocked() || !checked.valid) return;
|
|
161
|
+
choose(checked.value);
|
|
162
|
+
setOpen(false);
|
|
163
|
+
focusSoon(() => endInput, 2);
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
});
|
|
167
|
+
return ssr(_tmpl$7, ssrHydrationKey(), `dds-field dds-date-picker dds-date-range-picker dds-date-picker--${escape(props.labelPlacement ?? "outside", true)}${error() ? " dds-field--error" : ""}`, ssrAttribute("aria-labelledby", escape(props["aria-labelledby"] ?? (props.label ? labelId : void 0), true), false) + ssrAttribute("aria-label", props.label || props["aria-labelledby"] ? escape(void 0, true) : escape(props["aria-label"], true), false) + ssrAttribute("data-filled", drafts().start !== "" || drafts().end !== "" ? "true" : escape(void 0, true), false) + ssrAttribute("data-invalid", startInvalid() || endInvalid() ? "" : escape(void 0, true), false) + ssrAttribute("data-disabled", props.disabled ? "" : escape(void 0, true), false), escape(createComponent(Show, {
|
|
168
|
+
get when() {
|
|
169
|
+
return props.label;
|
|
170
|
+
},
|
|
171
|
+
get children() {
|
|
172
|
+
return ssr(_tmpl$3, ssrHydrationKey() + ssrAttribute("id", escape(labelId, true), false), ssrAttribute("for", escape(id, true), false), escape(props.label), escape(createComponent(Show, {
|
|
173
|
+
get when() {
|
|
174
|
+
return props.required;
|
|
175
|
+
},
|
|
176
|
+
get children() {
|
|
177
|
+
return ssr(_tmpl$2, ssrHydrationKey());
|
|
178
|
+
}
|
|
179
|
+
})));
|
|
180
|
+
}
|
|
181
|
+
})), escape(createComponent(DatePicker.Root, {
|
|
182
|
+
get locale() {
|
|
183
|
+
return locale();
|
|
184
|
+
},
|
|
185
|
+
get timeZone() {
|
|
186
|
+
return props.timeZone ?? "Asia/Seoul";
|
|
187
|
+
},
|
|
188
|
+
selectionMode: "range",
|
|
189
|
+
get disabled() {
|
|
190
|
+
return props.disabled;
|
|
191
|
+
},
|
|
192
|
+
get readOnly() {
|
|
193
|
+
return props.readOnly;
|
|
194
|
+
},
|
|
195
|
+
get required() {
|
|
196
|
+
return props.required;
|
|
197
|
+
},
|
|
198
|
+
get invalid() {
|
|
199
|
+
return props.invalid || !validity().valid;
|
|
200
|
+
},
|
|
201
|
+
get open() {
|
|
202
|
+
return memo(() => !!open())() && !blocked();
|
|
203
|
+
},
|
|
204
|
+
onOpenChange: (details) => {
|
|
205
|
+
setOpen(details.open && !blocked());
|
|
206
|
+
if (!details.open) setSelection(selectionOf(emitted));
|
|
207
|
+
},
|
|
208
|
+
get min() {
|
|
209
|
+
return memo(() => !!(props.min && isCalendarDate(props.min)))() ? parseDate(props.min) : void 0;
|
|
210
|
+
},
|
|
211
|
+
get max() {
|
|
212
|
+
return memo(() => !!(props.max && isCalendarDate(props.max)))() ? parseDate(props.max) : void 0;
|
|
213
|
+
},
|
|
214
|
+
get startOfWeek() {
|
|
215
|
+
return props.startOfWeek ?? 0;
|
|
216
|
+
},
|
|
217
|
+
minView: "day",
|
|
218
|
+
maxView: "day",
|
|
219
|
+
fixedWeeks: true,
|
|
220
|
+
get translations() {
|
|
221
|
+
return {
|
|
222
|
+
dayCell: (state) => text().selectDate(state.valueText),
|
|
223
|
+
clearTrigger: text().clear
|
|
224
|
+
};
|
|
225
|
+
},
|
|
226
|
+
get value() {
|
|
227
|
+
return selection();
|
|
228
|
+
},
|
|
229
|
+
onValueChange: (details) => {
|
|
230
|
+
if (blocked()) return;
|
|
231
|
+
setSelection(details.value);
|
|
232
|
+
if (details.value.length < 2) return;
|
|
233
|
+
const [start, end] = details.value.map((day) => day.toString()).sort();
|
|
234
|
+
const checked = validateRange(start, end, false, props.min, props.max, "en-US");
|
|
235
|
+
if (!checked.valid) return;
|
|
236
|
+
choose(checked.value);
|
|
237
|
+
focusSoon(() => endInput, 2);
|
|
238
|
+
},
|
|
239
|
+
get positioning() {
|
|
240
|
+
return {
|
|
241
|
+
placement: "bottom-start",
|
|
242
|
+
gutter: 8,
|
|
243
|
+
strategy: portalMount()?.matches("[role=\"dialog\"], [role=\"alertdialog\"]") ? "fixed" : "absolute",
|
|
244
|
+
hideWhenDetached: !!portalMount()?.matches("[role=\"dialog\"], [role=\"alertdialog\"]")
|
|
245
|
+
};
|
|
246
|
+
},
|
|
247
|
+
get children() {
|
|
248
|
+
return [createComponent(DatePicker.Control, {
|
|
249
|
+
"class": "dds-date-picker-control",
|
|
250
|
+
get children() {
|
|
251
|
+
return [ssr(_tmpl$4, ssrHydrationKey(), ssrAttribute("data-invalid", startInvalid() || endInvalid() ? "" : escape(void 0, true), false) + ssrAttribute("data-disabled", props.disabled ? "" : escape(void 0, true), false), ssrAttribute("placeholder", isKorean(locale()) ? "YYYY/MM/DD" : "YYYY-MM-DD", false) + ssrAttribute("id", escape(id, true), false) + ssrAttribute("form", escape(props.form, true), false) + ssrAttribute("aria-label", escape(text().startLabel, true), false) + ssrAttribute("aria-invalid", startInvalid() ? "true" : escape(void 0, true), false) + ssrAttribute("aria-required", props.required ? "true" : escape(void 0, true), false) + ssrAttribute("aria-describedby", escape(describedBy(props["aria-describedby"], error() && errorId), true), false) + ssrAttribute("value", escape(drafts().start, true), false), ssrAttribute("required", props.required, true) + ssrAttribute("readonly", escape(props.readOnly, true), false), ssrAttribute("disabled", props.disabled, true), ssrAttribute("placeholder", isKorean(locale()) ? "YYYY/MM/DD" : "YYYY-MM-DD", false) + ssrAttribute("id", escape(endId, true), false) + ssrAttribute("form", escape(props.form, true), false) + ssrAttribute("aria-label", escape(text().endLabel, true), false) + ssrAttribute("aria-invalid", endInvalid() ? "true" : escape(void 0, true), false) + ssrAttribute("aria-required", props.required ? "true" : escape(void 0, true), false) + ssrAttribute("aria-describedby", escape(describedBy(props["aria-describedby"], error() && errorId), true), false) + ssrAttribute("value", escape(drafts().end, true), false), ssrAttribute("required", props.required, true) + ssrAttribute("readonly", escape(props.readOnly, true), false), ssrAttribute("disabled", props.disabled, true)), createComponent(DatePicker.Trigger, {
|
|
252
|
+
"class": "dds-btn dds-btn--secondary",
|
|
253
|
+
get ["aria-label"]() {
|
|
254
|
+
return `${fieldName()} ${text().openCalendar}`.trim();
|
|
255
|
+
},
|
|
256
|
+
get children() {
|
|
257
|
+
return createComponent(CalendarIcon, {});
|
|
258
|
+
}
|
|
259
|
+
})];
|
|
260
|
+
}
|
|
261
|
+
}), createComponent(Show, {
|
|
262
|
+
get when() {
|
|
263
|
+
return portalMount();
|
|
264
|
+
},
|
|
265
|
+
children: (mount) => createComponent(Portal, {
|
|
266
|
+
get mount() {
|
|
267
|
+
return mount();
|
|
268
|
+
},
|
|
269
|
+
get children() {
|
|
270
|
+
return createComponent(DatePicker.Positioner, {
|
|
271
|
+
"class": "dds-date-picker-positioner",
|
|
272
|
+
get children() {
|
|
273
|
+
return createComponent(DatePicker.Content, {
|
|
274
|
+
"class": "dds-date-picker-content dds-date-range-content",
|
|
275
|
+
get ["aria-label"]() {
|
|
276
|
+
return `${fieldName()} ${text().chooseRange}`.trim();
|
|
277
|
+
},
|
|
278
|
+
get children() {
|
|
279
|
+
return createComponent(CalendarView, {
|
|
280
|
+
get timeZone() {
|
|
281
|
+
return props.timeZone;
|
|
282
|
+
},
|
|
283
|
+
get min() {
|
|
284
|
+
return props.min;
|
|
285
|
+
},
|
|
286
|
+
get max() {
|
|
287
|
+
return props.max;
|
|
288
|
+
},
|
|
289
|
+
get locale() {
|
|
290
|
+
return locale();
|
|
291
|
+
},
|
|
292
|
+
get messages() {
|
|
293
|
+
return text();
|
|
294
|
+
},
|
|
295
|
+
get disabled() {
|
|
296
|
+
return props.disabled;
|
|
297
|
+
},
|
|
298
|
+
get readOnly() {
|
|
299
|
+
return props.readOnly;
|
|
300
|
+
},
|
|
301
|
+
showToday: false,
|
|
302
|
+
get showClear() {
|
|
303
|
+
return props.clearable;
|
|
304
|
+
},
|
|
305
|
+
get presets() {
|
|
306
|
+
return presets();
|
|
307
|
+
},
|
|
308
|
+
get presetsLabel() {
|
|
309
|
+
return text().presets;
|
|
310
|
+
},
|
|
311
|
+
onClear: () => choose(EMPTY)
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
})
|
|
319
|
+
})];
|
|
320
|
+
}
|
|
321
|
+
})), escape(createComponent(Show, {
|
|
322
|
+
get when() {
|
|
323
|
+
return props.startName;
|
|
324
|
+
},
|
|
325
|
+
get children() {
|
|
326
|
+
return ssr(_tmpl$5, ssrHydrationKey(), ssrAttribute("name", escape(props.startName, true), false) + ssrAttribute("form", escape(props.form, true), false) + ssrAttribute("value", escape(value().start, true), false), ssrAttribute("disabled", props.disabled, true));
|
|
327
|
+
}
|
|
328
|
+
})), escape(createComponent(Show, {
|
|
329
|
+
get when() {
|
|
330
|
+
return props.endName;
|
|
331
|
+
},
|
|
332
|
+
get children() {
|
|
333
|
+
return ssr(_tmpl$5, ssrHydrationKey(), ssrAttribute("name", escape(props.endName, true), false) + ssrAttribute("form", escape(props.form, true), false) + ssrAttribute("value", escape(value().end, true), false), ssrAttribute("disabled", props.disabled, true));
|
|
334
|
+
}
|
|
335
|
+
})), escape(createComponent(Show, {
|
|
336
|
+
get when() {
|
|
337
|
+
return error();
|
|
338
|
+
},
|
|
339
|
+
get children() {
|
|
340
|
+
return ssr(_tmpl$6, ssrHydrationKey() + ssrAttribute("id", escape(errorId, true), false), escape(error()));
|
|
341
|
+
}
|
|
342
|
+
})));
|
|
343
|
+
}
|
|
344
|
+
//#endregion
|
|
345
|
+
export { DateRangePicker };
|
|
346
|
+
|
|
347
|
+
//# sourceMappingURL=date-range-picker.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-picker.server.js","names":["DatePicker","ArkDatePicker","parseDate","DateValue","Portal","createEffect","createMemo","createSignal","createUniqueId","on","onCleanup","onMount","Show","CalendarView","createControllableSignal","canonicalInput","displayDate","isCalendarDate","isKorean","rangeMessages","validateRange","DateRange","DateRangeMessages","describedBy","DateRangeValidity","DateRangePreset","label","value","DateRangePickerProps","labelPlacement","id","defaultValue","onValueChange","next","locale","timeZone","min","max","startOfWeek","messages","clearable","presets","required","disabled","readOnly","invalid","startName","endName","form","EMPTY","start","end","same","a","b","selectionOf","range","CalendarIcon","_$ssr","_tmpl$","_$ssrHydrationKey","DateRangePicker","props","endId","labelId","errorId","text","setValue","onChange","undefined","display","draftState","setDraftState","relocalize","draft","from","canonical","drafts","state","setDrafts","selection","setSelection","open","setOpen","startInput","HTMLInputElement","endInput","trigger","HTMLButtonElement","emitted","focusFrame","portalMount","setPortalMount","HTMLElement","closest","ownerDocument","body","blocked","validity","messageFor","reason","order","error","valid","startInvalid","endInvalid","fieldName","const","defer","setCustomValidity","cancelAnimationFrame","doc","reset","event","Event","getElementById","target","setTimeout","defaultPrevented","shown","addEventListener","removeEventListener","focusSoon","frames","run","left","requestAnimationFrame","focus","preventScroll","commit","changeDraft","side","typed","loose","part","choose","map","preset","onSelect","checked","_tmpl$7","_$escape","_$ssrAttribute","_$createComponent","when","children","_tmpl$3","_tmpl$2","Root","selectionMode","_$memo","onOpenChange","details","minView","maxView","fixedWeeks","translations","dayCell","selectDate","valueText","clearTrigger","clear","length","day","toString","sort","positioning","placement","gutter","strategy","matches","hideWhenDetached","Control","_tmpl$4","startLabel","endLabel","Trigger","aria-label","openCalendar","trim","mount","Positioner","Content","chooseRange","showToday","showClear","presetsLabel","onClear","_tmpl$5","_tmpl$6"],"sources":["../src/date-range-picker.tsx"],"sourcesContent":["import {\n DatePicker as ArkDatePicker,\n parseDate,\n type DateValue,\n} from \"@ark-ui/solid/date-picker\";\nimport { Portal } from \"solid-js/web\";\nimport {\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n on,\n onCleanup,\n onMount,\n Show,\n} from \"solid-js\";\nimport { CalendarView } from \"./calendar-view\";\nimport { createControllableSignal } from \"./controllable\";\nimport {\n canonicalInput,\n displayDate,\n isCalendarDate,\n isKorean,\n rangeMessages,\n validateRange,\n type DateRange,\n type DateRangeMessages,\n} from \"./date-only\";\nimport { describedBy } from \"./utils\";\nexport type {\n DateRange,\n DateRangeMessages,\n DateRangeValidity,\n} from \"./date-only\";\n\n/** A consumer-supplied shortcut shown in the calendar footer. DDS ships no built-in list. */\nexport interface DateRangePreset {\n label: string;\n value: DateRange;\n}\n\nexport interface DateRangePickerProps {\n label?: string;\n /** Two inputs share one field label; \"inside\" is not offered. */\n labelPlacement?: \"outside\" | \"hidden\";\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n \"aria-describedby\"?: string;\n /** Id of the start input; the end input receives `${id}-end`. */\n id?: string;\n value?: DateRange;\n defaultValue?: DateRange;\n /** Called on user changes only, with YYYY-MM-DD or \"\" on each side; never with start after end. */\n onValueChange?: (next: DateRange) => void;\n locale?: string;\n timeZone?: string;\n min?: string;\n max?: string;\n startOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n messages?: DateRangeMessages;\n clearable?: boolean;\n presets?: DateRangePreset[];\n /** Both dates are required. */\n required?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n invalid?: boolean;\n /** Form field name submitting the start date (YYYY-MM-DD or \"\"). */\n startName?: string;\n /** Form field name submitting the end date (YYYY-MM-DD or \"\"). */\n endName?: string;\n form?: string;\n}\n\nconst EMPTY: DateRange = { start: \"\", end: \"\" };\nconst same = (a: DateRange, b: DateRange) =>\n a.start === b.start && a.end === b.end;\n\nfunction selectionOf(range: DateRange): DateValue[] {\n if (!isCalendarDate(range.start)) return [];\n const start = parseDate(range.start);\n return isCalendarDate(range.end) && range.start <= range.end\n ? [start, parseDate(range.end)]\n : [start];\n}\n\nfunction CalendarIcon() {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n aria-hidden=\"true\"\n >\n <rect x=\"3.5\" y=\"5.5\" width=\"17\" height=\"15\" rx=\"2\" />\n <path d=\"M7.5 3v5M16.5 3v5M3.5 10.5h17\" />\n </svg>\n );\n}\n\nexport function DateRangePicker(props: DateRangePickerProps) {\n const locale = () => props.locale ?? \"ko-KR\",\n id = props.id ?? `dds-date-range-${createUniqueId()}`,\n endId = `${id}-end`,\n labelId = `${id}-label`,\n errorId = `${id}-error`;\n const text = () => rangeMessages(locale(), props.messages);\n const [value, setValue] = createControllableSignal<DateRange>({\n value: () => props.value,\n defaultValue: props.defaultValue ?? EMPTY,\n onChange: undefined,\n });\n const display = (range: DateRange) => ({\n start: displayDate(range.start, locale()),\n end: displayDate(range.end, locale()),\n });\n // Drafts keep their formatting locale so a locale change re-displays complete dates only.\n const [draftState, setDraftState] = createSignal({\n ...display(value()),\n locale: locale(),\n });\n const relocalize = (draft: string, from: string) => {\n const canonical = canonicalInput(draft, from);\n return from !== locale() && isCalendarDate(canonical)\n ? displayDate(canonical, locale())\n : draft;\n };\n const drafts = createMemo(() => {\n const state = draftState();\n return {\n start: relocalize(state.start, state.locale),\n end: relocalize(state.end, state.locale),\n };\n });\n const setDrafts = (next: DateRange) =>\n setDraftState({ ...next, locale: locale() });\n const [selection, setSelection] = createSignal(selectionOf(value()));\n const [open, setOpen] = createSignal(false);\n let startInput: HTMLInputElement | undefined,\n endInput: HTMLInputElement | undefined,\n trigger: HTMLButtonElement | undefined,\n emitted = value(),\n focusFrame: number | undefined;\n const [portalMount, setPortalMount] = createSignal<HTMLElement>();\n onMount(() => {\n if (startInput)\n setPortalMount(\n startInput.closest<HTMLElement>('[role=\"dialog\"], [role=\"alertdialog\"]') ??\n startInput.ownerDocument.body,\n );\n });\n const blocked = () => props.disabled || props.readOnly;\n const validity = createMemo(() =>\n validateRange(\n drafts().start,\n drafts().end,\n props.required ?? false,\n props.min,\n props.max,\n locale(),\n ),\n );\n const messageFor = (reason: string) =>\n reason === \"required\"\n ? text().required\n : reason === \"order\"\n ? text().order\n : text().invalid;\n const error = () =>\n validity().valid ? undefined : messageFor(validity().reason);\n const startInvalid = () => props.invalid || !validity().start.valid;\n const endInvalid = () =>\n props.invalid || !validity().end.valid || validity().reason === \"order\";\n const fieldName = () => props.label ?? props[\"aria-label\"] ?? \"\";\n\n createEffect(\n on(\n () => [value().start, value().end] as const,\n ([start, end]) => {\n if (same({ start, end }, emitted)) return;\n emitted = { start, end };\n setDrafts(display(emitted));\n setSelection(selectionOf(emitted));\n },\n { defer: true },\n ),\n );\n createEffect(() => {\n const state = validity();\n startInput?.setCustomValidity(\n state.start.valid ? \"\" : messageFor(state.start.reason),\n );\n endInput?.setCustomValidity(\n !state.end.valid\n ? messageFor(state.end.reason)\n : state.reason === \"order\"\n ? text().order\n : \"\",\n );\n });\n createEffect(() => {\n if (blocked()) {\n setOpen(false);\n if (focusFrame !== undefined) cancelAnimationFrame(focusFrame);\n }\n });\n // Resolve the owning form when a reset happens: the field may mount before it joins its form.\n onMount(() => {\n const doc = startInput?.ownerDocument;\n if (!doc) return;\n const reset = (event: Event) => {\n const form = props.form ? doc.getElementById(props.form) : startInput?.form;\n if (!form || event.target !== form) return;\n // A task, not a microtask: a user-triggered reset runs its listeners before rewriting the controls.\n setTimeout(() => {\n if (event.defaultPrevented) return;\n const next = props.value ?? props.defaultValue ?? EMPTY;\n emitted = next;\n setValue(next);\n const shown = display(next);\n setDrafts(shown);\n setSelection(selectionOf(next));\n // Native reset rewrote the visible inputs; the drafts may not have changed.\n if (startInput) startInput.value = shown.start;\n if (endInput) endInput.value = shown.end;\n }, 0);\n };\n doc.addEventListener(\"reset\", reset, true);\n onCleanup(() => doc.removeEventListener(\"reset\", reset, true));\n });\n onCleanup(() => {\n if (focusFrame !== undefined) cancelAnimationFrame(focusFrame);\n });\n\n function focusSoon(target: () => HTMLElement | undefined, frames = 1) {\n if (focusFrame !== undefined) cancelAnimationFrame(focusFrame);\n const run = (left: number) => {\n focusFrame = requestAnimationFrame(() => {\n if (left > 1) return run(left - 1);\n if (!blocked()) target()?.focus({ preventScroll: true });\n });\n };\n run(frames);\n }\n function commit(next: DateRange) {\n if (blocked()) return;\n setSelection(selectionOf(next));\n if (same(next, emitted)) return;\n emitted = next;\n setValue(next);\n props.onValueChange?.(next);\n }\n /** Committing ignores `required` like DatePicker: an emptied side is still reported. */\n function changeDraft(side: \"start\" | \"end\", typed: string) {\n if (blocked()) return;\n const next = { ...drafts(), [side]: typed };\n const loose = validateRange(\n next.start,\n next.end,\n false,\n props.min,\n props.max,\n locale(),\n );\n const part = loose[side];\n if (part.valid) next[side] = displayDate(part.value ?? \"\", locale());\n setDrafts(next);\n if (loose.valid) commit(loose.value!);\n }\n function choose(range: DateRange) {\n setDrafts(display(range));\n commit(range);\n }\n const presets = () =>\n (props.presets ?? []).map((preset) => {\n const state = () =>\n validateRange(\n preset.value.start,\n preset.value.end,\n false,\n props.min,\n props.max,\n \"en-US\",\n );\n return {\n label: preset.label,\n disabled: !state().valid,\n onSelect: () => {\n const checked = state();\n if (blocked() || !checked.valid) return;\n choose(checked.value!);\n setOpen(false);\n focusSoon(() => endInput, 2);\n },\n };\n });\n\n\n return (\n <div\n class={`dds-field dds-date-picker dds-date-range-picker dds-date-picker--${props.labelPlacement ?? \"outside\"}${error() ? \" dds-field--error\" : \"\"}`}\n role=\"group\"\n aria-labelledby={\n props[\"aria-labelledby\"] ?? (props.label ? labelId : undefined)\n }\n aria-label={\n props.label || props[\"aria-labelledby\"] ? undefined : props[\"aria-label\"]\n }\n data-filled={drafts().start !== \"\" || drafts().end !== \"\" ? \"true\" : undefined}\n data-invalid={startInvalid() || endInvalid() ? \"\" : undefined}\n data-disabled={props.disabled ? \"\" : undefined}\n >\n <Show when={props.label}>\n <label id={labelId} class=\"dds-field__label\" for={id}>\n {props.label}\n <Show when={props.required}>\n <span aria-hidden=\"true\"> *</span>\n </Show>\n </label>\n </Show>\n <ArkDatePicker.Root\n locale={locale()}\n timeZone={props.timeZone ?? \"Asia/Seoul\"}\n selectionMode=\"range\"\n disabled={props.disabled}\n readOnly={props.readOnly}\n required={props.required}\n invalid={props.invalid || !validity().valid}\n open={open() && !blocked()}\n onOpenChange={(details) => {\n setOpen(details.open && !blocked());\n // A half-chosen period is not a value: closing restores the committed one.\n if (!details.open) setSelection(selectionOf(emitted));\n }}\n min={\n props.min && isCalendarDate(props.min)\n ? parseDate(props.min)\n : undefined\n }\n max={\n props.max && isCalendarDate(props.max)\n ? parseDate(props.max)\n : undefined\n }\n startOfWeek={props.startOfWeek ?? 0}\n minView=\"day\"\n maxView=\"day\"\n fixedWeeks\n translations={{\n dayCell: (state) => text().selectDate(state.valueText),\n clearTrigger: text().clear,\n }}\n value={selection()}\n onValueChange={(details) => {\n if (blocked()) return;\n setSelection(details.value);\n if (details.value.length < 2) return;\n const [start, end] = details.value.map((day) => day.toString()).sort();\n const checked = validateRange(\n start!,\n end!,\n false,\n props.min,\n props.max,\n \"en-US\",\n );\n if (!checked.valid) return;\n choose(checked.value!);\n focusSoon(() => endInput, 2);\n }}\n positioning={{\n placement: \"bottom-start\",\n gutter: 8,\n strategy: portalMount()?.matches(\n '[role=\"dialog\"], [role=\"alertdialog\"]',\n )\n ? \"fixed\"\n : \"absolute\",\n hideWhenDetached: !!portalMount()?.matches(\n '[role=\"dialog\"], [role=\"alertdialog\"]',\n ),\n }}\n >\n <ArkDatePicker.Control class=\"dds-date-picker-control\">\n <div\n class=\"dds-date-range-box\"\n data-invalid={startInvalid() || endInvalid() ? \"\" : undefined}\n data-disabled={props.disabled ? \"\" : undefined}\n >\n <input\n type=\"text\"\n class=\"dds-date-range-input\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n spellcheck={false}\n placeholder={isKorean(locale()) ? \"YYYY/MM/DD\" : \"YYYY-MM-DD\"}\n id={id}\n ref={startInput}\n form={props.form}\n aria-label={text().startLabel}\n aria-invalid={startInvalid() ? \"true\" : undefined}\n aria-required={props.required ? \"true\" : undefined}\n aria-describedby={describedBy(\n props[\"aria-describedby\"],\n error() && errorId,\n )}\n value={drafts().start}\n required={props.required}\n readOnly={props.readOnly}\n disabled={props.disabled}\n on:input={(event) => {\n event.stopPropagation();\n changeDraft(\"start\", event.currentTarget.value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" && !event.isComposing) {\n event.preventDefault();\n event.stopPropagation();\n }\n }}\n />\n <span class=\"dds-date-range-separator\" aria-hidden=\"true\">\n ~\n </span>\n <input\n type=\"text\"\n class=\"dds-date-range-input\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n spellcheck={false}\n placeholder={isKorean(locale()) ? \"YYYY/MM/DD\" : \"YYYY-MM-DD\"}\n id={endId}\n ref={endInput}\n form={props.form}\n aria-label={text().endLabel}\n aria-invalid={endInvalid() ? \"true\" : undefined}\n aria-required={props.required ? \"true\" : undefined}\n aria-describedby={describedBy(\n props[\"aria-describedby\"],\n error() && errorId,\n )}\n value={drafts().end}\n required={props.required}\n readOnly={props.readOnly}\n disabled={props.disabled}\n on:input={(event) => {\n event.stopPropagation();\n changeDraft(\"end\", event.currentTarget.value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" && !event.isComposing) {\n event.preventDefault();\n event.stopPropagation();\n }\n }}\n />\n </div>\n <ArkDatePicker.Trigger\n ref={trigger}\n class=\"dds-btn dds-btn--secondary\"\n aria-label={`${fieldName()} ${text().openCalendar}`.trim()}\n >\n <CalendarIcon />\n </ArkDatePicker.Trigger>\n </ArkDatePicker.Control>\n <Show when={portalMount()}>\n {(mount) => (\n <Portal mount={mount()}>\n <ArkDatePicker.Positioner class=\"dds-date-picker-positioner\">\n <ArkDatePicker.Content\n ref={(node) => {\n const restoreTrigger = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") focusSoon(() => trigger, 2);\n };\n node.addEventListener(\"keydown\", restoreTrigger, true);\n onCleanup(() =>\n node.removeEventListener(\"keydown\", restoreTrigger, true),\n );\n }}\n class=\"dds-date-picker-content dds-date-range-content\"\n aria-label={`${fieldName()} ${text().chooseRange}`.trim()}\n >\n <CalendarView\n timeZone={props.timeZone}\n min={props.min}\n max={props.max}\n locale={locale()}\n messages={text()}\n disabled={props.disabled}\n readOnly={props.readOnly}\n showToday={false}\n showClear={props.clearable}\n presets={presets()}\n presetsLabel={text().presets}\n onClear={() => choose(EMPTY)}\n />\n </ArkDatePicker.Content>\n </ArkDatePicker.Positioner>\n </Portal>\n )}\n </Show>\n </ArkDatePicker.Root>\n <Show when={props.startName}>\n <input\n type=\"hidden\"\n name={props.startName}\n form={props.form}\n value={value().start}\n disabled={props.disabled}\n />\n </Show>\n <Show when={props.endName}>\n <input\n type=\"hidden\"\n name={props.endName}\n form={props.form}\n value={value().end}\n disabled={props.disabled}\n />\n </Show>\n <Show when={error()}>\n <span id={errorId} class=\"dds-field__error\" role=\"alert\">\n {error()}\n </span>\n </Show>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EA,IAAMiD,QAAmB;CAAEC,OAAO;CAAIC,KAAK;AAAG;AAC9C,IAAMC,QAAQC,GAAcC,MAC1BD,EAAEH,UAAUI,EAAEJ,SAASG,EAAEF,QAAQG,EAAEH;AAErC,SAASI,YAAYC,OAA+B;CAClD,IAAI,CAACvC,eAAeuC,MAAMN,KAAK,GAAG,OAAO,CAAA;CACzC,MAAMA,QAAQhD,UAAUsD,MAAMN,KAAK;CACnC,OAAOjC,eAAeuC,MAAML,GAAG,KAAKK,MAAMN,SAASM,MAAML,MACrD,CAACD,OAAOhD,UAAUsD,MAAML,GAAG,CAAC,IAC5B,CAACD,KAAK;AACZ;AAEA,SAASO,eAAe;CACtB,OAAAC,IAAAC,QAAAC,gBAAA,CAAA;AAcF;AAEA,SAAgBC,gBAAgBC,OAA6B;CAC3D,MAAM5B,eAAe4B,MAAM5B,UAAU,SACnCJ,KAAKgC,MAAMhC,MAAM,kBAAkBtB,eAAe,KAClDuD,QAAQ,GAAGjC,GAAE,OACbkC,UAAU,GAAGlC,GAAE,SACfmC,UAAU,GAAGnC,GAAE;CACjB,MAAMoC,aAAa/C,cAAce,OAAO,GAAG4B,MAAMvB,QAAQ;CACzD,MAAM,CAACZ,OAAOwC,YAAYrD,yBAAoC;EAC5Da,aAAamC,MAAMnC;EACnBI,cAAc+B,MAAM/B,gBAAgBkB;EACpCmB,UAAUC,KAAAA;CACZ,CAAC;CACD,MAAMC,WAAWd,WAAsB;EACrCN,OAAOlC,YAAYwC,MAAMN,OAAOhB,OAAO,CAAC;EACxCiB,KAAKnC,YAAYwC,MAAML,KAAKjB,OAAO,CAAC;CACtC;CAEA,MAAM,CAACqC,YAAYC,iBAAiBjE,aAAa;EAC/C,GAAG+D,QAAQ3C,MAAM,CAAC;EAClBO,QAAQA,OAAO;CACjB,CAAC;CACD,MAAMuC,cAAcC,OAAeC,SAAiB;EAClD,MAAMC,YAAY7D,eAAe2D,OAAOC,IAAI;EAC5C,OAAOA,SAASzC,OAAO,KAAKjB,eAAe2D,SAAS,IAChD5D,YAAY4D,WAAW1C,OAAO,CAAC,IAC/BwC;CACN;CACA,MAAMG,SAASvE,iBAAiB;EAC9B,MAAMwE,QAAQP,WAAW;EACzB,OAAO;GACLrB,OAAOuB,WAAWK,MAAM5B,OAAO4B,MAAM5C,MAAM;GAC3CiB,KAAKsB,WAAWK,MAAM3B,KAAK2B,MAAM5C,MAAM;EACzC;CACF,CAAC;CACD,MAAM6C,aAAa9C,SACjBuC,cAAc;EAAE,GAAGvC;EAAMC,QAAQA,OAAO;CAAE,CAAC;CAC7C,MAAM,CAAC8C,WAAWC,gBAAgB1E,aAAagD,YAAY5B,MAAM,CAAC,CAAC;CACnE,MAAM,CAACuD,MAAMC,WAAW5E,aAAa,KAAK;CAC1C,IACE+E,UAEAG,UAAU9D,MAAM,GAChB+D;CACF,MAAM,CAACC,aAAaC,kBAAkBrF,aAA0B;CAChEI,cAAc,CAMd,CAAC;CACD,MAAMsF,gBAAgBnC,MAAMnB,YAAYmB,MAAMlB;CAC9C,MAAMsD,WAAW5F,iBACfc,cACEyD,OAAO,CAAC,CAAC3B,OACT2B,OAAO,CAAC,CAAC1B,KACTW,MAAMpB,YAAY,OAClBoB,MAAM1B,KACN0B,MAAMzB,KACNH,OAAO,CACT,CACF;CACA,MAAMiE,cAAcC,WAClBA,WAAW,aACPlC,KAAK,CAAC,CAACxB,WACP0D,WAAW,UACTlC,KAAK,CAAC,CAACmC,QACPnC,KAAK,CAAC,CAACrB;CACf,MAAMyD,cACJJ,SAAS,CAAC,CAACK,QAAQlC,KAAAA,IAAY8B,WAAWD,SAAS,CAAC,CAACE,MAAM;CAC7D,MAAMI,qBAAqB1C,MAAMjB,WAAW,CAACqD,SAAS,CAAC,CAAChD,MAAMqD;CAC9D,MAAME,mBACJ3C,MAAMjB,WAAW,CAACqD,SAAS,CAAC,CAAC/C,IAAIoD,SAASL,SAAS,CAAC,CAACE,WAAW;CAClE,MAAMM,kBAAkB5C,MAAMpC,SAASoC,MAAM,iBAAiB;CAE9DzD,aACEI,SACQ,CAACkB,MAAM,CAAC,CAACuB,OAAOvB,MAAM,CAAC,CAACwB,GAAG,IAChC,CAACD,OAAOC,SAAS;EAChB,IAAIC,KAAK;GAAEF;GAAOC;EAAI,GAAGsC,OAAO,GAAG;EACnCA,UAAU;GAAEvC;GAAOC;EAAI;EACvB4B,UAAUT,QAAQmB,OAAO,CAAC;EAC1BR,aAAa1B,YAAYkC,OAAO,CAAC;CACnC,GACA,EAAEmB,OAAO,KAAK,CAChB,CACF;CACAvG,mBAAmB;EACH6F,SAAS;CAWzB,CAAC;CACD7F,mBAAmB;EACjB,IAAI4F,QAAQ,GAAG;GACbd,QAAQ,KAAK;GACb,IAAIO,eAAerB,KAAAA,GAAWyC,qBAAqBpB,UAAU;EAC/D;CACF,CAAC;CAED/E,cAAc,CAsBd,CAAC;CACDD,gBAAgB;EACd,IAAIgF,eAAerB,KAAAA,GAAWyC,qBAAqBpB,UAAU;CAC/D,CAAC;CAED,SAASgC,UAAUN,QAAuCO,SAAS,GAAG;EACpE,IAAIjC,eAAerB,KAAAA,GAAWyC,qBAAqBpB,UAAU;EAC7D,MAAMkC,OAAOC,SAAiB;GAC5BnC,aAAaoC,4BAA4B;IACvC,IAAID,OAAO,GAAG,OAAOD,IAAIC,OAAO,CAAC;IACjC,IAAI,CAAC5B,QAAQ,GAAGmB,OAAO,CAAC,EAAEW,MAAM,EAAEC,eAAe,KAAK,CAAC;GACzD,CAAC;EACH;EACAJ,IAAID,MAAM;CACZ;CACA,SAASM,OAAOhG,MAAiB;EAC/B,IAAIgE,QAAQ,GAAG;EACfhB,aAAa1B,YAAYtB,IAAI,CAAC;EAC9B,IAAImB,KAAKnB,MAAMwD,OAAO,GAAG;EACzBA,UAAUxD;EACVkC,SAASlC,IAAI;EACb6B,MAAM9B,gBAAgBC,IAAI;CAC5B;CAkBA,SAASsG,OAAO/E,OAAkB;EAChCuB,UAAUT,QAAQd,KAAK,CAAC;EACxByE,OAAOzE,KAAK;CACd;CACA,MAAMf,iBACHqB,MAAMrB,WAAW,CAAA,EAAA,CAAI+F,KAAKC,WAAW;EACpC,MAAM3D,cACJ1D,cACEqH,OAAO9G,MAAMuB,OACbuF,OAAO9G,MAAMwB,KACb,OACAW,MAAM1B,KACN0B,MAAMzB,KACN,OACF;EACF,OAAO;GACLX,OAAO+G,OAAO/G;GACdiB,UAAU,CAACmC,MAAM,CAAC,CAACyB;GACnBmC,gBAAgB;IACd,MAAMC,UAAU7D,MAAM;IACtB,IAAImB,QAAQ,KAAK,CAAC0C,QAAQpC,OAAO;IACjCgC,OAAOI,QAAQhH,KAAM;IACrBwD,QAAQ,KAAK;IACbuC,gBAAgBpC,UAAU,CAAC;GAC7B;EACF;CACF,CAAC;CAGH,OAAA5B,IAAAkF,SAAAhF,gBAAA,GAEW,oEAAAiF,OAAoE/E,MAAMjC,kBAAkB,WAAS,IAAA,IAAGyE,MAAM,IAAI,sBAAsB,MAAIwC,aAAA,mBAAAD,OAGjJ/E,MAAM,uBAAuBA,MAAMpC,QAAQsC,UAAUK,KAAAA,IAAU,IAAA,GAAA,KAAA,IAAAyE,aAAA,cAG/DhF,MAAMpC,SAASoC,MAAM,qBAAkB+E,OAAGxE,KAAAA,GAAS,IAAA,IAAAwE,OAAG/E,MAAM,eAAa,IAAA,GAAA,KAAA,IAAAgF,aAAA,eAE9DjE,OAAO,CAAC,CAAC3B,UAAU,MAAM2B,OAAO,CAAC,CAAC1B,QAAQ,KAAK,SAAM0F,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,IAAAyE,aAAA,gBAChEtC,aAAa,KAAKC,WAAW,IAAI,KAAEoC,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,IAAAyE,aAAA,iBAC9ChF,MAAMnB,WAAW,KAAEkG,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,GAAAwE,OAAAE,gBAE7CnI,MAAI;EAAA,IAACoI,OAAI;GAAA,OAAElF,MAAMpC;EAAK;EAAA,IAAAuH,WAAA;GAAA,OAAAvF,IAAAwF,SAAAtF,gBAAA,IAAAkF,aAAA,MAAAD,OACV7E,SAAO,IAAA,GAAA,KAAA,GAAA8E,aAAA,OAAAD,OAAgC/G,IAAE,IAAA,GAAA,KAAA,GAAA+G,OACjD/E,MAAMpC,KAAK,GAAAmH,OAAAE,gBACXnI,MAAI;IAAA,IAACoI,OAAI;KAAA,OAAElF,MAAMpB;IAAQ;IAAA,IAAAuG,WAAA;KAAA,OAAAvF,IAAAyF,SAAAvF,gBAAA,CAAA;IAAA;GAAA,CAAA,CAAA,CAAA;EAAA;CAAA,CAAA,CAAA,GAAAiF,OAAAE,gBAK7B9I,WAAcmJ,MAAI;EAAA,IACjBlH,SAAM;GAAA,OAAEA,OAAO;EAAC;EAAA,IAChBC,WAAQ;GAAA,OAAE2B,MAAM3B,YAAY;EAAY;EACxCkH,eAAa;EAAA,IACb1G,WAAQ;GAAA,OAAEmB,MAAMnB;EAAQ;EAAA,IACxBC,WAAQ;GAAA,OAAEkB,MAAMlB;EAAQ;EAAA,IACxBF,WAAQ;GAAA,OAAEoB,MAAMpB;EAAQ;EAAA,IACxBG,UAAO;GAAA,OAAEiB,MAAMjB,WAAW,CAACqD,SAAS,CAAC,CAACK;EAAK;EAAA,IAC3CrB,OAAI;GAAA,OAAEoE,WAAA,CAAA,CAAApE,KAAK,CAAC,CAAA,CAAA,KAAI,CAACe,QAAQ;EAAC;EAC1BsD,eAAeC,YAAY;GACzBrE,QAAQqE,QAAQtE,QAAQ,CAACe,QAAQ,CAAC;GAElC,IAAI,CAACuD,QAAQtE,MAAMD,aAAa1B,YAAYkC,OAAO,CAAC;EACtD;EAAC,IACDrD,MAAG;GAAA,OACDkH,WAAA,CAAA,EAAAxF,MAAM1B,OAAOnB,eAAe6C,MAAM1B,GAAG,EAAC,CAAA,CAAA,IAClClC,UAAU4D,MAAM1B,GAAG,IACnBiC,KAAAA;EAAS;EAAA,IAEfhC,MAAG;GAAA,OACDiH,WAAA,CAAA,EAAAxF,MAAMzB,OAAOpB,eAAe6C,MAAMzB,GAAG,EAAC,CAAA,CAAA,IAClCnC,UAAU4D,MAAMzB,GAAG,IACnBgC,KAAAA;EAAS;EAAA,IAEf/B,cAAW;GAAA,OAAEwB,MAAMxB,eAAe;EAAC;EACnCmH,SAAO;EACPC,SAAO;EACPC,YAAU;EAAA,IACVC,eAAY;GAAA,OAAE;IACZC,UAAU/E,UAAUZ,KAAK,CAAC,CAAC4F,WAAWhF,MAAMiF,SAAS;IACrDC,cAAc9F,KAAK,CAAC,CAAC+F;GACvB;EAAC;EAAA,IACDtI,QAAK;GAAA,OAAEqD,UAAU;EAAC;EAClBhD,gBAAgBwH,YAAY;GAC1B,IAAIvD,QAAQ,GAAG;GACfhB,aAAauE,QAAQ7H,KAAK;GAC1B,IAAI6H,QAAQ7H,MAAMuI,SAAS,GAAG;GAC9B,MAAM,CAAChH,OAAOC,OAAOqG,QAAQ7H,MAAM6G,KAAK2B,QAAQA,IAAIC,SAAS,CAAC,CAAC,CAACC,KAAK;GACrE,MAAM1B,UAAUvH,cACd8B,OACAC,KACA,OACAW,MAAM1B,KACN0B,MAAMzB,KACN,OACF;GACA,IAAI,CAACsG,QAAQpC,OAAO;GACpBgC,OAAOI,QAAQhH,KAAM;GACrB+F,gBAAgBpC,UAAU,CAAC;EAC7B;EAAC,IACDgF,cAAW;GAAA,OAAE;IACXC,WAAW;IACXC,QAAQ;IACRC,UAAU9E,YAAY,CAAC,EAAE+E,QACvB,2CACF,IACI,UACA;IACJC,kBAAkB,CAAC,CAAChF,YAAY,CAAC,EAAE+E,QACjC,2CACF;GACF;EAAC;EAAA,IAAAzB,WAAA;GAAA,OAAA,CAAAF,gBAEA9I,WAAc2K,SAAO;IAAA,SAAA;IAAA,IAAA3B,WAAA;KAAA,OAAA,CAAAvF,IAAAmH,SAAAjH,gBAAA,GAAAkF,aAAA,gBAGJtC,aAAa,KAAKC,WAAW,IAAI,KAAEoC,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,IAAAyE,aAAA,iBAC9ChF,MAAMnB,WAAW,KAAEkG,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,GAAAyE,aAAA,eAQ/B5H,SAASgB,OAAO,CAAC,IAAI,eAAe,cAAY,KAAA,IAAA4G,aAAA,MAAAD,OACzD/G,IAAE,IAAA,GAAA,KAAA,IAAAgH,aAAA,QAAAD,OAEA/E,MAAMd,MAAI,IAAA,GAAA,KAAA,IAAA8F,aAAA,cAAAD,OACJ3E,KAAK,CAAC,CAAC4G,YAAU,IAAA,GAAA,KAAA,IAAAhC,aAAA,gBACftC,aAAa,IAAI,SAAMqC,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,IAAAyE,aAAA,iBAClChF,MAAMpB,WAAW,SAAMmG,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,IAAAyE,aAAA,oBAAAD,OAChCtH,YAChBuC,MAAM,qBACNwC,MAAM,KAAKrC,OACb,GAAC,IAAA,GAAA,KAAA,IAAA6E,aAAA,SAAAD,OACMhE,OAAO,CAAC,CAAC3B,OAAK,IAAA,GAAA,KAAA,GAAA4F,aAAA,YACXhF,MAAMpB,UAAQ,IAAA,IAAAoG,aAAA,YAAAD,OACd/E,MAAMlB,UAAQ,IAAA,GAAA,KAAA,GAAAkG,aAAA,YACdhF,MAAMnB,UAAQ,IAAA,GAAAmG,aAAA,eAqBX5H,SAASgB,OAAO,CAAC,IAAI,eAAe,cAAY,KAAA,IAAA4G,aAAA,MAAAD,OACzD9E,OAAK,IAAA,GAAA,KAAA,IAAA+E,aAAA,QAAAD,OAEH/E,MAAMd,MAAI,IAAA,GAAA,KAAA,IAAA8F,aAAA,cAAAD,OACJ3E,KAAK,CAAC,CAAC6G,UAAQ,IAAA,GAAA,KAAA,IAAAjC,aAAA,gBACbrC,WAAW,IAAI,SAAMoC,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,IAAAyE,aAAA,iBAChChF,MAAMpB,WAAW,SAAMmG,OAAGxE,KAAAA,GAAS,IAAA,GAAA,KAAA,IAAAyE,aAAA,oBAAAD,OAChCtH,YAChBuC,MAAM,qBACNwC,MAAM,KAAKrC,OACb,GAAC,IAAA,GAAA,KAAA,IAAA6E,aAAA,SAAAD,OACMhE,OAAO,CAAC,CAAC1B,KAAG,IAAA,GAAA,KAAA,GAAA2F,aAAA,YACThF,MAAMpB,UAAQ,IAAA,IAAAoG,aAAA,YAAAD,OACd/E,MAAMlB,UAAQ,IAAA,GAAA,KAAA,GAAAkG,aAAA,YACdhF,MAAMnB,UAAQ,IAAA,CAAA,GAAAoG,gBAa3B9I,WAAc+K,SAAO;MAAA,SAAA;MAAA,KAAA,gBAAA;OAAA,OAGR,GAAGtE,UAAU,EAAC,GAAIxC,KAAK,CAAC,CAACgH,eAAeC,KAAK;MAAC;MAAA,IAAAlC,WAAA;OAAA,OAAAF,gBAEzDtF,cAAY,CAAA,CAAA;MAAA;KAAA,CAAA,CAAA;IAAA;GAAA,CAAA,GAAAsF,gBAGhBnI,MAAI;IAAA,IAACoI,OAAI;KAAA,OAAErD,YAAY;IAAC;IAAAsD,WACrBmC,UAAKrC,gBACJ3I,QAAM;KAAA,IAACgL,QAAK;MAAA,OAAEA,MAAM;KAAC;KAAA,IAAAnC,WAAA;MAAA,OAAAF,gBACnB9I,WAAcoL,YAAU;OAAA,SAAA;OAAA,IAAApC,WAAA;QAAA,OAAAF,gBACtB9I,WAAcqL,SAAO;SAAA,SAAA;SAAA,KAAA,gBAAA;UAAA,OAWR,GAAG5E,UAAU,EAAC,GAAIxC,KAAK,CAAC,CAACqH,cAAcJ,KAAK;SAAC;SAAA,IAAAlC,WAAA;UAAA,OAAAF,gBAExDlI,cAAY;WAAA,IACXsB,WAAQ;YAAA,OAAE2B,MAAM3B;WAAQ;WAAA,IACxBC,MAAG;YAAA,OAAE0B,MAAM1B;WAAG;WAAA,IACdC,MAAG;YAAA,OAAEyB,MAAMzB;WAAG;WAAA,IACdH,SAAM;YAAA,OAAEA,OAAO;WAAC;WAAA,IAChBK,WAAQ;YAAA,OAAE2B,KAAK;WAAC;WAAA,IAChBvB,WAAQ;YAAA,OAAEmB,MAAMnB;WAAQ;WAAA,IACxBC,WAAQ;YAAA,OAAEkB,MAAMlB;WAAQ;WACxB4I,WAAW;WAAK,IAChBC,YAAS;YAAA,OAAE3H,MAAMtB;WAAS;WAAA,IAC1BC,UAAO;YAAA,OAAEA,QAAQ;WAAC;WAAA,IAClBiJ,eAAY;YAAA,OAAExH,KAAK,CAAC,CAACzB;WAAO;WAC5BkJ,eAAepD,OAAOtF,KAAK;UAAC,CAAA;SAAA;QAAA,CAAA;OAAA;MAAA,CAAA;KAAA;IAAA,CAAA;GAKrC,CAAA,CAAA;EAAA;CAAA,CAAA,CAAA,GAAA4F,OAAAE,gBAGJnI,MAAI;EAAA,IAACoI,OAAI;GAAA,OAAElF,MAAMhB;EAAS;EAAA,IAAAmG,WAAA;GAAA,OAAAvF,IAAAkI,SAAAhI,gBAAA,GAAAkF,aAAA,QAAAD,OAGjB/E,MAAMhB,WAAS,IAAA,GAAA,KAAA,IAAAgG,aAAA,QAAAD,OACf/E,MAAMd,MAAI,IAAA,GAAA,KAAA,IAAA8F,aAAA,SAAAD,OACTlH,MAAM,CAAC,CAACuB,OAAK,IAAA,GAAA,KAAA,GAAA4F,aAAA,YACVhF,MAAMnB,UAAQ,IAAA,CAAA;EAAA;CAAA,CAAA,CAAA,GAAAkG,OAAAE,gBAG3BnI,MAAI;EAAA,IAACoI,OAAI;GAAA,OAAElF,MAAMf;EAAO;EAAA,IAAAkG,WAAA;GAAA,OAAAvF,IAAAkI,SAAAhI,gBAAA,GAAAkF,aAAA,QAAAD,OAGf/E,MAAMf,SAAO,IAAA,GAAA,KAAA,IAAA+F,aAAA,QAAAD,OACb/E,MAAMd,MAAI,IAAA,GAAA,KAAA,IAAA8F,aAAA,SAAAD,OACTlH,MAAM,CAAC,CAACwB,KAAG,IAAA,GAAA,KAAA,GAAA2F,aAAA,YACRhF,MAAMnB,UAAQ,IAAA,CAAA;EAAA;CAAA,CAAA,CAAA,GAAAkG,OAAAE,gBAG3BnI,MAAI;EAAA,IAACoI,OAAI;GAAA,OAAE1C,MAAM;EAAC;EAAA,IAAA2C,WAAA;GAAA,OAAAvF,IAAAmI,SAAAjI,gBAAA,IAAAkF,aAAA,MAAAD,OACP5E,SAAO,IAAA,GAAA,KAAA,GAAA4E,OACdvC,MAAM,CAAC,CAAA;EAAA;CAAA,CAAA,CAAA,CAAA;AAKlB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createSignal as e, onCleanup as t, onMount as n } from "solid-js";
|
|
2
|
+
//#region src/direction.ts
|
|
3
|
+
function r(r, i) {
|
|
4
|
+
let [a, o] = e("ltr");
|
|
5
|
+
return n(() => {
|
|
6
|
+
let e = r()?.parentElement;
|
|
7
|
+
if (!e) return;
|
|
8
|
+
let n = () => o(getComputedStyle(e).direction === "rtl" ? "rtl" : "ltr");
|
|
9
|
+
n();
|
|
10
|
+
let i = new MutationObserver(n);
|
|
11
|
+
i.observe(e.ownerDocument.documentElement, {
|
|
12
|
+
attributes: !0,
|
|
13
|
+
subtree: !0,
|
|
14
|
+
attributeFilter: ["dir"]
|
|
15
|
+
}), t(() => i.disconnect());
|
|
16
|
+
}), () => i() ?? a();
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { r as t };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=direction-CS85IDNU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direction-CS85IDNU.js","names":[],"sources":["../src/direction.ts"],"sourcesContent":["import { createSignal, onCleanup, onMount, type Accessor } from \"solid-js\";\n\nexport type Direction = \"ltr\" | \"rtl\";\n\n/** SSR callers may supply direction; clients also inherit their containing DOM. */\nexport function useDirection(element: () => HTMLElement | undefined, explicit: Accessor<Direction | undefined>) {\n const [ambient, setAmbient] = createSignal<Direction>(\"ltr\");\n onMount(() => {\n const parent = element()?.parentElement;\n if (!parent) return;\n const update = () => setAmbient(getComputedStyle(parent).direction === \"rtl\" ? \"rtl\" : \"ltr\");\n update();\n const observer = new MutationObserver(update);\n observer.observe(parent.ownerDocument.documentElement, { attributes: true, subtree: true, attributeFilter: [\"dir\"] });\n onCleanup(() => observer.disconnect());\n });\n return () => explicit() ?? ambient();\n}\n"],"mappings":";;AAKA,SAAgB,EAAa,GAAwC,GAA2C;CAC9G,IAAM,CAAC,GAAS,KAAc,EAAwB,KAAK;CAU3D,OATA,QAAc;EACZ,IAAM,IAAS,EAAQ,CAAC,EAAE;EAC1B,IAAI,CAAC,GAAQ;EACb,IAAM,UAAe,EAAW,iBAAiB,CAAM,CAAC,CAAC,cAAc,QAAQ,QAAQ,KAAK;EAC5F,EAAO;EACP,IAAM,IAAW,IAAI,iBAAiB,CAAM;EAE5C,AADA,EAAS,QAAQ,EAAO,cAAc,iBAAiB;GAAE,YAAY;GAAM,SAAS;GAAM,iBAAiB,CAAC,KAAK;EAAE,CAAC,GACpH,QAAgB,EAAS,WAAW,CAAC;CACvC,CAAC,SACY,EAAS,KAAK,EAAQ;AACrC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,10 +11,15 @@ export { Tab, TabList, TabPanel, Tabs, type TabPanelProps, type TabProps, type T
|
|
|
11
11
|
export { ToastProvider, useToast, type ToastApi, type ToastInput, type ToastProviderProps, type ToastTone } from "./toast";
|
|
12
12
|
export { Tooltip, type TooltipProps, type TooltipTriggerProps } from "./tooltip";
|
|
13
13
|
export { DatePicker, type DatePickerProps } from "./date-picker";
|
|
14
|
+
export { TimePicker, type TimePickerProps, type TimeMessages } from "./time-picker";
|
|
15
|
+
export * from "./date-range-picker";
|
|
16
|
+
export * from "./month-picker";
|
|
14
17
|
export * from "./input";
|
|
15
18
|
export * from "./combobox";
|
|
16
19
|
export * from "./select-picker";
|
|
17
20
|
export * from "./dropdown-menu";
|
|
18
21
|
export * from "./popover";
|
|
19
22
|
export * from "./calendar";
|
|
23
|
+
export { SegmentedControl, validateSegmentedItems, type SegmentedControlItem, type SegmentedControlProps, } from "./segmented-control";
|
|
24
|
+
export { NumberInput, normalizeNumberText, numberInputMessages, type NumberInputMessages, type NumberInputProps, } from "./number-input";
|
|
20
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/J,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3H,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/J,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3H,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACpF,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
|