@choco-vanille/ui 1.19.0 → 1.20.1
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.
- package/dist/components/_common/rotating-chevron/styles/RotatingChevron.css.cjs +1 -1
- package/dist/components/_common/rotating-chevron/styles/RotatingChevron.css.js +1 -1
- package/dist/components/actions/_shared/buttons/styles/buttonShared.css.cjs +1 -1
- package/dist/components/actions/_shared/buttons/styles/buttonShared.css.js +1 -1
- package/dist/components/actions/button/styles/Button.css.cjs +1 -1
- package/dist/components/actions/button/styles/Button.css.js +1 -1
- package/dist/components/actions/fab/Fab.cjs.map +1 -1
- package/dist/components/actions/fab/Fab.js.map +1 -1
- package/dist/components/actions/fab/constants/fabPositions.const.cjs.map +1 -1
- package/dist/components/actions/fab/constants/fabPositions.const.js.map +1 -1
- package/dist/components/actions/fab/styles/Fab.css.cjs +1 -1
- package/dist/components/actions/fab/styles/Fab.css.js +1 -1
- package/dist/components/actions/icon-button/styles/IconButton.css.cjs +1 -1
- package/dist/components/actions/icon-button/styles/IconButton.css.js +1 -1
- package/dist/components/actions/toggle/styles/Toggle.css.cjs +1 -1
- package/dist/components/actions/toggle/styles/Toggle.css.js +1 -1
- package/dist/components/actions/toggle-group/styles/ToggleGroup.css.cjs +1 -1
- package/dist/components/actions/toggle-group/styles/ToggleGroup.css.js +1 -1
- package/dist/components/data-display/avatar/components/avatar-fallback/styles/AvatarFallback.css.cjs +1 -1
- package/dist/components/data-display/avatar/components/avatar-fallback/styles/AvatarFallback.css.js +1 -1
- package/dist/components/data-display/avatar/components/avatar-image/styles/AvatarImage.css.cjs +1 -1
- package/dist/components/data-display/avatar/components/avatar-image/styles/AvatarImage.css.js +1 -1
- package/dist/components/data-display/avatar/components/avatar-root/styles/AvatarRoot.css.cjs +1 -1
- package/dist/components/data-display/avatar/components/avatar-root/styles/AvatarRoot.css.js +1 -1
- package/dist/components/data-display/avatar/components/avatar-status/styles/AvatarStatus.css.cjs +1 -1
- package/dist/components/data-display/avatar/components/avatar-status/styles/AvatarStatus.css.js +1 -1
- package/dist/components/data-display/badge/styles/Badge.css.cjs +1 -1
- package/dist/components/data-display/badge/styles/Badge.css.js +1 -1
- package/dist/components/data-display/status-badge/styles/StatusBadge.css.cjs +1 -1
- package/dist/components/data-display/status-badge/styles/StatusBadge.css.js +1 -1
- package/dist/components/data-display/table/components/table-body/styles/TableBody.css.cjs +1 -1
- package/dist/components/data-display/table/components/table-body/styles/TableBody.css.js +1 -1
- package/dist/components/data-display/table/components/table-caption/styles/TableCaption.css.cjs +1 -1
- package/dist/components/data-display/table/components/table-caption/styles/TableCaption.css.js +1 -1
- package/dist/components/data-display/table/components/table-cell/styles/TableCell.css.cjs +1 -1
- package/dist/components/data-display/table/components/table-cell/styles/TableCell.css.js +1 -1
- package/dist/components/data-display/table/components/table-footer/styles/TableFooter.css.cjs +1 -1
- package/dist/components/data-display/table/components/table-footer/styles/TableFooter.css.js +1 -1
- package/dist/components/data-display/table/components/table-head/styles/TableHead.css.cjs +1 -1
- package/dist/components/data-display/table/components/table-head/styles/TableHead.css.js +1 -1
- package/dist/components/data-display/table/components/table-header/styles/TableHeader.css.cjs +1 -1
- package/dist/components/data-display/table/components/table-header/styles/TableHeader.css.js +1 -1
- package/dist/components/data-display/table/components/table-row/styles/TableRow.css.cjs +1 -1
- package/dist/components/data-display/table/components/table-row/styles/TableRow.css.js +1 -1
- package/dist/components/data-display/table/styles/Table.css.cjs +1 -1
- package/dist/components/data-display/table/styles/Table.css.js +1 -1
- package/dist/components/feedback/callout/components/callout-icon/styles/CalloutIcon.css.cjs +1 -1
- package/dist/components/feedback/callout/components/callout-icon/styles/CalloutIcon.css.js +1 -1
- package/dist/components/feedback/callout/styles/Callout.css.cjs +1 -1
- package/dist/components/feedback/callout/styles/Callout.css.js +1 -1
- package/dist/components/feedback/empty-state/styles/EmptyState.css.cjs +1 -1
- package/dist/components/feedback/empty-state/styles/EmptyState.css.js +1 -1
- package/dist/components/feedback/progress/styles/Progress.css.cjs +1 -1
- package/dist/components/feedback/progress/styles/Progress.css.js +1 -1
- package/dist/components/feedback/skeleton/styles/Skeleton.css.cjs +1 -1
- package/dist/components/feedback/skeleton/styles/Skeleton.css.js +1 -1
- package/dist/components/feedback/spinner/styles/Spinner.css.cjs +1 -1
- package/dist/components/feedback/spinner/styles/Spinner.css.js +1 -1
- package/dist/components/feedback/toast/Toast.cjs +1 -1
- package/dist/components/feedback/toast/Toast.js +1 -1
- package/dist/components/feedback/toast/components/toast-close/styles/ToastClose.css.cjs +1 -1
- package/dist/components/feedback/toast/components/toast-close/styles/ToastClose.css.js +1 -1
- package/dist/components/feedback/toast/components/toast-description/styles/ToastDescription.css.cjs +1 -1
- package/dist/components/feedback/toast/components/toast-description/styles/ToastDescription.css.js +1 -1
- package/dist/components/feedback/toast/components/toast-icon/styles/ToastIcon.css.cjs +1 -1
- package/dist/components/feedback/toast/components/toast-icon/styles/ToastIcon.css.js +1 -1
- package/dist/components/feedback/toast/components/toast-title/styles/ToastTitle.css.cjs +1 -1
- package/dist/components/feedback/toast/components/toast-title/styles/ToastTitle.css.js +1 -1
- package/dist/components/feedback/toast/styles/Toast.css.cjs +1 -1
- package/dist/components/feedback/toast/styles/Toast.css.js +1 -1
- package/dist/components/forms/_shared/components/form-label/styles/FormLabel.css.cjs +1 -1
- package/dist/components/forms/_shared/components/form-label/styles/FormLabel.css.js +1 -1
- package/dist/components/forms/_shared/components/helper-text/HelperText.css.cjs +1 -1
- package/dist/components/forms/_shared/components/helper-text/HelperText.css.js +1 -1
- package/dist/components/forms/_shared/styles/checkboxVisual.css.cjs +1 -1
- package/dist/components/forms/_shared/styles/checkboxVisual.css.js +1 -1
- package/dist/components/forms/_shared/styles/radioVisual.css.cjs +1 -1
- package/dist/components/forms/_shared/styles/radioVisual.css.js +1 -1
- package/dist/components/forms/autocomplete/Autocomplete.cjs +1 -1
- package/dist/components/forms/autocomplete/Autocomplete.js +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-content/styles/AutocompleteContent.css.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-content/styles/AutocompleteContent.css.js +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-field/AutocompleteField.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-field/AutocompleteField.js +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-input/AutocompleteInput.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-input/AutocompleteInput.js +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-input/styles/AutocompleteInput.css.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-input/styles/AutocompleteInput.css.js +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-item/styles/AutocompleteItem.css.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-item/styles/AutocompleteItem.css.js +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-separator/styles/AutocompleteSeparator.css.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-separator/styles/AutocompleteSeparator.css.js +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-trigger/styles/AutocompleteTrigger.css.cjs +1 -1
- package/dist/components/forms/autocomplete/components/autocomplete-trigger/styles/AutocompleteTrigger.css.js +1 -1
- package/dist/components/forms/autocomplete/styles/Autocomplete.css.cjs +1 -1
- package/dist/components/forms/autocomplete/styles/Autocomplete.css.js +1 -1
- package/dist/components/forms/calendar/Calendar.cjs +1 -1
- package/dist/components/forms/calendar/Calendar.js +1 -1
- package/dist/components/forms/calendar/components/calendar-caption/styles/CalendarCaption.css.cjs +1 -1
- package/dist/components/forms/calendar/components/calendar-caption/styles/CalendarCaption.css.js +1 -1
- package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.cjs +1 -1
- package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.cjs.map +1 -1
- package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.js +3 -1
- package/dist/components/forms/calendar/components/calendar-month-view/components/calendar-month-button/CalendarMonthButton.js.map +1 -1
- package/dist/components/forms/calendar/components/calendar-month-view/styles/CalendarMonthView.css.cjs +1 -1
- package/dist/components/forms/calendar/components/calendar-month-view/styles/CalendarMonthView.css.js +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.cjs +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.cjs.map +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.js +3 -1
- package/dist/components/forms/calendar/components/calendar-year-view/components/calendar-year-button/CalendarYearButton.js.map +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/styles/CalendarYearView.css.cjs +1 -1
- package/dist/components/forms/calendar/components/calendar-year-view/styles/CalendarYearView.css.js +1 -1
- package/dist/components/forms/calendar/styles/calendarDayButton.css.cjs +1 -1
- package/dist/components/forms/calendar/styles/calendarDayButton.css.js +1 -1
- package/dist/components/forms/calendar/styles/calendarGrid.css.cjs +1 -1
- package/dist/components/forms/calendar/styles/calendarGrid.css.js +1 -1
- package/dist/components/forms/calendar/styles/calendarRoot.css.cjs +1 -1
- package/dist/components/forms/calendar/styles/calendarRoot.css.js +1 -1
- package/dist/components/forms/checkbox/styles/Checkbox.css.cjs +1 -1
- package/dist/components/forms/checkbox/styles/Checkbox.css.js +1 -1
- package/dist/components/forms/date-picker/DatePicker.cjs +1 -1
- package/dist/components/forms/date-picker/DatePicker.cjs.map +1 -1
- package/dist/components/forms/date-picker/DatePicker.js +56 -50
- package/dist/components/forms/date-picker/DatePicker.js.map +1 -1
- package/dist/components/forms/date-picker/styles/DatePicker.css.cjs +1 -1
- package/dist/components/forms/date-picker/styles/DatePicker.css.js +1 -1
- package/dist/components/forms/image-picker/components/image-picker-crop-dialog/ImagePickerCropDialog.cjs +1 -1
- package/dist/components/forms/image-picker/components/image-picker-crop-dialog/ImagePickerCropDialog.js +1 -1
- package/dist/components/forms/image-picker/components/image-picker-crop-dialog/styles/ImagePickerCropDialog.css.cjs +1 -1
- package/dist/components/forms/image-picker/components/image-picker-crop-dialog/styles/ImagePickerCropDialog.css.js +1 -1
- package/dist/components/forms/image-picker/styles/ImagePicker.css.cjs +1 -1
- package/dist/components/forms/image-picker/styles/ImagePicker.css.js +1 -1
- package/dist/components/forms/index.d.ts +1 -0
- package/dist/components/forms/number-field/components/number-field-input/styles/NumberFieldInput.css.cjs +1 -1
- package/dist/components/forms/number-field/components/number-field-input/styles/NumberFieldInput.css.js +1 -1
- package/dist/components/forms/number-field/components/number-field-steppers/styles/NumberFieldSteppers.css.cjs +1 -1
- package/dist/components/forms/number-field/components/number-field-steppers/styles/NumberFieldSteppers.css.js +1 -1
- package/dist/components/forms/number-field/styles/NumberField.css.cjs +1 -1
- package/dist/components/forms/number-field/styles/NumberField.css.js +1 -1
- package/dist/components/forms/radio-group/components/radio-item/styles/RadioItem.css.cjs +1 -1
- package/dist/components/forms/radio-group/components/radio-item/styles/RadioItem.css.js +1 -1
- package/dist/components/forms/rich-text-editor/RichTextEditor.cjs +1 -1
- package/dist/components/forms/rich-text-editor/RichTextEditor.js +1 -1
- package/dist/components/forms/rich-text-editor/RichTextEditorField.cjs +1 -1
- package/dist/components/forms/rich-text-editor/RichTextEditorField.js +1 -1
- package/dist/components/forms/rich-text-editor/components/alignment-group/AlignmentGroup.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/alignment-group/AlignmentGroup.js +1 -1
- package/dist/components/forms/rich-text-editor/components/alignment-group/styles/AlignmentGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/alignment-group/styles/AlignmentGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/block-format-group/BlockFormatGroup.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/block-format-group/BlockFormatGroup.js +1 -1
- package/dist/components/forms/rich-text-editor/components/block-format-group/styles/BlockFormatGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/block-format-group/styles/BlockFormatGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/editor-field/EditorField.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/editor-field/EditorField.js +1 -1
- package/dist/components/forms/rich-text-editor/components/history-group/Redo.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/history-group/Redo.js +1 -1
- package/dist/components/forms/rich-text-editor/components/history-group/Undo.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/history-group/Undo.js +1 -1
- package/dist/components/forms/rich-text-editor/components/history-group/styles/HistoryGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/history-group/styles/HistoryGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/image-group/ImageGroup.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/image-group/ImageGroup.js +1 -1
- package/dist/components/forms/rich-text-editor/components/image-group/styles/ImageGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/image-group/styles/ImageGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/link-group/LinkGroup.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/link-group/LinkGroup.js +1 -1
- package/dist/components/forms/rich-text-editor/components/link-group/SetLink.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/link-group/SetLink.js +1 -1
- package/dist/components/forms/rich-text-editor/components/link-group/UnsetLink.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/link-group/UnsetLink.js +1 -1
- package/dist/components/forms/rich-text-editor/components/link-group/styles/LinkGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/link-group/styles/LinkGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/lists-group/ListsGroup.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/lists-group/ListsGroup.js +1 -1
- package/dist/components/forms/rich-text-editor/components/lists-group/styles/ListsGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/lists-group/styles/ListsGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/read-only-field/ReadOnlyField.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/read-only-field/ReadOnlyField.js +1 -1
- package/dist/components/forms/rich-text-editor/components/rich-text-editor-form-field/styles/RichTextEditorFormField.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/rich-text-editor-form-field/styles/RichTextEditorFormField.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/rich-text-editor-label/styles/RichTextEditorLabel.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/rich-text-editor-label/styles/RichTextEditorLabel.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/text-appearance-group/TextColorMenu.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/text-appearance-group/TextColorMenu.js +1 -1
- package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextAppearanceGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextAppearanceGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextColorMenu.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextColorMenu.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextSizeMenu.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/text-appearance-group/styles/TextSizeMenu.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/text-style-group/TextStyleAction.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/text-style-group/TextStyleAction.js +1 -1
- package/dist/components/forms/rich-text-editor/components/text-style-group/styles/TextStyleGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/text-style-group/styles/TextStyleGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/toolbar/styles/Toolbar.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/toolbar/styles/Toolbar.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/toolbar-group/styles/ToolbarGroup.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/toolbar-group/styles/ToolbarGroup.css.js +1 -1
- package/dist/components/forms/rich-text-editor/components/toolbar-separator/styles/ToolbarSeparator.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/components/toolbar-separator/styles/ToolbarSeparator.css.js +1 -1
- package/dist/components/forms/rich-text-editor/styles/RichTextEditor.css.cjs +1 -1
- package/dist/components/forms/rich-text-editor/styles/RichTextEditor.css.js +1 -1
- package/dist/components/forms/select/Select.cjs +1 -1
- package/dist/components/forms/select/Select.js +1 -1
- package/dist/components/forms/select/components/select-content/styles/SelectContent.css.cjs +1 -1
- package/dist/components/forms/select/components/select-content/styles/SelectContent.css.js +1 -1
- package/dist/components/forms/select/components/select-item/styles/SelectItem.css.cjs +1 -1
- package/dist/components/forms/select/components/select-item/styles/SelectItem.css.js +1 -1
- package/dist/components/forms/select/components/select-label/styles/SelectLabel.css.cjs +1 -1
- package/dist/components/forms/select/components/select-label/styles/SelectLabel.css.js +1 -1
- package/dist/components/forms/select/components/select-separator/styles/SelectSeparator.css.cjs +1 -1
- package/dist/components/forms/select/components/select-separator/styles/SelectSeparator.css.js +1 -1
- package/dist/components/forms/select/components/select-trigger/SelectTrigger.cjs +1 -1
- package/dist/components/forms/select/components/select-trigger/SelectTrigger.js +1 -1
- package/dist/components/forms/select/components/select-trigger/styles/SelectTrigger.css.cjs +1 -1
- package/dist/components/forms/select/components/select-trigger/styles/SelectTrigger.css.js +1 -1
- package/dist/components/forms/select/styles/Select.css.cjs +1 -1
- package/dist/components/forms/select/styles/Select.css.js +1 -1
- package/dist/components/forms/slider/components/slider-header/styles/SliderHeader.css.cjs +1 -1
- package/dist/components/forms/slider/components/slider-header/styles/SliderHeader.css.js +1 -1
- package/dist/components/forms/slider/components/slider-track/styles/SliderTrack.css.cjs +1 -1
- package/dist/components/forms/slider/components/slider-track/styles/SliderTrack.css.js +1 -1
- package/dist/components/forms/slider/styles/Slider.css.cjs +1 -1
- package/dist/components/forms/slider/styles/Slider.css.js +1 -1
- package/dist/components/forms/switch/styles/Switch.css.cjs +1 -1
- package/dist/components/forms/switch/styles/Switch.css.js +1 -1
- package/dist/components/forms/text-area/TextArea.cjs +1 -1
- package/dist/components/forms/text-area/TextArea.js +1 -1
- package/dist/components/forms/text-area/components/text-area-end-action/styles/TextAreaEndAction.css.cjs +1 -1
- package/dist/components/forms/text-area/components/text-area-end-action/styles/TextAreaEndAction.css.js +1 -1
- package/dist/components/forms/text-area/components/text-area-start-icon/styles/TextAreaStartIcon.css.cjs +1 -1
- package/dist/components/forms/text-area/components/text-area-start-icon/styles/TextAreaStartIcon.css.js +1 -1
- package/dist/components/forms/text-area/styles/TextArea.css.cjs +1 -1
- package/dist/components/forms/text-area/styles/TextArea.css.js +1 -1
- package/dist/components/forms/text-field/TextField.cjs +1 -1
- package/dist/components/forms/text-field/TextField.js +1 -1
- package/dist/components/forms/text-field/components/text-field-end-action/styles/TextFieldEndAction.css.cjs +1 -1
- package/dist/components/forms/text-field/components/text-field-end-action/styles/TextFieldEndAction.css.js +1 -1
- package/dist/components/forms/text-field/components/text-field-start-icon/styles/TextFieldStartIcon.css.cjs +1 -1
- package/dist/components/forms/text-field/components/text-field-start-icon/styles/TextFieldStartIcon.css.js +1 -1
- package/dist/components/forms/text-field/styles/TextField.css.cjs +1 -1
- package/dist/components/forms/text-field/styles/TextField.css.js +1 -1
- package/dist/components/forms/time-picker/TimePicker.cjs +2 -0
- package/dist/components/forms/time-picker/TimePicker.cjs.map +1 -0
- package/dist/components/forms/time-picker/TimePicker.d.ts +20 -0
- package/dist/components/forms/time-picker/TimePicker.js +162 -0
- package/dist/components/forms/time-picker/TimePicker.js.map +1 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.cjs +2 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.cjs.map +1 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.d.ts +9 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.js +126 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.js.map +1 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.cjs +2 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.cjs.map +1 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.d.ts +9 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.js +7 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.js.map +1 -0
- package/dist/components/forms/time-picker/components/time-picker-panel/types/TimePickerPanel.props.d.ts +34 -0
- package/dist/components/forms/time-picker/constants/index.cjs +2 -0
- package/dist/components/forms/time-picker/constants/index.cjs.map +1 -0
- package/dist/components/forms/time-picker/constants/index.d.ts +3 -0
- package/dist/components/forms/time-picker/constants/index.js +7 -0
- package/dist/components/forms/time-picker/constants/index.js.map +1 -0
- package/dist/components/forms/time-picker/hooks/useTimePicker.hook.cjs +2 -0
- package/dist/components/forms/time-picker/hooks/useTimePicker.hook.cjs.map +1 -0
- package/dist/components/forms/time-picker/hooks/useTimePicker.hook.d.ts +9 -0
- package/dist/components/forms/time-picker/hooks/useTimePicker.hook.js +76 -0
- package/dist/components/forms/time-picker/hooks/useTimePicker.hook.js.map +1 -0
- package/dist/components/forms/time-picker/index.d.ts +3 -0
- package/dist/components/forms/time-picker/styles/TimePicker.css.cjs +2 -0
- package/dist/components/forms/time-picker/styles/TimePicker.css.cjs.map +1 -0
- package/dist/components/forms/time-picker/styles/TimePicker.css.d.ts +9 -0
- package/dist/components/forms/time-picker/styles/TimePicker.css.js +6 -0
- package/dist/components/forms/time-picker/styles/TimePicker.css.js.map +1 -0
- package/dist/components/forms/time-picker/types/TimePicker.props.d.ts +70 -0
- package/dist/components/forms/time-picker/types/index.d.ts +40 -0
- package/dist/components/forms/time-picker/utils/timePicker.utils.cjs +2 -0
- package/dist/components/forms/time-picker/utils/timePicker.utils.cjs.map +1 -0
- package/dist/components/forms/time-picker/utils/timePicker.utils.d.ts +31 -0
- package/dist/components/forms/time-picker/utils/timePicker.utils.js +29 -0
- package/dist/components/forms/time-picker/utils/timePicker.utils.js.map +1 -0
- package/dist/components/foundation/icon/styles/Icon.css.cjs +1 -1
- package/dist/components/foundation/icon/styles/Icon.css.js +1 -1
- package/dist/components/foundation/typography/styles/Typography.css.cjs +1 -1
- package/dist/components/foundation/typography/styles/Typography.css.js +1 -1
- package/dist/components/layout/box/styles/Box.css.cjs +1 -1
- package/dist/components/layout/box/styles/Box.css.js +1 -1
- package/dist/components/layout/fieldset/styles/Fieldset.css.cjs +1 -1
- package/dist/components/layout/fieldset/styles/Fieldset.css.js +1 -1
- package/dist/components/layout/flex/styles/Flex.css.cjs +1 -1
- package/dist/components/layout/flex/styles/Flex.css.js +1 -1
- package/dist/components/layout/form/styles/Form.css.cjs +1 -1
- package/dist/components/layout/form/styles/Form.css.js +1 -1
- package/dist/components/layout/grid/styles/Grid.css.cjs +1 -1
- package/dist/components/layout/grid/styles/Grid.css.js +1 -1
- package/dist/components/layout/image/styles/Image.css.cjs +1 -1
- package/dist/components/layout/image/styles/Image.css.js +1 -1
- package/dist/components/layout/inset/styles/Inset.css.cjs +1 -1
- package/dist/components/layout/inset/styles/Inset.css.js +1 -1
- package/dist/components/layout/legend/styles/Legend.css.cjs +1 -1
- package/dist/components/layout/legend/styles/Legend.css.js +1 -1
- package/dist/components/layout/separator/styles/Separator.css.cjs +1 -1
- package/dist/components/layout/separator/styles/Separator.css.js +1 -1
- package/dist/components/layout/svg-image/styles/SvgImage.css.cjs +1 -1
- package/dist/components/layout/svg-image/styles/SvgImage.css.js +1 -1
- package/dist/components/navigation/bottom-navigation/styles/BottomNavigation.css.cjs +1 -1
- package/dist/components/navigation/bottom-navigation/styles/BottomNavigation.css.js +1 -1
- package/dist/components/navigation/breadcrumbs/styles/Breadcrumbs.css.cjs +1 -1
- package/dist/components/navigation/breadcrumbs/styles/Breadcrumbs.css.js +1 -1
- package/dist/components/navigation/link/styles/Link.css.cjs +1 -1
- package/dist/components/navigation/link/styles/Link.css.js +1 -1
- package/dist/components/navigation/pagination/styles/Pagination.css.cjs +1 -1
- package/dist/components/navigation/pagination/styles/Pagination.css.js +1 -1
- package/dist/components/navigation/step-indicator/components/step-indicator-item/styles/StepIndicatorItem.css.cjs +1 -1
- package/dist/components/navigation/step-indicator/components/step-indicator-item/styles/StepIndicatorItem.css.js +1 -1
- package/dist/components/navigation/step-indicator/styles/StepIndicator.css.cjs +1 -1
- package/dist/components/navigation/step-indicator/styles/StepIndicator.css.js +1 -1
- package/dist/components/navigation/stepper/styles/Stepper.css.cjs +1 -1
- package/dist/components/navigation/stepper/styles/Stepper.css.js +1 -1
- package/dist/components/navigation/tabs/components/tabs-content/styles/TabsContent.css.cjs +1 -1
- package/dist/components/navigation/tabs/components/tabs-content/styles/TabsContent.css.js +1 -1
- package/dist/components/navigation/tabs/components/tabs-list/styles/TabsList.css.cjs +1 -1
- package/dist/components/navigation/tabs/components/tabs-list/styles/TabsList.css.js +1 -1
- package/dist/components/navigation/tabs/components/tabs-trigger/styles/TabsTrigger.css.cjs +1 -1
- package/dist/components/navigation/tabs/components/tabs-trigger/styles/TabsTrigger.css.js +1 -1
- package/dist/components/overlay/_shared/styles/OverlayBackdrop.css.cjs +1 -1
- package/dist/components/overlay/_shared/styles/OverlayBackdrop.css.js +1 -1
- package/dist/components/overlay/alert-dialog/AlertDialog.cjs +1 -1
- package/dist/components/overlay/alert-dialog/AlertDialog.js +1 -1
- package/dist/components/overlay/alert-dialog/styles/AlertDialog.css.cjs +1 -1
- package/dist/components/overlay/alert-dialog/styles/AlertDialog.css.js +1 -1
- package/dist/components/overlay/bottom-sheet/BottomSheet.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/BottomSheet.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/_shared/styles/BottomSheetItem.css.cjs +1 -1
- package/dist/components/overlay/bottom-sheet/components/_shared/styles/BottomSheetItem.css.js +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-close/BottomSheetClose.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-close/BottomSheetClose.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-close/styles/BottomSheetClose.css.cjs +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-close/styles/BottomSheetClose.css.js +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-content/BottomSheetContent.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-content/BottomSheetContent.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-header/BottomSheetHeader.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-header/BottomSheetHeader.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-item/BottomSheetItem.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-item/BottomSheetItem.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-group/BottomSheetRadioGroup.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-group/BottomSheetRadioGroup.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-group/styles/BottomSheetRadioGroup.css.cjs +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-group/styles/BottomSheetRadioGroup.css.js +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-item/BottomSheetRadioItem.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-item/BottomSheetRadioItem.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-item/styles/BottomSheetRadioItem.css.cjs +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-radio-item/styles/BottomSheetRadioItem.css.js +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-separator/BottomSheetSeparator.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-separator/BottomSheetSeparator.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-separator/styles/BottomSheetSeparator.css.cjs +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-separator/styles/BottomSheetSeparator.css.js +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-trigger/BottomSheetTrigger.cjs.map +1 -1
- package/dist/components/overlay/bottom-sheet/components/bottom-sheet-trigger/BottomSheetTrigger.js.map +1 -1
- package/dist/components/overlay/bottom-sheet/styles/BottomSheet.css.cjs +1 -1
- package/dist/components/overlay/bottom-sheet/styles/BottomSheet.css.js +1 -1
- package/dist/components/overlay/command/components/command-empty/styles/CommandEmpty.css.cjs +1 -1
- package/dist/components/overlay/command/components/command-empty/styles/CommandEmpty.css.js +1 -1
- package/dist/components/overlay/command/components/command-group/styles/CommandGroup.css.cjs +1 -1
- package/dist/components/overlay/command/components/command-group/styles/CommandGroup.css.js +1 -1
- package/dist/components/overlay/command/components/command-input/styles/CommandInput.css.cjs +1 -1
- package/dist/components/overlay/command/components/command-input/styles/CommandInput.css.js +1 -1
- package/dist/components/overlay/command/components/command-item/styles/CommandItem.css.cjs +1 -1
- package/dist/components/overlay/command/components/command-item/styles/CommandItem.css.js +1 -1
- package/dist/components/overlay/command/components/command-list/styles/CommandList.css.cjs +1 -1
- package/dist/components/overlay/command/components/command-list/styles/CommandList.css.js +1 -1
- package/dist/components/overlay/command/components/command-separator/styles/CommandSeparator.css.cjs +1 -1
- package/dist/components/overlay/command/components/command-separator/styles/CommandSeparator.css.js +1 -1
- package/dist/components/overlay/command/styles/Command.css.cjs +1 -1
- package/dist/components/overlay/command/styles/Command.css.js +1 -1
- package/dist/components/overlay/context-menu/components/content/styles/ContextMenuContent.css.cjs +1 -1
- package/dist/components/overlay/context-menu/components/content/styles/ContextMenuContent.css.js +1 -1
- package/dist/components/overlay/dialog/components/dialog-header/styles/DialogHeader.css.cjs +1 -1
- package/dist/components/overlay/dialog/components/dialog-header/styles/DialogHeader.css.js +1 -1
- package/dist/components/overlay/dialog/styles/Dialog.css.cjs +1 -1
- package/dist/components/overlay/dialog/styles/Dialog.css.js +1 -1
- package/dist/components/overlay/drawer/components/items/_shared/components/drawer-item-content/DrawerItemContent.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/_shared/components/drawer-item-content/DrawerItemContent.js +1 -1
- package/dist/components/overlay/drawer/components/items/_shared/styles/DrawerItemShared.css.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/_shared/styles/DrawerItemShared.css.js +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.cjs.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.js +3 -1
- package/dist/components/overlay/drawer/components/items/drawer-action-item/DrawerActionItem.js.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.cjs.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.js +3 -1
- package/dist/components/overlay/drawer/components/items/drawer-nav-item/DrawerNavItem.js.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.cjs.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.js +3 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/DrawerSectionItem.js.map +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/styles/DrawerSectionItem.css.cjs +1 -1
- package/dist/components/overlay/drawer/components/items/drawer-section-item/styles/DrawerSectionItem.css.js +1 -1
- package/dist/components/overlay/drawer/components/variants/drawer-inline/styles/DrawerInline.css.cjs +1 -1
- package/dist/components/overlay/drawer/components/variants/drawer-inline/styles/DrawerInline.css.js +1 -1
- package/dist/components/overlay/drawer/components/variants/drawer-mini/styles/DrawerMini.css.cjs +1 -1
- package/dist/components/overlay/drawer/components/variants/drawer-mini/styles/DrawerMini.css.js +1 -1
- package/dist/components/overlay/drawer/components/variants/drawer-portal/styles/DrawerPortal.css.cjs +1 -1
- package/dist/components/overlay/drawer/components/variants/drawer-portal/styles/DrawerPortal.css.js +1 -1
- package/dist/components/overlay/drawer/styles/Drawer.css.cjs +1 -1
- package/dist/components/overlay/drawer/styles/Drawer.css.js +1 -1
- package/dist/components/overlay/dropdown-menu/components/_shared/item.css.cjs +1 -1
- package/dist/components/overlay/dropdown-menu/components/_shared/item.css.js +1 -1
- package/dist/components/overlay/dropdown-menu/components/content/styles/DropdownMenuContent.css.cjs +1 -1
- package/dist/components/overlay/dropdown-menu/components/content/styles/DropdownMenuContent.css.js +1 -1
- package/dist/components/overlay/dropdown-menu/components/label/styles/DropdownMenuLabel.css.cjs +1 -1
- package/dist/components/overlay/dropdown-menu/components/label/styles/DropdownMenuLabel.css.js +1 -1
- package/dist/components/overlay/dropdown-menu/components/separator/styles/DropdownMenuSeparator.css.cjs +1 -1
- package/dist/components/overlay/dropdown-menu/components/separator/styles/DropdownMenuSeparator.css.js +1 -1
- package/dist/components/overlay/dropdown-menu/components/shortcut/styles/DropdownMenuShortcut.css.cjs +1 -1
- package/dist/components/overlay/dropdown-menu/components/shortcut/styles/DropdownMenuShortcut.css.js +1 -1
- package/dist/components/overlay/dropdown-menu/components/sub/dropdown-menu-sub-content/styles/DropdownMenuSubContent.css.cjs +1 -1
- package/dist/components/overlay/dropdown-menu/components/sub/dropdown-menu-sub-content/styles/DropdownMenuSubContent.css.js +1 -1
- package/dist/components/overlay/dropdown-menu/components/sub/dropdown-menu-sub-trigger/styles/DropdownMenuSubTrigger.css.cjs +1 -1
- package/dist/components/overlay/dropdown-menu/components/sub/dropdown-menu-sub-trigger/styles/DropdownMenuSubTrigger.css.js +1 -1
- package/dist/components/overlay/panel/components/panel-header/styles/PanelHeader.css.cjs +1 -1
- package/dist/components/overlay/panel/components/panel-header/styles/PanelHeader.css.js +1 -1
- package/dist/components/overlay/panel/styles/Panel.css.cjs +1 -1
- package/dist/components/overlay/panel/styles/Panel.css.js +1 -1
- package/dist/components/overlay/popover/components/content/styles/PopoverContent.css.cjs +1 -1
- package/dist/components/overlay/popover/components/content/styles/PopoverContent.css.js +1 -1
- package/dist/components/overlay/popover/components/item/styles/PopoverItem.css.cjs +1 -1
- package/dist/components/overlay/popover/components/item/styles/PopoverItem.css.js +1 -1
- package/dist/components/overlay/tooltip/styles/Tooltip.css.cjs +1 -1
- package/dist/components/overlay/tooltip/styles/Tooltip.css.js +1 -1
- package/dist/components/surfaces/accordion/components/accordion-content/styles/AccordionContent.css.cjs +1 -1
- package/dist/components/surfaces/accordion/components/accordion-content/styles/AccordionContent.css.js +1 -1
- package/dist/components/surfaces/accordion/components/accordion-item/styles/AccordionItem.css.cjs +1 -1
- package/dist/components/surfaces/accordion/components/accordion-item/styles/AccordionItem.css.js +1 -1
- package/dist/components/surfaces/accordion/components/accordion-trigger/AccordionTrigger.cjs +1 -1
- package/dist/components/surfaces/accordion/components/accordion-trigger/AccordionTrigger.js +1 -1
- package/dist/components/surfaces/accordion/components/accordion-trigger/styles/AccordionTrigger.css.cjs +1 -1
- package/dist/components/surfaces/accordion/components/accordion-trigger/styles/AccordionTrigger.css.js +1 -1
- package/dist/components/surfaces/accordion/styles/Accordion.css.cjs +1 -1
- package/dist/components/surfaces/accordion/styles/Accordion.css.js +1 -1
- package/dist/components/surfaces/card/components/card-header/styles/CardHeader.css.cjs +1 -1
- package/dist/components/surfaces/card/components/card-header/styles/CardHeader.css.js +1 -1
- package/dist/components/surfaces/card/styles/Card.css.cjs +1 -1
- package/dist/components/surfaces/card/styles/Card.css.js +1 -1
- package/dist/components/surfaces/collapsible/components/collapsible-panel/styles/CollapsiblePanel.css.cjs +1 -1
- package/dist/components/surfaces/collapsible/components/collapsible-panel/styles/CollapsiblePanel.css.js +1 -1
- package/dist/components/surfaces/collapsible/components/collapsible-trigger/CollapsibleTrigger.cjs +1 -1
- package/dist/components/surfaces/collapsible/components/collapsible-trigger/CollapsibleTrigger.js +1 -1
- package/dist/components/surfaces/collapsible/components/collapsible-trigger/styles/CollapsibleTrigger.css.cjs +1 -1
- package/dist/components/surfaces/collapsible/components/collapsible-trigger/styles/CollapsibleTrigger.css.js +1 -1
- package/dist/components/surfaces/collapsible/styles/Collapsible.css.cjs +1 -1
- package/dist/components/surfaces/collapsible/styles/Collapsible.css.js +1 -1
- package/dist/components/theme-provider/ThemeProvider.cjs +1 -1
- package/dist/components/theme-provider/ThemeProvider.js +1 -1
- package/dist/constants/animations/fade/fadeIn.css.cjs +1 -1
- package/dist/constants/animations/fade/fadeIn.css.js +1 -1
- package/dist/constants/animations/fade/fadeOut.css.cjs +1 -1
- package/dist/constants/animations/fade/fadeOut.css.js +1 -1
- package/dist/constants/animations/slide/slideDownIn.css.cjs +1 -1
- package/dist/constants/animations/slide/slideDownIn.css.js +1 -1
- package/dist/constants/animations/slide/slideDownOut.css.cjs +1 -1
- package/dist/constants/animations/slide/slideDownOut.css.js +1 -1
- package/dist/constants/animations/slide/slideLeftIn.css.cjs +1 -1
- package/dist/constants/animations/slide/slideLeftIn.css.js +1 -1
- package/dist/constants/animations/slide/slideLeftOut.css.cjs +1 -1
- package/dist/constants/animations/slide/slideLeftOut.css.js +1 -1
- package/dist/constants/animations/slide/slideRightIn.css.cjs +1 -1
- package/dist/constants/animations/slide/slideRightIn.css.js +1 -1
- package/dist/constants/animations/slide/slideRightOut.css.cjs +1 -1
- package/dist/constants/animations/slide/slideRightOut.css.js +1 -1
- package/dist/constants/animations/slide/slideUpIn.css.cjs +1 -1
- package/dist/constants/animations/slide/slideUpIn.css.js +1 -1
- package/dist/constants/animations/slide/slideUpOut.css.cjs +1 -1
- package/dist/constants/animations/slide/slideUpOut.css.js +1 -1
- package/dist/constants/animations/spin/spinAnimation.css.cjs +1 -1
- package/dist/constants/animations/spin/spinAnimation.css.js +1 -1
- package/dist/hooks/use-notification/useNotification.hook.cjs +1 -1
- package/dist/hooks/use-notification/useNotification.hook.js +1 -1
- package/dist/hooks/use-toast/useToast.hook.cjs +1 -1
- package/dist/hooks/use-toast/useToast.hook.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +236 -232
- package/dist/index.js.map +1 -1
- package/dist/resources/asset/ClockIcon.svg.cjs +2 -0
- package/dist/resources/asset/ClockIcon.svg.cjs.map +1 -0
- package/dist/resources/asset/ClockIcon.svg.js +6 -0
- package/dist/resources/asset/ClockIcon.svg.js.map +1 -0
- package/dist/styles.css +155 -151
- package/dist/ui-kit10.css +1 -1
- package/dist/ui-kit100.css +1 -1
- package/dist/ui-kit101.css +1 -1
- package/dist/ui-kit102.css +1 -1
- package/dist/ui-kit103.css +1 -1
- package/dist/ui-kit104.css +1 -1
- package/dist/ui-kit105.css +1 -1
- package/dist/ui-kit106.css +1 -1
- package/dist/ui-kit107.css +1 -1
- package/dist/ui-kit108.css +1 -1
- package/dist/ui-kit109.css +1 -1
- package/dist/ui-kit11.css +1 -1
- package/dist/ui-kit110.css +1 -1
- package/dist/ui-kit111.css +1 -1
- package/dist/ui-kit112.css +1 -1
- package/dist/ui-kit113.css +1 -1
- package/dist/ui-kit114.css +1 -1
- package/dist/ui-kit115.css +1 -1
- package/dist/ui-kit116.css +1 -1
- package/dist/ui-kit117.css +1 -1
- package/dist/ui-kit118.css +1 -1
- package/dist/ui-kit119.css +1 -1
- package/dist/ui-kit12.css +1 -1
- package/dist/ui-kit120.css +1 -1
- package/dist/ui-kit121.css +1 -1
- package/dist/ui-kit122.css +1 -1
- package/dist/ui-kit123.css +1 -1
- package/dist/ui-kit124.css +1 -1
- package/dist/ui-kit125.css +1 -1
- package/dist/ui-kit126.css +1 -1
- package/dist/ui-kit127.css +1 -1
- package/dist/ui-kit128.css +1 -1
- package/dist/ui-kit129.css +1 -1
- package/dist/ui-kit13.css +1 -1
- package/dist/ui-kit130.css +1 -1
- package/dist/ui-kit131.css +1 -1
- package/dist/ui-kit132.css +1 -1
- package/dist/ui-kit133.css +1 -1
- package/dist/ui-kit134.css +1 -1
- package/dist/ui-kit135.css +1 -1
- package/dist/ui-kit136.css +1 -1
- package/dist/ui-kit137.css +1 -1
- package/dist/ui-kit138.css +1 -1
- package/dist/ui-kit139.css +1 -1
- package/dist/ui-kit14.css +1 -1
- package/dist/ui-kit140.css +1 -1
- package/dist/ui-kit141.css +1 -1
- package/dist/ui-kit142.css +1 -1
- package/dist/ui-kit143.css +1 -1
- package/dist/ui-kit144.css +1 -1
- package/dist/ui-kit145.css +1 -1
- package/dist/ui-kit146.css +1 -1
- package/dist/ui-kit147.css +1 -1
- package/dist/ui-kit148.css +1 -1
- package/dist/ui-kit149.css +1 -1
- package/dist/ui-kit15.css +1 -1
- package/dist/ui-kit150.css +1 -1
- package/dist/ui-kit151.css +1 -1
- package/dist/ui-kit152.css +1 -1
- package/dist/ui-kit153.css +1 -1
- package/dist/ui-kit154.css +1 -1
- package/dist/ui-kit155.css +1 -1
- package/dist/ui-kit156.css +1 -1
- package/dist/ui-kit157.css +1 -1
- package/dist/ui-kit159.css +1 -1
- package/dist/ui-kit16.css +1 -1
- package/dist/ui-kit160.css +1 -1
- package/dist/ui-kit161.css +1 -1
- package/dist/ui-kit162.css +1 -1
- package/dist/ui-kit163.css +1 -1
- package/dist/ui-kit164.css +1 -1
- package/dist/ui-kit165.css +1 -1
- package/dist/ui-kit166.css +1 -1
- package/dist/ui-kit167.css +1 -1
- package/dist/ui-kit168.css +1 -1
- package/dist/ui-kit169.css +1 -1
- package/dist/ui-kit17.css +1 -1
- package/dist/ui-kit170.css +1 -0
- package/dist/ui-kit171.css +1 -0
- package/dist/ui-kit18.css +1 -1
- package/dist/ui-kit19.css +1 -1
- package/dist/ui-kit20.css +1 -1
- package/dist/ui-kit22.css +1 -1
- package/dist/ui-kit23.css +1 -1
- package/dist/ui-kit24.css +1 -1
- package/dist/ui-kit25.css +1 -1
- package/dist/ui-kit26.css +1 -1
- package/dist/ui-kit27.css +1 -1
- package/dist/ui-kit28.css +1 -1
- package/dist/ui-kit29.css +1 -1
- package/dist/ui-kit30.css +1 -1
- package/dist/ui-kit31.css +1 -1
- package/dist/ui-kit32.css +1 -1
- package/dist/ui-kit33.css +1 -1
- package/dist/ui-kit34.css +1 -1
- package/dist/ui-kit35.css +1 -1
- package/dist/ui-kit36.css +1 -1
- package/dist/ui-kit37.css +1 -1
- package/dist/ui-kit38.css +1 -1
- package/dist/ui-kit39.css +1 -1
- package/dist/ui-kit4.css +1 -1
- package/dist/ui-kit40.css +1 -1
- package/dist/ui-kit41.css +1 -1
- package/dist/ui-kit42.css +1 -1
- package/dist/ui-kit43.css +1 -1
- package/dist/ui-kit44.css +1 -1
- package/dist/ui-kit45.css +1 -1
- package/dist/ui-kit46.css +1 -1
- package/dist/ui-kit47.css +1 -1
- package/dist/ui-kit48.css +1 -1
- package/dist/ui-kit49.css +1 -1
- package/dist/ui-kit5.css +1 -1
- package/dist/ui-kit50.css +1 -1
- package/dist/ui-kit51.css +1 -1
- package/dist/ui-kit52.css +1 -1
- package/dist/ui-kit54.css +1 -1
- package/dist/ui-kit55.css +1 -1
- package/dist/ui-kit56.css +1 -1
- package/dist/ui-kit57.css +1 -1
- package/dist/ui-kit58.css +1 -1
- package/dist/ui-kit59.css +1 -1
- package/dist/ui-kit6.css +1 -1
- package/dist/ui-kit60.css +1 -1
- package/dist/ui-kit61.css +1 -1
- package/dist/ui-kit62.css +1 -1
- package/dist/ui-kit63.css +1 -1
- package/dist/ui-kit64.css +1 -1
- package/dist/ui-kit65.css +1 -1
- package/dist/ui-kit66.css +1 -1
- package/dist/ui-kit67.css +1 -1
- package/dist/ui-kit68.css +1 -1
- package/dist/ui-kit69.css +1 -1
- package/dist/ui-kit7.css +1 -1
- package/dist/ui-kit70.css +1 -1
- package/dist/ui-kit71.css +1 -1
- package/dist/ui-kit72.css +1 -1
- package/dist/ui-kit73.css +1 -1
- package/dist/ui-kit74.css +1 -1
- package/dist/ui-kit75.css +1 -1
- package/dist/ui-kit76.css +1 -1
- package/dist/ui-kit77.css +1 -1
- package/dist/ui-kit78.css +1 -1
- package/dist/ui-kit79.css +1 -1
- package/dist/ui-kit8.css +1 -1
- package/dist/ui-kit80.css +1 -1
- package/dist/ui-kit81.css +1 -1
- package/dist/ui-kit82.css +1 -1
- package/dist/ui-kit83.css +1 -1
- package/dist/ui-kit84.css +1 -1
- package/dist/ui-kit85.css +1 -1
- package/dist/ui-kit86.css +1 -1
- package/dist/ui-kit87.css +1 -1
- package/dist/ui-kit88.css +1 -1
- package/dist/ui-kit89.css +1 -1
- package/dist/ui-kit9.css +1 -1
- package/dist/ui-kit90.css +1 -1
- package/dist/ui-kit91.css +1 -1
- package/dist/ui-kit92.css +1 -1
- package/dist/ui-kit93.css +1 -1
- package/dist/ui-kit94.css +1 -1
- package/dist/ui-kit95.css +1 -1
- package/dist/ui-kit96.css +1 -1
- package/dist/ui-kit97.css +1 -1
- package/dist/ui-kit98.css +1 -1
- package/dist/ui-kit99.css +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { jsxs as x, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import z from "../../actions/icon-button/IconButton.js";
|
|
3
|
+
import "../../actions/icon-button/styles/IconButton.css.js";
|
|
4
|
+
import B from "../text-field/TextField.js";
|
|
5
|
+
import "../text-field/styles/TextField.css.js";
|
|
6
|
+
import '../../../ui-kit82.css';import '../../../ui-kit86.css';import '../../../ui-kit91.css';import '../../../ui-kit71.css';import '../../../ui-kit2.css';import '../../../ui-kit.css';/* empty css */
|
|
7
|
+
/* empty css */
|
|
8
|
+
/* empty css */
|
|
9
|
+
/* empty css */
|
|
10
|
+
/* empty css */
|
|
11
|
+
/* empty css */
|
|
12
|
+
import V from "./components/time-picker-panel/TimePickerPanel.js";
|
|
13
|
+
import { DEFAULT_MINUTE_STEP as Y, DEFAULT_HOUR_STEP as q } from "./constants/index.js";
|
|
14
|
+
import { useTimePicker as G } from "./hooks/useTimePicker.hook.js";
|
|
15
|
+
import { TIME_PICKER_STYLES as J } from "./styles/TimePicker.css.js";
|
|
16
|
+
import t from "../../overlay/popover/Popover.js";
|
|
17
|
+
import "../../overlay/popover/components/content/styles/PopoverContent.css.js";
|
|
18
|
+
import Q from "../../../resources/asset/ClockIcon.svg.js";
|
|
19
|
+
import { cn as W } from "../../../utils/cn.js";
|
|
20
|
+
import { memo as X, useRef as Z, useCallback as i } from "react";
|
|
21
|
+
const $ = X(
|
|
22
|
+
({
|
|
23
|
+
value: u,
|
|
24
|
+
defaultValue: d,
|
|
25
|
+
onChange: f,
|
|
26
|
+
defaultPanelTime: a,
|
|
27
|
+
minTime: n,
|
|
28
|
+
maxTime: r,
|
|
29
|
+
hourStep: h = q,
|
|
30
|
+
minuteStep: g = Y,
|
|
31
|
+
showNowButton: C = !1,
|
|
32
|
+
clearable: S = !1,
|
|
33
|
+
nowLabel: T = "Now",
|
|
34
|
+
clearLabel: b = "Clear",
|
|
35
|
+
id: k,
|
|
36
|
+
disabled: l,
|
|
37
|
+
"aria-label": I,
|
|
38
|
+
"aria-labelledby": y,
|
|
39
|
+
panelAriaLabel: D = "Time",
|
|
40
|
+
hoursAriaLabel: E = "Hours",
|
|
41
|
+
minutesAriaLabel: w = "Minutes",
|
|
42
|
+
triggerAriaLabel: M = "Open time picker",
|
|
43
|
+
onKeyDown: p,
|
|
44
|
+
...m
|
|
45
|
+
}) => {
|
|
46
|
+
const {
|
|
47
|
+
selectedTime: N,
|
|
48
|
+
inputValue: P,
|
|
49
|
+
open: _,
|
|
50
|
+
inputId: v,
|
|
51
|
+
handleInputChange: F,
|
|
52
|
+
handleInputKeyDown: c,
|
|
53
|
+
handleHourSelect: H,
|
|
54
|
+
handleMinuteSelect: O,
|
|
55
|
+
handleNowSelect: R,
|
|
56
|
+
handleClear: U,
|
|
57
|
+
setOpen: A
|
|
58
|
+
} = G({
|
|
59
|
+
value: u,
|
|
60
|
+
defaultValue: d,
|
|
61
|
+
onChange: f,
|
|
62
|
+
id: k,
|
|
63
|
+
defaultPanelTime: a,
|
|
64
|
+
minTime: n,
|
|
65
|
+
maxTime: r
|
|
66
|
+
}), s = Z(null), K = i(
|
|
67
|
+
(e) => {
|
|
68
|
+
c(e), p?.(e);
|
|
69
|
+
},
|
|
70
|
+
[c, p]
|
|
71
|
+
), L = i(
|
|
72
|
+
(e) => {
|
|
73
|
+
e.preventDefault();
|
|
74
|
+
},
|
|
75
|
+
[]
|
|
76
|
+
), j = i(
|
|
77
|
+
(e) => {
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
},
|
|
80
|
+
[]
|
|
81
|
+
);
|
|
82
|
+
return /* @__PURE__ */ x(
|
|
83
|
+
t,
|
|
84
|
+
{
|
|
85
|
+
open: _,
|
|
86
|
+
onOpenChange: A,
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ o(
|
|
89
|
+
B,
|
|
90
|
+
{
|
|
91
|
+
...m,
|
|
92
|
+
ref: s,
|
|
93
|
+
id: v,
|
|
94
|
+
type: "time",
|
|
95
|
+
min: n,
|
|
96
|
+
max: r,
|
|
97
|
+
disabled: l,
|
|
98
|
+
value: P,
|
|
99
|
+
onChange: F,
|
|
100
|
+
onKeyDown: K,
|
|
101
|
+
onClick: L,
|
|
102
|
+
className: W(J.input, m.className),
|
|
103
|
+
"aria-label": I,
|
|
104
|
+
"aria-labelledby": y,
|
|
105
|
+
"aria-haspopup": "dialog",
|
|
106
|
+
endAction: /* @__PURE__ */ o(t.Trigger, { children: /* @__PURE__ */ o(
|
|
107
|
+
z,
|
|
108
|
+
{
|
|
109
|
+
icon: Q,
|
|
110
|
+
"aria-label": M,
|
|
111
|
+
variant: "ghost",
|
|
112
|
+
color: "primary",
|
|
113
|
+
size: "sm",
|
|
114
|
+
type: "button",
|
|
115
|
+
disabled: l,
|
|
116
|
+
onMouseDown: j
|
|
117
|
+
}
|
|
118
|
+
) })
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
/* @__PURE__ */ o(
|
|
122
|
+
t.Content,
|
|
123
|
+
{
|
|
124
|
+
side: "bottom",
|
|
125
|
+
align: "end",
|
|
126
|
+
padding: "none",
|
|
127
|
+
"aria-label": D,
|
|
128
|
+
initialFocus: !1,
|
|
129
|
+
finalFocus: s,
|
|
130
|
+
children: /* @__PURE__ */ o(
|
|
131
|
+
V,
|
|
132
|
+
{
|
|
133
|
+
selectedTime: N,
|
|
134
|
+
defaultPanelTime: a,
|
|
135
|
+
minTime: n,
|
|
136
|
+
maxTime: r,
|
|
137
|
+
hourStep: h,
|
|
138
|
+
minuteStep: g,
|
|
139
|
+
hoursAriaLabel: E,
|
|
140
|
+
minutesAriaLabel: w,
|
|
141
|
+
showNowButton: C,
|
|
142
|
+
clearable: S,
|
|
143
|
+
nowLabel: T,
|
|
144
|
+
clearLabel: b,
|
|
145
|
+
onHourSelect: H,
|
|
146
|
+
onMinuteSelect: O,
|
|
147
|
+
onNowSelect: R,
|
|
148
|
+
onClear: U
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
}
|
|
152
|
+
)
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
);
|
|
158
|
+
$.displayName = "TimePicker";
|
|
159
|
+
export {
|
|
160
|
+
$ as default
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=TimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.js","sources":["../../../../src/components/forms/time-picker/TimePicker.tsx"],"sourcesContent":["import { IconButton } from '@components/actions/icon-button'\nimport { TextField } from '@components/forms/text-field'\nimport TimePickerPanel from '@components/forms/time-picker/components/time-picker-panel/TimePickerPanel.tsx'\nimport { DEFAULT_HOUR_STEP, DEFAULT_MINUTE_STEP } from '@components/forms/time-picker/constants'\nimport { useTimePicker } from '@components/forms/time-picker/hooks/useTimePicker.hook.ts'\nimport { TIME_PICKER_STYLES } from '@components/forms/time-picker/styles/TimePicker.css.ts'\nimport type { TimePickerProps } from '@components/forms/time-picker/types/TimePicker.props.ts'\nimport { Popover } from '@components/overlay/popover'\nimport ClockIcon from '@resources/asset/ClockIcon.svg?react'\nimport { cn } from '@utils/cn.ts'\nimport { memo, useCallback, useRef } from 'react'\n\n/**\n * A time picker that combines a native `type=\"time\"` text field with a popover\n * listing hours and minutes.\n *\n * - Typing a valid `HH:mm` time updates the popover and calls `onChange`.\n * - Choosing an hour updates the input; choosing a minute also closes the popover.\n * - Incomplete typed values are kept in the input but do not update the selected\n * time until they become valid.\n * - Closing the popover returns focus to the input.\n *\n * @example\n * ```tsx\n * const [time, setTime] = useState<string | undefined>()\n * <TimePicker label=\"Start time\" value={time} onChange={setTime} />\n * ```\n */\nconst TimePicker = memo(\n ({\n value,\n defaultValue,\n onChange,\n defaultPanelTime,\n minTime,\n maxTime,\n hourStep = DEFAULT_HOUR_STEP,\n minuteStep = DEFAULT_MINUTE_STEP,\n showNowButton = false,\n clearable = false,\n nowLabel = 'Now',\n clearLabel = 'Clear',\n id,\n disabled,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n panelAriaLabel = 'Time',\n hoursAriaLabel = 'Hours',\n minutesAriaLabel = 'Minutes',\n triggerAriaLabel = 'Open time picker',\n onKeyDown,\n ...textFieldProps\n }: TimePickerProps) => {\n const {\n selectedTime,\n inputValue,\n open,\n inputId,\n handleInputChange,\n handleInputKeyDown,\n handleHourSelect,\n handleMinuteSelect,\n handleNowSelect,\n handleClear,\n setOpen,\n } = useTimePicker({\n value,\n defaultValue,\n onChange,\n id,\n defaultPanelTime,\n minTime,\n maxTime,\n })\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleInputKeyDown(event)\n onKeyDown?.(event)\n },\n [handleInputKeyDown, onKeyDown],\n )\n\n const handleInputClick = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n // Stops mobile browsers from opening their native time picker.\n event.preventDefault()\n },\n [],\n )\n\n const handleTriggerMouseDown = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n },\n [],\n )\n\n return (\n <Popover\n open={open}\n onOpenChange={setOpen}\n >\n <TextField\n {...textFieldProps}\n ref={inputRef}\n id={inputId}\n type={'time'}\n min={minTime}\n max={maxTime}\n disabled={disabled}\n value={inputValue}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n onClick={handleInputClick}\n className={cn(TIME_PICKER_STYLES.input, textFieldProps.className)}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-haspopup={'dialog'}\n endAction={\n <Popover.Trigger>\n <IconButton\n icon={ClockIcon}\n aria-label={triggerAriaLabel}\n variant={'ghost'}\n color={'primary'}\n size={'sm'}\n type={'button'}\n disabled={disabled}\n onMouseDown={handleTriggerMouseDown}\n />\n </Popover.Trigger>\n }\n />\n\n <Popover.Content\n side={'bottom'}\n align={'end'}\n padding={'none'}\n aria-label={panelAriaLabel}\n initialFocus={false}\n finalFocus={inputRef}\n >\n <TimePickerPanel\n selectedTime={selectedTime}\n defaultPanelTime={defaultPanelTime}\n minTime={minTime}\n maxTime={maxTime}\n hourStep={hourStep}\n minuteStep={minuteStep}\n hoursAriaLabel={hoursAriaLabel}\n minutesAriaLabel={minutesAriaLabel}\n showNowButton={showNowButton}\n clearable={clearable}\n nowLabel={nowLabel}\n clearLabel={clearLabel}\n onHourSelect={handleHourSelect}\n onMinuteSelect={handleMinuteSelect}\n onNowSelect={handleNowSelect}\n onClear={handleClear}\n />\n </Popover.Content>\n </Popover>\n )\n },\n)\n\nTimePicker.displayName = 'TimePicker'\n\nexport default TimePicker\n"],"names":["TimePicker","memo","value","defaultValue","onChange","defaultPanelTime","minTime","maxTime","hourStep","DEFAULT_HOUR_STEP","minuteStep","DEFAULT_MINUTE_STEP","showNowButton","clearable","nowLabel","clearLabel","id","disabled","ariaLabel","ariaLabelledBy","panelAriaLabel","hoursAriaLabel","minutesAriaLabel","triggerAriaLabel","onKeyDown","textFieldProps","selectedTime","inputValue","open","inputId","handleInputChange","handleInputKeyDown","handleHourSelect","handleMinuteSelect","handleNowSelect","handleClear","setOpen","useTimePicker","inputRef","useRef","handleKeyDown","useCallback","event","handleInputClick","handleTriggerMouseDown","jsxs","Popover","jsx","TextField","cn","TIME_PICKER_STYLES","IconButton","ClockIcon","TimePickerPanel"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),n=require("react"),p=require("../../../../actions/button/Button.cjs");require("../../../../actions/button/styles/Button.css.cjs");const t=require("./styles/TimePickerPanel.css.cjs"),r=require("../../utils/timePicker.utils.cjs"),m=n.memo(({selectedTime:L,defaultPanelTime:R,minTime:i,maxTime:l,hourStep:_,minuteStep:u,hoursAriaLabel:d,minutesAriaLabel:P,showNowButton:T,clearable:I,nowLabel:j,clearLabel:f,onHourSelect:x,onMinuteSelect:C,onNowSelect:h,onClear:M})=>{const o=r.splitTime(L),a=o??r.splitTime(R),E=a?.hour,g=n.useMemo(()=>r.getHourOptions(_).filter(e=>r.isTimeInRange(`${e}:59`,i,void 0)&&r.isTimeInRange(`${e}:00`,void 0,l)),[_,i,l]),v=n.useMemo(()=>r.getMinuteOptions(u).filter(e=>E===void 0||r.isTimeInRange(`${E}:${e}`,i,l)),[u,E,i,l]),N=n.useRef(null);n.useEffect(()=>{N.current?.querySelectorAll('[aria-pressed="true"], [data-reference="true"]').forEach(e=>{const c=e.parentElement?.parentElement;c&&(c.scrollTop=e.offsetTop-c.clientHeight/2+e.clientHeight/2)})},[]);const S=(e,c)=>({"aria-pressed":e,"data-reference":!o&&c?!0:void 0});return s.jsxs("div",{ref:N,className:t.TIME_PICKER_PANEL_STYLES.root,children:[s.jsxs("div",{className:t.TIME_PICKER_PANEL_STYLES.body,children:[s.jsxs("div",{className:t.TIME_PICKER_PANEL_STYLES.group,children:[s.jsx("p",{className:t.TIME_PICKER_PANEL_STYLES.title,children:d}),s.jsx("ul",{"aria-label":d,className:t.TIME_PICKER_PANEL_STYLES.column,children:g.map(e=>s.jsx("li",{children:s.jsx("button",{type:"button",...S(o?.hour===e,a?.hour===e),className:t.TIME_PICKER_PANEL_STYLES.item,onClick:()=>x(e),children:e})},e))})]}),s.jsxs("div",{className:t.TIME_PICKER_PANEL_STYLES.group,children:[s.jsx("p",{className:t.TIME_PICKER_PANEL_STYLES.title,children:P}),s.jsx("ul",{"aria-label":P,className:t.TIME_PICKER_PANEL_STYLES.column,children:v.map(e=>s.jsx("li",{children:s.jsx("button",{type:"button",...S(o?.minute===e,a?.minute===e),className:t.TIME_PICKER_PANEL_STYLES.item,onClick:()=>C(e),children:e})},e))})]})]}),(T||I)&&s.jsxs("div",{className:t.TIME_PICKER_PANEL_STYLES.footer,children:[I?s.jsx(p,{label:f,variant:"ghost",size:"sm",type:"button",onClick:M}):s.jsx("span",{}),T&&s.jsx(p,{label:j,variant:"ghost",size:"sm",type:"button",onClick:h})]})]})});m.displayName="TimePickerPanel";module.exports=m;
|
|
2
|
+
//# sourceMappingURL=TimePickerPanel.cjs.map
|
package/dist/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePickerPanel.cjs","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,9 @@
|
|
|
1
|
+
import { TimePickerPanelProps } from './types/TimePickerPanel.props.ts';
|
|
2
|
+
import { MemoExoticComponent } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Two scrollable lists, hours and minutes, used inside the TimePicker popover.
|
|
5
|
+
* Options outside the allowed range are not listed. The selected values, or the
|
|
6
|
+
* default panel time, are scrolled into view on mount.
|
|
7
|
+
*/
|
|
8
|
+
declare const TimePickerPanel: MemoExoticComponent<({ selectedTime, defaultPanelTime, minTime, maxTime, hourStep, minuteStep, hoursAriaLabel, minutesAriaLabel, showNowButton, clearable, nowLabel, clearLabel, onHourSelect, onMinuteSelect, onNowSelect, onClear, }: TimePickerPanelProps) => import("react").JSX.Element>;
|
|
9
|
+
export default TimePickerPanel;
|
|
@@ -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-kit132.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":""}
|
package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import '../../../../../../ui-kit132.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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
+
};
|