@tinybigui/react 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -13204,10 +13204,17 @@ function mapToInputProps(props) {
13204
13204
  const { orientation: _orientation, minuteStep: _minuteStep, ...inputProps } = props;
13205
13205
  return inputProps;
13206
13206
  }
13207
- function CalendarCell({ date: date$1, state }) {
13207
+ function CalendarCell({
13208
+ date: date$1,
13209
+ state,
13210
+ className,
13211
+ children
13212
+ }) {
13208
13213
  const ref = React.useRef(null);
13209
13214
  const { cellProps, buttonProps, isSelected, isDisabled, isUnavailable, formattedDate } = reactAria.useCalendarCell({ date: date$1 }, state, ref);
13210
- const { focusProps, isFocusVisible, isFocused } = reactAria.useFocusRing();
13215
+ const { focusProps, isFocusVisible } = reactAria.useFocusRing();
13216
+ const { hoverProps, isHovered } = reactAria.useHover({ isDisabled: isDisabled || isUnavailable });
13217
+ const { pressProps, isPressed } = reactAria.usePress({ isDisabled: isDisabled || isUnavailable });
13211
13218
  const isCurrentDay = date.isSameDay(date$1, date.today(date.getLocalTimeZone()));
13212
13219
  const isOutsideMonth = date$1.month !== state.visibleRange.start.month || date$1.year !== state.visibleRange.start.year;
13213
13220
  let isRangeStart = false;
@@ -13219,28 +13226,38 @@ function CalendarCell({ date: date$1, state }) {
13219
13226
  isRangeEnd = date.isSameDay(date$1, range.end);
13220
13227
  isRangeMiddle = date$1.compare(range.start) > 0 && date$1.compare(range.end) < 0;
13221
13228
  }
13222
- return /* @__PURE__ */ jsxRuntime.jsx("td", { ...cellProps, children: /* @__PURE__ */ jsxRuntime.jsx(
13229
+ return /* @__PURE__ */ jsxRuntime.jsx("td", { ...cellProps, children: /* @__PURE__ */ jsxRuntime.jsxs(
13223
13230
  "div",
13224
13231
  {
13225
- ...reactAria.mergeProps(buttonProps, focusProps),
13232
+ ...reactAria.mergeProps(buttonProps, focusProps, hoverProps, pressProps),
13226
13233
  ref,
13234
+ className,
13227
13235
  "aria-current": isCurrentDay ? "date" : void 0,
13228
- "data-selected": isSelected || void 0,
13229
- "data-today": isCurrentDay || void 0,
13230
- "data-outside-month": isOutsideMonth || void 0,
13231
- "data-range-start": isRangeStart || void 0,
13232
- "data-range-end": isRangeEnd || void 0,
13233
- "data-range-middle": isRangeMiddle || void 0,
13234
- "data-disabled": isDisabled || void 0,
13235
- "data-unavailable": isUnavailable || void 0,
13236
- "data-focused": isFocused || void 0,
13237
- "data-focus-visible": isFocusVisible || void 0,
13238
- children: formattedDate
13236
+ "data-selected": isSelected ? "" : void 0,
13237
+ "data-today": isCurrentDay ? "" : void 0,
13238
+ "data-outside-month": isOutsideMonth ? "" : void 0,
13239
+ "data-range-start": isRangeStart ? "" : void 0,
13240
+ "data-range-end": isRangeEnd ? "" : void 0,
13241
+ "data-range-middle": isRangeMiddle ? "" : void 0,
13242
+ "data-disabled": isDisabled ? "" : void 0,
13243
+ "data-unavailable": isUnavailable ? "" : void 0,
13244
+ "data-focus-visible": isFocusVisible ? "" : void 0,
13245
+ "data-hovered": isHovered ? "" : void 0,
13246
+ "data-pressed": isPressed ? "" : void 0,
13247
+ children: [
13248
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none relative z-10", children: formattedDate }),
13249
+ children
13250
+ ]
13239
13251
  }
13240
13252
  ) });
13241
13253
  }
13242
13254
  CalendarCell.displayName = "CalendarCell";
13243
- function CalendarGrid({ state, firstDayOfWeek }) {
13255
+ function CalendarGrid({
13256
+ state,
13257
+ firstDayOfWeek,
13258
+ CellComponent = CalendarCell,
13259
+ WeekdayComponent
13260
+ }) {
13244
13261
  const { locale } = reactAria.useLocale();
13245
13262
  const gridOptions = firstDayOfWeek ? { firstDayOfWeek } : {};
13246
13263
  const { gridProps, headerProps, weekDays } = reactAria.useCalendarGrid(gridOptions, state);
@@ -13250,9 +13267,11 @@ function CalendarGrid({ state, firstDayOfWeek }) {
13250
13267
  firstDayOfWeek ?? void 0
13251
13268
  );
13252
13269
  return /* @__PURE__ */ jsxRuntime.jsxs("table", { ...gridProps, children: [
13253
- /* @__PURE__ */ jsxRuntime.jsx("thead", { ...headerProps, "aria-hidden": void 0, children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: weekDays.map((day, index) => /* @__PURE__ */ jsxRuntime.jsx("th", { role: "columnheader", children: day }, index)) }) }),
13270
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { ...headerProps, "aria-hidden": void 0, children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: weekDays.map(
13271
+ (day, index) => WeekdayComponent ? /* @__PURE__ */ jsxRuntime.jsx("th", { role: "columnheader", children: /* @__PURE__ */ jsxRuntime.jsx(WeekdayComponent, { label: day }) }, index) : /* @__PURE__ */ jsxRuntime.jsx("th", { role: "columnheader", children: day }, index)
13272
+ ) }) }),
13254
13273
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: [...new Array(weeksInMonth).keys()].map((weekIndex) => /* @__PURE__ */ jsxRuntime.jsx("tr", { children: state.getDatesInWeek(weekIndex).map(
13255
- (date, i) => date ? /* @__PURE__ */ jsxRuntime.jsx(CalendarCell, { state, date }, i) : /* @__PURE__ */ jsxRuntime.jsx("td", {}, i)
13274
+ (date, i) => date ? /* @__PURE__ */ jsxRuntime.jsx(CellComponent, { state, date }, i) : /* @__PURE__ */ jsxRuntime.jsx("td", {}, i)
13256
13275
  ) }, weekIndex)) })
13257
13276
  ] });
13258
13277
  }
@@ -13283,12 +13302,32 @@ function ChevronRightIcon() {
13283
13302
  function DropdownArrowIcon() {
13284
13303
  return /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 10l5 5 5-5z" }) });
13285
13304
  }
13305
+ function DefaultTitle({ title, onClick, showDropdownIndicator }) {
13306
+ if (onClick) {
13307
+ return /* @__PURE__ */ jsxRuntime.jsxs(
13308
+ "button",
13309
+ {
13310
+ type: "button",
13311
+ onClick,
13312
+ "data-calendar-title": true,
13313
+ "aria-label": `${title}, click to select year`,
13314
+ children: [
13315
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { "aria-live": "polite", children: title }),
13316
+ showDropdownIndicator && /* @__PURE__ */ jsxRuntime.jsx(DropdownArrowIcon, {})
13317
+ ]
13318
+ }
13319
+ );
13320
+ }
13321
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-calendar-title": true, children: /* @__PURE__ */ jsxRuntime.jsx("h2", { "aria-live": "polite", children: title }) });
13322
+ }
13286
13323
  function CalendarHeader({
13287
13324
  title,
13288
13325
  prevButtonProps,
13289
13326
  nextButtonProps,
13290
13327
  onTitleClick,
13291
- showDropdownIndicator = false
13328
+ showDropdownIndicator = false,
13329
+ NavButtonComponent = NavigationButton,
13330
+ TitleComponent = DefaultTitle
13292
13331
  }) {
13293
13332
  const enhancedPrevProps = {
13294
13333
  ...prevButtonProps,
@@ -13299,22 +13338,17 @@ function CalendarHeader({
13299
13338
  "aria-label": "Next month"
13300
13339
  };
13301
13340
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-calendar-header": true, children: [
13302
- onTitleClick ? /* @__PURE__ */ jsxRuntime.jsxs(
13303
- "button",
13341
+ /* @__PURE__ */ jsxRuntime.jsx(
13342
+ TitleComponent,
13304
13343
  {
13305
- type: "button",
13344
+ title,
13306
13345
  onClick: onTitleClick,
13307
- "data-calendar-title": true,
13308
- "aria-label": `${title}, click to select year`,
13309
- children: [
13310
- /* @__PURE__ */ jsxRuntime.jsx("h2", { "aria-live": "polite", children: title }),
13311
- showDropdownIndicator && /* @__PURE__ */ jsxRuntime.jsx(DropdownArrowIcon, {})
13312
- ]
13346
+ showDropdownIndicator
13313
13347
  }
13314
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { "data-calendar-title": true, children: /* @__PURE__ */ jsxRuntime.jsx("h2", { "aria-live": "polite", children: title }) }),
13348
+ ),
13315
13349
  /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-calendar-nav": true, children: [
13316
- /* @__PURE__ */ jsxRuntime.jsx(NavigationButton, { ...enhancedPrevProps, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, {}) }),
13317
- /* @__PURE__ */ jsxRuntime.jsx(NavigationButton, { ...enhancedNextProps, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, {}) })
13350
+ /* @__PURE__ */ jsxRuntime.jsx(NavButtonComponent, { ...enhancedPrevProps, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, {}) }),
13351
+ /* @__PURE__ */ jsxRuntime.jsx(NavButtonComponent, { ...enhancedNextProps, children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, {}) })
13318
13352
  ] })
13319
13353
  ] });
13320
13354
  }
@@ -13333,7 +13367,8 @@ function YearGrid({
13333
13367
  selectedYear,
13334
13368
  onYearSelect,
13335
13369
  minYear,
13336
- maxYear
13370
+ maxYear,
13371
+ YearItemComponent
13337
13372
  }) {
13338
13373
  const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
13339
13374
  const startYear = minYear ?? currentYear - YEAR_RANGE_OFFSET;
@@ -13359,6 +13394,17 @@ function YearGrid({
13359
13394
  },
13360
13395
  children: years.map((year) => {
13361
13396
  const isSelected = year === selectedYear;
13397
+ if (YearItemComponent) {
13398
+ return /* @__PURE__ */ jsxRuntime.jsx(
13399
+ YearItemComponent,
13400
+ {
13401
+ year,
13402
+ isSelected,
13403
+ onSelect: onYearSelect
13404
+ },
13405
+ year
13406
+ );
13407
+ }
13362
13408
  return /* @__PURE__ */ jsxRuntime.jsx(
13363
13409
  "button",
13364
13410
  {
@@ -13366,7 +13412,7 @@ function YearGrid({
13366
13412
  role: "gridcell",
13367
13413
  "aria-selected": isSelected,
13368
13414
  "data-year-item": true,
13369
- "data-selected": isSelected || void 0,
13415
+ "data-selected": isSelected ? "" : void 0,
13370
13416
  ref: isSelected ? selectedRef : void 0,
13371
13417
  onClick: () => onYearSelect(year),
13372
13418
  children: year
@@ -13422,6 +13468,7 @@ function SingleCalendarInner({ calendarRef, ...props }) {
13422
13468
  setCurrentView("day");
13423
13469
  props.onViewChange?.("day");
13424
13470
  };
13471
+ const slots = props.slots ?? {};
13425
13472
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...calendarProps, ref: calendarRef, className: props.className, "data-view": currentView, children: [
13426
13473
  /* @__PURE__ */ jsxRuntime.jsx(
13427
13474
  CalendarHeader,
@@ -13430,14 +13477,25 @@ function SingleCalendarInner({ calendarRef, ...props }) {
13430
13477
  prevButtonProps: currentView === "day" ? prevButtonProps : { isDisabled: true },
13431
13478
  nextButtonProps: currentView === "day" ? nextButtonProps : { isDisabled: true },
13432
13479
  onTitleClick: handleTitleClick,
13433
- showDropdownIndicator: true
13480
+ showDropdownIndicator: true,
13481
+ ...slots.NavButtonComponent ? { NavButtonComponent: slots.NavButtonComponent } : {},
13482
+ ...slots.TitleComponent ? { TitleComponent: slots.TitleComponent } : {}
13434
13483
  }
13435
13484
  ),
13436
- currentView === "day" ? /* @__PURE__ */ jsxRuntime.jsx(CalendarGrid, { state, firstDayOfWeek: firstDay }) : /* @__PURE__ */ jsxRuntime.jsx(
13485
+ currentView === "day" ? /* @__PURE__ */ jsxRuntime.jsx(
13486
+ CalendarGrid,
13487
+ {
13488
+ state,
13489
+ firstDayOfWeek: firstDay,
13490
+ ...slots.CellComponent ? { CellComponent: slots.CellComponent } : {},
13491
+ ...slots.WeekdayComponent ? { WeekdayComponent: slots.WeekdayComponent } : {}
13492
+ }
13493
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
13437
13494
  YearGrid,
13438
13495
  {
13439
13496
  selectedYear: state.focusedDate.year,
13440
13497
  onYearSelect: handleYearSelect,
13498
+ ...slots.YearItemComponent ? { YearItemComponent: slots.YearItemComponent } : {},
13441
13499
  ...props.minValue ? { minYear: props.minValue.year } : {},
13442
13500
  ...props.maxValue ? { maxYear: props.maxValue.year } : {}
13443
13501
  }
@@ -13497,6 +13555,7 @@ function RangeCalendarInner({ calendarRef, ...props }) {
13497
13555
  setCurrentView("day");
13498
13556
  props.onViewChange?.("day");
13499
13557
  };
13558
+ const slots = props.slots ?? {};
13500
13559
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...calendarProps, ref: calendarRef, className: props.className, "data-view": currentView, children: [
13501
13560
  /* @__PURE__ */ jsxRuntime.jsx(
13502
13561
  CalendarHeader,
@@ -13505,14 +13564,25 @@ function RangeCalendarInner({ calendarRef, ...props }) {
13505
13564
  prevButtonProps: currentView === "day" ? prevButtonProps : { isDisabled: true },
13506
13565
  nextButtonProps: currentView === "day" ? nextButtonProps : { isDisabled: true },
13507
13566
  onTitleClick: handleTitleClick,
13508
- showDropdownIndicator: true
13567
+ showDropdownIndicator: true,
13568
+ ...slots.NavButtonComponent ? { NavButtonComponent: slots.NavButtonComponent } : {},
13569
+ ...slots.TitleComponent ? { TitleComponent: slots.TitleComponent } : {}
13509
13570
  }
13510
13571
  ),
13511
- currentView === "day" ? /* @__PURE__ */ jsxRuntime.jsx(CalendarGrid, { state, firstDayOfWeek: firstDay }) : /* @__PURE__ */ jsxRuntime.jsx(
13572
+ currentView === "day" ? /* @__PURE__ */ jsxRuntime.jsx(
13573
+ CalendarGrid,
13574
+ {
13575
+ state,
13576
+ firstDayOfWeek: firstDay,
13577
+ ...slots.CellComponent ? { CellComponent: slots.CellComponent } : {},
13578
+ ...slots.WeekdayComponent ? { WeekdayComponent: slots.WeekdayComponent } : {}
13579
+ }
13580
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
13512
13581
  YearGrid,
13513
13582
  {
13514
13583
  selectedYear: state.focusedDate.year,
13515
13584
  onYearSelect: handleYearSelect,
13585
+ ...slots.YearItemComponent ? { YearItemComponent: slots.YearItemComponent } : {},
13516
13586
  ...props.minValue ? { minYear: props.minValue.year } : {},
13517
13587
  ...props.maxValue ? { maxYear: props.maxValue.year } : {}
13518
13588
  }
@@ -13530,6 +13600,24 @@ var CalendarCore = React.forwardRef((props, forwardedRef) => {
13530
13600
  return /* @__PURE__ */ jsxRuntime.jsx(SingleCalendarInner, { ...rest, calendarRef: ref }, "single");
13531
13601
  });
13532
13602
  CalendarCore.displayName = "CalendarCore";
13603
+ function HeadlessActionButton({
13604
+ label,
13605
+ "aria-label": ariaLabel,
13606
+ onPress,
13607
+ isDisabled,
13608
+ "data-action": dataAction
13609
+ }) {
13610
+ const ref = React.useRef(null);
13611
+ const { buttonProps } = reactAria.useButton(
13612
+ {
13613
+ "aria-label": ariaLabel ?? label,
13614
+ isDisabled: isDisabled ?? false,
13615
+ ...onPress ? { onPress } : {}
13616
+ },
13617
+ ref
13618
+ );
13619
+ return /* @__PURE__ */ jsxRuntime.jsx("button", { ...buttonProps, ref, type: "button", "data-action": dataAction, children: label });
13620
+ }
13533
13621
  function DatePickerActions({
13534
13622
  cancelLabel = "Cancel",
13535
13623
  confirmLabel = "OK",
@@ -13539,37 +13627,38 @@ function DatePickerActions({
13539
13627
  onCancel,
13540
13628
  onConfirm,
13541
13629
  onClear,
13542
- className
13630
+ className,
13631
+ ButtonComponent = HeadlessActionButton
13543
13632
  }) {
13544
- const clearRef = React.useRef(null);
13545
- const cancelRef = React.useRef(null);
13546
- const confirmRef = React.useRef(null);
13547
- const { buttonProps: clearButtonProps } = reactAria.useButton(
13548
- {
13549
- "aria-label": clearLabel,
13550
- ...onClear ? { onPress: onClear } : {}
13551
- },
13552
- clearRef
13553
- );
13554
- const { buttonProps: cancelButtonProps } = reactAria.useButton(
13555
- {
13556
- "aria-label": cancelLabel,
13557
- ...onCancel ? { onPress: onCancel } : {}
13558
- },
13559
- cancelRef
13560
- );
13561
- const { buttonProps: confirmButtonProps } = reactAria.useButton(
13562
- {
13563
- "aria-label": confirmLabel,
13564
- isDisabled: isConfirmDisabled,
13565
- ...onConfirm ? { onPress: onConfirm } : {}
13566
- },
13567
- confirmRef
13568
- );
13569
13633
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, "data-actions": true, children: [
13570
- showClear && /* @__PURE__ */ jsxRuntime.jsx("button", { ...clearButtonProps, ref: clearRef, type: "button", "data-action": "clear", children: clearLabel }),
13571
- /* @__PURE__ */ jsxRuntime.jsx("button", { ...cancelButtonProps, ref: cancelRef, type: "button", "data-action": "cancel", children: cancelLabel }),
13572
- /* @__PURE__ */ jsxRuntime.jsx("button", { ...confirmButtonProps, ref: confirmRef, type: "button", "data-action": "confirm", children: confirmLabel })
13634
+ showClear && /* @__PURE__ */ jsxRuntime.jsx(
13635
+ ButtonComponent,
13636
+ {
13637
+ label: clearLabel,
13638
+ "aria-label": clearLabel,
13639
+ onPress: onClear,
13640
+ "data-action": "clear"
13641
+ }
13642
+ ),
13643
+ /* @__PURE__ */ jsxRuntime.jsx(
13644
+ ButtonComponent,
13645
+ {
13646
+ label: cancelLabel,
13647
+ "aria-label": cancelLabel,
13648
+ onPress: onCancel,
13649
+ "data-action": "cancel"
13650
+ }
13651
+ ),
13652
+ /* @__PURE__ */ jsxRuntime.jsx(
13653
+ ButtonComponent,
13654
+ {
13655
+ label: confirmLabel,
13656
+ "aria-label": confirmLabel,
13657
+ onPress: onConfirm,
13658
+ isDisabled: isConfirmDisabled,
13659
+ "data-action": "confirm"
13660
+ }
13661
+ )
13573
13662
  ] });
13574
13663
  }
13575
13664
  DatePickerActions.displayName = "DatePickerActions";
@@ -13608,21 +13697,26 @@ function CalendarTriggerIcon() {
13608
13697
  }
13609
13698
  function PopoverContent({
13610
13699
  popoverRef,
13611
- triggerRef,
13700
+ anchorRef,
13612
13701
  state,
13613
13702
  dialogProps,
13614
13703
  calendarProps,
13615
13704
  cancelLabel,
13616
13705
  confirmLabel,
13617
13706
  onCancel,
13618
- onConfirm
13707
+ onConfirm,
13708
+ slots,
13709
+ ActionButtonComponent,
13710
+ popoverClassName
13619
13711
  }) {
13620
13712
  const { popoverProps } = reactAria.usePopover(
13621
13713
  {
13622
13714
  popoverRef,
13623
- triggerRef,
13715
+ triggerRef: anchorRef,
13624
13716
  placement: "bottom start",
13625
- offset: 4
13717
+ offset: 4,
13718
+ shouldFlip: true,
13719
+ containerPadding: 12
13626
13720
  },
13627
13721
  state
13628
13722
  );
@@ -13636,7 +13730,10 @@ function PopoverContent({
13636
13730
  document.addEventListener("keydown", handleKeyDown);
13637
13731
  return () => document.removeEventListener("keydown", handleKeyDown);
13638
13732
  }, [state]);
13639
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...popoverProps, ref: popoverRef, "data-popover": true, children: [
13733
+ if (typeof document === "undefined") {
13734
+ return null;
13735
+ }
13736
+ const content = /* @__PURE__ */ jsxRuntime.jsxs("div", { ...popoverProps, ref: popoverRef, "data-popover": true, className: cn(popoverClassName), children: [
13640
13737
  /* @__PURE__ */ jsxRuntime.jsx(reactAria.DismissButton, { onDismiss: () => state.close() }),
13641
13738
  /* @__PURE__ */ jsxRuntime.jsxs("div", { ...dialogProps, role: "dialog", children: [
13642
13739
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -13651,7 +13748,8 @@ function PopoverContent({
13651
13748
  ...calendarProps.isReadOnly ? { isReadOnly: calendarProps.isReadOnly } : {},
13652
13749
  ...calendarProps.isDateUnavailable ? { isDateUnavailable: calendarProps.isDateUnavailable } : {}
13653
13750
  },
13654
- "aria-label": calendarProps["aria-label"] ?? "Calendar"
13751
+ "aria-label": calendarProps["aria-label"] ?? "Calendar",
13752
+ ...slots ? { slots } : {}
13655
13753
  }
13656
13754
  ),
13657
13755
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -13660,12 +13758,14 @@ function PopoverContent({
13660
13758
  cancelLabel,
13661
13759
  confirmLabel,
13662
13760
  onCancel,
13663
- onConfirm
13761
+ onConfirm,
13762
+ ...ActionButtonComponent !== void 0 ? { ButtonComponent: ActionButtonComponent } : {}
13664
13763
  }
13665
13764
  )
13666
13765
  ] }),
13667
13766
  /* @__PURE__ */ jsxRuntime.jsx(reactAria.DismissButton, { onDismiss: () => state.close() })
13668
13767
  ] });
13768
+ return reactDom.createPortal(content, document.body);
13669
13769
  }
13670
13770
  var DatePickerDocked = React.forwardRef(
13671
13771
  (props, forwardedRef) => {
@@ -13675,11 +13775,15 @@ var DatePickerDocked = React.forwardRef(
13675
13775
  onCancel,
13676
13776
  onConfirm,
13677
13777
  className,
13778
+ popoverClassName,
13779
+ slots,
13780
+ ActionButtonComponent,
13678
13781
  ...datePickerProps
13679
13782
  } = props;
13680
13783
  const internalRef = React.useRef(null);
13681
13784
  const ref = forwardedRef ?? internalRef;
13682
13785
  const triggerRef = React.useRef(null);
13786
+ const groupRef = React.useRef(null);
13683
13787
  const popoverRef = React.useRef(null);
13684
13788
  const stateProps = {
13685
13789
  ...datePickerProps.value !== void 0 ? { value: datePickerProps.value } : {},
@@ -13710,7 +13814,14 @@ var DatePickerDocked = React.forwardRef(
13710
13814
  dialogProps,
13711
13815
  calendarProps
13712
13816
  } = reactAria.useDatePicker(stateProps, state, ref);
13713
- const { buttonProps: iconButtonProps } = reactAria.useButton(triggerButtonAriaProps, triggerRef);
13817
+ const { buttonProps: iconButtonProps, isPressed: isTriggerPressed } = reactAria.useButton(
13818
+ triggerButtonAriaProps,
13819
+ triggerRef
13820
+ );
13821
+ const { isFocusVisible: isTriggerFocusVisible, focusProps: triggerFocusProps } = reactAria.useFocusRing();
13822
+ const { isHovered: isTriggerHovered, hoverProps: triggerHoverProps } = reactAria.useHover({
13823
+ isDisabled: datePickerProps.isDisabled ?? false
13824
+ });
13714
13825
  const valueBeforeOpenRef = React.useRef(null);
13715
13826
  React.useEffect(() => {
13716
13827
  if (state.isOpen) {
@@ -13739,26 +13850,44 @@ var DatePickerDocked = React.forwardRef(
13739
13850
  ref,
13740
13851
  className,
13741
13852
  "data-variant": "docked",
13742
- "data-open": state.isOpen ?? void 0,
13743
- "data-disabled": datePickerProps.isDisabled ?? void 0,
13853
+ "data-open": state.isOpen ? "" : void 0,
13854
+ "data-disabled": datePickerProps.isDisabled ? "" : void 0,
13744
13855
  children: [
13745
13856
  datePickerProps.label && /* @__PURE__ */ jsxRuntime.jsx("label", { ...labelProps, "data-label": true, children: datePickerProps.label }),
13746
- /* @__PURE__ */ jsxRuntime.jsxs("div", { ...groupProps, "data-field-group": true, children: [
13857
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { ...groupProps, ref: groupRef, "data-field-group": true, children: [
13747
13858
  /* @__PURE__ */ jsxRuntime.jsx(PickerDateField, { fieldProps }),
13748
- /* @__PURE__ */ jsxRuntime.jsx("button", { ...iconButtonProps, ref: triggerRef, type: "button", "data-trigger": true, children: /* @__PURE__ */ jsxRuntime.jsx(CalendarTriggerIcon, {}) })
13859
+ /* @__PURE__ */ jsxRuntime.jsx(
13860
+ "button",
13861
+ {
13862
+ ...reactAria.mergeProps(iconButtonProps, triggerFocusProps, triggerHoverProps),
13863
+ ref: triggerRef,
13864
+ type: "button",
13865
+ "data-trigger": true,
13866
+ ...getInteractionDataAttributes({
13867
+ isHovered: isTriggerHovered,
13868
+ isFocusVisible: isTriggerFocusVisible,
13869
+ isPressed: isTriggerPressed,
13870
+ isDisabled: datePickerProps.isDisabled ?? false
13871
+ }),
13872
+ children: /* @__PURE__ */ jsxRuntime.jsx(CalendarTriggerIcon, {})
13873
+ }
13874
+ )
13749
13875
  ] }),
13750
13876
  state.isOpen && /* @__PURE__ */ jsxRuntime.jsx(
13751
13877
  PopoverContent,
13752
13878
  {
13753
13879
  popoverRef,
13754
- triggerRef,
13880
+ anchorRef: groupRef,
13755
13881
  state,
13756
13882
  dialogProps,
13757
13883
  calendarProps,
13758
13884
  cancelLabel,
13759
13885
  confirmLabel,
13760
13886
  onCancel: handleCancel,
13761
- onConfirm: handleConfirm
13887
+ onConfirm: handleConfirm,
13888
+ ...slots !== void 0 ? { slots } : {},
13889
+ ...ActionButtonComponent !== void 0 ? { ActionButtonComponent } : {},
13890
+ ...popoverClassName !== void 0 ? { popoverClassName } : {}
13762
13891
  }
13763
13892
  )
13764
13893
  ]
@@ -13767,298 +13896,570 @@ var DatePickerDocked = React.forwardRef(
13767
13896
  }
13768
13897
  );
13769
13898
  DatePickerDocked.displayName = "DatePickerDocked";
13770
- var datePickerContainerVariants = classVarianceAuthority.cva(
13899
+ var datePickerContainerVariants = classVarianceAuthority.cva("", {
13900
+ variants: {
13901
+ variant: {
13902
+ docked: "w-[360px]",
13903
+ // NOTE: measurement-derived (360dp fixed width); permitted exception
13904
+ modal: [
13905
+ "bg-surface-container-high",
13906
+ "rounded-3xl",
13907
+ "overflow-hidden",
13908
+ "w-[360px]"
13909
+ // NOTE: measurement-derived (360dp fixed width); permitted exception
13910
+ ],
13911
+ "modal-input": [
13912
+ "bg-surface-container-high",
13913
+ "rounded-3xl",
13914
+ "overflow-hidden",
13915
+ "w-[328px]"
13916
+ // NOTE: measurement-derived (328dp); permitted exception
13917
+ ]
13918
+ }
13919
+ },
13920
+ defaultVariants: {
13921
+ variant: "docked"
13922
+ }
13923
+ });
13924
+ var calendarCellVariants = classVarianceAuthority.cva([
13925
+ // Layout — 48dp circle touch target
13926
+ "relative flex items-center justify-center",
13927
+ "w-[48px] h-[48px]",
13928
+ // NOTE: measurement-derived (48dp touch target); permitted exception
13929
+ "rounded-full",
13930
+ "select-none cursor-pointer",
13931
+ "overflow-hidden",
13932
+ // clips state layer to circle
13933
+ // Typography
13934
+ "text-body-large",
13935
+ // Base text color
13936
+ "text-on-surface",
13937
+ // Effects transition for color changes (not spatial — no overshoot)
13938
+ "transition-colors duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
13939
+ // Remove default focus outline — handled via calendarCellFocusRingVariants
13940
+ "focus-visible:outline-none",
13941
+ // Carries group scope for child slots
13942
+ "group/calendar-cell",
13943
+ // ── Today (unselected) ────────────────────────────────────────────────────
13944
+ "data-[today]:not([data-selected]):text-primary",
13945
+ "data-[today]:not([data-selected]):border data-[today]:not([data-selected]):border-primary",
13946
+ // ── Selected ──────────────────────────────────────────────────────────────
13947
+ "data-[selected]:bg-primary data-[selected]:text-on-primary",
13948
+ // ── Range start/end: half-pill shape (right-flat for start, left-flat for end) ──
13949
+ "data-[range-start]:rounded-r-none",
13950
+ "data-[range-end]:rounded-l-none",
13951
+ // ── Range middle ──────────────────────────────────────────────────────────
13952
+ "data-[range-middle]:bg-secondary-container",
13953
+ "data-[range-middle]:text-on-secondary-container",
13954
+ "data-[range-middle]:rounded-none",
13955
+ // ── Outside month ─────────────────────────────────────────────────────────
13956
+ "data-[outside-month]:not([data-selected]):text-on-surface-variant",
13957
+ // ── Disabled ──────────────────────────────────────────────────────────────
13958
+ "data-[disabled]:text-on-surface/38 data-[disabled]:cursor-not-allowed",
13959
+ // ── Unavailable ───────────────────────────────────────────────────────────
13960
+ "data-[unavailable]:text-on-surface/38 data-[unavailable]:line-through"
13961
+ ]);
13962
+ var calendarCellStateLayerVariants = classVarianceAuthority.cva([
13963
+ "pointer-events-none absolute inset-0 rounded-[inherit] opacity-0",
13964
+ // Base state-layer color (unselected)
13965
+ "bg-on-surface",
13966
+ // Effects transition — spring standard fast (no spatial overshoot)
13967
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
13968
+ // Selected → state layer color switches to on-primary
13969
+ "group-data-[selected]/calendar-cell:bg-on-primary",
13970
+ // Range middle → state layer color switches to on-secondary-container
13971
+ "group-data-[range-middle]/calendar-cell:bg-on-secondary-container",
13972
+ // Interaction opacities (MD3: hover 8%, focus/pressed 10%)
13973
+ "group-data-[hovered]/calendar-cell:opacity-8",
13974
+ "group-data-[focus-visible]/calendar-cell:opacity-10",
13975
+ "group-data-[pressed]/calendar-cell:opacity-10",
13976
+ // No state layer for disabled/unavailable
13977
+ "group-data-[disabled]/calendar-cell:hidden",
13978
+ "group-data-[unavailable]/calendar-cell:hidden"
13979
+ ]);
13980
+ var calendarCellFocusRingVariants = classVarianceAuthority.cva([
13981
+ "pointer-events-none absolute inset-0 rounded-full",
13982
+ "outline outline-2 outline-offset-0 outline-secondary",
13983
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
13984
+ "opacity-0",
13985
+ "group-data-[focus-visible]/calendar-cell:opacity-100"
13986
+ ]);
13987
+ var calendarHeaderVariants = classVarianceAuthority.cva([
13988
+ "flex items-center justify-between",
13989
+ "px-3 py-2"
13990
+ // NOTE: measurement-derived padding; permitted exception
13991
+ ]);
13992
+ var navButtonVariants = classVarianceAuthority.cva([
13993
+ // Layout
13994
+ "relative flex items-center justify-center",
13995
+ "w-10 h-10 rounded-full",
13996
+ // NOTE: 40dp; permitted exception
13997
+ // Typography
13998
+ "text-on-surface-variant",
13999
+ // Reset
14000
+ "bg-transparent border-none cursor-pointer",
14001
+ "overflow-hidden",
14002
+ // Focus outline removed — ring handled by navButtonFocusRingVariants
14003
+ "focus-visible:outline-none",
14004
+ // Effects transition
14005
+ "transition-colors duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14006
+ // Disabled — self-targeting
14007
+ "data-[disabled]:text-on-surface/38 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none",
14008
+ // Carries group scope
14009
+ "group/nav-button"
14010
+ ]);
14011
+ var navButtonStateLayerVariants = classVarianceAuthority.cva([
14012
+ "pointer-events-none absolute inset-0 rounded-full opacity-0",
14013
+ "bg-on-surface-variant",
14014
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14015
+ "group-data-[hovered]/nav-button:opacity-8",
14016
+ "group-data-[focus-visible]/nav-button:opacity-10",
14017
+ "group-data-[pressed]/nav-button:opacity-10",
14018
+ "group-data-[disabled]/nav-button:hidden"
14019
+ ]);
14020
+ var navButtonFocusRingVariants = classVarianceAuthority.cva([
14021
+ "pointer-events-none absolute inset-0 rounded-full",
14022
+ "outline outline-2 outline-offset-0 outline-secondary",
14023
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14024
+ "opacity-0",
14025
+ "group-data-[focus-visible]/nav-button:opacity-100"
14026
+ ]);
14027
+ var calendarTitleVariants = classVarianceAuthority.cva([
14028
+ "relative flex items-center gap-0.5",
14029
+ "bg-transparent border-none cursor-pointer",
14030
+ "rounded-full px-2 py-1",
14031
+ "overflow-hidden",
14032
+ "focus-visible:outline-none",
14033
+ // Effects transition
14034
+ "transition-colors duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14035
+ // Group scope
14036
+ "group/calendar-title"
14037
+ ]);
14038
+ var calendarTitleTextVariants = classVarianceAuthority.cva([
14039
+ "text-label-large text-on-surface-variant m-0 pointer-events-none"
14040
+ ]);
14041
+ var calendarTitleIconVariants = classVarianceAuthority.cva(["text-on-surface-variant pointer-events-none"]);
14042
+ var calendarTitleStateLayerVariants = classVarianceAuthority.cva([
14043
+ "pointer-events-none absolute inset-0 rounded-full opacity-0",
14044
+ "bg-on-surface-variant",
14045
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14046
+ "group-data-[hovered]/calendar-title:opacity-8",
14047
+ "group-data-[focus-visible]/calendar-title:opacity-10",
14048
+ "group-data-[pressed]/calendar-title:opacity-10"
14049
+ ]);
14050
+ var yearGridVariants = classVarianceAuthority.cva([
14051
+ "grid grid-cols-3 gap-2",
14052
+ "px-3 py-2",
14053
+ "max-h-[280px] overflow-y-auto",
14054
+ // NOTE: measurement-derived max height; permitted exception
14055
+ "place-items-center"
14056
+ ]);
14057
+ var yearItemVariants = classVarianceAuthority.cva([
14058
+ // Layout
14059
+ "relative flex items-center justify-center",
14060
+ "w-[88px] h-[52px]",
14061
+ // NOTE: measurement-derived (88dp×52dp); permitted exception
14062
+ "rounded-full",
14063
+ "cursor-pointer select-none",
14064
+ "overflow-hidden",
14065
+ // Typography
14066
+ "text-body-large",
14067
+ // Reset
14068
+ "bg-transparent border-none",
14069
+ // Focus outline removed — ring handled by yearItemFocusRingVariants
14070
+ "focus-visible:outline-none",
14071
+ // Effects transition
14072
+ "transition-colors duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14073
+ // Group scope
14074
+ "group/year-item",
14075
+ // ── Unselected (base) ─────────────────────────────────────────────────────
14076
+ "text-on-surface-variant",
14077
+ // ── Selected ──────────────────────────────────────────────────────────────
14078
+ "data-[selected]:bg-primary data-[selected]:text-on-primary",
14079
+ // ── Disabled ──────────────────────────────────────────────────────────────
14080
+ "data-[disabled]:text-on-surface/38 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none"
14081
+ ]);
14082
+ var yearItemStateLayerVariants = classVarianceAuthority.cva([
14083
+ "pointer-events-none absolute inset-0 rounded-full opacity-0",
14084
+ "bg-on-surface-variant",
14085
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14086
+ // Selected → state layer switches color
14087
+ "group-data-[selected]/year-item:bg-on-primary",
14088
+ // Interaction opacities
14089
+ "group-data-[hovered]/year-item:opacity-8",
14090
+ "group-data-[focus-visible]/year-item:opacity-10",
14091
+ "group-data-[pressed]/year-item:opacity-10",
14092
+ "group-data-[disabled]/year-item:hidden"
14093
+ ]);
14094
+ var yearItemFocusRingVariants = classVarianceAuthority.cva([
14095
+ "pointer-events-none absolute inset-0 rounded-full",
14096
+ "outline outline-2 outline-offset-0 outline-secondary",
14097
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14098
+ "opacity-0",
14099
+ "group-data-[focus-visible]/year-item:opacity-100"
14100
+ ]);
14101
+ var weekdayVariants = classVarianceAuthority.cva([
14102
+ "text-body-small text-on-surface-variant font-normal",
14103
+ "w-[48px] h-[48px]",
14104
+ // NOTE: measurement-derived; permitted exception
14105
+ "flex items-center justify-center",
14106
+ "select-none"
14107
+ ]);
14108
+ var calendarDividerVariants = classVarianceAuthority.cva(["border-t border-outline-variant w-full"]);
14109
+ var actionRowVariants = classVarianceAuthority.cva([
14110
+ "flex items-center justify-end gap-2",
14111
+ "px-3 py-2",
14112
+ "h-12"
14113
+ // NOTE: measurement-derived (48dp action row height); permitted exception
14114
+ ]);
14115
+ var actionButtonVariants = classVarianceAuthority.cva([
14116
+ // Layout
14117
+ "relative flex items-center justify-center",
14118
+ "rounded-full px-3 py-2 min-h-[48px]",
14119
+ // NOTE: 48dp min touch; permitted exception
14120
+ // Typography + color
14121
+ "text-label-large text-primary",
14122
+ // Reset
14123
+ "bg-transparent border-none cursor-pointer",
14124
+ "overflow-hidden",
14125
+ "focus-visible:outline-none",
14126
+ // Effects transition
14127
+ "transition-colors duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14128
+ // Group scope
14129
+ "group/action-button",
14130
+ // Disabled
14131
+ "data-[disabled]:text-on-surface/38 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none"
14132
+ ]);
14133
+ var actionButtonStateLayerVariants = classVarianceAuthority.cva([
14134
+ "pointer-events-none absolute inset-0 rounded-full opacity-0",
14135
+ "bg-primary",
14136
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14137
+ "group-data-[hovered]/action-button:opacity-8",
14138
+ "group-data-[focus-visible]/action-button:opacity-10",
14139
+ "group-data-[pressed]/action-button:opacity-10",
14140
+ "group-data-[disabled]/action-button:hidden"
14141
+ ]);
14142
+ var actionButtonFocusRingVariants = classVarianceAuthority.cva([
14143
+ "pointer-events-none absolute inset-0 rounded-full",
14144
+ "outline outline-2 outline-offset-0 outline-primary",
14145
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14146
+ "opacity-0",
14147
+ "group-data-[focus-visible]/action-button:opacity-100"
14148
+ ]);
14149
+ var modalDialogVariants = classVarianceAuthority.cva(
13771
14150
  [
13772
- "bg-surface-container-high",
13773
- "rounded-3xl",
13774
- // NOTE: shape.extra-large = 28dp; mapped via @theme token
13775
- "overflow-hidden"
14151
+ "bg-surface-container-high rounded-3xl overflow-hidden",
14152
+ "fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",
14153
+ "z-50",
14154
+ "max-h-[90vh] overflow-y-auto"
13776
14155
  ],
13777
14156
  {
13778
14157
  variants: {
13779
14158
  variant: {
13780
- docked: "w-[360px]",
13781
- // NOTE: measurement-derived value from MD3 spec (360dp fixed width); permitted exception
13782
14159
  modal: "w-[360px]",
13783
- // NOTE: measurement-derived value from MD3 spec (360dp fixed width); permitted exception
14160
+ // NOTE: measurement-derived; permitted exception
13784
14161
  "modal-input": "w-[328px]"
13785
- // NOTE: measurement-derived value from MD3 spec (328dp); permitted exception
13786
- }
13787
- },
13788
- defaultVariants: {
13789
- variant: "docked"
13790
- }
13791
- }
13792
- );
13793
- var calendarCellVariants = classVarianceAuthority.cva(
13794
- [
13795
- "w-[48px]",
13796
- // NOTE: measurement-derived (48dp touch target); permitted exception
13797
- "h-[48px]",
13798
- // NOTE: measurement-derived (48dp); permitted exception
13799
- "rounded-full",
13800
- // shape.full = circle
13801
- "flex",
13802
- "items-center",
13803
- "justify-center",
13804
- "text-body-large",
13805
- "relative",
13806
- "cursor-pointer",
13807
- "select-none",
13808
- "transition-colors",
13809
- "duration-spring-standard-fast-effects",
13810
- "ease-spring-standard-fast-effects"
13811
- ],
13812
- {
13813
- variants: {
13814
- cellType: {
13815
- default: "text-on-surface",
13816
- today: "text-primary border border-primary",
13817
- selected: "bg-primary text-on-primary",
13818
- "selected-range-middle": "bg-secondary-container text-on-secondary-container rounded-none",
13819
- "outside-month": "text-on-surface-variant",
13820
- disabled: "text-on-surface/38 cursor-not-allowed"
13821
- },
13822
- state: {
13823
- enabled: "",
13824
- hovered: "",
13825
- focused: "",
13826
- pressed: ""
14162
+ // NOTE: measurement-derived; permitted exception
13827
14163
  }
13828
14164
  },
13829
- compoundVariants: [
13830
- // Default cell states
13831
- {
13832
- cellType: "default",
13833
- state: "hovered",
13834
- className: "bg-on-surface/8"
13835
- },
13836
- {
13837
- cellType: "default",
13838
- state: "focused",
13839
- className: "bg-on-surface/10 ring-2 ring-on-surface"
13840
- },
13841
- {
13842
- cellType: "default",
13843
- state: "pressed",
13844
- className: "bg-on-surface/10"
13845
- },
13846
- // Today cell states
13847
- {
13848
- cellType: "today",
13849
- state: "hovered",
13850
- className: "bg-primary/8"
13851
- },
13852
- {
13853
- cellType: "today",
13854
- state: "focused",
13855
- className: "bg-primary/10"
13856
- },
13857
- {
13858
- cellType: "today",
13859
- state: "pressed",
13860
- className: "bg-primary/10"
13861
- },
13862
- // Selected cell states
13863
- {
13864
- cellType: "selected",
13865
- state: "hovered",
13866
- className: "bg-primary shadow-sm"
13867
- },
13868
- {
13869
- cellType: "selected",
13870
- state: "focused",
13871
- className: "bg-primary shadow-sm"
13872
- },
13873
- {
13874
- cellType: "selected",
13875
- state: "pressed",
13876
- className: "bg-primary shadow-sm"
13877
- },
13878
- // Range middle states
13879
- {
13880
- cellType: "selected-range-middle",
13881
- state: "hovered",
13882
- className: "bg-secondary-container/80"
13883
- },
13884
- {
13885
- cellType: "selected-range-middle",
13886
- state: "focused",
13887
- className: "bg-secondary-container/80"
13888
- }
13889
- ],
13890
14165
  defaultVariants: {
13891
- cellType: "default",
13892
- state: "enabled"
14166
+ variant: "modal"
13893
14167
  }
13894
14168
  }
13895
14169
  );
13896
- var datePickerHeaderVariants = classVarianceAuthority.cva(
13897
- ["px-6", "pt-4", "pb-3"],
14170
+ var modalHeaderVariants = classVarianceAuthority.cva([
14171
+ "flex items-start justify-between",
14172
+ "px-6 pt-4 pb-3"
13898
14173
  // NOTE: measurement-derived padding; permitted exception
13899
- {
13900
- variants: {
13901
- variant: {
13902
- docked: "h-[56px] px-3 flex items-center",
13903
- // NOTE: measurement-derived (56dp header); permitted exception
13904
- modal: "h-auto",
13905
- "modal-input": "h-auto"
13906
- }
13907
- },
13908
- defaultVariants: {
13909
- variant: "docked"
13910
- }
13911
- }
13912
- );
13913
- var datePickerNavVariants = classVarianceAuthority.cva(
13914
- ["text-on-surface-variant", "flex", "items-center", "gap-1"],
13915
- {
13916
- variants: {
13917
- state: {
13918
- enabled: "",
13919
- hovered: "bg-on-surface-variant/8",
13920
- focused: "bg-on-surface-variant/10",
13921
- pressed: "bg-on-surface-variant/10",
13922
- disabled: "text-on-surface/38 cursor-not-allowed"
13923
- }
14174
+ ]);
14175
+ var headlineVariants = classVarianceAuthority.cva(["text-label-large text-on-surface-variant m-0"]);
14176
+ var supportingTextVariants = classVarianceAuthority.cva([
14177
+ "text-headline-large text-on-surface mt-9 m-0"
14178
+ // NOTE: measurement-derived mt; permitted exception
14179
+ ]);
14180
+ var modeToggleVariants = classVarianceAuthority.cva([
14181
+ "relative flex items-center justify-center",
14182
+ "w-12 h-12 rounded-full",
14183
+ // NOTE: 48dp; permitted exception
14184
+ "text-on-surface-variant",
14185
+ "bg-transparent border-none cursor-pointer self-end",
14186
+ "overflow-hidden",
14187
+ "focus-visible:outline-none",
14188
+ "transition-colors duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14189
+ "group/mode-toggle"
14190
+ ]);
14191
+ var modeToggleStateLayerVariants = classVarianceAuthority.cva([
14192
+ "pointer-events-none absolute inset-0 rounded-full opacity-0",
14193
+ "bg-on-surface-variant",
14194
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14195
+ "group-data-[hovered]/mode-toggle:opacity-8",
14196
+ "group-data-[focus-visible]/mode-toggle:opacity-10",
14197
+ "group-data-[pressed]/mode-toggle:opacity-10"
14198
+ ]);
14199
+ var scrimVariants2 = classVarianceAuthority.cva([
14200
+ "fixed inset-0 z-40",
14201
+ "bg-scrim opacity-32",
14202
+ "transition-opacity duration-medium2 ease-standard"
14203
+ ]);
14204
+ var dateInputFieldVariants = classVarianceAuthority.cva(["px-6 py-2"]);
14205
+ var dateInputFieldGroupVariants = classVarianceAuthority.cva([
14206
+ "flex items-center",
14207
+ "border border-outline rounded-sm",
14208
+ "px-4 py-3",
14209
+ // NOTE: measurement-derived; permitted exception
14210
+ "text-body-large text-on-surface",
14211
+ // Focus state (data-focused on parent wrapper)
14212
+ "peer-data-[focused]:border-2 peer-data-[focused]:border-primary",
14213
+ // Invalid state
14214
+ "peer-data-[invalid]:border-error peer-data-[invalid]:border-2"
14215
+ ]);
14216
+ var dateInputLabelVariants = classVarianceAuthority.cva(["text-body-small text-on-surface-variant block mb-1"]);
14217
+ var dateInputErrorVariants = classVarianceAuthority.cva(["text-body-small text-error mt-1"]);
14218
+ var dockedFieldGroupVariants = classVarianceAuthority.cva([
14219
+ "flex items-center",
14220
+ "border border-outline rounded",
14221
+ "h-14",
14222
+ // NOTE: measurement-derived (56dp); permitted exception
14223
+ "px-3 gap-2",
14224
+ "bg-transparent",
14225
+ // Focus-within: promote to primary 2dp border
14226
+ "focus-within:border-primary focus-within:border-2"
14227
+ ]);
14228
+ var dockedTriggerVariants = classVarianceAuthority.cva([
14229
+ "relative flex items-center justify-center",
14230
+ "w-10 h-10 rounded-full",
14231
+ // NOTE: 40dp; permitted exception
14232
+ "text-on-surface-variant",
14233
+ "bg-transparent border-none cursor-pointer",
14234
+ "overflow-hidden",
14235
+ "focus-visible:outline-none",
14236
+ "transition-colors duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14237
+ "group/docked-trigger"
14238
+ ]);
14239
+ var dockedTriggerStateLayerVariants = classVarianceAuthority.cva([
14240
+ "pointer-events-none absolute inset-0 rounded-full opacity-0",
14241
+ "bg-on-surface-variant",
14242
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
14243
+ "group-data-[hovered]/docked-trigger:opacity-8",
14244
+ "group-data-[focus-visible]/docked-trigger:opacity-10",
14245
+ "group-data-[pressed]/docked-trigger:opacity-10"
14246
+ ]);
14247
+ var popoverVariants = classVarianceAuthority.cva([
14248
+ "bg-surface-container-high rounded-3xl",
14249
+ "shadow-elevation-2 overflow-hidden",
14250
+ "z-50 w-[360px]"
14251
+ ]);
14252
+ var dockedLabelVariants = classVarianceAuthority.cva(["text-body-small text-on-surface-variant block mb-1"]);
14253
+ var dateFieldVariants = classVarianceAuthority.cva([
14254
+ "flex items-center flex-1",
14255
+ "text-body-large text-on-surface"
14256
+ ]);
14257
+ var dateSegmentPlaceholderVariants = classVarianceAuthority.cva(["text-on-surface-variant"]);
14258
+ function StyledCalendarCell({ date, state }) {
14259
+ return /* @__PURE__ */ jsxRuntime.jsxs(CalendarCell, { date, state, className: cn(calendarCellVariants()), children: [
14260
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(calendarCellStateLayerVariants()), "aria-hidden": "true" }),
14261
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(calendarCellFocusRingVariants()), "aria-hidden": "true" })
14262
+ ] });
14263
+ }
14264
+ StyledCalendarCell.displayName = "StyledCalendarCell";
14265
+ function StyledNavButton({
14266
+ children,
14267
+ isDisabled,
14268
+ onPress,
14269
+ "aria-label": ariaLabel
14270
+ }) {
14271
+ const ref = React.useRef(null);
14272
+ const { buttonProps, isPressed } = reactAria.useButton(
14273
+ {
14274
+ isDisabled: isDisabled ?? false,
14275
+ ...onPress ? { onPress } : {},
14276
+ ...ariaLabel ? { "aria-label": ariaLabel } : {}
13924
14277
  },
13925
- defaultVariants: {
13926
- state: "enabled"
14278
+ ref
14279
+ );
14280
+ const { isFocusVisible, focusProps } = reactAria.useFocusRing();
14281
+ const { isHovered, hoverProps } = reactAria.useHover({ isDisabled: isDisabled ?? false });
14282
+ return /* @__PURE__ */ jsxRuntime.jsxs(
14283
+ "button",
14284
+ {
14285
+ ...reactAria.mergeProps(buttonProps, focusProps, hoverProps),
14286
+ ref,
14287
+ type: "button",
14288
+ className: cn(navButtonVariants()),
14289
+ ...getInteractionDataAttributes({
14290
+ isHovered,
14291
+ isFocusVisible,
14292
+ isPressed,
14293
+ isDisabled: isDisabled ?? false
14294
+ }),
14295
+ children: [
14296
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(navButtonStateLayerVariants()), "aria-hidden": "true" }),
14297
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(navButtonFocusRingVariants()), "aria-hidden": "true" }),
14298
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none relative z-10 flex items-center justify-center", children })
14299
+ ]
13927
14300
  }
13928
- }
13929
- );
13930
- var yearItemVariants = classVarianceAuthority.cva(
13931
- [
13932
- "w-[88px]",
13933
- // NOTE: measurement-derived (88dp); permitted exception
13934
- "h-[52px]",
13935
- // NOTE: measurement-derived (52dp); permitted exception
13936
- "rounded-full",
13937
- // pill shape
13938
- "flex",
13939
- "items-center",
13940
- "justify-center",
13941
- "text-body-large",
13942
- "cursor-pointer",
13943
- "transition-colors",
13944
- "duration-spring-standard-fast-effects",
13945
- "ease-spring-standard-fast-effects"
13946
- ],
13947
- {
13948
- variants: {
13949
- selected: {
13950
- true: "bg-primary text-on-primary",
13951
- false: "text-on-surface-variant"
13952
- },
13953
- state: {
13954
- enabled: "",
13955
- hovered: "",
13956
- focused: "",
13957
- pressed: "",
13958
- disabled: "text-on-surface/38 cursor-not-allowed"
13959
- }
13960
- },
13961
- compoundVariants: [
13962
- {
13963
- selected: false,
13964
- state: "hovered",
13965
- className: "bg-on-surface-variant/8"
13966
- },
13967
- {
13968
- selected: false,
13969
- state: "focused",
13970
- className: "bg-on-surface-variant/10"
13971
- },
13972
- {
13973
- selected: true,
13974
- state: "hovered",
13975
- className: "bg-primary/90"
13976
- },
14301
+ );
14302
+ }
14303
+ StyledNavButton.displayName = "StyledNavButton";
14304
+ function StyledCalendarTitle({
14305
+ title,
14306
+ onClick,
14307
+ showDropdownIndicator
14308
+ }) {
14309
+ const ref = React.useRef(null);
14310
+ const { isFocusVisible, focusProps } = reactAria.useFocusRing();
14311
+ const { isHovered, hoverProps } = reactAria.useHover({});
14312
+ const { pressProps, isPressed } = reactAria.usePress({});
14313
+ if (onClick) {
14314
+ return /* @__PURE__ */ jsxRuntime.jsxs(
14315
+ "button",
13977
14316
  {
13978
- selected: true,
13979
- state: "focused",
13980
- className: "bg-primary/90"
14317
+ ...reactAria.mergeProps(focusProps, hoverProps, pressProps),
14318
+ ref,
14319
+ type: "button",
14320
+ className: cn(calendarTitleVariants()),
14321
+ "aria-label": `${title}, click to select year`,
14322
+ onClick,
14323
+ ...getInteractionDataAttributes({ isHovered, isFocusVisible, isPressed }),
14324
+ children: [
14325
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(calendarTitleStateLayerVariants()), "aria-hidden": "true" }),
14326
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { "aria-live": "polite", className: cn(calendarTitleTextVariants()), children: title }),
14327
+ showDropdownIndicator && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(calendarTitleIconVariants()), children: /* @__PURE__ */ jsxRuntime.jsx(DropdownArrowIcon, {}) })
14328
+ ]
13981
14329
  }
13982
- ],
13983
- defaultVariants: {
13984
- selected: false,
13985
- state: "enabled"
13986
- }
14330
+ );
13987
14331
  }
13988
- );
13989
- var datePickerDividerVariants = classVarianceAuthority.cva(["border-outline-variant", "border-t", "w-full"]);
13990
- var datePickerActionVariants = classVarianceAuthority.cva([
13991
- "flex",
13992
- "items-center",
13993
- "justify-end",
13994
- "gap-2",
13995
- "px-3",
13996
- "py-2",
13997
- "h-12"
13998
- // NOTE: measurement-derived (48dp action row height); permitted exception
13999
- ]);
14000
- var datePickerActionButtonVariants = classVarianceAuthority.cva([
14001
- "text-primary",
14002
- "text-label-large",
14003
- "rounded-full",
14004
- "px-3",
14005
- "py-2",
14006
- "transition-colors",
14007
- "duration-spring-standard-fast-effects",
14008
- "ease-spring-standard-fast-effects",
14009
- "hover:bg-primary/8",
14010
- "focus-visible:bg-primary/10",
14011
- "active:bg-primary/10"
14012
- ]);
14013
- var datePickerWeekdayVariants = classVarianceAuthority.cva([
14014
- "text-body-small",
14015
- "text-on-surface",
14016
- "font-normal",
14017
- "w-[48px]",
14018
- // NOTE: measurement-derived (48dp column width); permitted exception
14019
- "h-[48px]",
14020
- // NOTE: measurement-derived (48dp row height); permitted exception
14021
- "text-center"
14022
- ]);
14023
- var datePickerRangeIndicatorVariants = classVarianceAuthority.cva([
14024
- "bg-secondary-container",
14025
- "h-[48px]",
14026
- // NOTE: measurement-derived (48dp range indicator height); permitted exception
14027
- "rounded-none"
14028
- ]);
14029
- var datePickerHeadlineVariants = classVarianceAuthority.cva([], {
14030
- variants: {
14031
- variant: {
14032
- docked: "",
14033
- modal: ["text-headline-small", "text-on-surface"],
14034
- "modal-input": ["text-headline-small", "text-on-surface"]
14332
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(calendarTitleVariants(), "cursor-default"), children: /* @__PURE__ */ jsxRuntime.jsx("h2", { "aria-live": "polite", className: cn(calendarTitleTextVariants()), children: title }) });
14333
+ }
14334
+ StyledCalendarTitle.displayName = "StyledCalendarTitle";
14335
+ calendarHeaderVariants();
14336
+ function StyledYearItem({
14337
+ year,
14338
+ isSelected,
14339
+ onSelect
14340
+ }) {
14341
+ const ref = React.useRef(null);
14342
+ const { isFocusVisible, focusProps } = reactAria.useFocusRing();
14343
+ const { isHovered, hoverProps } = reactAria.useHover({});
14344
+ const { pressProps, isPressed } = reactAria.usePress({});
14345
+ return /* @__PURE__ */ jsxRuntime.jsxs(
14346
+ "button",
14347
+ {
14348
+ ...reactAria.mergeProps(focusProps, hoverProps, pressProps),
14349
+ ref,
14350
+ type: "button",
14351
+ role: "gridcell",
14352
+ "aria-selected": isSelected,
14353
+ className: cn(yearItemVariants()),
14354
+ onClick: () => onSelect(year),
14355
+ ...getInteractionDataAttributes({
14356
+ isHovered,
14357
+ isFocusVisible,
14358
+ isPressed,
14359
+ isSelected
14360
+ }),
14361
+ children: [
14362
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(yearItemStateLayerVariants()), "aria-hidden": "true" }),
14363
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(yearItemFocusRingVariants()), "aria-hidden": "true" }),
14364
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none relative z-10", children: year })
14365
+ ]
14366
+ }
14367
+ );
14368
+ }
14369
+ StyledYearItem.displayName = "StyledYearItem";
14370
+ function StyledWeekday({ label }) {
14371
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(weekdayVariants()), children: label });
14372
+ }
14373
+ StyledWeekday.displayName = "StyledWeekday";
14374
+ function StyledActionButton({
14375
+ label,
14376
+ "aria-label": ariaLabel,
14377
+ onPress,
14378
+ isDisabled,
14379
+ "data-action": dataAction
14380
+ }) {
14381
+ const ref = React.useRef(null);
14382
+ const { buttonProps, isPressed } = reactAria.useButton(
14383
+ {
14384
+ "aria-label": ariaLabel ?? label,
14385
+ isDisabled: isDisabled ?? false,
14386
+ ...onPress ? { onPress } : {}
14387
+ },
14388
+ ref
14389
+ );
14390
+ const { isFocusVisible, focusProps } = reactAria.useFocusRing();
14391
+ const { isHovered, hoverProps } = reactAria.useHover({ isDisabled: isDisabled ?? false });
14392
+ return /* @__PURE__ */ jsxRuntime.jsxs(
14393
+ "button",
14394
+ {
14395
+ ...reactAria.mergeProps(buttonProps, focusProps, hoverProps),
14396
+ ref,
14397
+ type: "button",
14398
+ "data-action": dataAction,
14399
+ className: cn(actionButtonVariants()),
14400
+ ...getInteractionDataAttributes({
14401
+ isHovered,
14402
+ isFocusVisible,
14403
+ isPressed,
14404
+ isDisabled: isDisabled ?? false
14405
+ }),
14406
+ children: [
14407
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(actionButtonStateLayerVariants()), "aria-hidden": "true" }),
14408
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(actionButtonFocusRingVariants()), "aria-hidden": "true" }),
14409
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none relative z-10", children: label })
14410
+ ]
14035
14411
  }
14036
- },
14037
- defaultVariants: {
14038
- variant: "modal"
14039
- }
14040
- });
14041
- var datePickerSupportingTextVariants = classVarianceAuthority.cva([
14042
- "text-label-large",
14043
- "text-on-surface-variant"
14044
- ]);
14045
- var datePickerScrimVariants = classVarianceAuthority.cva([
14046
- "fixed",
14047
- "inset-0",
14048
- "z-40",
14049
- "bg-scrim",
14050
- "opacity-32",
14051
- "transition-opacity",
14052
- "duration-medium2",
14053
- "ease-standard"
14054
- ]);
14055
- var CALENDAR_STYLES = [
14056
- // ── Label ─────────────────────────────────────────────────────────────────
14412
+ );
14413
+ }
14414
+ StyledActionButton.displayName = "StyledActionButton";
14415
+
14416
+ // src/components/DatePicker/datePickerStructuralStyles.ts
14417
+ var CALENDAR_HEADER_STRUCTURAL = [
14418
+ "[&_[data-calendar-header]]:flex",
14419
+ "[&_[data-calendar-header]]:items-center",
14420
+ "[&_[data-calendar-header]]:justify-between",
14421
+ "[&_[data-calendar-header]]:px-3",
14422
+ "[&_[data-calendar-header]]:py-2",
14423
+ // Nav group
14424
+ "[&_[data-calendar-nav]]:flex",
14425
+ "[&_[data-calendar-nav]]:items-center",
14426
+ "[&_[data-calendar-nav]]:gap-1"
14427
+ ];
14428
+ var CALENDAR_GRID_STRUCTURAL = [
14429
+ // Table resets
14430
+ "[&_table]:border-collapse",
14431
+ // Center the fixed-width table so 7×48px = 336px is equally inset within 360px
14432
+ "[&_table]:mx-auto",
14433
+ "[&_th]:p-0",
14434
+ "[&_td]:p-0"
14435
+ ];
14436
+ var YEAR_GRID_STRUCTURAL = [
14437
+ "[&_[data-year-grid]]:grid",
14438
+ "[&_[data-year-grid]]:grid-cols-3",
14439
+ "[&_[data-year-grid]]:gap-2",
14440
+ "[&_[data-year-grid]]:px-3",
14441
+ "[&_[data-year-grid]]:py-2",
14442
+ "[&_[data-year-grid]]:max-h-[280px]",
14443
+ "[&_[data-year-grid]]:overflow-y-auto",
14444
+ "[&_[data-year-grid]]:place-items-center"
14445
+ ];
14446
+ var DIVIDER_STRUCTURAL = ["[&_hr[data-divider]]:border-outline-variant"];
14447
+ var ACTION_ROW_STRUCTURAL = [
14448
+ "[&_[data-actions]]:flex",
14449
+ "[&_[data-actions]]:items-center",
14450
+ "[&_[data-actions]]:justify-end",
14451
+ "[&_[data-actions]]:gap-2",
14452
+ "[&_[data-actions]]:px-3",
14453
+ "[&_[data-actions]]:py-2",
14454
+ "[&_[data-actions]]:h-12"
14455
+ ];
14456
+ var DOCKED_LABEL_STRUCTURAL = [
14057
14457
  "[&_[data-label]]:text-body-small",
14058
14458
  "[&_[data-label]]:text-on-surface-variant",
14059
14459
  "[&_[data-label]]:mb-1",
14060
- "[&_[data-label]]:block",
14061
- // ── Field group (outlined text field container) ───────────────────────────
14460
+ "[&_[data-label]]:block"
14461
+ ];
14462
+ var DOCKED_FIELD_STRUCTURAL = [
14062
14463
  "[&_[data-field-group]]:flex",
14063
14464
  "[&_[data-field-group]]:items-center",
14064
14465
  "[&_[data-field-group]]:border",
@@ -14070,15 +14471,16 @@ var CALENDAR_STYLES = [
14070
14471
  "[&_[data-field-group]]:bg-transparent",
14071
14472
  "[&_[data-field-group]:focus-within]:border-primary",
14072
14473
  "[&_[data-field-group]:focus-within]:border-2",
14073
- // ── Date field segments (inline rendering) ────────────────────────────────
14074
14474
  "[&_[data-field]]:flex",
14075
14475
  "[&_[data-field]]:items-center",
14076
14476
  "[&_[data-field]]:flex-1",
14077
14477
  "[&_[data-field]]:text-body-large",
14078
14478
  "[&_[data-field]]:text-on-surface",
14079
14479
  "[&_[data-segment]]:outline-none",
14080
- "[&_[data-segment][data-placeholder]]:text-on-surface-variant",
14081
- // ── Trigger button (calendar icon) ────────────────────────────────────────
14480
+ "[&_[data-segment][data-placeholder]]:text-on-surface-variant"
14481
+ ];
14482
+ var DOCKED_TRIGGER_STRUCTURAL = [
14483
+ "[&_[data-trigger]]:relative",
14082
14484
  "[&_[data-trigger]]:flex",
14083
14485
  "[&_[data-trigger]]:items-center",
14084
14486
  "[&_[data-trigger]]:justify-center",
@@ -14086,178 +14488,109 @@ var CALENDAR_STYLES = [
14086
14488
  "[&_[data-trigger]]:h-10",
14087
14489
  "[&_[data-trigger]]:rounded-full",
14088
14490
  "[&_[data-trigger]]:text-on-surface-variant",
14491
+ "[&_[data-trigger]]:bg-transparent",
14492
+ "[&_[data-trigger]]:border-none",
14493
+ "[&_[data-trigger]]:cursor-pointer",
14089
14494
  "[&_[data-trigger]]:transition-colors",
14090
14495
  "[&_[data-trigger]]:duration-spring-standard-fast-effects",
14091
14496
  "[&_[data-trigger]]:ease-spring-standard-fast-effects",
14092
- "[&_[data-trigger]:hover]:bg-on-surface/8",
14093
- // ── Popover ───────────────────────────────────────────────────────────────
14094
- "[&_[data-popover]]:bg-surface-container-high",
14095
- "[&_[data-popover]]:rounded-3xl",
14096
- "[&_[data-popover]]:mt-1",
14097
- "[&_[data-popover]]:shadow-elevation-2",
14098
- "[&_[data-popover]]:overflow-hidden",
14099
- "[&_[data-popover]]:z-50",
14100
- // ── Calendar header ───────────────────────────────────────────────────────
14101
- "[&_[data-calendar-header]]:flex",
14102
- "[&_[data-calendar-header]]:items-center",
14103
- "[&_[data-calendar-header]]:justify-between",
14104
- "[&_[data-calendar-header]]:px-3",
14105
- "[&_[data-calendar-header]]:py-2",
14106
- // ── Calendar title (month/year label) ─────────────────────────────────────
14107
- "[&_[data-calendar-title]]:flex",
14108
- "[&_[data-calendar-title]]:items-center",
14109
- "[&_[data-calendar-title]]:gap-0.5",
14110
- "[&_[data-calendar-title]]:bg-transparent",
14111
- "[&_[data-calendar-title]]:border-none",
14112
- "[&_[data-calendar-title]]:cursor-pointer",
14113
- "[&_[data-calendar-title]]:rounded-full",
14114
- "[&_[data-calendar-title]]:px-2",
14115
- "[&_[data-calendar-title]]:py-1",
14116
- "[&_[data-calendar-title]]:transition-colors",
14117
- "[&_[data-calendar-title]]:duration-spring-standard-fast-effects",
14118
- "[&_[data-calendar-title]]:ease-spring-standard-fast-effects",
14119
- "[&_[data-calendar-title]:hover]:bg-on-surface/8",
14120
- "[&_[data-calendar-title]_h2]:text-label-large",
14121
- "[&_[data-calendar-title]_h2]:text-on-surface-variant",
14122
- "[&_[data-calendar-title]_h2]:m-0",
14123
- "[&_[data-calendar-title]_svg]:text-on-surface-variant",
14124
- // ── Calendar navigation buttons ───────────────────────────────────────────
14125
- "[&_[data-calendar-nav]]:flex",
14126
- "[&_[data-calendar-nav]]:items-center",
14127
- "[&_[data-calendar-nav]]:gap-1",
14128
- "[&_[data-nav-button]]:w-10",
14129
- "[&_[data-nav-button]]:h-10",
14130
- "[&_[data-nav-button]]:rounded-full",
14131
- "[&_[data-nav-button]]:flex",
14132
- "[&_[data-nav-button]]:items-center",
14133
- "[&_[data-nav-button]]:justify-center",
14134
- "[&_[data-nav-button]]:text-on-surface-variant",
14135
- "[&_[data-nav-button]]:bg-transparent",
14136
- "[&_[data-nav-button]]:border-none",
14137
- "[&_[data-nav-button]]:transition-colors",
14138
- "[&_[data-nav-button]]:duration-spring-standard-fast-effects",
14139
- "[&_[data-nav-button]]:ease-spring-standard-fast-effects",
14140
- "[&_[data-nav-button]:hover]:bg-on-surface/8",
14141
- "[&_[data-nav-button]:focus-visible]:bg-on-surface/10",
14142
- "[&_[data-nav-button]:disabled]:text-on-surface/38",
14143
- "[&_[data-nav-button]:disabled]:cursor-not-allowed",
14144
- // ── Cell base ─────────────────────────────────────────────────────────────
14145
- "[&_td>div]:w-[48px]",
14146
- "[&_td>div]:h-[48px]",
14147
- "[&_td>div]:rounded-full",
14148
- "[&_td>div]:flex",
14149
- "[&_td>div]:items-center",
14150
- "[&_td>div]:justify-center",
14151
- "[&_td>div]:text-body-large",
14152
- "[&_td>div]:text-on-surface",
14153
- "[&_td>div]:relative",
14154
- "[&_td>div]:cursor-pointer",
14155
- "[&_td>div]:select-none",
14156
- "[&_td>div]:transition-colors",
14157
- "[&_td>div]:duration-spring-standard-fast-effects",
14158
- "[&_td>div]:ease-spring-standard-fast-effects",
14159
- // ── Today (not selected) ──────────────────────────────────────────────────
14160
- "[&_td>div[data-today]:not([data-selected])]:text-primary",
14161
- "[&_td>div[data-today]:not([data-selected])]:border",
14162
- "[&_td>div[data-today]:not([data-selected])]:border-primary",
14163
- // ── Selected ──────────────────────────────────────────────────────────────
14164
- "[&_td>div[data-selected]]:bg-primary",
14165
- "[&_td>div[data-selected]]:text-on-primary",
14166
- // ── Range middle ──────────────────────────────────────────────────────────
14167
- "[&_td>div[data-range-middle]]:bg-secondary-container",
14168
- "[&_td>div[data-range-middle]]:text-on-secondary-container",
14169
- "[&_td>div[data-range-middle]]:rounded-none",
14170
- // ── Outside month ─────────────────────────────────────────────────────────
14171
- "[&_td>div[data-outside-month]:not([data-selected])]:text-on-surface-variant",
14172
- // ── Disabled ──────────────────────────────────────────────────────────────
14173
- "[&_td>div[data-disabled]]:text-on-surface/38",
14174
- "[&_td>div[data-disabled]]:cursor-not-allowed",
14175
- // ── Cell hover states ─────────────────────────────────────────────────────
14176
- "[&_td>div:not([data-selected]):not([data-today]):not([data-disabled]):hover]:bg-on-surface/8",
14177
- "[&_td>div[data-today]:not([data-selected]):hover]:bg-primary/8",
14178
- "[&_td>div[data-selected]:hover]:shadow-sm",
14179
- // ── Cell focus-visible states ─────────────────────────────────────────────
14180
- "[&_td>div[data-focus-visible]:not([data-selected]):not([data-today])]:ring-2",
14181
- "[&_td>div[data-focus-visible]:not([data-selected]):not([data-today])]:ring-on-surface",
14182
- "[&_td>div[data-focus-visible]:not([data-selected]):not([data-today])]:bg-on-surface/10",
14183
- "[&_td>div[data-today][data-focus-visible]:not([data-selected])]:bg-primary/10",
14184
- // ── Weekday labels ────────────────────────────────────────────────────────
14185
- "[&_th]:text-body-small",
14186
- "[&_th]:text-on-surface",
14187
- "[&_th]:font-normal",
14188
- "[&_th]:w-[48px]",
14189
- "[&_th]:h-[48px]",
14190
- // ── Year grid ─────────────────────────────────────────────────────────────
14191
- "[&_[data-year-grid]]:grid",
14192
- "[&_[data-year-grid]]:grid-cols-3",
14193
- "[&_[data-year-grid]]:gap-2",
14194
- "[&_[data-year-grid]]:px-3",
14195
- "[&_[data-year-grid]]:py-2",
14196
- "[&_[data-year-grid]]:max-h-[280px]",
14197
- "[&_[data-year-grid]]:overflow-y-auto",
14198
- "[&_[data-year-grid]]:place-items-center",
14199
- "[&_[data-year-item]]:w-[88px]",
14200
- "[&_[data-year-item]]:h-[52px]",
14201
- "[&_[data-year-item]]:rounded-full",
14202
- "[&_[data-year-item]]:flex",
14203
- "[&_[data-year-item]]:items-center",
14204
- "[&_[data-year-item]]:justify-center",
14205
- "[&_[data-year-item]]:text-body-large",
14206
- "[&_[data-year-item]]:text-on-surface-variant",
14207
- "[&_[data-year-item]]:bg-transparent",
14208
- "[&_[data-year-item]]:border-none",
14209
- "[&_[data-year-item]]:cursor-pointer",
14210
- "[&_[data-year-item]]:transition-colors",
14211
- "[&_[data-year-item]]:duration-spring-standard-fast-effects",
14212
- "[&_[data-year-item]]:ease-spring-standard-fast-effects",
14213
- "[&_[data-year-item]:hover]:bg-on-surface/8",
14214
- "[&_[data-year-item][data-selected]]:bg-primary",
14215
- "[&_[data-year-item][data-selected]]:text-on-primary",
14216
- // ── Divider ───────────────────────────────────────────────────────────────
14217
- "[&_hr[data-divider]]:border-outline-variant",
14218
- // ── Action buttons ────────────────────────────────────────────────────────
14219
- "[&_[data-actions]]:flex",
14220
- "[&_[data-actions]]:items-center",
14221
- "[&_[data-actions]]:justify-end",
14222
- "[&_[data-actions]]:gap-2",
14223
- "[&_[data-actions]]:px-3",
14224
- "[&_[data-actions]]:py-2",
14225
- "[&_[data-action]]:text-primary",
14226
- "[&_[data-action]]:text-label-large",
14227
- "[&_[data-action]]:rounded-full",
14228
- "[&_[data-action]]:px-3",
14229
- "[&_[data-action]]:py-2",
14230
- "[&_[data-action]]:min-h-12",
14231
- "[&_[data-action]]:bg-transparent",
14232
- "[&_[data-action]]:border-none",
14233
- "[&_[data-action]]:transition-colors",
14234
- "[&_[data-action]]:duration-spring-standard-fast-effects",
14235
- "[&_[data-action]]:ease-spring-standard-fast-effects",
14236
- "[&_[data-action]:hover]:bg-primary/8",
14237
- "[&_[data-action]:focus-visible]:ring-2",
14238
- "[&_[data-action]:focus-visible]:ring-primary",
14239
- "[&_[data-action]:focus-visible]:bg-primary/10"
14497
+ // Hover: 8% overlay via bg tint (acceptable for structural trigger)
14498
+ "[&_[data-trigger][data-hovered]]:bg-on-surface-variant/8",
14499
+ "[&_[data-trigger][data-focus-visible]]:bg-on-surface-variant/10",
14500
+ "[&_[data-trigger][data-focus-visible]]:outline",
14501
+ "[&_[data-trigger][data-focus-visible]]:outline-2",
14502
+ "[&_[data-trigger][data-focus-visible]]:outline-secondary",
14503
+ "[&_[data-trigger][data-disabled]]:text-on-surface/38",
14504
+ "[&_[data-trigger][data-disabled]]:cursor-not-allowed"
14505
+ ];
14506
+ var MODAL_HEADER_STRUCTURAL = [
14507
+ "[&_[data-modal-header]]:px-6",
14508
+ "[&_[data-modal-header]]:pt-4",
14509
+ "[&_[data-modal-header]]:pb-3",
14510
+ "[&_[data-modal-header]]:flex",
14511
+ "[&_[data-modal-header]]:items-start",
14512
+ "[&_[data-modal-header]]:justify-between",
14513
+ "[&_[data-headline]]:text-label-large",
14514
+ "[&_[data-headline]]:text-on-surface-variant",
14515
+ "[&_[data-headline]]:m-0",
14516
+ "[&_[data-supporting-text]]:text-headline-large",
14517
+ "[&_[data-supporting-text]]:text-on-surface",
14518
+ "[&_[data-supporting-text]]:mt-9",
14519
+ "[&_[data-supporting-text]]:m-0"
14520
+ ];
14521
+ var MODAL_INPUT_SUPPORTING_TEXT_STRUCTURAL = [
14522
+ "[&_[data-supporting-text]]:text-headline-large",
14523
+ "[&_[data-supporting-text]]:text-on-surface",
14524
+ "[&_[data-supporting-text]]:mt-4",
14525
+ "[&_[data-supporting-text]]:m-0"
14526
+ ];
14527
+ var MODAL_INPUT_FIELD_STRUCTURAL = [
14528
+ "[&_[data-date-input-field]]:px-6",
14529
+ "[&_[data-date-input-field]]:py-2",
14530
+ "[&_[data-date-input-field]_[data-field]]:flex",
14531
+ "[&_[data-date-input-field]_[data-field]]:items-center",
14532
+ "[&_[data-date-input-field]_[data-field]]:border",
14533
+ "[&_[data-date-input-field]_[data-field]]:border-outline",
14534
+ "[&_[data-date-input-field]_[data-field]]:rounded-sm",
14535
+ "[&_[data-date-input-field]_[data-field]]:px-4",
14536
+ "[&_[data-date-input-field]_[data-field]]:py-3",
14537
+ "[&_[data-date-input-field]_[data-field]]:text-body-large",
14538
+ "[&_[data-date-input-field]_[data-field]]:text-on-surface",
14539
+ "[&_[data-date-input-field]_[data-segment]]:outline-none",
14540
+ "[&_[data-date-input-field]_[data-segment][data-placeholder]]:text-on-surface-variant",
14541
+ "[&_[data-date-input-field][data-focused]_[data-field]]:border-primary",
14542
+ "[&_[data-date-input-field][data-focused]_[data-field]]:border-2",
14543
+ "[&_[data-date-input-field][data-invalid]_[data-field]]:border-error",
14544
+ "[&_[data-date-input-field][data-invalid]_[data-field]]:border-2",
14545
+ "[&_[data-date-input-field]_[data-label]]:text-body-small",
14546
+ "[&_[data-date-input-field]_[data-label]]:text-on-surface-variant",
14547
+ "[&_[data-date-input-field]_[data-label]]:block",
14548
+ "[&_[data-date-input-field]_[data-label]]:mb-1",
14549
+ "[&_[data-date-input-field]_[data-error-message]]:text-body-small",
14550
+ "[&_[data-date-input-field]_[data-error-message]]:text-error",
14551
+ "[&_[data-date-input-field]_[data-error-message]]:mt-1"
14552
+ ];
14553
+ var SHARED_CALENDAR_STRUCTURAL = [
14554
+ ...CALENDAR_HEADER_STRUCTURAL,
14555
+ ...CALENDAR_GRID_STRUCTURAL,
14556
+ ...YEAR_GRID_STRUCTURAL,
14557
+ ...DIVIDER_STRUCTURAL,
14558
+ ...ACTION_ROW_STRUCTURAL
14559
+ ].join(" ");
14560
+ var MODAL_CONTENT_STRUCTURAL = [
14561
+ ...MODAL_HEADER_STRUCTURAL,
14562
+ ...CALENDAR_HEADER_STRUCTURAL,
14563
+ ...CALENDAR_GRID_STRUCTURAL,
14564
+ ...YEAR_GRID_STRUCTURAL,
14565
+ ...DIVIDER_STRUCTURAL,
14566
+ ...ACTION_ROW_STRUCTURAL
14240
14567
  ].join(" ");
14241
- var DOCKED_MOTION_STYLES = [
14242
- // ── Popover container enter ────────────────────────────────────────────────
14243
- "[&_[data-popover]]:transition-[transform,opacity]",
14244
- "[&_[data-popover]]:duration-short3",
14245
- "[&_[data-popover]]:ease-standard-decelerate",
14246
- // ── Popover container exit ─────────────────────────────────────────────────
14247
- "[&_[data-popover][data-exiting]]:duration-short2",
14248
- "[&_[data-popover][data-exiting]]:ease-standard-accelerate",
14249
- // ── Calendar month slide ───────────────────────────────────────────────────
14250
- "[&_table]:transition-transform",
14251
- "[&_table]:duration-medium1",
14252
- "[&_table]:ease-emphasized-decelerate",
14253
- // ── Cell selection animation (scale + background) ──────────────────────────
14254
- "[&_td>div[data-selected]]:transition-[background-color,transform]",
14255
- "[&_td>div[data-selected]]:duration-short2",
14256
- "[&_td>div[data-selected]]:ease-standard",
14257
- // ── State layer opacity ────────────────────────────────────────────────────
14258
- "[&_td>div::after]:transition-opacity",
14259
- "[&_td>div::after]:duration-short1",
14260
- "[&_td>div::after]:ease-standard"
14568
+ var MODAL_INPUT_CONTENT_STRUCTURAL = [
14569
+ ...MODAL_HEADER_STRUCTURAL,
14570
+ ...MODAL_INPUT_SUPPORTING_TEXT_STRUCTURAL,
14571
+ ...MODAL_INPUT_FIELD_STRUCTURAL,
14572
+ ...DIVIDER_STRUCTURAL,
14573
+ ...ACTION_ROW_STRUCTURAL
14574
+ ].join(" ");
14575
+ var DOCKED_ROOT_STRUCTURAL = [
14576
+ ...DOCKED_LABEL_STRUCTURAL,
14577
+ ...DOCKED_FIELD_STRUCTURAL,
14578
+ ...DOCKED_TRIGGER_STRUCTURAL
14579
+ ].join(" ");
14580
+ var DOCKED_POPOVER_PANEL_STRUCTURAL = SHARED_CALENDAR_STRUCTURAL;
14581
+ var DOCKED_POPOVER_MOTION = [
14582
+ "transition-[transform,opacity]",
14583
+ "duration-short3",
14584
+ "ease-standard-decelerate",
14585
+ "data-[exiting]:duration-short2",
14586
+ "data-[exiting]:ease-standard-accelerate"
14587
+ ].join(" ");
14588
+ var MODAL_DIALOG_MOTION = [
14589
+ "transition-[transform,opacity]",
14590
+ "duration-medium2",
14591
+ "ease-standard-decelerate",
14592
+ "data-[exiting]:duration-medium1",
14593
+ "data-[exiting]:ease-standard-accelerate"
14261
14594
  ].join(" ");
14262
14595
  var DatePickerDockedStyled = React.forwardRef(
14263
14596
  (props, ref) => {
@@ -14270,10 +14603,22 @@ var DatePickerDockedStyled = React.forwardRef(
14270
14603
  ...rest,
14271
14604
  className: cn(
14272
14605
  datePickerContainerVariants({ variant: "docked" }),
14273
- CALENDAR_STYLES,
14274
- !reducedMotion && DOCKED_MOTION_STYLES,
14606
+ DOCKED_ROOT_STRUCTURAL,
14275
14607
  className
14276
- )
14608
+ ),
14609
+ popoverClassName: cn(
14610
+ popoverVariants(),
14611
+ DOCKED_POPOVER_PANEL_STRUCTURAL,
14612
+ !reducedMotion && DOCKED_POPOVER_MOTION
14613
+ ),
14614
+ slots: {
14615
+ CellComponent: StyledCalendarCell,
14616
+ NavButtonComponent: StyledNavButton,
14617
+ TitleComponent: StyledCalendarTitle,
14618
+ YearItemComponent: StyledYearItem,
14619
+ WeekdayComponent: StyledWeekday
14620
+ },
14621
+ ActionButtonComponent: StyledActionButton
14277
14622
  }
14278
14623
  );
14279
14624
  }
@@ -14346,7 +14691,10 @@ var DatePickerModal = React.forwardRef(
14346
14691
  onCancel,
14347
14692
  onConfirm,
14348
14693
  onClear,
14349
- className
14694
+ className,
14695
+ scrimClassName,
14696
+ slots,
14697
+ ActionButtonComponent
14350
14698
  } = props;
14351
14699
  const internalRef = React.useRef(null);
14352
14700
  const ref = forwardedRef ?? internalRef;
@@ -14470,6 +14818,7 @@ var DatePickerModal = React.forwardRef(
14470
14818
  headlineId,
14471
14819
  onClose: handleClose,
14472
14820
  ...className ? { className } : {},
14821
+ ...scrimClassName ? { scrimClassName } : {},
14473
14822
  isOpen: state.isOpen,
14474
14823
  children: [
14475
14824
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -14491,7 +14840,8 @@ var DatePickerModal = React.forwardRef(
14491
14840
  onChange: handleSingleChange,
14492
14841
  ...minValue ? { minValue } : {},
14493
14842
  ...maxValue ? { maxValue } : {},
14494
- ...isDateUnavailable ? { isDateUnavailable } : {}
14843
+ ...isDateUnavailable ? { isDateUnavailable } : {},
14844
+ ...slots ? { slots } : {}
14495
14845
  }
14496
14846
  ) : /* @__PURE__ */ jsxRuntime.jsx(
14497
14847
  CalendarCore,
@@ -14503,7 +14853,8 @@ var DatePickerModal = React.forwardRef(
14503
14853
  onRangeChange: handleRangeChange,
14504
14854
  ...minValue ? { minValue } : {},
14505
14855
  ...maxValue ? { maxValue } : {},
14506
- ...isDateUnavailable ? { isDateUnavailable } : {}
14856
+ ...isDateUnavailable ? { isDateUnavailable } : {},
14857
+ ...slots ? { slots } : {}
14507
14858
  }
14508
14859
  ),
14509
14860
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -14515,7 +14866,8 @@ var DatePickerModal = React.forwardRef(
14515
14866
  showClear,
14516
14867
  onCancel: handleCancel,
14517
14868
  onConfirm: handleConfirm,
14518
- onClear: handleClear
14869
+ onClear: handleClear,
14870
+ ...ActionButtonComponent ? { ButtonComponent: ActionButtonComponent } : {}
14519
14871
  }
14520
14872
  )
14521
14873
  ]
@@ -14533,6 +14885,7 @@ function ModalOverlay({
14533
14885
  headlineId,
14534
14886
  onClose,
14535
14887
  className,
14888
+ scrimClassName,
14536
14889
  isOpen,
14537
14890
  children
14538
14891
  }) {
@@ -14553,7 +14906,7 @@ function ModalOverlay({
14553
14906
  dialogRef
14554
14907
  );
14555
14908
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14556
- /* @__PURE__ */ jsxRuntime.jsx("div", { "data-scrim": true, "aria-hidden": "true", onClick: onClose }),
14909
+ /* @__PURE__ */ jsxRuntime.jsx("div", { "data-scrim": true, "aria-hidden": "true", onClick: onClose, className: scrimClassName }),
14557
14910
  /* @__PURE__ */ jsxRuntime.jsx(
14558
14911
  "div",
14559
14912
  {
@@ -14571,210 +14924,6 @@ function ModalOverlay({
14571
14924
  ] });
14572
14925
  }
14573
14926
  ModalOverlay.displayName = "ModalOverlay";
14574
- var MODAL_STYLES = [
14575
- // ── Container structure ───────────────────────────────────────────────────
14576
- "[&_[data-modal-dialog]]:bg-surface-container-high",
14577
- "[&_[data-modal-dialog]]:rounded-3xl",
14578
- "[&_[data-modal-dialog]]:overflow-hidden",
14579
- "[&_[data-modal-dialog]]:fixed",
14580
- "[&_[data-modal-dialog]]:top-1/2",
14581
- "[&_[data-modal-dialog]]:left-1/2",
14582
- "[&_[data-modal-dialog]]:-translate-x-1/2",
14583
- "[&_[data-modal-dialog]]:-translate-y-1/2",
14584
- "[&_[data-modal-dialog]]:z-50",
14585
- "[&_[data-modal-dialog]]:w-[360px]",
14586
- "[&_[data-modal-dialog]]:max-h-[90vh]",
14587
- "[&_[data-modal-dialog]]:overflow-y-auto",
14588
- // ── Header ────────────────────────────────────────────────────────────────
14589
- "[&_[data-modal-header]]:px-6",
14590
- "[&_[data-modal-header]]:pt-4",
14591
- "[&_[data-modal-header]]:pb-3",
14592
- "[&_[data-modal-header]]:flex",
14593
- "[&_[data-modal-header]]:items-start",
14594
- "[&_[data-modal-header]]:justify-between",
14595
- "[&_[data-headline]]:text-label-large",
14596
- "[&_[data-headline]]:text-on-surface-variant",
14597
- "[&_[data-headline]]:m-0",
14598
- "[&_[data-supporting-text]]:text-headline-large",
14599
- "[&_[data-supporting-text]]:text-on-surface",
14600
- "[&_[data-supporting-text]]:mt-9",
14601
- "[&_[data-supporting-text]]:m-0",
14602
- "[&_[data-mode-toggle]]:w-12",
14603
- "[&_[data-mode-toggle]]:h-12",
14604
- "[&_[data-mode-toggle]]:rounded-full",
14605
- "[&_[data-mode-toggle]]:flex",
14606
- "[&_[data-mode-toggle]]:items-center",
14607
- "[&_[data-mode-toggle]]:justify-center",
14608
- "[&_[data-mode-toggle]]:text-on-surface-variant",
14609
- "[&_[data-mode-toggle]]:bg-transparent",
14610
- "[&_[data-mode-toggle]]:border-none",
14611
- "[&_[data-mode-toggle]]:self-end",
14612
- "[&_[data-mode-toggle]]:transition-colors",
14613
- "[&_[data-mode-toggle]]:duration-spring-standard-fast-effects",
14614
- "[&_[data-mode-toggle]]:ease-spring-standard-fast-effects",
14615
- "[&_[data-mode-toggle]:hover]:bg-on-surface-variant/8",
14616
- // ── Divider ───────────────────────────────────────────────────────────────
14617
- "[&_hr[data-divider]]:border-outline-variant",
14618
- // ── Calendar header ───────────────────────────────────────────────────────
14619
- "[&_[data-calendar-header]]:flex",
14620
- "[&_[data-calendar-header]]:items-center",
14621
- "[&_[data-calendar-header]]:justify-between",
14622
- "[&_[data-calendar-header]]:px-3",
14623
- "[&_[data-calendar-header]]:py-2",
14624
- "[&_[data-calendar-title]]:flex",
14625
- "[&_[data-calendar-title]]:items-center",
14626
- "[&_[data-calendar-title]]:gap-0.5",
14627
- "[&_[data-calendar-title]]:bg-transparent",
14628
- "[&_[data-calendar-title]]:border-none",
14629
- "[&_[data-calendar-title]]:cursor-pointer",
14630
- "[&_[data-calendar-title]]:rounded-full",
14631
- "[&_[data-calendar-title]]:px-2",
14632
- "[&_[data-calendar-title]]:py-1",
14633
- "[&_[data-calendar-title]]:transition-colors",
14634
- "[&_[data-calendar-title]]:duration-spring-standard-fast-effects",
14635
- "[&_[data-calendar-title]]:ease-spring-standard-fast-effects",
14636
- "[&_[data-calendar-title]:hover]:bg-on-surface/8",
14637
- "[&_[data-calendar-title]_h2]:text-label-large",
14638
- "[&_[data-calendar-title]_h2]:text-on-surface-variant",
14639
- "[&_[data-calendar-title]_h2]:m-0",
14640
- "[&_[data-calendar-title]_svg]:text-on-surface-variant",
14641
- "[&_[data-calendar-nav]]:flex",
14642
- "[&_[data-calendar-nav]]:items-center",
14643
- "[&_[data-calendar-nav]]:gap-1",
14644
- "[&_[data-nav-button]]:w-10",
14645
- "[&_[data-nav-button]]:h-10",
14646
- "[&_[data-nav-button]]:rounded-full",
14647
- "[&_[data-nav-button]]:flex",
14648
- "[&_[data-nav-button]]:items-center",
14649
- "[&_[data-nav-button]]:justify-center",
14650
- "[&_[data-nav-button]]:text-on-surface-variant",
14651
- "[&_[data-nav-button]]:bg-transparent",
14652
- "[&_[data-nav-button]]:border-none",
14653
- "[&_[data-nav-button]]:transition-colors",
14654
- "[&_[data-nav-button]]:duration-spring-standard-fast-effects",
14655
- "[&_[data-nav-button]]:ease-spring-standard-fast-effects",
14656
- "[&_[data-nav-button]:hover]:bg-on-surface/8",
14657
- "[&_[data-nav-button]:focus-visible]:bg-on-surface/10",
14658
- "[&_[data-nav-button]:disabled]:text-on-surface/38",
14659
- "[&_[data-nav-button]:disabled]:cursor-not-allowed",
14660
- // ── Calendar cells ────────────────────────────────────────────────────────
14661
- "[&_td>div]:w-[48px]",
14662
- "[&_td>div]:h-[48px]",
14663
- "[&_td>div]:rounded-full",
14664
- "[&_td>div]:flex",
14665
- "[&_td>div]:items-center",
14666
- "[&_td>div]:justify-center",
14667
- "[&_td>div]:text-body-large",
14668
- "[&_td>div]:text-on-surface",
14669
- "[&_td>div]:relative",
14670
- "[&_td>div]:cursor-pointer",
14671
- "[&_td>div]:select-none",
14672
- "[&_td>div]:transition-colors",
14673
- "[&_td>div]:duration-spring-standard-fast-effects",
14674
- "[&_td>div]:ease-spring-standard-fast-effects",
14675
- "[&_td>div[data-today]:not([data-selected])]:text-primary",
14676
- "[&_td>div[data-today]:not([data-selected])]:border",
14677
- "[&_td>div[data-today]:not([data-selected])]:border-primary",
14678
- "[&_td>div[data-selected]]:bg-primary",
14679
- "[&_td>div[data-selected]]:text-on-primary",
14680
- "[&_td>div[data-range-middle]]:bg-secondary-container",
14681
- "[&_td>div[data-range-middle]]:text-on-secondary-container",
14682
- "[&_td>div[data-range-middle]]:rounded-none",
14683
- "[&_td>div[data-outside-month]:not([data-selected])]:text-on-surface-variant",
14684
- "[&_td>div[data-disabled]]:text-on-surface/38",
14685
- "[&_td>div[data-disabled]]:cursor-not-allowed",
14686
- "[&_td>div:not([data-selected]):not([data-today]):not([data-disabled]):hover]:bg-on-surface/8",
14687
- "[&_td>div[data-today]:not([data-selected]):hover]:bg-primary/8",
14688
- "[&_td>div[data-selected]:hover]:shadow-sm",
14689
- "[&_td>div[data-focus-visible]:not([data-selected]):not([data-today])]:ring-2",
14690
- "[&_td>div[data-focus-visible]:not([data-selected]):not([data-today])]:ring-on-surface",
14691
- "[&_td>div[data-focus-visible]:not([data-selected]):not([data-today])]:bg-on-surface/10",
14692
- "[&_td>div[data-today][data-focus-visible]:not([data-selected])]:bg-primary/10",
14693
- // ── Weekday labels ────────────────────────────────────────────────────────
14694
- "[&_th]:text-body-small",
14695
- "[&_th]:text-on-surface",
14696
- "[&_th]:font-normal",
14697
- "[&_th]:w-[48px]",
14698
- "[&_th]:h-[48px]",
14699
- // ── Year grid ─────────────────────────────────────────────────────────────
14700
- "[&_[data-year-grid]]:grid",
14701
- "[&_[data-year-grid]]:grid-cols-3",
14702
- "[&_[data-year-grid]]:gap-2",
14703
- "[&_[data-year-grid]]:px-3",
14704
- "[&_[data-year-grid]]:py-2",
14705
- "[&_[data-year-grid]]:max-h-[280px]",
14706
- "[&_[data-year-grid]]:overflow-y-auto",
14707
- "[&_[data-year-grid]]:place-items-center",
14708
- "[&_[data-year-item]]:w-[88px]",
14709
- "[&_[data-year-item]]:h-[52px]",
14710
- "[&_[data-year-item]]:rounded-full",
14711
- "[&_[data-year-item]]:flex",
14712
- "[&_[data-year-item]]:items-center",
14713
- "[&_[data-year-item]]:justify-center",
14714
- "[&_[data-year-item]]:text-body-large",
14715
- "[&_[data-year-item]]:text-on-surface-variant",
14716
- "[&_[data-year-item]]:bg-transparent",
14717
- "[&_[data-year-item]]:border-none",
14718
- "[&_[data-year-item]]:cursor-pointer",
14719
- "[&_[data-year-item]]:transition-colors",
14720
- "[&_[data-year-item]]:duration-spring-standard-fast-effects",
14721
- "[&_[data-year-item]]:ease-spring-standard-fast-effects",
14722
- "[&_[data-year-item]:hover]:bg-on-surface/8",
14723
- "[&_[data-year-item][data-selected]]:bg-primary",
14724
- "[&_[data-year-item][data-selected]]:text-on-primary",
14725
- // ── Scrim ─────────────────────────────────────────────────────────────────
14726
- "[&_[data-scrim]]:fixed",
14727
- "[&_[data-scrim]]:inset-0",
14728
- "[&_[data-scrim]]:z-40",
14729
- "[&_[data-scrim]]:bg-scrim",
14730
- "[&_[data-scrim]]:opacity-32",
14731
- "[&_[data-scrim]]:transition-opacity",
14732
- "[&_[data-scrim]]:duration-medium2",
14733
- "[&_[data-scrim]]:ease-standard",
14734
- // ── Action buttons ────────────────────────────────────────────────────────
14735
- "[&_[data-actions]]:flex",
14736
- "[&_[data-actions]]:items-center",
14737
- "[&_[data-actions]]:justify-end",
14738
- "[&_[data-actions]]:gap-2",
14739
- "[&_[data-actions]]:px-3",
14740
- "[&_[data-actions]]:py-2",
14741
- "[&_[data-action]]:text-primary",
14742
- "[&_[data-action]]:text-label-large",
14743
- "[&_[data-action]]:rounded-full",
14744
- "[&_[data-action]]:px-3",
14745
- "[&_[data-action]]:py-2",
14746
- "[&_[data-action]]:min-h-12",
14747
- "[&_[data-action]]:bg-transparent",
14748
- "[&_[data-action]]:border-none",
14749
- "[&_[data-action]]:transition-colors",
14750
- "[&_[data-action]]:duration-spring-standard-fast-effects",
14751
- "[&_[data-action]]:ease-spring-standard-fast-effects",
14752
- "[&_[data-action]:hover]:bg-primary/8",
14753
- "[&_[data-action]:focus-visible]:ring-2",
14754
- "[&_[data-action]:focus-visible]:ring-primary",
14755
- "[&_[data-action]:focus-visible]:bg-primary/10"
14756
- ].join(" ");
14757
- var MODAL_MOTION_STYLES = [
14758
- // ── Modal container enter ──────────────────────────────────────────────────
14759
- "[&_[data-modal-dialog]]:transition-[transform,opacity]",
14760
- "[&_[data-modal-dialog]]:duration-medium2",
14761
- "[&_[data-modal-dialog]]:ease-standard-decelerate",
14762
- // ── Modal container exit ───────────────────────────────────────────────────
14763
- "[&_[data-modal-dialog][data-exiting]]:duration-medium1",
14764
- "[&_[data-modal-dialog][data-exiting]]:ease-standard-accelerate",
14765
- // ── Calendar month slide ───────────────────────────────────────────────────
14766
- "[&_table]:transition-transform",
14767
- "[&_table]:duration-medium1",
14768
- "[&_table]:ease-emphasized-decelerate",
14769
- // ── Cell selection animation (scale + background) ──────────────────────────
14770
- "[&_td>div[data-selected]]:transition-[background-color,transform]",
14771
- "[&_td>div[data-selected]]:duration-short2",
14772
- "[&_td>div[data-selected]]:ease-standard",
14773
- // ── State layer opacity ────────────────────────────────────────────────────
14774
- "[&_td>div::after]:transition-opacity",
14775
- "[&_td>div::after]:duration-short1",
14776
- "[&_td>div::after]:ease-standard"
14777
- ].join(" ");
14778
14927
  var DatePickerModalStyled = React.forwardRef(
14779
14928
  (props, ref) => {
14780
14929
  const { className, ...rest } = props;
@@ -14785,11 +14934,20 @@ var DatePickerModalStyled = React.forwardRef(
14785
14934
  ref,
14786
14935
  ...rest,
14787
14936
  className: cn(
14788
- datePickerContainerVariants({ variant: "modal" }),
14789
- MODAL_STYLES,
14790
- !reducedMotion && MODAL_MOTION_STYLES,
14937
+ modalDialogVariants({ variant: "modal" }),
14938
+ MODAL_CONTENT_STRUCTURAL,
14939
+ !reducedMotion && MODAL_DIALOG_MOTION,
14791
14940
  className
14792
- )
14941
+ ),
14942
+ scrimClassName: cn(scrimVariants2()),
14943
+ slots: {
14944
+ CellComponent: StyledCalendarCell,
14945
+ NavButtonComponent: StyledNavButton,
14946
+ TitleComponent: StyledCalendarTitle,
14947
+ YearItemComponent: StyledYearItem,
14948
+ WeekdayComponent: StyledWeekday
14949
+ },
14950
+ ActionButtonComponent: StyledActionButton
14793
14951
  }
14794
14952
  );
14795
14953
  }
@@ -14936,7 +15094,9 @@ var DatePickerModalInput = React.forwardRef(
14936
15094
  onCancel,
14937
15095
  onConfirm,
14938
15096
  onModeToggle,
14939
- className
15097
+ className,
15098
+ scrimClassName,
15099
+ ActionButtonComponent
14940
15100
  } = props;
14941
15101
  const internalRef = React.useRef(null);
14942
15102
  const ref = forwardedRef ?? internalRef;
@@ -15095,6 +15255,7 @@ var DatePickerModalInput = React.forwardRef(
15095
15255
  headlineId,
15096
15256
  onClose: handleClose,
15097
15257
  ...className ? { className } : {},
15258
+ ...scrimClassName ? { scrimClassName } : {},
15098
15259
  isOpen: state.isOpen,
15099
15260
  children: [
15100
15261
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -15157,7 +15318,8 @@ var DatePickerModalInput = React.forwardRef(
15157
15318
  confirmLabel,
15158
15319
  onCancel: handleCancel,
15159
15320
  onConfirm: handleConfirm,
15160
- isConfirmDisabled: !isFormValid
15321
+ isConfirmDisabled: !isFormValid,
15322
+ ...ActionButtonComponent ? { ButtonComponent: ActionButtonComponent } : {}
15161
15323
  }
15162
15324
  )
15163
15325
  ]
@@ -15175,6 +15337,7 @@ function ModalInputOverlay({
15175
15337
  headlineId,
15176
15338
  onClose,
15177
15339
  className,
15340
+ scrimClassName,
15178
15341
  isOpen,
15179
15342
  children
15180
15343
  }) {
@@ -15195,7 +15358,7 @@ function ModalInputOverlay({
15195
15358
  dialogRef
15196
15359
  );
15197
15360
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
15198
- /* @__PURE__ */ jsxRuntime.jsx("div", { "data-scrim": true, "aria-hidden": "true", onClick: onClose }),
15361
+ /* @__PURE__ */ jsxRuntime.jsx("div", { "data-scrim": true, "aria-hidden": "true", onClick: onClose, className: scrimClassName }),
15199
15362
  /* @__PURE__ */ jsxRuntime.jsx(
15200
15363
  "div",
15201
15364
  {
@@ -15213,98 +15376,6 @@ function ModalInputOverlay({
15213
15376
  ] });
15214
15377
  }
15215
15378
  ModalInputOverlay.displayName = "ModalInputOverlay";
15216
- var MODAL_INPUT_STYLES = [
15217
- // ── Container structure ───────────────────────────────────────────────────
15218
- "[&_[data-modal-dialog]]:bg-surface-container-high",
15219
- "[&_[data-modal-dialog]]:rounded-3xl",
15220
- "[&_[data-modal-dialog]]:overflow-hidden",
15221
- "[&_[data-modal-dialog]]:fixed",
15222
- "[&_[data-modal-dialog]]:top-1/2",
15223
- "[&_[data-modal-dialog]]:left-1/2",
15224
- "[&_[data-modal-dialog]]:-translate-x-1/2",
15225
- "[&_[data-modal-dialog]]:-translate-y-1/2",
15226
- "[&_[data-modal-dialog]]:z-50",
15227
- "[&_[data-modal-dialog]]:w-[328px]",
15228
- // ── Header ────────────────────────────────────────────────────────────────
15229
- "[&_[data-modal-header]]:px-6",
15230
- "[&_[data-modal-header]]:pt-4",
15231
- "[&_[data-modal-header]]:pb-3",
15232
- "[&_[data-modal-header]]:flex",
15233
- "[&_[data-modal-header]]:items-start",
15234
- "[&_[data-modal-header]]:justify-between",
15235
- "[&_[data-headline]]:text-label-large",
15236
- "[&_[data-headline]]:text-on-surface-variant",
15237
- "[&_[data-headline]]:m-0",
15238
- "[&_[data-supporting-text]]:text-headline-large",
15239
- "[&_[data-supporting-text]]:text-on-surface",
15240
- "[&_[data-supporting-text]]:mt-4",
15241
- "[&_[data-supporting-text]]:m-0",
15242
- "[&_[data-mode-toggle]]:w-12",
15243
- "[&_[data-mode-toggle]]:h-12",
15244
- "[&_[data-mode-toggle]]:rounded-full",
15245
- "[&_[data-mode-toggle]]:flex",
15246
- "[&_[data-mode-toggle]]:items-center",
15247
- "[&_[data-mode-toggle]]:justify-center",
15248
- "[&_[data-mode-toggle]]:text-on-surface-variant",
15249
- "[&_[data-mode-toggle]]:bg-transparent",
15250
- "[&_[data-mode-toggle]]:border-none",
15251
- "[&_[data-mode-toggle]]:self-end",
15252
- "[&_[data-mode-toggle]]:transition-colors",
15253
- "[&_[data-mode-toggle]]:duration-spring-standard-fast-effects",
15254
- "[&_[data-mode-toggle]]:ease-spring-standard-fast-effects",
15255
- "[&_[data-mode-toggle]:hover]:bg-on-surface-variant/8",
15256
- // ── Divider ───────────────────────────────────────────────────────────────
15257
- "[&_hr[data-divider]]:border-outline-variant",
15258
- // ── Date input fields ─────────────────────────────────────────────────────
15259
- "[&_[data-date-input-field]]:px-6",
15260
- "[&_[data-date-input-field]]:py-2",
15261
- "[&_[data-date-input-field]_[data-field]]:flex",
15262
- "[&_[data-date-input-field]_[data-field]]:items-center",
15263
- "[&_[data-date-input-field]_[data-field]]:border",
15264
- "[&_[data-date-input-field]_[data-field]]:border-outline",
15265
- "[&_[data-date-input-field]_[data-field]]:rounded-sm",
15266
- "[&_[data-date-input-field]_[data-field]]:px-4",
15267
- "[&_[data-date-input-field]_[data-field]]:py-3",
15268
- "[&_[data-date-input-field]_[data-field]]:text-body-large",
15269
- "[&_[data-date-input-field]_[data-field]]:text-on-surface",
15270
- "[&_[data-date-input-field]_[data-segment]]:outline-none",
15271
- "[&_[data-date-input-field]_[data-segment][data-placeholder]]:text-on-surface-variant",
15272
- "[&_[data-date-input-field][data-focused]_[data-field]]:border-primary",
15273
- "[&_[data-date-input-field][data-focused]_[data-field]]:border-2",
15274
- "[&_[data-date-input-field][data-invalid]_[data-field]]:border-error",
15275
- "[&_[data-date-input-field]_[data-label]]:text-body-small",
15276
- "[&_[data-date-input-field]_[data-label]]:text-on-surface-variant",
15277
- "[&_[data-date-input-field]_[data-error-message]]:text-body-small",
15278
- "[&_[data-date-input-field]_[data-error-message]]:text-error",
15279
- "[&_[data-date-input-field]_[data-error-message]]:mt-1",
15280
- // ── Scrim ─────────────────────────────────────────────────────────────────
15281
- "[&_[data-scrim]]:fixed",
15282
- "[&_[data-scrim]]:inset-0",
15283
- "[&_[data-scrim]]:z-40",
15284
- "[&_[data-scrim]]:bg-scrim",
15285
- "[&_[data-scrim]]:opacity-32",
15286
- "[&_[data-scrim]]:transition-opacity",
15287
- "[&_[data-scrim]]:duration-medium2",
15288
- "[&_[data-scrim]]:ease-standard",
15289
- // ── Action buttons ────────────────────────────────────────────────────────
15290
- "[&_[data-actions]]:flex",
15291
- "[&_[data-actions]]:items-center",
15292
- "[&_[data-actions]]:justify-end",
15293
- "[&_[data-actions]]:gap-2",
15294
- "[&_[data-actions]]:px-3",
15295
- "[&_[data-actions]]:py-2",
15296
- "[&_[data-action]]:text-primary",
15297
- "[&_[data-action]]:text-label-large",
15298
- "[&_[data-action]]:rounded-full",
15299
- "[&_[data-action]]:px-3",
15300
- "[&_[data-action]]:py-2",
15301
- "[&_[data-action]]:bg-transparent",
15302
- "[&_[data-action]]:border-none",
15303
- "[&_[data-action]]:transition-colors",
15304
- "[&_[data-action]]:duration-spring-standard-fast-effects",
15305
- "[&_[data-action]]:ease-spring-standard-fast-effects",
15306
- "[&_[data-action]:hover]:bg-primary/8"
15307
- ].join(" ");
15308
15379
  var DatePickerModalInputStyled = React.forwardRef(
15309
15380
  (props, ref) => {
15310
15381
  const { className, ...rest } = props;
@@ -15314,10 +15385,12 @@ var DatePickerModalInputStyled = React.forwardRef(
15314
15385
  ref,
15315
15386
  ...rest,
15316
15387
  className: cn(
15317
- datePickerContainerVariants({ variant: "modal-input" }),
15318
- MODAL_INPUT_STYLES,
15388
+ modalDialogVariants({ variant: "modal-input" }),
15389
+ MODAL_INPUT_CONTENT_STRUCTURAL,
15319
15390
  className
15320
- )
15391
+ ),
15392
+ scrimClassName: cn(scrimVariants2()),
15393
+ ActionButtonComponent: StyledActionButton
15321
15394
  }
15322
15395
  );
15323
15396
  }
@@ -15533,6 +15606,12 @@ exports.SnackbarHeadless = SnackbarHeadless;
15533
15606
  exports.SnackbarProvider = SnackbarProvider;
15534
15607
  exports.SplitButton = SplitButton;
15535
15608
  exports.SplitButtonHeadless = SplitButtonHeadless;
15609
+ exports.StyledActionButton = StyledActionButton;
15610
+ exports.StyledCalendarCell = StyledCalendarCell;
15611
+ exports.StyledCalendarTitle = StyledCalendarTitle;
15612
+ exports.StyledNavButton = StyledNavButton;
15613
+ exports.StyledWeekday = StyledWeekday;
15614
+ exports.StyledYearItem = StyledYearItem;
15536
15615
  exports.Switch = Switch;
15537
15616
  exports.TYPOGRAPHY_ELEMENT_MAP = TYPOGRAPHY_ELEMENT_MAP;
15538
15617
  exports.TYPOGRAPHY_USAGE = TYPOGRAPHY_USAGE;
@@ -15548,6 +15627,10 @@ exports.Tooltip = Tooltip;
15548
15627
  exports.TooltipOverlayHeadless = TooltipOverlayHeadless;
15549
15628
  exports.TooltipTrigger = TooltipTrigger;
15550
15629
  exports.TooltipTriggerHeadless = TooltipTriggerHeadless;
15630
+ exports.actionButtonFocusRingVariants = actionButtonFocusRingVariants;
15631
+ exports.actionButtonStateLayerVariants = actionButtonStateLayerVariants;
15632
+ exports.actionButtonVariants = actionButtonVariants;
15633
+ exports.actionRowVariants = actionRowVariants;
15551
15634
  exports.applyStateLayer = applyStateLayer;
15552
15635
  exports.badgeVariants = badgeVariants2;
15553
15636
  exports.bottomSheetAnimationVariants = bottomSheetAnimationVariants;
@@ -15558,7 +15641,15 @@ exports.bottomSheetVariants = bottomSheetVariants;
15558
15641
  exports.buttonGroupFocusRingVariants = buttonGroupFocusRingVariants;
15559
15642
  exports.buttonGroupRootVariants = buttonGroupRootVariants;
15560
15643
  exports.buttonGroupVariants = buttonGroupVariants;
15644
+ exports.calendarCellFocusRingVariants = calendarCellFocusRingVariants;
15645
+ exports.calendarCellStateLayerVariants = calendarCellStateLayerVariants;
15561
15646
  exports.calendarCellVariants = calendarCellVariants;
15647
+ exports.calendarDividerVariants = calendarDividerVariants;
15648
+ exports.calendarHeaderVariants = calendarHeaderVariants;
15649
+ exports.calendarTitleIconVariants = calendarTitleIconVariants;
15650
+ exports.calendarTitleStateLayerVariants = calendarTitleStateLayerVariants;
15651
+ exports.calendarTitleTextVariants = calendarTitleTextVariants;
15652
+ exports.calendarTitleVariants = calendarTitleVariants;
15562
15653
  exports.cardVariants = cardVariants;
15563
15654
  exports.chipVariants = chipVariants;
15564
15655
  exports.clockDialContainerVariants = clockDialContainerVariants;
@@ -15567,18 +15658,18 @@ exports.clockHandCenterVariants = clockHandCenterVariants;
15567
15658
  exports.clockHandHandleVariants = clockHandHandleVariants;
15568
15659
  exports.clockHandTrackVariants = clockHandTrackVariants;
15569
15660
  exports.cn = cn;
15570
- exports.datePickerActionButtonVariants = datePickerActionButtonVariants;
15571
- exports.datePickerActionVariants = datePickerActionVariants;
15661
+ exports.dateFieldVariants = dateFieldVariants;
15662
+ exports.dateInputErrorVariants = dateInputErrorVariants;
15663
+ exports.dateInputFieldGroupVariants = dateInputFieldGroupVariants;
15664
+ exports.dateInputFieldVariants = dateInputFieldVariants;
15665
+ exports.dateInputLabelVariants = dateInputLabelVariants;
15572
15666
  exports.datePickerContainerVariants = datePickerContainerVariants;
15573
- exports.datePickerDividerVariants = datePickerDividerVariants;
15574
- exports.datePickerHeaderVariants = datePickerHeaderVariants;
15575
- exports.datePickerHeadlineVariants = datePickerHeadlineVariants;
15576
- exports.datePickerNavVariants = datePickerNavVariants;
15577
- exports.datePickerRangeIndicatorVariants = datePickerRangeIndicatorVariants;
15578
- exports.datePickerScrimVariants = datePickerScrimVariants;
15579
- exports.datePickerSupportingTextVariants = datePickerSupportingTextVariants;
15580
- exports.datePickerWeekdayVariants = datePickerWeekdayVariants;
15667
+ exports.dateSegmentPlaceholderVariants = dateSegmentPlaceholderVariants;
15581
15668
  exports.dividerVariants = dividerVariants;
15669
+ exports.dockedFieldGroupVariants = dockedFieldGroupVariants;
15670
+ exports.dockedLabelVariants = dockedLabelVariants;
15671
+ exports.dockedTriggerStateLayerVariants = dockedTriggerStateLayerVariants;
15672
+ exports.dockedTriggerVariants = dockedTriggerVariants;
15582
15673
  exports.fabMenuItemFocusRingVariants = fabMenuItemFocusRingVariants;
15583
15674
  exports.fabMenuItemIconVariants = fabMenuItemIconVariants;
15584
15675
  exports.fabMenuItemLabelVariants = fabMenuItemLabelVariants;
@@ -15596,15 +15687,25 @@ exports.getTypographyClassName = getTypographyClassName;
15596
15687
  exports.getTypographyForElement = getTypographyForElement;
15597
15688
  exports.getTypographyStyle = getTypographyStyle;
15598
15689
  exports.getTypographyToken = getTypographyToken;
15690
+ exports.headlineVariants = headlineVariants;
15599
15691
  exports.hexToRgb = hexToRgb;
15600
15692
  exports.listItemVariants = listItemVariants;
15601
15693
  exports.listVariants = listVariants;
15694
+ exports.modalDialogVariants = modalDialogVariants;
15695
+ exports.modalHeaderVariants = modalHeaderVariants;
15696
+ exports.modeToggleStateLayerVariants = modeToggleStateLayerVariants;
15697
+ exports.modeToggleVariants = modeToggleVariants;
15698
+ exports.navButtonFocusRingVariants = navButtonFocusRingVariants;
15699
+ exports.navButtonStateLayerVariants = navButtonStateLayerVariants;
15700
+ exports.navButtonVariants = navButtonVariants;
15602
15701
  exports.periodSelectorContainerVariants = periodSelectorContainerVariants;
15603
15702
  exports.periodSelectorItemVariants = periodSelectorItemVariants;
15703
+ exports.popoverVariants = popoverVariants;
15604
15704
  exports.pxToRem = pxToRem;
15605
15705
  exports.remToPx = remToPx;
15606
15706
  exports.rgbToHex = rgbToHex;
15607
15707
  exports.richTooltipVariants = richTooltipVariants;
15708
+ exports.scrimVariants = scrimVariants2;
15608
15709
  exports.searchBarVariants = searchBarVariants;
15609
15710
  exports.searchViewHeaderVariants = searchViewHeaderVariants;
15610
15711
  exports.searchViewVariants = searchViewVariants;
@@ -15618,6 +15719,7 @@ exports.splitButtonContainerVariants = splitButtonContainerVariants;
15618
15719
  exports.splitButtonDropdownVariants = splitButtonDropdownVariants;
15619
15720
  exports.splitButtonPrimaryVariants = splitButtonPrimaryVariants;
15620
15721
  exports.splitButtonVariants = splitButtonVariants;
15722
+ exports.supportingTextVariants = supportingTextVariants;
15621
15723
  exports.timeInputFieldVariants = timeInputFieldVariants;
15622
15724
  exports.timePickerActionButtonVariants = timePickerActionButtonVariants;
15623
15725
  exports.timePickerActionRowVariants = timePickerActionRowVariants;
@@ -15636,7 +15738,11 @@ exports.useFABMenuContext = useFABMenuContext;
15636
15738
  exports.useMenuContext = useMenuContext;
15637
15739
  exports.useOptionalButtonGroup = useOptionalButtonGroup;
15638
15740
  exports.useSnackbar = useSnackbar;
15741
+ exports.weekdayVariants = weekdayVariants;
15639
15742
  exports.withOpacity = withOpacity;
15743
+ exports.yearGridVariants = yearGridVariants;
15744
+ exports.yearItemFocusRingVariants = yearItemFocusRingVariants;
15745
+ exports.yearItemStateLayerVariants = yearItemStateLayerVariants;
15640
15746
  exports.yearItemVariants = yearItemVariants;
15641
15747
  //# sourceMappingURL=index.cjs.map
15642
15748
  //# sourceMappingURL=index.cjs.map