@teja-app/ui 0.0.15 → 0.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/theme/components/DateInput.d.ts.map +1 -1
- package/dist/theme/components/DateTimePicker.d.ts +68 -0
- package/dist/theme/components/DateTimePicker.d.ts.map +1 -0
- package/dist/theme/components/index.d.ts +1 -0
- package/dist/theme/components/index.d.ts.map +1 -1
- package/dist/theme/index.cjs +467 -3
- package/dist/theme/index.cjs.map +1 -1
- package/dist/theme/index.js +467 -3
- package/dist/theme/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../src/theme/components/DateInput.tsx"],"names":[],"mappings":"AAGA,OAAO,4BAA4B,CAAC;AAEpC,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,yEAAyE;IACzE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AASD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAShE;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAoDD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,WAA2B,EAC3B,GAAG,EACH,GAAG,EACH,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAW,EACX,QAAQ,EACR,MAAM,GACP,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../src/theme/components/DateInput.tsx"],"names":[],"mappings":"AAGA,OAAO,4BAA4B,CAAC;AAEpC,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,yEAAyE;IACzE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AASD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAShE;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAoDD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,WAA2B,EAC3B,GAAG,EACH,GAAG,EACH,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAW,EACX,QAAQ,EACR,MAAM,GACP,EAAE,cAAc,2CAuJhB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* DateTimePicker — a generic, presentation-only date + time picker.
|
|
4
|
+
*
|
|
5
|
+
* Two-step so the panel stays short (never clips mid-page / in a drawer):
|
|
6
|
+
* step 'date' → month calendar (past / blackout dates disabled)
|
|
7
|
+
* step 'time' → half-hour slots grouped Morning / Afternoon / Evening,
|
|
8
|
+
* with a "‹ back to date" header.
|
|
9
|
+
*
|
|
10
|
+
* The component is DUMB about availability. It does not know how slots are
|
|
11
|
+
* computed or fetched — the host supplies `loadSlots(dateKey)` (which may hit a
|
|
12
|
+
* backend) and `isDateDisabled(dateKey)`. The component owns the calendar, the
|
|
13
|
+
* two-step flow, calling loadSlots on date-select, and rendering the
|
|
14
|
+
* loading / slots+blocked / empty / error states. This keeps it reusable
|
|
15
|
+
* across the therapist app, the client portal, and the embed.
|
|
16
|
+
*
|
|
17
|
+
* Times are rendered exactly as the host provides them in each Slot's `label`
|
|
18
|
+
* (so the host controls timezone formatting — e.g. office/practice time).
|
|
19
|
+
*/
|
|
20
|
+
export interface DateTimePickerSlot {
|
|
21
|
+
/** Stable id for selection (host-defined, e.g. the ISO start instant). */
|
|
22
|
+
id: string;
|
|
23
|
+
/** Display label, e.g. "10:00 AM". Host formats it (incl. timezone). */
|
|
24
|
+
label: string;
|
|
25
|
+
/** Part of day the slot belongs to. */
|
|
26
|
+
period: 'morning' | 'afternoon' | 'evening';
|
|
27
|
+
/** False → rendered greyed/struck and non-selectable. Default true. */
|
|
28
|
+
available?: boolean;
|
|
29
|
+
/** Optional reason shown on hover when blocked (e.g. "Booked"). */
|
|
30
|
+
reason?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface DateTimePickerValue {
|
|
33
|
+
/** Selected date as `YYYY-MM-DD`, or null. */
|
|
34
|
+
dateKey: string | null;
|
|
35
|
+
/** Selected slot id, or null. */
|
|
36
|
+
slotId: string | null;
|
|
37
|
+
}
|
|
38
|
+
export interface DateTimePickerProps {
|
|
39
|
+
value: DateTimePickerValue;
|
|
40
|
+
onChange: (value: DateTimePickerValue) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Fetch (or compute) the slots for a calendar date. May be async — the
|
|
43
|
+
* component shows a loading state while the promise resolves, and an error
|
|
44
|
+
* state if it rejects. Called whenever the date changes (and on `reloadKey`).
|
|
45
|
+
*/
|
|
46
|
+
loadSlots: (dateKey: string) => Promise<DateTimePickerSlot[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Returns true for dates that cannot be selected (past, out-of-office,
|
|
49
|
+
* blackout). Defaults to disabling dates before `today`.
|
|
50
|
+
*/
|
|
51
|
+
isDateDisabled?: (dateKey: string) => boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Bumping this re-runs loadSlots for the current date (e.g. when the chosen
|
|
54
|
+
* duration changes, which changes which slots fit).
|
|
55
|
+
*/
|
|
56
|
+
reloadKey?: string | number;
|
|
57
|
+
/** Short note under the slots (e.g. "Times shown in practice time · 50m"). */
|
|
58
|
+
slotsHint?: string;
|
|
59
|
+
/** Footnote under the calendar. Pass null to hide. Defaults to the past-off note. */
|
|
60
|
+
calendarNote?: string | null;
|
|
61
|
+
/** Which step to start on. Default 'date'. */
|
|
62
|
+
initialStep?: 'date' | 'time';
|
|
63
|
+
/** `YYYY-MM-DD` the calendar treats as "today" (ring + default past cutoff). Defaults to the real today. */
|
|
64
|
+
todayKey?: string;
|
|
65
|
+
testId?: string;
|
|
66
|
+
}
|
|
67
|
+
export declare function DateTimePicker({ value, onChange, loadSlots, isDateDisabled, reloadKey, slotsHint, calendarNote, initialStep, todayKey, testId, }: DateTimePickerProps): ReactElement;
|
|
68
|
+
//# sourceMappingURL=DateTimePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/theme/components/DateTimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5C,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iCAAiC;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC9D;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,4GAA4G;IAC5G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8VD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAoB,EACpB,QAAQ,EACR,MAA2B,GAC5B,EAAE,mBAAmB,GAAG,YAAY,CAmKpC"}
|
|
@@ -80,4 +80,5 @@ export { Tooltip, type TooltipProps, type TooltipPlacement, } from './Tooltip';
|
|
|
80
80
|
export { DarkScope, type DarkScopeProps } from './DarkScope';
|
|
81
81
|
export { Toast, ToastHost, useToast, type ToastProps, type ToastHostProps, type ToastOptions, type ToastTone, } from './Toast';
|
|
82
82
|
export { Accordion, AccordionItem, type AccordionProps, type AccordionItemProps, } from './Accordion';
|
|
83
|
+
export { DateTimePicker, type DateTimePickerProps, type DateTimePickerValue, type DateTimePickerSlot, } from './DateTimePicker';
|
|
83
84
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theme/components/index.ts"],"names":[],"mappings":"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"}
|
package/dist/theme/index.cjs
CHANGED
|
@@ -12456,7 +12456,7 @@ const MONTHS_SHORT = [
|
|
|
12456
12456
|
"Nov",
|
|
12457
12457
|
"Dec"
|
|
12458
12458
|
];
|
|
12459
|
-
const pad2 = (n2) => String(n2).padStart(2, "0");
|
|
12459
|
+
const pad2$1 = (n2) => String(n2).padStart(2, "0");
|
|
12460
12460
|
function parseDate(value) {
|
|
12461
12461
|
if (!value) return void 0;
|
|
12462
12462
|
const [y3, m2, d2] = value.split("-").map(Number);
|
|
@@ -12468,13 +12468,13 @@ function parseDate(value) {
|
|
|
12468
12468
|
return date;
|
|
12469
12469
|
}
|
|
12470
12470
|
function formatDate(date) {
|
|
12471
|
-
return `${date.getFullYear()}-${pad2(date.getMonth() + 1)}-${pad2(date.getDate())}`;
|
|
12471
|
+
return `${date.getFullYear()}-${pad2$1(date.getMonth() + 1)}-${pad2$1(date.getDate())}`;
|
|
12472
12472
|
}
|
|
12473
12473
|
function isValidDateString(value) {
|
|
12474
12474
|
return /^\d{4}-\d{2}-\d{2}$/.test(value) && parseDate(value) !== void 0;
|
|
12475
12475
|
}
|
|
12476
12476
|
function displayDate(date) {
|
|
12477
|
-
return `${MONTHS_SHORT[date.getMonth()]} ${pad2(date.getDate())}, ${date.getFullYear()}`;
|
|
12477
|
+
return `${MONTHS_SHORT[date.getMonth()]} ${pad2$1(date.getDate())}, ${date.getFullYear()}`;
|
|
12478
12478
|
}
|
|
12479
12479
|
function startOfDay(date) {
|
|
12480
12480
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
@@ -12531,6 +12531,8 @@ function DateInput({
|
|
|
12531
12531
|
const selected = parseDate(value);
|
|
12532
12532
|
const minDate = parseDate(min2 ?? null);
|
|
12533
12533
|
const maxDate = parseDate(max2 ?? null);
|
|
12534
|
+
const captionEnd = maxDate ?? /* @__PURE__ */ new Date();
|
|
12535
|
+
const captionStart = minDate ?? new Date(captionEnd.getFullYear() - 120, 0, 1);
|
|
12534
12536
|
const [month, setMonth2] = React.useState(() => parseDate(value) ?? /* @__PURE__ */ new Date());
|
|
12535
12537
|
const [lastValue, setLastValue] = React.useState(value);
|
|
12536
12538
|
if (value !== lastValue) {
|
|
@@ -12632,6 +12634,9 @@ function DateInput({
|
|
|
12632
12634
|
onSelect: handleSelect,
|
|
12633
12635
|
disabled: disabledMatcher,
|
|
12634
12636
|
showOutsideDays: true,
|
|
12637
|
+
captionLayout: "dropdown",
|
|
12638
|
+
startMonth: captionStart,
|
|
12639
|
+
endMonth: captionEnd,
|
|
12635
12640
|
style: RDP_STYLE,
|
|
12636
12641
|
components: {
|
|
12637
12642
|
Chevron: ({ orientation }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -19140,6 +19145,464 @@ const AccordionItem = React.forwardRef(
|
|
|
19140
19145
|
] });
|
|
19141
19146
|
}
|
|
19142
19147
|
);
|
|
19148
|
+
const DOW = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
|
|
19149
|
+
const MONTHS = [
|
|
19150
|
+
"January",
|
|
19151
|
+
"February",
|
|
19152
|
+
"March",
|
|
19153
|
+
"April",
|
|
19154
|
+
"May",
|
|
19155
|
+
"June",
|
|
19156
|
+
"July",
|
|
19157
|
+
"August",
|
|
19158
|
+
"September",
|
|
19159
|
+
"October",
|
|
19160
|
+
"November",
|
|
19161
|
+
"December"
|
|
19162
|
+
];
|
|
19163
|
+
const pad2 = (n2) => String(n2).padStart(2, "0");
|
|
19164
|
+
function dateKeyOf(year, month0, day) {
|
|
19165
|
+
return `${year}-${pad2(month0 + 1)}-${pad2(day)}`;
|
|
19166
|
+
}
|
|
19167
|
+
function realTodayKey() {
|
|
19168
|
+
const d2 = /* @__PURE__ */ new Date();
|
|
19169
|
+
return dateKeyOf(d2.getFullYear(), d2.getMonth(), d2.getDate());
|
|
19170
|
+
}
|
|
19171
|
+
function prettyDate(dateKey) {
|
|
19172
|
+
if (!dateKey) return null;
|
|
19173
|
+
const [y3, m2, d2] = dateKey.split("-").map(Number);
|
|
19174
|
+
if (!y3 || !m2 || !d2) return null;
|
|
19175
|
+
const dow = DOW[(new Date(y3, m2 - 1, d2).getDay() + 6) % 7];
|
|
19176
|
+
return `${dow}, ${MONTHS[m2 - 1]} ${d2}`;
|
|
19177
|
+
}
|
|
19178
|
+
function monthGrid(year, month0, todayKey) {
|
|
19179
|
+
const first = new Date(year, month0, 1);
|
|
19180
|
+
const lead = (first.getDay() + 6) % 7;
|
|
19181
|
+
const daysInMonth = new Date(year, month0 + 1, 0).getDate();
|
|
19182
|
+
const cells = [];
|
|
19183
|
+
for (let i2 = 0; i2 < lead; i2++) cells.push(null);
|
|
19184
|
+
for (let d2 = 1; d2 <= daysInMonth; d2++) {
|
|
19185
|
+
const key = dateKeyOf(year, month0, d2);
|
|
19186
|
+
cells.push({ day: d2, key, past: key < todayKey, today: key === todayKey });
|
|
19187
|
+
}
|
|
19188
|
+
while (cells.length % 7 !== 0) cells.push(null);
|
|
19189
|
+
return cells;
|
|
19190
|
+
}
|
|
19191
|
+
const PERIODS = [
|
|
19192
|
+
{ id: "morning", label: "Morning", sub: "Before noon" },
|
|
19193
|
+
{ id: "afternoon", label: "Afternoon", sub: "12:00 – 5:00 PM" },
|
|
19194
|
+
{ id: "evening", label: "Evening", sub: "After 5:00 PM" }
|
|
19195
|
+
];
|
|
19196
|
+
function NavButton({
|
|
19197
|
+
icon,
|
|
19198
|
+
disabled,
|
|
19199
|
+
onClick,
|
|
19200
|
+
ariaLabel
|
|
19201
|
+
}) {
|
|
19202
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19203
|
+
"button",
|
|
19204
|
+
{
|
|
19205
|
+
"aria-label": ariaLabel,
|
|
19206
|
+
disabled,
|
|
19207
|
+
type: "button",
|
|
19208
|
+
onClick,
|
|
19209
|
+
style: {
|
|
19210
|
+
width: 26,
|
|
19211
|
+
height: 26,
|
|
19212
|
+
borderRadius: "var(--r-sm)",
|
|
19213
|
+
border: "1px solid var(--border)",
|
|
19214
|
+
background: "var(--surface-0)",
|
|
19215
|
+
color: "var(--ink-2)",
|
|
19216
|
+
boxShadow: "var(--shadow-xs)",
|
|
19217
|
+
display: "inline-flex",
|
|
19218
|
+
alignItems: "center",
|
|
19219
|
+
justifyContent: "center",
|
|
19220
|
+
cursor: disabled ? "not-allowed" : "pointer",
|
|
19221
|
+
opacity: disabled ? 0.4 : 1,
|
|
19222
|
+
flexShrink: 0
|
|
19223
|
+
},
|
|
19224
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { color: "var(--ink-2)", name: icon, size: 13 })
|
|
19225
|
+
}
|
|
19226
|
+
);
|
|
19227
|
+
}
|
|
19228
|
+
function CalendarPane({
|
|
19229
|
+
value,
|
|
19230
|
+
todayKey,
|
|
19231
|
+
isDateDisabled,
|
|
19232
|
+
onPick,
|
|
19233
|
+
note
|
|
19234
|
+
}) {
|
|
19235
|
+
const initial = (value ?? todayKey).split("-").map(Number);
|
|
19236
|
+
const [view, setView] = React.useState({
|
|
19237
|
+
year: initial[0],
|
|
19238
|
+
month0: (initial[1] ?? 1) - 1
|
|
19239
|
+
});
|
|
19240
|
+
const grid = React.useMemo(
|
|
19241
|
+
() => monthGrid(view.year, view.month0, todayKey),
|
|
19242
|
+
[view.year, view.month0, todayKey]
|
|
19243
|
+
);
|
|
19244
|
+
const [ty, tm] = todayKey.split("-").map(Number);
|
|
19245
|
+
const canGoPrev = view.year > (ty ?? 0) || view.month0 > (tm ?? 1) - 1;
|
|
19246
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { width: "100%" }, children: [
|
|
19247
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19248
|
+
"div",
|
|
19249
|
+
{
|
|
19250
|
+
style: {
|
|
19251
|
+
display: "flex",
|
|
19252
|
+
alignItems: "center",
|
|
19253
|
+
justifyContent: "space-between",
|
|
19254
|
+
marginBottom: 12,
|
|
19255
|
+
padding: "2px 2px 0"
|
|
19256
|
+
},
|
|
19257
|
+
children: [
|
|
19258
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19259
|
+
NavButton,
|
|
19260
|
+
{
|
|
19261
|
+
ariaLabel: "Previous month",
|
|
19262
|
+
disabled: !canGoPrev,
|
|
19263
|
+
icon: "chevronLeft",
|
|
19264
|
+
onClick: () => {
|
|
19265
|
+
if (!canGoPrev) return;
|
|
19266
|
+
setView((v2) => v2.month0 === 0 ? { year: v2.year - 1, month0: 11 } : { ...v2, month0: v2.month0 - 1 });
|
|
19267
|
+
}
|
|
19268
|
+
}
|
|
19269
|
+
),
|
|
19270
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: 13, fontWeight: 600, color: "var(--ink-1)" }, children: [
|
|
19271
|
+
MONTHS[view.month0],
|
|
19272
|
+
" ",
|
|
19273
|
+
view.year
|
|
19274
|
+
] }),
|
|
19275
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19276
|
+
NavButton,
|
|
19277
|
+
{
|
|
19278
|
+
ariaLabel: "Next month",
|
|
19279
|
+
icon: "chevronRight",
|
|
19280
|
+
onClick: () => {
|
|
19281
|
+
setView((v2) => v2.month0 === 11 ? { year: v2.year + 1, month0: 0 } : { ...v2, month0: v2.month0 + 1 });
|
|
19282
|
+
}
|
|
19283
|
+
}
|
|
19284
|
+
)
|
|
19285
|
+
]
|
|
19286
|
+
}
|
|
19287
|
+
),
|
|
19288
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2, marginBottom: 4 }, children: DOW.map((d2, i2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19289
|
+
"span",
|
|
19290
|
+
{
|
|
19291
|
+
style: {
|
|
19292
|
+
textAlign: "center",
|
|
19293
|
+
fontSize: 10,
|
|
19294
|
+
fontWeight: 600,
|
|
19295
|
+
color: "var(--ink-3)",
|
|
19296
|
+
textTransform: "uppercase",
|
|
19297
|
+
letterSpacing: "0.04em"
|
|
19298
|
+
},
|
|
19299
|
+
children: d2[0]
|
|
19300
|
+
},
|
|
19301
|
+
i2
|
|
19302
|
+
)) }),
|
|
19303
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2, justifyItems: "center" }, children: grid.map((c2, i2) => {
|
|
19304
|
+
if (!c2) return /* @__PURE__ */ jsxRuntime.jsx("span", { style: { width: 34, height: 34 } }, `e${i2}`);
|
|
19305
|
+
const disabled = c2.past || isDateDisabled(c2.key);
|
|
19306
|
+
const selected = c2.key === value;
|
|
19307
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19308
|
+
"button",
|
|
19309
|
+
{
|
|
19310
|
+
"data-testid": `dtp-day-${c2.key}`,
|
|
19311
|
+
disabled,
|
|
19312
|
+
type: "button",
|
|
19313
|
+
onClick: () => onPick(c2.key),
|
|
19314
|
+
style: {
|
|
19315
|
+
width: 34,
|
|
19316
|
+
height: 34,
|
|
19317
|
+
borderRadius: 999,
|
|
19318
|
+
border: 0,
|
|
19319
|
+
fontSize: 12.5,
|
|
19320
|
+
fontWeight: selected ? 700 : c2.today ? 600 : 500,
|
|
19321
|
+
cursor: disabled ? "not-allowed" : "pointer",
|
|
19322
|
+
background: selected ? "var(--primary)" : "transparent",
|
|
19323
|
+
color: disabled ? "var(--ink-4)" : selected ? "white" : c2.today ? "var(--primary)" : "var(--ink-1)",
|
|
19324
|
+
opacity: disabled ? 0.45 : 1,
|
|
19325
|
+
textDecoration: disabled ? "line-through" : "none",
|
|
19326
|
+
outline: c2.today && !selected ? "1px solid var(--primary-soft)" : "none",
|
|
19327
|
+
display: "inline-flex",
|
|
19328
|
+
alignItems: "center",
|
|
19329
|
+
justifyContent: "center"
|
|
19330
|
+
},
|
|
19331
|
+
children: c2.day
|
|
19332
|
+
},
|
|
19333
|
+
c2.key
|
|
19334
|
+
);
|
|
19335
|
+
}) }),
|
|
19336
|
+
note ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19337
|
+
"div",
|
|
19338
|
+
{
|
|
19339
|
+
style: {
|
|
19340
|
+
marginTop: 10,
|
|
19341
|
+
fontSize: 10.5,
|
|
19342
|
+
color: "var(--ink-3)",
|
|
19343
|
+
display: "flex",
|
|
19344
|
+
alignItems: "center",
|
|
19345
|
+
gap: 5
|
|
19346
|
+
},
|
|
19347
|
+
children: [
|
|
19348
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { color: "var(--ink-4)", name: "calendar", size: 11 }),
|
|
19349
|
+
note
|
|
19350
|
+
]
|
|
19351
|
+
}
|
|
19352
|
+
) : null
|
|
19353
|
+
] });
|
|
19354
|
+
}
|
|
19355
|
+
function SlotsPane({
|
|
19356
|
+
state,
|
|
19357
|
+
value,
|
|
19358
|
+
hint,
|
|
19359
|
+
onPick,
|
|
19360
|
+
onRetry
|
|
19361
|
+
}) {
|
|
19362
|
+
if (state.status === "loading") {
|
|
19363
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19364
|
+
"div",
|
|
19365
|
+
{
|
|
19366
|
+
"data-testid": "dtp-slots-loading",
|
|
19367
|
+
style: { minHeight: 120, display: "flex", alignItems: "center", justifyContent: "center", color: "var(--ink-3)", fontSize: 12.5 },
|
|
19368
|
+
children: "Loading times…"
|
|
19369
|
+
}
|
|
19370
|
+
);
|
|
19371
|
+
}
|
|
19372
|
+
if (state.status === "error") {
|
|
19373
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19374
|
+
"div",
|
|
19375
|
+
{
|
|
19376
|
+
"data-testid": "dtp-slots-error",
|
|
19377
|
+
style: { minHeight: 120, display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", gap: 8, color: "var(--ink-3)", textAlign: "center", padding: 16 },
|
|
19378
|
+
children: [
|
|
19379
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { color: "var(--danger)", name: "alert-circle", size: 18 }),
|
|
19380
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12.5 }, children: "Couldn't load times." }),
|
|
19381
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button$1, { size: "sm", variant: "secondary", onClick: onRetry, children: "Try again" })
|
|
19382
|
+
]
|
|
19383
|
+
}
|
|
19384
|
+
);
|
|
19385
|
+
}
|
|
19386
|
+
const { slots } = state;
|
|
19387
|
+
const anyAvailable = slots.some((s2) => s2.available !== false);
|
|
19388
|
+
if (slots.length === 0 || !anyAvailable) {
|
|
19389
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19390
|
+
"div",
|
|
19391
|
+
{
|
|
19392
|
+
"data-testid": "dtp-slots-empty",
|
|
19393
|
+
style: { minHeight: 120, display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", gap: 8, color: "var(--ink-3)", textAlign: "center", padding: 16 },
|
|
19394
|
+
children: [
|
|
19395
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { color: "var(--ink-4)", name: "clock", size: 18 }),
|
|
19396
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12.5, fontWeight: 500 }, children: "No times available" }),
|
|
19397
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 11, maxWidth: 200 }, children: "Try another day, or adjust the session length." })
|
|
19398
|
+
]
|
|
19399
|
+
}
|
|
19400
|
+
);
|
|
19401
|
+
}
|
|
19402
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "dtp-slots", style: { display: "flex", flexDirection: "column", gap: 14 }, children: [
|
|
19403
|
+
hint ? /* @__PURE__ */ jsxRuntime.jsx("div", { style: { fontSize: 12, color: "var(--ink-2)" }, children: hint }) : null,
|
|
19404
|
+
PERIODS.map((p2) => {
|
|
19405
|
+
const inPeriod = slots.filter((s2) => s2.period === p2.id);
|
|
19406
|
+
if (inPeriod.length === 0) return null;
|
|
19407
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
19408
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "baseline", gap: 8, marginBottom: 8 }, children: [
|
|
19409
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11.5, fontWeight: 700, color: "var(--ink-1)" }, children: p2.label }),
|
|
19410
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 10.5, color: "var(--ink-3)" }, children: p2.sub })
|
|
19411
|
+
] }),
|
|
19412
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(84px, 1fr))", gap: 8 }, children: inPeriod.map((s2) => {
|
|
19413
|
+
const blocked = s2.available === false;
|
|
19414
|
+
const on = s2.id === value;
|
|
19415
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19416
|
+
"button",
|
|
19417
|
+
{
|
|
19418
|
+
"data-testid": `dtp-slot-${s2.id}`,
|
|
19419
|
+
disabled: blocked,
|
|
19420
|
+
title: blocked ? s2.reason : void 0,
|
|
19421
|
+
type: "button",
|
|
19422
|
+
onClick: () => onPick(s2.id),
|
|
19423
|
+
style: {
|
|
19424
|
+
height: 38,
|
|
19425
|
+
borderRadius: "var(--r-md)",
|
|
19426
|
+
border: `1px solid ${on ? "var(--primary)" : "var(--border-strong)"}`,
|
|
19427
|
+
background: on ? "var(--primary)" : "var(--surface-0)",
|
|
19428
|
+
color: blocked ? "var(--ink-4)" : on ? "white" : "var(--ink-1)",
|
|
19429
|
+
fontSize: 12.5,
|
|
19430
|
+
fontWeight: on ? 600 : 500,
|
|
19431
|
+
cursor: blocked ? "not-allowed" : "pointer",
|
|
19432
|
+
opacity: blocked ? 0.5 : 1,
|
|
19433
|
+
textDecoration: blocked ? "line-through" : "none"
|
|
19434
|
+
},
|
|
19435
|
+
children: s2.label
|
|
19436
|
+
},
|
|
19437
|
+
s2.id
|
|
19438
|
+
);
|
|
19439
|
+
}) })
|
|
19440
|
+
] }, p2.id);
|
|
19441
|
+
})
|
|
19442
|
+
] });
|
|
19443
|
+
}
|
|
19444
|
+
function DateTimePicker({
|
|
19445
|
+
value,
|
|
19446
|
+
onChange,
|
|
19447
|
+
loadSlots,
|
|
19448
|
+
isDateDisabled,
|
|
19449
|
+
reloadKey,
|
|
19450
|
+
slotsHint,
|
|
19451
|
+
calendarNote,
|
|
19452
|
+
initialStep = "date",
|
|
19453
|
+
todayKey,
|
|
19454
|
+
testId = "date-time-picker"
|
|
19455
|
+
}) {
|
|
19456
|
+
const today = todayKey ?? realTodayKey();
|
|
19457
|
+
const dateDisabled = React.useCallback(
|
|
19458
|
+
(k2) => isDateDisabled ? isDateDisabled(k2) : k2 < today,
|
|
19459
|
+
[isDateDisabled, today]
|
|
19460
|
+
);
|
|
19461
|
+
const [step, setStep] = React.useState(initialStep);
|
|
19462
|
+
const [slotsState, setSlotsState] = React.useState(
|
|
19463
|
+
value.dateKey ? { status: "loading" } : { status: "ready", slots: [] }
|
|
19464
|
+
);
|
|
19465
|
+
const reqIdRef = React.useRef(0);
|
|
19466
|
+
const runLoad = React.useCallback(
|
|
19467
|
+
(dateKey) => {
|
|
19468
|
+
const id = ++reqIdRef.current;
|
|
19469
|
+
setSlotsState({ status: "loading" });
|
|
19470
|
+
loadSlots(dateKey).then(
|
|
19471
|
+
(slots) => {
|
|
19472
|
+
if (reqIdRef.current === id) setSlotsState({ status: "ready", slots });
|
|
19473
|
+
},
|
|
19474
|
+
() => {
|
|
19475
|
+
if (reqIdRef.current === id) setSlotsState({ status: "error" });
|
|
19476
|
+
}
|
|
19477
|
+
);
|
|
19478
|
+
},
|
|
19479
|
+
[loadSlots]
|
|
19480
|
+
);
|
|
19481
|
+
const dateKeyRef = React.useRef(value.dateKey);
|
|
19482
|
+
React.useEffect(() => {
|
|
19483
|
+
dateKeyRef.current = value.dateKey;
|
|
19484
|
+
}, [value.dateKey]);
|
|
19485
|
+
React.useEffect(() => {
|
|
19486
|
+
const dateKey = dateKeyRef.current;
|
|
19487
|
+
if (dateKey) runLoad(dateKey);
|
|
19488
|
+
}, [reloadKey, runLoad]);
|
|
19489
|
+
const handlePickDate = (dateKey) => {
|
|
19490
|
+
onChange({ dateKey, slotId: null });
|
|
19491
|
+
setStep("time");
|
|
19492
|
+
runLoad(dateKey);
|
|
19493
|
+
};
|
|
19494
|
+
const handlePickSlot = (slotId) => {
|
|
19495
|
+
onChange({ ...value, slotId });
|
|
19496
|
+
};
|
|
19497
|
+
const pretty = prettyDate(value.dateKey);
|
|
19498
|
+
const selectedLabel = slotsState.status === "ready" ? slotsState.slots.find((s2) => s2.id === value.slotId)?.label : void 0;
|
|
19499
|
+
const note = calendarNote === void 0 ? "Past dates are off — sessions can't be created in the past." : calendarNote;
|
|
19500
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19501
|
+
"div",
|
|
19502
|
+
{
|
|
19503
|
+
"data-testid": testId,
|
|
19504
|
+
style: {
|
|
19505
|
+
width: 340,
|
|
19506
|
+
maxWidth: "calc(100vw - 32px)",
|
|
19507
|
+
background: "var(--surface-0)",
|
|
19508
|
+
borderRadius: "var(--r-lg)",
|
|
19509
|
+
border: "1px solid var(--border-strong)",
|
|
19510
|
+
boxShadow: "var(--shadow-lg)",
|
|
19511
|
+
overflow: "hidden",
|
|
19512
|
+
display: "flex",
|
|
19513
|
+
flexDirection: "column",
|
|
19514
|
+
maxHeight: "min(440px, 80vh)"
|
|
19515
|
+
},
|
|
19516
|
+
children: [
|
|
19517
|
+
step === "date" ? /* @__PURE__ */ jsxRuntime.jsx("div", { style: { padding: 16 }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19518
|
+
CalendarPane,
|
|
19519
|
+
{
|
|
19520
|
+
isDateDisabled: dateDisabled,
|
|
19521
|
+
note,
|
|
19522
|
+
todayKey: today,
|
|
19523
|
+
value: value.dateKey,
|
|
19524
|
+
onPick: handlePickDate
|
|
19525
|
+
}
|
|
19526
|
+
) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19527
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19528
|
+
"button",
|
|
19529
|
+
{
|
|
19530
|
+
"data-testid": "dtp-back-to-date",
|
|
19531
|
+
type: "button",
|
|
19532
|
+
onClick: () => setStep("date"),
|
|
19533
|
+
style: {
|
|
19534
|
+
display: "flex",
|
|
19535
|
+
alignItems: "center",
|
|
19536
|
+
gap: 8,
|
|
19537
|
+
width: "100%",
|
|
19538
|
+
padding: "12px 16px",
|
|
19539
|
+
border: 0,
|
|
19540
|
+
borderBottom: "1px solid var(--divider)",
|
|
19541
|
+
background: "var(--surface-1)",
|
|
19542
|
+
cursor: "pointer",
|
|
19543
|
+
textAlign: "left"
|
|
19544
|
+
},
|
|
19545
|
+
children: [
|
|
19546
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { color: "var(--ink-3)", name: "chevronLeft", size: 13 }),
|
|
19547
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 12, color: "var(--ink-3)" }, children: "Date" }),
|
|
19548
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 13, fontWeight: 600, color: "var(--ink-1)", marginLeft: "auto" }, children: pretty })
|
|
19549
|
+
]
|
|
19550
|
+
}
|
|
19551
|
+
),
|
|
19552
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { padding: 16, overflowY: "auto", flex: 1 }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19553
|
+
SlotsPane,
|
|
19554
|
+
{
|
|
19555
|
+
hint: slotsHint,
|
|
19556
|
+
state: slotsState,
|
|
19557
|
+
value: value.slotId,
|
|
19558
|
+
onPick: handlePickSlot,
|
|
19559
|
+
onRetry: () => {
|
|
19560
|
+
if (value.dateKey) runLoad(value.dateKey);
|
|
19561
|
+
}
|
|
19562
|
+
}
|
|
19563
|
+
) })
|
|
19564
|
+
] }),
|
|
19565
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19566
|
+
"div",
|
|
19567
|
+
{
|
|
19568
|
+
style: {
|
|
19569
|
+
padding: "10px 16px",
|
|
19570
|
+
borderTop: "1px solid var(--divider)",
|
|
19571
|
+
background: "var(--surface-1)",
|
|
19572
|
+
display: "flex",
|
|
19573
|
+
alignItems: "center",
|
|
19574
|
+
justifyContent: "space-between",
|
|
19575
|
+
gap: 8,
|
|
19576
|
+
flexShrink: 0
|
|
19577
|
+
},
|
|
19578
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19579
|
+
"span",
|
|
19580
|
+
{
|
|
19581
|
+
style: {
|
|
19582
|
+
fontSize: 12,
|
|
19583
|
+
color: "var(--ink-2)",
|
|
19584
|
+
minWidth: 0,
|
|
19585
|
+
overflow: "hidden",
|
|
19586
|
+
textOverflow: "ellipsis",
|
|
19587
|
+
whiteSpace: "nowrap"
|
|
19588
|
+
},
|
|
19589
|
+
children: value.slotId && selectedLabel ? /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
19590
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "var(--ink-3)" }, children: "Selected:" }),
|
|
19591
|
+
" ",
|
|
19592
|
+
/* @__PURE__ */ jsxRuntime.jsxs("b", { children: [
|
|
19593
|
+
pretty,
|
|
19594
|
+
" · ",
|
|
19595
|
+
selectedLabel
|
|
19596
|
+
] })
|
|
19597
|
+
] }) : step === "date" ? "Pick a date" : "Pick a time"
|
|
19598
|
+
}
|
|
19599
|
+
)
|
|
19600
|
+
}
|
|
19601
|
+
)
|
|
19602
|
+
]
|
|
19603
|
+
}
|
|
19604
|
+
);
|
|
19605
|
+
}
|
|
19143
19606
|
exports.AIBadge = AIBadge;
|
|
19144
19607
|
exports.AICard = AICard;
|
|
19145
19608
|
exports.AIChip = AIChip;
|
|
@@ -19172,6 +19635,7 @@ exports.DENSITY_OPTIONS = DENSITY_OPTIONS;
|
|
|
19172
19635
|
exports.DISPLAY_OPTIONS = DISPLAY_OPTIONS;
|
|
19173
19636
|
exports.DarkScope = DarkScope;
|
|
19174
19637
|
exports.DateInput = DateInput;
|
|
19638
|
+
exports.DateTimePicker = DateTimePicker;
|
|
19175
19639
|
exports.Divider = Divider;
|
|
19176
19640
|
exports.Drawer = Drawer;
|
|
19177
19641
|
exports.DrawerFooter = DrawerFooter;
|