@flipdish/ui-library 0.12.2 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/components/atoms/Avatar/Avatar.styles.cjs +13 -0
  2. package/dist/components/atoms/Avatar/Avatar.styles.cjs.map +1 -0
  3. package/dist/components/atoms/Avatar/Avatar.styles.d.ts +39 -0
  4. package/dist/components/atoms/Avatar/Avatar.styles.d.ts.map +1 -0
  5. package/dist/components/atoms/Avatar/Avatar.styles.js +11 -0
  6. package/dist/components/atoms/Avatar/Avatar.styles.js.map +1 -0
  7. package/dist/components/atoms/Avatar/index.cjs +5 -12
  8. package/dist/components/atoms/Avatar/index.cjs.map +1 -1
  9. package/dist/components/atoms/Avatar/index.d.ts.map +1 -1
  10. package/dist/components/atoms/Avatar/index.js +1 -8
  11. package/dist/components/atoms/Avatar/index.js.map +1 -1
  12. package/dist/components/molecules/Select/components/multi-select.cjs +1 -1
  13. package/dist/components/molecules/Select/components/multi-select.js +1 -1
  14. package/dist/components/organisms/Charts/components/radar-chart.cjs +2 -2
  15. package/dist/components/organisms/Charts/components/radar-chart.cjs.map +1 -1
  16. package/dist/components/organisms/Charts/components/radar-chart.js +2 -2
  17. package/dist/components/organisms/Charts/components/radar-chart.js.map +1 -1
  18. package/dist/components/organisms/ColorPicker/colorPicker.utils.cjs +29 -0
  19. package/dist/components/organisms/ColorPicker/colorPicker.utils.cjs.map +1 -1
  20. package/dist/components/organisms/ColorPicker/colorPicker.utils.d.ts +11 -0
  21. package/dist/components/organisms/ColorPicker/colorPicker.utils.d.ts.map +1 -1
  22. package/dist/components/organisms/ColorPicker/colorPicker.utils.js +29 -1
  23. package/dist/components/organisms/ColorPicker/colorPicker.utils.js.map +1 -1
  24. package/dist/components/organisms/ColorPicker/index.cjs +1 -1
  25. package/dist/components/organisms/ColorPicker/index.cjs.map +1 -1
  26. package/dist/components/organisms/ColorPicker/index.js +2 -2
  27. package/dist/components/organisms/ColorPicker/index.js.map +1 -1
  28. package/dist/components/organisms/ColorPicker/providers/color-picker-context.cjs +29 -5
  29. package/dist/components/organisms/ColorPicker/providers/color-picker-context.cjs.map +1 -1
  30. package/dist/components/organisms/ColorPicker/providers/color-picker-context.d.ts.map +1 -1
  31. package/dist/components/organisms/ColorPicker/providers/color-picker-context.js +29 -5
  32. package/dist/components/organisms/ColorPicker/providers/color-picker-context.js.map +1 -1
  33. package/dist/components/organisms/CommandMenu/index.cjs +14 -2
  34. package/dist/components/organisms/CommandMenu/index.cjs.map +1 -1
  35. package/dist/components/organisms/CommandMenu/index.d.ts.map +1 -1
  36. package/dist/components/organisms/CommandMenu/index.js +14 -2
  37. package/dist/components/organisms/CommandMenu/index.js.map +1 -1
  38. package/dist/components/organisms/DatePicker/components/cell.cjs +10 -4
  39. package/dist/components/organisms/DatePicker/components/cell.cjs.map +1 -1
  40. package/dist/components/organisms/DatePicker/components/cell.d.ts +0 -2
  41. package/dist/components/organisms/DatePicker/components/cell.d.ts.map +1 -1
  42. package/dist/components/organisms/DatePicker/components/cell.js +11 -5
  43. package/dist/components/organisms/DatePicker/components/cell.js.map +1 -1
  44. package/dist/components/organisms/DatePicker/components/date-range-picker.cjs +18 -3
  45. package/dist/components/organisms/DatePicker/components/date-range-picker.cjs.map +1 -1
  46. package/dist/components/organisms/DatePicker/components/date-range-picker.d.ts +1 -1
  47. package/dist/components/organisms/DatePicker/components/date-range-picker.d.ts.map +1 -1
  48. package/dist/components/organisms/DatePicker/components/date-range-picker.js +18 -3
  49. package/dist/components/organisms/DatePicker/components/date-range-picker.js.map +1 -1
  50. package/dist/components/organisms/DatePicker/components/range-calendar.cjs +6 -14
  51. package/dist/components/organisms/DatePicker/components/range-calendar.cjs.map +1 -1
  52. package/dist/components/organisms/DatePicker/components/range-calendar.d.ts +12 -1
  53. package/dist/components/organisms/DatePicker/components/range-calendar.d.ts.map +1 -1
  54. package/dist/components/organisms/DatePicker/components/range-calendar.js +9 -16
  55. package/dist/components/organisms/DatePicker/components/range-calendar.js.map +1 -1
  56. package/dist/components/organisms/DatePicker/index.cjs +17 -2
  57. package/dist/components/organisms/DatePicker/index.cjs.map +1 -1
  58. package/dist/components/organisms/DatePicker/index.d.ts +1 -1
  59. package/dist/components/organisms/DatePicker/index.d.ts.map +1 -1
  60. package/dist/components/organisms/DatePicker/index.js +17 -2
  61. package/dist/components/organisms/DatePicker/index.js.map +1 -1
  62. package/dist/components/organisms/GradientPicker/index.cjs +20 -7
  63. package/dist/components/organisms/GradientPicker/index.cjs.map +1 -1
  64. package/dist/components/organisms/GradientPicker/index.d.ts.map +1 -1
  65. package/dist/components/organisms/GradientPicker/index.js +21 -8
  66. package/dist/components/organisms/GradientPicker/index.js.map +1 -1
  67. package/dist/components/organisms/GradientPicker/providers/gradient-picker-context.cjs +6 -1
  68. package/dist/components/organisms/GradientPicker/providers/gradient-picker-context.cjs.map +1 -1
  69. package/dist/components/organisms/GradientPicker/providers/gradient-picker-context.d.ts.map +1 -1
  70. package/dist/components/organisms/GradientPicker/providers/gradient-picker-context.js +6 -1
  71. package/dist/components/organisms/GradientPicker/providers/gradient-picker-context.js.map +1 -1
  72. package/dist/components/organisms/SidebarNavigation/components/nav-button.cjs +5 -1
  73. package/dist/components/organisms/SidebarNavigation/components/nav-button.cjs.map +1 -1
  74. package/dist/components/organisms/SidebarNavigation/components/nav-button.d.ts.map +1 -1
  75. package/dist/components/organisms/SidebarNavigation/components/nav-button.js +5 -1
  76. package/dist/components/organisms/SidebarNavigation/components/nav-button.js.map +1 -1
  77. package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs +5 -1
  78. package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs.map +1 -1
  79. package/dist/components/organisms/SidebarNavigation/components/nav-item.d.ts.map +1 -1
  80. package/dist/components/organisms/SidebarNavigation/components/nav-item.js +5 -1
  81. package/dist/components/organisms/SidebarNavigation/components/nav-item.js.map +1 -1
  82. package/dist/components/organisms/TextEditor/components/text-editor-extensions.cjs +3 -1
  83. package/dist/components/organisms/TextEditor/components/text-editor-extensions.cjs.map +1 -1
  84. package/dist/components/organisms/TextEditor/components/text-editor-extensions.d.ts.map +1 -1
  85. package/dist/components/organisms/TextEditor/components/text-editor-extensions.js +3 -1
  86. package/dist/components/organisms/TextEditor/components/text-editor-extensions.js.map +1 -1
  87. package/dist/components/organisms/TextEditor/index.cjs +11 -1
  88. package/dist/components/organisms/TextEditor/index.cjs.map +1 -1
  89. package/dist/components/organisms/TextEditor/index.d.ts.map +1 -1
  90. package/dist/components/organisms/TextEditor/index.js +12 -2
  91. package/dist/components/organisms/TextEditor/index.js.map +1 -1
  92. package/dist/components/organisms/VideoPlayer/index.cjs +7 -3
  93. package/dist/components/organisms/VideoPlayer/index.cjs.map +1 -1
  94. package/dist/components/organisms/VideoPlayer/index.d.ts.map +1 -1
  95. package/dist/components/organisms/VideoPlayer/index.js +7 -3
  96. package/dist/components/organisms/VideoPlayer/index.js.map +1 -1
  97. package/dist/hooks/useAriaDisclosureAttrs/index.cjs +37 -0
  98. package/dist/hooks/useAriaDisclosureAttrs/index.cjs.map +1 -0
  99. package/dist/hooks/useAriaDisclosureAttrs/index.d.ts +20 -0
  100. package/dist/hooks/useAriaDisclosureAttrs/index.d.ts.map +1 -0
  101. package/dist/hooks/useAriaDisclosureAttrs/index.js +35 -0
  102. package/dist/hooks/useAriaDisclosureAttrs/index.js.map +1 -0
  103. package/package.json +1 -1
@@ -13,14 +13,19 @@ import { RangePresetButton, RangeCalendar } from './range-calendar.js';
13
13
 
14
14
  const now = today(getLocalTimeZone());
15
15
  const highlightedDates = [today(getLocalTimeZone())];
16
- const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, size = 'sm', 'data-testid': dataTestId, ...props }) => {
16
+ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', 'data-testid': dataTestId, ...props }) => {
17
17
  const { locale } = useLocale();
18
18
  const formatter = useDateFormatter({
19
19
  month: 'short',
20
20
  day: 'numeric',
21
21
  year: 'numeric',
22
22
  });
23
+ // `value` is the committed range reported to the consumer via `onChange`. The calendar
24
+ // popover (grid clicks and presets alike) reads/writes a separate `draftValue` while open,
25
+ // so nothing commits until Apply is pressed — Cancel (and dismissing the popover any other
26
+ // way, e.g. Escape or an outside click) simply discards the draft, leaving `value` untouched.
23
27
  const [value, setValue] = useControlledState(valueProp, defaultValue || null, onChange);
28
+ const [draftValue, setDraftValue] = useState(value);
24
29
  const [focusedValue, setFocusedValue] = useState(null);
25
30
  const formattedStartDate = value?.start ? formatter.format(value.start.toDate(getLocalTimeZone())) : 'Select date';
26
31
  const formattedEndDate = value?.end ? formatter.format(value.end.toDate(getLocalTimeZone())) : 'Select date';
@@ -60,10 +65,19 @@ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, on
60
65
  },
61
66
  }), [locale]);
62
67
  const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'date-range-picker', rootName: 'date-range-picker' });
63
- return (jsx(TestIdProvider, { value: rootTestId, children: jsxs(DateRangePicker$1, { "aria-label": "Date range picker", shouldCloseOnSelect: false, ...props, value: value, onChange: setValue, "data-testid": rootTestId, children: [jsx(Group, { children: jsx(Button, { size: size, color: "secondary", iconLeading: Calendar, "data-testid": joinTestId(rootTestId, 'trigger'), children: !value ? jsx("span", { className: "text-placeholder", children: "Select dates" }) : `${formattedStartDate} – ${formattedEndDate}` }) }), jsx(Popover, { placement: "bottom right", offset: 8, className: ({ isEntering, isExiting }) => cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
68
+ return (jsx(TestIdProvider, { value: rootTestId, children: jsxs(DateRangePicker$1, { "aria-label": "Date range picker", shouldCloseOnSelect: false, ...props, value: draftValue, onChange: setDraftValue, onOpenChange: (isOpen) => {
69
+ // Re-seed the draft from the latest committed value every time the popover opens, so
70
+ // a stale in-progress edit from a previous Cancel/dismiss never leaks in, and a
71
+ // controlled `value` that changed while closed is always the starting point.
72
+ if (isOpen) {
73
+ setDraftValue(value);
74
+ setFocusedValue(value?.start ?? null);
75
+ }
76
+ onOpenChange?.(isOpen);
77
+ }, "data-testid": rootTestId, children: [jsx(Group, { children: jsx(Button, { size: size, color: "secondary", iconLeading: Calendar, "data-testid": joinTestId(rootTestId, 'trigger'), children: !value ? jsx("span", { className: "text-placeholder", children: "Select dates" }) : `${formattedStartDate} – ${formattedEndDate}` }) }), jsx(Popover, { placement: "bottom right", offset: 8, className: ({ isEntering, isExiting }) => cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
64
78
  'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
65
79
  'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsx(Dialog, { "aria-label": "Date range picker", "data-testid": joinTestId(rootTestId, 'popover'), className: "flex rounded-2xl bg-primary shadow-xl ring ring-secondary_alt focus:outline-hidden", children: ({ close }) => (jsxs(Fragment, { children: [jsx("div", { className: "hidden w-38 flex-col gap-0.5 border-r border-solid border-secondary p-3 lg:flex", children: Object.values(presets).map((preset) => (jsx(RangePresetButton, { value: preset.value, onClick: () => {
66
- setValue(preset.value);
80
+ setDraftValue(preset.value);
67
81
  setFocusedValue(preset.value.start);
68
82
  }, children: preset.label }, preset.label))) }), jsxs("div", { className: "flex flex-col", children: [jsx(RangeCalendar, { focusedValue: focusedValue, onFocusChange: setFocusedValue, highlightedDates: highlightedDates, presets: {
69
83
  lastWeek: presets.lastWeek,
@@ -73,6 +87,7 @@ const DateRangePicker = ({ value: valueProp, defaultValue, onChange, onApply, on
73
87
  onCancel?.();
74
88
  close();
75
89
  }, children: "Cancel" }), jsx(Button, { size: "sm", color: "primary", "data-testid": joinTestId(rootTestId, 'apply'), onClick: () => {
90
+ setValue(draftValue);
76
91
  onApply?.();
77
92
  close();
78
93
  }, children: "Apply" })] })] })] })] })) }) })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker.js","sources":["../../../../../src/components/organisms/DatePicker/components/date-range-picker.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDateRangePicker","AriaGroup","CalendarIcon","AriaPopover","AriaDialog","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"date-range-picker.js","sources":["../../../../../src/components/organisms/DatePicker/components/date-range-picker.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDateRangePicker","AriaGroup","CalendarIcon","AriaPopover","AriaDialog","_Fragment"],"mappings":";;;;;;;;;;;;;AAsBA,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;AAErC,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAY7C,MAAM,eAAe,GAAG,CAAC,EAC9B,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,IAAI,GAAG,IAAI,EACX,aAAa,EAAE,UAAU,EACzB,GAAG,KAAK,EACa,KAAI;AACzB,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE;IAC9B,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACjC,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,IAAI,EAAE,SAAS;AAChB,KAAA,CAAC;;;;;AAKF,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,IAAI,IAAI,EAAE,QAAQ,CAAC;IACvF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA8C,KAAK,CAAC;IAChG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC;IAExE,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,aAAa;IAClH,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,aAAa;AAE5G,IAAA,MAAM,OAAO,GAAG,OAAO,CACrB,OAAO;AACL,QAAA,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;AAC1D,QAAA,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9G,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;AACzG,QAAA,QAAQ,EAAE;AACR,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACtD,gBAAA,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACnD,aAAA;AACF,SAAA;QACD,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;AAC7F,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChD,gBAAA,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAC7C,aAAA;AACF,SAAA;AACD,QAAA,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;AAChI,QAAA,QAAQ,EAAE;AACR,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,KAAK,EAAE;gBACL,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/D,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAChD,gBAAA,GAAG,EAAE,GAAG;AACT,aAAA;AACF,SAAA;AACF,KAAA,CAAC,EACF,CAAC,MAAM,CAAC,CACT;AAED,IAAA,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;AAEzH,IAAA,QACEA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAE,UAAU,EAAA,QAAA,EAC/BC,IAAA,CAACC,iBAAmB,EAAA,EAAA,YAAA,EACP,mBAAmB,EAC9B,mBAAmB,EAAE,KAAK,EAAA,GACtB,KAAK,EACT,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,CAAC,MAAM,KAAI;;;;gBAIvB,IAAI,MAAM,EAAE;oBACV,aAAa,CAAC,KAAK,CAAC;AACpB,oBAAA,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC;gBACvC;AACA,gBAAA,YAAY,GAAG,MAAM,CAAC;AACxB,YAAA,CAAC,EAAA,aAAA,EACY,UAAU,EAAA,QAAA,EAAA,CAEvBF,GAAA,CAACG,KAAS,EAAA,EAAA,QAAA,EACRH,GAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,WAAW,EAAC,WAAW,EAAEI,QAAY,EAAA,aAAA,EAAe,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EAC5G,CAAC,KAAK,GAAGJ,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,cAAA,EAAA,CAAoB,GAAG,CAAA,EAAG,kBAAkB,CAAA,GAAA,EAAM,gBAAgB,CAAA,CAAE,EAAA,CACzG,EAAA,CACC,EACZA,IAACK,OAAW,EAAA,EACV,SAAS,EAAC,cAAc,EACxB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KACnC,EAAE,CACA,uDAAuD,EACvD,UAAU;AACR,wBAAA,+JAA+J,EACjK,SAAS;wBACP,6JAA6J,CAChK,EAAA,QAAA,EAGHL,GAAA,CAACM,MAAU,EAAA,EAAA,YAAA,EACE,mBAAmB,EAAA,aAAA,EACjB,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,EAC9C,SAAS,EAAC,oFAAoF,EAAA,QAAA,EAE7F,CAAC,EAAE,KAAK,EAAE,MACTL,IAAA,CAAAM,QAAA,EAAA,EAAA,QAAA,EAAA,CACEP,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iFAAiF,EAAA,QAAA,EAC7F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,MACjCA,GAAA,CAAC,iBAAiB,EAAA,EAEhB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,MAAK;AACZ,4CAAA,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAC3B,4CAAA,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;AACrC,wCAAA,CAAC,EAAA,QAAA,EAEA,MAAM,CAAC,KAAK,IAPR,MAAM,CAAC,KAAK,CAQC,CACrB,CAAC,EAAA,CACE,EACNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,EAAA,QAAA,EAAA,CAC5BD,GAAA,CAAC,aAAa,EAAA,EACZ,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,eAAe,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE;gDACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;gDAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gDAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC3B,6CAAA,EAAA,CACD,EACFC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0DAA0D,EAAA,QAAA,EAAA,CACvEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAAA,CAChDD,GAAA,CAAC,aAAa,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAA,CAAG,EACxCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,QAAA,EAAA,CAAQ,EAChDA,GAAA,CAAC,aAAa,IAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAA,CAAG,IAClC,EACNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iDAAiD,EAAA,QAAA,EAAA,CAC9DD,GAAA,CAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,WAAW,EAAA,aAAA,EACJ,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC7C,OAAO,EAAE,MAAK;gEACZ,QAAQ,IAAI;AACZ,gEAAA,KAAK,EAAE;4DACT,CAAC,EAAA,QAAA,EAAA,QAAA,EAAA,CAGM,EACTA,GAAA,CAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,SAAS,EAAA,aAAA,EACF,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,EAC5C,OAAO,EAAE,MAAK;gEACZ,QAAQ,CAAC,UAAU,CAAC;gEACpB,OAAO,IAAI;AACX,gEAAA,KAAK,EAAE;4DACT,CAAC,EAAA,QAAA,EAAA,OAAA,EAAA,CAGM,CAAA,EAAA,CACL,CAAA,EAAA,CACF,CAAA,EAAA,CACF,CAAA,EAAA,CACL,CACJ,EAAA,CACU,EAAA,CACD,CAAA,EAAA,CACM,EAAA,CACP;AAErB;;;;"}
@@ -12,11 +12,6 @@ var reactAriaComponents = require('react-aria-components');
12
12
  var cell = require('./cell.cjs');
13
13
  var inputDate = require('./input-date.cjs');
14
14
 
15
- const RangeCalendarContextProvider = ({ children }) => {
16
- const [value, onChange] = React.useState(null);
17
- const [focusedValue, onFocusChange] = React.useState();
18
- return jsxRuntime.jsx(reactAriaComponents.RangeCalendarContext.Provider, { value: { value, onChange, focusedValue, onFocusChange }, children: children });
19
- };
20
15
  const RangeCalendarTitle = ({ part }) => {
21
16
  const context = React.useContext(reactAriaComponents.RangeCalendarStateContext);
22
17
  if (!context) {
@@ -32,12 +27,12 @@ const RangeCalendarTitle = ({ part }) => {
32
27
  ? formatter.format(context.visibleRange.start.toDate(context.timeZone))
33
28
  : formatter.format(context.visibleRange.end.toDate(context.timeZone));
34
29
  };
35
- const RangePresetButton = ({ value, className, children, ...props }) => {
30
+ const RangePresetButton = ({ value, className, children, 'data-testid': dataTestId, ...props }) => {
36
31
  const context = reactAriaComponents.useSlottedContext(reactAriaComponents.RangeCalendarContext);
37
32
  const isSelected = context?.value?.start?.compare(value.start) === 0 && context?.value?.end?.compare(value.end) === 0;
38
33
  const prefix = testIdUtils.useTestIdPrefix();
39
- const presetTestId = prefix && typeof children === 'string' ? testIdUtils.joinTestId(prefix, `preset-${testIdUtils.slugifyTestId(children)}`) : undefined;
40
- return (jsxRuntime.jsx("button", { ...props, "data-testid": presetTestId, className: cx.cx('cursor-pointer rounded-md px-3 py-2 text-left text-sm font-medium text-white outline-focus-ring transition duration-100 ease-linear focus-visible:outline-2 focus-visible:outline-offset-2', isSelected
34
+ const presetTestId = dataTestId ?? (prefix && typeof children === 'string' ? testIdUtils.joinTestId(prefix, `preset-${testIdUtils.slugifyTestId(children)}`) : undefined);
35
+ return (jsxRuntime.jsx("button", { ...props, "data-testid": presetTestId, className: cx.cx('cursor-pointer rounded-md px-3 py-2 text-left text-sm font-medium outline-focus-ring transition duration-100 ease-linear focus-visible:outline-2 focus-visible:outline-offset-2', isSelected
41
36
  ? 'bg-secondary text-secondary_hover hover:bg-secondary_hover'
42
37
  : 'text-secondary hover:bg-primary_hover hover:text-secondary_hover', className), children: children }));
43
38
  };
@@ -52,19 +47,16 @@ const MobilePresetButton = ({ value, children, ...props }) => {
52
47
  };
53
48
  const RangeCalendar = ({ presets, visibleDuration, showOutOfRangeDates = false, showPresetsOnDesktop = false, 'data-testid': dataTestId, ...props }) => {
54
49
  const isDesktop = useBreakpoints.useBreakpoint('md');
55
- const context = reactAriaComponents.useSlottedContext(reactAriaComponents.RangeCalendarContext);
56
- const ContextWrapper = context ? React.Fragment : RangeCalendarContextProvider;
57
50
  const visibleDurationMonths = visibleDuration?.months || (isDesktop ? 2 : 1);
58
51
  // Adopt the ambient prefix from an ancestor (e.g. `DateRangePicker`) unchanged so ids stay
59
52
  // flat (`<root>--cell-…`); only fall back to the standalone default when there is none.
60
53
  const ambientPrefix = testIdUtils.useTestIdPrefix();
61
54
  const calendarTestId = dataTestId ?? ambientPrefix ?? testIdUtils.rootTestId('range-calendar');
62
- return (jsxRuntime.jsx(ContextWrapper, { children: jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: calendarTestId, children: jsxRuntime.jsxs(reactAriaComponents.RangeCalendar, { ...props, "data-testid": calendarTestId, className: (state) => cx.cx('flex items-start', typeof props.className === 'function' ? props.className(state) : props.className), visibleDuration: {
63
- months: visibleDurationMonths,
64
- }, children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 px-6 py-5 md:gap-2", children: [jsxRuntime.jsxs("div", { className: cx.cx('relative flex items-center', visibleDurationMonths > 1 ? 'justify-start' : 'justify-between'), children: [jsxRuntime.jsx(Button.Button, { slot: "previous", iconLeading: uiIcons.ChevronLeft, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'prev') }), jsxRuntime.jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsxRuntime.jsx(RangeCalendarTitle, { part: "start" }) }), visibleDurationMonths === 1 && (jsxRuntime.jsx(Button.Button, { slot: "next", iconLeading: uiIcons.ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'next') }))] }), !isDesktop && (jsxRuntime.jsxs("div", { className: "flex items-center gap-2 md:hidden", children: [jsxRuntime.jsx(inputDate.InputDateBase, { slot: "start", size: "sm", className: "flex-1" }), jsxRuntime.jsx("div", { className: "text-md text-quaternary", children: "\u2013" }), jsxRuntime.jsx(inputDate.InputDateBase, { slot: "end", size: "sm", className: "flex-1" })] })), (showPresetsOnDesktop || !isDesktop) && presets && (jsxRuntime.jsx("div", { className: "mt-1 flex justify-between gap-3 px-2", children: Object.values(presets).map((preset) => (jsxRuntime.jsx(MobilePresetButton, { value: preset.value, children: preset.label }, preset.label))) })), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsxRuntime.jsx(cell.CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }), visibleDurationMonths > 1 && (jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 border-l border-secondary px-6 py-5", children: [jsxRuntime.jsxs("div", { className: "relative flex items-center justify-end", children: [jsxRuntime.jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsxRuntime.jsx(RangeCalendarTitle, { part: "end" }) }), jsxRuntime.jsx(Button.Button, { slot: "next", iconLeading: uiIcons.ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'next') })] }), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", offset: { months: 1 }, className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsxRuntime.jsx(cell.CalendarCell, { date: date }) })] })] }))] }) }) }));
55
+ return (jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: calendarTestId, children: jsxRuntime.jsxs(reactAriaComponents.RangeCalendar, { ...props, "data-testid": calendarTestId, className: (state) => cx.cx('flex items-start', typeof props.className === 'function' ? props.className(state) : props.className), visibleDuration: {
56
+ months: visibleDurationMonths,
57
+ }, children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 px-6 py-5 md:gap-2", children: [jsxRuntime.jsxs("div", { className: cx.cx('relative flex items-center', visibleDurationMonths > 1 ? 'justify-start' : 'justify-between'), children: [jsxRuntime.jsx(Button.Button, { slot: "previous", iconLeading: uiIcons.ChevronLeft, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'prev') }), jsxRuntime.jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsxRuntime.jsx(RangeCalendarTitle, { part: "start" }) }), visibleDurationMonths === 1 && (jsxRuntime.jsx(Button.Button, { slot: "next", iconLeading: uiIcons.ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'next') }))] }), !isDesktop && (jsxRuntime.jsxs("div", { className: "flex items-center gap-2 md:hidden", children: [jsxRuntime.jsx(inputDate.InputDateBase, { slot: "start", size: "sm", className: "flex-1" }), jsxRuntime.jsx("div", { className: "text-md text-quaternary", children: "\u2013" }), jsxRuntime.jsx(inputDate.InputDateBase, { slot: "end", size: "sm", className: "flex-1" })] })), (showPresetsOnDesktop || !isDesktop) && presets && (jsxRuntime.jsx("div", { className: "mt-1 flex justify-between gap-3 px-2", children: Object.values(presets).map((preset) => (jsxRuntime.jsx(MobilePresetButton, { value: preset.value, children: preset.label }, preset.label))) })), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsxRuntime.jsx(cell.CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }), visibleDurationMonths > 1 && (jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 border-l border-secondary px-6 py-5", children: [jsxRuntime.jsxs("div", { className: "relative flex items-center justify-end", children: [jsxRuntime.jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsxRuntime.jsx(RangeCalendarTitle, { part: "end" }) }), jsxRuntime.jsx(Button.Button, { slot: "next", iconLeading: uiIcons.ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": testIdUtils.joinTestId(calendarTestId, 'next') })] }), jsxRuntime.jsxs(reactAriaComponents.CalendarGrid, { weekdayStyle: "short", offset: { months: 1 }, className: "w-max", children: [jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { children: (day) => (jsxRuntime.jsx(reactAriaComponents.CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsxRuntime.jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsxRuntime.jsx(reactAriaComponents.CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsxRuntime.jsx(cell.CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }))] }) }));
65
58
  };
66
59
 
67
60
  exports.RangeCalendar = RangeCalendar;
68
- exports.RangeCalendarContextProvider = RangeCalendarContextProvider;
69
61
  exports.RangePresetButton = RangePresetButton;
70
62
  //# sourceMappingURL=range-calendar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"range-calendar.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/range-calendar.tsx"],"sourcesContent":[null],"names":["useState","_jsx","RangeCalendarContext","useContext","RangeCalendarStateContext","useDateFormatter","useSlottedContext","useTestIdPrefix","joinTestId","slugifyTestId","cx","Button","useBreakpoint","Fragment","rootTestId","TestIdProvider","_jsxs","AriaRangeCalendar","ChevronLeft","ChevronRight","InputDateBase","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","CalendarCell"],"mappings":"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"}
1
+ {"version":3,"file":"range-calendar.cjs","sources":["../../../../../src/components/organisms/DatePicker/components/range-calendar.tsx"],"sourcesContent":[null],"names":["useContext","RangeCalendarStateContext","useDateFormatter","useSlottedContext","RangeCalendarContext","useTestIdPrefix","joinTestId","slugifyTestId","_jsx","cx","Button","useBreakpoint","rootTestId","TestIdProvider","_jsxs","AriaRangeCalendar","ChevronLeft","ChevronRight","InputDateBase","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody","CalendarCell"],"mappings":"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"}
@@ -1,13 +1,24 @@
1
1
  import type { HTMLAttributes, PropsWithChildren } from 'react';
2
2
  import type { RangeCalendarProps as AriaRangeCalendarProps, DateValue } from 'react-aria-components';
3
+ /**
4
+ * Provides an ambient `RangeCalendarContext` for composing `RangeCalendar` slot components
5
+ * (e.g. `RangePresetButton`) outside of a `RangeCalendar`/`DateRangePicker`. `RangeCalendar`
6
+ * itself no longer wraps its standalone render in this provider — doing so fed a hard-coded
7
+ * `value: null` into `AriaRangeCalendar`'s own ambient-context merge, which made the calendar
8
+ * look "controlled" with a `null` value and silently ignored any `defaultValue`/`value` the
9
+ * caller passed in. Only reach for this directly if you're composing `RangeCalendar`'s slot
10
+ * pieces yourself without rendering a `RangeCalendar`.
11
+ */
3
12
  export declare const RangeCalendarContextProvider: ({ children }: PropsWithChildren) => import("react").JSX.Element;
4
13
  interface RangePresetButtonProps extends HTMLAttributes<HTMLButtonElement> {
5
14
  value: {
6
15
  start: DateValue;
7
16
  end: DateValue;
8
17
  };
18
+ /** Overrides the derived `data-testid` (default `<prefix>--preset-<slugified-label>`). */
19
+ 'data-testid'?: string;
9
20
  }
10
- export declare const RangePresetButton: ({ value, className, children, ...props }: RangePresetButtonProps) => import("react").JSX.Element;
21
+ export declare const RangePresetButton: ({ value, className, children, "data-testid": dataTestId, ...props }: RangePresetButtonProps) => import("react").JSX.Element;
11
22
  export interface RangeCalendarProps extends AriaRangeCalendarProps<DateValue> {
12
23
  /** The dates to highlight. */
13
24
  highlightedDates?: DateValue[];
@@ -1 +1 @@
1
- {"version":3,"file":"range-calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/range-calendar.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAcrG,eAAO,MAAM,4BAA4B,GAAI,cAAc,iBAAiB,gCAK3E,CAAC;AAqBF,UAAU,sBAAuB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACxE,KAAK,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,CAAC;CAC7C;AAED,eAAO,MAAM,iBAAiB,GAAI,0CAA0C,sBAAsB,gCAuBjG,CAAC;AA6BF,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB,CAAC,SAAS,CAAC;IAC3E,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,KAAK,EAAE,SAAS,CAAC;YAAC,GAAG,EAAE,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACzF,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,GAAI,8GAO3B,kBAAkB,gCAsHpB,CAAC"}
1
+ {"version":3,"file":"range-calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/DatePicker/components/range-calendar.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAcrG;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GAAI,cAAc,iBAAiB,gCAQ3E,CAAC;AAqBF,UAAU,sBAAuB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACxE,KAAK,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,CAAC;IAC5C,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,GAAI,qEAAqE,sBAAsB,gCAuB5H,CAAC;AA6BF,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB,CAAC,SAAS,CAAC;IAC3E,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,KAAK,EAAE,SAAS,CAAC;YAAC,GAAG,EAAE,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACzF,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,GAAI,8GAO3B,kBAAkB,gCAiHpB,CAAC"}
@@ -5,16 +5,11 @@ import { useBreakpoint } from '@flipdish/ui-library/hooks/useBreakpoints';
5
5
  import { cx } from '@flipdish/ui-library/utilities/cx';
6
6
  import { useTestIdPrefix, rootTestId, TestIdProvider, joinTestId, slugifyTestId } from '@flipdish/ui-library/utilities/testIdUtils';
7
7
  import { useDateFormatter } from '@react-aria/i18n';
8
- import { Fragment, useState, useContext } from 'react';
9
- import { useSlottedContext, RangeCalendarContext, RangeCalendar as RangeCalendar$1, CalendarGrid, CalendarGridHeader, CalendarHeaderCell, CalendarGridBody, RangeCalendarStateContext } from 'react-aria-components';
8
+ import { useContext } from 'react';
9
+ import { RangeCalendar as RangeCalendar$1, CalendarGrid, CalendarGridHeader, CalendarHeaderCell, CalendarGridBody, useSlottedContext, RangeCalendarContext, RangeCalendarStateContext } from 'react-aria-components';
10
10
  import { CalendarCell } from './cell.js';
11
11
  import { InputDateBase } from './input-date.js';
12
12
 
13
- const RangeCalendarContextProvider = ({ children }) => {
14
- const [value, onChange] = useState(null);
15
- const [focusedValue, onFocusChange] = useState();
16
- return jsx(RangeCalendarContext.Provider, { value: { value, onChange, focusedValue, onFocusChange }, children: children });
17
- };
18
13
  const RangeCalendarTitle = ({ part }) => {
19
14
  const context = useContext(RangeCalendarStateContext);
20
15
  if (!context) {
@@ -30,12 +25,12 @@ const RangeCalendarTitle = ({ part }) => {
30
25
  ? formatter.format(context.visibleRange.start.toDate(context.timeZone))
31
26
  : formatter.format(context.visibleRange.end.toDate(context.timeZone));
32
27
  };
33
- const RangePresetButton = ({ value, className, children, ...props }) => {
28
+ const RangePresetButton = ({ value, className, children, 'data-testid': dataTestId, ...props }) => {
34
29
  const context = useSlottedContext(RangeCalendarContext);
35
30
  const isSelected = context?.value?.start?.compare(value.start) === 0 && context?.value?.end?.compare(value.end) === 0;
36
31
  const prefix = useTestIdPrefix();
37
- const presetTestId = prefix && typeof children === 'string' ? joinTestId(prefix, `preset-${slugifyTestId(children)}`) : undefined;
38
- return (jsx("button", { ...props, "data-testid": presetTestId, className: cx('cursor-pointer rounded-md px-3 py-2 text-left text-sm font-medium text-white outline-focus-ring transition duration-100 ease-linear focus-visible:outline-2 focus-visible:outline-offset-2', isSelected
32
+ const presetTestId = dataTestId ?? (prefix && typeof children === 'string' ? joinTestId(prefix, `preset-${slugifyTestId(children)}`) : undefined);
33
+ return (jsx("button", { ...props, "data-testid": presetTestId, className: cx('cursor-pointer rounded-md px-3 py-2 text-left text-sm font-medium outline-focus-ring transition duration-100 ease-linear focus-visible:outline-2 focus-visible:outline-offset-2', isSelected
39
34
  ? 'bg-secondary text-secondary_hover hover:bg-secondary_hover'
40
35
  : 'text-secondary hover:bg-primary_hover hover:text-secondary_hover', className), children: children }));
41
36
  };
@@ -50,17 +45,15 @@ const MobilePresetButton = ({ value, children, ...props }) => {
50
45
  };
51
46
  const RangeCalendar = ({ presets, visibleDuration, showOutOfRangeDates = false, showPresetsOnDesktop = false, 'data-testid': dataTestId, ...props }) => {
52
47
  const isDesktop = useBreakpoint('md');
53
- const context = useSlottedContext(RangeCalendarContext);
54
- const ContextWrapper = context ? Fragment : RangeCalendarContextProvider;
55
48
  const visibleDurationMonths = visibleDuration?.months || (isDesktop ? 2 : 1);
56
49
  // Adopt the ambient prefix from an ancestor (e.g. `DateRangePicker`) unchanged so ids stay
57
50
  // flat (`<root>--cell-…`); only fall back to the standalone default when there is none.
58
51
  const ambientPrefix = useTestIdPrefix();
59
52
  const calendarTestId = dataTestId ?? ambientPrefix ?? rootTestId('range-calendar');
60
- return (jsx(ContextWrapper, { children: jsx(TestIdProvider, { value: calendarTestId, children: jsxs(RangeCalendar$1, { ...props, "data-testid": calendarTestId, className: (state) => cx('flex items-start', typeof props.className === 'function' ? props.className(state) : props.className), visibleDuration: {
61
- months: visibleDurationMonths,
62
- }, children: [jsxs("div", { className: "flex flex-col gap-3 px-6 py-5 md:gap-2", children: [jsxs("div", { className: cx('relative flex items-center', visibleDurationMonths > 1 ? 'justify-start' : 'justify-between'), children: [jsx(Button, { slot: "previous", iconLeading: ChevronLeft, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'prev') }), jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsx(RangeCalendarTitle, { part: "start" }) }), visibleDurationMonths === 1 && (jsx(Button, { slot: "next", iconLeading: ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'next') }))] }), !isDesktop && (jsxs("div", { className: "flex items-center gap-2 md:hidden", children: [jsx(InputDateBase, { slot: "start", size: "sm", className: "flex-1" }), jsx("div", { className: "text-md text-quaternary", children: "\u2013" }), jsx(InputDateBase, { slot: "end", size: "sm", className: "flex-1" })] })), (showPresetsOnDesktop || !isDesktop) && presets && (jsx("div", { className: "mt-1 flex justify-between gap-3 px-2", children: Object.values(presets).map((preset) => (jsx(MobilePresetButton, { value: preset.value, children: preset.label }, preset.label))) })), jsxs(CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsx(CalendarGridHeader, { children: (day) => (jsx(CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsx(CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }), visibleDurationMonths > 1 && (jsxs("div", { className: "flex flex-col gap-3 border-l border-secondary px-6 py-5", children: [jsxs("div", { className: "relative flex items-center justify-end", children: [jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsx(RangeCalendarTitle, { part: "end" }) }), jsx(Button, { slot: "next", iconLeading: ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'next') })] }), jsxs(CalendarGrid, { weekdayStyle: "short", offset: { months: 1 }, className: "w-max", children: [jsx(CalendarGridHeader, { children: (day) => (jsx(CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsx(CalendarCell, { date: date }) })] })] }))] }) }) }));
53
+ return (jsx(TestIdProvider, { value: calendarTestId, children: jsxs(RangeCalendar$1, { ...props, "data-testid": calendarTestId, className: (state) => cx('flex items-start', typeof props.className === 'function' ? props.className(state) : props.className), visibleDuration: {
54
+ months: visibleDurationMonths,
55
+ }, children: [jsxs("div", { className: "flex flex-col gap-3 px-6 py-5 md:gap-2", children: [jsxs("div", { className: cx('relative flex items-center', visibleDurationMonths > 1 ? 'justify-start' : 'justify-between'), children: [jsx(Button, { slot: "previous", iconLeading: ChevronLeft, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'prev') }), jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsx(RangeCalendarTitle, { part: "start" }) }), visibleDurationMonths === 1 && (jsx(Button, { slot: "next", iconLeading: ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'next') }))] }), !isDesktop && (jsxs("div", { className: "flex items-center gap-2 md:hidden", children: [jsx(InputDateBase, { slot: "start", size: "sm", className: "flex-1" }), jsx("div", { className: "text-md text-quaternary", children: "\u2013" }), jsx(InputDateBase, { slot: "end", size: "sm", className: "flex-1" })] })), (showPresetsOnDesktop || !isDesktop) && presets && (jsx("div", { className: "mt-1 flex justify-between gap-3 px-2", children: Object.values(presets).map((preset) => (jsx(MobilePresetButton, { value: preset.value, children: preset.label }, preset.label))) })), jsxs(CalendarGrid, { weekdayStyle: "short", className: "w-max", children: [jsx(CalendarGridHeader, { children: (day) => (jsx(CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsx(CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }), visibleDurationMonths > 1 && (jsxs("div", { className: "flex flex-col gap-3 border-l border-secondary px-6 py-5", children: [jsxs("div", { className: "relative flex items-center justify-end", children: [jsx("h2", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm font-semibold text-fg-secondary", children: jsx(RangeCalendarTitle, { part: "end" }) }), jsx(Button, { slot: "next", iconLeading: ChevronRight, size: "sm", color: "tertiary", className: "size-8", "data-testid": joinTestId(calendarTestId, 'next') })] }), jsxs(CalendarGrid, { weekdayStyle: "short", offset: { months: 1 }, className: "w-max", children: [jsx(CalendarGridHeader, { children: (day) => (jsx(CalendarHeaderCell, { className: "border-b-4 border-transparent p-0", children: jsx("div", { className: "flex size-10 items-center justify-center text-sm font-medium text-secondary", children: day.slice(0, 2) }) })) }), jsx(CalendarGridBody, { className: "[&_td]:p-0 [&_tr]:border-b-4 [&_tr]:border-transparent [&_tr:last-of-type]:border-none", children: (date) => jsx(CalendarCell, { date: date, showOutOfRangeDates: showOutOfRangeDates }) })] })] }))] }) }));
63
56
  };
64
57
 
65
- export { RangeCalendar, RangeCalendarContextProvider, RangePresetButton };
58
+ export { RangeCalendar, RangePresetButton };
66
59
  //# sourceMappingURL=range-calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"range-calendar.js","sources":["../../../../../src/components/organisms/DatePicker/components/range-calendar.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaRangeCalendar","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody"],"mappings":";;;;;;;;;;;;MA0Ba,4BAA4B,GAAG,CAAC,EAAE,QAAQ,EAAqB,KAAI;IAC9E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA8C,IAAI,CAAC;IACrF,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAyB;AAEvE,IAAA,OAAOA,IAAC,oBAAoB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,EAAA,QAAA,EAAG,QAAQ,GAAiC;AAC3I;AAEA,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAA6B,KAAI;AACjE,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,yBAAyB,CAAC;IAErD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC;IAC9F;IAEA,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACjC,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU;QACxD,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC3B,KAAA,CAAC;IAEF,OAAO,IAAI,KAAK;AACd,UAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;AACtE,UAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzE,CAAC;AAMM,MAAM,iBAAiB,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAA0B,KAAI;AACpG,IAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;AAEvD,IAAA,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAErH,IAAA,MAAM,MAAM,GAAG,eAAe,EAAE;IAChC,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,aAAa,CAAC,QAAQ,CAAC,CAAA,CAAE,CAAC,GAAG,SAAS;AAEjI,IAAA,QACEA,GAAA,CAAA,QAAA,EAAA,EAAA,GACM,KAAK,EAAA,aAAA,EACI,YAAY,EACzB,SAAS,EAAE,EAAE,CACX,4LAA4L,EAC5L;AACE,cAAE;cACA,kEAAkE,EACtE,SAAS,CACV,EAAA,QAAA,EAEA,QAAQ,EAAA,CACF;AAEb;AAMA,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAA2B,KAAI;AACpF,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,yBAAyB,CAAC;AAErD,IAAA,MAAM,MAAM,GAAG,eAAe,EAAE;IAChC,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,aAAa,CAAC,QAAQ,CAAC,CAAA,CAAE,CAAC,GAAG,SAAS;IAEjI,QACEA,IAAC,MAAM,EAAA,EAAA,GACD,KAAK,EACT,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,YAAY,EAAA,aAAA,EACL,YAAY,EACzB,OAAO,EAAE,MAAK;AACZ,YAAA,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;AACxB,YAAA,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,KAAqB,CAAC;AACtD,QAAA,CAAC,EAAA,QAAA,EAEA,QAAQ,EAAA,CACF;AAEb,CAAC;AAmBM,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,EACP,eAAe,EACf,mBAAmB,GAAG,KAAK,EAC3B,oBAAoB,GAAG,KAAK,EAC5B,aAAa,EAAE,UAAU,EACzB,GAAG,KAAK,EACW,KAAI;AACvB,IAAA,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC;AACrC,IAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;IAEvD,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,4BAA4B;AAExE,IAAA,MAAM,qBAAqB,GAAG,eAAe,EAAE,MAAM,KAAK,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;;;AAI5E,IAAA,MAAM,aAAa,GAAG,eAAe,EAAE;IACvC,MAAM,cAAc,GAAG,UAAU,IAAI,aAAa,IAAI,UAAU,CAAC,gBAAgB,CAAC;IAElF,QACEA,GAAA,CAAC,cAAc,EAAA,EAAA,QAAA,EACbA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAE,cAAc,EAAA,QAAA,EACnCC,IAAA,CAACC,eAAiB,EAAA,EAAA,GACZ,KAAK,EAAA,aAAA,EACI,cAAc,EAC3B,SAAS,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,kBAAkB,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EAC9H,eAAe,EAAE;AACf,oBAAA,MAAM,EAAE,qBAAqB;iBAC9B,EAAA,QAAA,EAAA,CAEDD,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,wCAAwC,aACrDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,qBAAqB,GAAG,CAAC,GAAG,eAAe,GAAG,iBAAiB,CAAC,aAC/GD,GAAA,CAAC,MAAM,IACL,IAAI,EAAC,UAAU,EACf,WAAW,EAAE,WAAW,EACxB,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,UAAU,EAChB,SAAS,EAAC,QAAQ,EAAA,aAAA,EACL,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,GAC/C,EAEFA,GAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,qGAAqG,EAAA,QAAA,EACjHA,GAAA,CAAC,kBAAkB,EAAA,EAAC,IAAI,EAAC,OAAO,GAAG,EAAA,CAChC,EAEJ,qBAAqB,KAAK,CAAC,KAC1BA,GAAA,CAAC,MAAM,IACL,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,YAAY,EACzB,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,UAAU,EAChB,SAAS,EAAC,QAAQ,iBACL,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,GAC/C,CACH,CAAA,EAAA,CACG,EAEL,CAAC,SAAS,KACTC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAAA,CAChDD,IAAC,aAAa,EAAA,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAA,CAAG,EAC3DA,aAAK,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,QAAA,EAAA,CAAQ,EAChDA,GAAA,CAAC,aAAa,EAAA,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAA,CAAG,CAAA,EAAA,CACrD,CACP,EAEA,CAAC,oBAAoB,IAAI,CAAC,SAAS,KAAK,OAAO,KAC9CA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sCAAsC,EAAA,QAAA,EAClD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,MACjCA,IAAC,kBAAkB,EAAA,EAAoB,KAAK,EAAE,MAAM,CAAC,KAAK,EAAA,QAAA,EACvD,MAAM,CAAC,KAAK,EAAA,EADU,MAAM,CAAC,KAAK,CAEhB,CACtB,CAAC,EAAA,CACE,CACP,EAEDC,IAAA,CAACE,YAAgB,IAAC,YAAY,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,CACtDH,GAAA,CAACI,kBAAsB,EAAA,EAAA,QAAA,EACpB,CAAC,GAAG,MACHJ,GAAA,CAACK,kBAAsB,EAAA,EAAC,SAAS,EAAC,mCAAmC,EAAA,QAAA,EACnEL,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6EAA6E,YAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAA,CAAO,GAC7F,CAC1B,EAAA,CACsB,EACzBA,GAAA,CAACM,gBAAoB,EAAA,EAAC,SAAS,EAAC,wFAAwF,EAAA,QAAA,EACrH,CAAC,IAAI,KAAKN,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAA,CAAI,GAC5D,CAAA,EAAA,CACN,CAAA,EAAA,CACf,EAEL,qBAAqB,GAAG,CAAC,KACxBC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yDAAyD,aACtEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,wCAAwC,EAAA,QAAA,EAAA,CACrDD,YAAI,SAAS,EAAC,qGAAqG,EAAA,QAAA,EACjHA,GAAA,CAAC,kBAAkB,IAAC,IAAI,EAAC,KAAK,EAAA,CAAG,EAAA,CAC9B,EAELA,IAAC,MAAM,EAAA,EACL,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,YAAY,EACzB,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,UAAU,EAChB,SAAS,EAAC,QAAQ,EAAA,aAAA,EACL,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,EAAA,CAC/C,CAAA,EAAA,CACE,EAENC,IAAA,CAACE,YAAgB,EAAA,EAAC,YAAY,EAAC,OAAO,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,CAC7EH,GAAA,CAACI,kBAAsB,cACpB,CAAC,GAAG,MACHJ,IAACK,kBAAsB,EAAA,EAAC,SAAS,EAAC,mCAAmC,YACnEL,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6EAA6E,EAAA,QAAA,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAO,EAAA,CAC7F,CAC1B,EAAA,CACsB,EACzBA,GAAA,CAACM,gBAAoB,IAAC,SAAS,EAAC,wFAAwF,EAAA,QAAA,EACrH,CAAC,IAAI,KAAKN,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,CAAI,EAAA,CAClB,CAAA,EAAA,CACN,CAAA,EAAA,CACf,CACP,CAAA,EAAA,CACiB,EAAA,CACL,EAAA,CACF;AAErB;;;;"}
1
+ {"version":3,"file":"range-calendar.js","sources":["../../../../../src/components/organisms/DatePicker/components/range-calendar.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaRangeCalendar","AriaCalendarGrid","AriaCalendarGridHeader","AriaCalendarHeaderCell","AriaCalendarGridBody"],"mappings":"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"}
@@ -8,6 +8,7 @@ var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
8
8
  var date = require('@internationalized/date');
9
9
  var i18n = require('@react-aria/i18n');
10
10
  var utils = require('@react-stately/utils');
11
+ var React = require('react');
11
12
  var reactAriaComponents = require('react-aria-components');
12
13
  var calendar = require('./components/calendar.cjs');
13
14
  var dateRangePicker = require('./components/date-range-picker.cjs');
@@ -20,21 +21,35 @@ const highlightedDates = [date.today(date.getLocalTimeZone())];
20
21
  *
21
22
  * @summary popover calendar for selecting a single date
22
23
  */
23
- const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, size = 'sm', 'data-testid': dataTestId, ...props }) => {
24
+ const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', 'data-testid': dataTestId, ...props }) => {
24
25
  const formatter = i18n.useDateFormatter({
25
26
  month: 'short',
26
27
  day: 'numeric',
27
28
  year: 'numeric',
28
29
  });
30
+ // `value` is the committed selection reported to the consumer via `onChange`. The calendar
31
+ // popover reads/writes a separate `draftValue` while open, so picking a date doesn't commit
32
+ // it until Apply is pressed — Cancel (and dismissing the popover any other way, e.g. Escape
33
+ // or an outside click) simply discards the draft, leaving `value` untouched.
29
34
  const [value, setValue] = utils.useControlledState(valueProp, defaultValue || null, onChange);
35
+ const [draftValue, setDraftValue] = React.useState(value);
30
36
  const formattedDate = value ? formatter.format(value.toDate(date.getLocalTimeZone())) : 'Select date';
31
37
  const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'date-picker', rootName: 'date-picker' });
32
- return (jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: rootTestId, children: jsxRuntime.jsxs(reactAriaComponents.DatePicker, { "aria-label": "Date picker", shouldCloseOnSelect: false, ...props, value: value, onChange: setValue, "data-testid": rootTestId, children: [jsxRuntime.jsx(reactAriaComponents.Group, { children: jsxRuntime.jsx(Button.Button, { size: size, color: "secondary", iconLeading: uiIcons.Calendar, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger'), children: formattedDate }) }), jsxRuntime.jsx(reactAriaComponents.Popover, { offset: 8, placement: "bottom right", className: ({ isEntering, isExiting }) => cx.cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
38
+ return (jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: rootTestId, children: jsxRuntime.jsxs(reactAriaComponents.DatePicker, { "aria-label": "Date picker", shouldCloseOnSelect: false, ...props, value: draftValue, onChange: setDraftValue, onOpenChange: (isOpen) => {
39
+ // Re-seed the draft from the latest committed value every time the popover opens, so
40
+ // a stale in-progress edit from a previous Cancel/dismiss never leaks in, and a
41
+ // controlled `value` that changed while closed is always the starting point.
42
+ if (isOpen) {
43
+ setDraftValue(value);
44
+ }
45
+ onOpenChange?.(isOpen);
46
+ }, "data-testid": rootTestId, children: [jsxRuntime.jsx(reactAriaComponents.Group, { children: jsxRuntime.jsx(Button.Button, { size: size, color: "secondary", iconLeading: uiIcons.Calendar, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger'), children: formattedDate }) }), jsxRuntime.jsx(reactAriaComponents.Popover, { offset: 8, placement: "bottom right", className: ({ isEntering, isExiting }) => cx.cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
33
47
  'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
34
48
  'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsxRuntime.jsx(reactAriaComponents.Dialog, { "aria-label": "Date picker", "data-testid": testIdUtils.joinTestId(rootTestId, 'popover'), className: "rounded-2xl bg-primary shadow-xl ring ring-secondary_alt", children: ({ close }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "flex px-6 py-5", children: jsxRuntime.jsx(calendar.Calendar, { highlightedDates: highlightedDates }) }), jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3 border-t border-secondary p-4", children: [jsxRuntime.jsx(Button.Button, { size: "md", color: "secondary", "data-testid": testIdUtils.joinTestId(rootTestId, 'cancel'), onClick: () => {
35
49
  onCancel?.();
36
50
  close();
37
51
  }, children: "Cancel" }), jsxRuntime.jsx(Button.Button, { size: "md", color: "primary", "data-testid": testIdUtils.joinTestId(rootTestId, 'apply'), onClick: () => {
52
+ setValue(draftValue);
38
53
  onApply?.();
39
54
  close();
40
55
  }, children: "Apply" })] })] })) }) })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"sourcesContent":[null],"names":["today","getLocalTimeZone","useDateFormatter","useControlledState","useResolvedTestId","_jsx","TestIdProvider","_jsxs","AriaDatePicker","AriaGroup","Button","CalendarIcon","joinTestId","AriaPopover","cx","AriaDialog","_Fragment","Calendar"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAM,gBAAgB,GAAG,CAACA,UAAK,CAACC,qBAAgB,EAAE,CAAC,CAAC;AAYpD;;;;;AAKG;AACI,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,aAAa,EAAE,UAAU,EACzB,GAAG,KAAK,EACQ,KAAI;IACpB,MAAM,SAAS,GAAGC,qBAAgB,CAAC;AACjC,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,IAAI,EAAE,SAAS;AAChB,KAAA,CAAC;AACF,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,wBAAkB,CAAC,SAAS,EAAE,YAAY,IAAI,IAAI,EAAE,QAAQ,CAAC;IAEvF,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAACF,qBAAgB,EAAE,CAAC,CAAC,GAAG,aAAa;AAEhG,IAAA,MAAM,UAAU,GAAGG,6BAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AAE7G,IAAA,QACEC,cAAA,CAACC,0BAAc,IAAC,KAAK,EAAE,UAAU,EAAA,QAAA,EAC/BC,eAAA,CAACC,8BAAc,EAAA,EAAA,YAAA,EAAY,aAAa,EAAC,mBAAmB,EAAE,KAAK,EAAA,GAAM,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAA,aAAA,EAAe,UAAU,aACvIH,cAAA,CAACI,yBAAS,EAAA,EAAA,QAAA,EACRJ,cAAA,CAACK,aAAM,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,WAAW,EAAC,WAAW,EAAEC,gBAAY,EAAA,aAAA,EAAeC,sBAAU,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EAC5G,aAAa,GACP,EAAA,CACC,EACZP,eAACQ,2BAAW,EAAA,EACV,MAAM,EAAE,CAAC,EACT,SAAS,EAAC,cAAc,EACxB,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KACnCC,KAAE,CACA,uDAAuD,EACvD,UAAU;AACR,wBAAA,+JAA+J,EACjK,SAAS;AACP,wBAAA,6JAA6J,CAChK,EAAA,QAAA,EAGHT,cAAA,CAACU,0BAAU,EAAA,EAAA,YAAA,EACE,aAAa,EAAA,aAAA,EACXH,sBAAU,CAAC,UAAU,EAAE,SAAS,CAAC,EAC9C,SAAS,EAAC,0DAA0D,EAAA,QAAA,EAEnE,CAAC,EAAE,KAAK,EAAE,MACTL,eAAA,CAAAS,mBAAA,EAAA,EAAA,QAAA,EAAA,CACEX,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAC7BA,cAAA,CAACY,iBAAQ,EAAA,EAAC,gBAAgB,EAAE,gBAAgB,EAAA,CAAI,GAC5C,EACNV,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sDAAsD,EAAA,QAAA,EAAA,CACnEF,cAAA,CAACK,aAAM,IACL,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,WAAW,EAAA,aAAA,EACJE,sBAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC7C,OAAO,EAAE,MAAK;gDACZ,QAAQ,IAAI;AACZ,gDAAA,KAAK,EAAE;4CACT,CAAC,EAAA,QAAA,EAAA,QAAA,EAAA,CAGM,EACTP,cAAA,CAACK,aAAM,IACL,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,SAAS,EAAA,aAAA,EACFE,sBAAU,CAAC,UAAU,EAAE,OAAO,CAAC,EAC5C,OAAO,EAAE,MAAK;gDACZ,OAAO,IAAI;AACX,gDAAA,KAAK,EAAE;4CACT,CAAC,EAAA,QAAA,EAAA,OAAA,EAAA,CAGM,IACL,CAAA,EAAA,CACL,CACJ,GACU,EAAA,CACD,CAAA,EAAA,CACC,EAAA,CACF;AAErB;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"sourcesContent":[null],"names":["today","getLocalTimeZone","useDateFormatter","useControlledState","useState","useResolvedTestId","_jsx","TestIdProvider","_jsxs","AriaDatePicker","AriaGroup","Button","CalendarIcon","joinTestId","AriaPopover","cx","AriaDialog","_Fragment","Calendar"],"mappings":"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"}
@@ -17,5 +17,5 @@ export interface DatePickerProps extends AriaDatePickerProps<DateValue> {
17
17
  *
18
18
  * @summary popover calendar for selecting a single date
19
19
  */
20
- export declare const DatePicker: ({ value: valueProp, defaultValue, onChange, onApply, onCancel, size, "data-testid": dataTestId, ...props }: DatePickerProps) => import("react").JSX.Element;
20
+ export declare const DatePicker: ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size, "data-testid": dataTestId, ...props }: DatePickerProps) => import("react").JSX.Element;
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAMxF,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAI/F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAIrF,MAAM,WAAW,eAAgB,SAAQ,mBAAmB,CAAC,SAAS,CAAC;IACrE,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,4GASxB,eAAe,gCA0EjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAOxF,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAI/F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAIrF,MAAM,WAAW,eAAgB,SAAQ,mBAAmB,CAAC,SAAS,CAAC;IACrE,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,0HAUxB,eAAe,gCAgGjB,CAAC"}
@@ -6,6 +6,7 @@ import { useResolvedTestId, TestIdProvider, joinTestId } from '@flipdish/ui-libr
6
6
  import { today, getLocalTimeZone } from '@internationalized/date';
7
7
  import { useDateFormatter } from '@react-aria/i18n';
8
8
  import { useControlledState } from '@react-stately/utils';
9
+ import { useState } from 'react';
9
10
  import { DatePicker as DatePicker$1, Group, Popover, Dialog } from 'react-aria-components';
10
11
  import { Calendar as Calendar$1 } from './components/calendar.js';
11
12
  export { DateRangePicker } from './components/date-range-picker.js';
@@ -18,21 +19,35 @@ const highlightedDates = [today(getLocalTimeZone())];
18
19
  *
19
20
  * @summary popover calendar for selecting a single date
20
21
  */
21
- const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, size = 'sm', 'data-testid': dataTestId, ...props }) => {
22
+ const DatePicker = ({ value: valueProp, defaultValue, onChange, onApply, onCancel, onOpenChange, size = 'sm', 'data-testid': dataTestId, ...props }) => {
22
23
  const formatter = useDateFormatter({
23
24
  month: 'short',
24
25
  day: 'numeric',
25
26
  year: 'numeric',
26
27
  });
28
+ // `value` is the committed selection reported to the consumer via `onChange`. The calendar
29
+ // popover reads/writes a separate `draftValue` while open, so picking a date doesn't commit
30
+ // it until Apply is pressed — Cancel (and dismissing the popover any other way, e.g. Escape
31
+ // or an outside click) simply discards the draft, leaving `value` untouched.
27
32
  const [value, setValue] = useControlledState(valueProp, defaultValue || null, onChange);
33
+ const [draftValue, setDraftValue] = useState(value);
28
34
  const formattedDate = value ? formatter.format(value.toDate(getLocalTimeZone())) : 'Select date';
29
35
  const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'date-picker', rootName: 'date-picker' });
30
- return (jsx(TestIdProvider, { value: rootTestId, children: jsxs(DatePicker$1, { "aria-label": "Date picker", shouldCloseOnSelect: false, ...props, value: value, onChange: setValue, "data-testid": rootTestId, children: [jsx(Group, { children: jsx(Button, { size: size, color: "secondary", iconLeading: Calendar, "data-testid": joinTestId(rootTestId, 'trigger'), children: formattedDate }) }), jsx(Popover, { offset: 8, placement: "bottom right", className: ({ isEntering, isExiting }) => cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
36
+ return (jsx(TestIdProvider, { value: rootTestId, children: jsxs(DatePicker$1, { "aria-label": "Date picker", shouldCloseOnSelect: false, ...props, value: draftValue, onChange: setDraftValue, onOpenChange: (isOpen) => {
37
+ // Re-seed the draft from the latest committed value every time the popover opens, so
38
+ // a stale in-progress edit from a previous Cancel/dismiss never leaks in, and a
39
+ // controlled `value` that changed while closed is always the starting point.
40
+ if (isOpen) {
41
+ setDraftValue(value);
42
+ }
43
+ onOpenChange?.(isOpen);
44
+ }, "data-testid": rootTestId, children: [jsx(Group, { children: jsx(Button, { size: size, color: "secondary", iconLeading: Calendar, "data-testid": joinTestId(rootTestId, 'trigger'), children: formattedDate }) }), jsx(Popover, { offset: 8, placement: "bottom right", className: ({ isEntering, isExiting }) => cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
31
45
  'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
32
46
  'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsx(Dialog, { "aria-label": "Date picker", "data-testid": joinTestId(rootTestId, 'popover'), className: "rounded-2xl bg-primary shadow-xl ring ring-secondary_alt", children: ({ close }) => (jsxs(Fragment, { children: [jsx("div", { className: "flex px-6 py-5", children: jsx(Calendar$1, { highlightedDates: highlightedDates }) }), jsxs("div", { className: "grid grid-cols-2 gap-3 border-t border-secondary p-4", children: [jsx(Button, { size: "md", color: "secondary", "data-testid": joinTestId(rootTestId, 'cancel'), onClick: () => {
33
47
  onCancel?.();
34
48
  close();
35
49
  }, children: "Cancel" }), jsx(Button, { size: "md", color: "primary", "data-testid": joinTestId(rootTestId, 'apply'), onClick: () => {
50
+ setValue(draftValue);
36
51
  onApply?.();
37
52
  close();
38
53
  }, children: "Apply" })] })] })) }) })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDatePicker","AriaGroup","CalendarIcon","AriaPopover","AriaDialog","_Fragment","Calendar"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/organisms/DatePicker/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaDatePicker","AriaGroup","CalendarIcon","AriaPopover","AriaDialog","_Fragment","Calendar"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAYpD;;;;;AAKG;AACI,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,IAAI,GAAG,IAAI,EACX,aAAa,EAAE,UAAU,EACzB,GAAG,KAAK,EACQ,KAAI;IACpB,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACjC,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,IAAI,EAAE,SAAS;AAChB,KAAA,CAAC;;;;;AAKF,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,kBAAkB,CAAC,SAAS,EAAE,YAAY,IAAI,IAAI,EAAE,QAAQ,CAAC;IACvF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAmB,KAAK,CAAC;IAErE,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,aAAa;AAEhG,IAAA,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AAE7G,IAAA,QACEA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAE,UAAU,EAAA,QAAA,EAC/BC,IAAA,CAACC,YAAc,EAAA,EAAA,YAAA,EACF,aAAa,EACxB,mBAAmB,EAAE,KAAK,EAAA,GACtB,KAAK,EACT,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,CAAC,MAAM,KAAI;;;;gBAIvB,IAAI,MAAM,EAAE;oBACV,aAAa,CAAC,KAAK,CAAC;gBACtB;AACA,gBAAA,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC,EAAA,aAAA,EACY,UAAU,EAAA,QAAA,EAAA,CAEvBF,GAAA,CAACG,KAAS,EAAA,EAAA,QAAA,EACRH,GAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,WAAW,EAAC,WAAW,EAAEI,QAAY,EAAA,aAAA,EAAe,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EAC5G,aAAa,GACP,EAAA,CACC,EACZJ,GAAA,CAACK,OAAW,EAAA,EACV,MAAM,EAAE,CAAC,EACT,SAAS,EAAC,cAAc,EACxB,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KACnC,EAAE,CACA,uDAAuD,EACvD,UAAU;AACR,wBAAA,+JAA+J,EACjK,SAAS;AACP,wBAAA,6JAA6J,CAChK,EAAA,QAAA,EAGHL,GAAA,CAACM,MAAU,EAAA,EAAA,YAAA,EACE,aAAa,EAAA,aAAA,EACX,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,EAC9C,SAAS,EAAC,0DAA0D,EAAA,QAAA,EAEnE,CAAC,EAAE,KAAK,EAAE,MACTL,IAAA,CAAAM,QAAA,EAAA,EAAA,QAAA,EAAA,CACEP,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAC7BA,GAAA,CAACQ,UAAQ,EAAA,EAAC,gBAAgB,EAAE,gBAAgB,EAAA,CAAI,GAC5C,EACNP,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sDAAsD,EAAA,QAAA,EAAA,CACnED,GAAA,CAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,WAAW,EAAA,aAAA,EACJ,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC7C,OAAO,EAAE,MAAK;gDACZ,QAAQ,IAAI;AACZ,gDAAA,KAAK,EAAE;4CACT,CAAC,EAAA,QAAA,EAAA,QAAA,EAAA,CAGM,EACTA,GAAA,CAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,SAAS,EAAA,aAAA,EACF,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,EAC5C,OAAO,EAAE,MAAK;gDACZ,QAAQ,CAAC,UAAU,CAAC;gDACpB,OAAO,IAAI;AACX,gDAAA,KAAK,EAAE;4CACT,CAAC,EAAA,QAAA,EAAA,OAAA,EAAA,CAGM,IACL,CAAA,EAAA,CACL,CACJ,GACU,EAAA,CACD,CAAA,EAAA,CACC,EAAA,CACF;AAErB;;;;"}
@@ -276,16 +276,29 @@ const GradientStopRow = ({ stopId }) => {
276
276
  const { state, actions } = gradientPickerContext.useGradientColorPicker();
277
277
  const stop = state.gradientStops.find((s) => s.id === stopId);
278
278
  const prefix = testIdUtils.useTestIdPrefix();
279
+ // Memoized on `stop` (not recomputed on every render): `GradientProvider` re-renders on every
280
+ // state change (e.g. dragging a different stop, moving the gradient line), and each such
281
+ // re-render was producing a brand-new `Color` object here. Since that object is passed as the
282
+ // controlled `value` of the color/alpha `AriaColorField`s below, a fresh reference on every
283
+ // render — including renders that happen while the field is focused, which happens naturally
284
+ // while typing since it triggers a re-render of this whole tree — reset the field's
285
+ // in-progress draft back to the last-committed value, so typed edits could never actually
286
+ // commit. The reducer only allocates a new `stop` object for the entry that actually changed
287
+ // (see `gradient-picker-context.tsx`), so keying off `stop` itself is equivalent to keying off
288
+ // its `color`/`alpha` without needing a stale/unsafe-dependency suppression.
289
+ const colorValue = React.useMemo(() => {
290
+ if (!stop)
291
+ return null;
292
+ try {
293
+ return reactAriaComponents.parseColor(stop.color).withChannelValue('alpha', stop.alpha / 100);
294
+ }
295
+ catch {
296
+ return null;
297
+ }
298
+ }, [stop]);
279
299
  if (!stop)
280
300
  return null;
281
301
  const canRemove = state.gradientStops.length > 2;
282
- let colorValue = null;
283
- try {
284
- colorValue = reactAriaComponents.parseColor(stop.color).withChannelValue('alpha', stop.alpha / 100);
285
- }
286
- catch {
287
- /* invalid color string — leave as null */
288
- }
289
302
  return (
290
303
  // biome-ignore lint/a11y/noStaticElementInteractions: this is a div that is not interactive
291
304
  // biome-ignore lint/a11y/useKeyWithClickEvents: this is a click event