@flamingo-stack/openframe-frontend-core 0.0.561-1846.5000.1 → 0.0.561-1852.4997.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/dist/{chunk-GKGQ4DWE.js → chunk-3IBCKS3I.js} +49 -121
- package/dist/chunk-3IBCKS3I.js.map +1 -0
- package/dist/{chunk-ZENRHE55.cjs → chunk-5XPYQ7NU.cjs} +62 -62
- package/dist/{chunk-ZENRHE55.cjs.map → chunk-5XPYQ7NU.cjs.map} +1 -1
- package/dist/chunk-7J4DGFHZ.js +88 -0
- package/dist/chunk-7J4DGFHZ.js.map +1 -0
- package/dist/{chunk-UJ7MSY6F.cjs → chunk-BODITFZI.cjs} +31 -31
- package/dist/{chunk-UJ7MSY6F.cjs.map → chunk-BODITFZI.cjs.map} +1 -1
- package/dist/{chunk-ZJ7RI62F.js → chunk-CLQ6L4JG.js} +2 -2
- package/dist/{chunk-4LHEQMOV.cjs → chunk-DCB4EBA5.cjs} +3 -3
- package/dist/chunk-DCB4EBA5.cjs.map +1 -0
- package/dist/{chunk-YUAKZNK5.js → chunk-DQI2S2SY.js} +6 -6
- package/dist/{chunk-SUPBFRUK.cjs → chunk-ELFXMLSX.cjs} +5 -5
- package/dist/{chunk-SUPBFRUK.cjs.map → chunk-ELFXMLSX.cjs.map} +1 -1
- package/dist/{chunk-QGQ26NEE.js → chunk-FMQO7OMJ.js} +2 -2
- package/dist/{chunk-B6TM3QAL.js → chunk-HI3A5HFI.js} +4 -4
- package/dist/{chunk-GYC3OTBI.cjs → chunk-IJ6HBN2J.cjs} +9 -9
- package/dist/{chunk-GYC3OTBI.cjs.map → chunk-IJ6HBN2J.cjs.map} +1 -1
- package/dist/{chunk-UV53Z64O.cjs → chunk-INN323YY.cjs} +14 -14
- package/dist/{chunk-UV53Z64O.cjs.map → chunk-INN323YY.cjs.map} +1 -1
- package/dist/{chunk-AGQ4VTUX.cjs → chunk-K4UCFJNL.cjs} +29 -29
- package/dist/{chunk-AGQ4VTUX.cjs.map → chunk-K4UCFJNL.cjs.map} +1 -1
- package/dist/{chunk-D3OY4CJU.cjs → chunk-K535WIFS.cjs} +3 -3
- package/dist/{chunk-D3OY4CJU.cjs.map → chunk-K535WIFS.cjs.map} +1 -1
- package/dist/{chunk-44U25GD5.js → chunk-KGFCHGCW.js} +2 -2
- package/dist/{chunk-ONDI64M3.js → chunk-KKIAKLI6.js} +2 -2
- package/dist/{chunk-EK346HD7.cjs → chunk-LNWLK4TC.cjs} +39 -39
- package/dist/{chunk-EK346HD7.cjs.map → chunk-LNWLK4TC.cjs.map} +1 -1
- package/dist/{chunk-KWNVQZ5Y.js → chunk-LSWJ5QYP.js} +4 -4
- package/dist/chunk-MKPJYEOR.cjs +88 -0
- package/dist/chunk-MKPJYEOR.cjs.map +1 -0
- package/dist/{chunk-CR2CMLTQ.cjs → chunk-NISIZABN.cjs} +4 -4
- package/dist/{chunk-CR2CMLTQ.cjs.map → chunk-NISIZABN.cjs.map} +1 -1
- package/dist/{chunk-NGY4KET4.js → chunk-NTTSXF7Z.js} +2 -2
- package/dist/{chunk-KRYLVEXU.js → chunk-NZNKHIFA.js} +2 -2
- package/dist/{chunk-OCJG3X4U.js → chunk-O45VULK4.js} +2 -2
- package/dist/{chunk-5AEHCGQV.js → chunk-PYN65LCP.js} +6 -6
- package/dist/{chunk-RDKJCZHY.js → chunk-RSZXB6J2.js} +3 -3
- package/dist/chunk-RSZXB6J2.js.map +1 -0
- package/dist/{chunk-DAVVVBNL.cjs → chunk-RVHAX7VP.cjs} +26 -26
- package/dist/{chunk-DAVVVBNL.cjs.map → chunk-RVHAX7VP.cjs.map} +1 -1
- package/dist/{chunk-JCQUWIPT.js → chunk-SFU6A36Q.js} +3 -3
- package/dist/{chunk-FSWJCGRJ.cjs → chunk-SKQ7AMUD.cjs} +7 -7
- package/dist/{chunk-FSWJCGRJ.cjs.map → chunk-SKQ7AMUD.cjs.map} +1 -1
- package/dist/{chunk-WCM4BGHO.cjs → chunk-TCQ3VL5R.cjs} +97 -97
- package/dist/{chunk-WCM4BGHO.cjs.map → chunk-TCQ3VL5R.cjs.map} +1 -1
- package/dist/{chunk-DHRJFUBR.cjs → chunk-V5VJTNOG.cjs} +11 -11
- package/dist/{chunk-DHRJFUBR.cjs.map → chunk-V5VJTNOG.cjs.map} +1 -1
- package/dist/{chunk-GWRQ5EEI.cjs → chunk-XTDUFU5O.cjs} +882 -954
- package/dist/{chunk-GWRQ5EEI.cjs.map → chunk-XTDUFU5O.cjs.map} +1 -1
- package/dist/{chunk-MLSDBNKT.js → chunk-ZD5QQJH4.js} +2 -2
- package/dist/components/calendar.cjs +4 -81
- package/dist/components/calendar.cjs.map +1 -1
- package/dist/components/calendar.js +4 -81
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/{walkthrough-video.d.ts → floating-walkthrough-video.d.ts} +7 -61
- package/dist/components/features/floating-walkthrough-video.d.ts.map +1 -0
- package/dist/components/features/index.cjs +3 -5
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.d.ts +1 -1
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +2 -4
- package/dist/components/features/use-walkthrough-video.d.ts +1 -1
- package/dist/components/features/use-walkthrough-video.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +23 -23
- package/dist/components/help-center-pages/index.js +14 -14
- package/dist/components/index.cjs +140 -144
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +12 -16
- package/dist/components/index.js.map +1 -1
- package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/context-panel.d.ts +6 -24
- package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +425 -529
- package/dist/components/meeting-scheduler/index.cjs.map +1 -1
- package/dist/components/meeting-scheduler/index.d.ts +1 -54
- package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.js +403 -507
- package/dist/components/meeting-scheduler/index.js.map +1 -1
- package/dist/components/meeting-scheduler/slot-picker.d.ts +31 -35
- package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/related-content/index.cjs +4 -4
- package/dist/components/related-content/index.js +3 -3
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/date-picker.d.ts +1 -62
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/field-wrapper.d.ts +0 -7
- package/dist/components/ui/field-wrapper.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +36 -36
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/index.cjs +3 -5
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +2 -4
- package/dist/hooks/use-meeting-booking.d.ts +8 -31
- package/dist/hooks/use-meeting-booking.d.ts.map +1 -1
- package/dist/index.cjs +3 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -6
- package/package.json +1 -1
- package/src/components/features/{.walkthrough-video.md → .floating-walkthrough-video.md} +5 -8
- package/src/components/features/board/types.ts +1 -1
- package/src/components/features/{walkthrough-video.tsx → floating-walkthrough-video.tsx} +22 -108
- package/src/components/features/index.ts +1 -1
- package/src/components/features/use-walkthrough-video.ts +1 -1
- package/src/components/meeting-scheduler/booking-form.tsx +51 -60
- package/src/components/meeting-scheduler/confirmation.tsx +1 -1
- package/src/components/meeting-scheduler/context-panel.tsx +68 -166
- package/src/components/meeting-scheduler/index.tsx +81 -227
- package/src/components/meeting-scheduler/slot-picker.tsx +127 -275
- package/src/components/ui/date-picker.tsx +47 -200
- package/src/components/ui/field-wrapper.tsx +2 -9
- package/src/hooks/use-meeting-booking.ts +73 -97
- package/dist/chunk-4LHEQMOV.cjs.map +0 -1
- package/dist/chunk-GKGQ4DWE.js.map +0 -1
- package/dist/chunk-RDKJCZHY.js.map +0 -1
- package/dist/components/features/walkthrough-video.d.ts.map +0 -1
- /package/dist/{chunk-ZJ7RI62F.js.map → chunk-CLQ6L4JG.js.map} +0 -0
- /package/dist/{chunk-YUAKZNK5.js.map → chunk-DQI2S2SY.js.map} +0 -0
- /package/dist/{chunk-QGQ26NEE.js.map → chunk-FMQO7OMJ.js.map} +0 -0
- /package/dist/{chunk-B6TM3QAL.js.map → chunk-HI3A5HFI.js.map} +0 -0
- /package/dist/{chunk-44U25GD5.js.map → chunk-KGFCHGCW.js.map} +0 -0
- /package/dist/{chunk-ONDI64M3.js.map → chunk-KKIAKLI6.js.map} +0 -0
- /package/dist/{chunk-KWNVQZ5Y.js.map → chunk-LSWJ5QYP.js.map} +0 -0
- /package/dist/{chunk-NGY4KET4.js.map → chunk-NTTSXF7Z.js.map} +0 -0
- /package/dist/{chunk-KRYLVEXU.js.map → chunk-NZNKHIFA.js.map} +0 -0
- /package/dist/{chunk-OCJG3X4U.js.map → chunk-O45VULK4.js.map} +0 -0
- /package/dist/{chunk-5AEHCGQV.js.map → chunk-PYN65LCP.js.map} +0 -0
- /package/dist/{chunk-JCQUWIPT.js.map → chunk-SFU6A36Q.js.map} +0 -0
- /package/dist/{chunk-MLSDBNKT.js.map → chunk-ZD5QQJH4.js.map} +0 -0
|
@@ -257,7 +257,7 @@ import {
|
|
|
257
257
|
Skeleton,
|
|
258
258
|
useCollisionBoundary,
|
|
259
259
|
usePortalContainer
|
|
260
|
-
} from "./chunk-
|
|
260
|
+
} from "./chunk-RSZXB6J2.js";
|
|
261
261
|
import {
|
|
262
262
|
CheckboxCheckmarkIcon,
|
|
263
263
|
SearchIcon
|
|
@@ -18402,7 +18402,6 @@ function CalendarNavButton({ direction, onClick, disabled, "aria-label": ariaLab
|
|
|
18402
18402
|
type: "button",
|
|
18403
18403
|
variant: "outline",
|
|
18404
18404
|
size: "icon",
|
|
18405
|
-
className: "shrink-0",
|
|
18406
18405
|
onClick,
|
|
18407
18406
|
disabled,
|
|
18408
18407
|
"aria-label": ariaLabel,
|
|
@@ -18418,11 +18417,7 @@ function DatePickerCalendar({
|
|
|
18418
18417
|
fromDate,
|
|
18419
18418
|
toDate: toDate3,
|
|
18420
18419
|
locale,
|
|
18421
|
-
fluid = false
|
|
18422
|
-
bare = false,
|
|
18423
|
-
disabledDays: extraDisabledDays,
|
|
18424
|
-
month: monthProp,
|
|
18425
|
-
onMonthChange
|
|
18420
|
+
fluid = false
|
|
18426
18421
|
}) {
|
|
18427
18422
|
const today = /* @__PURE__ */ new Date();
|
|
18428
18423
|
const isMdUp = useMdUp() ?? true;
|
|
@@ -18458,43 +18453,18 @@ function DatePickerCalendar({
|
|
|
18458
18453
|
setHoveredDate(void 0);
|
|
18459
18454
|
onSelect(completed);
|
|
18460
18455
|
};
|
|
18461
|
-
const
|
|
18462
|
-
const
|
|
18463
|
-
const cellInner = bare ? "h-full w-auto aspect-square rounded-[6px]" : isFluid ? "size-full" : "size-10";
|
|
18464
|
-
const weekdayOuter = bare ? "flex-1 min-w-0 h-6" : cellOuter;
|
|
18465
|
-
const hoverClass = bare ? "[&>button]:hover:bg-ods-bg-surface" : "hover:bg-ods-bg-surface hover:rounded-[6px]";
|
|
18466
|
-
const todayClass = bare ? "[&>button]:bg-ods-bg-surface [&>button]:hover:!bg-ods-bg-surface" : "bg-ods-bg-surface rounded-[6px] hover:!bg-ods-bg-surface";
|
|
18467
|
-
const dayNumber = (date) => date.getFullYear() * 1e4 + date.getMonth() * 100 + date.getDate();
|
|
18468
|
-
const isSelectedDay = (date) => {
|
|
18469
|
-
const n = dayNumber(date);
|
|
18470
|
-
if (mode === "single") {
|
|
18471
|
-
const picked = selected;
|
|
18472
|
-
return !!picked && dayNumber(picked) === n;
|
|
18473
|
-
}
|
|
18474
|
-
const range = rangeSelected;
|
|
18475
|
-
if (!range?.from) return false;
|
|
18476
|
-
if (!range.to) return dayNumber(range.from) === n;
|
|
18477
|
-
return n >= dayNumber(range.from) && n <= dayNumber(range.to);
|
|
18478
|
-
};
|
|
18479
|
-
const isUnclaimedToday = (date) => dayNumber(date) === dayNumber(today) && !isSelectedDay(date);
|
|
18480
|
-
const selectedClass = bare ? "[&>button]:!bg-ods-accent [&>button]:!text-ods-card [&>button]:!font-bold [&>button]:hover:!bg-ods-accent" : "!bg-ods-accent !text-ods-card !font-bold !rounded-[6px] hover:!bg-ods-accent";
|
|
18481
|
-
const surfaceClass = bare ? "flex w-full flex-col" : cn("bg-ods-card border border-ods-border rounded-[6px] overflow-hidden", isFluid && "w-full");
|
|
18482
|
-
const captionRowClass = cn("flex items-center justify-between gap-1", bare ? "shrink-0" : "px-4 pt-4");
|
|
18483
|
-
const captionClass = "min-w-0 flex-1 truncate text-center text-h4 text-ods-text-primary";
|
|
18456
|
+
const cellOuter = fluid ? "flex-1 aspect-square min-w-0" : "size-10";
|
|
18457
|
+
const cellInner = fluid ? "size-full" : "size-10";
|
|
18484
18458
|
const classNames = {
|
|
18485
|
-
root: cn(
|
|
18486
|
-
|
|
18487
|
-
|
|
18488
|
-
),
|
|
18489
|
-
months: cn("flex gap-8", bare && "w-full"),
|
|
18490
|
-
month: cn("flex flex-col", bare ? "w-full" : cn("gap-2", isFluid && "w-full")),
|
|
18459
|
+
root: cn("p-4 date-picker-calendar", fluid && "w-full"),
|
|
18460
|
+
months: "flex gap-8",
|
|
18461
|
+
month: cn("flex flex-col gap-2", fluid && "w-full"),
|
|
18491
18462
|
month_caption: "hidden",
|
|
18492
18463
|
nav: "hidden",
|
|
18493
|
-
month_grid: cn("border-collapse",
|
|
18464
|
+
month_grid: cn("border-collapse", fluid && "w-full"),
|
|
18494
18465
|
weekdays: "flex",
|
|
18495
|
-
...bare ? { weeks: "flex flex-col" } : {},
|
|
18496
18466
|
weekday: cn(
|
|
18497
|
-
|
|
18467
|
+
cellOuter,
|
|
18498
18468
|
"flex items-center justify-center",
|
|
18499
18469
|
"text-h6 text-ods-text-secondary"
|
|
18500
18470
|
),
|
|
@@ -18505,7 +18475,7 @@ function DatePickerCalendar({
|
|
|
18505
18475
|
"text-h4 text-ods-text-primary",
|
|
18506
18476
|
"cursor-pointer",
|
|
18507
18477
|
"transition-colors duration-150",
|
|
18508
|
-
|
|
18478
|
+
"hover:bg-ods-bg-surface hover:rounded-[6px]"
|
|
18509
18479
|
),
|
|
18510
18480
|
day_button: cn(
|
|
18511
18481
|
cellInner,
|
|
@@ -18513,10 +18483,9 @@ function DatePickerCalendar({
|
|
|
18513
18483
|
"cursor-pointer bg-transparent border-none outline-none",
|
|
18514
18484
|
"text-inherit font-inherit"
|
|
18515
18485
|
),
|
|
18516
|
-
|
|
18517
|
-
today: "",
|
|
18486
|
+
today: "bg-ods-bg-surface rounded-[6px] hover:!bg-ods-bg-surface",
|
|
18518
18487
|
selected: cn(
|
|
18519
|
-
|
|
18488
|
+
"!bg-ods-accent !text-ods-card !font-bold !rounded-[6px] hover:!bg-ods-accent",
|
|
18520
18489
|
// In range mode, selected class should not override range_start/range_end/range_middle
|
|
18521
18490
|
mode === "range" && "range-selected"
|
|
18522
18491
|
),
|
|
@@ -18534,19 +18503,7 @@ function DatePickerCalendar({
|
|
|
18534
18503
|
// `disabled` <button> does not inherit the cell's cursor on its own.
|
|
18535
18504
|
disabled: cn(
|
|
18536
18505
|
"!text-ods-text-disabled !cursor-not-allowed hover:!bg-transparent",
|
|
18537
|
-
"[&>button]:!cursor-not-allowed [&>button]:!text-ods-text-disabled"
|
|
18538
|
-
// Also drop the `today` tint, or an unselectable today renders BLANK:
|
|
18539
|
-
// `--color-text-disabled` and `--color-bg-surface` are the SAME token
|
|
18540
|
-
// (`--ods-system-greys-soft-grey`), so the number disappears into the
|
|
18541
|
-
// highlight — grey on identical grey. Reachable by any picker whose
|
|
18542
|
-
// `fromDate` is in the future, and permanently by the meeting scheduler,
|
|
18543
|
-
// where today usually has no bookable slots left.
|
|
18544
|
-
//
|
|
18545
|
-
// Dropping the tint rather than repainting the text: a disabled day is
|
|
18546
|
-
// not actionable, so a highlight claiming otherwise is the wrong signal.
|
|
18547
|
-
// The day still reads as today's position in the month by being the one
|
|
18548
|
-
// dimmed cell between yesterday and tomorrow.
|
|
18549
|
-
"!bg-transparent [&>button]:!bg-transparent"
|
|
18506
|
+
"[&>button]:!cursor-not-allowed [&>button]:!text-ods-text-disabled"
|
|
18550
18507
|
),
|
|
18551
18508
|
hidden: "invisible",
|
|
18552
18509
|
// Range styles matching Figma design:
|
|
@@ -18564,34 +18521,33 @@ function DatePickerCalendar({
|
|
|
18564
18521
|
),
|
|
18565
18522
|
range_middle: "range-middle !bg-ods-open-yellow-light !text-ods-card !font-medium !rounded-none hover:!bg-ods-open-yellow-light"
|
|
18566
18523
|
};
|
|
18567
|
-
const [
|
|
18524
|
+
const [month, setMonth] = React48.useState(
|
|
18568
18525
|
mode === "single" ? selected || today : selected?.from || today
|
|
18569
18526
|
);
|
|
18570
|
-
const month = monthProp ?? uncontrolledMonth;
|
|
18571
|
-
const changeMonth = (next) => {
|
|
18572
|
-
setUncontrolledMonth(next);
|
|
18573
|
-
onMonthChange?.(next);
|
|
18574
|
-
};
|
|
18575
18527
|
const disabledDays = React48.useMemo(() => {
|
|
18576
18528
|
const matchers = [];
|
|
18577
18529
|
if (fromDate) matchers.push({ before: fromDate });
|
|
18578
18530
|
if (toDate3) matchers.push({ after: toDate3 });
|
|
18579
|
-
if (extraDisabledDays) {
|
|
18580
|
-
matchers.push(...Array.isArray(extraDisabledDays) ? extraDisabledDays : [extraDisabledDays]);
|
|
18581
|
-
}
|
|
18582
18531
|
return matchers;
|
|
18583
|
-
}, [fromDate, toDate3
|
|
18532
|
+
}, [fromDate, toDate3]);
|
|
18584
18533
|
const monthIndex = (date) => date.getFullYear() * 12 + date.getMonth();
|
|
18585
18534
|
const lastVisibleMonth = monthIndex(month) + (monthsToShow === 2 ? 1 : 0);
|
|
18586
18535
|
const canGoPrevious = !fromDate || monthIndex(month) > monthIndex(fromDate);
|
|
18587
18536
|
const canGoNext = !toDate3 || lastVisibleMonth < monthIndex(toDate3);
|
|
18588
|
-
const
|
|
18589
|
-
|
|
18590
|
-
|
|
18591
|
-
|
|
18537
|
+
const handlePreviousMonth = () => {
|
|
18538
|
+
setMonth((prev) => {
|
|
18539
|
+
const newMonth = new Date(prev);
|
|
18540
|
+
newMonth.setMonth(newMonth.getMonth() - 1);
|
|
18541
|
+
return newMonth;
|
|
18542
|
+
});
|
|
18543
|
+
};
|
|
18544
|
+
const handleNextMonth = () => {
|
|
18545
|
+
setMonth((prev) => {
|
|
18546
|
+
const newMonth = new Date(prev);
|
|
18547
|
+
newMonth.setMonth(newMonth.getMonth() + 1);
|
|
18548
|
+
return newMonth;
|
|
18549
|
+
});
|
|
18592
18550
|
};
|
|
18593
|
-
const handlePreviousMonth = () => shiftMonth(-1);
|
|
18594
|
-
const handleNextMonth = () => shiftMonth(1);
|
|
18595
18551
|
const formatMonthYear = (date) => {
|
|
18596
18552
|
return date.toLocaleDateString("en-US", {
|
|
18597
18553
|
month: "long",
|
|
@@ -18630,8 +18586,8 @@ function DatePickerCalendar({
|
|
|
18630
18586
|
}
|
|
18631
18587
|
`;
|
|
18632
18588
|
if (mode === "single") {
|
|
18633
|
-
return /* @__PURE__ */ jsxs88("div", { className:
|
|
18634
|
-
/* @__PURE__ */ jsxs88("div", { className:
|
|
18589
|
+
return /* @__PURE__ */ jsxs88("div", { className: cn("bg-ods-card border border-ods-border rounded-[6px] overflow-hidden", fluid && "w-full"), children: [
|
|
18590
|
+
/* @__PURE__ */ jsxs88("div", { className: "flex items-center justify-between px-4 pt-4", children: [
|
|
18635
18591
|
/* @__PURE__ */ jsx117(
|
|
18636
18592
|
CalendarNavButton,
|
|
18637
18593
|
{
|
|
@@ -18641,7 +18597,7 @@ function DatePickerCalendar({
|
|
|
18641
18597
|
"aria-label": "Previous month"
|
|
18642
18598
|
}
|
|
18643
18599
|
),
|
|
18644
|
-
/* @__PURE__ */ jsx117("span", { className:
|
|
18600
|
+
/* @__PURE__ */ jsx117("span", { className: "text-h4 text-ods-text-primary", children: formatMonthYear(month) }),
|
|
18645
18601
|
/* @__PURE__ */ jsx117(
|
|
18646
18602
|
CalendarNavButton,
|
|
18647
18603
|
{
|
|
@@ -18659,10 +18615,8 @@ function DatePickerCalendar({
|
|
|
18659
18615
|
selected,
|
|
18660
18616
|
onSelect: (date) => onSelect(date),
|
|
18661
18617
|
month,
|
|
18662
|
-
onMonthChange:
|
|
18618
|
+
onMonthChange: setMonth,
|
|
18663
18619
|
classNames,
|
|
18664
|
-
modifiers: { todayTint: isUnclaimedToday },
|
|
18665
|
-
modifiersClassNames: { todayTint: todayClass },
|
|
18666
18620
|
showOutsideDays: true,
|
|
18667
18621
|
fixedWeeks: true,
|
|
18668
18622
|
disabled: disabledDays,
|
|
@@ -18675,7 +18629,7 @@ function DatePickerCalendar({
|
|
|
18675
18629
|
return /* @__PURE__ */ jsxs88(
|
|
18676
18630
|
"div",
|
|
18677
18631
|
{
|
|
18678
|
-
className: cn("bg-ods-card border border-ods-border rounded-md overflow-hidden",
|
|
18632
|
+
className: cn("bg-ods-card border border-ods-border rounded-md overflow-hidden", fluid && "w-full"),
|
|
18679
18633
|
onMouseLeave: () => setHoveredDate(void 0),
|
|
18680
18634
|
children: [
|
|
18681
18635
|
/* @__PURE__ */ jsx117("style", { children: rangeStyles }),
|
|
@@ -18691,7 +18645,7 @@ function DatePickerCalendar({
|
|
|
18691
18645
|
"aria-label": "Previous month"
|
|
18692
18646
|
}
|
|
18693
18647
|
),
|
|
18694
|
-
/* @__PURE__ */ jsx117("span", { className:
|
|
18648
|
+
/* @__PURE__ */ jsx117("span", { className: "text-h4 text-ods-text-primary", children: formatMonthYear(month) }),
|
|
18695
18649
|
monthsToShow === 1 && /* @__PURE__ */ jsx117(
|
|
18696
18650
|
CalendarNavButton,
|
|
18697
18651
|
{
|
|
@@ -18710,10 +18664,10 @@ function DatePickerCalendar({
|
|
|
18710
18664
|
selected: draftRange,
|
|
18711
18665
|
onSelect: (_range, triggerDate) => handleRangeSelect(triggerDate),
|
|
18712
18666
|
onDayMouseEnter: (day) => setHoveredDate(day),
|
|
18713
|
-
modifiers: { preview: isPreviewDate
|
|
18714
|
-
modifiersClassNames: { preview: "bg-ods-bg-surface"
|
|
18667
|
+
modifiers: { preview: isPreviewDate },
|
|
18668
|
+
modifiersClassNames: { preview: "bg-ods-bg-surface" },
|
|
18715
18669
|
month,
|
|
18716
|
-
onMonthChange:
|
|
18670
|
+
onMonthChange: setMonth,
|
|
18717
18671
|
classNames,
|
|
18718
18672
|
showOutsideDays: true,
|
|
18719
18673
|
fixedWeeks: true,
|
|
@@ -18726,7 +18680,7 @@ function DatePickerCalendar({
|
|
|
18726
18680
|
monthsToShow === 2 && /* @__PURE__ */ jsxs88("div", { className: "flex-1 border-l border-ods-border", children: [
|
|
18727
18681
|
/* @__PURE__ */ jsxs88("div", { className: "flex items-center justify-between px-4 pt-4", children: [
|
|
18728
18682
|
/* @__PURE__ */ jsx117("div", { className: "size-10 md:size-12" }),
|
|
18729
|
-
/* @__PURE__ */ jsx117("span", { className:
|
|
18683
|
+
/* @__PURE__ */ jsx117("span", { className: "text-h4 text-ods-text-primary", children: formatMonthYear(getSecondMonth(month)) }),
|
|
18730
18684
|
/* @__PURE__ */ jsx117(
|
|
18731
18685
|
CalendarNavButton,
|
|
18732
18686
|
{
|
|
@@ -18744,8 +18698,8 @@ function DatePickerCalendar({
|
|
|
18744
18698
|
selected: draftRange,
|
|
18745
18699
|
onSelect: (_range, triggerDate) => handleRangeSelect(triggerDate),
|
|
18746
18700
|
onDayMouseEnter: (day) => setHoveredDate(day),
|
|
18747
|
-
modifiers: { preview: isPreviewDate
|
|
18748
|
-
modifiersClassNames: { preview: "bg-ods-bg-surface"
|
|
18701
|
+
modifiers: { preview: isPreviewDate },
|
|
18702
|
+
modifiersClassNames: { preview: "bg-ods-bg-surface" },
|
|
18749
18703
|
month: getSecondMonth(month),
|
|
18750
18704
|
classNames,
|
|
18751
18705
|
showOutsideDays: true,
|
|
@@ -34964,7 +34918,7 @@ function VideoBitesDisplay({
|
|
|
34964
34918
|
);
|
|
34965
34919
|
}
|
|
34966
34920
|
|
|
34967
|
-
// src/components/features/walkthrough-video.tsx
|
|
34921
|
+
// src/components/features/floating-walkthrough-video.tsx
|
|
34968
34922
|
init_cn();
|
|
34969
34923
|
init_button2();
|
|
34970
34924
|
import { useCallback as useCallback28, useEffect as useEffect57, useMemo as useMemo35, useRef as useRef42, useState as useState75 } from "react";
|
|
@@ -34972,7 +34926,7 @@ import * as DialogPrimitive3 from "@radix-ui/react-dialog";
|
|
|
34972
34926
|
import { Fragment as Fragment48, jsx as jsx261, jsxs as jsxs200 } from "react/jsx-runtime";
|
|
34973
34927
|
var isAtEnd = (duration, time) => duration > 0 && duration - time < 1;
|
|
34974
34928
|
var WALKTHROUGH_Z = "z-[9980]";
|
|
34975
|
-
function
|
|
34929
|
+
function FloatingWalkthroughVideo({
|
|
34976
34930
|
video,
|
|
34977
34931
|
open: openProp,
|
|
34978
34932
|
onOpenChange,
|
|
@@ -34980,17 +34934,12 @@ function WalkthroughVideo({
|
|
|
34980
34934
|
defaultOpenPaused,
|
|
34981
34935
|
deepLinkParam = WALKTHROUGH_OPEN_QUERY_PARAM,
|
|
34982
34936
|
label = "Play Demo Video",
|
|
34983
|
-
placement,
|
|
34984
|
-
// Keeps the FLOATING card off the critical path. The inline preset passes 0:
|
|
34985
|
-
// an in-page block is part of a page the visitor is already looking at, so
|
|
34986
|
-
// staggering it in would only jump the layout.
|
|
34987
34937
|
appearDelayMs = 3e3,
|
|
34988
34938
|
dismissal = {},
|
|
34989
34939
|
hideNearSelector = "footer",
|
|
34990
34940
|
pathname,
|
|
34991
34941
|
className
|
|
34992
34942
|
}) {
|
|
34993
|
-
const inline = placement === "inline";
|
|
34994
34943
|
const dismissEnabled = dismissal !== false;
|
|
34995
34944
|
const storageKey = dismissEnabled && dismissal.storageKey || WALKTHROUGH_VIDEO_DISMISS_KEY;
|
|
34996
34945
|
const dismissalId = video?.id != null ? String(video.id) : "dismissed";
|
|
@@ -35062,10 +35011,6 @@ function WalkthroughVideo({
|
|
|
35062
35011
|
const previewAllowed = !previewSuppressed && !isYouTube;
|
|
35063
35012
|
useEffect57(() => {
|
|
35064
35013
|
if (!mounted) return;
|
|
35065
|
-
if (inline) {
|
|
35066
|
-
setFooterHidden(false);
|
|
35067
|
-
return;
|
|
35068
|
-
}
|
|
35069
35014
|
const el = typeof document !== "undefined" ? document.querySelector(hideNearSelector) : null;
|
|
35070
35015
|
if (!el || typeof IntersectionObserver === "undefined") {
|
|
35071
35016
|
setFooterHidden(false);
|
|
@@ -35077,7 +35022,7 @@ function WalkthroughVideo({
|
|
|
35077
35022
|
);
|
|
35078
35023
|
io.observe(el);
|
|
35079
35024
|
return () => io.disconnect();
|
|
35080
|
-
}, [mounted,
|
|
35025
|
+
}, [mounted, hideNearSelector, pathname]);
|
|
35081
35026
|
useEffect57(() => {
|
|
35082
35027
|
if (!resumeMode) return;
|
|
35083
35028
|
const onVis = () => {
|
|
@@ -35327,10 +35272,7 @@ function WalkthroughVideo({
|
|
|
35327
35272
|
// badge accents off it. It must live on an element that actually
|
|
35328
35273
|
// receives pointer events — the media layer is pointer-events-none, so
|
|
35329
35274
|
// a group inside it can never match :hover.
|
|
35330
|
-
"group/card pointer-events-auto relative overflow-hidden rounded-
|
|
35331
|
-
// The lift is what separates a FLOATING card from the page beneath it;
|
|
35332
|
-
// an in-flow block sitting inside a host card needs no shadow at all.
|
|
35333
|
-
!inline && "shadow-2xl",
|
|
35275
|
+
"group/card pointer-events-auto relative overflow-hidden rounded-lg border border-ods-border bg-ods-card shadow-2xl",
|
|
35334
35276
|
// MOBILE = PiP dimensions, not a shrunken desktop card. This is an
|
|
35335
35277
|
// UNINVITED overlay on the smallest screens, so it is sized against
|
|
35336
35278
|
// the corner-PiP conventions, NOT against system PiP (which is
|
|
@@ -35346,9 +35288,7 @@ function WalkthroughVideo({
|
|
|
35346
35288
|
// Do NOT go below ~150px: the corner chrome (32px transport pair +
|
|
35347
35289
|
// 32px dismiss + the title pill) stops fitting, and the card's own
|
|
35348
35290
|
// controls — not the poster — are what set the real floor here.
|
|
35349
|
-
"aspect-video transition-opacity duration-200",
|
|
35350
|
-
// Inline: the HOST owns the width — the card only keeps 16:9 within it.
|
|
35351
|
-
inline ? "w-full" : "w-[min(52vw,192px)] sm:w-80",
|
|
35291
|
+
"aspect-video w-[min(52vw,192px)] sm:w-80 transition-opacity duration-200",
|
|
35352
35292
|
footerHidden ? "opacity-0 pointer-events-none" : "opacity-100",
|
|
35353
35293
|
className
|
|
35354
35294
|
),
|
|
@@ -35475,11 +35415,7 @@ function WalkthroughVideo({
|
|
|
35475
35415
|
}
|
|
35476
35416
|
);
|
|
35477
35417
|
return /* @__PURE__ */ jsxs200(Fragment48, { children: [
|
|
35478
|
-
showCard &&
|
|
35479
|
-
// No wrapper: a positioning / z-index / safe-area shell around an
|
|
35480
|
-
// in-flow block is exactly what stops it sizing to its container.
|
|
35481
|
-
collapsed
|
|
35482
|
-
) : /* @__PURE__ */ jsx261(
|
|
35418
|
+
showCard && /* @__PURE__ */ jsx261(
|
|
35483
35419
|
"div",
|
|
35484
35420
|
{
|
|
35485
35421
|
className: cn(
|
|
@@ -35490,7 +35426,7 @@ function WalkthroughVideo({
|
|
|
35490
35426
|
style: { paddingBottom: "max(var(--spacing-system-mf), env(safe-area-inset-bottom))" },
|
|
35491
35427
|
children: collapsed
|
|
35492
35428
|
}
|
|
35493
|
-
)
|
|
35429
|
+
),
|
|
35494
35430
|
/* @__PURE__ */ jsx261(DialogPrimitive3.Root, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs200(DialogPortal, { children: [
|
|
35495
35431
|
/* @__PURE__ */ jsx261(DialogOverlay, {}),
|
|
35496
35432
|
/* @__PURE__ */ jsxs200(
|
|
@@ -35562,12 +35498,6 @@ function WalkthroughVideo({
|
|
|
35562
35498
|
] }) })
|
|
35563
35499
|
] });
|
|
35564
35500
|
}
|
|
35565
|
-
function FloatingWalkthroughVideo(props) {
|
|
35566
|
-
return /* @__PURE__ */ jsx261(WalkthroughVideo, { ...props, placement: "floating" });
|
|
35567
|
-
}
|
|
35568
|
-
function InlineWalkthroughVideo(props) {
|
|
35569
|
-
return /* @__PURE__ */ jsx261(WalkthroughVideo, { ...props, placement: "inline", appearDelayMs: 0, dismissal: false });
|
|
35570
|
-
}
|
|
35571
35501
|
|
|
35572
35502
|
// src/components/features/use-walkthrough-video.ts
|
|
35573
35503
|
import { useQuery } from "@tanstack/react-query";
|
|
@@ -41033,7 +40963,7 @@ function Board({
|
|
|
41033
40963
|
// src/components/features/board/types.ts
|
|
41034
40964
|
var STATUS_DEFAULTS = {
|
|
41035
40965
|
ACTIVE: { label: "Active", color: "#5ea62e" },
|
|
41036
|
-
AI_ASSISTANCE: { label: "AI
|
|
40966
|
+
AI_ASSISTANCE: { label: "AI Handling", color: "#888888" },
|
|
41037
40967
|
TECH_REQUIRED: { label: "Tech Required", color: "#e1b32f" },
|
|
41038
40968
|
ON_HOLD: { label: "On Hold", color: "#f36666" },
|
|
41039
40969
|
RESOLVED: { label: "Resolved", color: "#888888" },
|
|
@@ -62592,7 +62522,6 @@ export {
|
|
|
62592
62522
|
SelectLabel,
|
|
62593
62523
|
SelectItem,
|
|
62594
62524
|
SelectSeparator,
|
|
62595
|
-
DatePickerCalendar,
|
|
62596
62525
|
DatePicker,
|
|
62597
62526
|
DatePickerInput,
|
|
62598
62527
|
DatePickerInputSimple,
|
|
@@ -63500,7 +63429,6 @@ export {
|
|
|
63500
63429
|
WarningBlock,
|
|
63501
63430
|
VideoBitesDisplay,
|
|
63502
63431
|
FloatingWalkthroughVideo,
|
|
63503
|
-
InlineWalkthroughVideo,
|
|
63504
63432
|
useWalkthroughVideo,
|
|
63505
63433
|
VideoSourceSelector,
|
|
63506
63434
|
ConfidenceBadge,
|
|
@@ -63687,4 +63615,4 @@ export {
|
|
|
63687
63615
|
LogsList,
|
|
63688
63616
|
assets
|
|
63689
63617
|
};
|
|
63690
|
-
//# sourceMappingURL=chunk-
|
|
63618
|
+
//# sourceMappingURL=chunk-3IBCKS3I.js.map
|