@webiny/admin-ui 6.3.0-beta.2 → 6.3.0-beta.4
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/Accordion/components/AccordionItemAction.d.ts +1 -1
- package/Accordion/components/AccordionItemAction.js.map +1 -1
- package/Calendar/Calendar.d.ts +25 -0
- package/Calendar/Calendar.js +45 -0
- package/Calendar/Calendar.js.map +1 -0
- package/Calendar/calendarClassNames.d.ts +2 -0
- package/Calendar/calendarClassNames.js +33 -0
- package/Calendar/calendarClassNames.js.map +1 -0
- package/Calendar/index.d.ts +1 -0
- package/Calendar/index.js +3 -0
- package/Calendar/index.js.map +1 -0
- package/CodeEditor/CodeEditorPrimitive.js +1 -1
- package/CodeEditor/CodeEditorPrimitive.js.map +1 -1
- package/DatePicker/DatePicker.d.ts +24 -0
- package/DatePicker/DatePicker.js +46 -0
- package/DatePicker/DatePicker.js.map +1 -0
- package/DatePicker/DatePicker.mdx +153 -0
- package/DatePicker/DatePicker.stories.d.ts +25 -0
- package/DatePicker/DatePicker.stories.js +365 -0
- package/DatePicker/DatePicker.stories.js.map +1 -0
- package/DatePicker/index.d.ts +2 -0
- package/DatePicker/index.js +4 -0
- package/DatePicker/index.js.map +1 -0
- package/DatePicker/primitives/DateOnlyPicker.d.ts +4 -0
- package/DatePicker/primitives/DateOnlyPicker.js +78 -0
- package/DatePicker/primitives/DateOnlyPicker.js.map +1 -0
- package/DatePicker/primitives/DatePickerPrimitive.d.ts +22 -0
- package/DatePicker/primitives/DatePickerPrimitive.js +46 -0
- package/DatePicker/primitives/DatePickerPrimitive.js.map +1 -0
- package/DatePicker/primitives/DateRangePicker.d.ts +4 -0
- package/DatePicker/primitives/DateRangePicker.js +69 -0
- package/DatePicker/primitives/DateRangePicker.js.map +1 -0
- package/DatePicker/primitives/DateTimePicker.d.ts +7 -0
- package/DatePicker/primitives/DateTimePicker.js +129 -0
- package/DatePicker/primitives/DateTimePicker.js.map +1 -0
- package/DatePicker/primitives/MonthPicker.d.ts +4 -0
- package/DatePicker/primitives/MonthPicker.js +60 -0
- package/DatePicker/primitives/MonthPicker.js.map +1 -0
- package/DatePicker/primitives/MultipleDatesPicker.d.ts +4 -0
- package/DatePicker/primitives/MultipleDatesPicker.js +73 -0
- package/DatePicker/primitives/MultipleDatesPicker.js.map +1 -0
- package/DatePicker/primitives/MultipleMonthsPicker.d.ts +4 -0
- package/DatePicker/primitives/MultipleMonthsPicker.js +85 -0
- package/DatePicker/primitives/MultipleMonthsPicker.js.map +1 -0
- package/DatePicker/primitives/MultipleYearsPicker.d.ts +4 -0
- package/DatePicker/primitives/MultipleYearsPicker.js +75 -0
- package/DatePicker/primitives/MultipleYearsPicker.js.map +1 -0
- package/DatePicker/primitives/TimeOnlyPicker.d.ts +4 -0
- package/DatePicker/primitives/TimeOnlyPicker.js +24 -0
- package/DatePicker/primitives/TimeOnlyPicker.js.map +1 -0
- package/DatePicker/primitives/WeekPicker.d.ts +4 -0
- package/DatePicker/primitives/WeekPicker.js +97 -0
- package/DatePicker/primitives/WeekPicker.js.map +1 -0
- package/DatePicker/primitives/YearPicker.d.ts +4 -0
- package/DatePicker/primitives/YearPicker.js +54 -0
- package/DatePicker/primitives/YearPicker.js.map +1 -0
- package/DatePicker/primitives/components/DatePickerTrigger.d.ts +13 -0
- package/DatePicker/primitives/components/DatePickerTrigger.js +45 -0
- package/DatePicker/primitives/components/DatePickerTrigger.js.map +1 -0
- package/DatePicker/primitives/components/MonthGrid.d.ts +7 -0
- package/DatePicker/primitives/components/MonthGrid.js +23 -0
- package/DatePicker/primitives/components/MonthGrid.js.map +1 -0
- package/DatePicker/primitives/components/SelectedTagsList.d.ts +11 -0
- package/DatePicker/primitives/components/SelectedTagsList.js +23 -0
- package/DatePicker/primitives/components/SelectedTagsList.js.map +1 -0
- package/DatePicker/primitives/components/TimePicker.d.ts +13 -0
- package/DatePicker/primitives/components/TimePicker.js +33 -0
- package/DatePicker/primitives/components/TimePicker.js.map +1 -0
- package/DatePicker/primitives/components/YearGrid.d.ts +8 -0
- package/DatePicker/primitives/components/YearGrid.js +46 -0
- package/DatePicker/primitives/components/YearGrid.js.map +1 -0
- package/DatePicker/primitives/components/YearStepper.d.ts +7 -0
- package/DatePicker/primitives/components/YearStepper.js +36 -0
- package/DatePicker/primitives/components/YearStepper.js.map +1 -0
- package/DatePicker/primitives/components/index.d.ts +6 -0
- package/DatePicker/primitives/components/index.js +8 -0
- package/DatePicker/primitives/components/index.js.map +1 -0
- package/DatePicker/primitives/index.d.ts +1 -0
- package/DatePicker/primitives/index.js +3 -0
- package/DatePicker/primitives/index.js.map +1 -0
- package/DatePicker/utils/constants.d.ts +3 -0
- package/DatePicker/utils/constants.js +5 -0
- package/DatePicker/utils/constants.js.map +1 -0
- package/DatePicker/utils/dateHelpers.d.ts +24 -0
- package/DatePicker/utils/dateHelpers.js +184 -0
- package/DatePicker/utils/dateHelpers.js.map +1 -0
- package/DatePicker/utils/index.d.ts +3 -0
- package/DatePicker/utils/index.js +5 -0
- package/DatePicker/utils/index.js.map +1 -0
- package/DatePicker/utils/types.d.ts +81 -0
- package/DatePicker/utils/types.js +3 -0
- package/DatePicker/utils/types.js.map +1 -0
- package/Dialog/Dialog.d.ts +1 -0
- package/Dialog/Dialog.js +9 -3
- package/Dialog/Dialog.js.map +1 -1
- package/Dialog/components/DialogBody.d.ts +2 -2
- package/Dialog/components/DialogBody.js +10 -3
- package/Dialog/components/DialogBody.js.map +1 -1
- package/Dialog/components/DialogContent.d.ts +3 -0
- package/Dialog/components/DialogContent.js +11 -4
- package/Dialog/components/DialogContent.js.map +1 -1
- package/FilePicker/FilePicker.d.ts +1 -1
- package/FilePicker/FilePicker.js.map +1 -1
- package/FilePicker/FilePicker.stories.js +4 -5
- package/FilePicker/FilePicker.stories.js.map +1 -1
- package/FilePicker/domains/FileItem.js +2 -0
- package/FilePicker/domains/FileItem.js.map +1 -1
- package/List/components/ListItemAction.d.ts +1 -1
- package/List/components/ListItemAction.js.map +1 -1
- package/List/components/ListItemHandle.d.ts +1 -1
- package/List/components/ListItemHandle.js.map +1 -1
- package/MultiFilePicker/MultiFilePicker.stories.js +4 -5
- package/MultiFilePicker/MultiFilePicker.stories.js.map +1 -1
- package/RangeSlider/primitives/RangeSliderPrimitive.js +1 -1
- package/RangeSlider/primitives/RangeSliderPrimitive.js.map +1 -1
- package/Sidebar/Sidebar.js +1 -1
- package/Sidebar/Sidebar.js.map +1 -1
- package/Sidebar/components/SidebarContent.js +1 -1
- package/Sidebar/components/SidebarContent.js.map +1 -1
- package/Sidebar/components/items/SidebarMenuRootButton.js +1 -1
- package/Sidebar/components/items/SidebarMenuRootButton.js.map +1 -1
- package/Sidebar/components/items/SidebarMenuRootItem.js +2 -1
- package/Sidebar/components/items/SidebarMenuRootItem.js.map +1 -1
- package/Sidebar/components/items/SidebarMenuSubButton.js +1 -1
- package/Sidebar/components/items/SidebarMenuSubButton.js.map +1 -1
- package/Tabs/Tabs.js +1 -1
- package/Tabs/Tabs.js.map +1 -1
- package/exports/admin/ui.d.ts +1 -0
- package/exports/admin/ui.js +2 -0
- package/exports/admin/ui.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/package.json +19 -15
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TimePicker } from "./components/TimePicker.js";
|
|
3
|
+
const TimeOnlyPicker = ({
|
|
4
|
+
value,
|
|
5
|
+
onChange,
|
|
6
|
+
disabled,
|
|
7
|
+
size,
|
|
8
|
+
variant,
|
|
9
|
+
invalid,
|
|
10
|
+
className
|
|
11
|
+
}) => {
|
|
12
|
+
return /*#__PURE__*/React.createElement(TimePicker, {
|
|
13
|
+
value: value,
|
|
14
|
+
onChange: onChange,
|
|
15
|
+
disabled: disabled,
|
|
16
|
+
size: size,
|
|
17
|
+
variant: variant,
|
|
18
|
+
invalid: invalid,
|
|
19
|
+
className: className
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
export { TimeOnlyPicker };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=TimeOnlyPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","TimePicker","TimeOnlyPicker","value","onChange","disabled","size","variant","invalid","className","createElement"],"sources":["TimeOnlyPicker.tsx"],"sourcesContent":["import React from \"react\";\nimport type { TimeOnlyPickerProps } from \"../utils/types.js\";\nimport { TimePicker } from \"./components/TimePicker.js\";\n\nconst TimeOnlyPicker = ({\n value,\n onChange,\n disabled,\n size,\n variant,\n invalid,\n className\n}: TimeOnlyPickerProps) => {\n return (\n <TimePicker\n value={value}\n onChange={onChange}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n className={className}\n />\n );\n};\n\nexport { TimeOnlyPicker };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU;AAEnB,MAAMC,cAAc,GAAGA,CAAC;EACpBC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,IAAI;EACJC,OAAO;EACPC,OAAO;EACPC;AACiB,CAAC,KAAK;EACvB,oBACIT,KAAA,CAAAU,aAAA,CAACT,UAAU;IACPE,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBC,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEA;EAAU,CACxB,CAAC;AAEV,CAAC;AAED,SAASP,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { WeekPickerProps } from "../utils/types.js";
|
|
3
|
+
declare const WeekPicker: ({ value, onChange, placeholder, disabled, size, variant, invalid, onOpenChange, className, displayFormat }: WeekPickerProps) => React.JSX.Element;
|
|
4
|
+
export { WeekPicker };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import React, { useMemo, useState } from "react";
|
|
2
|
+
import { eachDayOfInterval, endOfISOWeek, startOfISOWeek } from "date-fns";
|
|
3
|
+
import { Calendar } from "../../Calendar/index.js";
|
|
4
|
+
import { PopoverPrimitive } from "../../Popover/index.js";
|
|
5
|
+
import { formatDateForDisplay, formatWeekValue, parseWeekValue } from "../utils/dateHelpers.js";
|
|
6
|
+
import { DatePickerTrigger } from "./components/DatePickerTrigger.js";
|
|
7
|
+
function weekDatesFromParsed(parsed) {
|
|
8
|
+
const jan4 = new Date(parsed.year, 0, 4);
|
|
9
|
+
const weekStart = startOfISOWeek(new Date(jan4.getTime() + (parsed.week - 1) * 7 * 86400000));
|
|
10
|
+
return eachDayOfInterval({
|
|
11
|
+
start: weekStart,
|
|
12
|
+
end: endOfISOWeek(weekStart)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const WeekPicker = ({
|
|
16
|
+
value,
|
|
17
|
+
onChange,
|
|
18
|
+
placeholder,
|
|
19
|
+
disabled,
|
|
20
|
+
size,
|
|
21
|
+
variant,
|
|
22
|
+
invalid,
|
|
23
|
+
onOpenChange,
|
|
24
|
+
className,
|
|
25
|
+
displayFormat
|
|
26
|
+
}) => {
|
|
27
|
+
const [open, setOpen] = useState(false);
|
|
28
|
+
const [hoveredDay, setHoveredDay] = useState();
|
|
29
|
+
const handleOpenChange = isOpen => {
|
|
30
|
+
setOpen(isOpen);
|
|
31
|
+
if (!isOpen) {
|
|
32
|
+
setHoveredDay(undefined);
|
|
33
|
+
}
|
|
34
|
+
if (onOpenChange) {
|
|
35
|
+
onOpenChange(isOpen);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const displayValue = formatDateForDisplay(value, "week", displayFormat);
|
|
39
|
+
const parsed = value ? parseWeekValue(value) : undefined;
|
|
40
|
+
const selectedWeekDays = useMemo(() => parsed ? weekDatesFromParsed(parsed) : [], [value]);
|
|
41
|
+
const hoveredWeekDays = useMemo(() => {
|
|
42
|
+
if (!hoveredDay) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
const start = startOfISOWeek(hoveredDay);
|
|
46
|
+
return eachDayOfInterval({
|
|
47
|
+
start,
|
|
48
|
+
end: endOfISOWeek(start)
|
|
49
|
+
});
|
|
50
|
+
}, [hoveredDay]);
|
|
51
|
+
const modifiers = useMemo(() => ({
|
|
52
|
+
selectedWeek: selectedWeekDays,
|
|
53
|
+
selectedWeekStart: selectedWeekDays.length > 0 ? [selectedWeekDays[0]] : [],
|
|
54
|
+
selectedWeekEnd: selectedWeekDays.length > 0 ? [selectedWeekDays[6]] : [],
|
|
55
|
+
hoveredWeek: hoveredWeekDays,
|
|
56
|
+
hoveredWeekStart: hoveredWeekDays.length > 0 ? [hoveredWeekDays[0]] : [],
|
|
57
|
+
hoveredWeekEnd: hoveredWeekDays.length > 0 ? [hoveredWeekDays[6]] : []
|
|
58
|
+
}), [selectedWeekDays, hoveredWeekDays]);
|
|
59
|
+
const modifiersClassNames = useMemo(() => ({
|
|
60
|
+
selectedWeek: "bg-primary-subtle [&>button]:bg-transparent [&>button]:text-primary-strong [&>button]:rounded-none [&>button]:hover:bg-primary-subtle/70",
|
|
61
|
+
selectedWeekStart: "[&>button]:bg-primary [&>button]:text-neutral-base [&>button]:rounded-l-sm [&>button]:rounded-r-none [&>button]:hover:bg-primary-strong",
|
|
62
|
+
selectedWeekEnd: "[&>button]:bg-primary [&>button]:text-neutral-base [&>button]:rounded-r-sm [&>button]:rounded-l-none [&>button]:hover:bg-primary-strong",
|
|
63
|
+
hoveredWeek: "bg-neutral-light [&>button]:rounded-none",
|
|
64
|
+
hoveredWeekStart: "[&>button]:rounded-l-sm [&>button]:rounded-r-none",
|
|
65
|
+
hoveredWeekEnd: "[&>button]:rounded-r-sm [&>button]:rounded-l-none"
|
|
66
|
+
}), []);
|
|
67
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
68
|
+
className: className
|
|
69
|
+
}, /*#__PURE__*/React.createElement(PopoverPrimitive, {
|
|
70
|
+
open: open,
|
|
71
|
+
onOpenChange: handleOpenChange
|
|
72
|
+
}, /*#__PURE__*/React.createElement(DatePickerTrigger, {
|
|
73
|
+
displayValue: displayValue,
|
|
74
|
+
placeholder: placeholder ?? "Pick a week",
|
|
75
|
+
disabled: disabled,
|
|
76
|
+
size: size,
|
|
77
|
+
variant: variant,
|
|
78
|
+
invalid: invalid
|
|
79
|
+
}), /*#__PURE__*/React.createElement(PopoverPrimitive.Content, {
|
|
80
|
+
align: "start"
|
|
81
|
+
}, /*#__PURE__*/React.createElement(Calendar, {
|
|
82
|
+
modifiers: modifiers,
|
|
83
|
+
modifiersClassNames: modifiersClassNames,
|
|
84
|
+
onDayClick: date => {
|
|
85
|
+
if (onChange) {
|
|
86
|
+
onChange(formatWeekValue(date));
|
|
87
|
+
}
|
|
88
|
+
handleOpenChange(false);
|
|
89
|
+
},
|
|
90
|
+
onDayMouseEnter: day => setHoveredDay(day),
|
|
91
|
+
onDayMouseLeave: () => setHoveredDay(undefined),
|
|
92
|
+
ISOWeek: true
|
|
93
|
+
}))));
|
|
94
|
+
};
|
|
95
|
+
export { WeekPicker };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=WeekPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMemo","useState","eachDayOfInterval","endOfISOWeek","startOfISOWeek","Calendar","PopoverPrimitive","formatDateForDisplay","formatWeekValue","parseWeekValue","DatePickerTrigger","weekDatesFromParsed","parsed","jan4","Date","year","weekStart","getTime","week","start","end","WeekPicker","value","onChange","placeholder","disabled","size","variant","invalid","onOpenChange","className","displayFormat","open","setOpen","hoveredDay","setHoveredDay","handleOpenChange","isOpen","undefined","displayValue","selectedWeekDays","hoveredWeekDays","modifiers","selectedWeek","selectedWeekStart","length","selectedWeekEnd","hoveredWeek","hoveredWeekStart","hoveredWeekEnd","modifiersClassNames","createElement","Content","align","onDayClick","date","onDayMouseEnter","day","onDayMouseLeave","ISOWeek"],"sources":["WeekPicker.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\nimport { eachDayOfInterval, endOfISOWeek, startOfISOWeek } from \"date-fns\";\nimport { Calendar } from \"~/Calendar/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport type { WeekPickerProps } from \"../utils/types.js\";\nimport { formatDateForDisplay, formatWeekValue, parseWeekValue } from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\n\nfunction weekDatesFromParsed(parsed: { year: number; week: number }): Date[] {\n const jan4 = new Date(parsed.year, 0, 4);\n const weekStart = startOfISOWeek(new Date(jan4.getTime() + (parsed.week - 1) * 7 * 86400000));\n return eachDayOfInterval({ start: weekStart, end: endOfISOWeek(weekStart) });\n}\n\nconst WeekPicker = ({\n value,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n onOpenChange,\n className,\n displayFormat\n}: WeekPickerProps) => {\n const [open, setOpen] = useState(false);\n const [hoveredDay, setHoveredDay] = useState<Date | undefined>();\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (!isOpen) {\n setHoveredDay(undefined);\n }\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const displayValue = formatDateForDisplay(value, \"week\", displayFormat);\n\n const parsed = value ? parseWeekValue(value) : undefined;\n const selectedWeekDays = useMemo(() => (parsed ? weekDatesFromParsed(parsed) : []), [value]);\n\n const hoveredWeekDays = useMemo(() => {\n if (!hoveredDay) {\n return [];\n }\n const start = startOfISOWeek(hoveredDay);\n return eachDayOfInterval({ start, end: endOfISOWeek(start) });\n }, [hoveredDay]);\n\n const modifiers = useMemo(\n () => ({\n selectedWeek: selectedWeekDays,\n selectedWeekStart: selectedWeekDays.length > 0 ? [selectedWeekDays[0]] : [],\n selectedWeekEnd: selectedWeekDays.length > 0 ? [selectedWeekDays[6]] : [],\n hoveredWeek: hoveredWeekDays,\n hoveredWeekStart: hoveredWeekDays.length > 0 ? [hoveredWeekDays[0]] : [],\n hoveredWeekEnd: hoveredWeekDays.length > 0 ? [hoveredWeekDays[6]] : []\n }),\n [selectedWeekDays, hoveredWeekDays]\n );\n\n const modifiersClassNames = useMemo(\n () => ({\n selectedWeek:\n \"bg-primary-subtle [&>button]:bg-transparent [&>button]:text-primary-strong [&>button]:rounded-none [&>button]:hover:bg-primary-subtle/70\",\n selectedWeekStart:\n \"[&>button]:bg-primary [&>button]:text-neutral-base [&>button]:rounded-l-sm [&>button]:rounded-r-none [&>button]:hover:bg-primary-strong\",\n selectedWeekEnd:\n \"[&>button]:bg-primary [&>button]:text-neutral-base [&>button]:rounded-r-sm [&>button]:rounded-l-none [&>button]:hover:bg-primary-strong\",\n hoveredWeek: \"bg-neutral-light [&>button]:rounded-none\",\n hoveredWeekStart: \"[&>button]:rounded-l-sm [&>button]:rounded-r-none\",\n hoveredWeekEnd: \"[&>button]:rounded-r-sm [&>button]:rounded-l-none\"\n }),\n []\n );\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick a week\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <Calendar\n modifiers={modifiers}\n modifiersClassNames={modifiersClassNames}\n onDayClick={date => {\n if (onChange) {\n onChange(formatWeekValue(date));\n }\n handleOpenChange(false);\n }}\n onDayMouseEnter={day => setHoveredDay(day)}\n onDayMouseLeave={() => setHoveredDay(undefined)}\n ISOWeek\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n </div>\n );\n};\n\nexport { WeekPicker };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { YearPickerProps } from "../utils/types.js";
|
|
3
|
+
declare const YearPicker: ({ value, onChange, placeholder, disabled, size, variant, invalid, yearRange, onOpenChange, className }: YearPickerProps) => React.JSX.Element;
|
|
4
|
+
export { YearPicker };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { PopoverPrimitive } from "../../Popover/index.js";
|
|
3
|
+
import { formatDateForDisplay } from "../utils/dateHelpers.js";
|
|
4
|
+
import { DatePickerTrigger } from "./components/DatePickerTrigger.js";
|
|
5
|
+
import { YearGrid } from "./components/YearGrid.js";
|
|
6
|
+
const YearPicker = ({
|
|
7
|
+
value,
|
|
8
|
+
onChange,
|
|
9
|
+
placeholder,
|
|
10
|
+
disabled,
|
|
11
|
+
size,
|
|
12
|
+
variant,
|
|
13
|
+
invalid,
|
|
14
|
+
yearRange,
|
|
15
|
+
onOpenChange,
|
|
16
|
+
className
|
|
17
|
+
}) => {
|
|
18
|
+
const [open, setOpen] = useState(false);
|
|
19
|
+
const handleOpenChange = isOpen => {
|
|
20
|
+
setOpen(isOpen);
|
|
21
|
+
if (onOpenChange) {
|
|
22
|
+
onOpenChange(isOpen);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const displayValue = formatDateForDisplay(value, "year");
|
|
26
|
+
const handleYearSelect = year => {
|
|
27
|
+
if (onChange) {
|
|
28
|
+
onChange(year);
|
|
29
|
+
}
|
|
30
|
+
handleOpenChange(false);
|
|
31
|
+
};
|
|
32
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
33
|
+
className: className
|
|
34
|
+
}, /*#__PURE__*/React.createElement(PopoverPrimitive, {
|
|
35
|
+
open: open,
|
|
36
|
+
onOpenChange: handleOpenChange
|
|
37
|
+
}, /*#__PURE__*/React.createElement(DatePickerTrigger, {
|
|
38
|
+
displayValue: displayValue,
|
|
39
|
+
placeholder: placeholder ?? "Pick a year",
|
|
40
|
+
disabled: disabled,
|
|
41
|
+
size: size,
|
|
42
|
+
variant: variant,
|
|
43
|
+
invalid: invalid
|
|
44
|
+
}), /*#__PURE__*/React.createElement(PopoverPrimitive.Content, {
|
|
45
|
+
align: "start"
|
|
46
|
+
}, /*#__PURE__*/React.createElement(YearGrid, {
|
|
47
|
+
selectedYears: value !== undefined ? [value] : [],
|
|
48
|
+
onSelectYear: handleYearSelect,
|
|
49
|
+
yearRange: yearRange
|
|
50
|
+
}))));
|
|
51
|
+
};
|
|
52
|
+
export { YearPicker };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=YearPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","PopoverPrimitive","formatDateForDisplay","DatePickerTrigger","YearGrid","YearPicker","value","onChange","placeholder","disabled","size","variant","invalid","yearRange","onOpenChange","className","open","setOpen","handleOpenChange","isOpen","displayValue","handleYearSelect","year","createElement","Content","align","selectedYears","undefined","onSelectYear"],"sources":["YearPicker.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport type { YearPickerProps } from \"../utils/types.js\";\nimport { formatDateForDisplay } from \"../utils/dateHelpers.js\";\nimport { DatePickerTrigger } from \"./components/DatePickerTrigger.js\";\nimport { YearGrid } from \"./components/YearGrid.js\";\n\nconst YearPicker = ({\n value,\n onChange,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n yearRange,\n onOpenChange,\n className\n}: YearPickerProps) => {\n const [open, setOpen] = useState(false);\n\n const handleOpenChange = (isOpen: boolean) => {\n setOpen(isOpen);\n if (onOpenChange) {\n onOpenChange(isOpen);\n }\n };\n\n const displayValue = formatDateForDisplay(value, \"year\");\n\n const handleYearSelect = (year: number) => {\n if (onChange) {\n onChange(year);\n }\n handleOpenChange(false);\n };\n\n return (\n <div className={className}>\n <PopoverPrimitive open={open} onOpenChange={handleOpenChange}>\n <DatePickerTrigger\n displayValue={displayValue}\n placeholder={placeholder ?? \"Pick a year\"}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n />\n <PopoverPrimitive.Content align=\"start\">\n <YearGrid\n selectedYears={value !== undefined ? [value] : []}\n onSelectYear={handleYearSelect}\n yearRange={yearRange}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive>\n </div>\n );\n};\n\nexport { YearPicker };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,gBAAgB;AAEzB,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAC1B,SAASC,QAAQ;AAEjB,MAAMC,UAAU,GAAGA,CAAC;EAChBC,KAAK;EACLC,QAAQ;EACRC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,OAAO;EACPC,OAAO;EACPC,SAAS;EACTC,YAAY;EACZC;AACa,CAAC,KAAK;EACnB,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EAEvC,MAAMkB,gBAAgB,GAAIC,MAAe,IAAK;IAC1CF,OAAO,CAACE,MAAM,CAAC;IACf,IAAIL,YAAY,EAAE;MACdA,YAAY,CAACK,MAAM,CAAC;IACxB;EACJ,CAAC;EAED,MAAMC,YAAY,GAAGlB,oBAAoB,CAACI,KAAK,EAAE,MAAM,CAAC;EAExD,MAAMe,gBAAgB,GAAIC,IAAY,IAAK;IACvC,IAAIf,QAAQ,EAAE;MACVA,QAAQ,CAACe,IAAI,CAAC;IAClB;IACAJ,gBAAgB,CAAC,KAAK,CAAC;EAC3B,CAAC;EAED,oBACInB,KAAA,CAAAwB,aAAA;IAAKR,SAAS,EAAEA;EAAU,gBACtBhB,KAAA,CAAAwB,aAAA,CAACtB,gBAAgB;IAACe,IAAI,EAAEA,IAAK;IAACF,YAAY,EAAEI;EAAiB,gBACzDnB,KAAA,CAAAwB,aAAA,CAACpB,iBAAiB;IACdiB,YAAY,EAAEA,YAAa;IAC3BZ,WAAW,EAAEA,WAAW,IAAI,aAAc;IAC1CC,QAAQ,EAAEA,QAAS;IACnBC,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA;EAAQ,CACpB,CAAC,eACFb,KAAA,CAAAwB,aAAA,CAACtB,gBAAgB,CAACuB,OAAO;IAACC,KAAK,EAAC;EAAO,gBACnC1B,KAAA,CAAAwB,aAAA,CAACnB,QAAQ;IACLsB,aAAa,EAAEpB,KAAK,KAAKqB,SAAS,GAAG,CAACrB,KAAK,CAAC,GAAG,EAAG;IAClDsB,YAAY,EAAEP,gBAAiB;IAC/BR,SAAS,EAAEA;EAAU,CACxB,CACqB,CACZ,CACjB,CAAC;AAEd,CAAC;AAED,SAASR,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type InputPrimitiveProps } from "../../../Input/index.js";
|
|
3
|
+
interface DatePickerTriggerProps {
|
|
4
|
+
displayValue?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
size?: InputPrimitiveProps["size"];
|
|
8
|
+
variant?: InputPrimitiveProps["variant"];
|
|
9
|
+
invalid?: InputPrimitiveProps["invalid"];
|
|
10
|
+
iconType?: "calendar" | "time";
|
|
11
|
+
}
|
|
12
|
+
declare const DatePickerTriggerInner: React.ForwardRefExoticComponent<DatePickerTriggerProps & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export { DatePickerTriggerInner as DatePickerTrigger, type DatePickerTriggerProps };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React, { forwardRef } from "react";
|
|
2
|
+
import { ReactComponent as CalendarMonthIcon } from "@webiny/icons/calendar_month.svg";
|
|
3
|
+
import { ReactComponent as ScheduleIcon } from "@webiny/icons/schedule.svg";
|
|
4
|
+
import { Icon } from "../../../Icon/index.js";
|
|
5
|
+
import { inputVariants } from "../../../Input/index.js";
|
|
6
|
+
import { PopoverPrimitive } from "../../../Popover/index.js";
|
|
7
|
+
import { cn } from "../../../utils.js";
|
|
8
|
+
const DatePickerTriggerInner = /*#__PURE__*/forwardRef(({
|
|
9
|
+
displayValue,
|
|
10
|
+
placeholder,
|
|
11
|
+
disabled,
|
|
12
|
+
size,
|
|
13
|
+
variant,
|
|
14
|
+
invalid,
|
|
15
|
+
iconType = "calendar",
|
|
16
|
+
className,
|
|
17
|
+
...props
|
|
18
|
+
}, ref) => {
|
|
19
|
+
const IconComponent = iconType === "time" ? ScheduleIcon : CalendarMonthIcon;
|
|
20
|
+
const iconLabel = iconType === "time" ? "Time" : "Calendar";
|
|
21
|
+
return /*#__PURE__*/React.createElement(PopoverPrimitive.Trigger, {
|
|
22
|
+
asChild: true
|
|
23
|
+
}, /*#__PURE__*/React.createElement("div", Object.assign({
|
|
24
|
+
ref: ref,
|
|
25
|
+
role: "button",
|
|
26
|
+
tabIndex: 0,
|
|
27
|
+
"data-disabled": disabled,
|
|
28
|
+
className: cn(inputVariants({
|
|
29
|
+
size,
|
|
30
|
+
variant,
|
|
31
|
+
invalid
|
|
32
|
+
}), "cursor-pointer justify-between select-none", disabled && "pointer-events-none opacity-50", className)
|
|
33
|
+
}, props), /*#__PURE__*/React.createElement("span", {
|
|
34
|
+
className: cn(!displayValue && "text-neutral-dimmed")
|
|
35
|
+
}, displayValue || placeholder || "Select..."), /*#__PURE__*/React.createElement(Icon, {
|
|
36
|
+
icon: /*#__PURE__*/React.createElement(IconComponent, null),
|
|
37
|
+
label: iconLabel,
|
|
38
|
+
size: "sm",
|
|
39
|
+
color: "inherit"
|
|
40
|
+
})));
|
|
41
|
+
});
|
|
42
|
+
DatePickerTriggerInner.displayName = "DatePickerTrigger";
|
|
43
|
+
export { DatePickerTriggerInner as DatePickerTrigger };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=DatePickerTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","ReactComponent","CalendarMonthIcon","ScheduleIcon","Icon","inputVariants","PopoverPrimitive","cn","DatePickerTriggerInner","displayValue","placeholder","disabled","size","variant","invalid","iconType","className","props","ref","IconComponent","iconLabel","createElement","Trigger","asChild","Object","assign","role","tabIndex","icon","label","color","displayName","DatePickerTrigger"],"sources":["DatePickerTrigger.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { ReactComponent as CalendarMonthIcon } from \"@webiny/icons/calendar_month.svg\";\nimport { ReactComponent as ScheduleIcon } from \"@webiny/icons/schedule.svg\";\nimport { Icon } from \"~/Icon/index.js\";\nimport { inputVariants, type InputPrimitiveProps } from \"~/Input/index.js\";\nimport { PopoverPrimitive } from \"~/Popover/index.js\";\nimport { cn } from \"~/utils.js\";\n\ninterface DatePickerTriggerProps {\n displayValue?: string;\n placeholder?: string;\n disabled?: boolean;\n size?: InputPrimitiveProps[\"size\"];\n variant?: InputPrimitiveProps[\"variant\"];\n invalid?: InputPrimitiveProps[\"invalid\"];\n iconType?: \"calendar\" | \"time\";\n}\n\nconst DatePickerTriggerInner = forwardRef<\n HTMLDivElement,\n DatePickerTriggerProps & React.HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n displayValue,\n placeholder,\n disabled,\n size,\n variant,\n invalid,\n iconType = \"calendar\",\n className,\n ...props\n },\n ref\n ) => {\n const IconComponent = iconType === \"time\" ? ScheduleIcon : CalendarMonthIcon;\n const iconLabel = iconType === \"time\" ? \"Time\" : \"Calendar\";\n\n return (\n <PopoverPrimitive.Trigger asChild>\n <div\n ref={ref}\n role=\"button\"\n tabIndex={0}\n data-disabled={disabled}\n className={cn(\n inputVariants({ size, variant, invalid }),\n \"cursor-pointer justify-between select-none\",\n disabled && \"pointer-events-none opacity-50\",\n className\n )}\n {...props}\n >\n <span className={cn(!displayValue && \"text-neutral-dimmed\")}>\n {displayValue || placeholder || \"Select...\"}\n </span>\n <Icon icon={<IconComponent />} label={iconLabel} size=\"sm\" color=\"inherit\" />\n </div>\n </PopoverPrimitive.Trigger>\n );\n }\n);\n\nDatePickerTriggerInner.displayName = \"DatePickerTrigger\";\n\nexport { DatePickerTriggerInner as DatePickerTrigger, type DatePickerTriggerProps };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,cAAc,IAAIC,iBAAiB,QAAQ,kCAAkC;AACtF,SAASD,cAAc,IAAIE,YAAY,QAAQ,4BAA4B;AAC3E,SAASC,IAAI;AACb,SAASC,aAAa;AACtB,SAASC,gBAAgB;AACzB,SAASC,EAAE;AAYX,MAAMC,sBAAsB,gBAAGR,UAAU,CAIrC,CACI;EACIS,YAAY;EACZC,WAAW;EACXC,QAAQ;EACRC,IAAI;EACJC,OAAO;EACPC,OAAO;EACPC,QAAQ,GAAG,UAAU;EACrBC,SAAS;EACT,GAAGC;AACP,CAAC,EACDC,GAAG,KACF;EACD,MAAMC,aAAa,GAAGJ,QAAQ,KAAK,MAAM,GAAGZ,YAAY,GAAGD,iBAAiB;EAC5E,MAAMkB,SAAS,GAAGL,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAG,UAAU;EAE3D,oBACIhB,KAAA,CAAAsB,aAAA,CAACf,gBAAgB,CAACgB,OAAO;IAACC,OAAO;EAAA,gBAC7BxB,KAAA,CAAAsB,aAAA,QAAAG,MAAA,CAAAC,MAAA;IACIP,GAAG,EAAEA,GAAI;IACTQ,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAE,CAAE;IACZ,iBAAehB,QAAS;IACxBK,SAAS,EAAET,EAAE,CACTF,aAAa,CAAC;MAAEO,IAAI;MAAEC,OAAO;MAAEC;IAAQ,CAAC,CAAC,EACzC,4CAA4C,EAC5CH,QAAQ,IAAI,gCAAgC,EAC5CK,SACJ;EAAE,GACEC,KAAK,gBAETlB,KAAA,CAAAsB,aAAA;IAAML,SAAS,EAAET,EAAE,CAAC,CAACE,YAAY,IAAI,qBAAqB;EAAE,GACvDA,YAAY,IAAIC,WAAW,IAAI,WAC9B,CAAC,eACPX,KAAA,CAAAsB,aAAA,CAACjB,IAAI;IAACwB,IAAI,eAAE7B,KAAA,CAAAsB,aAAA,CAACF,aAAa,MAAE,CAAE;IAACU,KAAK,EAAET,SAAU;IAACR,IAAI,EAAC,IAAI;IAACkB,KAAK,EAAC;EAAS,CAAE,CAC3E,CACiB,CAAC;AAEnC,CACJ,CAAC;AAEDtB,sBAAsB,CAACuB,WAAW,GAAG,mBAAmB;AAExD,SAASvB,sBAAsB,IAAIwB,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface MonthGridProps {
|
|
3
|
+
selectedMonths: number[];
|
|
4
|
+
onSelectMonth: (month: number) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const MonthGrid: ({ selectedMonths, onSelectMonth }: MonthGridProps) => React.JSX.Element;
|
|
7
|
+
export { MonthGrid, type MonthGridProps };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "../../../Button/index.js";
|
|
3
|
+
import { MONTH_NAMES_SHORT } from "../../utils/constants.js";
|
|
4
|
+
const MonthGrid = ({
|
|
5
|
+
selectedMonths,
|
|
6
|
+
onSelectMonth
|
|
7
|
+
}) => {
|
|
8
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
9
|
+
className: "grid grid-cols-3 gap-xs p-sm"
|
|
10
|
+
}, MONTH_NAMES_SHORT.map((name, index) => {
|
|
11
|
+
const isSelected = selectedMonths.includes(index);
|
|
12
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
13
|
+
key: name,
|
|
14
|
+
variant: isSelected ? "primary" : "ghost",
|
|
15
|
+
size: "sm",
|
|
16
|
+
text: name,
|
|
17
|
+
onClick: () => onSelectMonth(index)
|
|
18
|
+
});
|
|
19
|
+
}));
|
|
20
|
+
};
|
|
21
|
+
export { MonthGrid };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=MonthGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Button","MONTH_NAMES_SHORT","MonthGrid","selectedMonths","onSelectMonth","createElement","className","map","name","index","isSelected","includes","key","variant","size","text","onClick"],"sources":["MonthGrid.tsx"],"sourcesContent":["import React from \"react\";\nimport { Button } from \"~/Button/index.js\";\nimport { MONTH_NAMES_SHORT } from \"../../utils/constants.js\";\n\ninterface MonthGridProps {\n selectedMonths: number[];\n onSelectMonth: (month: number) => void;\n}\n\nconst MonthGrid = ({ selectedMonths, onSelectMonth }: MonthGridProps) => {\n return (\n <div className=\"grid grid-cols-3 gap-xs p-sm\">\n {MONTH_NAMES_SHORT.map((name, index) => {\n const isSelected = selectedMonths.includes(index);\n return (\n <Button\n key={name}\n variant={isSelected ? \"primary\" : \"ghost\"}\n size=\"sm\"\n text={name}\n onClick={() => onSelectMonth(index)}\n />\n );\n })}\n </div>\n );\n};\n\nexport { MonthGrid, type MonthGridProps };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM;AACf,SAASC,iBAAiB;AAO1B,MAAMC,SAAS,GAAGA,CAAC;EAAEC,cAAc;EAAEC;AAA8B,CAAC,KAAK;EACrE,oBACIL,KAAA,CAAAM,aAAA;IAAKC,SAAS,EAAC;EAA8B,GACxCL,iBAAiB,CAACM,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;IACpC,MAAMC,UAAU,GAAGP,cAAc,CAACQ,QAAQ,CAACF,KAAK,CAAC;IACjD,oBACIV,KAAA,CAAAM,aAAA,CAACL,MAAM;MACHY,GAAG,EAAEJ,IAAK;MACVK,OAAO,EAAEH,UAAU,GAAG,SAAS,GAAG,OAAQ;MAC1CI,IAAI,EAAC,IAAI;MACTC,IAAI,EAAEP,IAAK;MACXQ,OAAO,EAAEA,CAAA,KAAMZ,aAAa,CAACK,KAAK;IAAE,CACvC,CAAC;EAEV,CAAC,CACA,CAAC;AAEd,CAAC;AAED,SAASP,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface SelectedTagsListProps {
|
|
3
|
+
items: Array<{
|
|
4
|
+
key: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}>;
|
|
7
|
+
onRemove: (key: string) => void;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const SelectedTagsList: ({ items, onRemove, disabled }: SelectedTagsListProps) => React.JSX.Element | null;
|
|
11
|
+
export { SelectedTagsList, type SelectedTagsListProps };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Tag } from "../../../Tag/index.js";
|
|
3
|
+
const SelectedTagsList = ({
|
|
4
|
+
items,
|
|
5
|
+
onRemove,
|
|
6
|
+
disabled
|
|
7
|
+
}) => {
|
|
8
|
+
if (items.length === 0) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
12
|
+
className: "flex flex-wrap gap-xs pt-sm"
|
|
13
|
+
}, items.map(item => /*#__PURE__*/React.createElement(Tag, {
|
|
14
|
+
key: item.key,
|
|
15
|
+
content: item.label,
|
|
16
|
+
variant: "neutral-light",
|
|
17
|
+
disabled: disabled,
|
|
18
|
+
onDismiss: () => onRemove(item.key)
|
|
19
|
+
})));
|
|
20
|
+
};
|
|
21
|
+
export { SelectedTagsList };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=SelectedTagsList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Tag","SelectedTagsList","items","onRemove","disabled","length","createElement","className","map","item","key","content","label","variant","onDismiss"],"sources":["SelectedTagsList.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tag } from \"~/Tag/index.js\";\n\ninterface SelectedTagsListProps {\n items: Array<{ key: string; label: string }>;\n onRemove: (key: string) => void;\n disabled?: boolean;\n}\n\nconst SelectedTagsList = ({ items, onRemove, disabled }: SelectedTagsListProps) => {\n if (items.length === 0) {\n return null;\n }\n\n return (\n <div className=\"flex flex-wrap gap-xs pt-sm\">\n {items.map(item => (\n <Tag\n key={item.key}\n content={item.label}\n variant=\"neutral-light\"\n disabled={disabled}\n onDismiss={() => onRemove(item.key)}\n />\n ))}\n </div>\n );\n};\n\nexport { SelectedTagsList, type SelectedTagsListProps };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG;AAQZ,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAgC,CAAC,KAAK;EAC/E,IAAIF,KAAK,CAACG,MAAM,KAAK,CAAC,EAAE;IACpB,OAAO,IAAI;EACf;EAEA,oBACIN,KAAA,CAAAO,aAAA;IAAKC,SAAS,EAAC;EAA6B,GACvCL,KAAK,CAACM,GAAG,CAACC,IAAI,iBACXV,KAAA,CAAAO,aAAA,CAACN,GAAG;IACAU,GAAG,EAAED,IAAI,CAACC,GAAI;IACdC,OAAO,EAAEF,IAAI,CAACG,KAAM;IACpBC,OAAO,EAAC,eAAe;IACvBT,QAAQ,EAAEA,QAAS;IACnBU,SAAS,EAAEA,CAAA,KAAMX,QAAQ,CAACM,IAAI,CAACC,GAAG;EAAE,CACvC,CACJ,CACA,CAAC;AAEd,CAAC;AAED,SAAST,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type InputPrimitiveProps } from "../../../Input/index.js";
|
|
3
|
+
interface TimePickerProps {
|
|
4
|
+
value?: string;
|
|
5
|
+
onChange?: (value: string | undefined) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
size?: InputPrimitiveProps["size"];
|
|
8
|
+
variant?: InputPrimitiveProps["variant"];
|
|
9
|
+
invalid?: InputPrimitiveProps["invalid"];
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
declare const TimePicker: ({ value, onChange, disabled, size, variant, invalid, className }: TimePickerProps) => React.JSX.Element;
|
|
13
|
+
export { TimePicker, type TimePickerProps };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ReactComponent as ScheduleIcon } from "@webiny/icons/schedule.svg";
|
|
3
|
+
import { Icon } from "../../../Icon/index.js";
|
|
4
|
+
import { InputPrimitive } from "../../../Input/index.js";
|
|
5
|
+
const TimePicker = ({
|
|
6
|
+
value,
|
|
7
|
+
onChange,
|
|
8
|
+
disabled,
|
|
9
|
+
size,
|
|
10
|
+
variant,
|
|
11
|
+
invalid,
|
|
12
|
+
className
|
|
13
|
+
}) => {
|
|
14
|
+
return /*#__PURE__*/React.createElement(InputPrimitive, {
|
|
15
|
+
type: "time",
|
|
16
|
+
value: value ?? "",
|
|
17
|
+
onChange: onChange,
|
|
18
|
+
disabled: disabled,
|
|
19
|
+
size: size,
|
|
20
|
+
variant: variant,
|
|
21
|
+
invalid: invalid,
|
|
22
|
+
className: className,
|
|
23
|
+
startIcon: /*#__PURE__*/React.createElement(Icon, {
|
|
24
|
+
icon: /*#__PURE__*/React.createElement(ScheduleIcon, null),
|
|
25
|
+
label: "Time",
|
|
26
|
+
size: "sm",
|
|
27
|
+
color: "inherit"
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
export { TimePicker };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=TimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ReactComponent","ScheduleIcon","Icon","InputPrimitive","TimePicker","value","onChange","disabled","size","variant","invalid","className","createElement","type","startIcon","icon","label","color"],"sources":["TimePicker.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as ScheduleIcon } from \"@webiny/icons/schedule.svg\";\nimport { Icon } from \"~/Icon/index.js\";\nimport { InputPrimitive, type InputPrimitiveProps } from \"~/Input/index.js\";\n\ninterface TimePickerProps {\n value?: string;\n onChange?: (value: string | undefined) => void;\n disabled?: boolean;\n size?: InputPrimitiveProps[\"size\"];\n variant?: InputPrimitiveProps[\"variant\"];\n invalid?: InputPrimitiveProps[\"invalid\"];\n className?: string;\n}\n\nconst TimePicker = ({\n value,\n onChange,\n disabled,\n size,\n variant,\n invalid,\n className\n}: TimePickerProps) => {\n return (\n <InputPrimitive\n type=\"time\"\n value={value ?? \"\"}\n onChange={onChange}\n disabled={disabled}\n size={size}\n variant={variant}\n invalid={invalid}\n className={className}\n startIcon={<Icon icon={<ScheduleIcon />} label=\"Time\" size=\"sm\" color=\"inherit\" />}\n />\n );\n};\n\nexport { TimePicker, type TimePickerProps };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,YAAY,QAAQ,4BAA4B;AAC3E,SAASC,IAAI;AACb,SAASC,cAAc;AAYvB,MAAMC,UAAU,GAAGA,CAAC;EAChBC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,IAAI;EACJC,OAAO;EACPC,OAAO;EACPC;AACa,CAAC,KAAK;EACnB,oBACIZ,KAAA,CAAAa,aAAA,CAACT,cAAc;IACXU,IAAI,EAAC,MAAM;IACXR,KAAK,EAAEA,KAAK,IAAI,EAAG;IACnBC,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBC,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEA,SAAU;IACrBG,SAAS,eAAEf,KAAA,CAAAa,aAAA,CAACV,IAAI;MAACa,IAAI,eAAEhB,KAAA,CAAAa,aAAA,CAACX,YAAY,MAAE,CAAE;MAACe,KAAK,EAAC,MAAM;MAACR,IAAI,EAAC,IAAI;MAACS,KAAK,EAAC;IAAS,CAAE;EAAE,CACtF,CAAC;AAEV,CAAC;AAED,SAASb,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface YearGridProps {
|
|
3
|
+
selectedYears: number[];
|
|
4
|
+
onSelectYear: (year: number) => void;
|
|
5
|
+
yearRange?: [number, number];
|
|
6
|
+
}
|
|
7
|
+
declare const YearGrid: ({ selectedYears, onSelectYear, yearRange }: YearGridProps) => React.JSX.Element;
|
|
8
|
+
export { YearGrid, type YearGridProps };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React, { useEffect, useRef } from "react";
|
|
2
|
+
import { Button } from "../../../Button/index.js";
|
|
3
|
+
import { ScrollArea } from "../../../ScrollArea/index.js";
|
|
4
|
+
import { defaultYearRange } from "../../utils/dateHelpers.js";
|
|
5
|
+
const YearGrid = ({
|
|
6
|
+
selectedYears,
|
|
7
|
+
onSelectYear,
|
|
8
|
+
yearRange
|
|
9
|
+
}) => {
|
|
10
|
+
const [start, end] = yearRange ?? defaultYearRange();
|
|
11
|
+
const years = [];
|
|
12
|
+
for (let y = start; y <= end; y++) {
|
|
13
|
+
years.push(y);
|
|
14
|
+
}
|
|
15
|
+
const scrollRef = useRef(null);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (!scrollRef.current) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const selectedEl = scrollRef.current.querySelector("[data-selected=true]");
|
|
21
|
+
if (selectedEl) {
|
|
22
|
+
selectedEl.scrollIntoView({
|
|
23
|
+
block: "center"
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}, []);
|
|
27
|
+
return /*#__PURE__*/React.createElement(ScrollArea, {
|
|
28
|
+
className: "max-h-[280px]"
|
|
29
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
30
|
+
ref: scrollRef,
|
|
31
|
+
className: "grid grid-cols-3 gap-xs p-sm"
|
|
32
|
+
}, years.map(year => {
|
|
33
|
+
const isSelected = selectedYears.includes(year);
|
|
34
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
35
|
+
key: year,
|
|
36
|
+
variant: isSelected ? "primary" : "ghost",
|
|
37
|
+
size: "sm",
|
|
38
|
+
text: String(year),
|
|
39
|
+
"data-selected": isSelected,
|
|
40
|
+
onClick: () => onSelectYear(year)
|
|
41
|
+
});
|
|
42
|
+
})));
|
|
43
|
+
};
|
|
44
|
+
export { YearGrid };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=YearGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","Button","ScrollArea","defaultYearRange","YearGrid","selectedYears","onSelectYear","yearRange","start","end","years","y","push","scrollRef","current","selectedEl","querySelector","scrollIntoView","block","createElement","className","ref","map","year","isSelected","includes","key","variant","size","text","String","onClick"],"sources":["YearGrid.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { Button } from \"~/Button/index.js\";\nimport { ScrollArea } from \"~/ScrollArea/index.js\";\nimport { defaultYearRange } from \"../../utils/dateHelpers.js\";\n\ninterface YearGridProps {\n selectedYears: number[];\n onSelectYear: (year: number) => void;\n yearRange?: [number, number];\n}\n\nconst YearGrid = ({ selectedYears, onSelectYear, yearRange }: YearGridProps) => {\n const [start, end] = yearRange ?? defaultYearRange();\n const years: number[] = [];\n for (let y = start; y <= end; y++) {\n years.push(y);\n }\n\n const scrollRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n const selectedEl = scrollRef.current.querySelector(\"[data-selected=true]\");\n if (selectedEl) {\n selectedEl.scrollIntoView({ block: \"center\" });\n }\n }, []);\n\n return (\n <ScrollArea className=\"max-h-[280px]\">\n <div ref={scrollRef} className=\"grid grid-cols-3 gap-xs p-sm\">\n {years.map(year => {\n const isSelected = selectedYears.includes(year);\n return (\n <Button\n key={year}\n variant={isSelected ? \"primary\" : \"ghost\"}\n size=\"sm\"\n text={String(year)}\n data-selected={isSelected}\n onClick={() => onSelectYear(year)}\n />\n );\n })}\n </div>\n </ScrollArea>\n );\n};\n\nexport { YearGrid, type YearGridProps };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,MAAM;AACf,SAASC,UAAU;AACnB,SAASC,gBAAgB;AAQzB,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,aAAa;EAAEC,YAAY;EAAEC;AAAyB,CAAC,KAAK;EAC5E,MAAM,CAACC,KAAK,EAAEC,GAAG,CAAC,GAAGF,SAAS,IAAIJ,gBAAgB,CAAC,CAAC;EACpD,MAAMO,KAAe,GAAG,EAAE;EAC1B,KAAK,IAAIC,CAAC,GAAGH,KAAK,EAAEG,CAAC,IAAIF,GAAG,EAAEE,CAAC,EAAE,EAAE;IAC/BD,KAAK,CAACE,IAAI,CAACD,CAAC,CAAC;EACjB;EAEA,MAAME,SAAS,GAAGb,MAAM,CAAiB,IAAI,CAAC;EAE9CD,SAAS,CAAC,MAAM;IACZ,IAAI,CAACc,SAAS,CAACC,OAAO,EAAE;MACpB;IACJ;IACA,MAAMC,UAAU,GAAGF,SAAS,CAACC,OAAO,CAACE,aAAa,CAAC,sBAAsB,CAAC;IAC1E,IAAID,UAAU,EAAE;MACZA,UAAU,CAACE,cAAc,CAAC;QAAEC,KAAK,EAAE;MAAS,CAAC,CAAC;IAClD;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,oBACIpB,KAAA,CAAAqB,aAAA,CAACjB,UAAU;IAACkB,SAAS,EAAC;EAAe,gBACjCtB,KAAA,CAAAqB,aAAA;IAAKE,GAAG,EAAER,SAAU;IAACO,SAAS,EAAC;EAA8B,GACxDV,KAAK,CAACY,GAAG,CAACC,IAAI,IAAI;IACf,MAAMC,UAAU,GAAGnB,aAAa,CAACoB,QAAQ,CAACF,IAAI,CAAC;IAC/C,oBACIzB,KAAA,CAAAqB,aAAA,CAAClB,MAAM;MACHyB,GAAG,EAAEH,IAAK;MACVI,OAAO,EAAEH,UAAU,GAAG,SAAS,GAAG,OAAQ;MAC1CI,IAAI,EAAC,IAAI;MACTC,IAAI,EAAEC,MAAM,CAACP,IAAI,CAAE;MACnB,iBAAeC,UAAW;MAC1BO,OAAO,EAAEA,CAAA,KAAMzB,YAAY,CAACiB,IAAI;IAAE,CACrC,CAAC;EAEV,CAAC,CACA,CACG,CAAC;AAErB,CAAC;AAED,SAASnB,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ReactComponent as ChevronLeftIcon } from "@webiny/icons/chevron_left.svg";
|
|
3
|
+
import { ReactComponent as ChevronRightIcon } from "@webiny/icons/chevron_right.svg";
|
|
4
|
+
import { IconButton } from "../../../Button/index.js";
|
|
5
|
+
import { Icon } from "../../../Icon/index.js";
|
|
6
|
+
const YearStepper = ({
|
|
7
|
+
year,
|
|
8
|
+
onYearChange
|
|
9
|
+
}) => {
|
|
10
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
className: "flex items-center justify-center gap-sm py-xs"
|
|
12
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
13
|
+
variant: "ghost",
|
|
14
|
+
size: "sm",
|
|
15
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
16
|
+
icon: /*#__PURE__*/React.createElement(ChevronLeftIcon, null),
|
|
17
|
+
label: "Previous year",
|
|
18
|
+
size: "sm"
|
|
19
|
+
}),
|
|
20
|
+
onClick: () => onYearChange(year - 1)
|
|
21
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
22
|
+
className: "text-md font-semibold text-neutral-strong min-w-[4ch] text-center"
|
|
23
|
+
}, year), /*#__PURE__*/React.createElement(IconButton, {
|
|
24
|
+
variant: "ghost",
|
|
25
|
+
size: "sm",
|
|
26
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
27
|
+
icon: /*#__PURE__*/React.createElement(ChevronRightIcon, null),
|
|
28
|
+
label: "Next year",
|
|
29
|
+
size: "sm"
|
|
30
|
+
}),
|
|
31
|
+
onClick: () => onYearChange(year + 1)
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
export { YearStepper };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=YearStepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ReactComponent","ChevronLeftIcon","ChevronRightIcon","IconButton","Icon","YearStepper","year","onYearChange","createElement","className","variant","size","icon","label","onClick"],"sources":["YearStepper.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as ChevronLeftIcon } from \"@webiny/icons/chevron_left.svg\";\nimport { ReactComponent as ChevronRightIcon } from \"@webiny/icons/chevron_right.svg\";\nimport { IconButton } from \"~/Button/index.js\";\nimport { Icon } from \"~/Icon/index.js\";\n\ninterface YearStepperProps {\n year: number;\n onYearChange: (year: number) => void;\n}\n\nconst YearStepper = ({ year, onYearChange }: YearStepperProps) => {\n return (\n <div className=\"flex items-center justify-center gap-sm py-xs\">\n <IconButton\n variant=\"ghost\"\n size=\"sm\"\n icon={<Icon icon={<ChevronLeftIcon />} label=\"Previous year\" size=\"sm\" />}\n onClick={() => onYearChange(year - 1)}\n />\n <span className=\"text-md font-semibold text-neutral-strong min-w-[4ch] text-center\">\n {year}\n </span>\n <IconButton\n variant=\"ghost\"\n size=\"sm\"\n icon={<Icon icon={<ChevronRightIcon />} label=\"Next year\" size=\"sm\" />}\n onClick={() => onYearChange(year + 1)}\n />\n </div>\n );\n};\n\nexport { YearStepper, type YearStepperProps };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,eAAe,QAAQ,gCAAgC;AAClF,SAASD,cAAc,IAAIE,gBAAgB,QAAQ,iCAAiC;AACpF,SAASC,UAAU;AACnB,SAASC,IAAI;AAOb,MAAMC,WAAW,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAA+B,CAAC,KAAK;EAC9D,oBACIR,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAA+C,gBAC1DV,KAAA,CAAAS,aAAA,CAACL,UAAU;IACPO,OAAO,EAAC,OAAO;IACfC,IAAI,EAAC,IAAI;IACTC,IAAI,eAAEb,KAAA,CAAAS,aAAA,CAACJ,IAAI;MAACQ,IAAI,eAAEb,KAAA,CAAAS,aAAA,CAACP,eAAe,MAAE,CAAE;MAACY,KAAK,EAAC,eAAe;MAACF,IAAI,EAAC;IAAI,CAAE,CAAE;IAC1EG,OAAO,EAAEA,CAAA,KAAMP,YAAY,CAACD,IAAI,GAAG,CAAC;EAAE,CACzC,CAAC,eACFP,KAAA,CAAAS,aAAA;IAAMC,SAAS,EAAC;EAAmE,GAC9EH,IACC,CAAC,eACPP,KAAA,CAAAS,aAAA,CAACL,UAAU;IACPO,OAAO,EAAC,OAAO;IACfC,IAAI,EAAC,IAAI;IACTC,IAAI,eAAEb,KAAA,CAAAS,aAAA,CAACJ,IAAI;MAACQ,IAAI,eAAEb,KAAA,CAAAS,aAAA,CAACN,gBAAgB,MAAE,CAAE;MAACW,KAAK,EAAC,WAAW;MAACF,IAAI,EAAC;IAAI,CAAE,CAAE;IACvEG,OAAO,EAAEA,CAAA,KAAMP,YAAY,CAACD,IAAI,GAAG,CAAC;EAAE,CACzC,CACA,CAAC;AAEd,CAAC;AAED,SAASD,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./DatePickerTrigger.js\";\nexport * from \"./TimePicker.js\";\nexport * from \"./YearStepper.js\";\nexport * from \"./MonthGrid.js\";\nexport * from \"./YearGrid.js\";\nexport * from \"./SelectedTagsList.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./DatePickerPrimitive.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./DatePickerPrimitive.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const MONTH_NAMES_SHORT: readonly ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
|
2
|
+
export declare const MONTH_NAMES_FULL: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
3
|
+
export declare const DEFAULT_YEAR_RANGE_SIZE = 12;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const MONTH_NAMES_SHORT = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
|
2
|
+
export const MONTH_NAMES_FULL = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
3
|
+
export const DEFAULT_YEAR_RANGE_SIZE = 12;
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MONTH_NAMES_SHORT","MONTH_NAMES_FULL","DEFAULT_YEAR_RANGE_SIZE"],"sources":["constants.ts"],"sourcesContent":["export const MONTH_NAMES_SHORT = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n] as const;\n\nexport const MONTH_NAMES_FULL = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n] as const;\n\nexport const DEFAULT_YEAR_RANGE_SIZE = 12;\n"],"mappings":"AAAA,OAAO,MAAMA,iBAAiB,GAAG,CAC7B,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,CACC;AAEV,OAAO,MAAMC,gBAAgB,GAAG,CAC5B,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,CACJ;AAEV,OAAO,MAAMC,uBAAuB,GAAG,EAAE","ignoreList":[]}
|