@choco-vanille/ui 1.18.1 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/dist/components/_common/rotating-chevron/styles/RotatingChevron.css.cjs +1 -1
  2. package/dist/components/_common/rotating-chevron/styles/RotatingChevron.css.js +1 -1
  3. package/dist/components/actions/_shared/buttons/constants/buttonVariants.const.cjs +2 -0
  4. package/dist/components/actions/_shared/buttons/constants/buttonVariants.const.cjs.map +1 -0
  5. package/dist/components/actions/_shared/buttons/constants/buttonVariants.const.js +7 -0
  6. package/dist/components/actions/_shared/buttons/constants/buttonVariants.const.js.map +1 -0
  7. package/dist/components/actions/_shared/buttons/styles/buttonShared.css.cjs +1 -1
  8. package/dist/components/actions/_shared/buttons/styles/buttonShared.css.js +1 -1
  9. package/dist/components/actions/button/styles/Button.css.cjs +1 -1
  10. package/dist/components/actions/button/styles/Button.css.js +1 -1
  11. package/dist/components/actions/fab/Fab.cjs +2 -0
  12. package/dist/components/actions/fab/Fab.cjs.map +1 -0
  13. package/dist/components/actions/fab/Fab.d.ts +10 -0
  14. package/dist/components/actions/fab/Fab.js +47 -0
  15. package/dist/components/actions/fab/Fab.js.map +1 -0
  16. package/dist/components/actions/fab/constants/fabPositions.const.cjs +2 -0
  17. package/dist/components/actions/fab/constants/fabPositions.const.cjs.map +1 -0
  18. package/dist/components/actions/fab/constants/fabPositions.const.d.ts +6 -0
  19. package/dist/components/actions/fab/constants/fabPositions.const.js +10 -0
  20. package/dist/components/actions/fab/constants/fabPositions.const.js.map +1 -0
  21. package/dist/components/actions/fab/constants/index.d.ts +1 -0
  22. package/dist/components/actions/fab/index.d.ts +5 -0
  23. package/dist/components/actions/fab/styles/Fab.css.cjs +2 -0
  24. package/dist/components/actions/fab/styles/Fab.css.cjs.map +1 -0
  25. package/dist/components/actions/fab/styles/Fab.css.d.ts +54 -0
  26. package/dist/components/actions/fab/styles/Fab.css.js +20 -0
  27. package/dist/components/actions/fab/styles/Fab.css.js.map +1 -0
  28. package/dist/components/actions/fab/types/Fab.props.d.ts +25 -0
  29. package/dist/components/actions/fab/types/Fab.types.d.ts +8 -0
  30. package/dist/components/actions/icon-button/styles/IconButton.css.cjs +1 -1
  31. package/dist/components/actions/icon-button/styles/IconButton.css.js +1 -1
  32. package/dist/components/actions/index.d.ts +1 -0
  33. package/dist/components/actions/toggle/styles/Toggle.css.cjs +1 -1
  34. package/dist/components/actions/toggle/styles/Toggle.css.js +1 -1
  35. package/dist/components/actions/toggle-group/styles/ToggleGroup.css.cjs +1 -1
  36. package/dist/components/actions/toggle-group/styles/ToggleGroup.css.js +1 -1
  37. package/dist/components/data-display/avatar/components/avatar-fallback/styles/AvatarFallback.css.cjs +1 -1
  38. package/dist/components/data-display/avatar/components/avatar-fallback/styles/AvatarFallback.css.js +1 -1
  39. package/dist/components/data-display/avatar/components/avatar-image/styles/AvatarImage.css.cjs +1 -1
  40. package/dist/components/data-display/avatar/components/avatar-image/styles/AvatarImage.css.js +1 -1
  41. package/dist/components/data-display/avatar/components/avatar-root/styles/AvatarRoot.css.cjs +1 -1
  42. package/dist/components/data-display/avatar/components/avatar-root/styles/AvatarRoot.css.js +1 -1
  43. package/dist/components/data-display/avatar/components/avatar-status/styles/AvatarStatus.css.cjs +1 -1
  44. package/dist/components/data-display/avatar/components/avatar-status/styles/AvatarStatus.css.js +1 -1
  45. package/dist/components/data-display/badge/styles/Badge.css.cjs +1 -1
  46. package/dist/components/data-display/badge/styles/Badge.css.js +1 -1
  47. package/dist/components/data-display/rich-text-renderer/styles/RichTextRenderer.css.cjs +1 -1
  48. package/dist/components/data-display/rich-text-renderer/styles/RichTextRenderer.css.js +1 -1
  49. package/dist/components/data-display/status-badge/styles/StatusBadge.css.cjs +1 -1
  50. package/dist/components/data-display/status-badge/styles/StatusBadge.css.js +1 -1
  51. package/dist/components/data-display/table/components/table-body/styles/TableBody.css.cjs +1 -1
  52. package/dist/components/data-display/table/components/table-body/styles/TableBody.css.js +1 -1
  53. package/dist/components/data-display/table/components/table-caption/styles/TableCaption.css.cjs +1 -1
  54. package/dist/components/data-display/table/components/table-caption/styles/TableCaption.css.js +1 -1
  55. package/dist/components/data-display/table/components/table-cell/styles/TableCell.css.cjs +1 -1
  56. package/dist/components/data-display/table/components/table-cell/styles/TableCell.css.js +1 -1
  57. package/dist/components/data-display/table/components/table-footer/styles/TableFooter.css.cjs +1 -1
  58. package/dist/components/data-display/table/components/table-footer/styles/TableFooter.css.js +1 -1
  59. package/dist/components/data-display/table/components/table-head/styles/TableHead.css.cjs +1 -1
  60. package/dist/components/data-display/table/components/table-head/styles/TableHead.css.js +1 -1
  61. package/dist/components/data-display/table/components/table-header/styles/TableHeader.css.cjs +1 -1
  62. package/dist/components/data-display/table/components/table-header/styles/TableHeader.css.js +1 -1
  63. package/dist/components/data-display/table/components/table-row/styles/TableRow.css.cjs +1 -1
  64. package/dist/components/data-display/table/components/table-row/styles/TableRow.css.js +1 -1
  65. package/dist/components/data-display/table/styles/Table.css.cjs +1 -1
  66. package/dist/components/data-display/table/styles/Table.css.js +1 -1
  67. package/dist/components/feedback/callout/components/callout-icon/styles/CalloutIcon.css.cjs +1 -1
  68. package/dist/components/feedback/callout/components/callout-icon/styles/CalloutIcon.css.js +1 -1
  69. package/dist/components/feedback/callout/styles/Callout.css.cjs +1 -1
  70. package/dist/components/feedback/callout/styles/Callout.css.js +1 -1
  71. package/dist/components/feedback/empty-state/styles/EmptyState.css.cjs +1 -1
  72. package/dist/components/feedback/empty-state/styles/EmptyState.css.js +1 -1
  73. package/dist/components/feedback/progress/styles/Progress.css.cjs +1 -1
  74. package/dist/components/feedback/progress/styles/Progress.css.js +1 -1
  75. package/dist/components/feedback/skeleton/styles/Skeleton.css.cjs +1 -1
  76. package/dist/components/feedback/skeleton/styles/Skeleton.css.js +1 -1
  77. package/dist/components/feedback/spinner/styles/Spinner.css.cjs +1 -1
  78. package/dist/components/feedback/spinner/styles/Spinner.css.js +1 -1
  79. package/dist/components/feedback/toast/Toast.cjs +1 -1
  80. package/dist/components/feedback/toast/Toast.js +1 -1
  81. package/dist/components/feedback/toast/components/toast-actions/styles/ToastActions.css.cjs +1 -1
  82. package/dist/components/feedback/toast/components/toast-actions/styles/ToastActions.css.js +1 -1
  83. package/dist/components/feedback/toast/components/toast-close/styles/ToastClose.css.cjs +1 -1
  84. package/dist/components/feedback/toast/components/toast-close/styles/ToastClose.css.js +1 -1
  85. package/dist/components/feedback/toast/components/toast-description/styles/ToastDescription.css.cjs +1 -1
  86. package/dist/components/feedback/toast/components/toast-description/styles/ToastDescription.css.js +1 -1
  87. package/dist/components/feedback/toast/components/toast-icon/styles/ToastIcon.css.cjs +1 -1
  88. package/dist/components/feedback/toast/components/toast-icon/styles/ToastIcon.css.js +1 -1
  89. package/dist/components/feedback/toast/components/toast-title/styles/ToastTitle.css.cjs +1 -1
  90. package/dist/components/feedback/toast/components/toast-title/styles/ToastTitle.css.js +1 -1
  91. package/dist/components/feedback/toast/styles/Toast.css.cjs +1 -1
  92. package/dist/components/feedback/toast/styles/Toast.css.js +1 -1
  93. package/dist/components/forms/_shared/components/form-label/styles/FormLabel.css.cjs +1 -1
  94. package/dist/components/forms/_shared/components/form-label/styles/FormLabel.css.js +1 -1
  95. package/dist/components/forms/_shared/components/helper-text/HelperText.css.cjs +1 -1
  96. package/dist/components/forms/_shared/components/helper-text/HelperText.css.js +1 -1
  97. package/dist/components/forms/_shared/styles/checkboxVisual.css.cjs +1 -1
  98. package/dist/components/forms/_shared/styles/checkboxVisual.css.js +1 -1
  99. package/dist/components/forms/_shared/styles/radioVisual.css.cjs +1 -1
  100. package/dist/components/forms/_shared/styles/radioVisual.css.js +1 -1
  101. package/dist/components/forms/autocomplete/Autocomplete.cjs +1 -1
  102. package/dist/components/forms/autocomplete/Autocomplete.js +1 -1
  103. package/dist/components/forms/autocomplete/components/autocomplete-content/styles/AutocompleteContent.css.cjs +1 -1
  104. package/dist/components/forms/autocomplete/components/autocomplete-content/styles/AutocompleteContent.css.js +1 -1
  105. package/dist/components/forms/autocomplete/components/autocomplete-field/AutocompleteField.cjs +1 -1
  106. package/dist/components/forms/autocomplete/components/autocomplete-field/AutocompleteField.js +1 -1
  107. package/dist/components/forms/autocomplete/components/autocomplete-input/AutocompleteInput.cjs +1 -1
  108. package/dist/components/forms/autocomplete/components/autocomplete-input/AutocompleteInput.js +1 -1
  109. package/dist/components/forms/autocomplete/components/autocomplete-input/styles/AutocompleteInput.css.cjs +1 -1
  110. package/dist/components/forms/autocomplete/components/autocomplete-input/styles/AutocompleteInput.css.js +1 -1
  111. package/dist/components/forms/autocomplete/components/autocomplete-item/styles/AutocompleteItem.css.cjs +1 -1
  112. package/dist/components/forms/autocomplete/components/autocomplete-item/styles/AutocompleteItem.css.js +1 -1
  113. package/dist/components/forms/autocomplete/components/autocomplete-separator/styles/AutocompleteSeparator.css.cjs +1 -1
  114. package/dist/components/forms/autocomplete/components/autocomplete-separator/styles/AutocompleteSeparator.css.js +1 -1
  115. package/dist/components/forms/autocomplete/components/autocomplete-trigger/styles/AutocompleteTrigger.css.cjs +1 -1
  116. package/dist/components/forms/autocomplete/components/autocomplete-trigger/styles/AutocompleteTrigger.css.js +1 -1
  117. package/dist/components/forms/autocomplete/styles/Autocomplete.css.cjs +1 -1
  118. package/dist/components/forms/autocomplete/styles/Autocomplete.css.js +1 -1
  119. package/dist/components/forms/calendar/Calendar.cjs +1 -1
  120. package/dist/components/forms/calendar/Calendar.js +1 -1
  121. package/dist/components/forms/calendar/components/calendar-caption/styles/CalendarCaption.css.cjs +1 -1
  122. package/dist/components/forms/calendar/components/calendar-caption/styles/CalendarCaption.css.js +1 -1
  123. package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.cjs +1 -1
  124. package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.cjs.map +1 -1
  125. package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.js +6 -1
  126. package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.js.map +1 -1
  127. package/dist/components/forms/calendar/components/calendar-month-view/styles/CalendarMonthView.css.cjs +1 -1
  128. package/dist/components/forms/calendar/components/calendar-month-view/styles/CalendarMonthView.css.js +1 -1
  129. package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.cjs +1 -1
  130. package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.cjs.map +1 -1
  131. package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.js +6 -1
  132. package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.js.map +1 -1
  133. package/dist/components/forms/calendar/components/calendar-year-view/styles/CalendarYearView.css.cjs +1 -1
  134. package/dist/components/forms/calendar/components/calendar-year-view/styles/CalendarYearView.css.js +1 -1
  135. package/dist/components/forms/calendar/styles/calendarDayButton.css.cjs +1 -1
  136. package/dist/components/forms/calendar/styles/calendarDayButton.css.js +1 -1
  137. package/dist/components/forms/calendar/styles/calendarGrid.css.cjs +1 -1
  138. package/dist/components/forms/calendar/styles/calendarGrid.css.js +1 -1
  139. package/dist/components/forms/calendar/styles/calendarRoot.css.cjs +1 -1
  140. package/dist/components/forms/calendar/styles/calendarRoot.css.js +1 -1
  141. package/dist/components/forms/checkbox/styles/Checkbox.css.cjs +1 -1
  142. package/dist/components/forms/checkbox/styles/Checkbox.css.js +1 -1
  143. package/dist/components/forms/date-picker/DatePicker.cjs +1 -1
  144. package/dist/components/forms/date-picker/DatePicker.js +1 -1
  145. package/dist/components/forms/date-picker/styles/DatePicker.css.cjs +1 -1
  146. package/dist/components/forms/date-picker/styles/DatePicker.css.js +1 -1
  147. package/dist/components/forms/image-picker/components/image-picker-crop-dialog/ImagePickerCropDialog.cjs +1 -1
  148. package/dist/components/forms/image-picker/components/image-picker-crop-dialog/ImagePickerCropDialog.js +1 -1
  149. package/dist/components/forms/image-picker/components/image-picker-crop-dialog/styles/ImagePickerCropDialog.css.cjs +1 -1
  150. package/dist/components/forms/image-picker/components/image-picker-crop-dialog/styles/ImagePickerCropDialog.css.js +1 -1
  151. package/dist/components/forms/image-picker/styles/ImagePicker.css.cjs +1 -1
  152. package/dist/components/forms/image-picker/styles/ImagePicker.css.js +1 -1
  153. package/dist/components/forms/index.d.ts +1 -0
  154. package/dist/components/forms/number-field/components/number-field-input/styles/NumberFieldInput.css.cjs +1 -1
  155. package/dist/components/forms/number-field/components/number-field-input/styles/NumberFieldInput.css.js +1 -1
  156. package/dist/components/forms/number-field/components/number-field-steppers/styles/NumberFieldSteppers.css.cjs +1 -1
  157. package/dist/components/forms/number-field/components/number-field-steppers/styles/NumberFieldSteppers.css.js +1 -1
  158. package/dist/components/forms/number-field/styles/NumberField.css.cjs +1 -1
  159. package/dist/components/forms/number-field/styles/NumberField.css.js +1 -1
  160. package/dist/components/forms/radio-group/components/radio-item/styles/RadioItem.css.cjs +1 -1
  161. package/dist/components/forms/radio-group/components/radio-item/styles/RadioItem.css.js +1 -1
  162. package/dist/components/forms/rich-text-editor/RichTextEditor.cjs +1 -1
  163. package/dist/components/forms/rich-text-editor/RichTextEditor.js +1 -1
  164. package/dist/components/forms/rich-text-editor/RichTextEditorField.cjs +1 -1
  165. package/dist/components/forms/rich-text-editor/RichTextEditorField.js +1 -1
  166. package/dist/components/forms/rich-text-editor/components/alignment-group/AlignmentGroup.cjs +1 -1
  167. package/dist/components/forms/rich-text-editor/components/alignment-group/AlignmentGroup.js +1 -1
  168. package/dist/components/forms/rich-text-editor/components/alignment-group/styles/AlignmentGroup.css.cjs +1 -1
  169. package/dist/components/forms/rich-text-editor/components/alignment-group/styles/AlignmentGroup.css.js +1 -1
  170. package/dist/components/forms/rich-text-editor/components/block-format-group/BlockFormatGroup.cjs +1 -1
  171. package/dist/components/forms/rich-text-editor/components/block-format-group/BlockFormatGroup.js +1 -1
  172. package/dist/components/forms/rich-text-editor/components/block-format-group/styles/BlockFormatGroup.css.cjs +1 -1
  173. package/dist/components/forms/rich-text-editor/components/block-format-group/styles/BlockFormatGroup.css.js +1 -1
  174. package/dist/components/forms/rich-text-editor/components/editor-field/EditorField.cjs +1 -1
  175. package/dist/components/forms/rich-text-editor/components/editor-field/EditorField.js +1 -1
  176. package/dist/components/forms/rich-text-editor/components/history-group/Redo.cjs +1 -1
  177. package/dist/components/forms/rich-text-editor/components/history-group/Redo.js +1 -1
  178. package/dist/components/forms/rich-text-editor/components/history-group/Undo.cjs +1 -1
  179. package/dist/components/forms/rich-text-editor/components/history-group/Undo.js +1 -1
  180. package/dist/components/forms/rich-text-editor/components/history-group/styles/HistoryGroup.css.cjs +1 -1
  181. package/dist/components/forms/rich-text-editor/components/history-group/styles/HistoryGroup.css.js +1 -1
  182. package/dist/components/forms/rich-text-editor/components/image-group/ImageGroup.cjs +1 -1
  183. package/dist/components/forms/rich-text-editor/components/image-group/ImageGroup.js +1 -1
  184. package/dist/components/forms/rich-text-editor/components/image-group/styles/ImageGroup.css.cjs +1 -1
  185. package/dist/components/forms/rich-text-editor/components/image-group/styles/ImageGroup.css.js +1 -1
  186. package/dist/components/forms/rich-text-editor/components/link-group/LinkGroup.cjs +1 -1
  187. package/dist/components/forms/rich-text-editor/components/link-group/LinkGroup.js +1 -1
  188. package/dist/components/forms/rich-text-editor/components/link-group/SetLink.cjs +1 -1
  189. package/dist/components/forms/rich-text-editor/components/link-group/SetLink.js +1 -1
  190. package/dist/components/forms/rich-text-editor/components/link-group/UnsetLink.cjs +1 -1
  191. package/dist/components/forms/rich-text-editor/components/link-group/UnsetLink.js +1 -1
  192. package/dist/components/forms/rich-text-editor/components/link-group/styles/LinkGroup.css.cjs +1 -1
  193. package/dist/components/forms/rich-text-editor/components/link-group/styles/LinkGroup.css.js +1 -1
  194. package/dist/components/forms/rich-text-editor/components/lists-group/ListsGroup.cjs +1 -1
  195. package/dist/components/forms/rich-text-editor/components/lists-group/ListsGroup.js +1 -1
  196. package/dist/components/forms/rich-text-editor/components/lists-group/styles/ListsGroup.css.cjs +1 -1
  197. package/dist/components/forms/rich-text-editor/components/lists-group/styles/ListsGroup.css.js +1 -1
  198. package/dist/components/forms/rich-text-editor/components/read-only-field/ReadOnlyField.cjs +1 -1
  199. package/dist/components/forms/rich-text-editor/components/read-only-field/ReadOnlyField.js +1 -1
  200. package/dist/components/forms/rich-text-editor/components/rich-text-editor-form-field/styles/RichTextEditorFormField.css.cjs +1 -1
  201. package/dist/components/forms/rich-text-editor/components/rich-text-editor-form-field/styles/RichTextEditorFormField.css.js +1 -1
  202. package/dist/components/forms/rich-text-editor/components/rich-text-editor-label/styles/RichTextEditorLabel.css.cjs +1 -1
  203. package/dist/components/forms/rich-text-editor/components/rich-text-editor-label/styles/RichTextEditorLabel.css.js +1 -1
  204. package/dist/components/forms/rich-text-editor/components/text-appearance-group/TextColorMenu.cjs +1 -1
  205. package/dist/components/forms/rich-text-editor/components/text-appearance-group/TextColorMenu.js +1 -1
  206. package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextAppearanceGroup.css.cjs +1 -1
  207. package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextAppearanceGroup.css.js +1 -1
  208. package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextColorMenu.css.cjs +1 -1
  209. package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextColorMenu.css.js +1 -1
  210. package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextSizeMenu.css.cjs +1 -1
  211. package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextSizeMenu.css.js +1 -1
  212. package/dist/components/forms/rich-text-editor/components/text-style-group/TextStyleAction.cjs +1 -1
  213. package/dist/components/forms/rich-text-editor/components/text-style-group/TextStyleAction.js +1 -1
  214. package/dist/components/forms/rich-text-editor/components/text-style-group/styles/TextStyleGroup.css.cjs +1 -1
  215. package/dist/components/forms/rich-text-editor/components/text-style-group/styles/TextStyleGroup.css.js +1 -1
  216. package/dist/components/forms/rich-text-editor/components/toolbar/styles/Toolbar.css.cjs +1 -1
  217. package/dist/components/forms/rich-text-editor/components/toolbar/styles/Toolbar.css.js +1 -1
  218. package/dist/components/forms/rich-text-editor/styles/RichTextEditor.css.cjs +1 -1
  219. package/dist/components/forms/rich-text-editor/styles/RichTextEditor.css.js +1 -1
  220. package/dist/components/forms/select/Select.cjs +1 -1
  221. package/dist/components/forms/select/Select.js +1 -1
  222. package/dist/components/forms/select/components/select-content/styles/SelectContent.css.cjs +1 -1
  223. package/dist/components/forms/select/components/select-content/styles/SelectContent.css.js +1 -1
  224. package/dist/components/forms/select/components/select-item/styles/SelectItem.css.cjs +1 -1
  225. package/dist/components/forms/select/components/select-item/styles/SelectItem.css.js +1 -1
  226. package/dist/components/forms/select/components/select-label/styles/SelectLabel.css.cjs +1 -1
  227. package/dist/components/forms/select/components/select-label/styles/SelectLabel.css.js +1 -1
  228. package/dist/components/forms/select/components/select-separator/styles/SelectSeparator.css.cjs +1 -1
  229. package/dist/components/forms/select/components/select-separator/styles/SelectSeparator.css.js +1 -1
  230. package/dist/components/forms/select/components/select-trigger/SelectTrigger.cjs +1 -1
  231. package/dist/components/forms/select/components/select-trigger/SelectTrigger.js +1 -1
  232. package/dist/components/forms/select/components/select-trigger/styles/SelectTrigger.css.cjs +1 -1
  233. package/dist/components/forms/select/components/select-trigger/styles/SelectTrigger.css.js +1 -1
  234. package/dist/components/forms/select/styles/Select.css.cjs +1 -1
  235. package/dist/components/forms/select/styles/Select.css.js +1 -1
  236. package/dist/components/forms/slider/components/slider-header/styles/SliderHeader.css.cjs +1 -1
  237. package/dist/components/forms/slider/components/slider-header/styles/SliderHeader.css.js +1 -1
  238. package/dist/components/forms/slider/components/slider-track/styles/SliderTrack.css.cjs +1 -1
  239. package/dist/components/forms/slider/components/slider-track/styles/SliderTrack.css.js +1 -1
  240. package/dist/components/forms/slider/styles/Slider.css.cjs +1 -1
  241. package/dist/components/forms/slider/styles/Slider.css.js +1 -1
  242. package/dist/components/forms/switch/styles/Switch.css.cjs +1 -1
  243. package/dist/components/forms/switch/styles/Switch.css.js +1 -1
  244. package/dist/components/forms/text-area/TextArea.cjs +1 -1
  245. package/dist/components/forms/text-area/TextArea.js +1 -1
  246. package/dist/components/forms/text-area/components/text-area-end-action/styles/TextAreaEndAction.css.cjs +1 -1
  247. package/dist/components/forms/text-area/components/text-area-end-action/styles/TextAreaEndAction.css.js +1 -1
  248. package/dist/components/forms/text-area/components/text-area-start-icon/styles/TextAreaStartIcon.css.cjs +1 -1
  249. package/dist/components/forms/text-area/components/text-area-start-icon/styles/TextAreaStartIcon.css.js +1 -1
  250. package/dist/components/forms/text-area/styles/TextArea.css.cjs +1 -1
  251. package/dist/components/forms/text-area/styles/TextArea.css.js +1 -1
  252. package/dist/components/forms/text-field/TextField.cjs +1 -1
  253. package/dist/components/forms/text-field/TextField.js +1 -1
  254. package/dist/components/forms/text-field/components/text-field-end-action/styles/TextFieldEndAction.css.cjs +1 -1
  255. package/dist/components/forms/text-field/components/text-field-end-action/styles/TextFieldEndAction.css.js +1 -1
  256. package/dist/components/forms/text-field/components/text-field-start-icon/styles/TextFieldStartIcon.css.cjs +1 -1
  257. package/dist/components/forms/text-field/components/text-field-start-icon/styles/TextFieldStartIcon.css.js +1 -1
  258. package/dist/components/forms/text-field/styles/TextField.css.cjs +1 -1
  259. package/dist/components/forms/text-field/styles/TextField.css.js +1 -1
  260. package/dist/components/forms/time-picker/TimePicker.cjs +2 -0
  261. package/dist/components/forms/time-picker/TimePicker.cjs.map +1 -0
  262. package/dist/components/forms/time-picker/TimePicker.d.ts +20 -0
  263. package/dist/components/forms/time-picker/TimePicker.js +156 -0
  264. package/dist/components/forms/time-picker/TimePicker.js.map +1 -0
  265. package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.cjs +2 -0
  266. package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.cjs.map +1 -0
  267. package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.d.ts +9 -0
  268. package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.js +126 -0
  269. package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.js.map +1 -0
  270. package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.cjs +2 -0
  271. package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.cjs.map +1 -0
  272. package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.d.ts +9 -0
  273. package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.js +7 -0
  274. package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.js.map +1 -0
  275. package/dist/components/forms/time-picker/components/time-picker-panel/types/TimePickerPanel.props.d.ts +34 -0
  276. package/dist/components/forms/time-picker/constants/index.cjs +2 -0
  277. package/dist/components/forms/time-picker/constants/index.cjs.map +1 -0
  278. package/dist/components/forms/time-picker/constants/index.d.ts +3 -0
  279. package/dist/components/forms/time-picker/constants/index.js +7 -0
  280. package/dist/components/forms/time-picker/constants/index.js.map +1 -0
  281. package/dist/components/forms/time-picker/hooks/useTimePicker.hook.cjs +2 -0
  282. package/dist/components/forms/time-picker/hooks/useTimePicker.hook.cjs.map +1 -0
  283. package/dist/components/forms/time-picker/hooks/useTimePicker.hook.d.ts +9 -0
  284. package/dist/components/forms/time-picker/hooks/useTimePicker.hook.js +76 -0
  285. package/dist/components/forms/time-picker/hooks/useTimePicker.hook.js.map +1 -0
  286. package/dist/components/forms/time-picker/index.d.ts +3 -0
  287. package/dist/components/forms/time-picker/styles/TimePicker.css.cjs +2 -0
  288. package/dist/components/forms/time-picker/styles/TimePicker.css.cjs.map +1 -0
  289. package/dist/components/forms/time-picker/styles/TimePicker.css.d.ts +9 -0
  290. package/dist/components/forms/time-picker/styles/TimePicker.css.js +6 -0
  291. package/dist/components/forms/time-picker/styles/TimePicker.css.js.map +1 -0
  292. package/dist/components/forms/time-picker/types/TimePicker.props.d.ts +70 -0
  293. package/dist/components/forms/time-picker/types/index.d.ts +40 -0
  294. package/dist/components/forms/time-picker/utils/timePicker.utils.cjs +2 -0
  295. package/dist/components/forms/time-picker/utils/timePicker.utils.cjs.map +1 -0
  296. package/dist/components/forms/time-picker/utils/timePicker.utils.d.ts +31 -0
  297. package/dist/components/forms/time-picker/utils/timePicker.utils.js +29 -0
  298. package/dist/components/forms/time-picker/utils/timePicker.utils.js.map +1 -0
  299. package/dist/components/foundation/icon/styles/Icon.css.cjs +1 -1
  300. package/dist/components/foundation/icon/styles/Icon.css.js +1 -1
  301. package/dist/components/foundation/typography/styles/Typography.css.cjs +1 -1
  302. package/dist/components/foundation/typography/styles/Typography.css.js +1 -1
  303. package/dist/components/layout/box/styles/Box.css.cjs +1 -1
  304. package/dist/components/layout/box/styles/Box.css.js +1 -1
  305. package/dist/components/layout/fieldset/styles/Fieldset.css.cjs +1 -1
  306. package/dist/components/layout/fieldset/styles/Fieldset.css.js +1 -1
  307. package/dist/components/layout/flex/styles/Flex.css.cjs +1 -1
  308. package/dist/components/layout/flex/styles/Flex.css.js +1 -1
  309. package/dist/components/layout/form/styles/Form.css.cjs +1 -1
  310. package/dist/components/layout/form/styles/Form.css.js +1 -1
  311. package/dist/components/layout/grid/styles/Grid.css.cjs +1 -1
  312. package/dist/components/layout/grid/styles/Grid.css.js +1 -1
  313. package/dist/components/layout/image/styles/Image.css.cjs +1 -1
  314. package/dist/components/layout/image/styles/Image.css.js +1 -1
  315. package/dist/components/layout/inset/styles/Inset.css.cjs +1 -1
  316. package/dist/components/layout/inset/styles/Inset.css.js +1 -1
  317. package/dist/components/layout/legend/styles/Legend.css.cjs +1 -1
  318. package/dist/components/layout/legend/styles/Legend.css.js +1 -1
  319. package/dist/components/layout/separator/styles/Separator.css.cjs +1 -1
  320. package/dist/components/layout/separator/styles/Separator.css.js +1 -1
  321. package/dist/components/layout/svg-image/styles/SvgImage.css.cjs +1 -1
  322. package/dist/components/layout/svg-image/styles/SvgImage.css.js +1 -1
  323. package/dist/components/navigation/bottom-navigation/styles/BottomNavigation.css.cjs +1 -1
  324. package/dist/components/navigation/bottom-navigation/styles/BottomNavigation.css.js +1 -1
  325. package/dist/components/navigation/breadcrumbs/styles/Breadcrumbs.css.cjs +1 -1
  326. package/dist/components/navigation/breadcrumbs/styles/Breadcrumbs.css.js +1 -1
  327. package/dist/components/navigation/link/styles/Link.css.cjs +1 -1
  328. package/dist/components/navigation/link/styles/Link.css.js +1 -1
  329. package/dist/components/navigation/pagination/styles/Pagination.css.cjs +1 -1
  330. package/dist/components/navigation/pagination/styles/Pagination.css.js +1 -1
  331. package/dist/components/navigation/step-indicator/components/step-indicator-item/styles/StepIndicatorItem.css.cjs +1 -1
  332. package/dist/components/navigation/step-indicator/components/step-indicator-item/styles/StepIndicatorItem.css.js +1 -1
  333. package/dist/components/navigation/step-indicator/styles/StepIndicator.css.cjs +1 -1
  334. package/dist/components/navigation/step-indicator/styles/StepIndicator.css.js +1 -1
  335. package/dist/components/navigation/stepper/styles/Stepper.css.cjs +1 -1
  336. package/dist/components/navigation/stepper/styles/Stepper.css.js +1 -1
  337. package/dist/components/navigation/tabs/components/tabs-list/styles/TabsList.css.cjs +1 -1
  338. package/dist/components/navigation/tabs/components/tabs-list/styles/TabsList.css.js +1 -1
  339. package/dist/components/navigation/tabs/components/tabs-trigger/styles/TabsTrigger.css.cjs +1 -1
  340. package/dist/components/navigation/tabs/components/tabs-trigger/styles/TabsTrigger.css.js +1 -1
  341. package/dist/components/overlay/_shared/styles/OverlayBackdrop.css.cjs +1 -1
  342. package/dist/components/overlay/_shared/styles/OverlayBackdrop.css.js +1 -1
  343. package/dist/components/overlay/alert-dialog/AlertDialog.cjs +1 -1
  344. package/dist/components/overlay/alert-dialog/AlertDialog.js +1 -1
  345. package/dist/components/overlay/alert-dialog/styles/AlertDialog.css.cjs +1 -1
  346. package/dist/components/overlay/alert-dialog/styles/AlertDialog.css.js +1 -1
  347. package/dist/components/overlay/bottom-sheet/BottomSheet.cjs.map +1 -1
  348. package/dist/components/overlay/bottom-sheet/BottomSheet.js.map +1 -1
  349. package/dist/components/overlay/bottom-sheet/components/_shared/styles/BottomSheetItem.css.cjs +1 -1
  350. package/dist/components/overlay/bottom-sheet/components/_shared/styles/BottomSheetItem.css.js +1 -1
  351. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-close/BottomSheetClose.cjs.map +1 -1
  352. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-close/BottomSheetClose.js.map +1 -1
  353. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-close/styles/BottomSheetClose.css.cjs +1 -1
  354. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-close/styles/BottomSheetClose.css.js +1 -1
  355. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-content/BottomSheetContent.cjs.map +1 -1
  356. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-content/BottomSheetContent.js.map +1 -1
  357. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-header/BottomSheetHeader.cjs.map +1 -1
  358. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-header/BottomSheetHeader.js.map +1 -1
  359. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-item/BottomSheetItem.cjs.map +1 -1
  360. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-item/BottomSheetItem.js.map +1 -1
  361. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-group/BottomSheetRadioGroup.cjs.map +1 -1
  362. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-group/BottomSheetRadioGroup.js.map +1 -1
  363. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-group/styles/BottomSheetRadioGroup.css.cjs +1 -1
  364. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-group/styles/BottomSheetRadioGroup.css.js +1 -1
  365. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-item/BottomSheetRadioItem.cjs.map +1 -1
  366. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-item/BottomSheetRadioItem.js.map +1 -1
  367. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-item/styles/BottomSheetRadioItem.css.cjs +1 -1
  368. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-item/styles/BottomSheetRadioItem.css.js +1 -1
  369. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-separator/BottomSheetSeparator.cjs.map +1 -1
  370. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-separator/BottomSheetSeparator.js.map +1 -1
  371. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-separator/styles/BottomSheetSeparator.css.cjs +1 -1
  372. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-separator/styles/BottomSheetSeparator.css.js +1 -1
  373. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-trigger/BottomSheetTrigger.cjs.map +1 -1
  374. package/dist/components/overlay/bottom-sheet/components/bottom-sheet-trigger/BottomSheetTrigger.js.map +1 -1
  375. package/dist/components/overlay/bottom-sheet/styles/BottomSheet.css.cjs +1 -1
  376. package/dist/components/overlay/bottom-sheet/styles/BottomSheet.css.js +1 -1
  377. package/dist/components/overlay/command/components/command-empty/styles/CommandEmpty.css.cjs +1 -1
  378. package/dist/components/overlay/command/components/command-empty/styles/CommandEmpty.css.js +1 -1
  379. package/dist/components/overlay/command/components/command-group/styles/CommandGroup.css.cjs +1 -1
  380. package/dist/components/overlay/command/components/command-group/styles/CommandGroup.css.js +1 -1
  381. package/dist/components/overlay/command/components/command-input/styles/CommandInput.css.cjs +1 -1
  382. package/dist/components/overlay/command/components/command-input/styles/CommandInput.css.js +1 -1
  383. package/dist/components/overlay/command/components/command-item/styles/CommandItem.css.cjs +1 -1
  384. package/dist/components/overlay/command/components/command-item/styles/CommandItem.css.js +1 -1
  385. package/dist/components/overlay/command/components/command-list/styles/CommandList.css.cjs +1 -1
  386. package/dist/components/overlay/command/components/command-list/styles/CommandList.css.js +1 -1
  387. package/dist/components/overlay/command/components/command-separator/styles/CommandSeparator.css.cjs +1 -1
  388. package/dist/components/overlay/command/components/command-separator/styles/CommandSeparator.css.js +1 -1
  389. package/dist/components/overlay/command/styles/Command.css.cjs +1 -1
  390. package/dist/components/overlay/command/styles/Command.css.js +1 -1
  391. package/dist/components/overlay/context-menu/components/content/styles/ContextMenuContent.css.cjs +1 -1
  392. package/dist/components/overlay/context-menu/components/content/styles/ContextMenuContent.css.js +1 -1
  393. package/dist/components/overlay/dialog/components/dialog-header/styles/DialogHeader.css.cjs +1 -1
  394. package/dist/components/overlay/dialog/components/dialog-header/styles/DialogHeader.css.js +1 -1
  395. package/dist/components/overlay/dialog/styles/Dialog.css.cjs +1 -1
  396. package/dist/components/overlay/dialog/styles/Dialog.css.js +1 -1
  397. package/dist/components/overlay/drawer/components/items/_shared/components/drawer-item-content/DrawerItemContent.cjs +1 -1
  398. package/dist/components/overlay/drawer/components/items/_shared/components/drawer-item-content/DrawerItemContent.js +1 -1
  399. package/dist/components/overlay/drawer/components/items/_shared/styles/DrawerItemShared.css.cjs +1 -1
  400. package/dist/components/overlay/drawer/components/items/_shared/styles/DrawerItemShared.css.js +1 -1
  401. package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.cjs +1 -1
  402. package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.cjs.map +1 -1
  403. package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.js +6 -1
  404. package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.js.map +1 -1
  405. package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.cjs +1 -1
  406. package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.cjs.map +1 -1
  407. package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.js +6 -1
  408. package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.js.map +1 -1
  409. package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.cjs +1 -1
  410. package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.cjs.map +1 -1
  411. package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.js +6 -1
  412. package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.js.map +1 -1
  413. package/dist/components/overlay/drawer/components/items/drawer-section-item/styles/DrawerSectionItem.css.cjs +1 -1
  414. package/dist/components/overlay/drawer/components/items/drawer-section-item/styles/DrawerSectionItem.css.js +1 -1
  415. package/dist/components/overlay/drawer/components/variants/drawer-inline/styles/DrawerInline.css.cjs +1 -1
  416. package/dist/components/overlay/drawer/components/variants/drawer-inline/styles/DrawerInline.css.js +1 -1
  417. package/dist/components/overlay/drawer/components/variants/drawer-mini/styles/DrawerMini.css.cjs +1 -1
  418. package/dist/components/overlay/drawer/components/variants/drawer-mini/styles/DrawerMini.css.js +1 -1
  419. package/dist/components/overlay/drawer/components/variants/drawer-portal/styles/DrawerPortal.css.cjs +1 -1
  420. package/dist/components/overlay/drawer/components/variants/drawer-portal/styles/DrawerPortal.css.js +1 -1
  421. package/dist/components/overlay/drawer/styles/Drawer.css.cjs +1 -1
  422. package/dist/components/overlay/drawer/styles/Drawer.css.js +1 -1
  423. package/dist/components/overlay/dropdown-menu/components/_shared/item.css.cjs +1 -1
  424. package/dist/components/overlay/dropdown-menu/components/_shared/item.css.js +1 -1
  425. package/dist/components/overlay/dropdown-menu/components/content/styles/DropdownMenuContent.css.cjs +1 -1
  426. package/dist/components/overlay/dropdown-menu/components/content/styles/DropdownMenuContent.css.js +1 -1
  427. package/dist/components/overlay/dropdown-menu/components/label/styles/DropdownMenuLabel.css.cjs +1 -1
  428. package/dist/components/overlay/dropdown-menu/components/label/styles/DropdownMenuLabel.css.js +1 -1
  429. package/dist/components/overlay/dropdown-menu/components/separator/styles/DropdownMenuSeparator.css.cjs +1 -1
  430. package/dist/components/overlay/dropdown-menu/components/separator/styles/DropdownMenuSeparator.css.js +1 -1
  431. package/dist/components/overlay/dropdown-menu/components/shortcut/styles/DropdownMenuShortcut.css.cjs +1 -1
  432. package/dist/components/overlay/dropdown-menu/components/shortcut/styles/DropdownMenuShortcut.css.js +1 -1
  433. package/dist/components/overlay/dropdown-menu/components/sub/dropdown-menu-sub-content/styles/DropdownMenuSubContent.css.cjs +1 -1
  434. package/dist/components/overlay/dropdown-menu/components/sub/dropdown-menu-sub-content/styles/DropdownMenuSubContent.css.js +1 -1
  435. package/dist/components/overlay/dropdown-menu/components/sub/dropdown-menu-sub-trigger/styles/DropdownMenuSubTrigger.css.cjs +1 -1
  436. package/dist/components/overlay/dropdown-menu/components/sub/dropdown-menu-sub-trigger/styles/DropdownMenuSubTrigger.css.js +1 -1
  437. package/dist/components/overlay/panel/components/panel-header/styles/PanelHeader.css.cjs +1 -1
  438. package/dist/components/overlay/panel/components/panel-header/styles/PanelHeader.css.js +1 -1
  439. package/dist/components/overlay/panel/styles/Panel.css.cjs +1 -1
  440. package/dist/components/overlay/panel/styles/Panel.css.js +1 -1
  441. package/dist/components/overlay/popover/components/content/styles/PopoverContent.css.cjs +1 -1
  442. package/dist/components/overlay/popover/components/content/styles/PopoverContent.css.js +1 -1
  443. package/dist/components/overlay/popover/components/item/styles/PopoverItem.css.cjs +1 -1
  444. package/dist/components/overlay/popover/components/item/styles/PopoverItem.css.js +1 -1
  445. package/dist/components/overlay/tooltip/styles/Tooltip.css.cjs +1 -1
  446. package/dist/components/overlay/tooltip/styles/Tooltip.css.js +1 -1
  447. package/dist/components/surfaces/accordion/components/accordion-content/styles/AccordionContent.css.cjs +1 -1
  448. package/dist/components/surfaces/accordion/components/accordion-content/styles/AccordionContent.css.js +1 -1
  449. package/dist/components/surfaces/accordion/components/accordion-item/styles/AccordionItem.css.cjs +1 -1
  450. package/dist/components/surfaces/accordion/components/accordion-item/styles/AccordionItem.css.js +1 -1
  451. package/dist/components/surfaces/accordion/components/accordion-trigger/AccordionTrigger.cjs +1 -1
  452. package/dist/components/surfaces/accordion/components/accordion-trigger/AccordionTrigger.js +1 -1
  453. package/dist/components/surfaces/accordion/components/accordion-trigger/styles/AccordionTrigger.css.cjs +1 -1
  454. package/dist/components/surfaces/accordion/components/accordion-trigger/styles/AccordionTrigger.css.js +1 -1
  455. package/dist/components/surfaces/accordion/styles/Accordion.css.cjs +1 -1
  456. package/dist/components/surfaces/accordion/styles/Accordion.css.js +1 -1
  457. package/dist/components/surfaces/card/components/card-header/styles/CardHeader.css.cjs +1 -1
  458. package/dist/components/surfaces/card/components/card-header/styles/CardHeader.css.js +1 -1
  459. package/dist/components/surfaces/card/styles/Card.css.cjs +1 -1
  460. package/dist/components/surfaces/card/styles/Card.css.js +1 -1
  461. package/dist/components/surfaces/collapsible/components/collapsible-panel/styles/CollapsiblePanel.css.cjs +1 -1
  462. package/dist/components/surfaces/collapsible/components/collapsible-panel/styles/CollapsiblePanel.css.js +1 -1
  463. package/dist/components/surfaces/collapsible/components/collapsible-trigger/CollapsibleTrigger.cjs +1 -1
  464. package/dist/components/surfaces/collapsible/components/collapsible-trigger/CollapsibleTrigger.js +1 -1
  465. package/dist/components/surfaces/collapsible/components/collapsible-trigger/styles/CollapsibleTrigger.css.cjs +1 -1
  466. package/dist/components/surfaces/collapsible/components/collapsible-trigger/styles/CollapsibleTrigger.css.js +1 -1
  467. package/dist/components/surfaces/collapsible/styles/Collapsible.css.cjs +1 -1
  468. package/dist/components/surfaces/collapsible/styles/Collapsible.css.js +1 -1
  469. package/dist/components/theme-provider/ThemeProvider.cjs +1 -1
  470. package/dist/components/theme-provider/ThemeProvider.js +1 -1
  471. package/dist/constants/animations/fade/fadeIn.css.cjs +1 -1
  472. package/dist/constants/animations/fade/fadeIn.css.js +1 -1
  473. package/dist/constants/animations/fade/fadeOut.css.cjs +1 -1
  474. package/dist/constants/animations/fade/fadeOut.css.js +1 -1
  475. package/dist/constants/animations/pulse/pulseAnimation.css.cjs +1 -1
  476. package/dist/constants/animations/pulse/pulseAnimation.css.js +1 -1
  477. package/dist/constants/animations/slide/slideDownIn.css.cjs +1 -1
  478. package/dist/constants/animations/slide/slideDownIn.css.js +1 -1
  479. package/dist/constants/animations/slide/slideDownOut.css.cjs +1 -1
  480. package/dist/constants/animations/slide/slideDownOut.css.js +1 -1
  481. package/dist/constants/animations/slide/slideLeftIn.css.cjs +1 -1
  482. package/dist/constants/animations/slide/slideLeftIn.css.js +1 -1
  483. package/dist/constants/animations/slide/slideRightIn.css.cjs +1 -1
  484. package/dist/constants/animations/slide/slideRightIn.css.js +1 -1
  485. package/dist/constants/animations/slide/slideRightOut.css.cjs +1 -1
  486. package/dist/constants/animations/slide/slideRightOut.css.js +1 -1
  487. package/dist/constants/animations/slide/slideUpIn.css.cjs +1 -1
  488. package/dist/constants/animations/slide/slideUpIn.css.js +1 -1
  489. package/dist/constants/animations/slide/slideUpOut.css.cjs +1 -1
  490. package/dist/constants/animations/slide/slideUpOut.css.js +1 -1
  491. package/dist/constants/animations/spin/spinAnimation.css.cjs +1 -1
  492. package/dist/constants/animations/spin/spinAnimation.css.js +1 -1
  493. package/dist/hooks/use-notification/useNotification.hook.cjs +1 -1
  494. package/dist/hooks/use-notification/useNotification.hook.js +1 -1
  495. package/dist/hooks/use-toast/useToast.hook.cjs +1 -1
  496. package/dist/hooks/use-toast/useToast.hook.js +1 -1
  497. package/dist/index.cjs +1 -1
  498. package/dist/index.js +334 -323
  499. package/dist/index.js.map +1 -1
  500. package/dist/resources/asset/ClockIcon.svg.cjs +2 -0
  501. package/dist/resources/asset/ClockIcon.svg.cjs.map +1 -0
  502. package/dist/resources/asset/ClockIcon.svg.js +6 -0
  503. package/dist/resources/asset/ClockIcon.svg.js.map +1 -0
  504. package/dist/styles.css +151 -145
  505. package/dist/ui-kit10.css +1 -1
  506. package/dist/ui-kit100.css +1 -1
  507. package/dist/ui-kit101.css +1 -1
  508. package/dist/ui-kit102.css +1 -1
  509. package/dist/ui-kit103.css +1 -1
  510. package/dist/ui-kit104.css +1 -1
  511. package/dist/ui-kit105.css +1 -1
  512. package/dist/ui-kit106.css +1 -1
  513. package/dist/ui-kit107.css +1 -1
  514. package/dist/ui-kit108.css +1 -1
  515. package/dist/ui-kit109.css +1 -1
  516. package/dist/ui-kit110.css +1 -1
  517. package/dist/ui-kit111.css +1 -1
  518. package/dist/ui-kit112.css +1 -1
  519. package/dist/ui-kit113.css +1 -1
  520. package/dist/ui-kit114.css +1 -1
  521. package/dist/ui-kit115.css +1 -1
  522. package/dist/ui-kit116.css +1 -1
  523. package/dist/ui-kit117.css +1 -1
  524. package/dist/ui-kit118.css +1 -1
  525. package/dist/ui-kit119.css +1 -1
  526. package/dist/ui-kit12.css +1 -1
  527. package/dist/ui-kit120.css +1 -1
  528. package/dist/ui-kit121.css +1 -1
  529. package/dist/ui-kit122.css +1 -1
  530. package/dist/ui-kit123.css +1 -1
  531. package/dist/ui-kit124.css +1 -1
  532. package/dist/ui-kit125.css +1 -1
  533. package/dist/ui-kit126.css +1 -1
  534. package/dist/ui-kit127.css +1 -1
  535. package/dist/ui-kit128.css +1 -1
  536. package/dist/ui-kit129.css +1 -1
  537. package/dist/ui-kit13.css +1 -1
  538. package/dist/ui-kit131.css +1 -1
  539. package/dist/ui-kit133.css +1 -1
  540. package/dist/ui-kit134.css +1 -1
  541. package/dist/ui-kit135.css +1 -1
  542. package/dist/ui-kit136.css +1 -1
  543. package/dist/ui-kit137.css +1 -1
  544. package/dist/ui-kit138.css +1 -1
  545. package/dist/ui-kit139.css +1 -1
  546. package/dist/ui-kit14.css +1 -1
  547. package/dist/ui-kit140.css +1 -1
  548. package/dist/ui-kit141.css +1 -1
  549. package/dist/ui-kit142.css +1 -1
  550. package/dist/ui-kit143.css +1 -1
  551. package/dist/ui-kit144.css +1 -1
  552. package/dist/ui-kit145.css +1 -1
  553. package/dist/ui-kit146.css +1 -1
  554. package/dist/ui-kit147.css +1 -1
  555. package/dist/ui-kit148.css +1 -1
  556. package/dist/ui-kit149.css +1 -1
  557. package/dist/ui-kit15.css +1 -1
  558. package/dist/ui-kit150.css +1 -1
  559. package/dist/ui-kit151.css +1 -1
  560. package/dist/ui-kit152.css +1 -1
  561. package/dist/ui-kit153.css +1 -1
  562. package/dist/ui-kit154.css +1 -1
  563. package/dist/ui-kit155.css +1 -1
  564. package/dist/ui-kit156.css +1 -1
  565. package/dist/ui-kit157.css +1 -1
  566. package/dist/ui-kit158.css +1 -1
  567. package/dist/ui-kit159.css +1 -1
  568. package/dist/ui-kit16.css +1 -1
  569. package/dist/ui-kit160.css +1 -1
  570. package/dist/ui-kit161.css +1 -1
  571. package/dist/ui-kit162.css +1 -1
  572. package/dist/ui-kit163.css +1 -1
  573. package/dist/ui-kit164.css +1 -1
  574. package/dist/ui-kit165.css +1 -1
  575. package/dist/ui-kit166.css +1 -1
  576. package/dist/ui-kit167.css +1 -1
  577. package/dist/ui-kit168.css +1 -1
  578. package/dist/ui-kit169.css +1 -0
  579. package/dist/ui-kit17.css +1 -1
  580. package/dist/ui-kit170.css +1 -0
  581. package/dist/ui-kit171.css +1 -0
  582. package/dist/ui-kit18.css +1 -1
  583. package/dist/ui-kit19.css +1 -1
  584. package/dist/ui-kit20.css +1 -1
  585. package/dist/ui-kit21.css +1 -1
  586. package/dist/ui-kit22.css +1 -1
  587. package/dist/ui-kit23.css +1 -1
  588. package/dist/ui-kit24.css +1 -1
  589. package/dist/ui-kit25.css +1 -1
  590. package/dist/ui-kit26.css +1 -1
  591. package/dist/ui-kit27.css +1 -1
  592. package/dist/ui-kit28.css +1 -1
  593. package/dist/ui-kit29.css +1 -1
  594. package/dist/ui-kit3.css +1 -1
  595. package/dist/ui-kit30.css +1 -1
  596. package/dist/ui-kit31.css +1 -1
  597. package/dist/ui-kit32.css +1 -1
  598. package/dist/ui-kit33.css +1 -1
  599. package/dist/ui-kit34.css +1 -1
  600. package/dist/ui-kit35.css +1 -1
  601. package/dist/ui-kit36.css +1 -1
  602. package/dist/ui-kit37.css +1 -1
  603. package/dist/ui-kit38.css +1 -1
  604. package/dist/ui-kit39.css +1 -1
  605. package/dist/ui-kit4.css +1 -1
  606. package/dist/ui-kit40.css +1 -1
  607. package/dist/ui-kit41.css +1 -1
  608. package/dist/ui-kit42.css +1 -1
  609. package/dist/ui-kit43.css +1 -1
  610. package/dist/ui-kit44.css +1 -1
  611. package/dist/ui-kit45.css +1 -1
  612. package/dist/ui-kit46.css +1 -1
  613. package/dist/ui-kit47.css +1 -1
  614. package/dist/ui-kit48.css +1 -1
  615. package/dist/ui-kit49.css +1 -1
  616. package/dist/ui-kit5.css +1 -1
  617. package/dist/ui-kit50.css +1 -1
  618. package/dist/ui-kit51.css +1 -1
  619. package/dist/ui-kit52.css +1 -1
  620. package/dist/ui-kit53.css +1 -1
  621. package/dist/ui-kit54.css +1 -1
  622. package/dist/ui-kit55.css +1 -1
  623. package/dist/ui-kit56.css +1 -1
  624. package/dist/ui-kit57.css +1 -1
  625. package/dist/ui-kit58.css +1 -1
  626. package/dist/ui-kit59.css +1 -1
  627. package/dist/ui-kit6.css +1 -1
  628. package/dist/ui-kit60.css +1 -1
  629. package/dist/ui-kit61.css +1 -1
  630. package/dist/ui-kit62.css +1 -1
  631. package/dist/ui-kit63.css +1 -1
  632. package/dist/ui-kit64.css +1 -1
  633. package/dist/ui-kit65.css +1 -1
  634. package/dist/ui-kit66.css +1 -1
  635. package/dist/ui-kit67.css +1 -1
  636. package/dist/ui-kit68.css +1 -1
  637. package/dist/ui-kit69.css +1 -1
  638. package/dist/ui-kit7.css +1 -1
  639. package/dist/ui-kit70.css +1 -1
  640. package/dist/ui-kit71.css +1 -1
  641. package/dist/ui-kit72.css +1 -1
  642. package/dist/ui-kit73.css +1 -1
  643. package/dist/ui-kit74.css +1 -1
  644. package/dist/ui-kit75.css +1 -1
  645. package/dist/ui-kit76.css +1 -1
  646. package/dist/ui-kit77.css +1 -1
  647. package/dist/ui-kit78.css +1 -1
  648. package/dist/ui-kit79.css +1 -1
  649. package/dist/ui-kit8.css +1 -1
  650. package/dist/ui-kit80.css +1 -1
  651. package/dist/ui-kit81.css +1 -1
  652. package/dist/ui-kit82.css +1 -1
  653. package/dist/ui-kit84.css +1 -1
  654. package/dist/ui-kit85.css +1 -1
  655. package/dist/ui-kit86.css +1 -1
  656. package/dist/ui-kit87.css +1 -1
  657. package/dist/ui-kit88.css +1 -1
  658. package/dist/ui-kit89.css +1 -1
  659. package/dist/ui-kit9.css +1 -1
  660. package/dist/ui-kit90.css +1 -1
  661. package/dist/ui-kit91.css +1 -1
  662. package/dist/ui-kit92.css +1 -1
  663. package/dist/ui-kit93.css +1 -1
  664. package/dist/ui-kit94.css +1 -1
  665. package/dist/ui-kit95.css +1 -1
  666. package/dist/ui-kit96.css +1 -1
  667. package/dist/ui-kit97.css +1 -1
  668. package/dist/ui-kit98.css +1 -1
  669. package/dist/ui-kit99.css +1 -1
  670. package/package.json +2 -2
@@ -0,0 +1,126 @@
1
+ import { jsxs as o, jsx as t } from "react/jsx-runtime";
2
+ import { memo as z, useMemo as b, useRef as O, useEffect as S } from "react";
3
+ import E from "../../../../actions/button/Button.js";
4
+ import "../../../../actions/button/styles/Button.css.js";
5
+ import { TIME_PICKER_PANEL_STYLES as l } from "./styles/TimePickerPanel.css.js";
6
+ import { splitTime as y, getHourOptions as T, isTimeInRange as d, getMinuteOptions as q } from "../../utils/timePicker.utils.js";
7
+ const K = z(
8
+ ({
9
+ selectedTime: k,
10
+ defaultPanelTime: P,
11
+ minTime: s,
12
+ maxTime: c,
13
+ hourStep: p,
14
+ minuteStep: m,
15
+ hoursAriaLabel: f,
16
+ minutesAriaLabel: u,
17
+ showNowButton: h,
18
+ clearable: N,
19
+ nowLabel: C,
20
+ clearLabel: H,
21
+ onHourSelect: R,
22
+ onMinuteSelect: $,
23
+ onNowSelect: I,
24
+ onClear: M
25
+ }) => {
26
+ const n = y(k), i = n ?? y(P), a = i?.hour, _ = b(
27
+ () => T(p).filter(
28
+ (e) => d(`${e}:59`, s, void 0) && d(`${e}:00`, void 0, c)
29
+ ),
30
+ [p, s, c]
31
+ ), j = b(
32
+ () => q(m).filter(
33
+ (e) => a === void 0 || d(`${a}:${e}`, s, c)
34
+ ),
35
+ [m, a, s, c]
36
+ ), v = O(null);
37
+ S(() => {
38
+ v.current?.querySelectorAll('[aria-pressed="true"], [data-reference="true"]').forEach((e) => {
39
+ const r = e.parentElement?.parentElement;
40
+ r && (r.scrollTop = e.offsetTop - r.clientHeight / 2 + e.clientHeight / 2);
41
+ });
42
+ }, []);
43
+ const g = (e, r) => ({
44
+ "aria-pressed": e,
45
+ "data-reference": !n && r ? !0 : void 0
46
+ });
47
+ return /* @__PURE__ */ o(
48
+ "div",
49
+ {
50
+ ref: v,
51
+ className: l.root,
52
+ children: [
53
+ /* @__PURE__ */ o("div", { className: l.body, children: [
54
+ /* @__PURE__ */ o("div", { className: l.group, children: [
55
+ /* @__PURE__ */ t("p", { className: l.title, children: f }),
56
+ /* @__PURE__ */ t(
57
+ "ul",
58
+ {
59
+ "aria-label": f,
60
+ className: l.column,
61
+ children: _.map((e) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
62
+ "button",
63
+ {
64
+ type: "button",
65
+ ...g(n?.hour === e, i?.hour === e),
66
+ className: l.item,
67
+ onClick: () => R(e),
68
+ children: e
69
+ }
70
+ ) }, e))
71
+ }
72
+ )
73
+ ] }),
74
+ /* @__PURE__ */ o("div", { className: l.group, children: [
75
+ /* @__PURE__ */ t("p", { className: l.title, children: u }),
76
+ /* @__PURE__ */ t(
77
+ "ul",
78
+ {
79
+ "aria-label": u,
80
+ className: l.column,
81
+ children: j.map((e) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
82
+ "button",
83
+ {
84
+ type: "button",
85
+ ...g(n?.minute === e, i?.minute === e),
86
+ className: l.item,
87
+ onClick: () => $(e),
88
+ children: e
89
+ }
90
+ ) }, e))
91
+ }
92
+ )
93
+ ] })
94
+ ] }),
95
+ (h || N) && /* @__PURE__ */ o("div", { className: l.footer, children: [
96
+ N ? /* @__PURE__ */ t(
97
+ E,
98
+ {
99
+ label: H,
100
+ variant: "ghost",
101
+ size: "sm",
102
+ type: "button",
103
+ onClick: M
104
+ }
105
+ ) : /* @__PURE__ */ t("span", {}),
106
+ h && /* @__PURE__ */ t(
107
+ E,
108
+ {
109
+ label: C,
110
+ variant: "ghost",
111
+ size: "sm",
112
+ type: "button",
113
+ onClick: I
114
+ }
115
+ )
116
+ ] })
117
+ ]
118
+ }
119
+ );
120
+ }
121
+ );
122
+ K.displayName = "TimePickerPanel";
123
+ export {
124
+ K as default
125
+ };
126
+ //# sourceMappingURL=TimePickerPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePickerPanel.js","sources":["../../../../../../src/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.tsx"],"sourcesContent":["import { memo, useEffect, useMemo, useRef } from 'react'\r\n\r\nimport { Button } from '@components/actions/button'\r\nimport { TIME_PICKER_PANEL_STYLES } from '@components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.ts'\r\nimport type { TimePickerPanelProps } from '@components/forms/time-picker/components/time-picker-panel/types/TimePickerPanel.props.ts'\r\nimport {\r\n getHourOptions,\r\n getMinuteOptions,\r\n isTimeInRange,\r\n splitTime,\r\n} from '@components/forms/time-picker/utils/timePicker.utils.ts'\r\n\r\n/**\r\n * Two scrollable lists, hours and minutes, used inside the TimePicker popover.\r\n * Options outside the allowed range are not listed. The selected values, or the\r\n * default panel time, are scrolled into view on mount.\r\n */\r\nconst TimePickerPanel = memo(\r\n ({\r\n selectedTime,\r\n defaultPanelTime,\r\n minTime,\r\n maxTime,\r\n hourStep,\r\n minuteStep,\r\n hoursAriaLabel,\r\n minutesAriaLabel,\r\n showNowButton,\r\n clearable,\r\n nowLabel,\r\n clearLabel,\r\n onHourSelect,\r\n onMinuteSelect,\r\n onNowSelect,\r\n onClear,\r\n }: TimePickerPanelProps) => {\r\n const selected = splitTime(selectedTime)\r\n const reference = selected ?? splitTime(defaultPanelTime)\r\n const referenceHour = reference?.hour\r\n const hours = useMemo(\r\n () => getHourOptions(hourStep).filter(\r\n hour => isTimeInRange(`${hour}:59`, minTime, undefined)\r\n && isTimeInRange(`${hour}:00`, undefined, maxTime),\r\n ),\r\n [hourStep, minTime, maxTime],\r\n )\r\n const minutes = useMemo(\r\n () => getMinuteOptions(minuteStep).filter(\r\n minute => referenceHour === undefined\r\n || isTimeInRange(`${referenceHour}:${minute}`, minTime, maxTime),\r\n ),\r\n [minuteStep, referenceHour, minTime, maxTime],\r\n )\r\n const rootRef = useRef<HTMLDivElement>(null)\r\n\r\n useEffect(() => {\r\n rootRef.current\r\n ?.querySelectorAll<HTMLElement>('[aria-pressed=\"true\"], [data-reference=\"true\"]')\r\n .forEach((item) => {\r\n const column = item.parentElement?.parentElement\r\n if (column) {\r\n column.scrollTop = item.offsetTop - column.clientHeight / 2 + item.clientHeight / 2\r\n }\r\n })\r\n }, [])\r\n\r\n const getState = (isSelected: boolean, isReference: boolean) => ({\r\n 'aria-pressed': isSelected,\r\n 'data-reference': !selected && isReference ? true : undefined,\r\n })\r\n\r\n return (\r\n <div\r\n ref={rootRef}\r\n className={TIME_PICKER_PANEL_STYLES.root}\r\n >\r\n <div className={TIME_PICKER_PANEL_STYLES.body}>\r\n <div className={TIME_PICKER_PANEL_STYLES.group}>\r\n <p className={TIME_PICKER_PANEL_STYLES.title}>{hoursAriaLabel}</p>\r\n <ul\r\n aria-label={hoursAriaLabel}\r\n className={TIME_PICKER_PANEL_STYLES.column}\r\n >\r\n {hours.map((hour) => (\r\n <li key={hour}>\r\n <button\r\n type={'button'}\r\n {...getState(selected?.hour === hour, reference?.hour === hour)}\r\n className={TIME_PICKER_PANEL_STYLES.item}\r\n onClick={() => onHourSelect(hour)}\r\n >\r\n {hour}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n <div className={TIME_PICKER_PANEL_STYLES.group}>\r\n <p className={TIME_PICKER_PANEL_STYLES.title}>{minutesAriaLabel}</p>\r\n <ul\r\n aria-label={minutesAriaLabel}\r\n className={TIME_PICKER_PANEL_STYLES.column}\r\n >\r\n {minutes.map((minute) => (\r\n <li key={minute}>\r\n <button\r\n type={'button'}\r\n {...getState(selected?.minute === minute, reference?.minute === minute)}\r\n className={TIME_PICKER_PANEL_STYLES.item}\r\n onClick={() => onMinuteSelect(minute)}\r\n >\r\n {minute}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n {(showNowButton || clearable) && (\r\n <div className={TIME_PICKER_PANEL_STYLES.footer}>\r\n {clearable\r\n ? (\r\n <Button\r\n label={clearLabel}\r\n variant={'ghost'}\r\n size={'sm'}\r\n type={'button'}\r\n onClick={onClear}\r\n />\r\n )\r\n : <span />}\r\n {showNowButton && (\r\n <Button\r\n label={nowLabel}\r\n variant={'ghost'}\r\n size={'sm'}\r\n type={'button'}\r\n onClick={onNowSelect}\r\n />\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n },\r\n)\r\n\r\nTimePickerPanel.displayName = 'TimePickerPanel'\r\n\r\nexport default TimePickerPanel\r\n"],"names":["TimePickerPanel","memo","selectedTime","defaultPanelTime","minTime","maxTime","hourStep","minuteStep","hoursAriaLabel","minutesAriaLabel","showNowButton","clearable","nowLabel","clearLabel","onHourSelect","onMinuteSelect","onNowSelect","onClear","selected","splitTime","reference","referenceHour","hours","useMemo","getHourOptions","hour","isTimeInRange","minutes","getMinuteOptions","minute","rootRef","useRef","useEffect","item","column","getState","isSelected","isReference","jsxs","TIME_PICKER_PANEL_STYLES","jsx","Button"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../../../../ui-kit157.css');require('../../../../../../ui-kit.css');;/* empty css */;/* empty css */var e={root:"_1p6gdxx0",body:"_1p6gdxx1",group:"_1p6gdxx2",title:"_1p6gdxx3",column:"_1p6gdxx4",item:"_1p6gdxx5",footer:"_1p6gdxx6"};exports.TIME_PICKER_PANEL_STYLES=e;
2
+ //# sourceMappingURL=TimePickerPanel.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePickerPanel.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export declare const TIME_PICKER_PANEL_STYLES: {
2
+ root: string;
3
+ body: string;
4
+ group: string;
5
+ title: string;
6
+ column: string;
7
+ item: string;
8
+ footer: string;
9
+ };
@@ -0,0 +1,7 @@
1
+ import '../../../../../../ui-kit157.css';import '../../../../../../ui-kit.css';/* empty css */
2
+ /* empty css */
3
+ var o = { root: "_1p6gdxx0", body: "_1p6gdxx1", group: "_1p6gdxx2", title: "_1p6gdxx3", column: "_1p6gdxx4", item: "_1p6gdxx5", footer: "_1p6gdxx6" };
4
+ export {
5
+ o as TIME_PICKER_PANEL_STYLES
6
+ };
7
+ //# sourceMappingURL=TimePickerPanel.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePickerPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,34 @@
1
+ export type TimePickerPanelProps = {
2
+ /** Selected time as `HH:mm`, if any. */
3
+ selectedTime: string | undefined;
4
+ /** Time used as reference (scroll position, minute bounds) when none is selected. */
5
+ defaultPanelTime: string | undefined;
6
+ /** Earliest selectable time. */
7
+ minTime: string | undefined;
8
+ /** Latest selectable time. */
9
+ maxTime: string | undefined;
10
+ /** Interval between the listed hours. */
11
+ hourStep: number;
12
+ /** Interval between the listed minutes. */
13
+ minuteStep: number;
14
+ /** Title and accessible name of the hours list. */
15
+ hoursAriaLabel: string;
16
+ /** Title and accessible name of the minutes list. */
17
+ minutesAriaLabel: string;
18
+ /** Whether to show the "now" footer button. */
19
+ showNowButton: boolean;
20
+ /** Whether to show the clear footer button. */
21
+ clearable: boolean;
22
+ /** Label of the "now" button. */
23
+ nowLabel: string;
24
+ /** Label of the clear button. */
25
+ clearLabel: string;
26
+ /** Called when an hour is chosen. */
27
+ onHourSelect: (hour: string) => void;
28
+ /** Called when a minute is chosen. */
29
+ onMinuteSelect: (minute: string) => void;
30
+ /** Called when the "now" button is pressed. */
31
+ onNowSelect: () => void;
32
+ /** Called when the clear button is pressed. */
33
+ onClear: () => void;
34
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=1,T=5,_=new Set([" ","Spacebar"]);exports.DEFAULT_HOUR_STEP=E;exports.DEFAULT_MINUTE_STEP=T;exports.KEYS_THAT_OPEN_NATIVE_PICKER=_;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../src/components/forms/time-picker/constants/index.ts"],"sourcesContent":["export const DEFAULT_HOUR_STEP = 1\nexport const DEFAULT_MINUTE_STEP = 5\n\nexport const KEYS_THAT_OPEN_NATIVE_PICKER = new Set([' ', 'Spacebar'])\r\n"],"names":["DEFAULT_HOUR_STEP","DEFAULT_MINUTE_STEP","KEYS_THAT_OPEN_NATIVE_PICKER"],"mappings":"gFAAO,MAAMA,EAAoB,EACpBC,EAAsB,EAEtBC,EAA+B,IAAI,IAAI,CAAC,IAAK,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_HOUR_STEP = 1;
2
+ export declare const DEFAULT_MINUTE_STEP = 5;
3
+ export declare const KEYS_THAT_OPEN_NATIVE_PICKER: Set<string>;
@@ -0,0 +1,7 @@
1
+ const E = 1, T = 5, _ = /* @__PURE__ */ new Set([" ", "Spacebar"]);
2
+ export {
3
+ E as DEFAULT_HOUR_STEP,
4
+ T as DEFAULT_MINUTE_STEP,
5
+ _ as KEYS_THAT_OPEN_NATIVE_PICKER
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/forms/time-picker/constants/index.ts"],"sourcesContent":["export const DEFAULT_HOUR_STEP = 1\nexport const DEFAULT_MINUTE_STEP = 5\n\nexport const KEYS_THAT_OPEN_NATIVE_PICKER = new Set([' ', 'Spacebar'])\r\n"],"names":["DEFAULT_HOUR_STEP","DEFAULT_MINUTE_STEP","KEYS_THAT_OPEN_NATIVE_PICKER"],"mappings":"AAAO,MAAMA,IAAoB,GACpBC,IAAsB,GAEtBC,IAA+B,oBAAI,IAAI,CAAC,KAAK,UAAU,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),D=require("../constants/index.cjs"),e=require("../utils/timePicker.utils.cjs"),K=({value:c,defaultValue:d,onChange:k,id:S,defaultPanelTime:p,minTime:l,maxTime:r})=>{const u=c!==void 0,h=t.useId(),b=S??h,[f,C]=t.useState(e.isValidTime(d)?d:void 0),[I,T]=t.useState(e.isValidTime(d)?d:""),[w,a]=t.useState(!1),n=u?e.isValidTime(c)?c:void 0:f;t.useEffect(()=>{u&&(C(e.isValidTime(c)?c:void 0),T(e.isValidTime(c)?c:""))},[u,c]);const i=t.useCallback(s=>{u||(C(s),T(s??"")),k?.(s)},[u,k]),V=t.useCallback(s=>{const o=s.target.value;if(T(o),o===""){n!==void 0&&i(void 0);return}e.isValidTime(o)&&o!==n&&i(o)},[n,i]),m=t.useCallback(s=>{const o=e.splitTime(n)?.minute??e.splitTime(p)?.minute??"00";i(e.clampTime(e.joinTime(s,o),l,r))},[n,p,l,r,i]),y=t.useCallback(s=>{const o=e.splitTime(n)?.hour??e.splitTime(p)?.hour??"00";i(e.clampTime(e.joinTime(o,s),l,r)),a(!1)},[n,p,l,r,i]),g=t.useCallback(()=>{i(e.clampTime(e.getCurrentTime(),l,r)),a(!1)},[l,r,i]),A=t.useCallback(()=>{i(void 0),a(!1)},[i]),E=t.useCallback(s=>{const o=D.KEYS_THAT_OPEN_NATIVE_PICKER.has(s.key),_=s.key==="ArrowDown"&&s.altKey;(o||_)&&(s.preventDefault(),a(!0))},[]);return{selectedTime:n,inputValue:I,open:w,inputId:b,handleInputChange:V,handleInputKeyDown:E,handleHourSelect:m,handleMinuteSelect:y,handleNowSelect:g,handleClear:A,setOpen:a}};exports.useTimePicker=K;
2
+ //# sourceMappingURL=useTimePicker.hook.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTimePicker.hook.cjs","sources":["../../../../../src/components/forms/time-picker/hooks/useTimePicker.hook.ts"],"sourcesContent":["import { useCallback, useEffect, useId, useState } from 'react'\n\nimport { KEYS_THAT_OPEN_NATIVE_PICKER } from '@components/forms/time-picker/constants'\nimport type { UseTimePickerOptions, UseTimePickerReturn } from '@components/forms/time-picker/types'\nimport { clampTime, getCurrentTime, isValidTime, joinTime, splitTime } from '@components/forms/time-picker/utils/timePicker.utils.ts'\n\n/**\n * Manages state and interactions for the TimePicker component.\n *\n * Supports both controlled and uncontrolled modes, keeps the native time input\n * in sync with the popover selection, and only commits valid `HH:mm` values to\n * `onChange`.\n */\nexport const useTimePicker = ({\n value,\n defaultValue,\n onChange,\n id,\n defaultPanelTime,\n minTime,\n maxTime,\n}: UseTimePickerOptions): UseTimePickerReturn => {\n const isControlled = value !== undefined\n const generatedId = useId()\n const inputId = id ?? generatedId\n\n const [selectedTime, setSelectedTime] = useState<string | undefined>(\n isValidTime(defaultValue) ? defaultValue : undefined,\n )\n const [inputValue, setInputValue] = useState(\n isValidTime(defaultValue) ? defaultValue : '',\n )\n const [open, setOpen] = useState(false)\n\n const resolvedTime = isControlled ? (isValidTime(value) ? value : undefined) : selectedTime\n\n useEffect(() => {\n if (isControlled) {\n setSelectedTime(isValidTime(value) ? value : undefined)\n setInputValue(isValidTime(value) ? value : '')\n }\n }, [isControlled, value])\n\n const updateTime = useCallback(\n (time: string | undefined) => {\n if (!isControlled) {\n setSelectedTime(time)\n setInputValue(time ?? '')\n }\n onChange?.(time)\n },\n [isControlled, onChange],\n )\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value\n setInputValue(newValue)\n\n if (newValue === '') {\n if (resolvedTime !== undefined) {\n updateTime(undefined)\n }\n return\n }\n\n if (isValidTime(newValue) && newValue !== resolvedTime) {\n updateTime(newValue)\n }\n },\n [resolvedTime, updateTime],\n )\n\n const handleHourSelect = useCallback(\n (hour: string) => {\n const minute = splitTime(resolvedTime)?.minute\n ?? splitTime(defaultPanelTime)?.minute\n ?? '00'\n updateTime(clampTime(joinTime(hour, minute), minTime, maxTime))\n },\n [resolvedTime, defaultPanelTime, minTime, maxTime, updateTime],\n )\n\n const handleMinuteSelect = useCallback(\n (minute: string) => {\n const hour = splitTime(resolvedTime)?.hour\n ?? splitTime(defaultPanelTime)?.hour\n ?? '00'\n updateTime(clampTime(joinTime(hour, minute), minTime, maxTime))\n setOpen(false)\n },\n [resolvedTime, defaultPanelTime, minTime, maxTime, updateTime],\n )\n\n const handleNowSelect = useCallback(() => {\n updateTime(clampTime(getCurrentTime(), minTime, maxTime))\n setOpen(false)\n }, [minTime, maxTime, updateTime])\n\n const handleClear = useCallback(() => {\n updateTime(undefined)\n setOpen(false)\n }, [updateTime])\n const handleInputKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n const isSpace = KEYS_THAT_OPEN_NATIVE_PICKER.has(event.key)\n const isAltArrowDown = event.key === 'ArrowDown' && event.altKey\n\n if (isSpace || isAltArrowDown) {\n event.preventDefault()\n setOpen(true)\n }\n },\n [],\n )\n\n return {\n selectedTime: resolvedTime,\n inputValue,\n open,\n inputId,\n handleInputChange,\n handleInputKeyDown,\n handleHourSelect,\n handleMinuteSelect,\n handleNowSelect,\n handleClear,\n setOpen,\n }\n}\r\n"],"names":["useTimePicker","value","defaultValue","onChange","id","defaultPanelTime","minTime","maxTime","isControlled","generatedId","useId","inputId","selectedTime","setSelectedTime","useState","isValidTime","inputValue","setInputValue","open","setOpen","resolvedTime","useEffect","updateTime","useCallback","time","handleInputChange","event","newValue","handleHourSelect","hour","minute","splitTime","clampTime","joinTime","handleMinuteSelect","handleNowSelect","getCurrentTime","handleClear","handleInputKeyDown","isSpace","KEYS_THAT_OPEN_NATIVE_PICKER","isAltArrowDown"],"mappings":"wLAaaA,EAAgB,CAAC,CAC1B,MAAAC,EACA,aAAAC,EACA,SAAAC,EACA,GAAAC,EACA,iBAAAC,EACA,QAAAC,EACA,QAAAC,CACJ,IAAiD,CAC7C,MAAMC,EAAeP,IAAU,OACzBQ,EAAcC,EAAAA,MAAA,EACdC,EAAUP,GAAMK,EAEhB,CAACG,EAAcC,CAAe,EAAIC,EAAAA,SACpCC,cAAYb,CAAY,EAAIA,EAAe,MAAA,EAEzC,CAACc,EAAYC,CAAa,EAAIH,EAAAA,SAChCC,cAAYb,CAAY,EAAIA,EAAe,EAAA,EAEzC,CAACgB,EAAMC,CAAO,EAAIL,EAAAA,SAAS,EAAK,EAEhCM,EAAeZ,EAAgBO,EAAAA,YAAYd,CAAK,EAAIA,EAAQ,OAAaW,EAE/ES,EAAAA,UAAU,IAAM,CACRb,IACAK,EAAgBE,EAAAA,YAAYd,CAAK,EAAIA,EAAQ,MAAS,EACtDgB,EAAcF,EAAAA,YAAYd,CAAK,EAAIA,EAAQ,EAAE,EAErD,EAAG,CAACO,EAAcP,CAAK,CAAC,EAExB,MAAMqB,EAAaC,EAAAA,YACdC,GAA6B,CACrBhB,IACDK,EAAgBW,CAAI,EACpBP,EAAcO,GAAQ,EAAE,GAE5BrB,IAAWqB,CAAI,CACnB,EACA,CAAChB,EAAcL,CAAQ,CAAA,EAGrBsB,EAAoBF,EAAAA,YACrBG,GAA+C,CAC5C,MAAMC,EAAWD,EAAM,OAAO,MAG9B,GAFAT,EAAcU,CAAQ,EAElBA,IAAa,GAAI,CACbP,IAAiB,QACjBE,EAAW,MAAS,EAExB,MACJ,CAEIP,cAAYY,CAAQ,GAAKA,IAAaP,GACtCE,EAAWK,CAAQ,CAE3B,EACA,CAACP,EAAcE,CAAU,CAAA,EAGvBM,EAAmBL,EAAAA,YACpBM,GAAiB,CACd,MAAMC,EAASC,EAAAA,UAAUX,CAAY,GAAG,QACjCW,YAAU1B,CAAgB,GAAG,QAC7B,KACPiB,EAAWU,EAAAA,UAAUC,WAASJ,EAAMC,CAAM,EAAGxB,EAASC,CAAO,CAAC,CAClE,EACA,CAACa,EAAcf,EAAkBC,EAASC,EAASe,CAAU,CAAA,EAG3DY,EAAqBX,EAAAA,YACtBO,GAAmB,CAChB,MAAMD,EAAOE,EAAAA,UAAUX,CAAY,GAAG,MAC/BW,YAAU1B,CAAgB,GAAG,MAC7B,KACPiB,EAAWU,EAAAA,UAAUC,WAASJ,EAAMC,CAAM,EAAGxB,EAASC,CAAO,CAAC,EAC9DY,EAAQ,EAAK,CACjB,EACA,CAACC,EAAcf,EAAkBC,EAASC,EAASe,CAAU,CAAA,EAG3Da,EAAkBZ,EAAAA,YAAY,IAAM,CACtCD,EAAWU,EAAAA,UAAUI,EAAAA,eAAA,EAAkB9B,EAASC,CAAO,CAAC,EACxDY,EAAQ,EAAK,CACjB,EAAG,CAACb,EAASC,EAASe,CAAU,CAAC,EAE3Be,EAAcd,EAAAA,YAAY,IAAM,CAClCD,EAAW,MAAS,EACpBH,EAAQ,EAAK,CACjB,EAAG,CAACG,CAAU,CAAC,EACTgB,EAAqBf,EAAAA,YACtBG,GAAiD,CAC9C,MAAMa,EAAUC,EAAAA,6BAA6B,IAAId,EAAM,GAAG,EACpDe,EAAiBf,EAAM,MAAQ,aAAeA,EAAM,QAEtDa,GAAWE,KACXf,EAAM,eAAA,EACNP,EAAQ,EAAI,EAEpB,EACA,CAAA,CAAC,EAGL,MAAO,CACH,aAAcC,EACd,WAAAJ,EACA,KAAAE,EACA,QAAAP,EACA,kBAAAc,EACA,mBAAAa,EACA,iBAAAV,EACA,mBAAAM,EACA,gBAAAC,EACA,YAAAE,EACA,QAAAlB,CAAA,CAER"}
@@ -0,0 +1,9 @@
1
+ import { UseTimePickerOptions, UseTimePickerReturn } from '../types';
2
+ /**
3
+ * Manages state and interactions for the TimePicker component.
4
+ *
5
+ * Supports both controlled and uncontrolled modes, keeps the native time input
6
+ * in sync with the popover selection, and only commits valid `HH:mm` values to
7
+ * `onChange`.
8
+ */
9
+ export declare const useTimePicker: ({ value, defaultValue, onChange, id, defaultPanelTime, minTime, maxTime, }: UseTimePickerOptions) => UseTimePickerReturn;
@@ -0,0 +1,76 @@
1
+ import { useId as M, useState as w, useEffect as R, useCallback as c } from "react";
2
+ import { KEYS_THAT_OPEN_NATIVE_PICKER as T } from "../constants/index.js";
3
+ import { isValidTime as d, splitTime as h, clampTime as S, getCurrentTime as Y, joinTime as E } from "../utils/timePicker.utils.js";
4
+ const B = ({
5
+ value: s,
6
+ defaultValue: u,
7
+ onChange: A,
8
+ id: k,
9
+ defaultPanelTime: f,
10
+ minTime: r,
11
+ maxTime: i
12
+ }) => {
13
+ const p = s !== void 0, y = M(), D = k ?? y, [K, C] = w(
14
+ d(u) ? u : void 0
15
+ ), [_, I] = w(
16
+ d(u) ? u : ""
17
+ ), [a, l] = w(!1), n = p ? d(s) ? s : void 0 : K;
18
+ R(() => {
19
+ p && (C(d(s) ? s : void 0), I(d(s) ? s : ""));
20
+ }, [p, s]);
21
+ const o = c(
22
+ (t) => {
23
+ p || (C(t), I(t ?? "")), A?.(t);
24
+ },
25
+ [p, A]
26
+ ), g = c(
27
+ (t) => {
28
+ const e = t.target.value;
29
+ if (I(e), e === "") {
30
+ n !== void 0 && o(void 0);
31
+ return;
32
+ }
33
+ d(e) && e !== n && o(e);
34
+ },
35
+ [n, o]
36
+ ), N = c(
37
+ (t) => {
38
+ const e = h(n)?.minute ?? h(f)?.minute ?? "00";
39
+ o(S(E(t, e), r, i));
40
+ },
41
+ [n, f, r, i, o]
42
+ ), H = c(
43
+ (t) => {
44
+ const e = h(n)?.hour ?? h(f)?.hour ?? "00";
45
+ o(S(E(e, t), r, i)), l(!1);
46
+ },
47
+ [n, f, r, i, o]
48
+ ), O = c(() => {
49
+ o(S(Y(), r, i)), l(!1);
50
+ }, [r, i, o]), V = c(() => {
51
+ o(void 0), l(!1);
52
+ }, [o]), b = c(
53
+ (t) => {
54
+ const e = T.has(t.key), j = t.key === "ArrowDown" && t.altKey;
55
+ (e || j) && (t.preventDefault(), l(!0));
56
+ },
57
+ []
58
+ );
59
+ return {
60
+ selectedTime: n,
61
+ inputValue: _,
62
+ open: a,
63
+ inputId: D,
64
+ handleInputChange: g,
65
+ handleInputKeyDown: b,
66
+ handleHourSelect: N,
67
+ handleMinuteSelect: H,
68
+ handleNowSelect: O,
69
+ handleClear: V,
70
+ setOpen: l
71
+ };
72
+ };
73
+ export {
74
+ B as useTimePicker
75
+ };
76
+ //# sourceMappingURL=useTimePicker.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTimePicker.hook.js","sources":["../../../../../src/components/forms/time-picker/hooks/useTimePicker.hook.ts"],"sourcesContent":["import { useCallback, useEffect, useId, useState } from 'react'\n\nimport { KEYS_THAT_OPEN_NATIVE_PICKER } from '@components/forms/time-picker/constants'\nimport type { UseTimePickerOptions, UseTimePickerReturn } from '@components/forms/time-picker/types'\nimport { clampTime, getCurrentTime, isValidTime, joinTime, splitTime } from '@components/forms/time-picker/utils/timePicker.utils.ts'\n\n/**\n * Manages state and interactions for the TimePicker component.\n *\n * Supports both controlled and uncontrolled modes, keeps the native time input\n * in sync with the popover selection, and only commits valid `HH:mm` values to\n * `onChange`.\n */\nexport const useTimePicker = ({\n value,\n defaultValue,\n onChange,\n id,\n defaultPanelTime,\n minTime,\n maxTime,\n}: UseTimePickerOptions): UseTimePickerReturn => {\n const isControlled = value !== undefined\n const generatedId = useId()\n const inputId = id ?? generatedId\n\n const [selectedTime, setSelectedTime] = useState<string | undefined>(\n isValidTime(defaultValue) ? defaultValue : undefined,\n )\n const [inputValue, setInputValue] = useState(\n isValidTime(defaultValue) ? defaultValue : '',\n )\n const [open, setOpen] = useState(false)\n\n const resolvedTime = isControlled ? (isValidTime(value) ? value : undefined) : selectedTime\n\n useEffect(() => {\n if (isControlled) {\n setSelectedTime(isValidTime(value) ? value : undefined)\n setInputValue(isValidTime(value) ? value : '')\n }\n }, [isControlled, value])\n\n const updateTime = useCallback(\n (time: string | undefined) => {\n if (!isControlled) {\n setSelectedTime(time)\n setInputValue(time ?? '')\n }\n onChange?.(time)\n },\n [isControlled, onChange],\n )\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value\n setInputValue(newValue)\n\n if (newValue === '') {\n if (resolvedTime !== undefined) {\n updateTime(undefined)\n }\n return\n }\n\n if (isValidTime(newValue) && newValue !== resolvedTime) {\n updateTime(newValue)\n }\n },\n [resolvedTime, updateTime],\n )\n\n const handleHourSelect = useCallback(\n (hour: string) => {\n const minute = splitTime(resolvedTime)?.minute\n ?? splitTime(defaultPanelTime)?.minute\n ?? '00'\n updateTime(clampTime(joinTime(hour, minute), minTime, maxTime))\n },\n [resolvedTime, defaultPanelTime, minTime, maxTime, updateTime],\n )\n\n const handleMinuteSelect = useCallback(\n (minute: string) => {\n const hour = splitTime(resolvedTime)?.hour\n ?? splitTime(defaultPanelTime)?.hour\n ?? '00'\n updateTime(clampTime(joinTime(hour, minute), minTime, maxTime))\n setOpen(false)\n },\n [resolvedTime, defaultPanelTime, minTime, maxTime, updateTime],\n )\n\n const handleNowSelect = useCallback(() => {\n updateTime(clampTime(getCurrentTime(), minTime, maxTime))\n setOpen(false)\n }, [minTime, maxTime, updateTime])\n\n const handleClear = useCallback(() => {\n updateTime(undefined)\n setOpen(false)\n }, [updateTime])\n const handleInputKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n const isSpace = KEYS_THAT_OPEN_NATIVE_PICKER.has(event.key)\n const isAltArrowDown = event.key === 'ArrowDown' && event.altKey\n\n if (isSpace || isAltArrowDown) {\n event.preventDefault()\n setOpen(true)\n }\n },\n [],\n )\n\n return {\n selectedTime: resolvedTime,\n inputValue,\n open,\n inputId,\n handleInputChange,\n handleInputKeyDown,\n handleHourSelect,\n handleMinuteSelect,\n handleNowSelect,\n handleClear,\n setOpen,\n }\n}\r\n"],"names":["useTimePicker","value","defaultValue","onChange","id","defaultPanelTime","minTime","maxTime","isControlled","generatedId","useId","inputId","selectedTime","setSelectedTime","useState","isValidTime","inputValue","setInputValue","open","setOpen","resolvedTime","useEffect","updateTime","useCallback","time","handleInputChange","event","newValue","handleHourSelect","hour","minute","splitTime","clampTime","joinTime","handleMinuteSelect","handleNowSelect","getCurrentTime","handleClear","handleInputKeyDown","isSpace","KEYS_THAT_OPEN_NATIVE_PICKER","isAltArrowDown"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { default as TimePicker } from './TimePicker.tsx';
2
+ export { TIME_PICKER_STYLES } from './styles/TimePicker.css.ts';
3
+ export type { TimePickerProps } from './types/TimePicker.props.ts';
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../../ui-kit21.css');;/* empty css */var e={input:"nyssl70",content:"nyssl71"};exports.TIME_PICKER_STYLES=e;
2
+ //# sourceMappingURL=TimePicker.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export declare const TIME_PICKER_STYLES: {
2
+ /**
3
+ * Hides the browser-native clock picker icon on time inputs so the custom
4
+ * IconButton trigger is the only visible way to open the popover.
5
+ */
6
+ input: string;
7
+ /** Removes the popover content padding so the panel sits flush. */
8
+ content: string;
9
+ };
@@ -0,0 +1,6 @@
1
+ import '../../../../ui-kit21.css';/* empty css */
2
+ var t = { input: "nyssl70", content: "nyssl71" };
3
+ export {
4
+ t as TIME_PICKER_STYLES
5
+ };
6
+ //# sourceMappingURL=TimePicker.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,70 @@
1
+ import { TextFieldProps } from '../../text-field';
2
+ export type TimePickerProps = Omit<TextFieldProps, 'type' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max'> & {
3
+ /** The currently selected time as `HH:mm` (controlled). */
4
+ value?: string;
5
+ /** The default selected time as `HH:mm` (uncontrolled). */
6
+ defaultValue?: string;
7
+ /** Called with the new `HH:mm` time, or `undefined` when it is cleared. */
8
+ onChange?: (time: string | undefined) => void;
9
+ /**
10
+ * Time the popover scrolls to, and builds from, while no time is selected,
11
+ * as `HH:mm`. It is not written to the input until the user picks a value.
12
+ * @example '09:00'
13
+ */
14
+ defaultPanelTime?: string;
15
+ /** Earliest selectable time as `HH:mm`. Earlier options are not listed. */
16
+ minTime?: string;
17
+ /** Latest selectable time as `HH:mm`. Later options are not listed. */
18
+ maxTime?: string;
19
+ /**
20
+ * Interval between the hours listed in the popover.
21
+ * @default 1
22
+ */
23
+ hourStep?: number;
24
+ /**
25
+ * Interval between the minutes listed in the popover. Any minute can still
26
+ * be typed in the input.
27
+ * @default 5
28
+ */
29
+ minuteStep?: number;
30
+ /** Shows a footer button that selects the current time. */
31
+ showNowButton?: boolean;
32
+ /** Shows a footer button that clears the selected time. */
33
+ clearable?: boolean;
34
+ /**
35
+ * Label of the "now" button.
36
+ * Override for i18n.
37
+ * @default 'Now'
38
+ */
39
+ nowLabel?: string;
40
+ /**
41
+ * Label of the clear button.
42
+ * Override for i18n.
43
+ * @default 'Clear'
44
+ */
45
+ clearLabel?: string;
46
+ /**
47
+ * Accessible name for the time popover dialog.
48
+ * Override for i18n.
49
+ * @default 'Time'
50
+ */
51
+ panelAriaLabel?: string;
52
+ /**
53
+ * Visible title and accessible name of the hours list.
54
+ * Override for i18n.
55
+ * @default 'Hours'
56
+ */
57
+ hoursAriaLabel?: string;
58
+ /**
59
+ * Visible title and accessible name of the minutes list.
60
+ * Override for i18n.
61
+ * @default 'Minutes'
62
+ */
63
+ minutesAriaLabel?: string;
64
+ /**
65
+ * Accessible name for the button that opens the popover.
66
+ * Override for i18n.
67
+ * @default 'Open time picker'
68
+ */
69
+ triggerAriaLabel?: string;
70
+ };
@@ -0,0 +1,40 @@
1
+ export type UseTimePickerOptions = {
2
+ /** The currently selected time as `HH:mm` (controlled). */
3
+ value?: string;
4
+ /** The default selected time as `HH:mm` (uncontrolled). */
5
+ defaultValue?: string;
6
+ /** Called when the selected time changes. */
7
+ onChange?: (time: string | undefined) => void;
8
+ /** Explicit id for the input; falls back to a generated id. */
9
+ id?: string;
10
+ /** Time used to build a value while none is selected. */
11
+ defaultPanelTime?: string;
12
+ /** Earliest selectable time. */
13
+ minTime?: string;
14
+ /** Latest selectable time. */
15
+ maxTime?: string;
16
+ };
17
+ export type UseTimePickerReturn = {
18
+ /** Resolved selected time, `undefined` when empty or incomplete. */
19
+ selectedTime: string | undefined;
20
+ /** Current value of the time input. */
21
+ inputValue: string;
22
+ /** Whether the popover is open. */
23
+ open: boolean;
24
+ /** Stable id for the input element. */
25
+ inputId: string;
26
+ /** Update the input value while committing valid times. */
27
+ handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
28
+ /** Intercept keys that would open the native time picker. */
29
+ handleInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
30
+ /** Select an hour in the popover, keeping the current minute. */
31
+ handleHourSelect: (hour: string) => void;
32
+ /** Select a minute in the popover and close it. */
33
+ handleMinuteSelect: (minute: string) => void;
34
+ /** Select the current time and close the popover. */
35
+ handleNowSelect: () => void;
36
+ /** Clear the selected time and close the popover. */
37
+ handleClear: () => void;
38
+ /** Toggle the popover open state. */
39
+ setOpen: (open: boolean) => void;
40
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=/^([01]\d|2[0-3]):([0-5]\d)$/,i=t=>t!==void 0&&c.test(t),u=t=>{if(!i(t))return;const[e,n]=t.split(":");return{hour:e,minute:n}},g=(t,e)=>`${t}:${e}`,r=t=>String(t).padStart(2,"0"),s=(t,e)=>Number.isInteger(t)&&t>=1&&t<=e?t:1,a=(t=1)=>{const e=s(t,24);return Array.from({length:Math.ceil(24/e)},(n,o)=>r(o*e))},T=t=>{const e=s(t,60);return Array.from({length:Math.ceil(60/e)},(n,o)=>r(o*e))},l=(t,e,n)=>(!i(e)||t>=e)&&(!i(n)||t<=n),p=(t,e,n)=>i(e)&&t<e?e:i(n)&&t>n?n:t,d=(t=new Date)=>`${r(t.getHours())}:${r(t.getMinutes())}`;exports.clampTime=p;exports.getCurrentTime=d;exports.getHourOptions=a;exports.getMinuteOptions=T;exports.isTimeInRange=l;exports.isValidTime=i;exports.joinTime=g;exports.splitTime=u;
2
+ //# sourceMappingURL=timePicker.utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timePicker.utils.cjs","sources":["../../../../../src/components/forms/time-picker/utils/timePicker.utils.ts"],"sourcesContent":["const TIME_REGEX = /^([01]\\d|2[0-3]):([0-5]\\d)$/\n\n/** Returns whether the value is a valid 24-hour `HH:mm` time. */\nexport const isValidTime = (value: string | undefined): value is string =>\n value !== undefined && TIME_REGEX.test(value)\n\n/**\n * Splits a `HH:mm` time into its hour and minute parts.\n * Returns `undefined` when the value is empty or invalid.\n */\nexport const splitTime = (\n value: string | undefined,\n): { hour: string; minute: string } | undefined => {\n if (!isValidTime(value)) {return undefined}\n\n const [hour, minute] = value.split(':')\n\n return { hour, minute }\n}\n\n/** Builds a `HH:mm` time from an hour and a minute. */\nexport const joinTime = (hour: string, minute: string): string =>\n `${hour}:${minute}`\n\nconst pad = (value: number): string => String(value).padStart(2, '0')\n\nconst getSafeStep = (step: number, max: number): number =>\n Number.isInteger(step) && step >= 1 && step <= max ? step : 1\n\n/**\n * Lists the hours of the day as two-digit strings, every `step` hours.\n * Invalid steps fall back to one hour.\n */\nexport const getHourOptions = (step = 1): string[] => {\n const safeStep = getSafeStep(step, 24)\n\n return Array.from(\n { length: Math.ceil(24 / safeStep) },\n (_, index) => pad(index * safeStep),\n )\n}\n\n/**\n * Lists the minutes of an hour as two-digit strings, every `step` minutes.\n * Invalid steps fall back to one minute.\n */\nexport const getMinuteOptions = (step: number): string[] => {\n const safeStep = getSafeStep(step, 60)\n\n return Array.from(\n { length: Math.ceil(60 / safeStep) },\n (_, index) => pad(index * safeStep),\n )\n}\n\n/**\n * Returns whether a time sits within the optional `min` and `max` bounds\n * (inclusive). Invalid bounds are ignored.\n */\nexport const isTimeInRange = (\n time: string,\n min?: string,\n max?: string,\n): boolean =>\n (!isValidTime(min) || time >= min) && (!isValidTime(max) || time <= max)\n\n/** Moves a time to the nearest bound when it falls outside the range. */\nexport const clampTime = (time: string, min?: string, max?: string): string => {\n if (isValidTime(min) && time < min) {return min}\n if (isValidTime(max) && time > max) {return max}\n\n return time\n}\n\n/** Returns the current local time as `HH:mm`. */\nexport const getCurrentTime = (now: Date = new Date()): string =>\n `${pad(now.getHours())}:${pad(now.getMinutes())}`\r\n"],"names":["TIME_REGEX","isValidTime","value","splitTime","hour","minute","joinTime","pad","getSafeStep","step","max","getHourOptions","safeStep","_","index","getMinuteOptions","isTimeInRange","time","min","clampTime","getCurrentTime","now"],"mappings":"gFAAA,MAAMA,EAAa,8BAGNC,EAAeC,GACxBA,IAAU,QAAaF,EAAW,KAAKE,CAAK,EAMnCC,EACTD,GAC+C,CAC/C,GAAI,CAACD,EAAYC,CAAK,EAAI,OAE1B,KAAM,CAACE,EAAMC,CAAM,EAAIH,EAAM,MAAM,GAAG,EAEtC,MAAO,CAAE,KAAAE,EAAM,OAAAC,CAAA,CACnB,EAGaC,EAAW,CAACF,EAAcC,IACnC,GAAGD,CAAI,IAAIC,CAAM,GAEfE,EAAOL,GAA0B,OAAOA,CAAK,EAAE,SAAS,EAAG,GAAG,EAE9DM,EAAc,CAACC,EAAcC,IAC/B,OAAO,UAAUD,CAAI,GAAKA,GAAQ,GAAKA,GAAQC,EAAMD,EAAO,EAMnDE,EAAiB,CAACF,EAAO,IAAgB,CAClD,MAAMG,EAAWJ,EAAYC,EAAM,EAAE,EAErC,OAAO,MAAM,KACT,CAAE,OAAQ,KAAK,KAAK,GAAKG,CAAQ,CAAA,EACjC,CAACC,EAAGC,IAAUP,EAAIO,EAAQF,CAAQ,CAAA,CAE1C,EAMaG,EAAoBN,GAA2B,CACxD,MAAMG,EAAWJ,EAAYC,EAAM,EAAE,EAErC,OAAO,MAAM,KACT,CAAE,OAAQ,KAAK,KAAK,GAAKG,CAAQ,CAAA,EACjC,CAACC,EAAGC,IAAUP,EAAIO,EAAQF,CAAQ,CAAA,CAE1C,EAMaI,EAAgB,CACzBC,EACAC,EACAR,KAEC,CAACT,EAAYiB,CAAG,GAAKD,GAAQC,KAAS,CAACjB,EAAYS,CAAG,GAAKO,GAAQP,GAG3DS,EAAY,CAACF,EAAcC,EAAcR,IAC9CT,EAAYiB,CAAG,GAAKD,EAAOC,EAAaA,EACxCjB,EAAYS,CAAG,GAAKO,EAAOP,EAAaA,EAErCO,EAIEG,EAAiB,CAACC,EAAY,IAAI,OAC3C,GAAGd,EAAIc,EAAI,SAAA,CAAU,CAAC,IAAId,EAAIc,EAAI,WAAA,CAAY,CAAC"}
@@ -0,0 +1,31 @@
1
+ /** Returns whether the value is a valid 24-hour `HH:mm` time. */
2
+ export declare const isValidTime: (value: string | undefined) => value is string;
3
+ /**
4
+ * Splits a `HH:mm` time into its hour and minute parts.
5
+ * Returns `undefined` when the value is empty or invalid.
6
+ */
7
+ export declare const splitTime: (value: string | undefined) => {
8
+ hour: string;
9
+ minute: string;
10
+ } | undefined;
11
+ /** Builds a `HH:mm` time from an hour and a minute. */
12
+ export declare const joinTime: (hour: string, minute: string) => string;
13
+ /**
14
+ * Lists the hours of the day as two-digit strings, every `step` hours.
15
+ * Invalid steps fall back to one hour.
16
+ */
17
+ export declare const getHourOptions: (step?: number) => string[];
18
+ /**
19
+ * Lists the minutes of an hour as two-digit strings, every `step` minutes.
20
+ * Invalid steps fall back to one minute.
21
+ */
22
+ export declare const getMinuteOptions: (step: number) => string[];
23
+ /**
24
+ * Returns whether a time sits within the optional `min` and `max` bounds
25
+ * (inclusive). Invalid bounds are ignored.
26
+ */
27
+ export declare const isTimeInRange: (time: string, min?: string, max?: string) => boolean;
28
+ /** Moves a time to the nearest bound when it falls outside the range. */
29
+ export declare const clampTime: (time: string, min?: string, max?: string) => string;
30
+ /** Returns the current local time as `HH:mm`. */
31
+ export declare const getCurrentTime: (now?: Date) => string;
@@ -0,0 +1,29 @@
1
+ const c = /^([01]\d|2[0-3]):([0-5]\d)$/, r = (t) => t !== void 0 && c.test(t), u = (t) => {
2
+ if (!r(t))
3
+ return;
4
+ const [e, n] = t.split(":");
5
+ return { hour: e, minute: n };
6
+ }, g = (t, e) => `${t}:${e}`, o = (t) => String(t).padStart(2, "0"), i = (t, e) => Number.isInteger(t) && t >= 1 && t <= e ? t : 1, a = (t = 1) => {
7
+ const e = i(t, 24);
8
+ return Array.from(
9
+ { length: Math.ceil(24 / e) },
10
+ (n, s) => o(s * e)
11
+ );
12
+ }, f = (t) => {
13
+ const e = i(t, 60);
14
+ return Array.from(
15
+ { length: Math.ceil(60 / e) },
16
+ (n, s) => o(s * e)
17
+ );
18
+ }, p = (t, e, n) => (!r(e) || t >= e) && (!r(n) || t <= n), d = (t, e, n) => r(e) && t < e ? e : r(n) && t > n ? n : t, T = (t = /* @__PURE__ */ new Date()) => `${o(t.getHours())}:${o(t.getMinutes())}`;
19
+ export {
20
+ d as clampTime,
21
+ T as getCurrentTime,
22
+ a as getHourOptions,
23
+ f as getMinuteOptions,
24
+ p as isTimeInRange,
25
+ r as isValidTime,
26
+ g as joinTime,
27
+ u as splitTime
28
+ };
29
+ //# sourceMappingURL=timePicker.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timePicker.utils.js","sources":["../../../../../src/components/forms/time-picker/utils/timePicker.utils.ts"],"sourcesContent":["const TIME_REGEX = /^([01]\\d|2[0-3]):([0-5]\\d)$/\n\n/** Returns whether the value is a valid 24-hour `HH:mm` time. */\nexport const isValidTime = (value: string | undefined): value is string =>\n value !== undefined && TIME_REGEX.test(value)\n\n/**\n * Splits a `HH:mm` time into its hour and minute parts.\n * Returns `undefined` when the value is empty or invalid.\n */\nexport const splitTime = (\n value: string | undefined,\n): { hour: string; minute: string } | undefined => {\n if (!isValidTime(value)) {return undefined}\n\n const [hour, minute] = value.split(':')\n\n return { hour, minute }\n}\n\n/** Builds a `HH:mm` time from an hour and a minute. */\nexport const joinTime = (hour: string, minute: string): string =>\n `${hour}:${minute}`\n\nconst pad = (value: number): string => String(value).padStart(2, '0')\n\nconst getSafeStep = (step: number, max: number): number =>\n Number.isInteger(step) && step >= 1 && step <= max ? step : 1\n\n/**\n * Lists the hours of the day as two-digit strings, every `step` hours.\n * Invalid steps fall back to one hour.\n */\nexport const getHourOptions = (step = 1): string[] => {\n const safeStep = getSafeStep(step, 24)\n\n return Array.from(\n { length: Math.ceil(24 / safeStep) },\n (_, index) => pad(index * safeStep),\n )\n}\n\n/**\n * Lists the minutes of an hour as two-digit strings, every `step` minutes.\n * Invalid steps fall back to one minute.\n */\nexport const getMinuteOptions = (step: number): string[] => {\n const safeStep = getSafeStep(step, 60)\n\n return Array.from(\n { length: Math.ceil(60 / safeStep) },\n (_, index) => pad(index * safeStep),\n )\n}\n\n/**\n * Returns whether a time sits within the optional `min` and `max` bounds\n * (inclusive). Invalid bounds are ignored.\n */\nexport const isTimeInRange = (\n time: string,\n min?: string,\n max?: string,\n): boolean =>\n (!isValidTime(min) || time >= min) && (!isValidTime(max) || time <= max)\n\n/** Moves a time to the nearest bound when it falls outside the range. */\nexport const clampTime = (time: string, min?: string, max?: string): string => {\n if (isValidTime(min) && time < min) {return min}\n if (isValidTime(max) && time > max) {return max}\n\n return time\n}\n\n/** Returns the current local time as `HH:mm`. */\nexport const getCurrentTime = (now: Date = new Date()): string =>\n `${pad(now.getHours())}:${pad(now.getMinutes())}`\r\n"],"names":["TIME_REGEX","isValidTime","value","splitTime","hour","minute","joinTime","pad","getSafeStep","step","max","getHourOptions","safeStep","_","index","getMinuteOptions","isTimeInRange","time","min","clampTime","getCurrentTime","now"],"mappings":"AAAA,MAAMA,IAAa,+BAGNC,IAAc,CAACC,MACxBA,MAAU,UAAaF,EAAW,KAAKE,CAAK,GAMnCC,IAAY,CACrBD,MAC+C;AAC/C,MAAI,CAACD,EAAYC,CAAK;AAAI;AAE1B,QAAM,CAACE,GAAMC,CAAM,IAAIH,EAAM,MAAM,GAAG;AAEtC,SAAO,EAAE,MAAAE,GAAM,QAAAC,EAAA;AACnB,GAGaC,IAAW,CAACF,GAAcC,MACnC,GAAGD,CAAI,IAAIC,CAAM,IAEfE,IAAM,CAACL,MAA0B,OAAOA,CAAK,EAAE,SAAS,GAAG,GAAG,GAE9DM,IAAc,CAACC,GAAcC,MAC/B,OAAO,UAAUD,CAAI,KAAKA,KAAQ,KAAKA,KAAQC,IAAMD,IAAO,GAMnDE,IAAiB,CAACF,IAAO,MAAgB;AAClD,QAAMG,IAAWJ,EAAYC,GAAM,EAAE;AAErC,SAAO,MAAM;AAAA,IACT,EAAE,QAAQ,KAAK,KAAK,KAAKG,CAAQ,EAAA;AAAA,IACjC,CAACC,GAAGC,MAAUP,EAAIO,IAAQF,CAAQ;AAAA,EAAA;AAE1C,GAMaG,IAAmB,CAACN,MAA2B;AACxD,QAAMG,IAAWJ,EAAYC,GAAM,EAAE;AAErC,SAAO,MAAM;AAAA,IACT,EAAE,QAAQ,KAAK,KAAK,KAAKG,CAAQ,EAAA;AAAA,IACjC,CAACC,GAAGC,MAAUP,EAAIO,IAAQF,CAAQ;AAAA,EAAA;AAE1C,GAMaI,IAAgB,CACzBC,GACAC,GACAR,OAEC,CAACT,EAAYiB,CAAG,KAAKD,KAAQC,OAAS,CAACjB,EAAYS,CAAG,KAAKO,KAAQP,IAG3DS,IAAY,CAACF,GAAcC,GAAcR,MAC9CT,EAAYiB,CAAG,KAAKD,IAAOC,IAAaA,IACxCjB,EAAYS,CAAG,KAAKO,IAAOP,IAAaA,IAErCO,GAIEG,IAAiB,CAACC,IAAY,oBAAI,KAAA,MAC3C,GAAGd,EAAIc,EAAI,SAAA,CAAU,CAAC,IAAId,EAAIc,EAAI,WAAA,CAAY,CAAC;"}