@clicoh/orion-library 1.1.0 → 1.2.0-beta.2
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/assets/css/base.css +24 -1
- package/dist/components/01-atoms/Badge/Badge.d.ts +13 -3
- package/dist/components/01-atoms/Badge/Badge.d.ts.map +1 -1
- package/dist/components/01-atoms/Badge/Badge.jsx +21 -4
- package/dist/components/01-atoms/Badge/Badge.jsx.map +1 -1
- package/dist/components/01-atoms/Button/Button.d.ts +4 -1
- package/dist/components/01-atoms/Button/Button.d.ts.map +1 -1
- package/dist/components/01-atoms/Button/Button.jsx +32 -4
- package/dist/components/01-atoms/Button/Button.jsx.map +1 -1
- package/dist/components/01-atoms/Input/Input.d.ts +5 -1
- package/dist/components/01-atoms/Input/Input.d.ts.map +1 -1
- package/dist/components/01-atoms/Input/Input.jsx +12 -6
- package/dist/components/01-atoms/Input/Input.jsx.map +1 -1
- package/dist/components/01-atoms/Input/utils/border.d.ts +3 -1
- package/dist/components/01-atoms/Input/utils/border.d.ts.map +1 -1
- package/dist/components/01-atoms/Input/utils/border.js +3 -3
- package/dist/components/01-atoms/Input/utils/border.js.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx.map +1 -1
- package/dist/components/01-atoms/ProgressBar/ProgressBar.d.ts +31 -0
- package/dist/components/01-atoms/ProgressBar/ProgressBar.d.ts.map +1 -0
- package/dist/components/01-atoms/ProgressBar/ProgressBar.jsx +36 -0
- package/dist/components/01-atoms/ProgressBar/ProgressBar.jsx.map +1 -0
- package/dist/components/01-atoms/ProgressBar/index.d.ts +2 -0
- package/dist/components/01-atoms/ProgressBar/index.d.ts.map +1 -0
- package/dist/components/01-atoms/ProgressBar/index.js +2 -0
- package/dist/components/01-atoms/ProgressBar/index.js.map +1 -0
- package/dist/components/01-atoms/Radio/Radio.d.ts +19 -2
- package/dist/components/01-atoms/Radio/Radio.d.ts.map +1 -1
- package/dist/components/01-atoms/Radio/Radio.jsx +51 -6
- package/dist/components/01-atoms/Radio/Radio.jsx.map +1 -1
- package/dist/components/01-atoms/Select/Select.d.ts +3 -1
- package/dist/components/01-atoms/Select/Select.d.ts.map +1 -1
- package/dist/components/01-atoms/Select/Select.jsx +8 -4
- package/dist/components/01-atoms/Select/Select.jsx.map +1 -1
- package/dist/components/01-atoms/Skeleton/Skeleton.d.ts +32 -0
- package/dist/components/01-atoms/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/01-atoms/Skeleton/Skeleton.jsx +34 -0
- package/dist/components/01-atoms/Skeleton/Skeleton.jsx.map +1 -0
- package/dist/components/01-atoms/Skeleton/index.d.ts +2 -0
- package/dist/components/01-atoms/Skeleton/index.d.ts.map +1 -0
- package/dist/components/01-atoms/Skeleton/index.js +2 -0
- package/dist/components/01-atoms/Skeleton/index.js.map +1 -0
- package/dist/components/01-atoms/SmallInput/SmallInput.jsx +1 -1
- package/dist/components/01-atoms/SmallInput/SmallInput.jsx.map +1 -1
- package/dist/components/01-atoms/index.d.ts +2 -0
- package/dist/components/01-atoms/index.d.ts.map +1 -1
- package/dist/components/01-atoms/index.js +2 -0
- package/dist/components/01-atoms/index.js.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts +7 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx +6 -2
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx.map +1 -1
- package/dist/components/02-molecules/DatePicker/DatePicker.d.ts +79 -0
- package/dist/components/02-molecules/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/components/02-molecules/DatePicker/DatePicker.jsx +229 -0
- package/dist/components/02-molecules/DatePicker/DatePicker.jsx.map +1 -0
- package/dist/components/02-molecules/DatePicker/index.d.ts +2 -0
- package/dist/components/02-molecules/DatePicker/index.d.ts.map +1 -0
- package/dist/components/02-molecules/DatePicker/index.js +2 -0
- package/dist/components/02-molecules/DatePicker/index.js.map +1 -0
- package/dist/components/02-molecules/InlineMessage/InlineMessage.d.ts +37 -0
- package/dist/components/02-molecules/InlineMessage/InlineMessage.d.ts.map +1 -0
- package/dist/components/02-molecules/InlineMessage/InlineMessage.jsx +59 -0
- package/dist/components/02-molecules/InlineMessage/InlineMessage.jsx.map +1 -0
- package/dist/components/02-molecules/InlineMessage/index.d.ts +2 -0
- package/dist/components/02-molecules/InlineMessage/index.d.ts.map +1 -0
- package/dist/components/02-molecules/InlineMessage/index.js +2 -0
- package/dist/components/02-molecules/InlineMessage/index.js.map +1 -0
- package/dist/components/02-molecules/Modal/Modal.jsx +3 -3
- package/dist/components/02-molecules/Modal/Modal.jsx.map +1 -1
- package/dist/components/02-molecules/index.d.ts +3 -0
- package/dist/components/02-molecules/index.d.ts.map +1 -1
- package/dist/components/02-molecules/index.js +3 -0
- package/dist/components/02-molecules/index.js.map +1 -1
- package/dist/components/03-organisms/MapView/MapView.d.ts +65 -0
- package/dist/components/03-organisms/MapView/MapView.d.ts.map +1 -0
- package/dist/components/03-organisms/MapView/MapView.jsx +199 -0
- package/dist/components/03-organisms/MapView/MapView.jsx.map +1 -0
- package/dist/components/03-organisms/MapView/index.d.ts +2 -0
- package/dist/components/03-organisms/MapView/index.d.ts.map +1 -0
- package/dist/components/03-organisms/MapView/index.js +2 -0
- package/dist/components/03-organisms/MapView/index.js.map +1 -0
- package/dist/components/03-organisms/index.d.ts +1 -0
- package/dist/components/03-organisms/index.d.ts.map +1 -1
- package/dist/components/03-organisms/index.js +1 -0
- package/dist/components/03-organisms/index.js.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx +2 -2
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx.map +1 -1
- package/package.json +3 -1
- package/tailwind.config.ts +10 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { useEffect, useId, useMemo, useRef, useState, } from 'react';
|
|
4
|
+
import { FiCalendar } from 'react-icons/fi';
|
|
5
|
+
import { MdChevronLeft, MdChevronRight } from 'react-icons/md';
|
|
6
|
+
import { Each, Show } from '../../00-base';
|
|
7
|
+
import { RenderErrorOrHelperText } from '../../01-atoms/Input/utils/RenderErrorOrHelperText';
|
|
8
|
+
function parseIso(iso) {
|
|
9
|
+
if (!iso || !/^\d{4}-\d{2}-\d{2}$/.test(iso))
|
|
10
|
+
return null;
|
|
11
|
+
const [y, m, d] = iso.split('-').map(Number);
|
|
12
|
+
const date = new Date(y, m - 1, d);
|
|
13
|
+
if (date.getFullYear() !== y ||
|
|
14
|
+
date.getMonth() !== m - 1 ||
|
|
15
|
+
date.getDate() !== d) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return date;
|
|
19
|
+
}
|
|
20
|
+
function toIso(date) {
|
|
21
|
+
const y = date.getFullYear();
|
|
22
|
+
const m = String(date.getMonth() + 1).padStart(2, '0');
|
|
23
|
+
const d = String(date.getDate()).padStart(2, '0');
|
|
24
|
+
return `${y}-${m}-${d}`;
|
|
25
|
+
}
|
|
26
|
+
function startOfDay(date) {
|
|
27
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
28
|
+
}
|
|
29
|
+
function isBefore(a, b) {
|
|
30
|
+
return startOfDay(a).getTime() < startOfDay(b).getTime();
|
|
31
|
+
}
|
|
32
|
+
function isAfter(a, b) {
|
|
33
|
+
return startOfDay(a).getTime() > startOfDay(b).getTime();
|
|
34
|
+
}
|
|
35
|
+
function isSameDay(a, b) {
|
|
36
|
+
return (a.getFullYear() === b.getFullYear() &&
|
|
37
|
+
a.getMonth() === b.getMonth() &&
|
|
38
|
+
a.getDate() === b.getDate());
|
|
39
|
+
}
|
|
40
|
+
function buildCalendar(year, month, min, max) {
|
|
41
|
+
const first = new Date(year, month, 1);
|
|
42
|
+
const startOffset = first.getDay();
|
|
43
|
+
const start = new Date(year, month, 1 - startOffset);
|
|
44
|
+
const cells = [];
|
|
45
|
+
for (let i = 0; i < 42; i += 1) {
|
|
46
|
+
const date = new Date(start.getFullYear(), start.getMonth(), start.getDate() + i);
|
|
47
|
+
const disabled = (min != null && isBefore(date, min)) ||
|
|
48
|
+
(max != null && isAfter(date, max));
|
|
49
|
+
cells.push({
|
|
50
|
+
date,
|
|
51
|
+
iso: toIso(date),
|
|
52
|
+
inMonth: date.getMonth() === month,
|
|
53
|
+
disabled,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return cells;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* DatePicker renders a pill-shaped date field with a calendar popover.
|
|
60
|
+
* All visible labels are provided by the consumer.
|
|
61
|
+
*
|
|
62
|
+
* @component
|
|
63
|
+
* @example
|
|
64
|
+
* <DatePicker
|
|
65
|
+
* value="2026-09-20"
|
|
66
|
+
* onChange={(iso) => console.log(iso)}
|
|
67
|
+
* monthLabels={['January','February','March','April','May','June','July','August','September','October','November','December']}
|
|
68
|
+
* weekdayLabels={['S','M','T','W','T','F','S']}
|
|
69
|
+
* prevMonthLabel="Previous month"
|
|
70
|
+
* nextMonthLabel="Next month"
|
|
71
|
+
* placeholder="Pick a date"
|
|
72
|
+
* quickActions={[{ label: 'Today', value: '2026-09-14' }]}
|
|
73
|
+
* />
|
|
74
|
+
*
|
|
75
|
+
* @param {DatePickerProps} props - The properties of the DatePicker component.
|
|
76
|
+
* @param {string} [props.value] - Controlled ISO date `YYYY-MM-DD`.
|
|
77
|
+
* @param {(iso: string) => void} [props.onChange] - Fired when a date is selected.
|
|
78
|
+
* @param {string} [props.minDate] - Minimum selectable ISO date.
|
|
79
|
+
* @param {string} [props.maxDate] - Maximum selectable ISO date.
|
|
80
|
+
* @param {readonly string[]} props.monthLabels - Twelve month names.
|
|
81
|
+
* @param {readonly string[]} props.weekdayLabels - Seven weekday short labels starting on Sunday.
|
|
82
|
+
* @param {string} props.prevMonthLabel - Accessible label for previous month.
|
|
83
|
+
* @param {string} props.nextMonthLabel - Accessible label for next month.
|
|
84
|
+
* @param {readonly DatePickerQuickAction[]} [props.quickActions] - Shortcut buttons above the calendar.
|
|
85
|
+
* @param {string} [props.label] - Floating label text.
|
|
86
|
+
* @param {string} [props.helperText] - Helper text below the field.
|
|
87
|
+
* @param {string} [props.error] - Error message below the field.
|
|
88
|
+
* @param {boolean} [props.disabled] - Disables the control.
|
|
89
|
+
* @param {string} [props.placeholder] - Placeholder when no value is set.
|
|
90
|
+
*
|
|
91
|
+
* @returns {ReactNode} The rendered DatePicker component.
|
|
92
|
+
*/
|
|
93
|
+
export function DatePicker({ value, onChange, minDate, maxDate, monthLabels, weekdayLabels, prevMonthLabel, nextMonthLabel, quickActions, label, helperText, error, disabled = false, placeholder, ...restProps }) {
|
|
94
|
+
const generatedId = useId();
|
|
95
|
+
const id = restProps.id ?? generatedId;
|
|
96
|
+
const descriptionId = error || helperText ? `${id}-description` : undefined;
|
|
97
|
+
const panelId = `${id}-panel`;
|
|
98
|
+
const containerRef = useRef(null);
|
|
99
|
+
const [open, setOpen] = useState(false);
|
|
100
|
+
const selected = useMemo(() => parseIso(value), [value]);
|
|
101
|
+
const min = useMemo(() => parseIso(minDate), [minDate]);
|
|
102
|
+
const max = useMemo(() => parseIso(maxDate), [maxDate]);
|
|
103
|
+
const initialView = selected ?? min ?? new Date();
|
|
104
|
+
const [viewYear, setViewYear] = useState(initialView.getFullYear());
|
|
105
|
+
const [viewMonth, setViewMonth] = useState(initialView.getMonth());
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
if (!selected)
|
|
108
|
+
return;
|
|
109
|
+
setViewYear(selected.getFullYear());
|
|
110
|
+
setViewMonth(selected.getMonth());
|
|
111
|
+
}, [selected]);
|
|
112
|
+
useEffect(() => {
|
|
113
|
+
if (!open)
|
|
114
|
+
return;
|
|
115
|
+
const onDown = (event) => {
|
|
116
|
+
if (!containerRef.current?.contains(event.target)) {
|
|
117
|
+
setOpen(false);
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
const onKey = (event) => {
|
|
121
|
+
if (event.key === 'Escape')
|
|
122
|
+
setOpen(false);
|
|
123
|
+
};
|
|
124
|
+
document.addEventListener('mousedown', onDown);
|
|
125
|
+
document.addEventListener('keydown', onKey);
|
|
126
|
+
return () => {
|
|
127
|
+
document.removeEventListener('mousedown', onDown);
|
|
128
|
+
document.removeEventListener('keydown', onKey);
|
|
129
|
+
};
|
|
130
|
+
}, [open]);
|
|
131
|
+
const cells = useMemo(() => buildCalendar(viewYear, viewMonth, min, max), [viewYear, viewMonth, min, max]);
|
|
132
|
+
const displayValue = useMemo(() => {
|
|
133
|
+
if (!selected)
|
|
134
|
+
return placeholder ?? '';
|
|
135
|
+
return `${selected.getDate()} ${monthLabels[selected.getMonth()]} ${selected.getFullYear()}`;
|
|
136
|
+
}, [selected, monthLabels, placeholder]);
|
|
137
|
+
const shiftMonth = (delta) => {
|
|
138
|
+
const next = new Date(viewYear, viewMonth + delta, 1);
|
|
139
|
+
setViewYear(next.getFullYear());
|
|
140
|
+
setViewMonth(next.getMonth());
|
|
141
|
+
};
|
|
142
|
+
const pick = (iso) => {
|
|
143
|
+
onChange?.(iso);
|
|
144
|
+
setOpen(false);
|
|
145
|
+
};
|
|
146
|
+
const hasValue = Boolean(selected);
|
|
147
|
+
const borderClass = error
|
|
148
|
+
? 'border-error'
|
|
149
|
+
: disabled
|
|
150
|
+
? 'border-gray-3'
|
|
151
|
+
: 'border-black dark:border-white';
|
|
152
|
+
return (<div {...restProps} ref={containerRef} className={clsx('relative w-full max-w-full', restProps.className)}>
|
|
153
|
+
<Show>
|
|
154
|
+
<Show.When isTrue={Boolean(label)}>
|
|
155
|
+
<label htmlFor={id} className={clsx('mb-1.5 block text-xs font-semibold tracking-wide uppercase', disabled ? 'text-gray-3' : 'text-black dark:text-white')}>
|
|
156
|
+
{label}
|
|
157
|
+
</label>
|
|
158
|
+
</Show.When>
|
|
159
|
+
</Show>
|
|
160
|
+
|
|
161
|
+
<button type="button" id={id} disabled={disabled} aria-haspopup="dialog" aria-expanded={open} aria-controls={panelId} aria-invalid={Boolean(error)} aria-describedby={descriptionId} onClick={() => {
|
|
162
|
+
if (!disabled)
|
|
163
|
+
setOpen((prev) => !prev);
|
|
164
|
+
}} className={clsx('flex h-9 w-full items-center justify-between gap-2 rounded-full border bg-transparent px-5 text-left text-sm outline-0 transition-colors dark:bg-black', borderClass, disabled && 'text-gray-3 dark:text-gray-2 cursor-not-allowed', !disabled && !hasValue && 'text-gray-2', !disabled && hasValue && 'text-black dark:text-white')}>
|
|
165
|
+
<span className="min-w-0 flex-1 truncate">{displayValue}</span>
|
|
166
|
+
<FiCalendar className={clsx('shrink-0', disabled
|
|
167
|
+
? 'text-gray-3 dark:text-gray-2'
|
|
168
|
+
: 'text-gray-1 dark:text-gray-2')} aria-hidden/>
|
|
169
|
+
</button>
|
|
170
|
+
|
|
171
|
+
<Show>
|
|
172
|
+
<Show.When isTrue={open && !disabled}>
|
|
173
|
+
<div id={panelId} role="dialog" className="border-gray-5 dark:border-gray-1 absolute z-50 mt-2 w-full min-w-72 rounded-lg border bg-white p-3 shadow-md dark:bg-black">
|
|
174
|
+
<Show>
|
|
175
|
+
<Show.When isTrue={Boolean(quickActions?.length)}>
|
|
176
|
+
<div className="mb-3 flex flex-wrap gap-2">
|
|
177
|
+
<Each of={[...(quickActions ?? [])]} render={(action) => (<button type="button" key={action.value} onClick={() => pick(action.value)} className={clsx('rounded-full border px-3 py-1 text-xs font-semibold', value === action.value
|
|
178
|
+
? 'border-lavender bg-lavender-2 text-lavender dark:bg-lavender-dark-1 dark:text-lavender-dark'
|
|
179
|
+
: 'border-gray-5 text-gray-1 dark:border-gray-1 dark:text-gray-2')}>
|
|
180
|
+
{action.label}
|
|
181
|
+
</button>)}/>
|
|
182
|
+
</div>
|
|
183
|
+
</Show.When>
|
|
184
|
+
</Show>
|
|
185
|
+
|
|
186
|
+
<div className="mb-2 flex items-center justify-between gap-2">
|
|
187
|
+
<button type="button" aria-label={prevMonthLabel} onClick={() => shiftMonth(-1)} className="hover:bg-gray-6 dark:hover:bg-gray-dark-1 flex h-8 w-8 items-center justify-center rounded-full text-black dark:text-white">
|
|
188
|
+
<MdChevronLeft className="h-5 w-5" aria-hidden/>
|
|
189
|
+
</button>
|
|
190
|
+
<p className="text-sm font-semibold text-black dark:text-white">
|
|
191
|
+
{monthLabels[viewMonth]} {viewYear}
|
|
192
|
+
</p>
|
|
193
|
+
<button type="button" aria-label={nextMonthLabel} onClick={() => shiftMonth(1)} className="hover:bg-gray-6 dark:hover:bg-gray-dark-1 flex h-8 w-8 items-center justify-center rounded-full text-black dark:text-white">
|
|
194
|
+
<MdChevronRight className="h-5 w-5" aria-hidden/>
|
|
195
|
+
</button>
|
|
196
|
+
</div>
|
|
197
|
+
|
|
198
|
+
<div className="mb-1 grid grid-cols-7 gap-1">
|
|
199
|
+
<Each of={[...weekdayLabels]} render={(day, index) => (<span key={`${index}-${day}`} className="text-gray-2 text-center text-[11px] font-semibold">
|
|
200
|
+
{day}
|
|
201
|
+
</span>)}/>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<div className="grid grid-cols-7 gap-1">
|
|
205
|
+
<Each of={cells} render={(cell) => {
|
|
206
|
+
const isSelected = selected
|
|
207
|
+
? isSameDay(cell.date, selected)
|
|
208
|
+
: false;
|
|
209
|
+
return (<button type="button" key={cell.iso} disabled={cell.disabled} onClick={() => pick(cell.iso)} className={clsx('flex h-8 w-full items-center justify-center rounded-full text-xs font-medium', cell.disabled &&
|
|
210
|
+
'text-gray-3 dark:text-gray-2 cursor-not-allowed', !cell.disabled &&
|
|
211
|
+
!isSelected &&
|
|
212
|
+
cell.inMonth &&
|
|
213
|
+
'hover:bg-lavender-2 dark:hover:bg-lavender-dark-1 text-black dark:text-white', !cell.disabled &&
|
|
214
|
+
!isSelected &&
|
|
215
|
+
!cell.inMonth &&
|
|
216
|
+
'text-gray-3 dark:text-gray-2', isSelected &&
|
|
217
|
+
'bg-lavender dark:bg-lavender-dark font-semibold text-white')}>
|
|
218
|
+
{cell.date.getDate()}
|
|
219
|
+
</button>);
|
|
220
|
+
}}/>
|
|
221
|
+
</div>
|
|
222
|
+
</div>
|
|
223
|
+
</Show.When>
|
|
224
|
+
</Show>
|
|
225
|
+
|
|
226
|
+
<RenderErrorOrHelperText id={descriptionId} error={error} helperText={helperText} disabled={disabled}/>
|
|
227
|
+
</div>);
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=DatePicker.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/DatePicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/02-molecules/DatePicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export type InlineMessageModifier = 'info' | 'warning' | 'error' | 'success';
|
|
3
|
+
export type InlineMessageProps = {
|
|
4
|
+
modifier: InlineMessageModifier;
|
|
5
|
+
/** Icon rendered before the text. Defaults per modifier; pass `null` to render none. */
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
} & HTMLAttributes<HTMLDivElement>;
|
|
9
|
+
/**
|
|
10
|
+
* Short contextual message attached to a piece of content: a validation that
|
|
11
|
+
* blocks a row, a hint under a form section, a confirmation next to a field.
|
|
12
|
+
* It stays in the flow of the page, unlike `showToast`, which floats and
|
|
13
|
+
* disappears.
|
|
14
|
+
*
|
|
15
|
+
* The text and background take the semantic color of the modifier, using the
|
|
16
|
+
* text-grade tokens so the copy keeps AA contrast on the tinted surface.
|
|
17
|
+
*
|
|
18
|
+
* @component
|
|
19
|
+
* @example
|
|
20
|
+
* <InlineMessage modifier="warning">
|
|
21
|
+
* Select a time window to include this item
|
|
22
|
+
* </InlineMessage>
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* // Custom icon, or none at all
|
|
26
|
+
* <InlineMessage modifier="info" icon={<FiClock />}>Closes at 18:00</InlineMessage>
|
|
27
|
+
* <InlineMessage modifier="success" icon={null}>Saved</InlineMessage>
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} props - The properties of the InlineMessage component.
|
|
30
|
+
* @param {'info' | 'warning' | 'error' | 'success'} props.modifier - Semantic tone; drives colors, default icon and ARIA role.
|
|
31
|
+
* @param {ReactNode} [props.icon] - Icon rendered before the text. Defaults per modifier; `null` renders no icon.
|
|
32
|
+
* @param {ReactNode} props.children - The message text.
|
|
33
|
+
*
|
|
34
|
+
* @returns {ReactNode} The rendered InlineMessage component.
|
|
35
|
+
*/
|
|
36
|
+
export declare function InlineMessage({ modifier, icon, children, ...restProps }: InlineMessageProps): ReactNode;
|
|
37
|
+
//# sourceMappingURL=InlineMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/InlineMessage/InlineMessage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASvD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,wFAAwF;IACxF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AA+BnC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,kBAAkB,GAAG,SAAS,CAmBhC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import clsx from 'clsx';
|
|
2
|
+
import { FiAlertCircle, FiAlertTriangle, FiCheckCircle, FiInfo, } from 'react-icons/fi';
|
|
3
|
+
import { Paragraph } from '../../01-atoms/Paragraph';
|
|
4
|
+
const styleMap = {
|
|
5
|
+
info: clsx('bg-info-1 text-info-dark-3 dark:bg-info-dark-1 dark:text-info-dark'),
|
|
6
|
+
warning: clsx('bg-warning-1 text-amber-strong dark:bg-warning-dark-1 dark:text-warning-dark'),
|
|
7
|
+
error: clsx('bg-error-1 text-error-strong dark:bg-error-dark-1 dark:text-error-dark'),
|
|
8
|
+
success: clsx('bg-success-1 text-success-strong dark:bg-success-dark-1 dark:text-success-dark'),
|
|
9
|
+
};
|
|
10
|
+
const defaultIconMap = {
|
|
11
|
+
info: <FiInfo />,
|
|
12
|
+
warning: <FiAlertTriangle />,
|
|
13
|
+
error: <FiAlertCircle />,
|
|
14
|
+
success: <FiCheckCircle />,
|
|
15
|
+
};
|
|
16
|
+
const roleMap = {
|
|
17
|
+
info: 'status',
|
|
18
|
+
warning: 'alert',
|
|
19
|
+
error: 'alert',
|
|
20
|
+
success: 'status',
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Short contextual message attached to a piece of content: a validation that
|
|
24
|
+
* blocks a row, a hint under a form section, a confirmation next to a field.
|
|
25
|
+
* It stays in the flow of the page, unlike `showToast`, which floats and
|
|
26
|
+
* disappears.
|
|
27
|
+
*
|
|
28
|
+
* The text and background take the semantic color of the modifier, using the
|
|
29
|
+
* text-grade tokens so the copy keeps AA contrast on the tinted surface.
|
|
30
|
+
*
|
|
31
|
+
* @component
|
|
32
|
+
* @example
|
|
33
|
+
* <InlineMessage modifier="warning">
|
|
34
|
+
* Select a time window to include this item
|
|
35
|
+
* </InlineMessage>
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* // Custom icon, or none at all
|
|
39
|
+
* <InlineMessage modifier="info" icon={<FiClock />}>Closes at 18:00</InlineMessage>
|
|
40
|
+
* <InlineMessage modifier="success" icon={null}>Saved</InlineMessage>
|
|
41
|
+
*
|
|
42
|
+
* @param {Object} props - The properties of the InlineMessage component.
|
|
43
|
+
* @param {'info' | 'warning' | 'error' | 'success'} props.modifier - Semantic tone; drives colors, default icon and ARIA role.
|
|
44
|
+
* @param {ReactNode} [props.icon] - Icon rendered before the text. Defaults per modifier; `null` renders no icon.
|
|
45
|
+
* @param {ReactNode} props.children - The message text.
|
|
46
|
+
*
|
|
47
|
+
* @returns {ReactNode} The rendered InlineMessage component.
|
|
48
|
+
*/
|
|
49
|
+
export function InlineMessage({ modifier, icon, children, ...restProps }) {
|
|
50
|
+
const resolvedIcon = icon === undefined ? defaultIconMap[modifier] : icon;
|
|
51
|
+
const className = clsx('flex items-center gap-2 rounded-md px-2.5 py-2', styleMap[modifier], restProps.className);
|
|
52
|
+
return (<div role={roleMap[modifier]} {...restProps} className={className}>
|
|
53
|
+
{!!resolvedIcon && (<span aria-hidden="true" className="inline-flex shrink-0 text-xs">
|
|
54
|
+
{resolvedIcon}
|
|
55
|
+
</span>)}
|
|
56
|
+
<Paragraph size="subtitle-2">{children}</Paragraph>
|
|
57
|
+
</div>);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=InlineMessage.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineMessage.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/InlineMessage/InlineMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAWrD,MAAM,QAAQ,GAA0C;IACtD,IAAI,EAAE,IAAI,CACR,oEAAoE,CACrE;IACD,OAAO,EAAE,IAAI,CACX,8EAA8E,CAC/E;IACD,KAAK,EAAE,IAAI,CACT,wEAAwE,CACzE;IACD,OAAO,EAAE,IAAI,CACX,gFAAgF,CACjF;CACF,CAAC;AAEF,MAAM,cAAc,GAA6C;IAC/D,IAAI,EAAE,CAAC,MAAM,CAAC,AAAD,EAAG;IAChB,OAAO,EAAE,CAAC,eAAe,CAAC,AAAD,EAAG;IAC5B,KAAK,EAAE,CAAC,aAAa,CAAC,AAAD,EAAG;IACxB,OAAO,EAAE,CAAC,aAAa,CAAC,AAAD,EAAG;CAC3B,CAAC;AAEF,MAAM,OAAO,GAAsD;IACjE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,GAAG,SAAS,EACO;IACnB,MAAM,YAAY,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1E,MAAM,SAAS,GAAG,IAAI,CACpB,gDAAgD,EAChD,QAAQ,CAAC,QAAQ,CAAC,EAClB,SAAS,CAAC,SAAS,CACpB,CAAC;IAEF,OAAO,CACL,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAChE;MAAA,CAAC,CAAC,CAAC,YAAY,IAAI,CACjB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,8BAA8B,CAC/D;UAAA,CAAC,YAAY,CACf;QAAA,EAAE,IAAI,CAAC,CACR,CACD;MAAA,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CACpD;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/InlineMessage/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/02-molecules/InlineMessage/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -83,8 +83,8 @@ export const Modal = forwardRef(function ({ header, subHeader, children, confirm
|
|
|
83
83
|
}, !isOpen
|
|
84
84
|
? `${enteringClasses} pointer-events-none translate-y-4 sm:translate-y-0 sm:scale-95`
|
|
85
85
|
: `translate-y-0 sm:scale-100`)}>
|
|
86
|
-
<div className="bg-gray-6 dark:bg-black-1 flex justify-between rounded-t-lg px-6 py-4">
|
|
87
|
-
<div>
|
|
86
|
+
<div className="bg-gray-6 dark:bg-black-1 flex items-start justify-between gap-4 rounded-t-lg px-6 py-4">
|
|
87
|
+
<div className="min-w-0">
|
|
88
88
|
<Paragraph id={titleId} size="subtitle-1">
|
|
89
89
|
{header}
|
|
90
90
|
</Paragraph>
|
|
@@ -92,7 +92,7 @@ export const Modal = forwardRef(function ({ header, subHeader, children, confirm
|
|
|
92
92
|
{subHeader}
|
|
93
93
|
</Paragraph>)}
|
|
94
94
|
</div>
|
|
95
|
-
<button type="button" aria-label={closeButtonAriaLabel} className="hover:text-gray-1 focus-visible:ring-lavender dark:hover:text-gray-3 rounded-sm p-1 transition-colors focus-visible:ring-2 focus-visible:outline-none" onClick={() => handlerClose(handleCloseIcon)}>
|
|
95
|
+
<button type="button" aria-label={closeButtonAriaLabel} className="hover:text-gray-1 focus-visible:ring-lavender dark:hover:text-gray-3 -my-1 shrink-0 rounded-sm p-1 transition-colors focus-visible:ring-2 focus-visible:outline-none" onClick={() => handlerClose(handleCloseIcon)}>
|
|
96
96
|
<IoCloseSharp aria-hidden size={20}/>
|
|
97
97
|
</button>
|
|
98
98
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Modal/Modal.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Modal.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Modal/Modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './Table';
|
|
2
2
|
export * from './Filter';
|
|
3
|
+
export * from './Autocomplete';
|
|
3
4
|
export * from './FilterChips';
|
|
4
5
|
export * from './Dropdown';
|
|
5
6
|
export * from './Container';
|
|
@@ -16,4 +17,6 @@ export * from './ButtonGroup';
|
|
|
16
17
|
export * from './Accordion';
|
|
17
18
|
export * from './TimePicker';
|
|
18
19
|
export * from './BellNotifications';
|
|
20
|
+
export * from './DatePicker';
|
|
21
|
+
export * from './InlineMessage';
|
|
19
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/02-molecules/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/02-molecules/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './Table';
|
|
2
2
|
export * from './Filter';
|
|
3
|
+
export * from './Autocomplete';
|
|
3
4
|
export * from './FilterChips';
|
|
4
5
|
export * from './Dropdown';
|
|
5
6
|
export * from './Container';
|
|
@@ -16,4 +17,6 @@ export * from './ButtonGroup';
|
|
|
16
17
|
export * from './Accordion';
|
|
17
18
|
export * from './TimePicker';
|
|
18
19
|
export * from './BellNotifications';
|
|
20
|
+
export * from './DatePicker';
|
|
21
|
+
export * from './InlineMessage';
|
|
19
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/02-molecules/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/02-molecules/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
export type MapMarkerVariant = 'default' | 'numbered' | 'muted';
|
|
3
|
+
export type MapMarker = {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly lat: number;
|
|
6
|
+
readonly lng: number;
|
|
7
|
+
readonly label?: string;
|
|
8
|
+
readonly tooltip?: string;
|
|
9
|
+
readonly variant?: MapMarkerVariant;
|
|
10
|
+
};
|
|
11
|
+
export type MapViewControls = {
|
|
12
|
+
readonly zoomInLabel: string;
|
|
13
|
+
readonly zoomOutLabel: string;
|
|
14
|
+
readonly recenterLabel: string;
|
|
15
|
+
};
|
|
16
|
+
export type MapViewProps = {
|
|
17
|
+
readonly center: {
|
|
18
|
+
lat: number;
|
|
19
|
+
lng: number;
|
|
20
|
+
};
|
|
21
|
+
readonly zoom?: number;
|
|
22
|
+
readonly markers?: MapMarker[];
|
|
23
|
+
readonly fitToMarkers?: boolean;
|
|
24
|
+
readonly tileUrl?: string;
|
|
25
|
+
readonly attribution?: string;
|
|
26
|
+
readonly controls?: MapViewControls;
|
|
27
|
+
readonly onMarkerClick?: (marker: MapMarker) => void;
|
|
28
|
+
readonly emptyMessage?: string;
|
|
29
|
+
readonly tone?: MapViewTone;
|
|
30
|
+
readonly className?: string;
|
|
31
|
+
} & Omit<HTMLAttributes<HTMLDivElement>, 'children'>;
|
|
32
|
+
export type MapViewTone = 'mono' | 'color';
|
|
33
|
+
/**
|
|
34
|
+
* MapView renders an interactive map with customizable markers and controls.
|
|
35
|
+
* Leaflet is loaded dynamically so the library barrel stays safe for SSR.
|
|
36
|
+
*
|
|
37
|
+
* @component
|
|
38
|
+
* @example
|
|
39
|
+
* <MapView
|
|
40
|
+
* center={{ lat: 4.711, lng: -74.072 }}
|
|
41
|
+
* markers={[{ id: '1', lat: 4.71, lng: -74.07, tooltip: 'Stop A' }]}
|
|
42
|
+
* controls={{
|
|
43
|
+
* zoomInLabel: 'Zoom in',
|
|
44
|
+
* zoomOutLabel: 'Zoom out',
|
|
45
|
+
* recenterLabel: 'Recenter',
|
|
46
|
+
* }}
|
|
47
|
+
* />
|
|
48
|
+
*
|
|
49
|
+
* @param {MapViewProps} props - The properties of the MapView component.
|
|
50
|
+
* @param {{ lat: number; lng: number }} props.center - Initial map center.
|
|
51
|
+
* @param {number} [props.zoom=12] - Initial zoom level.
|
|
52
|
+
* @param {MapMarker[]} [props.markers] - Markers to render on the map.
|
|
53
|
+
* @param {boolean} [props.fitToMarkers] - Fit bounds to markers when they change.
|
|
54
|
+
* @param {string} [props.tileUrl] - Tile layer URL template.
|
|
55
|
+
* @param {string} [props.attribution] - Map attribution HTML.
|
|
56
|
+
* @param {MapViewControls} [props.controls] - Labels for zoom and recenter controls.
|
|
57
|
+
* @param {(marker: MapMarker) => void} [props.onMarkerClick] - Fired when a marker is clicked.
|
|
58
|
+
* @param {string} [props.emptyMessage] - Message shown when there are no markers.
|
|
59
|
+
* @param {'mono' | 'color'} [props.tone='mono'] - `mono` renders the tiles in grayscale and inverts them in dark mode, so the map follows the theme and the pins stay the only accent. `color` leaves the tiles as the provider serves them.
|
|
60
|
+
* @param {string} [props.className] - Extra classes for the root element.
|
|
61
|
+
*
|
|
62
|
+
* @returns {ReactNode} The rendered MapView component.
|
|
63
|
+
*/
|
|
64
|
+
export declare function MapView({ center, zoom, markers, fitToMarkers, tileUrl, attribution, controls, onMarkerClick, emptyMessage, tone, className, ...restProps }: MapViewProps): ReactNode;
|
|
65
|
+
//# sourceMappingURL=MapView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapView.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/MapView/MapView.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAwC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,IAAS,EACT,OAAY,EACZ,YAAmB,EACnB,OAAsB,EACtB,WAAiC,EACjC,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,IAAa,EACb,SAAS,EACT,GAAG,SAAS,EACb,EAAE,YAAY,GAAG,SAAS,CA6L1B"}
|