@choco-vanille/ui 1.18.1 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/constants/buttonVariants.const.cjs +2 -0
- package/dist/components/actions/_shared/buttons/constants/buttonVariants.const.cjs.map +1 -0
- package/dist/components/actions/_shared/buttons/constants/buttonVariants.const.js +7 -0
- package/dist/components/actions/_shared/buttons/constants/buttonVariants.const.js.map +1 -0
- 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 +2 -0
- package/dist/components/actions/fab/Fab.cjs.map +1 -0
- package/dist/components/actions/fab/Fab.d.ts +10 -0
- package/dist/components/actions/fab/Fab.js +47 -0
- package/dist/components/actions/fab/Fab.js.map +1 -0
- package/dist/components/actions/fab/constants/fabPositions.const.cjs +2 -0
- package/dist/components/actions/fab/constants/fabPositions.const.cjs.map +1 -0
- package/dist/components/actions/fab/constants/fabPositions.const.d.ts +6 -0
- package/dist/components/actions/fab/constants/fabPositions.const.js +10 -0
- package/dist/components/actions/fab/constants/fabPositions.const.js.map +1 -0
- package/dist/components/actions/fab/constants/index.d.ts +1 -0
- package/dist/components/actions/fab/index.d.ts +5 -0
- package/dist/components/actions/fab/styles/Fab.css.cjs +2 -0
- package/dist/components/actions/fab/styles/Fab.css.cjs.map +1 -0
- package/dist/components/actions/fab/styles/Fab.css.d.ts +54 -0
- package/dist/components/actions/fab/styles/Fab.css.js +20 -0
- package/dist/components/actions/fab/styles/Fab.css.js.map +1 -0
- package/dist/components/actions/fab/types/Fab.props.d.ts +25 -0
- package/dist/components/actions/fab/types/Fab.types.d.ts +8 -0
- 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/index.d.ts +1 -0
- 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/rich-text-renderer/styles/RichTextRenderer.css.cjs +1 -1
- package/dist/components/data-display/rich-text-renderer/styles/RichTextRenderer.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-actions/styles/ToastActions.css.cjs +1 -1
- package/dist/components/feedback/toast/components/toast-actions/styles/ToastActions.css.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 +6 -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 +6 -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.js +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/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 +156 -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-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 +6 -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 +6 -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 +6 -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/pulse/pulseAnimation.css.cjs +1 -1
- package/dist/constants/animations/pulse/pulseAnimation.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/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 +334 -323
- 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 +151 -145
- 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-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-kit131.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-kit158.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 -0
- 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-kit21.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-kit3.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-kit53.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-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,126 @@
|
|
|
1
|
+
import { jsxs as o, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { memo as z, useMemo as b, useRef as O, useEffect as S } from "react";
|
|
3
|
+
import E from "../../../../actions/button/Button.js";
|
|
4
|
+
import "../../../../actions/button/styles/Button.css.js";
|
|
5
|
+
import { TIME_PICKER_PANEL_STYLES as l } from "./styles/TimePickerPanel.css.js";
|
|
6
|
+
import { splitTime as y, getHourOptions as T, isTimeInRange as d, getMinuteOptions as q } from "../../utils/timePicker.utils.js";
|
|
7
|
+
const K = z(
|
|
8
|
+
({
|
|
9
|
+
selectedTime: k,
|
|
10
|
+
defaultPanelTime: P,
|
|
11
|
+
minTime: s,
|
|
12
|
+
maxTime: c,
|
|
13
|
+
hourStep: p,
|
|
14
|
+
minuteStep: m,
|
|
15
|
+
hoursAriaLabel: f,
|
|
16
|
+
minutesAriaLabel: u,
|
|
17
|
+
showNowButton: h,
|
|
18
|
+
clearable: N,
|
|
19
|
+
nowLabel: C,
|
|
20
|
+
clearLabel: H,
|
|
21
|
+
onHourSelect: R,
|
|
22
|
+
onMinuteSelect: $,
|
|
23
|
+
onNowSelect: I,
|
|
24
|
+
onClear: M
|
|
25
|
+
}) => {
|
|
26
|
+
const n = y(k), i = n ?? y(P), a = i?.hour, _ = b(
|
|
27
|
+
() => T(p).filter(
|
|
28
|
+
(e) => d(`${e}:59`, s, void 0) && d(`${e}:00`, void 0, c)
|
|
29
|
+
),
|
|
30
|
+
[p, s, c]
|
|
31
|
+
), j = b(
|
|
32
|
+
() => q(m).filter(
|
|
33
|
+
(e) => a === void 0 || d(`${a}:${e}`, s, c)
|
|
34
|
+
),
|
|
35
|
+
[m, a, s, c]
|
|
36
|
+
), v = O(null);
|
|
37
|
+
S(() => {
|
|
38
|
+
v.current?.querySelectorAll('[aria-pressed="true"], [data-reference="true"]').forEach((e) => {
|
|
39
|
+
const r = e.parentElement?.parentElement;
|
|
40
|
+
r && (r.scrollTop = e.offsetTop - r.clientHeight / 2 + e.clientHeight / 2);
|
|
41
|
+
});
|
|
42
|
+
}, []);
|
|
43
|
+
const g = (e, r) => ({
|
|
44
|
+
"aria-pressed": e,
|
|
45
|
+
"data-reference": !n && r ? !0 : void 0
|
|
46
|
+
});
|
|
47
|
+
return /* @__PURE__ */ o(
|
|
48
|
+
"div",
|
|
49
|
+
{
|
|
50
|
+
ref: v,
|
|
51
|
+
className: l.root,
|
|
52
|
+
children: [
|
|
53
|
+
/* @__PURE__ */ o("div", { className: l.body, children: [
|
|
54
|
+
/* @__PURE__ */ o("div", { className: l.group, children: [
|
|
55
|
+
/* @__PURE__ */ t("p", { className: l.title, children: f }),
|
|
56
|
+
/* @__PURE__ */ t(
|
|
57
|
+
"ul",
|
|
58
|
+
{
|
|
59
|
+
"aria-label": f,
|
|
60
|
+
className: l.column,
|
|
61
|
+
children: _.map((e) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
|
|
62
|
+
"button",
|
|
63
|
+
{
|
|
64
|
+
type: "button",
|
|
65
|
+
...g(n?.hour === e, i?.hour === e),
|
|
66
|
+
className: l.item,
|
|
67
|
+
onClick: () => R(e),
|
|
68
|
+
children: e
|
|
69
|
+
}
|
|
70
|
+
) }, e))
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
] }),
|
|
74
|
+
/* @__PURE__ */ o("div", { className: l.group, children: [
|
|
75
|
+
/* @__PURE__ */ t("p", { className: l.title, children: u }),
|
|
76
|
+
/* @__PURE__ */ t(
|
|
77
|
+
"ul",
|
|
78
|
+
{
|
|
79
|
+
"aria-label": u,
|
|
80
|
+
className: l.column,
|
|
81
|
+
children: j.map((e) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
|
|
82
|
+
"button",
|
|
83
|
+
{
|
|
84
|
+
type: "button",
|
|
85
|
+
...g(n?.minute === e, i?.minute === e),
|
|
86
|
+
className: l.item,
|
|
87
|
+
onClick: () => $(e),
|
|
88
|
+
children: e
|
|
89
|
+
}
|
|
90
|
+
) }, e))
|
|
91
|
+
}
|
|
92
|
+
)
|
|
93
|
+
] })
|
|
94
|
+
] }),
|
|
95
|
+
(h || N) && /* @__PURE__ */ o("div", { className: l.footer, children: [
|
|
96
|
+
N ? /* @__PURE__ */ t(
|
|
97
|
+
E,
|
|
98
|
+
{
|
|
99
|
+
label: H,
|
|
100
|
+
variant: "ghost",
|
|
101
|
+
size: "sm",
|
|
102
|
+
type: "button",
|
|
103
|
+
onClick: M
|
|
104
|
+
}
|
|
105
|
+
) : /* @__PURE__ */ t("span", {}),
|
|
106
|
+
h && /* @__PURE__ */ t(
|
|
107
|
+
E,
|
|
108
|
+
{
|
|
109
|
+
label: C,
|
|
110
|
+
variant: "ghost",
|
|
111
|
+
size: "sm",
|
|
112
|
+
type: "button",
|
|
113
|
+
onClick: I
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
] })
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
);
|
|
122
|
+
K.displayName = "TimePickerPanel";
|
|
123
|
+
export {
|
|
124
|
+
K as default
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=TimePickerPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePickerPanel.js","sources":["../../../../../../src/components/forms/time-picker/components/time-picker-panel/TimePickerPanel.tsx"],"sourcesContent":["import { memo, useEffect, useMemo, useRef } from 'react'\r\n\r\nimport { Button } from '@components/actions/button'\r\nimport { TIME_PICKER_PANEL_STYLES } from '@components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.ts'\r\nimport type { TimePickerPanelProps } from '@components/forms/time-picker/components/time-picker-panel/types/TimePickerPanel.props.ts'\r\nimport {\r\n getHourOptions,\r\n getMinuteOptions,\r\n isTimeInRange,\r\n splitTime,\r\n} from '@components/forms/time-picker/utils/timePicker.utils.ts'\r\n\r\n/**\r\n * Two scrollable lists, hours and minutes, used inside the TimePicker popover.\r\n * Options outside the allowed range are not listed. The selected values, or the\r\n * default panel time, are scrolled into view on mount.\r\n */\r\nconst TimePickerPanel = memo(\r\n ({\r\n selectedTime,\r\n defaultPanelTime,\r\n minTime,\r\n maxTime,\r\n hourStep,\r\n minuteStep,\r\n hoursAriaLabel,\r\n minutesAriaLabel,\r\n showNowButton,\r\n clearable,\r\n nowLabel,\r\n clearLabel,\r\n onHourSelect,\r\n onMinuteSelect,\r\n onNowSelect,\r\n onClear,\r\n }: TimePickerPanelProps) => {\r\n const selected = splitTime(selectedTime)\r\n const reference = selected ?? splitTime(defaultPanelTime)\r\n const referenceHour = reference?.hour\r\n const hours = useMemo(\r\n () => getHourOptions(hourStep).filter(\r\n hour => isTimeInRange(`${hour}:59`, minTime, undefined)\r\n && isTimeInRange(`${hour}:00`, undefined, maxTime),\r\n ),\r\n [hourStep, minTime, maxTime],\r\n )\r\n const minutes = useMemo(\r\n () => getMinuteOptions(minuteStep).filter(\r\n minute => referenceHour === undefined\r\n || isTimeInRange(`${referenceHour}:${minute}`, minTime, maxTime),\r\n ),\r\n [minuteStep, referenceHour, minTime, maxTime],\r\n )\r\n const rootRef = useRef<HTMLDivElement>(null)\r\n\r\n useEffect(() => {\r\n rootRef.current\r\n ?.querySelectorAll<HTMLElement>('[aria-pressed=\"true\"], [data-reference=\"true\"]')\r\n .forEach((item) => {\r\n const column = item.parentElement?.parentElement\r\n if (column) {\r\n column.scrollTop = item.offsetTop - column.clientHeight / 2 + item.clientHeight / 2\r\n }\r\n })\r\n }, [])\r\n\r\n const getState = (isSelected: boolean, isReference: boolean) => ({\r\n 'aria-pressed': isSelected,\r\n 'data-reference': !selected && isReference ? true : undefined,\r\n })\r\n\r\n return (\r\n <div\r\n ref={rootRef}\r\n className={TIME_PICKER_PANEL_STYLES.root}\r\n >\r\n <div className={TIME_PICKER_PANEL_STYLES.body}>\r\n <div className={TIME_PICKER_PANEL_STYLES.group}>\r\n <p className={TIME_PICKER_PANEL_STYLES.title}>{hoursAriaLabel}</p>\r\n <ul\r\n aria-label={hoursAriaLabel}\r\n className={TIME_PICKER_PANEL_STYLES.column}\r\n >\r\n {hours.map((hour) => (\r\n <li key={hour}>\r\n <button\r\n type={'button'}\r\n {...getState(selected?.hour === hour, reference?.hour === hour)}\r\n className={TIME_PICKER_PANEL_STYLES.item}\r\n onClick={() => onHourSelect(hour)}\r\n >\r\n {hour}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n <div className={TIME_PICKER_PANEL_STYLES.group}>\r\n <p className={TIME_PICKER_PANEL_STYLES.title}>{minutesAriaLabel}</p>\r\n <ul\r\n aria-label={minutesAriaLabel}\r\n className={TIME_PICKER_PANEL_STYLES.column}\r\n >\r\n {minutes.map((minute) => (\r\n <li key={minute}>\r\n <button\r\n type={'button'}\r\n {...getState(selected?.minute === minute, reference?.minute === minute)}\r\n className={TIME_PICKER_PANEL_STYLES.item}\r\n onClick={() => onMinuteSelect(minute)}\r\n >\r\n {minute}\r\n </button>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n {(showNowButton || clearable) && (\r\n <div className={TIME_PICKER_PANEL_STYLES.footer}>\r\n {clearable\r\n ? (\r\n <Button\r\n label={clearLabel}\r\n variant={'ghost'}\r\n size={'sm'}\r\n type={'button'}\r\n onClick={onClear}\r\n />\r\n )\r\n : <span />}\r\n {showNowButton && (\r\n <Button\r\n label={nowLabel}\r\n variant={'ghost'}\r\n size={'sm'}\r\n type={'button'}\r\n onClick={onNowSelect}\r\n />\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n },\r\n)\r\n\r\nTimePickerPanel.displayName = 'TimePickerPanel'\r\n\r\nexport default TimePickerPanel\r\n"],"names":["TimePickerPanel","memo","selectedTime","defaultPanelTime","minTime","maxTime","hourStep","minuteStep","hoursAriaLabel","minutesAriaLabel","showNowButton","clearable","nowLabel","clearLabel","onHourSelect","onMinuteSelect","onNowSelect","onClear","selected","splitTime","reference","referenceHour","hours","useMemo","getHourOptions","hour","isTimeInRange","minutes","getMinuteOptions","minute","rootRef","useRef","useEffect","item","column","getState","isSelected","isReference","jsxs","TIME_PICKER_PANEL_STYLES","jsx","Button"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../../../../ui-kit157.css');require('../../../../../../ui-kit.css');;/* empty css */;/* empty css */var e={root:"_1p6gdxx0",body:"_1p6gdxx1",group:"_1p6gdxx2",title:"_1p6gdxx3",column:"_1p6gdxx4",item:"_1p6gdxx5",footer:"_1p6gdxx6"};exports.TIME_PICKER_PANEL_STYLES=e;
|
|
2
|
+
//# sourceMappingURL=TimePickerPanel.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePickerPanel.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/components/forms/time-picker/components/time-picker-panel/styles/TimePickerPanel.css.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import '../../../../../../ui-kit157.css';import '../../../../../../ui-kit.css';/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
var o = { root: "_1p6gdxx0", body: "_1p6gdxx1", group: "_1p6gdxx2", title: "_1p6gdxx3", column: "_1p6gdxx4", item: "_1p6gdxx5", footer: "_1p6gdxx6" };
|
|
4
|
+
export {
|
|
5
|
+
o as TIME_PICKER_PANEL_STYLES
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=TimePickerPanel.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePickerPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type TimePickerPanelProps = {
|
|
2
|
+
/** Selected time as `HH:mm`, if any. */
|
|
3
|
+
selectedTime: string | undefined;
|
|
4
|
+
/** Time used as reference (scroll position, minute bounds) when none is selected. */
|
|
5
|
+
defaultPanelTime: string | undefined;
|
|
6
|
+
/** Earliest selectable time. */
|
|
7
|
+
minTime: string | undefined;
|
|
8
|
+
/** Latest selectable time. */
|
|
9
|
+
maxTime: string | undefined;
|
|
10
|
+
/** Interval between the listed hours. */
|
|
11
|
+
hourStep: number;
|
|
12
|
+
/** Interval between the listed minutes. */
|
|
13
|
+
minuteStep: number;
|
|
14
|
+
/** Title and accessible name of the hours list. */
|
|
15
|
+
hoursAriaLabel: string;
|
|
16
|
+
/** Title and accessible name of the minutes list. */
|
|
17
|
+
minutesAriaLabel: string;
|
|
18
|
+
/** Whether to show the "now" footer button. */
|
|
19
|
+
showNowButton: boolean;
|
|
20
|
+
/** Whether to show the clear footer button. */
|
|
21
|
+
clearable: boolean;
|
|
22
|
+
/** Label of the "now" button. */
|
|
23
|
+
nowLabel: string;
|
|
24
|
+
/** Label of the clear button. */
|
|
25
|
+
clearLabel: string;
|
|
26
|
+
/** Called when an hour is chosen. */
|
|
27
|
+
onHourSelect: (hour: string) => void;
|
|
28
|
+
/** Called when a minute is chosen. */
|
|
29
|
+
onMinuteSelect: (minute: string) => void;
|
|
30
|
+
/** Called when the "now" button is pressed. */
|
|
31
|
+
onNowSelect: () => void;
|
|
32
|
+
/** Called when the clear button is pressed. */
|
|
33
|
+
onClear: () => void;
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
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":";;;AAaO,MAAMA,IAAgB,CAAC;AAAA,EAC1B,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AACJ,MAAiD;AAC7C,QAAMC,IAAeP,MAAU,QACzBQ,IAAcC,EAAA,GACdC,IAAUP,KAAMK,GAEhB,CAACG,GAAcC,CAAe,IAAIC;AAAA,IACpCC,EAAYb,CAAY,IAAIA,IAAe;AAAA,EAAA,GAEzC,CAACc,GAAYC,CAAa,IAAIH;AAAA,IAChCC,EAAYb,CAAY,IAAIA,IAAe;AAAA,EAAA,GAEzC,CAACgB,GAAMC,CAAO,IAAIL,EAAS,EAAK,GAEhCM,IAAeZ,IAAgBO,EAAYd,CAAK,IAAIA,IAAQ,SAAaW;AAE/E,EAAAS,EAAU,MAAM;AACZ,IAAIb,MACAK,EAAgBE,EAAYd,CAAK,IAAIA,IAAQ,MAAS,GACtDgB,EAAcF,EAAYd,CAAK,IAAIA,IAAQ,EAAE;AAAA,EAErD,GAAG,CAACO,GAAcP,CAAK,CAAC;AAExB,QAAMqB,IAAaC;AAAA,IACf,CAACC,MAA6B;AAC1B,MAAKhB,MACDK,EAAgBW,CAAI,GACpBP,EAAcO,KAAQ,EAAE,IAE5BrB,IAAWqB,CAAI;AAAA,IACnB;AAAA,IACA,CAAChB,GAAcL,CAAQ;AAAA,EAAA,GAGrBsB,IAAoBF;AAAA,IACtB,CAACG,MAA+C;AAC5C,YAAMC,IAAWD,EAAM,OAAO;AAG9B,UAFAT,EAAcU,CAAQ,GAElBA,MAAa,IAAI;AACjB,QAAIP,MAAiB,UACjBE,EAAW,MAAS;AAExB;AAAA,MACJ;AAEA,MAAIP,EAAYY,CAAQ,KAAKA,MAAaP,KACtCE,EAAWK,CAAQ;AAAA,IAE3B;AAAA,IACA,CAACP,GAAcE,CAAU;AAAA,EAAA,GAGvBM,IAAmBL;AAAA,IACrB,CAACM,MAAiB;AACd,YAAMC,IAASC,EAAUX,CAAY,GAAG,UACjCW,EAAU1B,CAAgB,GAAG,UAC7B;AACP,MAAAiB,EAAWU,EAAUC,EAASJ,GAAMC,CAAM,GAAGxB,GAASC,CAAO,CAAC;AAAA,IAClE;AAAA,IACA,CAACa,GAAcf,GAAkBC,GAASC,GAASe,CAAU;AAAA,EAAA,GAG3DY,IAAqBX;AAAA,IACvB,CAACO,MAAmB;AAChB,YAAMD,IAAOE,EAAUX,CAAY,GAAG,QAC/BW,EAAU1B,CAAgB,GAAG,QAC7B;AACP,MAAAiB,EAAWU,EAAUC,EAASJ,GAAMC,CAAM,GAAGxB,GAASC,CAAO,CAAC,GAC9DY,EAAQ,EAAK;AAAA,IACjB;AAAA,IACA,CAACC,GAAcf,GAAkBC,GAASC,GAASe,CAAU;AAAA,EAAA,GAG3Da,IAAkBZ,EAAY,MAAM;AACtC,IAAAD,EAAWU,EAAUI,EAAA,GAAkB9B,GAASC,CAAO,CAAC,GACxDY,EAAQ,EAAK;AAAA,EACjB,GAAG,CAACb,GAASC,GAASe,CAAU,CAAC,GAE3Be,IAAcd,EAAY,MAAM;AAClC,IAAAD,EAAW,MAAS,GACpBH,EAAQ,EAAK;AAAA,EACjB,GAAG,CAACG,CAAU,CAAC,GACTgB,IAAqBf;AAAA,IACvB,CAACG,MAAiD;AAC9C,YAAMa,IAAUC,EAA6B,IAAId,EAAM,GAAG,GACpDe,IAAiBf,EAAM,QAAQ,eAAeA,EAAM;AAE1D,OAAIa,KAAWE,OACXf,EAAM,eAAA,GACNP,EAAQ,EAAI;AAAA,IAEpB;AAAA,IACA,CAAA;AAAA,EAAC;AAGL,SAAO;AAAA,IACH,cAAcC;AAAA,IACd,YAAAJ;AAAA,IACA,MAAAE;AAAA,IACA,SAAAP;AAAA,IACA,mBAAAc;AAAA,IACA,oBAAAa;AAAA,IACA,kBAAAV;AAAA,IACA,oBAAAM;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAE;AAAA,IACA,SAAAlB;AAAA,EAAA;AAER;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const TIME_PICKER_STYLES: {
|
|
2
|
+
/**
|
|
3
|
+
* Hides the browser-native clock picker icon on time inputs so the custom
|
|
4
|
+
* IconButton trigger is the only visible way to open the popover.
|
|
5
|
+
*/
|
|
6
|
+
input: string;
|
|
7
|
+
/** Removes the popover content padding so the panel sits flush. */
|
|
8
|
+
content: string;
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { TextFieldProps } from '../../text-field';
|
|
2
|
+
export type TimePickerProps = Omit<TextFieldProps, 'type' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max'> & {
|
|
3
|
+
/** The currently selected time as `HH:mm` (controlled). */
|
|
4
|
+
value?: string;
|
|
5
|
+
/** The default selected time as `HH:mm` (uncontrolled). */
|
|
6
|
+
defaultValue?: string;
|
|
7
|
+
/** Called with the new `HH:mm` time, or `undefined` when it is cleared. */
|
|
8
|
+
onChange?: (time: string | undefined) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Time the popover scrolls to, and builds from, while no time is selected,
|
|
11
|
+
* as `HH:mm`. It is not written to the input until the user picks a value.
|
|
12
|
+
* @example '09:00'
|
|
13
|
+
*/
|
|
14
|
+
defaultPanelTime?: string;
|
|
15
|
+
/** Earliest selectable time as `HH:mm`. Earlier options are not listed. */
|
|
16
|
+
minTime?: string;
|
|
17
|
+
/** Latest selectable time as `HH:mm`. Later options are not listed. */
|
|
18
|
+
maxTime?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Interval between the hours listed in the popover.
|
|
21
|
+
* @default 1
|
|
22
|
+
*/
|
|
23
|
+
hourStep?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Interval between the minutes listed in the popover. Any minute can still
|
|
26
|
+
* be typed in the input.
|
|
27
|
+
* @default 5
|
|
28
|
+
*/
|
|
29
|
+
minuteStep?: number;
|
|
30
|
+
/** Shows a footer button that selects the current time. */
|
|
31
|
+
showNowButton?: boolean;
|
|
32
|
+
/** Shows a footer button that clears the selected time. */
|
|
33
|
+
clearable?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Label of the "now" button.
|
|
36
|
+
* Override for i18n.
|
|
37
|
+
* @default 'Now'
|
|
38
|
+
*/
|
|
39
|
+
nowLabel?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Label of the clear button.
|
|
42
|
+
* Override for i18n.
|
|
43
|
+
* @default 'Clear'
|
|
44
|
+
*/
|
|
45
|
+
clearLabel?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Accessible name for the time popover dialog.
|
|
48
|
+
* Override for i18n.
|
|
49
|
+
* @default 'Time'
|
|
50
|
+
*/
|
|
51
|
+
panelAriaLabel?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Visible title and accessible name of the hours list.
|
|
54
|
+
* Override for i18n.
|
|
55
|
+
* @default 'Hours'
|
|
56
|
+
*/
|
|
57
|
+
hoursAriaLabel?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Visible title and accessible name of the minutes list.
|
|
60
|
+
* Override for i18n.
|
|
61
|
+
* @default 'Minutes'
|
|
62
|
+
*/
|
|
63
|
+
minutesAriaLabel?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Accessible name for the button that opens the popover.
|
|
66
|
+
* Override for i18n.
|
|
67
|
+
* @default 'Open time picker'
|
|
68
|
+
*/
|
|
69
|
+
triggerAriaLabel?: string;
|
|
70
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type UseTimePickerOptions = {
|
|
2
|
+
/** The currently selected time as `HH:mm` (controlled). */
|
|
3
|
+
value?: string;
|
|
4
|
+
/** The default selected time as `HH:mm` (uncontrolled). */
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
/** Called when the selected time changes. */
|
|
7
|
+
onChange?: (time: string | undefined) => void;
|
|
8
|
+
/** Explicit id for the input; falls back to a generated id. */
|
|
9
|
+
id?: string;
|
|
10
|
+
/** Time used to build a value while none is selected. */
|
|
11
|
+
defaultPanelTime?: string;
|
|
12
|
+
/** Earliest selectable time. */
|
|
13
|
+
minTime?: string;
|
|
14
|
+
/** Latest selectable time. */
|
|
15
|
+
maxTime?: string;
|
|
16
|
+
};
|
|
17
|
+
export type UseTimePickerReturn = {
|
|
18
|
+
/** Resolved selected time, `undefined` when empty or incomplete. */
|
|
19
|
+
selectedTime: string | undefined;
|
|
20
|
+
/** Current value of the time input. */
|
|
21
|
+
inputValue: string;
|
|
22
|
+
/** Whether the popover is open. */
|
|
23
|
+
open: boolean;
|
|
24
|
+
/** Stable id for the input element. */
|
|
25
|
+
inputId: string;
|
|
26
|
+
/** Update the input value while committing valid times. */
|
|
27
|
+
handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
28
|
+
/** Intercept keys that would open the native time picker. */
|
|
29
|
+
handleInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
30
|
+
/** Select an hour in the popover, keeping the current minute. */
|
|
31
|
+
handleHourSelect: (hour: string) => void;
|
|
32
|
+
/** Select a minute in the popover and close it. */
|
|
33
|
+
handleMinuteSelect: (minute: string) => void;
|
|
34
|
+
/** Select the current time and close the popover. */
|
|
35
|
+
handleNowSelect: () => void;
|
|
36
|
+
/** Clear the selected time and close the popover. */
|
|
37
|
+
handleClear: () => void;
|
|
38
|
+
/** Toggle the popover open state. */
|
|
39
|
+
setOpen: (open: boolean) => void;
|
|
40
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=/^([01]\d|2[0-3]):([0-5]\d)$/,i=t=>t!==void 0&&c.test(t),u=t=>{if(!i(t))return;const[e,n]=t.split(":");return{hour:e,minute:n}},g=(t,e)=>`${t}:${e}`,r=t=>String(t).padStart(2,"0"),s=(t,e)=>Number.isInteger(t)&&t>=1&&t<=e?t:1,a=(t=1)=>{const e=s(t,24);return Array.from({length:Math.ceil(24/e)},(n,o)=>r(o*e))},T=t=>{const e=s(t,60);return Array.from({length:Math.ceil(60/e)},(n,o)=>r(o*e))},l=(t,e,n)=>(!i(e)||t>=e)&&(!i(n)||t<=n),p=(t,e,n)=>i(e)&&t<e?e:i(n)&&t>n?n:t,d=(t=new Date)=>`${r(t.getHours())}:${r(t.getMinutes())}`;exports.clampTime=p;exports.getCurrentTime=d;exports.getHourOptions=a;exports.getMinuteOptions=T;exports.isTimeInRange=l;exports.isValidTime=i;exports.joinTime=g;exports.splitTime=u;
|
|
2
|
+
//# sourceMappingURL=timePicker.utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timePicker.utils.cjs","sources":["../../../../../src/components/forms/time-picker/utils/timePicker.utils.ts"],"sourcesContent":["const TIME_REGEX = /^([01]\\d|2[0-3]):([0-5]\\d)$/\n\n/** Returns whether the value is a valid 24-hour `HH:mm` time. */\nexport const isValidTime = (value: string | undefined): value is string =>\n value !== undefined && TIME_REGEX.test(value)\n\n/**\n * Splits a `HH:mm` time into its hour and minute parts.\n * Returns `undefined` when the value is empty or invalid.\n */\nexport const splitTime = (\n value: string | undefined,\n): { hour: string; minute: string } | undefined => {\n if (!isValidTime(value)) {return undefined}\n\n const [hour, minute] = value.split(':')\n\n return { hour, minute }\n}\n\n/** Builds a `HH:mm` time from an hour and a minute. */\nexport const joinTime = (hour: string, minute: string): string =>\n `${hour}:${minute}`\n\nconst pad = (value: number): string => String(value).padStart(2, '0')\n\nconst getSafeStep = (step: number, max: number): number =>\n Number.isInteger(step) && step >= 1 && step <= max ? step : 1\n\n/**\n * Lists the hours of the day as two-digit strings, every `step` hours.\n * Invalid steps fall back to one hour.\n */\nexport const getHourOptions = (step = 1): string[] => {\n const safeStep = getSafeStep(step, 24)\n\n return Array.from(\n { length: Math.ceil(24 / safeStep) },\n (_, index) => pad(index * safeStep),\n )\n}\n\n/**\n * Lists the minutes of an hour as two-digit strings, every `step` minutes.\n * Invalid steps fall back to one minute.\n */\nexport const getMinuteOptions = (step: number): string[] => {\n const safeStep = getSafeStep(step, 60)\n\n return Array.from(\n { length: Math.ceil(60 / safeStep) },\n (_, index) => pad(index * safeStep),\n )\n}\n\n/**\n * Returns whether a time sits within the optional `min` and `max` bounds\n * (inclusive). Invalid bounds are ignored.\n */\nexport const isTimeInRange = (\n time: string,\n min?: string,\n max?: string,\n): boolean =>\n (!isValidTime(min) || time >= min) && (!isValidTime(max) || time <= max)\n\n/** Moves a time to the nearest bound when it falls outside the range. */\nexport const clampTime = (time: string, min?: string, max?: string): string => {\n if (isValidTime(min) && time < min) {return min}\n if (isValidTime(max) && time > max) {return max}\n\n return time\n}\n\n/** Returns the current local time as `HH:mm`. */\nexport const getCurrentTime = (now: Date = new Date()): string =>\n `${pad(now.getHours())}:${pad(now.getMinutes())}`\r\n"],"names":["TIME_REGEX","isValidTime","value","splitTime","hour","minute","joinTime","pad","getSafeStep","step","max","getHourOptions","safeStep","_","index","getMinuteOptions","isTimeInRange","time","min","clampTime","getCurrentTime","now"],"mappings":"gFAAA,MAAMA,EAAa,8BAGNC,EAAeC,GACxBA,IAAU,QAAaF,EAAW,KAAKE,CAAK,EAMnCC,EACTD,GAC+C,CAC/C,GAAI,CAACD,EAAYC,CAAK,EAAI,OAE1B,KAAM,CAACE,EAAMC,CAAM,EAAIH,EAAM,MAAM,GAAG,EAEtC,MAAO,CAAE,KAAAE,EAAM,OAAAC,CAAA,CACnB,EAGaC,EAAW,CAACF,EAAcC,IACnC,GAAGD,CAAI,IAAIC,CAAM,GAEfE,EAAOL,GAA0B,OAAOA,CAAK,EAAE,SAAS,EAAG,GAAG,EAE9DM,EAAc,CAACC,EAAcC,IAC/B,OAAO,UAAUD,CAAI,GAAKA,GAAQ,GAAKA,GAAQC,EAAMD,EAAO,EAMnDE,EAAiB,CAACF,EAAO,IAAgB,CAClD,MAAMG,EAAWJ,EAAYC,EAAM,EAAE,EAErC,OAAO,MAAM,KACT,CAAE,OAAQ,KAAK,KAAK,GAAKG,CAAQ,CAAA,EACjC,CAACC,EAAGC,IAAUP,EAAIO,EAAQF,CAAQ,CAAA,CAE1C,EAMaG,EAAoBN,GAA2B,CACxD,MAAMG,EAAWJ,EAAYC,EAAM,EAAE,EAErC,OAAO,MAAM,KACT,CAAE,OAAQ,KAAK,KAAK,GAAKG,CAAQ,CAAA,EACjC,CAACC,EAAGC,IAAUP,EAAIO,EAAQF,CAAQ,CAAA,CAE1C,EAMaI,EAAgB,CACzBC,EACAC,EACAR,KAEC,CAACT,EAAYiB,CAAG,GAAKD,GAAQC,KAAS,CAACjB,EAAYS,CAAG,GAAKO,GAAQP,GAG3DS,EAAY,CAACF,EAAcC,EAAcR,IAC9CT,EAAYiB,CAAG,GAAKD,EAAOC,EAAaA,EACxCjB,EAAYS,CAAG,GAAKO,EAAOP,EAAaA,EAErCO,EAIEG,EAAiB,CAACC,EAAY,IAAI,OAC3C,GAAGd,EAAIc,EAAI,SAAA,CAAU,CAAC,IAAId,EAAIc,EAAI,WAAA,CAAY,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Returns whether the value is a valid 24-hour `HH:mm` time. */
|
|
2
|
+
export declare const isValidTime: (value: string | undefined) => value is string;
|
|
3
|
+
/**
|
|
4
|
+
* Splits a `HH:mm` time into its hour and minute parts.
|
|
5
|
+
* Returns `undefined` when the value is empty or invalid.
|
|
6
|
+
*/
|
|
7
|
+
export declare const splitTime: (value: string | undefined) => {
|
|
8
|
+
hour: string;
|
|
9
|
+
minute: string;
|
|
10
|
+
} | undefined;
|
|
11
|
+
/** Builds a `HH:mm` time from an hour and a minute. */
|
|
12
|
+
export declare const joinTime: (hour: string, minute: string) => string;
|
|
13
|
+
/**
|
|
14
|
+
* Lists the hours of the day as two-digit strings, every `step` hours.
|
|
15
|
+
* Invalid steps fall back to one hour.
|
|
16
|
+
*/
|
|
17
|
+
export declare const getHourOptions: (step?: number) => string[];
|
|
18
|
+
/**
|
|
19
|
+
* Lists the minutes of an hour as two-digit strings, every `step` minutes.
|
|
20
|
+
* Invalid steps fall back to one minute.
|
|
21
|
+
*/
|
|
22
|
+
export declare const getMinuteOptions: (step: number) => string[];
|
|
23
|
+
/**
|
|
24
|
+
* Returns whether a time sits within the optional `min` and `max` bounds
|
|
25
|
+
* (inclusive). Invalid bounds are ignored.
|
|
26
|
+
*/
|
|
27
|
+
export declare const isTimeInRange: (time: string, min?: string, max?: string) => boolean;
|
|
28
|
+
/** Moves a time to the nearest bound when it falls outside the range. */
|
|
29
|
+
export declare const clampTime: (time: string, min?: string, max?: string) => string;
|
|
30
|
+
/** Returns the current local time as `HH:mm`. */
|
|
31
|
+
export declare const getCurrentTime: (now?: Date) => string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const c = /^([01]\d|2[0-3]):([0-5]\d)$/, r = (t) => t !== void 0 && c.test(t), u = (t) => {
|
|
2
|
+
if (!r(t))
|
|
3
|
+
return;
|
|
4
|
+
const [e, n] = t.split(":");
|
|
5
|
+
return { hour: e, minute: n };
|
|
6
|
+
}, g = (t, e) => `${t}:${e}`, o = (t) => String(t).padStart(2, "0"), i = (t, e) => Number.isInteger(t) && t >= 1 && t <= e ? t : 1, a = (t = 1) => {
|
|
7
|
+
const e = i(t, 24);
|
|
8
|
+
return Array.from(
|
|
9
|
+
{ length: Math.ceil(24 / e) },
|
|
10
|
+
(n, s) => o(s * e)
|
|
11
|
+
);
|
|
12
|
+
}, f = (t) => {
|
|
13
|
+
const e = i(t, 60);
|
|
14
|
+
return Array.from(
|
|
15
|
+
{ length: Math.ceil(60 / e) },
|
|
16
|
+
(n, s) => o(s * e)
|
|
17
|
+
);
|
|
18
|
+
}, p = (t, e, n) => (!r(e) || t >= e) && (!r(n) || t <= n), d = (t, e, n) => r(e) && t < e ? e : r(n) && t > n ? n : t, T = (t = /* @__PURE__ */ new Date()) => `${o(t.getHours())}:${o(t.getMinutes())}`;
|
|
19
|
+
export {
|
|
20
|
+
d as clampTime,
|
|
21
|
+
T as getCurrentTime,
|
|
22
|
+
a as getHourOptions,
|
|
23
|
+
f as getMinuteOptions,
|
|
24
|
+
p as isTimeInRange,
|
|
25
|
+
r as isValidTime,
|
|
26
|
+
g as joinTime,
|
|
27
|
+
u as splitTime
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=timePicker.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timePicker.utils.js","sources":["../../../../../src/components/forms/time-picker/utils/timePicker.utils.ts"],"sourcesContent":["const TIME_REGEX = /^([01]\\d|2[0-3]):([0-5]\\d)$/\n\n/** Returns whether the value is a valid 24-hour `HH:mm` time. */\nexport const isValidTime = (value: string | undefined): value is string =>\n value !== undefined && TIME_REGEX.test(value)\n\n/**\n * Splits a `HH:mm` time into its hour and minute parts.\n * Returns `undefined` when the value is empty or invalid.\n */\nexport const splitTime = (\n value: string | undefined,\n): { hour: string; minute: string } | undefined => {\n if (!isValidTime(value)) {return undefined}\n\n const [hour, minute] = value.split(':')\n\n return { hour, minute }\n}\n\n/** Builds a `HH:mm` time from an hour and a minute. */\nexport const joinTime = (hour: string, minute: string): string =>\n `${hour}:${minute}`\n\nconst pad = (value: number): string => String(value).padStart(2, '0')\n\nconst getSafeStep = (step: number, max: number): number =>\n Number.isInteger(step) && step >= 1 && step <= max ? step : 1\n\n/**\n * Lists the hours of the day as two-digit strings, every `step` hours.\n * Invalid steps fall back to one hour.\n */\nexport const getHourOptions = (step = 1): string[] => {\n const safeStep = getSafeStep(step, 24)\n\n return Array.from(\n { length: Math.ceil(24 / safeStep) },\n (_, index) => pad(index * safeStep),\n )\n}\n\n/**\n * Lists the minutes of an hour as two-digit strings, every `step` minutes.\n * Invalid steps fall back to one minute.\n */\nexport const getMinuteOptions = (step: number): string[] => {\n const safeStep = getSafeStep(step, 60)\n\n return Array.from(\n { length: Math.ceil(60 / safeStep) },\n (_, index) => pad(index * safeStep),\n )\n}\n\n/**\n * Returns whether a time sits within the optional `min` and `max` bounds\n * (inclusive). Invalid bounds are ignored.\n */\nexport const isTimeInRange = (\n time: string,\n min?: string,\n max?: string,\n): boolean =>\n (!isValidTime(min) || time >= min) && (!isValidTime(max) || time <= max)\n\n/** Moves a time to the nearest bound when it falls outside the range. */\nexport const clampTime = (time: string, min?: string, max?: string): string => {\n if (isValidTime(min) && time < min) {return min}\n if (isValidTime(max) && time > max) {return max}\n\n return time\n}\n\n/** Returns the current local time as `HH:mm`. */\nexport const getCurrentTime = (now: Date = new Date()): string =>\n `${pad(now.getHours())}:${pad(now.getMinutes())}`\r\n"],"names":["TIME_REGEX","isValidTime","value","splitTime","hour","minute","joinTime","pad","getSafeStep","step","max","getHourOptions","safeStep","_","index","getMinuteOptions","isTimeInRange","time","min","clampTime","getCurrentTime","now"],"mappings":"AAAA,MAAMA,IAAa,+BAGNC,IAAc,CAACC,MACxBA,MAAU,UAAaF,EAAW,KAAKE,CAAK,GAMnCC,IAAY,CACrBD,MAC+C;AAC/C,MAAI,CAACD,EAAYC,CAAK;AAAI;AAE1B,QAAM,CAACE,GAAMC,CAAM,IAAIH,EAAM,MAAM,GAAG;AAEtC,SAAO,EAAE,MAAAE,GAAM,QAAAC,EAAA;AACnB,GAGaC,IAAW,CAACF,GAAcC,MACnC,GAAGD,CAAI,IAAIC,CAAM,IAEfE,IAAM,CAACL,MAA0B,OAAOA,CAAK,EAAE,SAAS,GAAG,GAAG,GAE9DM,IAAc,CAACC,GAAcC,MAC/B,OAAO,UAAUD,CAAI,KAAKA,KAAQ,KAAKA,KAAQC,IAAMD,IAAO,GAMnDE,IAAiB,CAACF,IAAO,MAAgB;AAClD,QAAMG,IAAWJ,EAAYC,GAAM,EAAE;AAErC,SAAO,MAAM;AAAA,IACT,EAAE,QAAQ,KAAK,KAAK,KAAKG,CAAQ,EAAA;AAAA,IACjC,CAACC,GAAGC,MAAUP,EAAIO,IAAQF,CAAQ;AAAA,EAAA;AAE1C,GAMaG,IAAmB,CAACN,MAA2B;AACxD,QAAMG,IAAWJ,EAAYC,GAAM,EAAE;AAErC,SAAO,MAAM;AAAA,IACT,EAAE,QAAQ,KAAK,KAAK,KAAKG,CAAQ,EAAA;AAAA,IACjC,CAACC,GAAGC,MAAUP,EAAIO,IAAQF,CAAQ;AAAA,EAAA;AAE1C,GAMaI,IAAgB,CACzBC,GACAC,GACAR,OAEC,CAACT,EAAYiB,CAAG,KAAKD,KAAQC,OAAS,CAACjB,EAAYS,CAAG,KAAKO,KAAQP,IAG3DS,IAAY,CAACF,GAAcC,GAAcR,MAC9CT,EAAYiB,CAAG,KAAKD,IAAOC,IAAaA,IACxCjB,EAAYS,CAAG,KAAKO,IAAOP,IAAaA,IAErCO,GAIEG,IAAiB,CAACC,IAAY,oBAAI,KAAA,MAC3C,GAAGd,EAAIc,EAAI,SAAA,CAAU,CAAC,IAAId,EAAIc,EAAI,WAAA,CAAY,CAAC;"}
|