@salt-ds/lab 1.0.0-alpha.51 → 1.0.0-alpha.53

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 (425) hide show
  1. package/css/salt-lab.css +532 -303
  2. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js +3 -2
  3. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  4. package/dist-cjs/calendar/Calendar.css.js +1 -1
  5. package/dist-cjs/calendar/Calendar.js +57 -39
  6. package/dist-cjs/calendar/Calendar.js.map +1 -1
  7. package/dist-cjs/calendar/CalendarDateGrid.css.js +6 -0
  8. package/dist-cjs/calendar/CalendarDateGrid.css.js.map +1 -0
  9. package/dist-cjs/calendar/{internal/CalendarCarousel.js → CalendarDateGrid.js} +39 -16
  10. package/dist-cjs/calendar/CalendarDateGrid.js.map +1 -0
  11. package/dist-cjs/calendar/CalendarNavigation.css.js +6 -0
  12. package/dist-cjs/calendar/CalendarNavigation.js +314 -0
  13. package/dist-cjs/calendar/CalendarNavigation.js.map +1 -0
  14. package/dist-cjs/calendar/{internal/CalendarWeekHeader.js → CalendarWeekHeader.js} +6 -5
  15. package/dist-cjs/calendar/CalendarWeekHeader.js.map +1 -0
  16. package/dist-cjs/calendar/formatDate.js +56 -0
  17. package/dist-cjs/calendar/formatDate.js.map +1 -0
  18. package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
  19. package/dist-cjs/calendar/internal/CalendarDay.js +45 -33
  20. package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
  21. package/dist-cjs/calendar/internal/CalendarMonth.js +3 -2
  22. package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
  23. package/dist-cjs/calendar/internal/useFocusManagement.js +7 -4
  24. package/dist-cjs/calendar/internal/useFocusManagement.js.map +1 -1
  25. package/dist-cjs/calendar/internal/utils.js +28 -23
  26. package/dist-cjs/calendar/internal/utils.js.map +1 -1
  27. package/dist-cjs/calendar/useCalendar.js +90 -43
  28. package/dist-cjs/calendar/useCalendar.js.map +1 -1
  29. package/dist-cjs/calendar/useCalendarDay.js +19 -10
  30. package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
  31. package/dist-cjs/calendar/useCalendarSelection.js +333 -0
  32. package/dist-cjs/calendar/useCalendarSelection.js.map +1 -0
  33. package/dist-cjs/carousel/Carousel.js +5 -5
  34. package/dist-cjs/carousel/Carousel.js.map +1 -1
  35. package/dist-cjs/cascading-menu/CascadingMenuItem.js +2 -2
  36. package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
  37. package/dist-cjs/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  38. package/dist-cjs/color-chooser/ColorChooser.js.map +1 -1
  39. package/dist-cjs/combo-box-deprecated/ComboBox.css.js +1 -1
  40. package/dist-cjs/common-hooks/useCollectionItems.js.map +1 -1
  41. package/dist-cjs/contact-details/ContactMetadata.js +2 -2
  42. package/dist-cjs/contact-details/ContactMetadata.js.map +1 -1
  43. package/dist-cjs/content-status/ContentStatus.css.js +1 -1
  44. package/dist-cjs/date-input/DateInput.css.js +1 -1
  45. package/dist-cjs/date-input/DateInputRange.js +357 -0
  46. package/dist-cjs/date-input/DateInputRange.js.map +1 -0
  47. package/dist-cjs/date-input/DateInputSingle.js +231 -0
  48. package/dist-cjs/date-input/DateInputSingle.js.map +1 -0
  49. package/dist-cjs/date-input/utils.js +65 -0
  50. package/dist-cjs/date-input/utils.js.map +1 -0
  51. package/dist-cjs/date-picker/DatePicker.js +74 -149
  52. package/dist-cjs/date-picker/DatePicker.js.map +1 -1
  53. package/dist-cjs/date-picker/DatePickerActions.css.js +6 -0
  54. package/dist-cjs/date-picker/DatePickerActions.css.js.map +1 -0
  55. package/dist-cjs/date-picker/DatePickerActions.js +106 -0
  56. package/dist-cjs/date-picker/DatePickerActions.js.map +1 -0
  57. package/dist-cjs/date-picker/DatePickerContext.js +23 -17
  58. package/dist-cjs/date-picker/DatePickerContext.js.map +1 -1
  59. package/dist-cjs/date-picker/DatePickerOverlay.css.js +6 -0
  60. package/dist-cjs/date-picker/DatePickerOverlay.css.js.map +1 -0
  61. package/dist-cjs/date-picker/DatePickerOverlay.js +50 -0
  62. package/dist-cjs/date-picker/DatePickerOverlay.js.map +1 -0
  63. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +105 -0
  64. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +1 -0
  65. package/dist-cjs/date-picker/DatePickerPanel.css.js +1 -1
  66. package/dist-cjs/date-picker/DatePickerRangeInput.js +119 -0
  67. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +1 -0
  68. package/dist-cjs/date-picker/DatePickerRangePanel.js +230 -0
  69. package/dist-cjs/date-picker/DatePickerRangePanel.js.map +1 -0
  70. package/dist-cjs/date-picker/DatePickerSingleInput.js +98 -0
  71. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +1 -0
  72. package/dist-cjs/date-picker/DatePickerSinglePanel.js +152 -0
  73. package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +1 -0
  74. package/dist-cjs/date-picker/useDatePicker.js +207 -0
  75. package/dist-cjs/date-picker/useDatePicker.js.map +1 -0
  76. package/dist-cjs/dropdown/DropdownButton.js +4 -2
  77. package/dist-cjs/dropdown/DropdownButton.js.map +1 -1
  78. package/dist-cjs/dropdown/useDropdown.js.map +1 -1
  79. package/dist-cjs/form-field-legacy/FormLabel.js.map +1 -1
  80. package/dist-cjs/index.js +53 -10
  81. package/dist-cjs/index.js.map +1 -1
  82. package/dist-cjs/list/List.js.map +1 -1
  83. package/dist-cjs/menu-button/MenuButtonTrigger.css.js +1 -1
  84. package/dist-cjs/menu-button/MenuButtonTrigger.js +2 -2
  85. package/dist-cjs/menu-button/MenuButtonTrigger.js.map +1 -1
  86. package/dist-cjs/query-input/QueryInput.css.js +1 -1
  87. package/dist-cjs/query-input/internal/CategoryListItem.js +2 -2
  88. package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
  89. package/dist-cjs/query-input/internal/ValueList.js +2 -2
  90. package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
  91. package/dist-cjs/search-input/SearchInput.js +2 -1
  92. package/dist-cjs/search-input/SearchInput.js.map +1 -1
  93. package/dist-cjs/slider/Slider.css.js +1 -1
  94. package/dist-cjs/slider/Slider.js +53 -105
  95. package/dist-cjs/slider/Slider.js.map +1 -1
  96. package/dist-cjs/slider/internal/SliderContext.js +21 -0
  97. package/dist-cjs/slider/internal/SliderContext.js.map +1 -0
  98. package/dist-cjs/slider/internal/SliderMarks.js +31 -0
  99. package/dist-cjs/slider/internal/SliderMarks.js.map +1 -0
  100. package/dist-cjs/slider/internal/SliderSelection.js +17 -10
  101. package/dist-cjs/slider/internal/SliderSelection.js.map +1 -1
  102. package/dist-cjs/slider/internal/SliderThumb.js +77 -0
  103. package/dist-cjs/slider/internal/SliderThumb.js.map +1 -0
  104. package/dist-cjs/slider/internal/SliderTrack.js +91 -0
  105. package/dist-cjs/slider/internal/SliderTrack.js.map +1 -0
  106. package/dist-cjs/slider/internal/useKeyDownThumb.js +53 -0
  107. package/dist-cjs/slider/internal/useKeyDownThumb.js.map +1 -0
  108. package/dist-cjs/slider/internal/utils.js +78 -116
  109. package/dist-cjs/slider/internal/utils.js.map +1 -1
  110. package/dist-cjs/static-list/StaticList.css.js +6 -0
  111. package/dist-cjs/static-list/StaticList.css.js.map +1 -0
  112. package/dist-cjs/static-list/StaticList.js +32 -0
  113. package/dist-cjs/static-list/StaticList.js.map +1 -0
  114. package/dist-cjs/static-list/StaticListItem.css.js +6 -0
  115. package/dist-cjs/static-list/StaticListItem.css.js.map +1 -0
  116. package/dist-cjs/static-list/StaticListItem.js +33 -0
  117. package/dist-cjs/static-list/StaticListItem.js.map +1 -0
  118. package/dist-cjs/static-list/StaticListItemContent.css.js +6 -0
  119. package/dist-cjs/static-list/StaticListItemContent.css.js.map +1 -0
  120. package/dist-cjs/static-list/StaticListItemContent.js +30 -0
  121. package/dist-cjs/static-list/StaticListItemContent.js.map +1 -0
  122. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +8 -8
  123. package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  124. package/dist-cjs/stepper-input/StepperInput.css.js +1 -1
  125. package/dist-cjs/stepper-input/StepperInput.js +214 -29
  126. package/dist-cjs/stepper-input/StepperInput.js.map +1 -1
  127. package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js +54 -0
  128. package/dist-cjs/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -0
  129. package/dist-cjs/stepper-input/internal/utils.js +43 -0
  130. package/dist-cjs/stepper-input/internal/utils.js.map +1 -0
  131. package/dist-cjs/stepper-input/useStepperInput.js +88 -172
  132. package/dist-cjs/stepper-input/useStepperInput.js.map +1 -1
  133. package/dist-cjs/tabs/Tab.js +14 -12
  134. package/dist-cjs/tabs/Tab.js.map +1 -1
  135. package/dist-cjs/tabs/TabActivationIndicator.css.js +1 -1
  136. package/dist-cjs/tabs/Tabstrip.js +2 -1
  137. package/dist-cjs/tabs/Tabstrip.js.map +1 -1
  138. package/dist-cjs/tabs/useTabs.js.map +1 -1
  139. package/dist-cjs/tabs-next/OverflowMenu.js +2 -2
  140. package/dist-cjs/tabs-next/OverflowMenu.js.map +1 -1
  141. package/dist-cjs/tokenized-input/TokenizedInputBase.js +3 -3
  142. package/dist-cjs/tokenized-input/TokenizedInputBase.js.map +1 -1
  143. package/dist-cjs/tokenized-input/internal/InputPill.js +2 -2
  144. package/dist-cjs/tokenized-input/internal/InputPill.js.map +1 -1
  145. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js +3 -3
  146. package/dist-cjs/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  147. package/dist-cjs/tokenized-input-next/internal/InputPill.js +2 -2
  148. package/dist-cjs/tokenized-input-next/internal/InputPill.js.map +1 -1
  149. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +2 -2
  150. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  151. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js +3 -2
  152. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +1 -1
  153. package/dist-es/calendar/Calendar.css.js +1 -1
  154. package/dist-es/calendar/Calendar.js +60 -42
  155. package/dist-es/calendar/Calendar.js.map +1 -1
  156. package/dist-es/calendar/CalendarDateGrid.css.js +4 -0
  157. package/dist-es/calendar/CalendarDateGrid.css.js.map +1 -0
  158. package/dist-es/calendar/{internal/CalendarCarousel.js → CalendarDateGrid.js} +39 -16
  159. package/dist-es/calendar/CalendarDateGrid.js.map +1 -0
  160. package/dist-es/calendar/CalendarNavigation.css.js +4 -0
  161. package/dist-es/calendar/CalendarNavigation.js +310 -0
  162. package/dist-es/calendar/CalendarNavigation.js.map +1 -0
  163. package/dist-es/calendar/{internal/CalendarWeekHeader.js → CalendarWeekHeader.js} +6 -5
  164. package/dist-es/calendar/CalendarWeekHeader.js.map +1 -0
  165. package/dist-es/calendar/formatDate.js +51 -0
  166. package/dist-es/calendar/formatDate.js.map +1 -0
  167. package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
  168. package/dist-es/calendar/internal/CalendarDay.js +45 -33
  169. package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
  170. package/dist-es/calendar/internal/CalendarMonth.js +3 -2
  171. package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
  172. package/dist-es/calendar/internal/useFocusManagement.js +7 -4
  173. package/dist-es/calendar/internal/useFocusManagement.js.map +1 -1
  174. package/dist-es/calendar/internal/utils.js +29 -23
  175. package/dist-es/calendar/internal/utils.js.map +1 -1
  176. package/dist-es/calendar/useCalendar.js +92 -45
  177. package/dist-es/calendar/useCalendar.js.map +1 -1
  178. package/dist-es/calendar/useCalendarDay.js +20 -11
  179. package/dist-es/calendar/useCalendarDay.js.map +1 -1
  180. package/dist-es/calendar/useCalendarSelection.js +323 -0
  181. package/dist-es/calendar/useCalendarSelection.js.map +1 -0
  182. package/dist-es/carousel/Carousel.js +6 -6
  183. package/dist-es/carousel/Carousel.js.map +1 -1
  184. package/dist-es/cascading-menu/CascadingMenuItem.js +3 -3
  185. package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
  186. package/dist-es/cascading-menu/internal/useMouseHandlers.js.map +1 -1
  187. package/dist-es/color-chooser/ColorChooser.js.map +1 -1
  188. package/dist-es/combo-box-deprecated/ComboBox.css.js +1 -1
  189. package/dist-es/common-hooks/useCollectionItems.js.map +1 -1
  190. package/dist-es/contact-details/ContactMetadata.js +3 -3
  191. package/dist-es/contact-details/ContactMetadata.js.map +1 -1
  192. package/dist-es/content-status/ContentStatus.css.js +1 -1
  193. package/dist-es/date-input/DateInput.css.js +1 -1
  194. package/dist-es/date-input/DateInputRange.js +353 -0
  195. package/dist-es/date-input/DateInputRange.js.map +1 -0
  196. package/dist-es/date-input/DateInputSingle.js +227 -0
  197. package/dist-es/date-input/DateInputSingle.js.map +1 -0
  198. package/dist-es/date-input/utils.js +57 -0
  199. package/dist-es/date-input/utils.js.map +1 -0
  200. package/dist-es/date-picker/DatePicker.js +77 -153
  201. package/dist-es/date-picker/DatePicker.js.map +1 -1
  202. package/dist-es/date-picker/DatePickerActions.css.js +4 -0
  203. package/dist-es/date-picker/DatePickerActions.css.js.map +1 -0
  204. package/dist-es/date-picker/DatePickerActions.js +102 -0
  205. package/dist-es/date-picker/DatePickerActions.js.map +1 -0
  206. package/dist-es/date-picker/DatePickerContext.js +22 -17
  207. package/dist-es/date-picker/DatePickerContext.js.map +1 -1
  208. package/dist-es/date-picker/DatePickerOverlay.css.js +4 -0
  209. package/dist-es/date-picker/DatePickerOverlay.css.js.map +1 -0
  210. package/dist-es/date-picker/DatePickerOverlay.js +46 -0
  211. package/dist-es/date-picker/DatePickerOverlay.js.map +1 -0
  212. package/dist-es/date-picker/DatePickerOverlayProvider.js +100 -0
  213. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +1 -0
  214. package/dist-es/date-picker/DatePickerPanel.css.js +1 -1
  215. package/dist-es/date-picker/DatePickerRangeInput.js +115 -0
  216. package/dist-es/date-picker/DatePickerRangeInput.js.map +1 -0
  217. package/dist-es/date-picker/DatePickerRangePanel.js +222 -0
  218. package/dist-es/date-picker/DatePickerRangePanel.js.map +1 -0
  219. package/dist-es/date-picker/DatePickerSingleInput.js +94 -0
  220. package/dist-es/date-picker/DatePickerSingleInput.js.map +1 -0
  221. package/dist-es/date-picker/DatePickerSinglePanel.js +144 -0
  222. package/dist-es/date-picker/DatePickerSinglePanel.js.map +1 -0
  223. package/dist-es/date-picker/useDatePicker.js +203 -0
  224. package/dist-es/date-picker/useDatePicker.js.map +1 -0
  225. package/dist-es/dropdown/DropdownButton.js +6 -4
  226. package/dist-es/dropdown/DropdownButton.js.map +1 -1
  227. package/dist-es/dropdown/useDropdown.js.map +1 -1
  228. package/dist-es/form-field-legacy/FormLabel.js.map +1 -1
  229. package/dist-es/index.js +19 -3
  230. package/dist-es/index.js.map +1 -1
  231. package/dist-es/list/List.js.map +1 -1
  232. package/dist-es/menu-button/MenuButtonTrigger.css.js +1 -1
  233. package/dist-es/menu-button/MenuButtonTrigger.js +3 -3
  234. package/dist-es/menu-button/MenuButtonTrigger.js.map +1 -1
  235. package/dist-es/query-input/QueryInput.css.js +1 -1
  236. package/dist-es/query-input/internal/CategoryListItem.js +3 -3
  237. package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
  238. package/dist-es/query-input/internal/ValueList.js +3 -3
  239. package/dist-es/query-input/internal/ValueList.js.map +1 -1
  240. package/dist-es/search-input/SearchInput.js +3 -2
  241. package/dist-es/search-input/SearchInput.js.map +1 -1
  242. package/dist-es/slider/Slider.css.js +1 -1
  243. package/dist-es/slider/Slider.js +55 -107
  244. package/dist-es/slider/Slider.js.map +1 -1
  245. package/dist-es/slider/internal/SliderContext.js +16 -0
  246. package/dist-es/slider/internal/SliderContext.js.map +1 -0
  247. package/dist-es/slider/internal/SliderMarks.js +27 -0
  248. package/dist-es/slider/internal/SliderMarks.js.map +1 -0
  249. package/dist-es/slider/internal/SliderSelection.js +17 -10
  250. package/dist-es/slider/internal/SliderSelection.js.map +1 -1
  251. package/dist-es/slider/internal/SliderThumb.js +73 -0
  252. package/dist-es/slider/internal/SliderThumb.js.map +1 -0
  253. package/dist-es/slider/internal/SliderTrack.js +87 -0
  254. package/dist-es/slider/internal/SliderTrack.js.map +1 -0
  255. package/dist-es/slider/internal/useKeyDownThumb.js +49 -0
  256. package/dist-es/slider/internal/useKeyDownThumb.js.map +1 -0
  257. package/dist-es/slider/internal/utils.js +70 -111
  258. package/dist-es/slider/internal/utils.js.map +1 -1
  259. package/dist-es/static-list/StaticList.css.js +4 -0
  260. package/dist-es/static-list/StaticList.css.js.map +1 -0
  261. package/dist-es/static-list/StaticList.js +28 -0
  262. package/dist-es/static-list/StaticList.js.map +1 -0
  263. package/dist-es/static-list/StaticListItem.css.js +4 -0
  264. package/dist-es/static-list/StaticListItem.css.js.map +1 -0
  265. package/dist-es/static-list/StaticListItem.js +29 -0
  266. package/dist-es/static-list/StaticListItem.js.map +1 -0
  267. package/dist-es/static-list/StaticListItemContent.css.js +4 -0
  268. package/dist-es/static-list/StaticListItemContent.css.js.map +1 -0
  269. package/dist-es/static-list/StaticListItemContent.js +26 -0
  270. package/dist-es/static-list/StaticListItemContent.js.map +1 -0
  271. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +9 -9
  272. package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -1
  273. package/dist-es/stepper-input/StepperInput.css.js +1 -1
  274. package/dist-es/stepper-input/StepperInput.js +216 -31
  275. package/dist-es/stepper-input/StepperInput.js.map +1 -1
  276. package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js +50 -0
  277. package/dist-es/stepper-input/internal/useActivateWhileMouseDown.js.map +1 -0
  278. package/dist-es/stepper-input/internal/utils.js +32 -0
  279. package/dist-es/stepper-input/internal/utils.js.map +1 -0
  280. package/dist-es/stepper-input/useStepperInput.js +88 -172
  281. package/dist-es/stepper-input/useStepperInput.js.map +1 -1
  282. package/dist-es/tabs/Tab.js +15 -13
  283. package/dist-es/tabs/Tab.js.map +1 -1
  284. package/dist-es/tabs/TabActivationIndicator.css.js +1 -1
  285. package/dist-es/tabs/Tabstrip.js +4 -3
  286. package/dist-es/tabs/Tabstrip.js.map +1 -1
  287. package/dist-es/tabs/useTabs.js.map +1 -1
  288. package/dist-es/tabs-next/OverflowMenu.js +3 -3
  289. package/dist-es/tabs-next/OverflowMenu.js.map +1 -1
  290. package/dist-es/tokenized-input/TokenizedInputBase.js +3 -3
  291. package/dist-es/tokenized-input/TokenizedInputBase.js.map +1 -1
  292. package/dist-es/tokenized-input/internal/InputPill.js +2 -2
  293. package/dist-es/tokenized-input/internal/InputPill.js.map +1 -1
  294. package/dist-es/tokenized-input-next/TokenizedInputNext.js +3 -3
  295. package/dist-es/tokenized-input-next/TokenizedInputNext.js.map +1 -1
  296. package/dist-es/tokenized-input-next/internal/InputPill.js +2 -2
  297. package/dist-es/tokenized-input-next/internal/InputPill.js.map +1 -1
  298. package/dist-es/toolbar/overflow-panel/OverflowPanel.js +3 -3
  299. package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  300. package/dist-types/calendar/Calendar.d.ts +55 -11
  301. package/dist-types/calendar/CalendarDateGrid.d.ts +10 -0
  302. package/dist-types/calendar/CalendarNavigation.d.ts +57 -0
  303. package/dist-types/calendar/CalendarWeekHeader.d.ts +5 -0
  304. package/dist-types/calendar/formatDate.d.ts +14 -0
  305. package/dist-types/calendar/index.d.ts +5 -1
  306. package/dist-types/calendar/internal/CalendarDay.d.ts +2 -1
  307. package/dist-types/calendar/internal/CalendarMonth.d.ts +9 -1
  308. package/dist-types/calendar/internal/useFocusManagement.d.ts +2 -1
  309. package/dist-types/calendar/internal/utils.d.ts +7 -8
  310. package/dist-types/calendar/useCalendar.d.ts +100 -16
  311. package/dist-types/calendar/useCalendarDay.d.ts +38 -0
  312. package/dist-types/calendar/useCalendarSelection.d.ts +182 -0
  313. package/dist-types/date-input/DateInputRange.d.ts +150 -0
  314. package/dist-types/date-input/DateInputSingle.d.ts +117 -0
  315. package/dist-types/date-input/index.d.ts +3 -1
  316. package/dist-types/date-input/utils.d.ts +43 -0
  317. package/dist-types/date-picker/DatePicker.d.ts +20 -62
  318. package/dist-types/date-picker/DatePickerActions.d.ts +80 -0
  319. package/dist-types/date-picker/DatePickerContext.d.ts +180 -17
  320. package/dist-types/date-picker/DatePickerOverlay.d.ts +11 -0
  321. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +67 -0
  322. package/dist-types/date-picker/DatePickerRangeInput.d.ts +7 -0
  323. package/dist-types/date-picker/DatePickerRangePanel.d.ts +80 -0
  324. package/dist-types/date-picker/DatePickerSingleInput.d.ts +7 -0
  325. package/dist-types/date-picker/DatePickerSinglePanel.d.ts +50 -0
  326. package/dist-types/date-picker/index.d.ts +7 -0
  327. package/dist-types/date-picker/useDatePicker.d.ts +112 -0
  328. package/dist-types/index.d.ts +1 -0
  329. package/dist-types/slider/Slider.d.ts +23 -10
  330. package/dist-types/slider/internal/SliderContext.d.ts +11 -0
  331. package/dist-types/slider/internal/SliderMarks.d.ts +7 -0
  332. package/dist-types/slider/internal/SliderSelection.d.ts +3 -3
  333. package/dist-types/slider/internal/SliderThumb.d.ts +8 -0
  334. package/dist-types/slider/internal/SliderTrack.d.ts +4 -0
  335. package/dist-types/slider/internal/index.d.ts +3 -0
  336. package/dist-types/slider/internal/useKeyDownThumb.d.ts +2 -0
  337. package/dist-types/slider/internal/utils.d.ts +18 -10
  338. package/dist-types/slider/types.d.ts +3 -1
  339. package/dist-types/static-list/StaticList.d.ts +8 -0
  340. package/dist-types/static-list/StaticListItem.d.ts +4 -0
  341. package/dist-types/static-list/StaticListItemContent.d.ts +8 -0
  342. package/dist-types/static-list/index.d.ts +3 -0
  343. package/dist-types/stepper-input/StepperInput.d.ts +66 -19
  344. package/dist-types/stepper-input/internal/useActivateWhileMouseDown.d.ts +5 -0
  345. package/dist-types/stepper-input/internal/utils.d.ts +8 -0
  346. package/dist-types/stepper-input/useStepperInput.d.ts +21 -8
  347. package/package.json +3 -3
  348. package/dist-cjs/calendar/internal/CalendarCarousel.css.js +0 -6
  349. package/dist-cjs/calendar/internal/CalendarCarousel.css.js.map +0 -1
  350. package/dist-cjs/calendar/internal/CalendarCarousel.js.map +0 -1
  351. package/dist-cjs/calendar/internal/CalendarNavigation.css.js +0 -6
  352. package/dist-cjs/calendar/internal/CalendarNavigation.js +0 -218
  353. package/dist-cjs/calendar/internal/CalendarNavigation.js.map +0 -1
  354. package/dist-cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
  355. package/dist-cjs/calendar/useSelection.js +0 -249
  356. package/dist-cjs/calendar/useSelection.js.map +0 -1
  357. package/dist-cjs/date-input/DateInput.js +0 -283
  358. package/dist-cjs/date-input/DateInput.js.map +0 -1
  359. package/dist-cjs/date-picker/DatePickerPanel.js +0 -155
  360. package/dist-cjs/date-picker/DatePickerPanel.js.map +0 -1
  361. package/dist-cjs/slider/internal/SliderHandle.js +0 -44
  362. package/dist-cjs/slider/internal/SliderHandle.js.map +0 -1
  363. package/dist-cjs/slider/internal/SliderMarkLabels.js +0 -45
  364. package/dist-cjs/slider/internal/SliderMarkLabels.js.map +0 -1
  365. package/dist-cjs/slider/internal/SliderRail.js +0 -25
  366. package/dist-cjs/slider/internal/SliderRail.js.map +0 -1
  367. package/dist-cjs/slider/internal/SliderRailMarks.js +0 -48
  368. package/dist-cjs/slider/internal/SliderRailMarks.js.map +0 -1
  369. package/dist-cjs/slider/internal/styles.js +0 -99
  370. package/dist-cjs/slider/internal/styles.js.map +0 -1
  371. package/dist-cjs/slider/internal/useSliderKeyDown.js +0 -50
  372. package/dist-cjs/slider/internal/useSliderKeyDown.js.map +0 -1
  373. package/dist-cjs/slider/internal/useSliderMouseDown.js +0 -96
  374. package/dist-cjs/slider/internal/useSliderMouseDown.js.map +0 -1
  375. package/dist-cjs/stepper-input/internal/useSpinner.js +0 -33
  376. package/dist-cjs/stepper-input/internal/useSpinner.js.map +0 -1
  377. package/dist-es/calendar/internal/CalendarCarousel.css.js +0 -4
  378. package/dist-es/calendar/internal/CalendarCarousel.css.js.map +0 -1
  379. package/dist-es/calendar/internal/CalendarCarousel.js.map +0 -1
  380. package/dist-es/calendar/internal/CalendarNavigation.css.js +0 -4
  381. package/dist-es/calendar/internal/CalendarNavigation.js +0 -214
  382. package/dist-es/calendar/internal/CalendarNavigation.js.map +0 -1
  383. package/dist-es/calendar/internal/CalendarWeekHeader.js.map +0 -1
  384. package/dist-es/calendar/useSelection.js +0 -242
  385. package/dist-es/calendar/useSelection.js.map +0 -1
  386. package/dist-es/date-input/DateInput.js +0 -279
  387. package/dist-es/date-input/DateInput.js.map +0 -1
  388. package/dist-es/date-picker/DatePickerPanel.js +0 -151
  389. package/dist-es/date-picker/DatePickerPanel.js.map +0 -1
  390. package/dist-es/slider/internal/SliderHandle.js +0 -40
  391. package/dist-es/slider/internal/SliderHandle.js.map +0 -1
  392. package/dist-es/slider/internal/SliderMarkLabels.js +0 -41
  393. package/dist-es/slider/internal/SliderMarkLabels.js.map +0 -1
  394. package/dist-es/slider/internal/SliderRail.js +0 -21
  395. package/dist-es/slider/internal/SliderRail.js.map +0 -1
  396. package/dist-es/slider/internal/SliderRailMarks.js +0 -44
  397. package/dist-es/slider/internal/SliderRailMarks.js.map +0 -1
  398. package/dist-es/slider/internal/styles.js +0 -91
  399. package/dist-es/slider/internal/styles.js.map +0 -1
  400. package/dist-es/slider/internal/useSliderKeyDown.js +0 -46
  401. package/dist-es/slider/internal/useSliderKeyDown.js.map +0 -1
  402. package/dist-es/slider/internal/useSliderMouseDown.js +0 -92
  403. package/dist-es/slider/internal/useSliderMouseDown.js.map +0 -1
  404. package/dist-es/stepper-input/internal/useSpinner.js +0 -29
  405. package/dist-es/stepper-input/internal/useSpinner.js.map +0 -1
  406. package/dist-types/calendar/internal/CalendarCarousel.d.ts +0 -3
  407. package/dist-types/calendar/internal/CalendarNavigation.d.ts +0 -16
  408. package/dist-types/calendar/internal/CalendarWeekHeader.d.ts +0 -5
  409. package/dist-types/calendar/useSelection.d.ts +0 -78
  410. package/dist-types/date-input/DateInput.d.ts +0 -60
  411. package/dist-types/date-picker/DatePickerPanel.d.ts +0 -10
  412. package/dist-types/slider/internal/SliderHandle.d.ts +0 -11
  413. package/dist-types/slider/internal/SliderMarkLabels.d.ts +0 -7
  414. package/dist-types/slider/internal/SliderRail.d.ts +0 -1
  415. package/dist-types/slider/internal/SliderRailMarks.d.ts +0 -12
  416. package/dist-types/slider/internal/styles.d.ts +0 -10
  417. package/dist-types/slider/internal/useSliderKeyDown.d.ts +0 -4
  418. package/dist-types/slider/internal/useSliderMouseDown.d.ts +0 -4
  419. package/dist-types/stepper-input/internal/useSpinner.d.ts +0 -5
  420. /package/dist-cjs/calendar/{internal/CalendarNavigation.css.js.map → CalendarNavigation.css.js.map} +0 -0
  421. /package/dist-cjs/calendar/{internal/CalendarWeekHeader.css.js → CalendarWeekHeader.css.js} +0 -0
  422. /package/dist-cjs/calendar/{internal/CalendarWeekHeader.css.js.map → CalendarWeekHeader.css.js.map} +0 -0
  423. /package/dist-es/calendar/{internal/CalendarNavigation.css.js.map → CalendarNavigation.css.js.map} +0 -0
  424. /package/dist-es/calendar/{internal/CalendarWeekHeader.css.js → CalendarWeekHeader.css.js} +0 -0
  425. /package/dist-es/calendar/{internal/CalendarWeekHeader.css.js.map → CalendarWeekHeader.css.js.map} +0 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var icons = require('@salt-ds/icons');
6
+ var core = require('@salt-ds/core');
7
7
  var react = require('react');
8
8
  var MenuButton = require('../../menu-button/MenuButton.js');
9
9
  var useFocusMenuRemount = require('./useFocusMenuRemount.js');
@@ -20,6 +20,7 @@ const BreadcrumbsCollapsed = ({
20
20
  }
21
21
  return "";
22
22
  });
23
+ const { OverflowIcon } = core.useIcon();
23
24
  const key = keys ? keys.join("") : "";
24
25
  const { ref, shouldFocusOnMount } = useFocusMenuRemount.useFocusMenuRemount(key);
25
26
  const itemToString = react.useCallback((child) => {
@@ -54,7 +55,7 @@ const BreadcrumbsCollapsed = ({
54
55
  hideCaret: true,
55
56
  ...rest,
56
57
  ref,
57
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.OverflowMenuIcon, {})
58
+ children: /* @__PURE__ */ jsxRuntime.jsx(OverflowIcon, {})
58
59
  });
59
60
  };
60
61
 
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsCollapsed.js","sources":["../src/breadcrumbs/internal/BreadcrumbsCollapsed.tsx"],"sourcesContent":["import { OverflowMenuIcon } from \"@salt-ds/icons\";\nimport {\n Children,\n type Component,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n isValidElement,\n useCallback,\n} from \"react\";\nimport type { CascadingMenuProps, MenuDescriptor } from \"../../cascading-menu\";\nimport { MenuButton, type MenuButtonProps } from \"../../menu-button\";\nimport type { BreadcrumbProps } from \"../Breadcrumb\";\nimport { useFocusMenuRemount } from \"./useFocusMenuRemount\";\n\nexport interface BreadcrumbsCollapsedProps\n extends Omit<MenuButtonProps, \"CascadingMenuProps\"> {\n CascadingMenuProps?: CascadingMenuProps;\n accessibleText?: string;\n children: ReactNode;\n className?: string;\n}\n\nexport const BreadcrumbsCollapsed = ({\n children,\n CascadingMenuProps,\n accessibleText,\n ...rest\n}: BreadcrumbsCollapsedProps) => {\n const keys = Children.map(children, (child) => {\n if (isValidElement(child)) {\n return child.key;\n }\n return \"\";\n });\n\n const key = keys ? keys.join(\"\") : \"\";\n const { ref, shouldFocusOnMount } =\n useFocusMenuRemount<HTMLButtonElement>(key);\n\n const itemToString = useCallback((child: Component<BreadcrumbProps>) => {\n if (!child) {\n return \"\";\n }\n const { overflowLabel, tooltipText, children } = child.props;\n return overflowLabel || tooltipText || String(children);\n }, []);\n\n const onItemClick = useCallback(\n (sourceItem: MenuDescriptor, event: MouseEvent | KeyboardEvent): void => {\n shouldFocusOnMount.current = true;\n },\n [shouldFocusOnMount],\n );\n\n const menuItems: MenuDescriptor[] = [];\n Children.forEach(children, (x) => {\n if (isValidElement(x)) {\n menuItems.push({ props: x.props } as MenuDescriptor);\n }\n });\n\n return (\n <MenuButton\n CascadingMenuProps={{\n initialSource: {\n // Only `props` is required for `itemToString`. Otherwise causing circular JSON conversion in useControlled.js\n // This is not reproducible in unit tests, where react / react-dom is partially mocked without circular reference\n menuItems,\n },\n itemToString,\n onItemClick,\n minWidth: 0,\n ...CascadingMenuProps,\n }}\n hideCaret\n {...rest}\n ref={ref}\n >\n <OverflowMenuIcon />\n </MenuButton>\n );\n};\n"],"names":["Children","isValidElement","useFocusMenuRemount","useCallback","children","jsx","MenuButton","OverflowMenuIcon"],"mappings":";;;;;;;;;;AAuBO,MAAM,uBAAuB,CAAC;AAAA,EACnC,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,cAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAiC,KAAA;AAC/B,EAAA,MAAM,IAAO,GAAAA,cAAA,CAAS,GAAI,CAAA,QAAA,EAAU,CAAC,KAAU,KAAA;AAC7C,IAAI,IAAAC,oBAAA,CAAe,KAAK,CAAG,EAAA;AACzB,MAAA,OAAO,KAAM,CAAA,GAAA,CAAA;AAAA,KACf;AACA,IAAO,OAAA,EAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAA,MAAM,GAAM,GAAA,IAAA,GAAO,IAAK,CAAA,IAAA,CAAK,EAAE,CAAI,GAAA,EAAA,CAAA;AACnC,EAAA,MAAM,EAAE,GAAA,EAAK,kBAAmB,EAAA,GAC9BC,wCAAuC,GAAG,CAAA,CAAA;AAE5C,EAAM,MAAA,YAAA,GAAeC,iBAAY,CAAA,CAAC,KAAsC,KAAA;AACtE,IAAA,IAAI,CAAC,KAAO,EAAA;AACV,MAAO,OAAA,EAAA,CAAA;AAAA,KACT;AACA,IAAA,MAAM,EAAE,aAAe,EAAA,WAAA,EAAa,QAAAC,EAAAA,SAAAA,KAAa,KAAM,CAAA,KAAA,CAAA;AACvD,IAAO,OAAA,aAAA,IAAiB,WAAe,IAAA,MAAA,CAAOA,SAAQ,CAAA,CAAA;AAAA,GACxD,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,WAAc,GAAAD,iBAAA;AAAA,IAClB,CAAC,YAA4B,KAA4C,KAAA;AACvE,MAAA,kBAAA,CAAmB,OAAU,GAAA,IAAA,CAAA;AAAA,KAC/B;AAAA,IACA,CAAC,kBAAkB,CAAA;AAAA,GACrB,CAAA;AAEA,EAAA,MAAM,YAA8B,EAAC,CAAA;AACrC,EAASH,cAAA,CAAA,OAAA,CAAQ,QAAU,EAAA,CAAC,CAAM,KAAA;AAChC,IAAI,IAAAC,oBAAA,CAAe,CAAC,CAAG,EAAA;AACrB,MAAA,SAAA,CAAU,IAAK,CAAA,EAAE,KAAO,EAAA,CAAA,CAAE,OAAyB,CAAA,CAAA;AAAA,KACrD;AAAA,GACD,CAAA,CAAA;AAED,EAAA,uBACGI,cAAA,CAAAC,qBAAA,EAAA;AAAA,IACC,kBAAoB,EAAA;AAAA,MAClB,aAAe,EAAA;AAAA,QAGb,SAAA;AAAA,OACF;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAU,EAAA,CAAA;AAAA,MACV,GAAG,kBAAA;AAAA,KACL;AAAA,IACA,SAAS,EAAA,IAAA;AAAA,IACR,GAAG,IAAA;AAAA,IACJ,GAAA;AAAA,IAEA,yCAACC,sBAAiB,EAAA,EAAA,CAAA;AAAA,GACpB,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"BreadcrumbsCollapsed.js","sources":["../src/breadcrumbs/internal/BreadcrumbsCollapsed.tsx"],"sourcesContent":["import { useIcon } from \"@salt-ds/core\";\nimport {\n Children,\n type Component,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n isValidElement,\n useCallback,\n} from \"react\";\nimport type { CascadingMenuProps, MenuDescriptor } from \"../../cascading-menu\";\nimport { MenuButton, type MenuButtonProps } from \"../../menu-button\";\nimport type { BreadcrumbProps } from \"../Breadcrumb\";\nimport { useFocusMenuRemount } from \"./useFocusMenuRemount\";\n\nexport interface BreadcrumbsCollapsedProps\n extends Omit<MenuButtonProps, \"CascadingMenuProps\"> {\n CascadingMenuProps?: CascadingMenuProps;\n accessibleText?: string;\n children: ReactNode;\n className?: string;\n}\n\nexport const BreadcrumbsCollapsed = ({\n children,\n CascadingMenuProps,\n accessibleText,\n ...rest\n}: BreadcrumbsCollapsedProps) => {\n const keys = Children.map(children, (child) => {\n if (isValidElement(child)) {\n return child.key;\n }\n return \"\";\n });\n\n const { OverflowIcon } = useIcon();\n const key = keys ? keys.join(\"\") : \"\";\n const { ref, shouldFocusOnMount } =\n useFocusMenuRemount<HTMLButtonElement>(key);\n\n const itemToString = useCallback((child: Component<BreadcrumbProps>) => {\n if (!child) {\n return \"\";\n }\n const { overflowLabel, tooltipText, children } = child.props;\n return overflowLabel || tooltipText || String(children);\n }, []);\n\n const onItemClick = useCallback(\n (sourceItem: MenuDescriptor, event: MouseEvent | KeyboardEvent): void => {\n shouldFocusOnMount.current = true;\n },\n [shouldFocusOnMount],\n );\n\n const menuItems: MenuDescriptor[] = [];\n Children.forEach(children, (x) => {\n if (isValidElement(x)) {\n menuItems.push({ props: x.props } as MenuDescriptor);\n }\n });\n\n return (\n <MenuButton\n CascadingMenuProps={{\n initialSource: {\n // Only `props` is required for `itemToString`. Otherwise causing circular JSON conversion in useControlled.js\n // This is not reproducible in unit tests, where react / react-dom is partially mocked without circular reference\n menuItems,\n },\n itemToString,\n onItemClick,\n minWidth: 0,\n ...CascadingMenuProps,\n }}\n hideCaret\n {...rest}\n ref={ref}\n >\n <OverflowIcon />\n </MenuButton>\n );\n};\n"],"names":["Children","isValidElement","useIcon","useFocusMenuRemount","useCallback","children","jsx","MenuButton"],"mappings":";;;;;;;;;;AAuBO,MAAM,uBAAuB,CAAC;AAAA,EACnC,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,cAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAiC,KAAA;AAC/B,EAAA,MAAM,IAAO,GAAAA,cAAA,CAAS,GAAI,CAAA,QAAA,EAAU,CAAC,KAAU,KAAA;AAC7C,IAAI,IAAAC,oBAAA,CAAe,KAAK,CAAG,EAAA;AACzB,MAAA,OAAO,KAAM,CAAA,GAAA,CAAA;AAAA,KACf;AACA,IAAO,OAAA,EAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,YAAa,EAAA,GAAIC,YAAQ,EAAA,CAAA;AACjC,EAAA,MAAM,GAAM,GAAA,IAAA,GAAO,IAAK,CAAA,IAAA,CAAK,EAAE,CAAI,GAAA,EAAA,CAAA;AACnC,EAAA,MAAM,EAAE,GAAA,EAAK,kBAAmB,EAAA,GAC9BC,wCAAuC,GAAG,CAAA,CAAA;AAE5C,EAAM,MAAA,YAAA,GAAeC,iBAAY,CAAA,CAAC,KAAsC,KAAA;AACtE,IAAA,IAAI,CAAC,KAAO,EAAA;AACV,MAAO,OAAA,EAAA,CAAA;AAAA,KACT;AACA,IAAA,MAAM,EAAE,aAAe,EAAA,WAAA,EAAa,QAAAC,EAAAA,SAAAA,KAAa,KAAM,CAAA,KAAA,CAAA;AACvD,IAAO,OAAA,aAAA,IAAiB,WAAe,IAAA,MAAA,CAAOA,SAAQ,CAAA,CAAA;AAAA,GACxD,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,WAAc,GAAAD,iBAAA;AAAA,IAClB,CAAC,YAA4B,KAA4C,KAAA;AACvE,MAAA,kBAAA,CAAmB,OAAU,GAAA,IAAA,CAAA;AAAA,KAC/B;AAAA,IACA,CAAC,kBAAkB,CAAA;AAAA,GACrB,CAAA;AAEA,EAAA,MAAM,YAA8B,EAAC,CAAA;AACrC,EAASJ,cAAA,CAAA,OAAA,CAAQ,QAAU,EAAA,CAAC,CAAM,KAAA;AAChC,IAAI,IAAAC,oBAAA,CAAe,CAAC,CAAG,EAAA;AACrB,MAAA,SAAA,CAAU,IAAK,CAAA,EAAE,KAAO,EAAA,CAAA,CAAE,OAAyB,CAAA,CAAA;AAAA,KACrD;AAAA,GACD,CAAA,CAAA;AAED,EAAA,uBACGK,cAAA,CAAAC,qBAAA,EAAA;AAAA,IACC,kBAAoB,EAAA;AAAA,MAClB,aAAe,EAAA;AAAA,QAGb,SAAA;AAAA,OACF;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAU,EAAA,CAAA;AAAA,MACV,GAAG,kBAAA;AAAA,KACL;AAAA,IACA,SAAS,EAAA,IAAA;AAAA,IACR,GAAG,IAAA;AAAA,IACJ,GAAA;AAAA,IAEA,yCAAC,YAAa,EAAA,EAAA,CAAA;AAAA,GAChB,CAAA,CAAA;AAEJ;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = ".saltCalendar {\n width: min-content;\n background: var(--salt-container-primary-background);\n padding: var(--salt-spacing-100);\n}\n";
3
+ var css_248z = ".saltCalendar {\n background: var(--salt-container-primary-background);\n padding: var(--salt-spacing-100);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=Calendar.css.js.map
@@ -6,72 +6,90 @@ var jsxRuntime = require('react/jsx-runtime');
6
6
  var core = require('@salt-ds/core');
7
7
  var clsx = require('clsx');
8
8
  var react = require('react');
9
- var CalendarCarousel = require('./internal/CalendarCarousel.js');
10
9
  var CalendarContext = require('./internal/CalendarContext.js');
11
- var CalendarNavigation = require('./internal/CalendarNavigation.js');
12
- var CalendarWeekHeader = require('./internal/CalendarWeekHeader.js');
13
10
  var useCalendar = require('./useCalendar.js');
14
11
  var styles = require('@salt-ds/styles');
15
12
  var window = require('@salt-ds/window');
16
13
  var date = require('@internationalized/date');
17
14
  var Calendar$1 = require('./Calendar.css.js');
18
- var utils = require('./internal/utils.js');
19
15
 
20
16
  const withBaseName = core.makePrefixer("saltCalendar");
21
17
  const Calendar = react.forwardRef(
22
18
  function Calendar2(props, ref) {
23
- const {
24
- className,
25
- renderDayContents,
26
- hideYearDropdown,
27
- TooltipProps,
28
- borderedDropdown,
29
- ...rest
30
- } = props;
31
19
  const targetWindow = window.useWindow();
32
20
  styles.useComponentCssInjection({
33
21
  testId: "salt-calendar",
34
22
  css: Calendar$1,
35
23
  window: targetWindow
36
24
  });
37
- const { state, helpers } = useCalendar.useCalendar({
38
- hideYearDropdown,
39
- ...rest
40
- });
41
- const { setCalendarFocused } = helpers;
42
- const handleFocus = react.useCallback(() => {
43
- setCalendarFocused(true);
44
- }, [setCalendarFocused]);
45
- const handleBlur = react.useCallback(() => {
46
- setCalendarFocused(false);
47
- }, [setCalendarFocused]);
48
- const calendarLabel = new date.DateFormatter(utils.getCurrentLocale(), {
25
+ const {
26
+ children,
27
+ className,
28
+ selectedDate,
29
+ defaultSelectedDate,
30
+ visibleMonth: visibleMonthProp,
31
+ timeZone,
32
+ locale,
33
+ defaultVisibleMonth,
34
+ onSelectedDateChange,
35
+ onVisibleMonthChange,
36
+ hideOutOfRangeDates,
37
+ isDayUnselectable,
38
+ isDayHighlighted,
39
+ isDayDisabled,
40
+ minDate,
41
+ maxDate,
42
+ selectionVariant,
43
+ onHoveredDateChange,
44
+ hoveredDate,
45
+ ...propsRest
46
+ } = props;
47
+ let startDateOffset;
48
+ let endDateOffset;
49
+ let rest;
50
+ if (selectionVariant === "offset") {
51
+ ({ startDateOffset, endDateOffset, ...rest } = propsRest);
52
+ } else {
53
+ rest = propsRest;
54
+ }
55
+ const useCalendarProps = {
56
+ selectedDate,
57
+ defaultSelectedDate,
58
+ visibleMonth: visibleMonthProp,
59
+ timeZone,
60
+ locale,
61
+ defaultVisibleMonth,
62
+ onSelectedDateChange,
63
+ onVisibleMonthChange,
64
+ isDayUnselectable,
65
+ isDayHighlighted,
66
+ isDayDisabled,
67
+ minDate,
68
+ maxDate,
69
+ selectionVariant,
70
+ onHoveredDateChange,
71
+ hideOutOfRangeDates,
72
+ hoveredDate,
73
+ startDateOffset,
74
+ endDateOffset
75
+ };
76
+ const { state, helpers } = useCalendar.useCalendar(useCalendarProps);
77
+ const calendarLabel = new date.DateFormatter(state.locale, {
49
78
  month: "long",
50
79
  year: "numeric"
51
- }).format(state.visibleMonth.toDate(date.getLocalTimeZone()));
80
+ }).format(state.visibleMonth.toDate(state.timeZone));
52
81
  return /* @__PURE__ */ jsxRuntime.jsx(CalendarContext.CalendarContext.Provider, {
53
82
  value: {
54
83
  state,
55
84
  helpers
56
85
  },
57
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
86
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", {
58
87
  className: clsx.clsx(withBaseName(), className),
59
88
  role: "application",
60
89
  "aria-label": calendarLabel,
61
90
  ref,
62
- children: [
63
- /* @__PURE__ */ jsxRuntime.jsx(CalendarNavigation.CalendarNavigation, {
64
- borderedDropdown,
65
- hideYearDropdown
66
- }),
67
- /* @__PURE__ */ jsxRuntime.jsx(CalendarWeekHeader.CalendarWeekHeader, {}),
68
- /* @__PURE__ */ jsxRuntime.jsx(CalendarCarousel.CalendarCarousel, {
69
- onFocus: handleFocus,
70
- onBlur: handleBlur,
71
- renderDayContents,
72
- TooltipProps
73
- })
74
- ]
91
+ ...rest,
92
+ children
75
93
  })
76
94
  });
77
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sources":["../src/calendar/Calendar.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, useCallback } from \"react\";\nimport {\n CalendarCarousel,\n type CalendarCarouselProps,\n} from \"./internal/CalendarCarousel\";\nimport { CalendarContext } from \"./internal/CalendarContext\";\nimport {\n CalendarNavigation,\n type CalendarNavigationProps,\n} from \"./internal/CalendarNavigation\";\nimport { CalendarWeekHeader } from \"./internal/CalendarWeekHeader\";\nimport { useCalendar, type useCalendarProps } from \"./useCalendar\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport { DateFormatter, getLocalTimeZone } from \"@internationalized/date\";\nimport calendarCss from \"./Calendar.css\";\nimport { getCurrentLocale } from \"./internal/utils\";\n\nexport type CalendarProps = useCalendarProps & {\n className?: string;\n renderDayContents?: CalendarCarouselProps[\"renderDayContents\"];\n hideYearDropdown?: CalendarNavigationProps[\"hideYearDropdown\"];\n borderedDropdown?: CalendarNavigationProps[\"borderedDropdown\"];\n TooltipProps?: CalendarCarouselProps[\"TooltipProps\"];\n hideOutOfRangeDates?: CalendarCarouselProps[\"hideOutOfRangeDates\"];\n};\n\nconst withBaseName = makePrefixer(\"saltCalendar\");\n\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(\n function Calendar(props, ref) {\n const {\n className,\n renderDayContents,\n hideYearDropdown,\n TooltipProps,\n borderedDropdown,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar\",\n css: calendarCss,\n window: targetWindow,\n });\n\n const { state, helpers } = useCalendar({\n hideYearDropdown,\n ...rest,\n });\n\n const { setCalendarFocused } = helpers;\n\n const handleFocus = useCallback(() => {\n setCalendarFocused(true);\n }, [setCalendarFocused]);\n\n const handleBlur = useCallback(() => {\n setCalendarFocused(false);\n }, [setCalendarFocused]);\n\n const calendarLabel = new DateFormatter(getCurrentLocale(), {\n month: \"long\",\n year: \"numeric\",\n }).format(state.visibleMonth.toDate(getLocalTimeZone()));\n return (\n <CalendarContext.Provider\n value={{\n state,\n helpers,\n }}\n >\n <div\n className={clsx(withBaseName(), className)}\n role=\"application\"\n aria-label={calendarLabel}\n ref={ref}\n >\n <CalendarNavigation\n borderedDropdown={borderedDropdown}\n hideYearDropdown={hideYearDropdown}\n />\n <CalendarWeekHeader />\n <CalendarCarousel\n onFocus={handleFocus}\n onBlur={handleBlur}\n renderDayContents={renderDayContents}\n TooltipProps={TooltipProps}\n />\n </div>\n </CalendarContext.Provider>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Calendar","useWindow","useComponentCssInjection","calendarCss","useCalendar","useCallback","DateFormatter","getCurrentLocale","getLocalTimeZone","jsx","CalendarContext","jsxs","clsx","CalendarNavigation","CalendarWeekHeader","CalendarCarousel"],"mappings":";;;;;;;;;;;;;;;;;;;AA+BA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA,CAAA;AAEzC,MAAM,QAAW,GAAAC,gBAAA;AAAA,EACtB,SAASC,SAAS,CAAA,KAAA,EAAO,GAAK,EAAA;AAC5B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,YAAA;AAAA,MACA,gBAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,eAAA;AAAA,MACR,GAAK,EAAAC,UAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,EAAE,KAAA,EAAO,OAAQ,EAAA,GAAIC,uBAAY,CAAA;AAAA,MACrC,gBAAA;AAAA,MACA,GAAG,IAAA;AAAA,KACJ,CAAA,CAAA;AAED,IAAM,MAAA,EAAE,oBAAuB,GAAA,OAAA,CAAA;AAE/B,IAAM,MAAA,WAAA,GAAcC,kBAAY,MAAM;AACpC,MAAA,kBAAA,CAAmB,IAAI,CAAA,CAAA;AAAA,KACzB,EAAG,CAAC,kBAAkB,CAAC,CAAA,CAAA;AAEvB,IAAM,MAAA,UAAA,GAAaA,kBAAY,MAAM;AACnC,MAAA,kBAAA,CAAmB,KAAK,CAAA,CAAA;AAAA,KAC1B,EAAG,CAAC,kBAAkB,CAAC,CAAA,CAAA;AAEvB,IAAA,MAAM,aAAgB,GAAA,IAAIC,kBAAc,CAAAC,sBAAA,EAAoB,EAAA;AAAA,MAC1D,KAAO,EAAA,MAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,KACP,EAAE,MAAO,CAAA,KAAA,CAAM,aAAa,MAAO,CAAAC,qBAAA,EAAkB,CAAC,CAAA,CAAA;AACvD,IACE,uBAAAC,cAAA,CAACC,gCAAgB,QAAhB,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA;AAAA,QACA,OAAA;AAAA,OACF;AAAA,MAEA,QAAC,kBAAAC,eAAA,CAAA,KAAA,EAAA;AAAA,QACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACzC,IAAK,EAAA,aAAA;AAAA,QACL,YAAY,EAAA,aAAA;AAAA,QACZ,GAAA;AAAA,QAEA,QAAA,EAAA;AAAA,0BAACH,cAAA,CAAAI,qCAAA,EAAA;AAAA,YACC,gBAAA;AAAA,YACA,gBAAA;AAAA,WACF,CAAA;AAAA,yCACCC,qCAAmB,EAAA,EAAA,CAAA;AAAA,0BACnBL,cAAA,CAAAM,iCAAA,EAAA;AAAA,YACC,OAAS,EAAA,WAAA;AAAA,YACT,MAAQ,EAAA,UAAA;AAAA,YACR,iBAAA;AAAA,YACA,YAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"Calendar.js","sources":["../src/calendar/Calendar.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n} from \"react\";\nimport { CalendarContext } from \"./internal/CalendarContext\";\nimport {\n type UseCalendarMultiSelectProps,\n type UseCalendarOffsetProps,\n type UseCalendarRangeProps,\n type UseCalendarSingleProps,\n useCalendar,\n} from \"./useCalendar\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport { DateFormatter } from \"@internationalized/date\";\nimport calendarCss from \"./Calendar.css\";\n\n/**\n * Base props for the Calendar component.\n */\nexport interface CalendarBaseProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * The content to be rendered inside the Calendar.\n */\n children: ReactNode;\n /**\n * If `true`, hides dates that are out of the selectable range.\n */\n hideOutOfRangeDates?: boolean;\n}\n\n/**\n * Props for the Calendar component with single date selection.\n */\nexport interface CalendarSingleProps\n extends CalendarBaseProps,\n UseCalendarSingleProps {\n /**\n * The selection variant, set to \"single\".\n */\n selectionVariant: \"single\";\n}\n\n/**\n * Props for the Calendar component with date range selection.\n */\nexport interface CalendarRangeProps\n extends CalendarBaseProps,\n UseCalendarRangeProps {\n /**\n * The selection variant, set to \"range\".\n */\n selectionVariant: \"range\";\n}\n\n/**\n * Props for the Calendar component with multi-select date selection.\n */\nexport interface CalendarMultiSelectProps\n extends CalendarBaseProps,\n UseCalendarMultiSelectProps {\n /**\n * The selection variant, set to \"multiselect\".\n */\n selectionVariant: \"multiselect\";\n}\n\n/**\n * Props for the Calendar component with offset date selection.\n */\nexport interface CalendarOffsetProps\n extends CalendarBaseProps,\n UseCalendarOffsetProps {\n /**\n * The selection variant, set to \"offset\".\n */\n selectionVariant: \"offset\";\n}\n\n/**\n * Type representing the props for the Calendar component with various selection variants.\n */\nexport type CalendarProps =\n | CalendarSingleProps\n | CalendarRangeProps\n | CalendarMultiSelectProps\n | CalendarOffsetProps;\n\nconst withBaseName = makePrefixer(\"saltCalendar\");\n\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(\n function Calendar(props, ref) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar\",\n css: calendarCss,\n window: targetWindow,\n });\n const {\n children,\n className,\n selectedDate,\n defaultSelectedDate,\n visibleMonth: visibleMonthProp,\n timeZone,\n locale,\n defaultVisibleMonth,\n onSelectedDateChange,\n onVisibleMonthChange,\n hideOutOfRangeDates,\n isDayUnselectable,\n isDayHighlighted,\n isDayDisabled,\n minDate,\n maxDate,\n selectionVariant,\n onHoveredDateChange,\n hoveredDate,\n ...propsRest\n } = props;\n let startDateOffset: CalendarOffsetProps[\"startDateOffset\"];\n let endDateOffset: CalendarOffsetProps[\"startDateOffset\"];\n let rest: Partial<typeof props>;\n if (selectionVariant === \"offset\") {\n ({ startDateOffset, endDateOffset, ...rest } =\n propsRest as CalendarOffsetProps);\n } else {\n rest = propsRest;\n }\n // biome-ignore lint/suspicious/noExplicitAny: type guard\n const useCalendarProps: any = {\n selectedDate,\n defaultSelectedDate,\n visibleMonth: visibleMonthProp,\n timeZone,\n locale,\n defaultVisibleMonth,\n onSelectedDateChange,\n onVisibleMonthChange,\n isDayUnselectable,\n isDayHighlighted,\n isDayDisabled,\n minDate,\n maxDate,\n selectionVariant,\n onHoveredDateChange,\n hideOutOfRangeDates,\n hoveredDate,\n startDateOffset,\n endDateOffset,\n };\n const { state, helpers } = useCalendar(useCalendarProps);\n const calendarLabel = new DateFormatter(state.locale, {\n month: \"long\",\n year: \"numeric\",\n }).format(state.visibleMonth.toDate(state.timeZone));\n\n return (\n <CalendarContext.Provider\n value={{\n state,\n helpers,\n }}\n >\n <div\n className={clsx(withBaseName(), className)}\n role=\"application\"\n aria-label={calendarLabel}\n ref={ref}\n {...rest}\n >\n {children}\n </div>\n </CalendarContext.Provider>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Calendar","useWindow","useComponentCssInjection","calendarCss","useCalendar","DateFormatter","jsx","CalendarContext","clsx"],"mappings":";;;;;;;;;;;;;;;AA6FA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA,CAAA;AAEzC,MAAM,QAAW,GAAAC,gBAAA;AAAA,EACtB,SAASC,SAAS,CAAA,KAAA,EAAO,GAAK,EAAA;AAC5B,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,eAAA;AAAA,MACR,GAAK,EAAAC,UAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AACD,IAAM,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAc,EAAA,gBAAA;AAAA,MACd,QAAA;AAAA,MACA,MAAA;AAAA,MACA,mBAAA;AAAA,MACA,oBAAA;AAAA,MACA,oBAAA;AAAA,MACA,mBAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,WAAA;AAAA,MACG,GAAA,SAAA;AAAA,KACD,GAAA,KAAA,CAAA;AACJ,IAAI,IAAA,eAAA,CAAA;AACJ,IAAI,IAAA,aAAA,CAAA;AACJ,IAAI,IAAA,IAAA,CAAA;AACJ,IAAA,IAAI,qBAAqB,QAAU,EAAA;AACjC,MAAA,CAAC,EAAE,eAAA,EAAiB,aAAe,EAAA,GAAG,MACpC,GAAA,SAAA,EAAA;AAAA,KACG,MAAA;AACL,MAAO,IAAA,GAAA,SAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,gBAAwB,GAAA;AAAA,MAC5B,YAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAc,EAAA,gBAAA;AAAA,MACd,QAAA;AAAA,MACA,MAAA;AAAA,MACA,mBAAA;AAAA,MACA,oBAAA;AAAA,MACA,oBAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,mBAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,aAAA;AAAA,KACF,CAAA;AACA,IAAA,MAAM,EAAE,KAAA,EAAO,OAAQ,EAAA,GAAIC,wBAAY,gBAAgB,CAAA,CAAA;AACvD,IAAA,MAAM,aAAgB,GAAA,IAAIC,kBAAc,CAAA,KAAA,CAAM,MAAQ,EAAA;AAAA,MACpD,KAAO,EAAA,MAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,KACP,EAAE,MAAO,CAAA,KAAA,CAAM,aAAa,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA,CAAA;AAEnD,IACE,uBAAAC,cAAA,CAACC,gCAAgB,QAAhB,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA;AAAA,QACA,OAAA;AAAA,OACF;AAAA,MAEA,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,QACC,SAAW,EAAAE,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QACzC,IAAK,EAAA,aAAA;AAAA,QACL,YAAY,EAAA,aAAA;AAAA,QACZ,GAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEH,QAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = ".saltCalendarDateGrid-grid {\n display: grid;\n grid-auto-flow: column;\n}\n\n.saltCalendarDateGrid-grid > * {\n position: absolute;\n left: 0;\n width: 100%;\n}\n\n.saltCalendarDateGrid-grid > :nth-child(2) {\n position: relative;\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=CalendarDateGrid.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarDateGrid.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -6,27 +6,33 @@ var jsxRuntime = require('react/jsx-runtime');
6
6
  var date = require('@internationalized/date');
7
7
  var core = require('@salt-ds/core');
8
8
  var react = require('react');
9
- var CalendarContext = require('./CalendarContext.js');
10
- var CalendarMonth = require('./CalendarMonth.js');
9
+ var CalendarContext = require('./internal/CalendarContext.js');
10
+ var CalendarMonth = require('./internal/CalendarMonth.js');
11
11
  var styles = require('@salt-ds/styles');
12
12
  var window = require('@salt-ds/window');
13
- var CalendarCarousel$1 = require('./CalendarCarousel.css.js');
14
- var utils = require('./utils.js');
13
+ var CalendarDateGrid$1 = require('./CalendarDateGrid.css.js');
14
+ var utils = require('./internal/utils.js');
15
15
 
16
16
  function getMonths(month) {
17
17
  return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];
18
18
  }
19
- const withBaseName = core.makePrefixer("saltCalendarCarousel");
20
- const CalendarCarousel = react.forwardRef(function CalendarCarousel2(props, ref) {
21
- const { ...rest } = props;
19
+ const withBaseName = core.makePrefixer("saltCalendarDateGrid");
20
+ const CalendarDateGrid = react.forwardRef(function CalendarDateGrid2(props, ref) {
21
+ const {
22
+ onFocus,
23
+ onBlur,
24
+ getCalendarMonthProps = () => void 0,
25
+ ...rest
26
+ } = props;
22
27
  const targetWindow = window.useWindow();
23
28
  styles.useComponentCssInjection({
24
- testId: "salt-calendar-carousel",
25
- css: CalendarCarousel$1,
29
+ testId: "salt-calendar-date-grid",
30
+ css: CalendarDateGrid$1,
26
31
  window: targetWindow
27
32
  });
28
33
  const {
29
- state: { visibleMonth }
34
+ state: { visibleMonth, locale },
35
+ helpers: { setCalendarFocused }
30
36
  } = CalendarContext.useCalendarContext();
31
37
  const containerRef = react.useRef(null);
32
38
  const diffIndex = (a, b) => utils.monthDiff(a, b);
@@ -46,7 +52,21 @@ const CalendarCarousel = react.forwardRef(function CalendarCarousel2(props, ref)
46
52
  });
47
53
  setMonths(getMonths(visibleMonth));
48
54
  return void 0;
49
- }, [utils.formatDate(visibleMonth)]);
55
+ }, [utils.formatDate(visibleMonth, locale)]);
56
+ const handleFocus = react.useCallback(
57
+ (event) => {
58
+ setCalendarFocused(true);
59
+ onFocus == null ? void 0 : onFocus(event);
60
+ },
61
+ [setCalendarFocused, onFocus]
62
+ );
63
+ const handleBlur = react.useCallback(
64
+ (event) => {
65
+ setCalendarFocused(false);
66
+ onBlur == null ? void 0 : onBlur(event);
67
+ },
68
+ [setCalendarFocused, onBlur]
69
+ );
50
70
  return /* @__PURE__ */ jsxRuntime.jsx("div", {
51
71
  className: withBaseName(),
52
72
  tabIndex: -1,
@@ -56,8 +76,11 @@ const CalendarCarousel = react.forwardRef(function CalendarCarousel2(props, ref)
56
76
  },
57
77
  ref,
58
78
  children: /* @__PURE__ */ jsxRuntime.jsx("div", {
59
- className: withBaseName("track"),
79
+ className: withBaseName("grid"),
60
80
  ref: containerRef,
81
+ onBlur: handleBlur,
82
+ onFocus: handleFocus,
83
+ ...rest,
61
84
  children: months.map((date, index) => /* @__PURE__ */ jsxRuntime.jsx("div", {
62
85
  className: withBaseName("slide"),
63
86
  style: {
@@ -65,13 +88,13 @@ const CalendarCarousel = react.forwardRef(function CalendarCarousel2(props, ref)
65
88
  },
66
89
  "aria-hidden": index !== 1 ? "true" : void 0,
67
90
  children: /* @__PURE__ */ jsxRuntime.jsx(CalendarMonth.CalendarMonth, {
68
- ...rest,
91
+ ...getCalendarMonthProps(date),
69
92
  date
70
93
  })
71
- }, utils.formatDate(date)))
94
+ }, utils.formatDate(date, locale)))
72
95
  })
73
96
  });
74
97
  });
75
98
 
76
- exports.CalendarCarousel = CalendarCarousel;
77
- //# sourceMappingURL=CalendarCarousel.js.map
99
+ exports.CalendarDateGrid = CalendarDateGrid;
100
+ //# sourceMappingURL=CalendarDateGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarDateGrid.js","sources":["../src/calendar/CalendarDateGrid.tsx"],"sourcesContent":["import { type DateValue, isSameMonth } from \"@internationalized/date\";\nimport { makePrefixer, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\nimport {\n type ComponentPropsWithoutRef,\n type FocusEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { useCalendarContext } from \"./internal/CalendarContext\";\nimport {\n CalendarMonth,\n type CalendarMonthProps,\n} from \"./internal/CalendarMonth\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport calendarDateGridCss from \"./CalendarDateGrid.css\";\nimport { formatDate, monthDiff } from \"./internal/utils\";\n\nexport interface CalendarDateGridProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Props getter to pass to each CalendarMonth element\n */\n getCalendarMonthProps?: (date: DateValue) => Omit<CalendarMonthProps, \"date\">;\n}\n\nfunction getMonths(month: DateValue) {\n return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarDateGrid\");\n\nexport const CalendarDateGrid = forwardRef<\n HTMLDivElement,\n CalendarDateGridProps\n>(function CalendarDateGrid(props, ref) {\n const {\n onFocus,\n onBlur,\n getCalendarMonthProps = () => undefined,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-date-grid\",\n css: calendarDateGridCss,\n window: targetWindow,\n });\n\n const {\n state: { visibleMonth, locale },\n helpers: { setCalendarFocused },\n } = useCalendarContext();\n const containerRef = useRef<HTMLDivElement>(null);\n const diffIndex = (a: DateValue, b: DateValue) => monthDiff(a, b);\n\n const { current: baseIndex } = useRef(visibleMonth);\n\n useIsomorphicLayoutEffect(() => {\n if (containerRef.current) {\n containerRef.current.style.transform = `translate3d(${\n diffIndex(baseIndex, visibleMonth) * -101 // needs to be higher than 100% so the next month doesn't show on the edges\n }%, 0, 0)`;\n }\n });\n\n const [months, setMonths] = useState(() => getMonths(visibleMonth));\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: uses formatData to change visibleMonth into string\n useEffect(() => {\n setMonths((oldMonths) => {\n const newMonths = getMonths(visibleMonth).filter((month) => {\n return !oldMonths.find((oldMonth) => isSameMonth(oldMonth, month));\n });\n\n return oldMonths.concat(newMonths);\n });\n setMonths(getMonths(visibleMonth));\n return undefined;\n }, [formatDate(visibleMonth, locale)]);\n\n const handleFocus: FocusEventHandler<HTMLDivElement> = useCallback(\n (event) => {\n setCalendarFocused(true);\n onFocus?.(event);\n },\n [setCalendarFocused, onFocus],\n );\n\n const handleBlur: FocusEventHandler<HTMLDivElement> = useCallback(\n (event) => {\n setCalendarFocused(false);\n onBlur?.(event);\n },\n [setCalendarFocused, onBlur],\n );\n\n return (\n <div\n className={withBaseName()}\n tabIndex={-1} // https://bugzilla.mozilla.org/show_bug.cgi?id=1069739\n style={{\n overflowX: \"hidden\",\n position: \"relative\",\n }}\n ref={ref}\n >\n <div\n className={withBaseName(\"grid\")}\n ref={containerRef}\n onBlur={handleBlur}\n onFocus={handleFocus}\n {...rest}\n >\n {months.map((date, index) => (\n <div\n key={formatDate(date, locale)}\n className={withBaseName(\"slide\")}\n style={{\n transform: `translateX(${diffIndex(date, baseIndex) * -101}%)`,\n }}\n aria-hidden={index !== 1 ? \"true\" : undefined}\n >\n <CalendarMonth {...getCalendarMonthProps(date)} date={date} />\n </div>\n ))}\n </div>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CalendarDateGrid","useWindow","useComponentCssInjection","calendarDateGridCss","useCalendarContext","useRef","monthDiff","useIsomorphicLayoutEffect","useState","useEffect","isSameMonth","formatDate","useCallback","jsx","CalendarMonth"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = ".saltCalendarNavigation {\n display: grid;\n grid-template-columns: min-content auto min-content;\n padding-bottom: var(--salt-spacing-100);\n grid-gap: var(--salt-spacing-25);\n align-items: center;\n box-sizing: border-box;\n}\n\n.saltCalendarNavigation-hideYearDropdown {\n grid-template-columns: min-content auto min-content;\n grid-gap: var(--salt-spacing-300);\n}\n\n.saltCalendarNavigation-dropdowns {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: var(--salt-spacing-100);\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=CalendarNavigation.css.js.map