@povio/ui 2.3.0-rc.6 → 2.3.0-rc.7

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 (191) hide show
  1. package/dist/assets/icons/AlignCenter.js +26 -11
  2. package/dist/assets/icons/AlignLeft.js +26 -11
  3. package/dist/assets/icons/AlignLeftRight.js +26 -11
  4. package/dist/assets/icons/AlignRight.js +26 -11
  5. package/dist/assets/icons/ArrowDropDown.js +26 -11
  6. package/dist/assets/icons/ArrowDropUp.js +26 -11
  7. package/dist/assets/icons/ArrowLeft.js +26 -11
  8. package/dist/assets/icons/ArrowRight.js +26 -11
  9. package/dist/assets/icons/Bold.js +26 -11
  10. package/dist/assets/icons/BulletedList.js +26 -11
  11. package/dist/assets/icons/Calendar.js +28 -13
  12. package/dist/assets/icons/Check.js +28 -13
  13. package/dist/assets/icons/CheckCircle.js +26 -11
  14. package/dist/assets/icons/CheckboxCheckmark.js +29 -14
  15. package/dist/assets/icons/CheckboxIndeterminate.js +29 -14
  16. package/dist/assets/icons/ChevronDown.js +28 -13
  17. package/dist/assets/icons/ChevronLeft.js +28 -13
  18. package/dist/assets/icons/ChevronRight.js +28 -13
  19. package/dist/assets/icons/ChevronUp.js +28 -13
  20. package/dist/assets/icons/ChevronsLeft.js +28 -13
  21. package/dist/assets/icons/ChevronsRight.js +28 -13
  22. package/dist/assets/icons/Clock.js +26 -11
  23. package/dist/assets/icons/Close.js +26 -11
  24. package/dist/assets/icons/DateTime.js +35 -14
  25. package/dist/assets/icons/DragIndicator.js +26 -11
  26. package/dist/assets/icons/File.js +28 -13
  27. package/dist/assets/icons/Highlight.js +26 -11
  28. package/dist/assets/icons/HighlightOn.js +49 -15
  29. package/dist/assets/icons/Home.js +26 -11
  30. package/dist/assets/icons/Info.js +37 -16
  31. package/dist/assets/icons/Italic.js +26 -11
  32. package/dist/assets/icons/Link.js +26 -11
  33. package/dist/assets/icons/Menu.js +26 -11
  34. package/dist/assets/icons/NumberedList.js +26 -11
  35. package/dist/assets/icons/PointerHorizontal.js +26 -11
  36. package/dist/assets/icons/PointerVertical.js +26 -11
  37. package/dist/assets/icons/Search.js +26 -11
  38. package/dist/assets/icons/Send.js +28 -13
  39. package/dist/assets/icons/Strikethrough.js +26 -11
  40. package/dist/assets/icons/TextColor.js +48 -14
  41. package/dist/assets/icons/Today.js +26 -11
  42. package/dist/assets/icons/Underlined.js +28 -13
  43. package/dist/assets/icons/Upload.js +35 -14
  44. package/dist/assets/icons/Visibility.js +26 -11
  45. package/dist/assets/icons/VisibilityOff.js +26 -11
  46. package/dist/assets/icons/WarningFilled.js +28 -13
  47. package/dist/components/Breadcrumbs/Breadcrumbs.js +207 -56
  48. package/dist/components/Menu/Menu.js +18 -2
  49. package/dist/components/Menu/MenuDesktop.js +41 -7
  50. package/dist/components/Menu/MenuItem.js +32 -9
  51. package/dist/components/Menu/MenuMobile.js +97 -38
  52. package/dist/components/Menu/MenuPopover.js +105 -29
  53. package/dist/components/buttons/IconButton/IconButton.js +40 -8
  54. package/dist/components/buttons/InlineIconButton/InlineIconButton.js +34 -9
  55. package/dist/components/buttons/PillButton/PillButton.js +55 -17
  56. package/dist/components/buttons/SplitButton/SplitButton.js +103 -18
  57. package/dist/components/buttons/TextButton/TextButton.js +30 -8
  58. package/dist/components/buttons/ToggleButton/ToggleButton.js +28 -8
  59. package/dist/components/buttons/shared/ButtonContent.js +80 -22
  60. package/dist/components/inputs/Checkbox/Checkbox.js +164 -34
  61. package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +24 -10
  62. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +8 -8
  63. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +103 -103
  64. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +9 -9
  65. package/dist/components/inputs/DateTime/TimePicker/TimePicker.js +384 -116
  66. package/dist/components/inputs/DateTime/shared/Calendar.js +331 -137
  67. package/dist/components/inputs/DateTime/shared/CalendarCell.js +283 -102
  68. package/dist/components/inputs/DateTime/shared/CalendarGrid.js +142 -33
  69. package/dist/components/inputs/DateTime/shared/CalendarHeader.js +245 -90
  70. package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +318 -137
  71. package/dist/components/inputs/DateTime/shared/DateField.js +296 -112
  72. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +345 -142
  73. package/dist/components/inputs/DateTime/shared/DateSegmentItem.js +94 -21
  74. package/dist/components/inputs/DateTime/shared/DateTimeDialog.js +81 -27
  75. package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +59 -10
  76. package/dist/components/inputs/DateTime/shared/MonthPicker.js +103 -58
  77. package/dist/components/inputs/DateTime/shared/RangeCalendar.js +193 -82
  78. package/dist/components/inputs/DateTime/shared/TimeField.js +27 -8
  79. package/dist/components/inputs/DateTime/shared/TimePickerForm.js +279 -110
  80. package/dist/components/inputs/DateTime/shared/TimePickerInput.js +205 -70
  81. package/dist/components/inputs/DateTime/shared/YearPicker.js +119 -68
  82. package/dist/components/inputs/File/FileUpload.js +86 -44
  83. package/dist/components/inputs/File/FileUploadContainer.js +15 -7
  84. package/dist/components/inputs/File/InputUpload.js +317 -79
  85. package/dist/components/inputs/File/shared/FileCard.js +104 -41
  86. package/dist/components/inputs/File/shared/FileCardList.js +47 -12
  87. package/dist/components/inputs/File/shared/FileUploadContent.js +175 -44
  88. package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +149 -46
  89. package/dist/components/inputs/File/shared/FileUploadContentError.js +234 -93
  90. package/dist/components/inputs/File/shared/FileUploadContentFilled.js +230 -97
  91. package/dist/components/inputs/File/shared/FileUploadContentLoading.js +199 -55
  92. package/dist/components/inputs/File/shared/InputUploadContent.js +148 -35
  93. package/dist/components/inputs/File/shared/InputUploadFilled.js +49 -8
  94. package/dist/components/inputs/File/shared/ProgressBar.js +48 -9
  95. package/dist/components/inputs/FormField/FormField.js +119 -37
  96. package/dist/components/inputs/FormField/FormFieldError.js +25 -5
  97. package/dist/components/inputs/FormField/FormFieldHeader.js +79 -22
  98. package/dist/components/inputs/FormField/FormFieldHeaderClose.js +31 -7
  99. package/dist/components/inputs/FormField/FormFieldHelper.js +26 -6
  100. package/dist/components/inputs/FormField/FormFieldLabel.js +40 -9
  101. package/dist/components/inputs/Input/NumberInput/NumberInput.js +253 -82
  102. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.js +541 -116
  103. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +314 -75
  104. package/dist/components/inputs/Input/PasswordInput/PasswordInput.js +48 -9
  105. package/dist/components/inputs/Input/TextArea/TextArea.js +298 -89
  106. package/dist/components/inputs/Input/TextInput/TextInput.js +241 -81
  107. package/dist/components/inputs/Input/shared/InputContent.js +190 -58
  108. package/dist/components/inputs/Inputs/Form.js +40 -11
  109. package/dist/components/inputs/Inputs/InputItem.js +65 -14
  110. package/dist/components/inputs/Inputs/Inputs.js +37 -11
  111. package/dist/components/inputs/RadioGroup/RadioGroup.js +317 -106
  112. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.js +2 -2
  113. package/dist/components/inputs/Selection/Select/QuerySelect.js +107 -27
  114. package/dist/components/inputs/Selection/shared/SelectBase.js +69 -20
  115. package/dist/components/inputs/Selection/shared/SelectDesktop.js +390 -143
  116. package/dist/components/inputs/Selection/shared/SelectInput.js +334 -136
  117. package/dist/components/inputs/Selection/shared/SelectInputTags.js +99 -25
  118. package/dist/components/inputs/Selection/shared/SelectListBox.js +163 -51
  119. package/dist/components/inputs/Selection/shared/SelectListBoxItem.js +85 -35
  120. package/dist/components/inputs/Selection/shared/SelectListBoxItemSelectAll.js +69 -16
  121. package/dist/components/inputs/Selection/shared/SelectListBoxLoadingItem.js +70 -21
  122. package/dist/components/inputs/Selection/shared/SelectListBoxSelectionBar.js +58 -9
  123. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.js +36 -11
  124. package/dist/components/inputs/Selection/shared/select.context.js +34 -34
  125. package/dist/components/inputs/Selection/shared/useSelectItems.js +109 -49
  126. package/dist/components/inputs/Skeleton/InputFrame.js +472 -145
  127. package/dist/components/inputs/Slider/Slider.js +247 -74
  128. package/dist/components/inputs/TextEditor/TextEditor.js +447 -103
  129. package/dist/components/inputs/TextEditor/Toolbar/ColorPicker.js +37 -11
  130. package/dist/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.js +102 -30
  131. package/dist/components/inputs/TextEditor/Toolbar/HyperlinkAction.js +194 -45
  132. package/dist/components/inputs/TextEditor/Toolbar/TextAlignSelect.js +88 -28
  133. package/dist/components/inputs/TextEditor/Toolbar/TextColorSelect.js +48 -14
  134. package/dist/components/inputs/TextEditor/Toolbar/TextEditorToolbar.js +66 -19
  135. package/dist/components/inputs/TextEditor/Toolbar/TextHighlightSelect.js +49 -15
  136. package/dist/components/inputs/TextEditor/Toolbar/TextListActions.js +92 -32
  137. package/dist/components/inputs/TextEditor/Toolbar/TextMarksActions.js +126 -54
  138. package/dist/components/inputs/TextEditor/Toolbar/TextStyleSelect.js +141 -38
  139. package/dist/components/inputs/Toggle/Toggle.js +187 -41
  140. package/dist/components/inputs/shared/CheckContent.js +21 -10
  141. package/dist/components/inputs/shared/InputClear.js +78 -21
  142. package/dist/components/inputs/shared/TooltipWrapper.js +47 -12
  143. package/dist/components/inputs/shared/input.cva.js +13 -3
  144. package/dist/components/inputs/shared/useStaticInputHandoff.js +93 -50
  145. package/dist/components/navigation/Accordion/Accordion.js +69 -22
  146. package/dist/components/navigation/Accordion/AccordionItem.js +86 -41
  147. package/dist/components/navigation/Stepper/Stepper.js +67 -22
  148. package/dist/components/navigation/Stepper/StepperItem.js +104 -31
  149. package/dist/components/navigation/Stepper/StepperSeparator.js +23 -5
  150. package/dist/components/overlays/ActionModal/ActionModal.js +169 -35
  151. package/dist/components/overlays/BottomSheet/BottomSheet.js +96 -23
  152. package/dist/components/overlays/BottomSheet/BottomSheetHeader.js +48 -8
  153. package/dist/components/overlays/Drawer/Drawer.js +62 -20
  154. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +83 -27
  155. package/dist/components/overlays/Tooltip/Tooltip.js +137 -28
  156. package/dist/components/overlays/Tooltip/TooltipEllipsis.js +37 -12
  157. package/dist/components/segment/Segment.js +218 -57
  158. package/dist/components/segment/SegmentItem.js +67 -10
  159. package/dist/components/shared/pagination/Pagination.js +108 -22
  160. package/dist/components/shared/pagination/PaginationList.js +167 -64
  161. package/dist/components/status/Alert/Alert.js +97 -30
  162. package/dist/components/status/Loader/Loader.js +77 -22
  163. package/dist/components/status/Toast/Toast.js +21 -13
  164. package/dist/components/status/Toast/useToast.js +62 -57
  165. package/dist/components/table/ColumnConfig.js +158 -54
  166. package/dist/components/table/InfiniteTable.js +67 -16
  167. package/dist/components/table/PaginatedTable.js +84 -18
  168. package/dist/components/table/Table.js +23 -23
  169. package/dist/components/text/Link/Link.js +19 -7
  170. package/dist/components/text/Typography/Typography.js +23 -8
  171. package/dist/config/confirmation.context.js +1 -1
  172. package/dist/config/link.context.js +23 -9
  173. package/dist/config/router.context.js +42 -16
  174. package/dist/config/theme.context.js +98 -45
  175. package/dist/config/uiConfig.context.js +39 -8
  176. package/dist/config/uiStyle.context.js +15 -5
  177. package/dist/hooks/useBreakpoint.js +16 -3
  178. package/dist/hooks/useDebounceCallback.js +51 -17
  179. package/dist/hooks/useFilters.js +125 -64
  180. package/dist/hooks/useForm.js +42 -8
  181. package/dist/hooks/useFormAutosave.js +101 -30
  182. package/dist/hooks/useIntersectionObserver.js +86 -32
  183. package/dist/hooks/useLocalStorage.js +43 -10
  184. package/dist/hooks/useLongPressRepeat.js +55 -20
  185. package/dist/hooks/usePagination.js +49 -19
  186. package/dist/hooks/useScrollableListBox.js +37 -16
  187. package/dist/hooks/useSorting.js +69 -28
  188. package/dist/hooks/useStateAndRef.js +21 -7
  189. package/dist/hooks/useTableColumnConfig.js +124 -31
  190. package/dist/hooks/useTranslationMemo.js +25 -5
  191. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import { Typography } from "../../../text/Typography/Typography.js";
2
+ import { c } from "react/compiler-runtime";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  import { clsx } from "clsx";
4
- import { useCallback, useMemo, useRef } from "react";
5
+ import { useRef } from "react";
5
6
  import { mergeProps } from "@react-aria/utils";
6
7
  import { isSameDay } from "@internationalized/date";
7
8
  import { useCalendarCell } from "@react-aria/calendar";
@@ -10,63 +11,150 @@ import { useFocusRing } from "@react-aria/focus";
10
11
  var isRange = (state) => {
11
12
  return "highlightedRange" in state;
12
13
  };
13
- var CalendarCell = ({ state, onApply, shouldCloseOnSelect = true, onDateSelection, onDateHover, rangeSelection, hoverDate, onKeyboardNavigation, ...props }) => {
14
+ var CalendarCell = (t0) => {
15
+ const $ = c(98);
16
+ let hoverDate;
17
+ let onApply;
18
+ let onDateHover;
19
+ let onDateSelection;
20
+ let onKeyboardNavigation;
21
+ let props;
22
+ let rangeSelection;
23
+ let state;
24
+ let t1;
25
+ if ($[0] !== t0) {
26
+ ({state, onApply, shouldCloseOnSelect: t1, onDateSelection, onDateHover, rangeSelection, hoverDate, onKeyboardNavigation, ...props} = t0);
27
+ $[0] = t0;
28
+ $[1] = hoverDate;
29
+ $[2] = onApply;
30
+ $[3] = onDateHover;
31
+ $[4] = onDateSelection;
32
+ $[5] = onKeyboardNavigation;
33
+ $[6] = props;
34
+ $[7] = rangeSelection;
35
+ $[8] = state;
36
+ $[9] = t1;
37
+ } else {
38
+ hoverDate = $[1];
39
+ onApply = $[2];
40
+ onDateHover = $[3];
41
+ onDateSelection = $[4];
42
+ onKeyboardNavigation = $[5];
43
+ props = $[6];
44
+ rangeSelection = $[7];
45
+ state = $[8];
46
+ t1 = $[9];
47
+ }
48
+ const shouldCloseOnSelect = t1 === void 0 ? true : t1;
14
49
  const ref = useRef(null);
15
50
  const { cellProps, buttonProps, formattedDate, isSelected, isDisabled, isOutsideVisibleRange } = useCalendarCell(props, state, ref);
16
51
  const { focusProps } = useFocusRing();
17
- const onClick = useCallback((event) => {
18
- buttonProps.onClick?.(event);
19
- if (onDateSelection) onDateSelection(props.date);
20
- if (shouldCloseOnSelect && !isDisabled) onApply?.(props.date);
21
- }, [
22
- buttonProps,
23
- onDateSelection,
24
- props.date,
25
- isDisabled,
26
- shouldCloseOnSelect,
27
- onApply
28
- ]);
29
- const selectionState = useMemo(() => {
30
- let isSelectionStart = false;
31
- let isSelectionEnd = false;
32
- let isSelectedCell = false;
33
- let isInRange = false;
34
- let isHoverRange = false;
35
- let isSelectingMode = false;
36
- if (rangeSelection?.start) {
37
- isSelectionStart = isSameDay(props.date, rangeSelection.start);
38
- isSelectionEnd = rangeSelection.end ? isSameDay(props.date, rangeSelection.end) : false;
39
- isSelectedCell = isSelectionStart || isSelectionEnd;
40
- isSelectingMode = rangeSelection.isSelecting && !rangeSelection.end;
41
- if (rangeSelection.start && rangeSelection.end) {
42
- const dateValue = props.date;
43
- const isAfterStart = dateValue.compare(rangeSelection.start) > 0;
44
- const isBeforeEnd = dateValue.compare(rangeSelection.end) < 0;
45
- isInRange = isAfterStart && isBeforeEnd;
46
- }
47
- if (rangeSelection.isSelecting && rangeSelection.start && hoverDate && !rangeSelection.end) {
48
- const dateValue = props.date;
49
- const { start } = rangeSelection;
50
- const end = hoverDate;
51
- const earlierDate = start.compare(end) <= 0 ? start : end;
52
- const laterDate = start.compare(end) <= 0 ? end : start;
53
- const isAfterStart = dateValue.compare(earlierDate) > 0;
54
- const isBeforeEnd = dateValue.compare(laterDate) < 0;
55
- isHoverRange = isAfterStart && isBeforeEnd;
56
- }
57
- } else {
58
- isSelectionStart = isRange(state) && state.highlightedRange ? isSameDay(props.date, state.highlightedRange.start) : isSelected;
59
- isSelectionEnd = isRange(state) && state.highlightedRange ? isSameDay(props.date, state.highlightedRange.end) : isSelected;
60
- isSelectedCell = isSelectionStart || isSelectionEnd || !isRange(state) && isSelected;
61
- isInRange = isRange(state) && isSelected && !isSelectionStart && !isSelectionEnd;
62
- if (isRange(state) && state.highlightedRange && !isSelected) {
63
- const dateValue = props.date;
64
- const isAfterStart = dateValue.compare(state.highlightedRange.start) > 0;
65
- const isBeforeEnd = dateValue.compare(state.highlightedRange.end) < 0;
66
- isHoverRange = isAfterStart && isBeforeEnd;
67
- }
52
+ let t2;
53
+ if ($[10] !== buttonProps || $[11] !== isDisabled || $[12] !== onApply || $[13] !== onDateSelection || $[14] !== props.date || $[15] !== shouldCloseOnSelect) {
54
+ t2 = (event) => {
55
+ buttonProps.onClick?.(event);
56
+ if (onDateSelection) onDateSelection(props.date);
57
+ if (shouldCloseOnSelect && !isDisabled) onApply?.(props.date);
58
+ };
59
+ $[10] = buttonProps;
60
+ $[11] = isDisabled;
61
+ $[12] = onApply;
62
+ $[13] = onDateSelection;
63
+ $[14] = props.date;
64
+ $[15] = shouldCloseOnSelect;
65
+ $[16] = t2;
66
+ } else t2 = $[16];
67
+ const onClick = t2;
68
+ let isSelectionStart;
69
+ let isSelectionEnd;
70
+ let isSelectedCell;
71
+ let isInRange = false;
72
+ let isHoverRange = false;
73
+ let isSelectingMode = false;
74
+ if (rangeSelection?.start) {
75
+ let t3;
76
+ if ($[17] !== props.date || $[18] !== rangeSelection.start) {
77
+ t3 = isSameDay(props.date, rangeSelection.start);
78
+ $[17] = props.date;
79
+ $[18] = rangeSelection.start;
80
+ $[19] = t3;
81
+ } else t3 = $[19];
82
+ isSelectionStart = t3;
83
+ let t4;
84
+ if ($[20] !== props.date || $[21] !== rangeSelection.end) {
85
+ t4 = rangeSelection.end ? isSameDay(props.date, rangeSelection.end) : false;
86
+ $[20] = props.date;
87
+ $[21] = rangeSelection.end;
88
+ $[22] = t4;
89
+ } else t4 = $[22];
90
+ isSelectionEnd = t4;
91
+ isSelectedCell = isSelectionStart || isSelectionEnd;
92
+ isSelectingMode = rangeSelection.isSelecting && !rangeSelection.end;
93
+ if (rangeSelection.start && rangeSelection.end) {
94
+ const dateValue = props.date;
95
+ const isAfterStart = dateValue.compare(rangeSelection.start) > 0;
96
+ const isBeforeEnd = dateValue.compare(rangeSelection.end) < 0;
97
+ isInRange = isAfterStart && isBeforeEnd;
98
+ }
99
+ if (rangeSelection.isSelecting && rangeSelection.start && hoverDate && !rangeSelection.end) {
100
+ const dateValue_0 = props.date;
101
+ const { start } = rangeSelection;
102
+ const end = hoverDate;
103
+ const earlierDate = start.compare(end) <= 0 ? start : end;
104
+ const laterDate = start.compare(end) <= 0 ? end : start;
105
+ const isAfterStart_0 = dateValue_0.compare(earlierDate) > 0;
106
+ const isBeforeEnd_0 = dateValue_0.compare(laterDate) < 0;
107
+ isHoverRange = isAfterStart_0 && isBeforeEnd_0;
108
+ }
109
+ } else {
110
+ let t3;
111
+ if ($[23] !== isSelected || $[24] !== props.date || $[25] !== state) {
112
+ t3 = isRange(state) && state.highlightedRange ? isSameDay(props.date, state.highlightedRange.start) : isSelected;
113
+ $[23] = isSelected;
114
+ $[24] = props.date;
115
+ $[25] = state;
116
+ $[26] = t3;
117
+ } else t3 = $[26];
118
+ isSelectionStart = t3;
119
+ let t4;
120
+ if ($[27] !== isSelected || $[28] !== props.date || $[29] !== state) {
121
+ t4 = isRange(state) && state.highlightedRange ? isSameDay(props.date, state.highlightedRange.end) : isSelected;
122
+ $[27] = isSelected;
123
+ $[28] = props.date;
124
+ $[29] = state;
125
+ $[30] = t4;
126
+ } else t4 = $[30];
127
+ isSelectionEnd = t4;
128
+ let t5;
129
+ if ($[31] !== isSelected || $[32] !== isSelectionEnd || $[33] !== isSelectionStart || $[34] !== state) {
130
+ t5 = isSelectionStart || isSelectionEnd || !isRange(state) && isSelected;
131
+ $[31] = isSelected;
132
+ $[32] = isSelectionEnd;
133
+ $[33] = isSelectionStart;
134
+ $[34] = state;
135
+ $[35] = t5;
136
+ } else t5 = $[35];
137
+ isSelectedCell = t5;
138
+ let t6;
139
+ if ($[36] !== isSelected || $[37] !== isSelectionEnd || $[38] !== isSelectionStart || $[39] !== state) {
140
+ t6 = isRange(state) && isSelected && !isSelectionStart && !isSelectionEnd;
141
+ $[36] = isSelected;
142
+ $[37] = isSelectionEnd;
143
+ $[38] = isSelectionStart;
144
+ $[39] = state;
145
+ $[40] = t6;
146
+ } else t6 = $[40];
147
+ isInRange = t6;
148
+ if (isRange(state) && state.highlightedRange && !isSelected) {
149
+ const dateValue_1 = props.date;
150
+ const isAfterStart_1 = dateValue_1.compare(state.highlightedRange.start) > 0;
151
+ const isBeforeEnd_1 = dateValue_1.compare(state.highlightedRange.end) < 0;
152
+ isHoverRange = isAfterStart_1 && isBeforeEnd_1;
68
153
  }
69
- return {
154
+ }
155
+ let t3;
156
+ if ($[41] !== isHoverRange || $[42] !== isInRange || $[43] !== isSelectedCell || $[44] !== isSelectingMode || $[45] !== isSelectionEnd || $[46] !== isSelectionStart) {
157
+ t3 = {
70
158
  isSelectionStart,
71
159
  isSelectionEnd,
72
160
  isSelectedCell,
@@ -74,59 +162,152 @@ var CalendarCell = ({ state, onApply, shouldCloseOnSelect = true, onDateSelectio
74
162
  isHoverRange,
75
163
  isSelectingMode
76
164
  };
77
- }, [
78
- props.date,
79
- rangeSelection,
80
- state,
81
- isSelected,
82
- hoverDate
83
- ]);
84
- const handleEvent = (event, eventHandler) => {
85
- if (isOutsideVisibleRange) {
86
- state.selectDate(props.date);
87
- state.setFocusedDate(props.date);
88
- }
89
- eventHandler?.(event);
90
- if (isSelected && shouldCloseOnSelect) onApply?.(props.date);
91
- };
92
- const onMouseEnter = useCallback(() => {
93
- if (onDateHover && selectionState.isSelectingMode) onDateHover(props.date);
94
- }, [
95
- onDateHover,
96
- selectionState.isSelectingMode,
97
- props.date
98
- ]);
99
- const onMouseLeave = useCallback(() => {
100
- if (onDateHover && selectionState.isSelectingMode) onDateHover(null);
101
- }, [onDateHover, selectionState.isSelectingMode]);
102
- const cellClassName = useMemo(() => {
103
- const { isSelectedCell, isInRange, isHoverRange, isSelectingMode, isSelectionStart, isSelectionEnd } = selectionState;
104
- return clsx("mx-auto flex h-10 w-full max-w-10 items-center justify-center rounded-button-rounding-m p-2", "focus:outline-none focus-visible:outline-1 focus-visible:outline-interactive-contained-primary-focus focus-visible:outline-offset-1", "border border-transparent border-solid", !isSelectedCell && !isOutsideVisibleRange && "bg-elevation-fill-default-1 text-interactive-text-secondary-idle", !isSelectedCell && isOutsideVisibleRange && "bg-elevation-fill-default-1 text-interactive-text-secondary-disabled", isSelectedCell && !isOutsideVisibleRange && "bg-interactive-contained-primary-idle text-interactive-contained-primary-on-idle", isSelectedCell && !isOutsideVisibleRange && rangeSelection && !rangeSelection.isSelecting && isSelectionStart && !isSelectionEnd && "rounded-r-none", isSelectedCell && !isOutsideVisibleRange && rangeSelection && !rangeSelection.isSelecting && isSelectionEnd && !isSelectionStart && "rounded-l-none", isDisabled && !isOutsideVisibleRange && "cursor-default", isDisabled && "opacity-20", !isSelectedCell && !isInRange && !isHoverRange && !isSelectingMode && !isDisabled && !isOutsideVisibleRange && "[@media(pointer:fine)]:hover:border-elevation-outline-default-1 [@media(pointer:fine)]:hover:text-interactive-text-secondary-hover", isInRange && !isOutsideVisibleRange && "!rounded-none !bg-elevation-fill-default-2 text-interactive-text-secondary-hover", isHoverRange && !isOutsideVisibleRange && "!rounded-none !bg-elevation-fill-default-2 text-interactive-text-secondary-hover", !isInRange && !isSelectedCell && isSelectingMode && "hover:bg-interactive-contained-primary-idle hover:text-interactive-text-primary-idle-inverted", isSelectingMode && !isSelectedCell && !isInRange && !isHoverRange && !isDisabled && !isOutsideVisibleRange && "transition-all duration-75 hover:border-elevation-outline-default-1");
105
- }, [
106
- selectionState,
107
- isOutsideVisibleRange,
108
- rangeSelection,
109
- isDisabled
110
- ]);
111
- return /* @__PURE__ */ jsx("td", {
112
- ...cellProps,
113
- children: /* @__PURE__ */ jsx("div", {
165
+ $[41] = isHoverRange;
166
+ $[42] = isInRange;
167
+ $[43] = isSelectedCell;
168
+ $[44] = isSelectingMode;
169
+ $[45] = isSelectionEnd;
170
+ $[46] = isSelectionStart;
171
+ $[47] = t3;
172
+ } else t3 = $[47];
173
+ const selectionState = t3;
174
+ let t4;
175
+ if ($[48] !== isOutsideVisibleRange || $[49] !== isSelected || $[50] !== onApply || $[51] !== props.date || $[52] !== shouldCloseOnSelect || $[53] !== state) {
176
+ t4 = (event_0, eventHandler) => {
177
+ if (isOutsideVisibleRange) {
178
+ state.selectDate(props.date);
179
+ state.setFocusedDate(props.date);
180
+ }
181
+ eventHandler?.(event_0);
182
+ if (isSelected && shouldCloseOnSelect) onApply?.(props.date);
183
+ };
184
+ $[48] = isOutsideVisibleRange;
185
+ $[49] = isSelected;
186
+ $[50] = onApply;
187
+ $[51] = props.date;
188
+ $[52] = shouldCloseOnSelect;
189
+ $[53] = state;
190
+ $[54] = t4;
191
+ } else t4 = $[54];
192
+ const handleEvent = t4;
193
+ let t5;
194
+ if ($[55] !== onDateHover || $[56] !== props.date || $[57] !== selectionState.isSelectingMode) {
195
+ t5 = () => {
196
+ if (onDateHover && selectionState.isSelectingMode) onDateHover(props.date);
197
+ };
198
+ $[55] = onDateHover;
199
+ $[56] = props.date;
200
+ $[57] = selectionState.isSelectingMode;
201
+ $[58] = t5;
202
+ } else t5 = $[58];
203
+ const onMouseEnter = t5;
204
+ let t6;
205
+ if ($[59] !== onDateHover || $[60] !== selectionState.isSelectingMode) {
206
+ t6 = () => {
207
+ if (onDateHover && selectionState.isSelectingMode) onDateHover(null);
208
+ };
209
+ $[59] = onDateHover;
210
+ $[60] = selectionState.isSelectingMode;
211
+ $[61] = t6;
212
+ } else t6 = $[61];
213
+ const onMouseLeave = t6;
214
+ const { isSelectedCell: isSelectedCell_0, isInRange: isInRange_0, isHoverRange: isHoverRange_0, isSelectingMode: isSelectingMode_0, isSelectionStart: isSelectionStart_0, isSelectionEnd: isSelectionEnd_0 } = selectionState;
215
+ const t7 = !isSelectedCell_0 && !isOutsideVisibleRange && "bg-elevation-fill-default-1 text-interactive-text-secondary-idle";
216
+ const t8 = !isSelectedCell_0 && isOutsideVisibleRange && "bg-elevation-fill-default-1 text-interactive-text-secondary-disabled";
217
+ const t9 = isSelectedCell_0 && !isOutsideVisibleRange && "bg-interactive-contained-primary-idle text-interactive-contained-primary-on-idle";
218
+ const t10 = isSelectedCell_0 && !isOutsideVisibleRange && rangeSelection && !rangeSelection.isSelecting && isSelectionStart_0 && !isSelectionEnd_0 && "rounded-r-none";
219
+ const t11 = isSelectedCell_0 && !isOutsideVisibleRange && rangeSelection && !rangeSelection.isSelecting && isSelectionEnd_0 && !isSelectionStart_0 && "rounded-l-none";
220
+ const t12 = isDisabled && !isOutsideVisibleRange && "cursor-default";
221
+ const t13 = isDisabled && "opacity-20";
222
+ const t14 = !isSelectedCell_0 && !isInRange_0 && !isHoverRange_0 && !isSelectingMode_0 && !isDisabled && !isOutsideVisibleRange && "[@media(pointer:fine)]:hover:border-elevation-outline-default-1 [@media(pointer:fine)]:hover:text-interactive-text-secondary-hover";
223
+ const t15 = isInRange_0 && !isOutsideVisibleRange && "!rounded-none !bg-elevation-fill-default-2 text-interactive-text-secondary-hover";
224
+ const t16 = isHoverRange_0 && !isOutsideVisibleRange && "!rounded-none !bg-elevation-fill-default-2 text-interactive-text-secondary-hover";
225
+ const t17 = !isInRange_0 && !isSelectedCell_0 && isSelectingMode_0 && "hover:bg-interactive-contained-primary-idle hover:text-interactive-text-primary-idle-inverted";
226
+ const t18 = isSelectingMode_0 && !isSelectedCell_0 && !isInRange_0 && !isHoverRange_0 && !isDisabled && !isOutsideVisibleRange && "transition-all duration-75 hover:border-elevation-outline-default-1";
227
+ let t19;
228
+ if ($[62] !== t10 || $[63] !== t11 || $[64] !== t12 || $[65] !== t13 || $[66] !== t14 || $[67] !== t15 || $[68] !== t16 || $[69] !== t17 || $[70] !== t18 || $[71] !== t7 || $[72] !== t8 || $[73] !== t9) {
229
+ t19 = clsx("mx-auto flex h-10 w-full max-w-10 items-center justify-center rounded-button-rounding-m p-2", "focus:outline-none focus-visible:outline-1 focus-visible:outline-interactive-contained-primary-focus focus-visible:outline-offset-1", "border border-transparent border-solid", t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18);
230
+ $[62] = t10;
231
+ $[63] = t11;
232
+ $[64] = t12;
233
+ $[65] = t13;
234
+ $[66] = t14;
235
+ $[67] = t15;
236
+ $[68] = t16;
237
+ $[69] = t17;
238
+ $[70] = t18;
239
+ $[71] = t7;
240
+ $[72] = t8;
241
+ $[73] = t9;
242
+ $[74] = t19;
243
+ } else t19 = $[74];
244
+ const cellClassName = t19;
245
+ let t20;
246
+ if ($[75] !== buttonProps || $[76] !== focusProps) {
247
+ t20 = mergeProps(buttonProps, focusProps);
248
+ $[75] = buttonProps;
249
+ $[76] = focusProps;
250
+ $[77] = t20;
251
+ } else t20 = $[77];
252
+ let t21;
253
+ if ($[78] !== handleEvent || $[79] !== onClick) {
254
+ t21 = (e) => handleEvent(e, onClick);
255
+ $[78] = handleEvent;
256
+ $[79] = onClick;
257
+ $[80] = t21;
258
+ } else t21 = $[80];
259
+ let t22;
260
+ if ($[81] !== handleEvent || $[82] !== onKeyboardNavigation || $[83] !== props.date) {
261
+ t22 = (e_0) => handleEvent(e_0, () => onKeyboardNavigation?.(e_0, props.date));
262
+ $[81] = handleEvent;
263
+ $[82] = onKeyboardNavigation;
264
+ $[83] = props.date;
265
+ $[84] = t22;
266
+ } else t22 = $[84];
267
+ let t23;
268
+ if ($[85] !== formattedDate) {
269
+ t23 = /* @__PURE__ */ jsx(Typography, {
270
+ as: "span",
271
+ size: "label-2",
272
+ className: "block w-6 overflow-hidden text-ellipsis text-center",
273
+ children: formattedDate
274
+ });
275
+ $[85] = formattedDate;
276
+ $[86] = t23;
277
+ } else t23 = $[86];
278
+ let t24;
279
+ if ($[87] !== cellClassName || $[88] !== onMouseEnter || $[89] !== onMouseLeave || $[90] !== t20 || $[91] !== t21 || $[92] !== t22 || $[93] !== t23) {
280
+ t24 = /* @__PURE__ */ jsx("div", {
114
281
  ref,
115
- ...mergeProps(buttonProps, focusProps),
282
+ ...t20,
116
283
  "aria-disabled": void 0,
117
284
  onMouseEnter,
118
285
  onMouseLeave,
119
286
  className: cellClassName,
120
- onClick: (e) => handleEvent(e, onClick),
121
- onKeyDown: (e) => handleEvent(e, () => onKeyboardNavigation?.(e, props.date)),
122
- children: /* @__PURE__ */ jsx(Typography, {
123
- as: "span",
124
- size: "label-2",
125
- className: "block w-6 overflow-hidden text-ellipsis text-center",
126
- children: formattedDate
127
- })
128
- })
129
- });
287
+ onClick: t21,
288
+ onKeyDown: t22,
289
+ children: t23
290
+ });
291
+ $[87] = cellClassName;
292
+ $[88] = onMouseEnter;
293
+ $[89] = onMouseLeave;
294
+ $[90] = t20;
295
+ $[91] = t21;
296
+ $[92] = t22;
297
+ $[93] = t23;
298
+ $[94] = t24;
299
+ } else t24 = $[94];
300
+ let t25;
301
+ if ($[95] !== cellProps || $[96] !== t24) {
302
+ t25 = /* @__PURE__ */ jsx("td", {
303
+ ...cellProps,
304
+ children: t24
305
+ });
306
+ $[95] = cellProps;
307
+ $[96] = t24;
308
+ $[97] = t25;
309
+ } else t25 = $[97];
310
+ return t25;
130
311
  };
131
312
  //#endregion
132
313
  export { CalendarCell };
@@ -1,5 +1,6 @@
1
1
  import { Typography } from "../../../text/Typography/Typography.js";
2
2
  import { CalendarCell } from "./CalendarCell.js";
3
+ import { c } from "react/compiler-runtime";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
4
5
  import { clsx } from "clsx";
5
6
  import { useCalendarGrid } from "@react-aria/calendar";
@@ -12,41 +13,149 @@ var WEEK_INDICES = [
12
13
  4,
13
14
  5
14
15
  ];
15
- var CalendarGrid = ({ state, onApply, shouldCloseOnSelect, offset = {}, onDateSelection, onDateHover, rangeSelection, hoverDate, onKeyboardNavigation, className, calendarSide, ...props }) => {
16
- const { gridProps, headerProps, weekDays } = useCalendarGrid({
17
- ...props,
18
- weekdayStyle: "short"
19
- }, state);
16
+ var CalendarGrid = (t0) => {
17
+ const $ = c(36);
18
+ let calendarSide;
19
+ let className;
20
+ let hoverDate;
21
+ let onApply;
22
+ let onDateHover;
23
+ let onDateSelection;
24
+ let onKeyboardNavigation;
25
+ let props;
26
+ let rangeSelection;
27
+ let shouldCloseOnSelect;
28
+ let state;
29
+ let t1;
30
+ if ($[0] !== t0) {
31
+ ({state, onApply, shouldCloseOnSelect, offset: t1, onDateSelection, onDateHover, rangeSelection, hoverDate, onKeyboardNavigation, className, calendarSide, ...props} = t0);
32
+ $[0] = t0;
33
+ $[1] = calendarSide;
34
+ $[2] = className;
35
+ $[3] = hoverDate;
36
+ $[4] = onApply;
37
+ $[5] = onDateHover;
38
+ $[6] = onDateSelection;
39
+ $[7] = onKeyboardNavigation;
40
+ $[8] = props;
41
+ $[9] = rangeSelection;
42
+ $[10] = shouldCloseOnSelect;
43
+ $[11] = state;
44
+ $[12] = t1;
45
+ } else {
46
+ calendarSide = $[1];
47
+ className = $[2];
48
+ hoverDate = $[3];
49
+ onApply = $[4];
50
+ onDateHover = $[5];
51
+ onDateSelection = $[6];
52
+ onKeyboardNavigation = $[7];
53
+ props = $[8];
54
+ rangeSelection = $[9];
55
+ shouldCloseOnSelect = $[10];
56
+ state = $[11];
57
+ t1 = $[12];
58
+ }
59
+ const offset = t1 === void 0 ? {} : t1;
60
+ let t2;
61
+ if ($[13] !== props) {
62
+ t2 = {
63
+ ...props,
64
+ weekdayStyle: "short"
65
+ };
66
+ $[13] = props;
67
+ $[14] = t2;
68
+ } else t2 = $[14];
69
+ const { gridProps, headerProps, weekDays } = useCalendarGrid(t2, state);
20
70
  const startDate = state.visibleRange.start.add(offset);
21
- const handleDateSelection = (date) => {
22
- onDateSelection?.(date, calendarSide);
23
- };
24
- return /* @__PURE__ */ jsx("div", {
25
- className: clsx("h-72 w-full px-3 py-1 md:w-80", className),
26
- children: /* @__PURE__ */ jsxs("table", {
71
+ let t3;
72
+ if ($[15] !== calendarSide || $[16] !== onDateSelection) {
73
+ t3 = (date) => {
74
+ onDateSelection?.(date, calendarSide);
75
+ };
76
+ $[15] = calendarSide;
77
+ $[16] = onDateSelection;
78
+ $[17] = t3;
79
+ } else t3 = $[17];
80
+ const handleDateSelection = t3;
81
+ let t4;
82
+ if ($[18] !== className) {
83
+ t4 = clsx("h-72 w-full px-3 py-1 md:w-80", className);
84
+ $[18] = className;
85
+ $[19] = t4;
86
+ } else t4 = $[19];
87
+ const t5 = "0";
88
+ const t6 = "w-full";
89
+ let t7;
90
+ if ($[20] !== weekDays) {
91
+ t7 = weekDays.map(_temp);
92
+ $[20] = weekDays;
93
+ $[21] = t7;
94
+ } else t7 = $[21];
95
+ let t8;
96
+ if ($[22] !== t7) {
97
+ t8 = /* @__PURE__ */ jsx("tr", { children: t7 });
98
+ $[22] = t7;
99
+ $[23] = t8;
100
+ } else t8 = $[23];
101
+ let t9;
102
+ if ($[24] !== headerProps || $[25] !== t8) {
103
+ t9 = /* @__PURE__ */ jsx("thead", {
104
+ ...headerProps,
105
+ children: t8
106
+ });
107
+ $[24] = headerProps;
108
+ $[25] = t8;
109
+ $[26] = t9;
110
+ } else t9 = $[26];
111
+ const t10 = WEEK_INDICES.map((weekIndex) => /* @__PURE__ */ jsx("tr", { children: state.getDatesInWeek(weekIndex, startDate).map((date_0, i) => date_0 ? /* @__PURE__ */ jsx(CalendarCell, {
112
+ state,
113
+ date: date_0,
114
+ onApply,
115
+ shouldCloseOnSelect,
116
+ onDateSelection: handleDateSelection,
117
+ onDateHover,
118
+ rangeSelection,
119
+ hoverDate,
120
+ onKeyboardNavigation
121
+ }, i) : /* @__PURE__ */ jsx("td", {}, i)) }, weekIndex));
122
+ let t11;
123
+ if ($[27] !== t10) {
124
+ t11 = /* @__PURE__ */ jsx("tbody", { children: t10 });
125
+ $[27] = t10;
126
+ $[28] = t11;
127
+ } else t11 = $[28];
128
+ let t12;
129
+ if ($[29] !== gridProps || $[30] !== t11 || $[31] !== t9) {
130
+ t12 = /* @__PURE__ */ jsxs("table", {
27
131
  ...gridProps,
28
- cellPadding: "0",
29
- className: "w-full",
30
- children: [/* @__PURE__ */ jsx("thead", {
31
- ...headerProps,
32
- children: /* @__PURE__ */ jsx("tr", { children: weekDays.map((day) => /* @__PURE__ */ jsx("th", { children: /* @__PURE__ */ jsx(Typography, {
33
- size: "label-2",
34
- className: "bg-elevation-fill-default-1 py-2 text-interactive-text-secondary-idle",
35
- children: day.substring(0, 2)
36
- }) }, day)) })
37
- }), /* @__PURE__ */ jsx("tbody", { children: WEEK_INDICES.map((weekIndex) => /* @__PURE__ */ jsx("tr", { children: state.getDatesInWeek(weekIndex, startDate).map((date, i) => date ? /* @__PURE__ */ jsx(CalendarCell, {
38
- state,
39
- date,
40
- onApply,
41
- shouldCloseOnSelect,
42
- onDateSelection: handleDateSelection,
43
- onDateHover,
44
- rangeSelection,
45
- hoverDate,
46
- onKeyboardNavigation
47
- }, i) : /* @__PURE__ */ jsx("td", {}, i)) }, weekIndex)) })]
48
- })
49
- });
132
+ cellPadding: t5,
133
+ className: t6,
134
+ children: [t9, t11]
135
+ });
136
+ $[29] = gridProps;
137
+ $[30] = t11;
138
+ $[31] = t9;
139
+ $[32] = t12;
140
+ } else t12 = $[32];
141
+ let t13;
142
+ if ($[33] !== t12 || $[34] !== t4) {
143
+ t13 = /* @__PURE__ */ jsx("div", {
144
+ className: t4,
145
+ children: t12
146
+ });
147
+ $[33] = t12;
148
+ $[34] = t4;
149
+ $[35] = t13;
150
+ } else t13 = $[35];
151
+ return t13;
50
152
  };
153
+ function _temp(day) {
154
+ return /* @__PURE__ */ jsx("th", { children: /* @__PURE__ */ jsx(Typography, {
155
+ size: "label-2",
156
+ className: "bg-elevation-fill-default-1 py-2 text-interactive-text-secondary-idle",
157
+ children: day.substring(0, 2)
158
+ }) }, day);
159
+ }
51
160
  //#endregion
52
161
  export { CalendarGrid };