@salt-ds/lab 1.0.0-alpha.89 → 1.0.0-alpha.90

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 (306) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/css/salt-lab.css +120 -643
  3. package/dist-cjs/calendar/index.js +61 -0
  4. package/dist-cjs/calendar/index.js.map +1 -0
  5. package/dist-cjs/content-status/ContentStatus.js +1 -1
  6. package/dist-cjs/content-status/ContentStatus.js.map +1 -1
  7. package/dist-cjs/date-input/index.js +23 -0
  8. package/dist-cjs/date-input/index.js.map +1 -0
  9. package/dist-cjs/date-picker/index.js +106 -0
  10. package/dist-cjs/date-picker/index.js.map +1 -0
  11. package/dist-cjs/index.js +58 -56
  12. package/dist-cjs/index.js.map +1 -1
  13. package/dist-cjs/localization-provider/index.js +26 -0
  14. package/dist-cjs/localization-provider/index.js.map +1 -0
  15. package/dist-cjs/rating/Rating.css.js +1 -1
  16. package/dist-cjs/rating/Rating.js +11 -16
  17. package/dist-cjs/rating/Rating.js.map +1 -1
  18. package/dist-cjs/side-panel/SidePanel.css.js +6 -0
  19. package/dist-cjs/side-panel/SidePanel.css.js.map +1 -0
  20. package/dist-cjs/side-panel/SidePanel.js +156 -0
  21. package/dist-cjs/side-panel/SidePanel.js.map +1 -0
  22. package/dist-cjs/side-panel/SidePanelContent.css.js +6 -0
  23. package/dist-cjs/side-panel/SidePanelContent.css.js.map +1 -0
  24. package/dist-cjs/side-panel/SidePanelContent.js +86 -0
  25. package/dist-cjs/side-panel/SidePanelContent.js.map +1 -0
  26. package/dist-cjs/side-panel/SidePanelHeader.css.js +6 -0
  27. package/dist-cjs/side-panel/SidePanelHeader.css.js.map +1 -0
  28. package/dist-cjs/side-panel/SidePanelHeader.js +26 -0
  29. package/dist-cjs/side-panel/SidePanelHeader.js.map +1 -0
  30. package/dist-cjs/side-panel/SidePanelProvider.js +71 -0
  31. package/dist-cjs/side-panel/SidePanelProvider.js.map +1 -0
  32. package/dist-cjs/side-panel/SidePanelTitle.css.js +6 -0
  33. package/dist-cjs/side-panel/SidePanelTitle.css.js.map +1 -0
  34. package/dist-cjs/side-panel/SidePanelTitle.js +47 -0
  35. package/dist-cjs/side-panel/SidePanelTitle.js.map +1 -0
  36. package/dist-cjs/side-panel/SidePanelTrigger.js +37 -0
  37. package/dist-cjs/side-panel/SidePanelTrigger.js.map +1 -0
  38. package/dist-cjs/side-panel/internal/SidePanelContext.js +31 -0
  39. package/dist-cjs/side-panel/internal/SidePanelContext.js.map +1 -0
  40. package/dist-cjs/side-panel/useSidePanel.js +41 -0
  41. package/dist-cjs/side-panel/useSidePanel.js.map +1 -0
  42. package/dist-cjs/utils/deprecatedExport.js +30 -0
  43. package/dist-cjs/utils/deprecatedExport.js.map +1 -0
  44. package/dist-es/calendar/index.js +50 -0
  45. package/dist-es/calendar/index.js.map +1 -0
  46. package/dist-es/content-status/ContentStatus.js +1 -1
  47. package/dist-es/content-status/ContentStatus.js.map +1 -1
  48. package/dist-es/date-input/index.js +20 -0
  49. package/dist-es/date-input/index.js.map +1 -0
  50. package/dist-es/date-picker/index.js +85 -0
  51. package/dist-es/date-picker/index.js.map +1 -0
  52. package/dist-es/index.js +12 -23
  53. package/dist-es/index.js.map +1 -1
  54. package/dist-es/localization-provider/index.js +20 -0
  55. package/dist-es/localization-provider/index.js.map +1 -0
  56. package/dist-es/rating/Rating.css.js +1 -1
  57. package/dist-es/rating/Rating.js +13 -18
  58. package/dist-es/rating/Rating.js.map +1 -1
  59. package/dist-es/side-panel/SidePanel.css.js +4 -0
  60. package/dist-es/side-panel/SidePanel.css.js.map +1 -0
  61. package/dist-es/side-panel/SidePanel.js +154 -0
  62. package/dist-es/side-panel/SidePanel.js.map +1 -0
  63. package/dist-es/side-panel/SidePanelContent.css.js +4 -0
  64. package/dist-es/side-panel/SidePanelContent.css.js.map +1 -0
  65. package/dist-es/side-panel/SidePanelContent.js +84 -0
  66. package/dist-es/side-panel/SidePanelContent.js.map +1 -0
  67. package/dist-es/side-panel/SidePanelHeader.css.js +4 -0
  68. package/dist-es/side-panel/SidePanelHeader.css.js.map +1 -0
  69. package/dist-es/side-panel/SidePanelHeader.js +24 -0
  70. package/dist-es/side-panel/SidePanelHeader.js.map +1 -0
  71. package/dist-es/side-panel/SidePanelProvider.js +69 -0
  72. package/dist-es/side-panel/SidePanelProvider.js.map +1 -0
  73. package/dist-es/side-panel/SidePanelTitle.css.js +4 -0
  74. package/dist-es/side-panel/SidePanelTitle.css.js.map +1 -0
  75. package/dist-es/side-panel/SidePanelTitle.js +45 -0
  76. package/dist-es/side-panel/SidePanelTitle.js.map +1 -0
  77. package/dist-es/side-panel/SidePanelTrigger.js +35 -0
  78. package/dist-es/side-panel/SidePanelTrigger.js.map +1 -0
  79. package/dist-es/side-panel/internal/SidePanelContext.js +28 -0
  80. package/dist-es/side-panel/internal/SidePanelContext.js.map +1 -0
  81. package/dist-es/side-panel/useSidePanel.js +39 -0
  82. package/dist-es/side-panel/useSidePanel.js.map +1 -0
  83. package/dist-es/utils/deprecatedExport.js +27 -0
  84. package/dist-es/utils/deprecatedExport.js.map +1 -0
  85. package/dist-types/calendar/index.d.ts +13 -8
  86. package/dist-types/date-input/index.d.ts +3 -2
  87. package/dist-types/index.d.ts +1 -0
  88. package/dist-types/localization-provider/index.d.ts +9 -1
  89. package/dist-types/rating/Rating.d.ts +1 -2
  90. package/dist-types/side-panel/SidePanel.d.ts +27 -0
  91. package/dist-types/side-panel/SidePanelContent.d.ts +4 -0
  92. package/dist-types/side-panel/SidePanelHeader.d.ts +4 -0
  93. package/dist-types/side-panel/SidePanelProvider.d.ts +20 -0
  94. package/dist-types/side-panel/SidePanelTitle.d.ts +4 -0
  95. package/dist-types/side-panel/SidePanelTrigger.d.ts +5 -0
  96. package/dist-types/side-panel/index.d.ts +7 -0
  97. package/dist-types/side-panel/internal/SidePanelContext.d.ts +48 -0
  98. package/dist-types/side-panel/internal/index.d.ts +1 -0
  99. package/dist-types/side-panel/useSidePanel.d.ts +32 -0
  100. package/dist-types/utils/deprecatedExport.d.ts +11 -0
  101. package/package.json +5 -12
  102. package/dist-cjs/calendar/Calendar.css.js +0 -6
  103. package/dist-cjs/calendar/Calendar.css.js.map +0 -1
  104. package/dist-cjs/calendar/Calendar.js +0 -152
  105. package/dist-cjs/calendar/Calendar.js.map +0 -1
  106. package/dist-cjs/calendar/CalendarGrid.js +0 -85
  107. package/dist-cjs/calendar/CalendarGrid.js.map +0 -1
  108. package/dist-cjs/calendar/CalendarMonthHeader.css.js +0 -6
  109. package/dist-cjs/calendar/CalendarMonthHeader.css.js.map +0 -1
  110. package/dist-cjs/calendar/CalendarMonthHeader.js +0 -48
  111. package/dist-cjs/calendar/CalendarMonthHeader.js.map +0 -1
  112. package/dist-cjs/calendar/CalendarNavigation.css.js +0 -6
  113. package/dist-cjs/calendar/CalendarNavigation.css.js.map +0 -1
  114. package/dist-cjs/calendar/CalendarNavigation.js +0 -337
  115. package/dist-cjs/calendar/CalendarNavigation.js.map +0 -1
  116. package/dist-cjs/calendar/CalendarWeekHeader.css.js +0 -6
  117. package/dist-cjs/calendar/CalendarWeekHeader.css.js.map +0 -1
  118. package/dist-cjs/calendar/CalendarWeekHeader.js +0 -46
  119. package/dist-cjs/calendar/CalendarWeekHeader.js.map +0 -1
  120. package/dist-cjs/calendar/internal/CalendarContext.js +0 -25
  121. package/dist-cjs/calendar/internal/CalendarContext.js.map +0 -1
  122. package/dist-cjs/calendar/internal/CalendarDay.css.js +0 -6
  123. package/dist-cjs/calendar/internal/CalendarDay.css.js.map +0 -1
  124. package/dist-cjs/calendar/internal/CalendarDay.js +0 -97
  125. package/dist-cjs/calendar/internal/CalendarDay.js.map +0 -1
  126. package/dist-cjs/calendar/internal/CalendarMonth.css.js +0 -6
  127. package/dist-cjs/calendar/internal/CalendarMonth.css.js.map +0 -1
  128. package/dist-cjs/calendar/internal/CalendarMonth.js +0 -76
  129. package/dist-cjs/calendar/internal/CalendarMonth.js.map +0 -1
  130. package/dist-cjs/calendar/internal/useFocusManagement.js +0 -68
  131. package/dist-cjs/calendar/internal/useFocusManagement.js.map +0 -1
  132. package/dist-cjs/calendar/internal/utils.js +0 -50
  133. package/dist-cjs/calendar/internal/utils.js.map +0 -1
  134. package/dist-cjs/calendar/useCalendar.js +0 -183
  135. package/dist-cjs/calendar/useCalendar.js.map +0 -1
  136. package/dist-cjs/calendar/useCalendarDay.js +0 -85
  137. package/dist-cjs/calendar/useCalendarDay.js.map +0 -1
  138. package/dist-cjs/calendar/useCalendarSelection.js +0 -604
  139. package/dist-cjs/calendar/useCalendarSelection.js.map +0 -1
  140. package/dist-cjs/date-input/DateInput.css.js +0 -6
  141. package/dist-cjs/date-input/DateInput.css.js.map +0 -1
  142. package/dist-cjs/date-input/DateInputRange.js +0 -352
  143. package/dist-cjs/date-input/DateInputRange.js.map +0 -1
  144. package/dist-cjs/date-input/DateInputSingle.js +0 -234
  145. package/dist-cjs/date-input/DateInputSingle.js.map +0 -1
  146. package/dist-cjs/date-picker/DatePicker.js +0 -75
  147. package/dist-cjs/date-picker/DatePicker.js.map +0 -1
  148. package/dist-cjs/date-picker/DatePickerActions.css.js +0 -6
  149. package/dist-cjs/date-picker/DatePickerActions.css.js.map +0 -1
  150. package/dist-cjs/date-picker/DatePickerActions.js +0 -91
  151. package/dist-cjs/date-picker/DatePickerActions.js.map +0 -1
  152. package/dist-cjs/date-picker/DatePickerContext.js +0 -36
  153. package/dist-cjs/date-picker/DatePickerContext.js.map +0 -1
  154. package/dist-cjs/date-picker/DatePickerHelperText.css.js +0 -6
  155. package/dist-cjs/date-picker/DatePickerHelperText.css.js.map +0 -1
  156. package/dist-cjs/date-picker/DatePickerHelperText.js +0 -36
  157. package/dist-cjs/date-picker/DatePickerHelperText.js.map +0 -1
  158. package/dist-cjs/date-picker/DatePickerOverlay.css.js +0 -6
  159. package/dist-cjs/date-picker/DatePickerOverlay.css.js.map +0 -1
  160. package/dist-cjs/date-picker/DatePickerOverlay.js +0 -48
  161. package/dist-cjs/date-picker/DatePickerOverlay.js.map +0 -1
  162. package/dist-cjs/date-picker/DatePickerOverlayProvider.js +0 -166
  163. package/dist-cjs/date-picker/DatePickerOverlayProvider.js.map +0 -1
  164. package/dist-cjs/date-picker/DatePickerPanel.css.js +0 -6
  165. package/dist-cjs/date-picker/DatePickerPanel.css.js.map +0 -1
  166. package/dist-cjs/date-picker/DatePickerRangeGridPanel.js +0 -246
  167. package/dist-cjs/date-picker/DatePickerRangeGridPanel.js.map +0 -1
  168. package/dist-cjs/date-picker/DatePickerRangeInput.js +0 -202
  169. package/dist-cjs/date-picker/DatePickerRangeInput.js.map +0 -1
  170. package/dist-cjs/date-picker/DatePickerRangePanel.js +0 -355
  171. package/dist-cjs/date-picker/DatePickerRangePanel.js.map +0 -1
  172. package/dist-cjs/date-picker/DatePickerSingleGridPanel.js +0 -253
  173. package/dist-cjs/date-picker/DatePickerSingleGridPanel.js.map +0 -1
  174. package/dist-cjs/date-picker/DatePickerSingleInput.js +0 -148
  175. package/dist-cjs/date-picker/DatePickerSingleInput.js.map +0 -1
  176. package/dist-cjs/date-picker/DatePickerSinglePanel.js +0 -20
  177. package/dist-cjs/date-picker/DatePickerSinglePanel.js.map +0 -1
  178. package/dist-cjs/date-picker/DatePickerTrigger.js +0 -32
  179. package/dist-cjs/date-picker/DatePickerTrigger.js.map +0 -1
  180. package/dist-cjs/date-picker/useDatePicker.js +0 -201
  181. package/dist-cjs/date-picker/useDatePicker.js.map +0 -1
  182. package/dist-cjs/date-picker/useFocusOut.js +0 -43
  183. package/dist-cjs/date-picker/useFocusOut.js.map +0 -1
  184. package/dist-cjs/date-picker/useKeyboard.js +0 -22
  185. package/dist-cjs/date-picker/useKeyboard.js.map +0 -1
  186. package/dist-cjs/localization-provider/LocalizationProvider.js +0 -51
  187. package/dist-cjs/localization-provider/LocalizationProvider.js.map +0 -1
  188. package/dist-es/calendar/Calendar.css.js +0 -4
  189. package/dist-es/calendar/Calendar.css.js.map +0 -1
  190. package/dist-es/calendar/Calendar.js +0 -150
  191. package/dist-es/calendar/Calendar.js.map +0 -1
  192. package/dist-es/calendar/CalendarGrid.js +0 -83
  193. package/dist-es/calendar/CalendarGrid.js.map +0 -1
  194. package/dist-es/calendar/CalendarMonthHeader.css.js +0 -4
  195. package/dist-es/calendar/CalendarMonthHeader.css.js.map +0 -1
  196. package/dist-es/calendar/CalendarMonthHeader.js +0 -46
  197. package/dist-es/calendar/CalendarMonthHeader.js.map +0 -1
  198. package/dist-es/calendar/CalendarNavigation.css.js +0 -4
  199. package/dist-es/calendar/CalendarNavigation.css.js.map +0 -1
  200. package/dist-es/calendar/CalendarNavigation.js +0 -335
  201. package/dist-es/calendar/CalendarNavigation.js.map +0 -1
  202. package/dist-es/calendar/CalendarWeekHeader.css.js +0 -4
  203. package/dist-es/calendar/CalendarWeekHeader.css.js.map +0 -1
  204. package/dist-es/calendar/CalendarWeekHeader.js +0 -44
  205. package/dist-es/calendar/CalendarWeekHeader.js.map +0 -1
  206. package/dist-es/calendar/internal/CalendarContext.js +0 -22
  207. package/dist-es/calendar/internal/CalendarContext.js.map +0 -1
  208. package/dist-es/calendar/internal/CalendarDay.css.js +0 -4
  209. package/dist-es/calendar/internal/CalendarDay.css.js.map +0 -1
  210. package/dist-es/calendar/internal/CalendarDay.js +0 -95
  211. package/dist-es/calendar/internal/CalendarDay.js.map +0 -1
  212. package/dist-es/calendar/internal/CalendarMonth.css.js +0 -4
  213. package/dist-es/calendar/internal/CalendarMonth.css.js.map +0 -1
  214. package/dist-es/calendar/internal/CalendarMonth.js +0 -74
  215. package/dist-es/calendar/internal/CalendarMonth.js.map +0 -1
  216. package/dist-es/calendar/internal/useFocusManagement.js +0 -66
  217. package/dist-es/calendar/internal/useFocusManagement.js.map +0 -1
  218. package/dist-es/calendar/internal/utils.js +0 -44
  219. package/dist-es/calendar/internal/utils.js.map +0 -1
  220. package/dist-es/calendar/useCalendar.js +0 -181
  221. package/dist-es/calendar/useCalendar.js.map +0 -1
  222. package/dist-es/calendar/useCalendarDay.js +0 -83
  223. package/dist-es/calendar/useCalendarDay.js.map +0 -1
  224. package/dist-es/calendar/useCalendarSelection.js +0 -600
  225. package/dist-es/calendar/useCalendarSelection.js.map +0 -1
  226. package/dist-es/date-input/DateInput.css.js +0 -4
  227. package/dist-es/date-input/DateInput.css.js.map +0 -1
  228. package/dist-es/date-input/DateInputRange.js +0 -349
  229. package/dist-es/date-input/DateInputRange.js.map +0 -1
  230. package/dist-es/date-input/DateInputSingle.js +0 -232
  231. package/dist-es/date-input/DateInputSingle.js.map +0 -1
  232. package/dist-es/date-picker/DatePicker.js +0 -72
  233. package/dist-es/date-picker/DatePicker.js.map +0 -1
  234. package/dist-es/date-picker/DatePickerActions.css.js +0 -4
  235. package/dist-es/date-picker/DatePickerActions.css.js.map +0 -1
  236. package/dist-es/date-picker/DatePickerActions.js +0 -89
  237. package/dist-es/date-picker/DatePickerActions.js.map +0 -1
  238. package/dist-es/date-picker/DatePickerContext.js +0 -32
  239. package/dist-es/date-picker/DatePickerContext.js.map +0 -1
  240. package/dist-es/date-picker/DatePickerHelperText.css.js +0 -4
  241. package/dist-es/date-picker/DatePickerHelperText.css.js.map +0 -1
  242. package/dist-es/date-picker/DatePickerHelperText.js +0 -34
  243. package/dist-es/date-picker/DatePickerHelperText.js.map +0 -1
  244. package/dist-es/date-picker/DatePickerOverlay.css.js +0 -4
  245. package/dist-es/date-picker/DatePickerOverlay.css.js.map +0 -1
  246. package/dist-es/date-picker/DatePickerOverlay.js +0 -46
  247. package/dist-es/date-picker/DatePickerOverlay.js.map +0 -1
  248. package/dist-es/date-picker/DatePickerOverlayProvider.js +0 -163
  249. package/dist-es/date-picker/DatePickerOverlayProvider.js.map +0 -1
  250. package/dist-es/date-picker/DatePickerPanel.css.js +0 -4
  251. package/dist-es/date-picker/DatePickerPanel.css.js.map +0 -1
  252. package/dist-es/date-picker/DatePickerRangeGridPanel.js +0 -244
  253. package/dist-es/date-picker/DatePickerRangeGridPanel.js.map +0 -1
  254. package/dist-es/date-picker/DatePickerRangeInput.js +0 -199
  255. package/dist-es/date-picker/DatePickerRangeInput.js.map +0 -1
  256. package/dist-es/date-picker/DatePickerRangePanel.js +0 -353
  257. package/dist-es/date-picker/DatePickerRangePanel.js.map +0 -1
  258. package/dist-es/date-picker/DatePickerSingleGridPanel.js +0 -251
  259. package/dist-es/date-picker/DatePickerSingleGridPanel.js.map +0 -1
  260. package/dist-es/date-picker/DatePickerSingleInput.js +0 -146
  261. package/dist-es/date-picker/DatePickerSingleInput.js.map +0 -1
  262. package/dist-es/date-picker/DatePickerSinglePanel.js +0 -18
  263. package/dist-es/date-picker/DatePickerSinglePanel.js.map +0 -1
  264. package/dist-es/date-picker/DatePickerTrigger.js +0 -30
  265. package/dist-es/date-picker/DatePickerTrigger.js.map +0 -1
  266. package/dist-es/date-picker/useDatePicker.js +0 -199
  267. package/dist-es/date-picker/useDatePicker.js.map +0 -1
  268. package/dist-es/date-picker/useFocusOut.js +0 -41
  269. package/dist-es/date-picker/useFocusOut.js.map +0 -1
  270. package/dist-es/date-picker/useKeyboard.js +0 -20
  271. package/dist-es/date-picker/useKeyboard.js.map +0 -1
  272. package/dist-es/localization-provider/LocalizationProvider.js +0 -47
  273. package/dist-es/localization-provider/LocalizationProvider.js.map +0 -1
  274. package/dist-types/calendar/Calendar.d.ts +0 -116
  275. package/dist-types/calendar/CalendarGrid.d.ts +0 -29
  276. package/dist-types/calendar/CalendarMonthHeader.d.ts +0 -18
  277. package/dist-types/calendar/CalendarNavigation.d.ts +0 -64
  278. package/dist-types/calendar/CalendarWeekHeader.d.ts +0 -6
  279. package/dist-types/calendar/internal/CalendarContext.d.ts +0 -7
  280. package/dist-types/calendar/internal/CalendarDay.d.ts +0 -32
  281. package/dist-types/calendar/internal/CalendarMonth.d.ts +0 -13
  282. package/dist-types/calendar/internal/useFocusManagement.d.ts +0 -9
  283. package/dist-types/calendar/internal/utils.d.ts +0 -6
  284. package/dist-types/calendar/useCalendar.d.ts +0 -294
  285. package/dist-types/calendar/useCalendarDay.d.ts +0 -56
  286. package/dist-types/calendar/useCalendarSelection.d.ts +0 -365
  287. package/dist-types/date-input/DateInputRange.d.ts +0 -136
  288. package/dist-types/date-input/DateInputSingle.d.ts +0 -104
  289. package/dist-types/date-picker/DatePicker.d.ts +0 -55
  290. package/dist-types/date-picker/DatePickerActions.d.ts +0 -81
  291. package/dist-types/date-picker/DatePickerContext.d.ts +0 -188
  292. package/dist-types/date-picker/DatePickerHelperText.d.ts +0 -4
  293. package/dist-types/date-picker/DatePickerOverlay.d.ts +0 -11
  294. package/dist-types/date-picker/DatePickerOverlayProvider.d.ts +0 -102
  295. package/dist-types/date-picker/DatePickerRangeGridPanel.d.ts +0 -16
  296. package/dist-types/date-picker/DatePickerRangeInput.d.ts +0 -18
  297. package/dist-types/date-picker/DatePickerRangePanel.d.ts +0 -84
  298. package/dist-types/date-picker/DatePickerSingleGridPanel.d.ts +0 -64
  299. package/dist-types/date-picker/DatePickerSingleInput.d.ts +0 -17
  300. package/dist-types/date-picker/DatePickerSinglePanel.d.ts +0 -8
  301. package/dist-types/date-picker/DatePickerTrigger.d.ts +0 -9
  302. package/dist-types/date-picker/index.d.ts +0 -13
  303. package/dist-types/date-picker/useDatePicker.d.ts +0 -119
  304. package/dist-types/date-picker/useFocusOut.d.ts +0 -9
  305. package/dist-types/date-picker/useKeyboard.d.ts +0 -20
  306. package/dist-types/localization-provider/LocalizationProvider.d.ts +0 -62
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ const warnedKeys = /* @__PURE__ */ new Set();
6
+ const warnOnce = (key, message) => {
7
+ if (process.env.NODE_ENV === "production") return;
8
+ if (warnedKeys.has(key)) return;
9
+ warnedKeys.add(key);
10
+ console.warn(message);
11
+ };
12
+ function deprecatedComponent(Component, displayName, deprecationKey, message) {
13
+ const Wrapped = react.forwardRef((props, ref) => {
14
+ warnOnce(deprecationKey, message);
15
+ return react.createElement(Component, { ...props, ref });
16
+ });
17
+ Wrapped.displayName = displayName;
18
+ return Wrapped;
19
+ }
20
+ function deprecatedFunction(hook, deprecationKey, message) {
21
+ const wrapped = (...args) => {
22
+ warnOnce(deprecationKey, message);
23
+ return hook(...args);
24
+ };
25
+ return wrapped;
26
+ }
27
+
28
+ exports.deprecatedComponent = deprecatedComponent;
29
+ exports.deprecatedFunction = deprecatedFunction;
30
+ //# sourceMappingURL=deprecatedExport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecatedExport.js","sources":["../src/utils/deprecatedExport.ts"],"sourcesContent":["import { type ComponentType, createElement, forwardRef } from \"react\";\n\nconst warnedKeys = new Set<string>();\n\nconst warnOnce = (key: string, message: string) => {\n if (process.env.NODE_ENV === \"production\") return;\n if (warnedKeys.has(key)) return;\n warnedKeys.add(key);\n // eslint-disable-next-line no-console\n console.warn(message);\n};\n\n/**\n * Wrap a component so that a deprecation warning is logged on first render\n * instead of at import time.\n */\nexport function deprecatedComponent<P extends object>(\n Component: ComponentType<P>,\n displayName: string,\n deprecationKey: string,\n message: string,\n) {\n const Wrapped = forwardRef<unknown, P>((props, ref) => {\n warnOnce(deprecationKey, message);\n return createElement(Component, { ...props, ref } as P);\n });\n Wrapped.displayName = displayName;\n return Wrapped as unknown as typeof Component;\n}\n\n/**\n * Wrap a hook or plain function so that a deprecation warning is logged on\n * first call instead of at import time.\n */\nexport function deprecatedFunction<T extends (...args: any[]) => any>(\n hook: T,\n deprecationKey: string,\n message: string,\n): T {\n const wrapped = (...args: any[]) => {\n warnOnce(deprecationKey, message);\n return hook(...args);\n };\n return wrapped as T;\n}\n"],"names":["forwardRef","createElement"],"mappings":";;;;AAEA,MAAM,UAAA,uBAAiB,GAAA,EAAY;AAEnC,MAAM,QAAA,GAAW,CAAC,GAAA,EAAa,OAAA,KAAoB;AACjD,EAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA,EAAc;AAC3C,EAAA,IAAI,UAAA,CAAW,GAAA,CAAI,GAAG,CAAA,EAAG;AACzB,EAAA,UAAA,CAAW,IAAI,GAAG,CAAA;AAElB,EAAA,OAAA,CAAQ,KAAK,OAAO,CAAA;AACtB,CAAA;AAMO,SAAS,mBAAA,CACd,SAAA,EACA,WAAA,EACA,cAAA,EACA,OAAA,EACA;AACA,EAAA,MAAM,OAAA,GAAUA,gBAAA,CAAuB,CAAC,KAAA,EAAO,GAAA,KAAQ;AACrD,IAAA,QAAA,CAAS,gBAAgB,OAAO,CAAA;AAChC,IAAA,OAAOC,oBAAc,SAAA,EAAW,EAAE,GAAG,KAAA,EAAO,KAAU,CAAA;AAAA,EACxD,CAAC,CAAA;AACD,EAAA,OAAA,CAAQ,WAAA,GAAc,WAAA;AACtB,EAAA,OAAO,OAAA;AACT;AAMO,SAAS,kBAAA,CACd,IAAA,EACA,cAAA,EACA,OAAA,EACG;AACH,EAAA,MAAM,OAAA,GAAU,IAAI,IAAA,KAAgB;AAClC,IAAA,QAAA,CAAS,gBAAgB,OAAO,CAAA;AAChC,IAAA,OAAO,IAAA,CAAK,GAAG,IAAI,CAAA;AAAA,EACrB,CAAA;AACA,EAAA,OAAO,OAAA;AACT;;;;;"}
@@ -0,0 +1,50 @@
1
+ import { Calendar as Calendar$1, CalendarGrid as CalendarGrid$1, CalendarNavigation as CalendarNavigation$1, CalendarWeekHeader as CalendarWeekHeader$1, isDateRangeSelection as isDateRangeSelection$1, useCalendar as useCalendar$1, useCalendarDay as useCalendarDay$1, useCalendarSelection as useCalendarSelection$1, useCalendarSelectionDay as useCalendarSelectionDay$1, useDateSelectionAnnouncer as useDateSelectionAnnouncer$1 } from '@salt-ds/date-components';
2
+ import { deprecatedComponent, deprecatedFunction } from '../utils/deprecatedExport.js';
3
+
4
+ const KEY = "@salt-ds/lab/calendar";
5
+ const MSG = "@salt-ds/lab 'calendar' exports are deprecated and will be removed in a future release. Import from @salt-ds/date-components instead.";
6
+ const _warnOnce = deprecatedFunction(() => {
7
+ }, KEY, MSG);
8
+ const Calendar = deprecatedComponent(Calendar$1, "Calendar", KEY, MSG);
9
+ const CalendarGrid = deprecatedComponent(
10
+ CalendarGrid$1,
11
+ "CalendarGrid",
12
+ KEY,
13
+ MSG
14
+ );
15
+ const CalendarNavigation = deprecatedComponent(
16
+ CalendarNavigation$1,
17
+ "CalendarNavigation",
18
+ KEY,
19
+ MSG
20
+ );
21
+ const CalendarWeekHeader = deprecatedComponent(
22
+ CalendarWeekHeader$1,
23
+ "CalendarWeekHeader",
24
+ KEY,
25
+ MSG
26
+ );
27
+ const useCalendar = deprecatedFunction(useCalendar$1, KEY, MSG);
28
+ const useCalendarDay = deprecatedFunction(useCalendarDay$1, KEY, MSG);
29
+ const useCalendarSelection = deprecatedFunction(
30
+ useCalendarSelection$1,
31
+ KEY,
32
+ MSG
33
+ );
34
+ const useCalendarSelectionDay = deprecatedFunction(
35
+ useCalendarSelectionDay$1,
36
+ KEY,
37
+ MSG
38
+ );
39
+ const useDateSelectionAnnouncer = deprecatedFunction(
40
+ useDateSelectionAnnouncer$1,
41
+ KEY,
42
+ MSG
43
+ );
44
+ function isDateRangeSelection(value) {
45
+ _warnOnce();
46
+ return isDateRangeSelection$1(value);
47
+ }
48
+
49
+ export { Calendar, CalendarGrid, CalendarNavigation, CalendarWeekHeader, isDateRangeSelection, useCalendar, useCalendarDay, useCalendarSelection, useCalendarSelectionDay, useDateSelectionAnnouncer };
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/calendar/index.ts"],"sourcesContent":["import type { DateFrameworkType } from \"@salt-ds/date-adapters\";\nimport {\n Calendar as _Calendar,\n CalendarGrid as _CalendarGrid,\n CalendarNavigation as _CalendarNavigation,\n CalendarWeekHeader as _CalendarWeekHeader,\n isDateRangeSelection as _isDateRangeSelection,\n useCalendar as _useCalendar,\n useCalendarDay as _useCalendarDay,\n useCalendarSelection as _useCalendarSelection,\n useCalendarSelectionDay as _useCalendarSelectionDay,\n useDateSelectionAnnouncer as _useDateSelectionAnnouncer,\n type DateRangeSelection,\n} from \"@salt-ds/date-components\";\nimport {\n deprecatedComponent,\n deprecatedFunction,\n} from \"../utils/deprecatedExport\";\n\nconst KEY = \"@salt-ds/lab/calendar\";\nconst MSG =\n \"@salt-ds/lab 'calendar' exports are deprecated and will be removed in a future release. Import from @salt-ds/date-components instead.\";\n\nconst _warnOnce = deprecatedFunction(() => {}, KEY, MSG);\n\n// Components\nexport const Calendar = deprecatedComponent(_Calendar, \"Calendar\", KEY, MSG);\nexport const CalendarGrid = deprecatedComponent(\n _CalendarGrid,\n \"CalendarGrid\",\n KEY,\n MSG,\n);\nexport const CalendarNavigation = deprecatedComponent(\n _CalendarNavigation,\n \"CalendarNavigation\",\n KEY,\n MSG,\n);\nexport const CalendarWeekHeader = deprecatedComponent(\n _CalendarWeekHeader,\n \"CalendarWeekHeader\",\n KEY,\n MSG,\n);\n\n// Hooks\nexport const useCalendar = deprecatedFunction(_useCalendar, KEY, MSG);\nexport const useCalendarDay = deprecatedFunction(_useCalendarDay, KEY, MSG);\nexport const useCalendarSelection = deprecatedFunction(\n _useCalendarSelection,\n KEY,\n MSG,\n);\nexport const useCalendarSelectionDay = deprecatedFunction(\n _useCalendarSelectionDay,\n KEY,\n MSG,\n);\nexport const useDateSelectionAnnouncer = deprecatedFunction(\n _useDateSelectionAnnouncer,\n KEY,\n MSG,\n);\n\n// Generic function — explicit wrapper to preserve type parameters\nexport function isDateRangeSelection<\n TDate extends DateFrameworkType = DateFrameworkType,\n>(value: unknown): value is DateRangeSelection<TDate> {\n _warnOnce();\n return _isDateRangeSelection<TDate>(value);\n}\n\n// Types\nexport type {\n CalendarBaseProps,\n CalendarDayProps,\n CalendarGridProps,\n CalendarMultiselectOffsetProps,\n CalendarMultiselectRangeProps,\n CalendarMultiselectSingleProps,\n CalendarNavigationProps,\n CalendarOffsetProps,\n CalendarProps,\n CalendarRangeProps,\n CalendarSingleProps,\n CalendarWeekHeaderProps,\n CreateAnnouncement,\n DateRangeSelection,\n DayStatus,\n renderCalendarDayProps,\n SelectionVariant,\n SingleDateSelection,\n UseCalendarMultiselectOffsetProps,\n UseCalendarMultiselectRangeProps,\n UseCalendarMultiselectSingleProps,\n UseCalendarOffsetProps,\n UseCalendarProps,\n UseCalendarRangeProps,\n UseCalendarReturn,\n UseCalendarSelectionBaseProps,\n UseCalendarSelectionMultiselectOffsetProps,\n UseCalendarSelectionMultiselectRangeProps,\n UseCalendarSelectionMultiselectSingleProps,\n UseCalendarSelectionOffsetProps,\n UseCalendarSelectionProps,\n UseCalendarSelectionRangeProps,\n UseCalendarSelectionSingleProps,\n UseCalendarSingleProps,\n useCalendarDayProps,\n} from \"@salt-ds/date-components\";\n"],"names":["_Calendar","_CalendarGrid","_CalendarNavigation","_CalendarWeekHeader","_useCalendar","_useCalendarDay","_useCalendarSelection","_useCalendarSelectionDay","_useDateSelectionAnnouncer","_isDateRangeSelection"],"mappings":";;;AAmBA,MAAM,GAAA,GAAM,uBAAA;AACZ,MAAM,GAAA,GACJ,uIAAA;AAEF,MAAM,SAAA,GAAY,mBAAmB,MAAM;AAAC,CAAA,EAAG,KAAK,GAAG,CAAA;AAGhD,MAAM,QAAA,GAAW,mBAAA,CAAoBA,UAAA,EAAW,UAAA,EAAY,KAAK,GAAG;AACpE,MAAM,YAAA,GAAe,mBAAA;AAAA,EAC1BC,cAAA;AAAA,EACA,cAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,kBAAA,GAAqB,mBAAA;AAAA,EAChCC,oBAAA;AAAA,EACA,oBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,kBAAA,GAAqB,mBAAA;AAAA,EAChCC,oBAAA;AAAA,EACA,oBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AAGO,MAAM,WAAA,GAAc,kBAAA,CAAmBC,aAAA,EAAc,GAAA,EAAK,GAAG;AAC7D,MAAM,cAAA,GAAiB,kBAAA,CAAmBC,gBAAA,EAAiB,GAAA,EAAK,GAAG;AACnE,MAAM,oBAAA,GAAuB,kBAAA;AAAA,EAClCC,sBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,uBAAA,GAA0B,kBAAA;AAAA,EACrCC,yBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,yBAAA,GAA4B,kBAAA;AAAA,EACvCC,2BAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AAGO,SAAS,qBAEd,KAAA,EAAoD;AACpD,EAAA,SAAA,EAAU;AACV,EAAA,OAAOC,uBAA6B,KAAK,CAAA;AAC3C;;;;"}
@@ -48,7 +48,7 @@ const ContentStatus = forwardRef(
48
48
  toBeAnnounced.push(status);
49
49
  }
50
50
  if (toBeAnnounced.length > 0) {
51
- announce(toBeAnnounced.join(" "));
51
+ announce(toBeAnnounced.join(" "), { ariaLive: "polite" });
52
52
  }
53
53
  }, [announce, disableAnnouncer, message, status, title]);
54
54
  return /* @__PURE__ */ jsxs("div", { className: clsx(withBaseName(), className), ref, ...rest, children: [
@@ -1 +1 @@
1
- {"version":3,"file":"ContentStatus.js","sources":["../src/content-status/ContentStatus.tsx"],"sourcesContent":["import {\n Button,\n makePrefixer,\n Text,\n useAriaAnnouncer,\n useId,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n forwardRef,\n type HTMLAttributes,\n type MouseEvent,\n type Ref,\n useEffect,\n} from \"react\";\nimport contentStatusCss from \"./ContentStatus.css\";\nimport {\n StatusIndicator,\n type StatusIndicatorProps,\n} from \"./internal/StatusIndicator\";\n\nconst withBaseName = makePrefixer(\"saltContentStatus\");\n\nexport interface ContentStatusProps\n extends HTMLAttributes<HTMLDivElement>,\n StatusIndicatorProps {\n actionLabel?: string;\n buttonRef?: Ref<HTMLButtonElement>;\n onActionClick?: (evt: MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const ContentStatus = forwardRef<HTMLDivElement, ContentStatusProps>(\n function ContentStatus(\n {\n CircularProgressProps,\n SpinnerProps,\n actionLabel,\n buttonRef,\n className,\n children,\n disableAnnouncer,\n message,\n onActionClick,\n status = \"info\",\n title,\n value,\n ...rest\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-content-status\",\n css: contentStatusCss,\n window: targetWindow,\n });\n\n const id = useId();\n\n const hasDefaultActionContent = actionLabel && onActionClick;\n const hasActions = children || hasDefaultActionContent;\n const hasContent = title || message || hasActions;\n\n const { announce } = useAriaAnnouncer();\n\n useEffect(() => {\n if (disableAnnouncer) return;\n\n const toBeAnnounced = [];\n if (title) {\n toBeAnnounced.push(title);\n }\n if (message) {\n toBeAnnounced.push(message);\n }\n // Loading is announced by the spinner\n if (status !== \"loading\") {\n toBeAnnounced.push(status);\n }\n if (toBeAnnounced.length > 0) {\n announce(toBeAnnounced.join(\" \"));\n }\n }, [announce, disableAnnouncer, message, status, title]);\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n <StatusIndicator\n CircularProgressProps={CircularProgressProps}\n SpinnerProps={SpinnerProps}\n disableAnnouncer={disableAnnouncer}\n id={id}\n message={message}\n status={status}\n title={title}\n value={value}\n {...rest}\n />\n {hasContent && (\n <div\n // `aria-labelledby` to itself so that children of this div will show up in screen reader, and we don't need to join to aria-label\n aria-labelledby={id}\n className={clsx(withBaseName(\"content\"))}\n id={id}\n role=\"region\"\n >\n {title && (\n <Text className={clsx(withBaseName(\"title\"))}>{title}</Text>\n )}\n {message && (\n <Text className={clsx(withBaseName(\"message\"))}>{message}</Text>\n )}\n {hasActions && (\n <div className={clsx(withBaseName(\"actions\"))}>\n {children || (\n <Button onClick={onActionClick} ref={buttonRef}>\n {actionLabel}\n </Button>\n )}\n </div>\n )}\n </div>\n )}\n </div>\n );\n },\n);\n"],"names":["ContentStatus","contentStatusCss"],"mappings":"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"}
1
+ {"version":3,"file":"ContentStatus.js","sources":["../src/content-status/ContentStatus.tsx"],"sourcesContent":["import {\n Button,\n makePrefixer,\n Text,\n useAriaAnnouncer,\n useId,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n forwardRef,\n type HTMLAttributes,\n type MouseEvent,\n type Ref,\n useEffect,\n} from \"react\";\nimport contentStatusCss from \"./ContentStatus.css\";\nimport {\n StatusIndicator,\n type StatusIndicatorProps,\n} from \"./internal/StatusIndicator\";\n\nconst withBaseName = makePrefixer(\"saltContentStatus\");\n\nexport interface ContentStatusProps\n extends HTMLAttributes<HTMLDivElement>,\n StatusIndicatorProps {\n actionLabel?: string;\n buttonRef?: Ref<HTMLButtonElement>;\n onActionClick?: (evt: MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const ContentStatus = forwardRef<HTMLDivElement, ContentStatusProps>(\n function ContentStatus(\n {\n CircularProgressProps,\n SpinnerProps,\n actionLabel,\n buttonRef,\n className,\n children,\n disableAnnouncer,\n message,\n onActionClick,\n status = \"info\",\n title,\n value,\n ...rest\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-content-status\",\n css: contentStatusCss,\n window: targetWindow,\n });\n\n const id = useId();\n\n const hasDefaultActionContent = actionLabel && onActionClick;\n const hasActions = children || hasDefaultActionContent;\n const hasContent = title || message || hasActions;\n\n const { announce } = useAriaAnnouncer();\n\n useEffect(() => {\n if (disableAnnouncer) return;\n\n const toBeAnnounced = [];\n if (title) {\n toBeAnnounced.push(title);\n }\n if (message) {\n toBeAnnounced.push(message);\n }\n // Loading is announced by the spinner\n if (status !== \"loading\") {\n toBeAnnounced.push(status);\n }\n if (toBeAnnounced.length > 0) {\n announce(toBeAnnounced.join(\" \"), { ariaLive: \"polite\" });\n }\n }, [announce, disableAnnouncer, message, status, title]);\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n <StatusIndicator\n CircularProgressProps={CircularProgressProps}\n SpinnerProps={SpinnerProps}\n disableAnnouncer={disableAnnouncer}\n id={id}\n message={message}\n status={status}\n title={title}\n value={value}\n {...rest}\n />\n {hasContent && (\n <div\n // `aria-labelledby` to itself so that children of this div will show up in screen reader, and we don't need to join to aria-label\n aria-labelledby={id}\n className={clsx(withBaseName(\"content\"))}\n id={id}\n role=\"region\"\n >\n {title && (\n <Text className={clsx(withBaseName(\"title\"))}>{title}</Text>\n )}\n {message && (\n <Text className={clsx(withBaseName(\"message\"))}>{message}</Text>\n )}\n {hasActions && (\n <div className={clsx(withBaseName(\"actions\"))}>\n {children || (\n <Button onClick={onActionClick} ref={buttonRef}>\n {actionLabel}\n </Button>\n )}\n </div>\n )}\n </div>\n )}\n </div>\n );\n },\n);\n"],"names":["ContentStatus","contentStatusCss"],"mappings":";;;;;;;;;AAuBA,MAAM,YAAA,GAAe,aAAa,mBAAmB,CAAA;AAU9C,MAAM,aAAA,GAAgB,UAAA;AAAA,EAC3B,SAASA,cAAAA,CACP;AAAA,IACE,qBAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA,GAAS,MAAA;AAAA,IACT,KAAA;AAAA,IACA,KAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,EACA;AACA,IAAA,MAAM,eAAe,SAAA,EAAU;AAC/B,IAAA,wBAAA,CAAyB;AAAA,MACvB,MAAA,EAAQ,qBAAA;AAAA,MACR,GAAA,EAAKC,QAAA;AAAA,MACL,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,MAAM,KAAK,KAAA,EAAM;AAEjB,IAAA,MAAM,0BAA0B,WAAA,IAAe,aAAA;AAC/C,IAAA,MAAM,aAAa,QAAA,IAAY,uBAAA;AAC/B,IAAA,MAAM,UAAA,GAAa,SAAS,OAAA,IAAW,UAAA;AAEvC,IAAA,MAAM,EAAE,QAAA,EAAS,GAAI,gBAAA,EAAiB;AAEtC,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,gBAAA,EAAkB;AAEtB,MAAA,MAAM,gBAAgB,EAAC;AACvB,MAAA,IAAI,KAAA,EAAO;AACT,QAAA,aAAA,CAAc,KAAK,KAAK,CAAA;AAAA,MAC1B;AACA,MAAA,IAAI,OAAA,EAAS;AACX,QAAA,aAAA,CAAc,KAAK,OAAO,CAAA;AAAA,MAC5B;AAEA,MAAA,IAAI,WAAW,SAAA,EAAW;AACxB,QAAA,aAAA,CAAc,KAAK,MAAM,CAAA;AAAA,MAC3B;AACA,MAAA,IAAI,aAAA,CAAc,SAAS,CAAA,EAAG;AAC5B,QAAA,QAAA,CAAS,cAAc,IAAA,CAAK,GAAG,GAAG,EAAE,QAAA,EAAU,UAAU,CAAA;AAAA,MAC1D;AAAA,IACF,GAAG,CAAC,QAAA,EAAU,kBAAkB,OAAA,EAAS,MAAA,EAAQ,KAAK,CAAC,CAAA;AAEvD,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,IAAA,CAAK,YAAA,IAAgB,SAAS,CAAA,EAAG,GAAA,EAAW,GAAG,IAAA,EAC7D,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,eAAA;AAAA,QAAA;AAAA,UACC,qBAAA;AAAA,UACA,YAAA;AAAA,UACA,gBAAA;AAAA,UACA,EAAA;AAAA,UACA,OAAA;AAAA,UACA,MAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA;AAAA,UACC,GAAG;AAAA;AAAA,OACN;AAAA,MACC,UAAA,oBACC,IAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UAEC,iBAAA,EAAiB,EAAA;AAAA,UACjB,SAAA,EAAW,IAAA,CAAK,YAAA,CAAa,SAAS,CAAC,CAAA;AAAA,UACvC,EAAA;AAAA,UACA,IAAA,EAAK,QAAA;AAAA,UAEJ,QAAA,EAAA;AAAA,YAAA,KAAA,oBACC,GAAA,CAAC,QAAK,SAAA,EAAW,IAAA,CAAK,aAAa,OAAO,CAAC,GAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,YAEtD,OAAA,wBACE,IAAA,EAAA,EAAK,SAAA,EAAW,KAAK,YAAA,CAAa,SAAS,CAAC,CAAA,EAAI,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,YAE1D,8BACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,IAAA,CAAK,aAAa,SAAS,CAAC,CAAA,EACzC,QAAA,EAAA,QAAA,wBACE,MAAA,EAAA,EAAO,OAAA,EAAS,eAAe,GAAA,EAAK,SAAA,EAClC,uBACH,CAAA,EAEJ;AAAA;AAAA;AAAA;AAEJ,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF;;;;"}
@@ -0,0 +1,20 @@
1
+ import { DateInputRange as DateInputRange$1, DateInputSingle as DateInputSingle$1 } from '@salt-ds/date-components';
2
+ import { deprecatedComponent } from '../utils/deprecatedExport.js';
3
+
4
+ const KEY = "@salt-ds/lab/date-input";
5
+ const MSG = "@salt-ds/lab 'date-input' exports are deprecated and will be removed in a future release. Import from @salt-ds/date-components instead.";
6
+ const DateInputRange = deprecatedComponent(
7
+ DateInputRange$1,
8
+ "DateInputRange",
9
+ KEY,
10
+ MSG
11
+ );
12
+ const DateInputSingle = deprecatedComponent(
13
+ DateInputSingle$1,
14
+ "DateInputSingle",
15
+ KEY,
16
+ MSG
17
+ );
18
+
19
+ export { DateInputRange, DateInputSingle };
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/date-input/index.ts"],"sourcesContent":["import {\n DateInputRange as _DateInputRange,\n DateInputSingle as _DateInputSingle,\n} from \"@salt-ds/date-components\";\nimport { deprecatedComponent } from \"../utils/deprecatedExport\";\n\nconst KEY = \"@salt-ds/lab/date-input\";\nconst MSG =\n \"@salt-ds/lab 'date-input' exports are deprecated and will be removed in a future release. Import from @salt-ds/date-components instead.\";\n\nexport const DateInputRange = deprecatedComponent(\n _DateInputRange,\n \"DateInputRange\",\n KEY,\n MSG,\n);\nexport const DateInputSingle = deprecatedComponent(\n _DateInputSingle,\n \"DateInputSingle\",\n KEY,\n MSG,\n);\n\nexport type {\n DateInputRangeDetails,\n DateInputRangeProps,\n DateInputRangeValue,\n DateInputSingleDetails,\n DateInputSingleProps,\n DateParserField,\n} from \"@salt-ds/date-components\";\n"],"names":["_DateInputRange","_DateInputSingle"],"mappings":";;;AAMA,MAAM,GAAA,GAAM,yBAAA;AACZ,MAAM,GAAA,GACJ,yIAAA;AAEK,MAAM,cAAA,GAAiB,mBAAA;AAAA,EAC5BA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,eAAA,GAAkB,mBAAA;AAAA,EAC7BC,iBAAA;AAAA,EACA,iBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;;;;"}
@@ -0,0 +1,85 @@
1
+ import { DatePicker as DatePicker$1, DatePickerActions as DatePickerActions$1, DatePickerHelperText as DatePickerHelperText$1, DatePickerOverlay as DatePickerOverlay$1, DatePickerOverlayProvider as DatePickerOverlayProvider$1, DatePickerRangeGridPanel as DatePickerRangeGridPanel$1, DatePickerRangeInput as DatePickerRangeInput$1, DatePickerRangePanel as DatePickerRangePanel$1, DatePickerSingleGridPanel as DatePickerSingleGridPanel$1, DatePickerSingleInput as DatePickerSingleInput$1, DatePickerTrigger as DatePickerTrigger$1, useDatePickerContext as useDatePickerContext$1, useDatePickerOverlay as useDatePickerOverlay$1 } from '@salt-ds/date-components';
2
+ export { DateRangeSelectionContext, SingleDateSelectionContext } from '@salt-ds/date-components';
3
+ import { deprecatedComponent, deprecatedFunction } from '../utils/deprecatedExport.js';
4
+
5
+ const KEY = "@salt-ds/lab/date-picker";
6
+ const MSG = "@salt-ds/lab 'date-picker' exports are deprecated and will be removed in a future release. Import from @salt-ds/date-components instead.";
7
+ const DatePicker = deprecatedComponent(
8
+ DatePicker$1,
9
+ "DatePicker",
10
+ KEY,
11
+ MSG
12
+ );
13
+ const DatePickerActions = deprecatedComponent(
14
+ DatePickerActions$1,
15
+ "DatePickerActions",
16
+ KEY,
17
+ MSG
18
+ );
19
+ const DatePickerHelperText = deprecatedComponent(
20
+ DatePickerHelperText$1,
21
+ "DatePickerHelperText",
22
+ KEY,
23
+ MSG
24
+ );
25
+ const DatePickerOverlay = deprecatedComponent(
26
+ DatePickerOverlay$1,
27
+ "DatePickerOverlay",
28
+ KEY,
29
+ MSG
30
+ );
31
+ const DatePickerOverlayProvider = deprecatedComponent(
32
+ DatePickerOverlayProvider$1,
33
+ "DatePickerOverlayProvider",
34
+ KEY,
35
+ MSG
36
+ );
37
+ const DatePickerRangeGridPanel = deprecatedComponent(
38
+ DatePickerRangeGridPanel$1,
39
+ "DatePickerRangeGridPanel",
40
+ KEY,
41
+ MSG
42
+ );
43
+ const DatePickerRangeInput = deprecatedComponent(
44
+ DatePickerRangeInput$1,
45
+ "DatePickerRangeInput",
46
+ KEY,
47
+ MSG
48
+ );
49
+ const DatePickerRangePanel = deprecatedComponent(
50
+ DatePickerRangePanel$1,
51
+ "DatePickerRangePanel",
52
+ KEY,
53
+ MSG
54
+ );
55
+ const DatePickerSingleGridPanel = deprecatedComponent(
56
+ DatePickerSingleGridPanel$1,
57
+ "DatePickerSingleGridPanel",
58
+ KEY,
59
+ MSG
60
+ );
61
+ const DatePickerSingleInput = deprecatedComponent(
62
+ DatePickerSingleInput$1,
63
+ "DatePickerSingleInput",
64
+ KEY,
65
+ MSG
66
+ );
67
+ const DatePickerTrigger = deprecatedComponent(
68
+ DatePickerTrigger$1,
69
+ "DatePickerTrigger",
70
+ KEY,
71
+ MSG
72
+ );
73
+ const useDatePickerContext = deprecatedFunction(
74
+ useDatePickerContext$1,
75
+ KEY,
76
+ MSG
77
+ );
78
+ const useDatePickerOverlay = deprecatedFunction(
79
+ useDatePickerOverlay$1,
80
+ KEY,
81
+ MSG
82
+ );
83
+
84
+ export { DatePicker, DatePickerActions, DatePickerHelperText, DatePickerOverlay, DatePickerOverlayProvider, DatePickerRangeGridPanel, DatePickerRangeInput, DatePickerRangePanel, DatePickerSingleGridPanel, DatePickerSingleInput, DatePickerTrigger, useDatePickerContext, useDatePickerOverlay };
85
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/date-picker/index.ts"],"sourcesContent":["import {\n DatePicker as _DatePicker,\n DatePickerActions as _DatePickerActions,\n DatePickerHelperText as _DatePickerHelperText,\n DatePickerOverlay as _DatePickerOverlay,\n DatePickerOverlayProvider as _DatePickerOverlayProvider,\n DatePickerRangeGridPanel as _DatePickerRangeGridPanel,\n DatePickerRangeInput as _DatePickerRangeInput,\n DatePickerRangePanel as _DatePickerRangePanel,\n DatePickerSingleGridPanel as _DatePickerSingleGridPanel,\n DatePickerSingleInput as _DatePickerSingleInput,\n DatePickerTrigger as _DatePickerTrigger,\n useDatePickerContext as _useDatePickerContext,\n useDatePickerOverlay as _useDatePickerOverlay,\n} from \"@salt-ds/date-components\";\nimport {\n deprecatedComponent,\n deprecatedFunction,\n} from \"../utils/deprecatedExport\";\n\nconst KEY = \"@salt-ds/lab/date-picker\";\nconst MSG =\n \"@salt-ds/lab 'date-picker' exports are deprecated and will be removed in a future release. Import from @salt-ds/date-components instead.\";\n\n// Components\nexport const DatePicker = deprecatedComponent(\n _DatePicker,\n \"DatePicker\",\n KEY,\n MSG,\n);\nexport const DatePickerActions = deprecatedComponent(\n _DatePickerActions,\n \"DatePickerActions\",\n KEY,\n MSG,\n);\nexport const DatePickerHelperText = deprecatedComponent(\n _DatePickerHelperText,\n \"DatePickerHelperText\",\n KEY,\n MSG,\n);\nexport const DatePickerOverlay = deprecatedComponent(\n _DatePickerOverlay,\n \"DatePickerOverlay\",\n KEY,\n MSG,\n);\nexport const DatePickerOverlayProvider = deprecatedComponent(\n _DatePickerOverlayProvider,\n \"DatePickerOverlayProvider\",\n KEY,\n MSG,\n);\nexport const DatePickerRangeGridPanel = deprecatedComponent(\n _DatePickerRangeGridPanel,\n \"DatePickerRangeGridPanel\",\n KEY,\n MSG,\n);\nexport const DatePickerRangeInput = deprecatedComponent(\n _DatePickerRangeInput,\n \"DatePickerRangeInput\",\n KEY,\n MSG,\n);\nexport const DatePickerRangePanel = deprecatedComponent(\n _DatePickerRangePanel,\n \"DatePickerRangePanel\",\n KEY,\n MSG,\n);\nexport const DatePickerSingleGridPanel = deprecatedComponent(\n _DatePickerSingleGridPanel,\n \"DatePickerSingleGridPanel\",\n KEY,\n MSG,\n);\nexport const DatePickerSingleInput = deprecatedComponent(\n _DatePickerSingleInput,\n \"DatePickerSingleInput\",\n KEY,\n MSG,\n);\nexport const DatePickerTrigger = deprecatedComponent(\n _DatePickerTrigger,\n \"DatePickerTrigger\",\n KEY,\n MSG,\n);\n\n// Hooks\nexport const useDatePickerContext = deprecatedFunction(\n _useDatePickerContext,\n KEY,\n MSG,\n);\nexport const useDatePickerOverlay = deprecatedFunction(\n _useDatePickerOverlay,\n KEY,\n MSG,\n);\n\n// Types — no side effects\nexport type {\n DatePickerActionsProps,\n DatePickerOpenChangeReason,\n DatePickerProps,\n DatePickerRangeGridPanelProps,\n DatePickerSingleGridPanelProps,\n DatePickerState,\n RangeDatePickerState,\n SingleDatePickerState,\n UseDatePickerContextProps,\n} from \"@salt-ds/date-components\";\n// Context objects — re-export directly (no runtime cost)\nexport {\n DateRangeSelectionContext,\n SingleDateSelectionContext,\n} from \"@salt-ds/date-components\";\n"],"names":["_DatePicker","_DatePickerActions","_DatePickerHelperText","_DatePickerOverlay","_DatePickerOverlayProvider","_DatePickerRangeGridPanel","_DatePickerRangeInput","_DatePickerRangePanel","_DatePickerSingleGridPanel","_DatePickerSingleInput","_DatePickerTrigger","_useDatePickerContext","_useDatePickerOverlay"],"mappings":";;;;AAoBA,MAAM,GAAA,GAAM,0BAAA;AACZ,MAAM,GAAA,GACJ,0IAAA;AAGK,MAAM,UAAA,GAAa,mBAAA;AAAA,EACxBA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,iBAAA,GAAoB,mBAAA;AAAA,EAC/BC,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,oBAAA,GAAuB,mBAAA;AAAA,EAClCC,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,iBAAA,GAAoB,mBAAA;AAAA,EAC/BC,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,yBAAA,GAA4B,mBAAA;AAAA,EACvCC,2BAAA;AAAA,EACA,2BAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,wBAAA,GAA2B,mBAAA;AAAA,EACtCC,0BAAA;AAAA,EACA,0BAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,oBAAA,GAAuB,mBAAA;AAAA,EAClCC,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,oBAAA,GAAuB,mBAAA;AAAA,EAClCC,sBAAA;AAAA,EACA,sBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,yBAAA,GAA4B,mBAAA;AAAA,EACvCC,2BAAA;AAAA,EACA,2BAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,qBAAA,GAAwB,mBAAA;AAAA,EACnCC,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,iBAAA,GAAoB,mBAAA;AAAA,EAC/BC,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AAGO,MAAM,oBAAA,GAAuB,kBAAA;AAAA,EAClCC,sBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;AACO,MAAM,oBAAA,GAAuB,kBAAA;AAAA,EAClCC,sBAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;;;;"}
package/dist-es/index.js CHANGED
@@ -3,13 +3,7 @@ export { Breadcrumb } from './breadcrumbs/Breadcrumb.js';
3
3
  export { Breadcrumbs } from './breadcrumbs/Breadcrumbs.js';
4
4
  export { ButtonBar, DefaultButtonsOrderByVariant } from './button-bar/ButtonBar.js';
5
5
  export { OrderedButton } from './button-bar/OrderedButton.js';
6
- export { Calendar } from './calendar/Calendar.js';
7
- export { CalendarGrid } from './calendar/CalendarGrid.js';
8
- export { CalendarNavigation } from './calendar/CalendarNavigation.js';
9
- export { CalendarWeekHeader } from './calendar/CalendarWeekHeader.js';
10
- export { useCalendar } from './calendar/useCalendar.js';
11
- export { useCalendarDay } from './calendar/useCalendarDay.js';
12
- export { isDateRangeSelection, useCalendarSelection, useCalendarSelectionDay } from './calendar/useCalendarSelection.js';
6
+ export { Calendar, CalendarGrid, CalendarNavigation, CalendarWeekHeader, isDateRangeSelection, useCalendar, useCalendarDay, useCalendarSelection, useCalendarSelectionDay, useDateSelectionAnnouncer } from './calendar/index.js';
13
7
  export { CascadingMenu } from './cascading-menu/CascadingMenu.js';
14
8
  export { Color } from './color-chooser/Color.js';
15
9
  export { ColorChooser } from './color-chooser/ColorChooser.js';
@@ -34,21 +28,8 @@ export { ContactSecondaryInfo } from './contact-details/ContactSecondaryInfo.js'
34
28
  export { ContactTertiaryInfo } from './contact-details/ContactTertiaryInfo.js';
35
29
  export { MailLinkComponent } from './contact-details/MailLinkComponent.js';
36
30
  export { ContentStatus } from './content-status/ContentStatus.js';
37
- export { DateInputRange, DateParserField } from './date-input/DateInputRange.js';
38
- export { DateInputSingle } from './date-input/DateInputSingle.js';
39
- export { DatePicker, DatePickerMain } from './date-picker/DatePicker.js';
40
- export { DatePickerActions } from './date-picker/DatePickerActions.js';
41
- export { DateRangeSelectionContext, SingleDateSelectionContext, useDatePickerContext } from './date-picker/DatePickerContext.js';
42
- export { DatePickerHelperText } from './date-picker/DatePickerHelperText.js';
43
- export { DatePickerOverlay } from './date-picker/DatePickerOverlay.js';
44
- export { DatePickerOverlayProvider, useDatePickerOverlay } from './date-picker/DatePickerOverlayProvider.js';
45
- export { DatePickerRangeGridPanel } from './date-picker/DatePickerRangeGridPanel.js';
46
- export { DatePickerRangeInput, defaultRangeValidator } from './date-picker/DatePickerRangeInput.js';
47
- export { DatePickerRangePanel } from './date-picker/DatePickerRangePanel.js';
48
- export { DatePickerSingleGridPanel } from './date-picker/DatePickerSingleGridPanel.js';
49
- export { DatePickerSingleInput } from './date-picker/DatePickerSingleInput.js';
50
- export { DatePickerSinglePanel } from './date-picker/DatePickerSinglePanel.js';
51
- export { DatePickerTrigger } from './date-picker/DatePickerTrigger.js';
31
+ export { DateInputRange, DateInputSingle } from './date-input/index.js';
32
+ export { DatePicker, DatePickerActions, DatePickerHelperText, DatePickerOverlay, DatePickerOverlayProvider, DatePickerRangeGridPanel, DatePickerRangeInput, DatePickerRangePanel, DatePickerSingleGridPanel, DatePickerSingleInput, DatePickerTrigger, useDatePickerContext, useDatePickerOverlay } from './date-picker/index.js';
52
33
  export { DeckItem } from './deck-item/DeckItem.js';
53
34
  export { DeckLayout } from './deck-layout/DeckLayout.js';
54
35
  export { Dropdown } from './dropdown/Dropdown.js';
@@ -95,7 +76,7 @@ export { useOverflowDetection } from './utils/useOverflowDetection.js';
95
76
  export { useSlideSelection } from './utils/useSlideSelection.js';
96
77
  export { ListItemNext } from './list-next/ListItemNext.js';
97
78
  export { ListNext } from './list-next/ListNext.js';
98
- export { LocalizationProvider, LocalizationProviderContext, useLocalization } from './localization-provider/LocalizationProvider.js';
79
+ export { LocalizationProvider, useLocalization } from './localization-provider/index.js';
99
80
  export { Logo } from './logo/Logo.js';
100
81
  export { LogoImage } from './logo/LogoImage.js';
101
82
  export { LogoSeparator } from './logo/LogoSeparator.js';
@@ -118,6 +99,13 @@ export { HeightOnly, WidthHeight, WidthOnly, useResizeObserver } from './respons
118
99
  export { useWidth } from './responsive/useWidth.js';
119
100
  export { isResponsiveAttribute, liftResponsivePropsToFormField } from './responsive/utils.js';
120
101
  export { SearchInput } from './search-input/SearchInput.js';
102
+ export { SidePanel } from './side-panel/SidePanel.js';
103
+ export { SidePanelContent } from './side-panel/SidePanelContent.js';
104
+ export { SidePanelHeader } from './side-panel/SidePanelHeader.js';
105
+ export { SidePanelProvider } from './side-panel/SidePanelProvider.js';
106
+ export { SidePanelTitle } from './side-panel/SidePanelTitle.js';
107
+ export { SidePanelTrigger } from './side-panel/SidePanelTrigger.js';
108
+ export { useSidePanel } from './side-panel/useSidePanel.js';
121
109
  export { StaticList } from './static-list/StaticList.js';
122
110
  export { StaticListItem } from './static-list/StaticListItem.js';
123
111
  export { StaticListItemContent } from './static-list/StaticListItemContent.js';
@@ -152,4 +140,5 @@ export { TreeNodeLabel } from './tree/TreeNodeLabel.js';
152
140
  export { TreeNodeTrigger } from './tree/TreeNodeTrigger.js';
153
141
  export { ElectronWindow } from './window/ElectronWindow.js';
154
142
  export { Window, WindowContext, isDesktop, useWindow } from './window/WindowContext.js';
143
+ export { DateRangeSelectionContext, LocalizationProviderContext, SingleDateSelectionContext } from '@salt-ds/date-components';
155
144
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ import { LocalizationProvider as LocalizationProvider$1, useLocalization as useLocalization$1 } from '@salt-ds/date-components';
2
+ export { LocalizationProviderContext } from '@salt-ds/date-components';
3
+ import { deprecatedFunction } from '../utils/deprecatedExport.js';
4
+
5
+ const KEY = "@salt-ds/lab/localization-provider";
6
+ const MSG = "@salt-ds/lab 'localization-provider' exports are deprecated and will be removed in a future release. Import from @salt-ds/date-components instead.";
7
+ const _warnOnce = deprecatedFunction(() => {
8
+ }, KEY, MSG);
9
+ function LocalizationProvider(props) {
10
+ _warnOnce();
11
+ return LocalizationProvider$1(props);
12
+ }
13
+ LocalizationProvider.displayName = "LocalizationProvider";
14
+ function useLocalization() {
15
+ _warnOnce();
16
+ return useLocalization$1();
17
+ }
18
+
19
+ export { LocalizationProvider, useLocalization };
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/localization-provider/index.ts"],"sourcesContent":["import type { DateFrameworkType } from \"@salt-ds/date-adapters\";\nimport {\n LocalizationProvider as _LocalizationProvider,\n useLocalization as _useLocalization,\n type LocalizationProviderProps,\n type LocalizationProviderValue,\n} from \"@salt-ds/date-components\";\nimport { deprecatedFunction } from \"../utils/deprecatedExport\";\n\nconst KEY = \"@salt-ds/lab/localization-provider\";\nconst MSG =\n \"@salt-ds/lab 'localization-provider' exports are deprecated and will be removed in a future release. Import from @salt-ds/date-components instead.\";\n\nconst _warnOnce = deprecatedFunction(() => {}, KEY, MSG);\n\nexport function LocalizationProvider<\n TDate extends DateFrameworkType = DateFrameworkType,\n TLocale = undefined,\n>(props: LocalizationProviderProps<TDate, TLocale>) {\n _warnOnce();\n return _LocalizationProvider(props);\n}\nLocalizationProvider.displayName = \"LocalizationProvider\";\n\nexport function useLocalization<\n TDate extends DateFrameworkType = DateFrameworkType,\n>(): LocalizationProviderValue<TDate> {\n _warnOnce();\n return _useLocalization<TDate>();\n}\n\nexport type {\n LocalizationProviderContext as LocalizationProviderContextType,\n LocalizationProviderProps,\n LocalizationProviderValue,\n} from \"@salt-ds/date-components\";\n// Context object — re-export directly\nexport { LocalizationProviderContext } from \"@salt-ds/date-components\";\n"],"names":["_LocalizationProvider","_useLocalization"],"mappings":";;;;AASA,MAAM,GAAA,GAAM,oCAAA;AACZ,MAAM,GAAA,GACJ,oJAAA;AAEF,MAAM,SAAA,GAAY,mBAAmB,MAAM;AAAC,CAAA,EAAG,KAAK,GAAG,CAAA;AAEhD,SAAS,qBAGd,KAAA,EAAkD;AAClD,EAAA,SAAA,EAAU;AACV,EAAA,OAAOA,uBAAsB,KAAK,CAAA;AACpC;AACA,oBAAA,CAAqB,WAAA,GAAc,sBAAA;AAE5B,SAAS,eAAA,GAEsB;AACpC,EAAA,SAAA,EAAU;AACV,EAAA,OAAOC,iBAAA,EAAwB;AACjC;;;;"}
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltRating {\n display: inline-flex;\n box-sizing: border-box;\n}\n\n.saltFormField .saltRating-container {\n height: var(--salt-size-base);\n padding-top: calc(var(--salt-spacing-100) + var(--salt-spacing-fixed-100));\n}\n\n.saltFormField .saltRating-label {\n min-height: var(--salt-size-base);\n padding-top: var(--salt-spacing-100);\n}\n\n.saltRating-labelTop,\n.saltRating-labelBottom {\n flex-direction: column;\n align-items: flex-start;\n gap: var(--salt-spacing-fixed-600);\n}\n\n.saltRating-labelLeft,\n.saltRating-labelRight {\n flex-direction: row;\n gap: var(--salt-spacing-fixed-1200);\n}\n\n.saltRating-container {\n display: flex;\n flex-direction: row;\n gap: var(--salt-spacing-fixed-1200);\n flex-wrap: nowrap;\n justify-content: flex-start;\n padding-top: var(--salt-spacing-fixed-100);\n padding-bottom: var(--salt-spacing-fixed-100);\n box-sizing: border-box;\n}\n\n.saltRating-label {\n color: var(--salt-content-primary-foreground);\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n box-sizing: border-box;\n}\n\n.saltRating-label.saltRating-label-left {\n text-align: right;\n}\n";
1
+ var css_248z = ".saltRating {\n display: inline-flex;\n box-sizing: border-box;\n}\n\n.saltFormField .saltRating-container {\n height: var(--salt-size-base);\n padding-top: calc(var(--salt-spacing-100) + var(--salt-spacing-fixed-100));\n}\n\n.saltFormField .saltRating-label {\n min-height: var(--salt-size-base);\n padding-top: var(--salt-spacing-100);\n}\n\n.saltRating-labelBottom {\n flex-direction: column;\n align-items: flex-start;\n gap: var(--salt-spacing-75);\n}\n\n.saltRating-labelRight {\n flex-direction: row;\n gap: var(--salt-spacing-150);\n}\n\n.saltRating-container {\n display: flex;\n flex-direction: row;\n gap: var(--salt-spacing-150);\n flex-wrap: nowrap;\n justify-content: flex-start;\n padding-top: var(--salt-spacing-fixed-100);\n padding-bottom: var(--salt-spacing-fixed-100);\n box-sizing: border-box;\n}\n\n.saltRating-label {\n color: var(--salt-content-primary-foreground);\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n box-sizing: border-box;\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=Rating.css.js.map
@@ -1,9 +1,9 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { makePrefixer, useFormFieldProps, useControlled, useId, capitalize } from '@salt-ds/core';
3
3
  import { useComponentCssInjection } from '@salt-ds/styles';
4
4
  import { useWindow } from '@salt-ds/window';
5
5
  import { clsx } from 'clsx';
6
- import { forwardRef, useState, useRef } from 'react';
6
+ import { forwardRef, useState } from 'react';
7
7
  import css_248z from './Rating.css.js';
8
8
  import { RatingItem } from './RatingItem.js';
9
9
 
@@ -49,7 +49,6 @@ const Rating = forwardRef(function Rating2({
49
49
  name: "Rating",
50
50
  state: "value"
51
51
  });
52
- const radioGroupRef = useRef(null);
53
52
  const name = useId(nameProp);
54
53
  const handleMouseEnter = (event) => {
55
54
  if (readOnly || disabled) return;
@@ -65,18 +64,6 @@ const Rating = forwardRef(function Rating2({
65
64
  setSelected(itemValue);
66
65
  onChange == null ? void 0 : onChange(event, itemValue);
67
66
  };
68
- const isTopLeft = labelPlacement === "top" || labelPlacement === "left";
69
- const displayLabel = getVisibleLabel && /* @__PURE__ */ jsx(
70
- "div",
71
- {
72
- className: clsx(
73
- withBaseName("label"),
74
- withBaseName(`label-${labelPlacement}`)
75
- ),
76
- "aria-hidden": true,
77
- children: getVisibleLabel(hoveredValue || selected, max)
78
- }
79
- );
80
67
  return /* @__PURE__ */ jsxs(
81
68
  "div",
82
69
  {
@@ -88,13 +75,11 @@ const Rating = forwardRef(function Rating2({
88
75
  ),
89
76
  ...restProps,
90
77
  children: [
91
- isTopLeft && displayLabel,
92
78
  /* @__PURE__ */ jsx(
93
79
  "div",
94
80
  {
95
81
  role: "radiogroup",
96
82
  className: withBaseName("container"),
97
- ref: radioGroupRef,
98
83
  "aria-readonly": readOnly || void 0,
99
84
  "aria-label": ariaLabel,
100
85
  "aria-labelledby": clsx(formFieldLabelledBy, ariaLabelledBy) || void 0,
@@ -125,7 +110,17 @@ const Rating = forwardRef(function Rating2({
125
110
  })
126
111
  }
127
112
  ),
128
- !isTopLeft && displayLabel
113
+ getVisibleLabel && /* @__PURE__ */ jsx(
114
+ "div",
115
+ {
116
+ className: clsx(
117
+ withBaseName("label"),
118
+ withBaseName(`label-${labelPlacement}`)
119
+ ),
120
+ "aria-hidden": true,
121
+ children: getVisibleLabel(hoveredValue || selected, max)
122
+ }
123
+ )
129
124
  ]
130
125
  }
131
126
  );
@@ -1 +1 @@
1
- {"version":3,"file":"Rating.js","sources":["../src/rating/Rating.tsx"],"sourcesContent":["import {\n capitalize,\n makePrefixer,\n useControlled,\n useFormFieldProps,\n useId,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n forwardRef,\n type MouseEvent,\n useRef,\n useState,\n} from \"react\";\nimport ratingCss from \"./Rating.css\";\nimport { RatingItem } from \"./RatingItem\";\n\nconst withBaseName = makePrefixer(\"saltRating\");\n\nexport interface RatingProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"onChange\"> {\n /**\n * When provided, the component is controlled.\n */\n value?: number;\n /**\n * Default rating value for uncontrolled mode.\n * @default 0\n */\n defaultValue?: number;\n /**\n * Callback function for rating change.\n * The first parameter is the event, and the second is the selected rating value.\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>, value: number) => void;\n /**\n * If true, the rating component will be in a read-only state.\n */\n readOnly?: boolean;\n /**\n * If true, the rating component will be in a disabled state.\n */\n disabled?: boolean;\n /**\n * Total number of icons displayed.\n * @default 5\n */\n max?: number;\n /**\n * Function used to provide a user-friendly name for the current value of the rating. Primarily used by screen readers.\n */\n getLabel?: (value: number) => string;\n /**\n * Function used to provide a visible label for the rating.\n */\n getVisibleLabel?: (value: number, max: number) => string;\n /**\n * Position of the label relative to the rating component.\n * Can be \"top\", \"right\", \"bottom\", or \"left\".\n * @default \"right\"\n */\n labelPlacement?: \"top\" | \"right\" | \"bottom\" | \"left\";\n /**\n * The name to be set on each radio button within the group. If not set, then one will be generated for you.\n */\n name?: string;\n}\n\nconst defaultGetLabel = (value: number) =>\n `${value} Star${value > 1 ? \"s\" : \"\"}`;\n\nexport const Rating = forwardRef<HTMLDivElement, RatingProps>(function Rating(\n {\n value: valueProp,\n defaultValue = 0,\n name: nameProp,\n onChange,\n className,\n readOnly: readOnlyProp,\n disabled: disabledProp,\n max = 5,\n getLabel = defaultGetLabel,\n getVisibleLabel,\n labelPlacement = \"right\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...restProps\n },\n ref,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-rating\",\n css: ratingCss,\n window: targetWindow,\n });\n const {\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n a11yProps: {\n \"aria-describedby\": formFieldDescribedBy,\n \"aria-labelledby\": formFieldLabelledBy,\n } = {},\n } = useFormFieldProps();\n\n const disabled = formFieldDisabled || disabledProp;\n const readOnly = formFieldReadOnly || readOnlyProp;\n\n const [hoveredValue, setHoveredValue] = useState(0);\n const [selected, setSelected] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"Rating\",\n state: \"value\",\n });\n const radioGroupRef = useRef<HTMLDivElement>(null);\n const name = useId(nameProp);\n\n const handleMouseEnter = (event: MouseEvent<HTMLInputElement>) => {\n if (readOnly || disabled) return;\n const itemValue = Number.parseInt(event.currentTarget.value, 10);\n setHoveredValue(itemValue);\n };\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (readOnly) {\n event.preventDefault();\n return;\n }\n\n const itemValue = Number.parseInt(event.currentTarget.value, 10);\n setSelected(itemValue);\n onChange?.(event, itemValue);\n };\n\n const isTopLeft = labelPlacement === \"top\" || labelPlacement === \"left\";\n\n const displayLabel = getVisibleLabel && (\n <div\n className={clsx(\n withBaseName(\"label\"),\n withBaseName(`label-${labelPlacement}`),\n )}\n aria-hidden\n >\n {getVisibleLabel(hoveredValue || selected, max)}\n </div>\n );\n\n return (\n <div\n ref={ref}\n className={clsx(\n withBaseName(),\n withBaseName(`label${capitalize(labelPlacement)}`),\n className,\n )}\n {...restProps}\n >\n {isTopLeft && displayLabel}\n <div\n role=\"radiogroup\"\n className={withBaseName(\"container\")}\n ref={radioGroupRef}\n aria-readonly={readOnly || undefined}\n aria-label={ariaLabel}\n aria-labelledby={clsx(formFieldLabelledBy, ariaLabelledBy) || undefined}\n aria-describedby={\n clsx(formFieldDescribedBy, ariaDescribedBy) || undefined\n }\n onMouseLeave={() => setHoveredValue(0)}\n >\n {Array.from({ length: max }, (_, index) => {\n const itemValue = index + 1;\n const isHovered = hoveredValue > 0 && itemValue <= hoveredValue;\n const isSelected = hoveredValue === 0 && itemValue <= selected;\n const isUnselecting =\n hoveredValue > 0 &&\n itemValue > hoveredValue &&\n itemValue <= selected;\n return (\n <RatingItem\n key={itemValue}\n currentRating={selected}\n isHovered={isHovered}\n isSelected={isSelected}\n isUnselecting={isUnselecting}\n onMouseEnter={handleMouseEnter}\n onChange={handleChange}\n value={itemValue}\n readOnly={readOnly}\n disabled={disabled}\n name={name}\n aria-label={getLabel?.(itemValue)}\n />\n );\n })}\n </div>\n {!isTopLeft && displayLabel}\n </div>\n );\n});\n"],"names":["Rating","ratingCss"],"mappings":"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"}
1
+ {"version":3,"file":"Rating.js","sources":["../src/rating/Rating.tsx"],"sourcesContent":["import {\n capitalize,\n makePrefixer,\n useControlled,\n useFormFieldProps,\n useId,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n forwardRef,\n type MouseEvent,\n useState,\n} from \"react\";\nimport ratingCss from \"./Rating.css\";\nimport { RatingItem } from \"./RatingItem\";\n\nconst withBaseName = makePrefixer(\"saltRating\");\n\nexport interface RatingProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"onChange\"> {\n /**\n * When provided, the component is controlled.\n */\n value?: number;\n /**\n * Default rating value for uncontrolled mode.\n * @default 0\n */\n defaultValue?: number;\n /**\n * Callback function for rating change.\n * The first parameter is the event, and the second is the selected rating value.\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>, value: number) => void;\n /**\n * If true, the rating component will be in a read-only state.\n */\n readOnly?: boolean;\n /**\n * If true, the rating component will be in a disabled state.\n */\n disabled?: boolean;\n /**\n * Total number of icons displayed.\n * @default 5\n */\n max?: number;\n /**\n * Function used to provide a user-friendly name for the current value of the rating. Primarily used by screen readers.\n */\n getLabel?: (value: number) => string;\n /**\n * Function used to provide a visible label for the rating.\n */\n getVisibleLabel?: (value: number, max: number) => string;\n /**\n * Position of the label relative to the rating component.\n * @default \"right\"\n */\n labelPlacement?: \"right\" | \"bottom\";\n /**\n * The name to be set on each radio button within the group. If not set, then one will be generated for you.\n */\n name?: string;\n}\n\nconst defaultGetLabel = (value: number) =>\n `${value} Star${value > 1 ? \"s\" : \"\"}`;\n\nexport const Rating = forwardRef<HTMLDivElement, RatingProps>(function Rating(\n {\n value: valueProp,\n defaultValue = 0,\n name: nameProp,\n onChange,\n className,\n readOnly: readOnlyProp,\n disabled: disabledProp,\n max = 5,\n getLabel = defaultGetLabel,\n getVisibleLabel,\n labelPlacement = \"right\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...restProps\n },\n ref,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-rating\",\n css: ratingCss,\n window: targetWindow,\n });\n const {\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n a11yProps: {\n \"aria-describedby\": formFieldDescribedBy,\n \"aria-labelledby\": formFieldLabelledBy,\n } = {},\n } = useFormFieldProps();\n\n const disabled = formFieldDisabled || disabledProp;\n const readOnly = formFieldReadOnly || readOnlyProp;\n\n const [hoveredValue, setHoveredValue] = useState(0);\n const [selected, setSelected] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"Rating\",\n state: \"value\",\n });\n const name = useId(nameProp);\n\n const handleMouseEnter = (event: MouseEvent<HTMLInputElement>) => {\n if (readOnly || disabled) return;\n const itemValue = Number.parseInt(event.currentTarget.value, 10);\n setHoveredValue(itemValue);\n };\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (readOnly) {\n event.preventDefault();\n return;\n }\n\n const itemValue = Number.parseInt(event.currentTarget.value, 10);\n setSelected(itemValue);\n onChange?.(event, itemValue);\n };\n\n return (\n <div\n ref={ref}\n className={clsx(\n withBaseName(),\n withBaseName(`label${capitalize(labelPlacement)}`),\n className,\n )}\n {...restProps}\n >\n <div\n role=\"radiogroup\"\n className={withBaseName(\"container\")}\n aria-readonly={readOnly || undefined}\n aria-label={ariaLabel}\n aria-labelledby={clsx(formFieldLabelledBy, ariaLabelledBy) || undefined}\n aria-describedby={\n clsx(formFieldDescribedBy, ariaDescribedBy) || undefined\n }\n onMouseLeave={() => setHoveredValue(0)}\n >\n {Array.from({ length: max }, (_, index) => {\n const itemValue = index + 1;\n const isHovered = hoveredValue > 0 && itemValue <= hoveredValue;\n const isSelected = hoveredValue === 0 && itemValue <= selected;\n const isUnselecting =\n hoveredValue > 0 &&\n itemValue > hoveredValue &&\n itemValue <= selected;\n return (\n <RatingItem\n key={itemValue}\n currentRating={selected}\n isHovered={isHovered}\n isSelected={isSelected}\n isUnselecting={isUnselecting}\n onMouseEnter={handleMouseEnter}\n onChange={handleChange}\n value={itemValue}\n readOnly={readOnly}\n disabled={disabled}\n name={name}\n aria-label={getLabel?.(itemValue)}\n />\n );\n })}\n </div>\n {getVisibleLabel && (\n <div\n className={clsx(\n withBaseName(\"label\"),\n withBaseName(`label-${labelPlacement}`),\n )}\n aria-hidden\n >\n {getVisibleLabel(hoveredValue || selected, max)}\n </div>\n )}\n </div>\n );\n});\n"],"names":["Rating","ratingCss"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltSidePanel {\n background-color: var(--sidePanel-background, var(--salt-container-primary-background));\n --saltSidePanel-width: 300px;\n --sidePanel-border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--sidePanel-borderColor, var(--salt-container-primary-borderColor));\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n.saltSidePanel-primary {\n --sidePanel-background: var(--salt-container-primary-background);\n --sidePanel-borderColor: var(--salt-container-primary-borderColor);\n}\n\n.saltSidePanel-secondary {\n --sidePanel-background: var(--salt-container-secondary-background);\n --sidePanel-borderColor: var(--salt-container-secondary-borderColor);\n}\n\n.saltSidePanel-tertiary {\n --sidePanel-background: var(--salt-container-tertiary-background);\n --sidePanel-borderColor: var(--salt-container-tertiary-borderColor);\n}\n\n.saltSidePanel-left {\n border-right: var(--sidePanel-border);\n}\n.saltSidePanel-right {\n border-left: var(--sidePanel-border);\n}\n\n.saltSidePanel-none {\n --sidePanel-background: none;\n border: none;\n}\n\n.saltSidePanel-none .saltSidePanel-inner {\n padding: 0;\n}\n\n.saltSidePanel-left,\n.saltSidePanel-right {\n width: var(--saltSidePanel-width);\n height: 100%;\n min-height: 0;\n align-self: stretch;\n}\n\n.saltSidePanel-enterAnimation,\n.saltSidePanel-exitAnimation {\n overflow: hidden;\n}\n\n.saltSidePanel-left.saltSidePanel-enterAnimation,\n.saltSidePanel-right.saltSidePanel-enterAnimation {\n animation: saltSidePanel-expandWidth var(--salt-duration-perceptible) var(--salt-animation-timing-function);\n}\n\n.saltSidePanel-left.saltSidePanel-exitAnimation,\n.saltSidePanel-right.saltSidePanel-exitAnimation {\n animation: saltSidePanel-collapseWidth var(--salt-duration-perceptible) var(--salt-animation-timing-function) both;\n}\n\n.saltSidePanel-exitAnimation {\n pointer-events: none;\n}\n\n.saltSidePanel-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n padding: var(--salt-spacing-300);\n}\n\n.saltSidePanel-left .saltSidePanel-inner,\n.saltSidePanel-right .saltSidePanel-inner {\n width: var(--saltSidePanel-width);\n height: 100%;\n}\n\n@keyframes saltSidePanel-expandWidth {\n from {\n width: 0;\n }\n}\n@keyframes saltSidePanel-collapseWidth {\n to {\n width: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .saltSidePanel-left.saltSidePanel-enterAnimation,\n .saltSidePanel-right.saltSidePanel-enterAnimation,\n .saltSidePanel-left.saltSidePanel-exitAnimation,\n .saltSidePanel-right.saltSidePanel-exitAnimation {\n animation: none;\n }\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=SidePanel.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidePanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}