@spear-ai/spectral 1.13.1 → 1.14.2
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/Accordion.d.ts +66 -46
- package/dist/Accordion.d.ts.map +1 -0
- package/dist/Accordion.js +113 -4
- package/dist/Accordion.js.map +1 -0
- package/dist/Alert/AlertBase.d.ts +75 -41
- package/dist/Alert/AlertBase.d.ts.map +1 -0
- package/dist/Alert/AlertBase.js +48 -39
- package/dist/Alert/AlertBase.js.map +1 -0
- package/dist/Alert.d.ts +24 -10
- package/dist/Alert.d.ts.map +1 -0
- package/dist/Alert.js +62 -50
- package/dist/Alert.js.map +1 -0
- package/dist/Avatar.d.ts +24 -11
- package/dist/Avatar.d.ts.map +1 -0
- package/dist/Avatar.js +87 -68
- package/dist/Avatar.js.map +1 -0
- package/dist/Badge.d.ts +19 -8
- package/dist/Badge.d.ts.map +1 -0
- package/dist/Badge.js +18 -13
- package/dist/Badge.js.map +1 -0
- package/dist/Button.d.ts +54 -26
- package/dist/Button.d.ts.map +1 -0
- package/dist/Button.js +72 -57
- package/dist/Button.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroupButton.d.ts +25 -12
- package/dist/ButtonGroup/ButtonGroupButton.d.ts.map +1 -0
- package/dist/ButtonGroup/ButtonGroupButton.js +24 -19
- package/dist/ButtonGroup/ButtonGroupButton.js.map +1 -0
- package/dist/ButtonGroup.d.ts +60 -31
- package/dist/ButtonGroup.d.ts.map +1 -0
- package/dist/ButtonGroup.js +64 -49
- package/dist/ButtonGroup.js.map +1 -0
- package/dist/ButtonIcon.d.ts +32 -16
- package/dist/ButtonIcon.d.ts.map +1 -0
- package/dist/ButtonIcon.js +43 -35
- package/dist/ButtonIcon.js.map +1 -0
- package/dist/Checkbox/CheckboxBase.d.ts +54 -26
- package/dist/Checkbox/CheckboxBase.d.ts.map +1 -0
- package/dist/Checkbox/CheckboxBase.js +106 -74
- package/dist/Checkbox/CheckboxBase.js.map +1 -0
- package/dist/Checkbox.d.ts +49 -24
- package/dist/Checkbox.d.ts.map +1 -0
- package/dist/Checkbox.js +49 -40
- package/dist/Checkbox.js.map +1 -0
- package/dist/Combobox.d.ts +54 -23
- package/dist/Combobox.d.ts.map +1 -0
- package/dist/Combobox.js +203 -4
- package/dist/Combobox.js.map +1 -0
- package/dist/ControlGroup/ControlGroupSelect.d.ts +73 -43
- package/dist/ControlGroup/ControlGroupSelect.d.ts.map +1 -0
- package/dist/ControlGroup/ControlGroupSelect.js +159 -121
- package/dist/ControlGroup/ControlGroupSelect.js.map +1 -0
- package/dist/ControlGroup.d.ts +43 -21
- package/dist/ControlGroup.d.ts.map +1 -0
- package/dist/ControlGroup.js +54 -41
- package/dist/ControlGroup.js.map +1 -0
- package/dist/DataCard/Card.d.ts +36 -9
- package/dist/DataCard/Card.d.ts.map +1 -0
- package/dist/DataCard/Card.js +57 -37
- package/dist/DataCard/Card.js.map +1 -0
- package/dist/DataCard.d.ts +23 -9
- package/dist/DataCard.d.ts.map +1 -0
- package/dist/DataCard.js +40 -36
- package/dist/DataCard.js.map +1 -0
- package/dist/DateTimePicker/Calendar.d.ts +24 -11
- package/dist/DateTimePicker/Calendar.d.ts.map +1 -0
- package/dist/DateTimePicker/Calendar.js +54 -3
- package/dist/DateTimePicker/Calendar.js.map +1 -0
- package/dist/DateTimePicker/DateTimeDisplayInput.d.ts +24 -18
- package/dist/DateTimePicker/DateTimeDisplayInput.d.ts.map +1 -0
- package/dist/DateTimePicker/DateTimeDisplayInput.js +360 -213
- package/dist/DateTimePicker/DateTimeDisplayInput.js.map +1 -0
- package/dist/DateTimePicker/DateTimeInput.d.ts +41 -19
- package/dist/DateTimePicker/DateTimeInput.d.ts.map +1 -0
- package/dist/DateTimePicker/DateTimeInput.js +151 -98
- package/dist/DateTimePicker/DateTimeInput.js.map +1 -0
- package/dist/DateTimePicker/DateTimeUtils.d.ts +121 -109
- package/dist/DateTimePicker/DateTimeUtils.d.ts.map +1 -0
- package/dist/DateTimePicker/DateTimeUtils.js +296 -2
- package/dist/DateTimePicker/DateTimeUtils.js.map +1 -0
- package/dist/DateTimePicker/TimePeriodSelect.d.ts +16 -10
- package/dist/DateTimePicker/TimePeriodSelect.d.ts.map +1 -0
- package/dist/DateTimePicker/TimePeriodSelect.js +54 -40
- package/dist/DateTimePicker/TimePeriodSelect.js.map +1 -0
- package/dist/DateTimePicker/TimePicker.d.ts +29 -14
- package/dist/DateTimePicker/TimePicker.d.ts.map +1 -0
- package/dist/DateTimePicker/TimePicker.js +68 -54
- package/dist/DateTimePicker/TimePicker.js.map +1 -0
- package/dist/DateTimePicker.d.ts +56 -31
- package/dist/DateTimePicker.d.ts.map +1 -0
- package/dist/DateTimePicker.js +86 -71
- package/dist/DateTimePicker.js.map +1 -0
- package/dist/Dialog.d.ts +60 -21
- package/dist/Dialog.d.ts.map +1 -0
- package/dist/Dialog.js +103 -72
- package/dist/Dialog.js.map +1 -0
- package/dist/Drawer.d.ts +32 -14
- package/dist/Drawer.d.ts.map +1 -0
- package/dist/Drawer.js +46 -41
- package/dist/Drawer.js.map +1 -0
- package/dist/DropdownMenu.d.ts +84 -51
- package/dist/DropdownMenu.d.ts.map +1 -0
- package/dist/DropdownMenu.js +156 -3
- package/dist/DropdownMenu.js.map +1 -0
- package/dist/FormFieldMessage.d.ts +32 -8
- package/dist/FormFieldMessage.d.ts.map +1 -0
- package/dist/FormFieldMessage.js +64 -45
- package/dist/FormFieldMessage.js.map +1 -0
- package/dist/HoverCard.d.ts +51 -25
- package/dist/HoverCard.d.ts.map +1 -0
- package/dist/HoverCard.js +67 -3
- package/dist/HoverCard.js.map +1 -0
- package/dist/Icons/AdjustmentsIcon.d.ts +16 -3
- package/dist/Icons/AdjustmentsIcon.d.ts.map +1 -0
- package/dist/Icons/AdjustmentsIcon.js +84 -78
- package/dist/Icons/AdjustmentsIcon.js.map +1 -0
- package/dist/Icons/AnalyzeIcon.d.ts +16 -3
- package/dist/Icons/AnalyzeIcon.d.ts.map +1 -0
- package/dist/Icons/AnalyzeIcon.js +56 -50
- package/dist/Icons/AnalyzeIcon.js.map +1 -0
- package/dist/Icons/AnnotationsIcon.d.ts +16 -3
- package/dist/Icons/AnnotationsIcon.d.ts.map +1 -0
- package/dist/Icons/AnnotationsIcon.js +26 -20
- package/dist/Icons/AnnotationsIcon.js.map +1 -0
- package/dist/Icons/ApprovedIcon.d.ts +16 -3
- package/dist/Icons/ApprovedIcon.d.ts.map +1 -0
- package/dist/Icons/ApprovedIcon.js +32 -26
- package/dist/Icons/ApprovedIcon.js.map +1 -0
- package/dist/Icons/ArrowDownIcon.d.ts +16 -3
- package/dist/Icons/ArrowDownIcon.d.ts.map +1 -0
- package/dist/Icons/ArrowDownIcon.js +26 -20
- package/dist/Icons/ArrowDownIcon.js.map +1 -0
- package/dist/Icons/ArrowUpIcon.d.ts +16 -3
- package/dist/Icons/ArrowUpIcon.d.ts.map +1 -0
- package/dist/Icons/ArrowUpIcon.js +26 -20
- package/dist/Icons/ArrowUpIcon.js.map +1 -0
- package/dist/Icons/BoxToolIcon.d.ts +16 -3
- package/dist/Icons/BoxToolIcon.d.ts.map +1 -0
- package/dist/Icons/BoxToolIcon.js +23 -17
- package/dist/Icons/BoxToolIcon.js.map +1 -0
- package/dist/Icons/CalendarIcon.d.ts +16 -3
- package/dist/Icons/CalendarIcon.d.ts.map +1 -0
- package/dist/Icons/CalendarIcon.js +49 -43
- package/dist/Icons/CalendarIcon.js.map +1 -0
- package/dist/Icons/CheckCircleIcon.d.ts +16 -3
- package/dist/Icons/CheckCircleIcon.d.ts.map +1 -0
- package/dist/Icons/CheckCircleIcon.js +32 -26
- package/dist/Icons/CheckCircleIcon.js.map +1 -0
- package/dist/Icons/CheckSquareIcon.d.ts +16 -3
- package/dist/Icons/CheckSquareIcon.d.ts.map +1 -0
- package/dist/Icons/CheckSquareIcon.js +32 -26
- package/dist/Icons/CheckSquareIcon.js.map +1 -0
- package/dist/Icons/CheckmarkIcon.d.ts +17 -3
- package/dist/Icons/CheckmarkIcon.d.ts.map +1 -0
- package/dist/Icons/CheckmarkIcon.js +28 -22
- package/dist/Icons/CheckmarkIcon.js.map +1 -0
- package/dist/Icons/ChevronDownIcon.d.ts +16 -3
- package/dist/Icons/ChevronDownIcon.d.ts.map +1 -0
- package/dist/Icons/ChevronDownIcon.js +28 -22
- package/dist/Icons/ChevronDownIcon.js.map +1 -0
- package/dist/Icons/ChevronUpIcon.d.ts +16 -3
- package/dist/Icons/ChevronUpIcon.d.ts.map +1 -0
- package/dist/Icons/ChevronUpIcon.js +28 -22
- package/dist/Icons/ChevronUpIcon.js.map +1 -0
- package/dist/Icons/ClockIcon.d.ts +16 -3
- package/dist/Icons/ClockIcon.d.ts.map +1 -0
- package/dist/Icons/ClockIcon.js +32 -26
- package/dist/Icons/ClockIcon.js.map +1 -0
- package/dist/Icons/CloseCircleIcon.d.ts +16 -3
- package/dist/Icons/CloseCircleIcon.d.ts.map +1 -0
- package/dist/Icons/CloseCircleIcon.js +32 -26
- package/dist/Icons/CloseCircleIcon.js.map +1 -0
- package/dist/Icons/CloseIcon.d.ts +16 -3
- package/dist/Icons/CloseIcon.d.ts.map +1 -0
- package/dist/Icons/CloseIcon.js +24 -18
- package/dist/Icons/CloseIcon.js.map +1 -0
- package/dist/Icons/Crosshairs2Icon.d.ts +16 -3
- package/dist/Icons/Crosshairs2Icon.d.ts.map +1 -0
- package/dist/Icons/Crosshairs2Icon.js +56 -50
- package/dist/Icons/Crosshairs2Icon.js.map +1 -0
- package/dist/Icons/CrosshairsIcon.d.ts +16 -3
- package/dist/Icons/CrosshairsIcon.d.ts.map +1 -0
- package/dist/Icons/CrosshairsIcon.js +25 -19
- package/dist/Icons/CrosshairsIcon.js.map +1 -0
- package/dist/Icons/DashboardIcon.d.ts +16 -3
- package/dist/Icons/DashboardIcon.d.ts.map +1 -0
- package/dist/Icons/DashboardIcon.js +42 -36
- package/dist/Icons/DashboardIcon.js.map +1 -0
- package/dist/Icons/DatabaseIcon.d.ts +16 -3
- package/dist/Icons/DatabaseIcon.d.ts.map +1 -0
- package/dist/Icons/DatabaseIcon.js +42 -36
- package/dist/Icons/DatabaseIcon.js.map +1 -0
- package/dist/Icons/DeleteIcon.d.ts +16 -3
- package/dist/Icons/DeleteIcon.d.ts.map +1 -0
- package/dist/Icons/DeleteIcon.js +42 -36
- package/dist/Icons/DeleteIcon.js.map +1 -0
- package/dist/Icons/DurationIcon.d.ts +16 -3
- package/dist/Icons/DurationIcon.d.ts.map +1 -0
- package/dist/Icons/DurationIcon.js +63 -57
- package/dist/Icons/DurationIcon.js.map +1 -0
- package/dist/Icons/EditIcon.d.ts +16 -3
- package/dist/Icons/EditIcon.d.ts.map +1 -0
- package/dist/Icons/EditIcon.js +32 -26
- package/dist/Icons/EditIcon.js.map +1 -0
- package/dist/Icons/EmailIcon.d.ts +16 -3
- package/dist/Icons/EmailIcon.d.ts.map +1 -0
- package/dist/Icons/EmailIcon.js +32 -26
- package/dist/Icons/EmailIcon.js.map +1 -0
- package/dist/Icons/EraserIcon.d.ts +16 -3
- package/dist/Icons/EraserIcon.d.ts.map +1 -0
- package/dist/Icons/EraserIcon.js +27 -23
- package/dist/Icons/EraserIcon.js.map +1 -0
- package/dist/Icons/ErrorIcon.d.ts +16 -3
- package/dist/Icons/ErrorIcon.d.ts.map +1 -0
- package/dist/Icons/ErrorIcon.js +33 -27
- package/dist/Icons/ErrorIcon.js.map +1 -0
- package/dist/Icons/EyeClosedIcon.d.ts +16 -3
- package/dist/Icons/EyeClosedIcon.d.ts.map +1 -0
- package/dist/Icons/EyeClosedIcon.js +35 -29
- package/dist/Icons/EyeClosedIcon.js.map +1 -0
- package/dist/Icons/EyeClosedIcon2.d.ts +16 -3
- package/dist/Icons/EyeClosedIcon2.d.ts.map +1 -0
- package/dist/Icons/EyeClosedIcon2.js +33 -27
- package/dist/Icons/EyeClosedIcon2.js.map +1 -0
- package/dist/Icons/EyeOpenIcon.d.ts +16 -3
- package/dist/Icons/EyeOpenIcon.d.ts.map +1 -0
- package/dist/Icons/EyeOpenIcon.js +28 -22
- package/dist/Icons/EyeOpenIcon.js.map +1 -0
- package/dist/Icons/FileDownloadIcon.d.ts +16 -3
- package/dist/Icons/FileDownloadIcon.d.ts.map +1 -0
- package/dist/Icons/FileDownloadIcon.js +49 -43
- package/dist/Icons/FileDownloadIcon.js.map +1 -0
- package/dist/Icons/GoToFirstIcon.d.ts +16 -3
- package/dist/Icons/GoToFirstIcon.d.ts.map +1 -0
- package/dist/Icons/GoToFirstIcon.js +32 -26
- package/dist/Icons/GoToFirstIcon.js.map +1 -0
- package/dist/Icons/GoToLastIcon.d.ts +16 -3
- package/dist/Icons/GoToLastIcon.d.ts.map +1 -0
- package/dist/Icons/GoToLastIcon.js +32 -26
- package/dist/Icons/GoToLastIcon.js.map +1 -0
- package/dist/Icons/HarmonicCursorsIcon.d.ts +16 -3
- package/dist/Icons/HarmonicCursorsIcon.d.ts.map +1 -0
- package/dist/Icons/HarmonicCursorsIcon.js +29 -23
- package/dist/Icons/HarmonicCursorsIcon.js.map +1 -0
- package/dist/Icons/IconBase.d.ts +38 -14
- package/dist/Icons/IconBase.d.ts.map +1 -0
- package/dist/Icons/IconBase.js +61 -41
- package/dist/Icons/IconBase.js.map +1 -0
- package/dist/Icons/InfoIcon.d.ts +16 -3
- package/dist/Icons/InfoIcon.d.ts.map +1 -0
- package/dist/Icons/InfoIcon.js +42 -36
- package/dist/Icons/InfoIcon.js.map +1 -0
- package/dist/Icons/KeyboardIcon.d.ts +16 -3
- package/dist/Icons/KeyboardIcon.d.ts.map +1 -0
- package/dist/Icons/KeyboardIcon.js +32 -26
- package/dist/Icons/KeyboardIcon.js.map +1 -0
- package/dist/Icons/LabelIcon.d.ts +16 -3
- package/dist/Icons/LabelIcon.d.ts.map +1 -0
- package/dist/Icons/LabelIcon.js +25 -19
- package/dist/Icons/LabelIcon.js.map +1 -0
- package/dist/Icons/LassoIcon.d.ts +16 -3
- package/dist/Icons/LassoIcon.d.ts.map +1 -0
- package/dist/Icons/LassoIcon.js +42 -36
- package/dist/Icons/LassoIcon.js.map +1 -0
- package/dist/Icons/LineToolIcon.d.ts +16 -3
- package/dist/Icons/LineToolIcon.d.ts.map +1 -0
- package/dist/Icons/LineToolIcon.js +54 -48
- package/dist/Icons/LineToolIcon.js.map +1 -0
- package/dist/Icons/LiveViewIcon.d.ts +16 -3
- package/dist/Icons/LiveViewIcon.d.ts.map +1 -0
- package/dist/Icons/LiveViewIcon.js +56 -50
- package/dist/Icons/LiveViewIcon.js.map +1 -0
- package/dist/Icons/LoaderIcon.d.ts +16 -3
- package/dist/Icons/LoaderIcon.d.ts.map +1 -0
- package/dist/Icons/LoaderIcon.js +35 -31
- package/dist/Icons/LoaderIcon.js.map +1 -0
- package/dist/Icons/LocationIcon.d.ts +16 -3
- package/dist/Icons/LocationIcon.d.ts.map +1 -0
- package/dist/Icons/LocationIcon.js +32 -26
- package/dist/Icons/LocationIcon.js.map +1 -0
- package/dist/Icons/LogoutIcon.d.ts +16 -3
- package/dist/Icons/LogoutIcon.d.ts.map +1 -0
- package/dist/Icons/LogoutIcon.js +26 -20
- package/dist/Icons/LogoutIcon.js.map +1 -0
- package/dist/Icons/MaximizeIcon.d.ts +16 -3
- package/dist/Icons/MaximizeIcon.d.ts.map +1 -0
- package/dist/Icons/MaximizeIcon.js +49 -43
- package/dist/Icons/MaximizeIcon.js.map +1 -0
- package/dist/Icons/MeasureIcon.d.ts +16 -3
- package/dist/Icons/MeasureIcon.d.ts.map +1 -0
- package/dist/Icons/MeasureIcon.js +84 -78
- package/dist/Icons/MeasureIcon.js.map +1 -0
- package/dist/Icons/MenuDotsIcon.d.ts +16 -3
- package/dist/Icons/MenuDotsIcon.d.ts.map +1 -0
- package/dist/Icons/MenuDotsIcon.js +42 -36
- package/dist/Icons/MenuDotsIcon.js.map +1 -0
- package/dist/Icons/MenuIcon.d.ts +16 -3
- package/dist/Icons/MenuIcon.d.ts.map +1 -0
- package/dist/Icons/MenuIcon.js +42 -36
- package/dist/Icons/MenuIcon.js.map +1 -0
- package/dist/Icons/MessagesIcon.d.ts +16 -3
- package/dist/Icons/MessagesIcon.d.ts.map +1 -0
- package/dist/Icons/MessagesIcon.js +39 -33
- package/dist/Icons/MessagesIcon.js.map +1 -0
- package/dist/Icons/MetadataIcon.d.ts +16 -3
- package/dist/Icons/MetadataIcon.d.ts.map +1 -0
- package/dist/Icons/MetadataIcon.js +26 -20
- package/dist/Icons/MetadataIcon.js.map +1 -0
- package/dist/Icons/MinimizeIcon.d.ts +16 -3
- package/dist/Icons/MinimizeIcon.d.ts.map +1 -0
- package/dist/Icons/MinimizeIcon.js +49 -43
- package/dist/Icons/MinimizeIcon.js.map +1 -0
- package/dist/Icons/MinusIcon.d.ts +16 -3
- package/dist/Icons/MinusIcon.d.ts.map +1 -0
- package/dist/Icons/MinusIcon.js +24 -18
- package/dist/Icons/MinusIcon.js.map +1 -0
- package/dist/Icons/OntologyIcon.d.ts +16 -3
- package/dist/Icons/OntologyIcon.d.ts.map +1 -0
- package/dist/Icons/OntologyIcon.js +93 -87
- package/dist/Icons/OntologyIcon.js.map +1 -0
- package/dist/Icons/PanelIconClose.d.ts +16 -3
- package/dist/Icons/PanelIconClose.d.ts.map +1 -0
- package/dist/Icons/PanelIconClose.js +34 -28
- package/dist/Icons/PanelIconClose.js.map +1 -0
- package/dist/Icons/PanelIconOpen.d.ts +16 -3
- package/dist/Icons/PanelIconOpen.d.ts.map +1 -0
- package/dist/Icons/PanelIconOpen.js +34 -28
- package/dist/Icons/PanelIconOpen.js.map +1 -0
- package/dist/Icons/PauseIcon.d.ts +16 -3
- package/dist/Icons/PauseIcon.d.ts.map +1 -0
- package/dist/Icons/PauseIcon.js +32 -26
- package/dist/Icons/PauseIcon.js.map +1 -0
- package/dist/Icons/PlayIcon.d.ts +16 -3
- package/dist/Icons/PlayIcon.d.ts.map +1 -0
- package/dist/Icons/PlayIcon.js +26 -20
- package/dist/Icons/PlayIcon.js.map +1 -0
- package/dist/Icons/PlusIcon.d.ts +16 -3
- package/dist/Icons/PlusIcon.d.ts.map +1 -0
- package/dist/Icons/PlusIcon.js +26 -20
- package/dist/Icons/PlusIcon.js.map +1 -0
- package/dist/Icons/PolygonIcon.d.ts +17 -3
- package/dist/Icons/PolygonIcon.d.ts.map +1 -0
- package/dist/Icons/PolygonIcon.js +56 -50
- package/dist/Icons/PolygonIcon.js.map +1 -0
- package/dist/Icons/PrinterIcon.d.ts +16 -3
- package/dist/Icons/PrinterIcon.d.ts.map +1 -0
- package/dist/Icons/PrinterIcon.js +26 -20
- package/dist/Icons/PrinterIcon.js.map +1 -0
- package/dist/Icons/ProgressCheckIcon.d.ts +16 -3
- package/dist/Icons/ProgressCheckIcon.d.ts.map +1 -0
- package/dist/Icons/ProgressCheckIcon.js +63 -57
- package/dist/Icons/ProgressCheckIcon.js.map +1 -0
- package/dist/Icons/ResetIcon.d.ts +16 -3
- package/dist/Icons/ResetIcon.d.ts.map +1 -0
- package/dist/Icons/ResetIcon.js +23 -17
- package/dist/Icons/ResetIcon.js.map +1 -0
- package/dist/Icons/ReviewedIcon.d.ts +16 -3
- package/dist/Icons/ReviewedIcon.d.ts.map +1 -0
- package/dist/Icons/ReviewedIcon.js +42 -36
- package/dist/Icons/ReviewedIcon.js.map +1 -0
- package/dist/Icons/ScissorsIcon.d.ts +16 -3
- package/dist/Icons/ScissorsIcon.d.ts.map +1 -0
- package/dist/Icons/ScissorsIcon.js +28 -22
- package/dist/Icons/ScissorsIcon.js.map +1 -0
- package/dist/Icons/SearchIcon.d.ts +16 -3
- package/dist/Icons/SearchIcon.d.ts.map +1 -0
- package/dist/Icons/SearchIcon.js +32 -26
- package/dist/Icons/SearchIcon.js.map +1 -0
- package/dist/Icons/SettingsIcon.d.ts +16 -3
- package/dist/Icons/SettingsIcon.d.ts.map +1 -0
- package/dist/Icons/SettingsIcon.js +32 -26
- package/dist/Icons/SettingsIcon.js.map +1 -0
- package/dist/Icons/SortAscendingIcon.d.ts +16 -3
- package/dist/Icons/SortAscendingIcon.d.ts.map +1 -0
- package/dist/Icons/SortAscendingIcon.js +56 -50
- package/dist/Icons/SortAscendingIcon.js.map +1 -0
- package/dist/Icons/SortAtoZIcon.d.ts +16 -3
- package/dist/Icons/SortAtoZIcon.d.ts.map +1 -0
- package/dist/Icons/SortAtoZIcon.js +56 -50
- package/dist/Icons/SortAtoZIcon.js.map +1 -0
- package/dist/Icons/SortDescendingIcon.d.ts +16 -3
- package/dist/Icons/SortDescendingIcon.d.ts.map +1 -0
- package/dist/Icons/SortDescendingIcon.js +56 -50
- package/dist/Icons/SortDescendingIcon.js.map +1 -0
- package/dist/Icons/SortZtoAIcon.d.ts +16 -3
- package/dist/Icons/SortZtoAIcon.d.ts.map +1 -0
- package/dist/Icons/SortZtoAIcon.js +56 -50
- package/dist/Icons/SortZtoAIcon.js.map +1 -0
- package/dist/Icons/SparklesIcon.d.ts +16 -3
- package/dist/Icons/SparklesIcon.d.ts.map +1 -0
- package/dist/Icons/SparklesIcon.js +26 -20
- package/dist/Icons/SparklesIcon.js.map +1 -0
- package/dist/Icons/StackIcon.d.ts +16 -3
- package/dist/Icons/StackIcon.d.ts.map +1 -0
- package/dist/Icons/StackIcon.js +32 -26
- package/dist/Icons/StackIcon.js.map +1 -0
- package/dist/Icons/StarIcon.d.ts +16 -3
- package/dist/Icons/StarIcon.d.ts.map +1 -0
- package/dist/Icons/StarIcon.js +26 -20
- package/dist/Icons/StarIcon.js.map +1 -0
- package/dist/Icons/TrashIcon.d.ts +16 -3
- package/dist/Icons/TrashIcon.d.ts.map +1 -0
- package/dist/Icons/TrashIcon.js +23 -17
- package/dist/Icons/TrashIcon.js.map +1 -0
- package/dist/Icons/UndoIcon.d.ts +16 -3
- package/dist/Icons/UndoIcon.d.ts.map +1 -0
- package/dist/Icons/UndoIcon.js +26 -20
- package/dist/Icons/UndoIcon.js.map +1 -0
- package/dist/Icons/UploadIcon.d.ts +16 -3
- package/dist/Icons/UploadIcon.d.ts.map +1 -0
- package/dist/Icons/UploadIcon.js +42 -36
- package/dist/Icons/UploadIcon.js.map +1 -0
- package/dist/Icons/User2Icon.d.ts +16 -3
- package/dist/Icons/User2Icon.d.ts.map +1 -0
- package/dist/Icons/User2Icon.js +32 -26
- package/dist/Icons/User2Icon.js.map +1 -0
- package/dist/Icons/UserIcon.d.ts +16 -3
- package/dist/Icons/UserIcon.d.ts.map +1 -0
- package/dist/Icons/UserIcon.js +25 -19
- package/dist/Icons/UserIcon.js.map +1 -0
- package/dist/Icons/WarningIcon.d.ts +16 -3
- package/dist/Icons/WarningIcon.d.ts.map +1 -0
- package/dist/Icons/WarningIcon.js +25 -19
- package/dist/Icons/WarningIcon.js.map +1 -0
- package/dist/Icons/ZoomAllIcon.d.ts +16 -3
- package/dist/Icons/ZoomAllIcon.d.ts.map +1 -0
- package/dist/Icons/ZoomAllIcon.js +77 -71
- package/dist/Icons/ZoomAllIcon.js.map +1 -0
- package/dist/Icons/ZoomXIcon.d.ts +16 -3
- package/dist/Icons/ZoomXIcon.d.ts.map +1 -0
- package/dist/Icons/ZoomXIcon.js +42 -36
- package/dist/Icons/ZoomXIcon.js.map +1 -0
- package/dist/Icons/ZoomYIcon.d.ts +16 -3
- package/dist/Icons/ZoomYIcon.d.ts.map +1 -0
- package/dist/Icons/ZoomYIcon.js +42 -36
- package/dist/Icons/ZoomYIcon.js.map +1 -0
- package/dist/Icons.d.ts +82 -0
- package/dist/Icons.js +83 -82
- package/dist/IconsAnimated/PanelLeftCloseIcon.d.ts +15 -2
- package/dist/IconsAnimated/PanelLeftCloseIcon.d.ts.map +1 -0
- package/dist/IconsAnimated/PanelLeftCloseIcon.js +45 -35
- package/dist/IconsAnimated/PanelLeftCloseIcon.js.map +1 -0
- package/dist/IconsAnimated/PanelLeftOpenIcon.d.ts +15 -2
- package/dist/IconsAnimated/PanelLeftOpenIcon.d.ts.map +1 -0
- package/dist/IconsAnimated/PanelLeftOpenIcon.js +45 -35
- package/dist/IconsAnimated/PanelLeftOpenIcon.js.map +1 -0
- package/dist/IconsAnimated.d.ts +4 -0
- package/dist/IconsAnimated.js +5 -4
- package/dist/Input/InputUtils.d.ts +16 -11
- package/dist/Input/InputUtils.d.ts.map +1 -0
- package/dist/Input/InputUtils.js +47 -36
- package/dist/Input/InputUtils.js.map +1 -0
- package/dist/Input.d.ts +31 -26
- package/dist/Input.d.ts.map +1 -0
- package/dist/Input.js +161 -111
- package/dist/Input.js.map +1 -0
- package/dist/InputNumeric.d.ts +33 -12
- package/dist/InputNumeric.d.ts.map +1 -0
- package/dist/InputNumeric.js +146 -102
- package/dist/InputNumeric.js.map +1 -0
- package/dist/InputOTP.d.ts +95 -54
- package/dist/InputOTP.d.ts.map +1 -0
- package/dist/InputOTP.js +161 -3
- package/dist/InputOTP.js.map +1 -0
- package/dist/Kbd.d.ts +31 -16
- package/dist/Kbd.d.ts.map +1 -0
- package/dist/Kbd.js +55 -46
- package/dist/Kbd.js.map +1 -0
- package/dist/Label.d.ts +19 -9
- package/dist/Label.d.ts.map +1 -0
- package/dist/Label.js +16 -12
- package/dist/Label.js.map +1 -0
- package/dist/MultiSelect/MultiSelectBase.d.ts +81 -41
- package/dist/MultiSelect/MultiSelectBase.d.ts.map +1 -0
- package/dist/MultiSelect/MultiSelectBase.js +318 -235
- package/dist/MultiSelect/MultiSelectBase.js.map +1 -0
- package/dist/MultiSelect.d.ts +40 -23
- package/dist/MultiSelect.d.ts.map +1 -0
- package/dist/MultiSelect.js +31 -26
- package/dist/MultiSelect.js.map +1 -0
- package/dist/Popover.d.ts +28 -8
- package/dist/Popover.d.ts.map +1 -0
- package/dist/Popover.js +41 -28
- package/dist/Popover.js.map +1 -0
- package/dist/RadioButton.d.ts +36 -15
- package/dist/RadioButton.d.ts.map +1 -0
- package/dist/RadioButton.js +34 -26
- package/dist/RadioButton.js.map +1 -0
- package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +50 -23
- package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts.map +1 -0
- package/dist/RadioButtonGroup/RadioButtonGroupBase.js +63 -45
- package/dist/RadioButtonGroup/RadioButtonGroupBase.js.map +1 -0
- package/dist/RadioButtonGroup.d.ts +31 -10
- package/dist/RadioButtonGroup.d.ts.map +1 -0
- package/dist/RadioButtonGroup.js +16 -11
- package/dist/RadioButtonGroup.js.map +1 -0
- package/dist/RadioGroup.d.ts +62 -45
- package/dist/RadioGroup.d.ts.map +1 -0
- package/dist/RadioGroup.js +184 -3
- package/dist/RadioGroup.js.map +1 -0
- package/dist/Select.d.ts +38 -33
- package/dist/Select.d.ts.map +1 -0
- package/dist/Select.js +142 -116
- package/dist/Select.js.map +1 -0
- package/dist/Separator.d.ts +22 -10
- package/dist/Separator.d.ts.map +1 -0
- package/dist/Separator.js +20 -16
- package/dist/Separator.js.map +1 -0
- package/dist/Skeleton.d.ts +11 -2
- package/dist/Skeleton.d.ts.map +1 -0
- package/dist/Skeleton.js +14 -10
- package/dist/Skeleton.js.map +1 -0
- package/dist/Slider.d.ts +49 -26
- package/dist/Slider.d.ts.map +1 -0
- package/dist/Slider.js +167 -3
- package/dist/Slider.js.map +1 -0
- package/dist/SpectralProvider.d.ts +3 -30
- package/dist/SpectralProvider.js +4 -11
- package/dist/Switch/SwitchBase.d.ts +51 -24
- package/dist/Switch/SwitchBase.d.ts.map +1 -0
- package/dist/Switch/SwitchBase.js +91 -72
- package/dist/Switch/SwitchBase.js.map +1 -0
- package/dist/Switch.d.ts +53 -24
- package/dist/Switch.d.ts.map +1 -0
- package/dist/Switch.js +118 -3
- package/dist/Switch.js.map +1 -0
- package/dist/Tabs/TabsBase.d.ts +94 -50
- package/dist/Tabs/TabsBase.d.ts.map +1 -0
- package/dist/Tabs/TabsBase.js +213 -152
- package/dist/Tabs/TabsBase.js.map +1 -0
- package/dist/Tabs/tabsUtils.d.ts +35 -30
- package/dist/Tabs/tabsUtils.d.ts.map +1 -0
- package/dist/Tabs/tabsUtils.js +121 -49
- package/dist/Tabs/tabsUtils.js.map +1 -0
- package/dist/Tabs.d.ts +55 -35
- package/dist/Tabs.d.ts.map +1 -0
- package/dist/Tabs.js +81 -60
- package/dist/Tabs.js.map +1 -0
- package/dist/Textarea/TextareaUtils.d.ts +24 -13
- package/dist/Textarea/TextareaUtils.d.ts.map +1 -0
- package/dist/Textarea/TextareaUtils.js +52 -29
- package/dist/Textarea/TextareaUtils.js.map +1 -0
- package/dist/Textarea.d.ts +33 -25
- package/dist/Textarea.d.ts.map +1 -0
- package/dist/Textarea.js +94 -67
- package/dist/Textarea.js.map +1 -0
- package/dist/Toast.d.ts +63 -34
- package/dist/Toast.d.ts.map +1 -0
- package/dist/Toast.js +115 -3
- package/dist/Toast.js.map +1 -0
- package/dist/Toggle/ToggleBase.d.ts +29 -11
- package/dist/Toggle/ToggleBase.d.ts.map +1 -0
- package/dist/Toggle/ToggleBase.js +55 -41
- package/dist/Toggle/ToggleBase.js.map +1 -0
- package/dist/Toggle.d.ts +34 -16
- package/dist/Toggle.d.ts.map +1 -0
- package/dist/Toggle.js +46 -32
- package/dist/Toggle.js.map +1 -0
- package/dist/ToggleGroup/ToggleGroupBase.d.ts +45 -30
- package/dist/ToggleGroup/ToggleGroupBase.d.ts.map +1 -0
- package/dist/ToggleGroup/ToggleGroupBase.js +162 -111
- package/dist/ToggleGroup/ToggleGroupBase.js.map +1 -0
- package/dist/ToggleGroup/ToggleGroupItem.d.ts +31 -13
- package/dist/ToggleGroup/ToggleGroupItem.d.ts.map +1 -0
- package/dist/ToggleGroup/ToggleGroupItem.js +35 -27
- package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -0
- package/dist/ToggleGroup/ToggleGroupSplitMenuItem.d.ts +49 -20
- package/dist/ToggleGroup/ToggleGroupSplitMenuItem.d.ts.map +1 -0
- package/dist/ToggleGroup/ToggleGroupSplitMenuItem.js +123 -91
- package/dist/ToggleGroup/ToggleGroupSplitMenuItem.js.map +1 -0
- package/dist/ToggleGroup.d.ts +26 -10
- package/dist/ToggleGroup.d.ts.map +1 -0
- package/dist/ToggleGroup.js +35 -31
- package/dist/ToggleGroup.js.map +1 -0
- package/dist/Tooltip.d.ts +35 -12
- package/dist/Tooltip.d.ts.map +1 -0
- package/dist/Tooltip.js +68 -3
- package/dist/Tooltip.js.map +1 -0
- package/dist/Tray.d.ts +105 -61
- package/dist/Tray.d.ts.map +1 -0
- package/dist/Tray.js +120 -102
- package/dist/Tray.js.map +1 -0
- package/dist/components/Icons/iconTypes.d.ts +17 -0
- package/dist/components/Icons/iconTypes.d.ts.map +1 -0
- package/dist/components/IconsAnimated/iconTypes.d.ts +15 -0
- package/dist/components/IconsAnimated/iconTypes.d.ts.map +1 -0
- package/dist/components/SpectralProvider/SpectralProvider.d.ts +35 -0
- package/dist/components/SpectralProvider/SpectralProvider.d.ts.map +1 -0
- package/dist/components/SpectralProvider/SpectralProvider.js +33 -0
- package/dist/components/SpectralProvider/SpectralProvider.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.context.js +14 -0
- package/dist/components/ToggleGroup/ToggleGroup.context.js.map +1 -0
- package/dist/hooks/useAccordionAutoScroll.d.ts +7 -2
- package/dist/hooks/useAccordionAutoScroll.d.ts.map +1 -1
- package/dist/hooks/useAccordionAutoScroll.js +71 -45
- package/dist/hooks/useAccordionAutoScroll.js.map +1 -0
- package/dist/hooks/useControllableState.d.ts +12 -8
- package/dist/hooks/useControllableState.d.ts.map +1 -1
- package/dist/hooks/useControllableState.js +23 -12
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/useConvertToOklch.d.ts +6 -2
- package/dist/hooks/useConvertToOklch.d.ts.map +1 -1
- package/dist/hooks/useConvertToOklch.js +87 -42
- package/dist/hooks/useConvertToOklch.js.map +1 -0
- package/dist/hooks/useTheme.d.ts +10 -6
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/hooks/useTheme.js +26 -18
- package/dist/hooks/useTheme.js.map +1 -0
- package/dist/hooks/useUncontrolledState.d.ts +8 -4
- package/dist/hooks/useUncontrolledState.d.ts.map +1 -1
- package/dist/hooks/useUncontrolledState.js +21 -11
- package/dist/hooks/useUncontrolledState.js.map +1 -0
- package/dist/index.d.ts +129 -47
- package/dist/index.js +130 -0
- package/dist/primitives/button.d.ts +22 -9
- package/dist/primitives/button.d.ts.map +1 -1
- package/dist/primitives/button.js +21 -15
- package/dist/primitives/button.js.map +1 -0
- package/dist/primitives/input-group.d.ts +46 -17
- package/dist/primitives/input-group.d.ts.map +1 -1
- package/dist/primitives/input-group.js +66 -43
- package/dist/primitives/input-group.js.map +1 -0
- package/dist/primitives/input.d.ts +16 -6
- package/dist/primitives/input.d.ts.map +1 -1
- package/dist/primitives/input.js +15 -10
- package/dist/primitives/input.js.map +1 -0
- package/dist/primitives/popover.d.ts +35 -9
- package/dist/primitives/popover.d.ts.map +1 -1
- package/dist/primitives/popover.js +56 -33
- package/dist/primitives/popover.js.map +1 -0
- package/dist/primitives/select.d.ts +60 -17
- package/dist/primitives/select.d.ts.map +1 -1
- package/dist/primitives/select.js +133 -3
- package/dist/primitives/select.js.map +1 -0
- package/dist/primitives/slot.d.ts +23 -14
- package/dist/primitives/slot.d.ts.map +1 -1
- package/dist/primitives/slot.js +53 -29
- package/dist/primitives/slot.js.map +1 -0
- package/dist/primitives/textarea.d.ts +11 -2
- package/dist/primitives/textarea.d.ts.map +1 -1
- package/dist/primitives/textarea.js +14 -9
- package/dist/primitives/textarea.js.map +1 -0
- package/dist/styles/horizon/colors.css +1 -0
- package/dist/styles/horizon-tokens.css +9 -0
- package/dist/styles/spectral.css +2 -2
- package/dist/utils/constants.d.ts +5 -1
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +5 -2
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/dropdownPositioning.d.ts +14 -9
- package/dist/utils/dropdownPositioning.d.ts.map +1 -1
- package/dist/utils/dropdownPositioning.js +57 -34
- package/dist/utils/dropdownPositioning.js.map +1 -0
- package/dist/utils/formFieldUtils.d.ts +93 -73
- package/dist/utils/formFieldUtils.d.ts.map +1 -1
- package/dist/utils/formFieldUtils.js +171 -106
- package/dist/utils/formFieldUtils.js.map +1 -0
- package/dist/utils/sharedUtils.d.ts +10 -6
- package/dist/utils/sharedUtils.d.ts.map +1 -1
- package/dist/utils/sharedUtils.js +23 -8
- package/dist/utils/sharedUtils.js.map +1 -0
- package/dist/utils/twUtils.d.ts +7 -2
- package/dist/utils/twUtils.d.ts.map +1 -1
- package/dist/utils/twUtils.js +12 -2
- package/dist/utils/twUtils.js.map +1 -0
- package/package.json +32 -24
- package/dist/.js +0 -129
- package/dist/Accordion-dVZHqyv8.js +0 -363
- package/dist/AnimatePresence-Bz_JZ2ah.js +0 -178
- package/dist/App.d.ts +0 -2
- package/dist/App.d.ts.map +0 -1
- package/dist/App.js +0 -9
- package/dist/Calendar-FXWVuKWS.js +0 -3109
- package/dist/Combination-MimnVFUU.js +0 -698
- package/dist/Combobox-DRQqx0os.js +0 -6379
- package/dist/DateTimeUtils-BJUAMuot.js +0 -2098
- package/dist/DropdownMenu-BO_RPCVU.js +0 -870
- package/dist/HoverCard-BhxgELKP.js +0 -201
- package/dist/Icons/index.d.ts +0 -81
- package/dist/InputOTP-DLn7ja7J.js +0 -464
- package/dist/RadioGroup-D-XjCU4Q.js +0 -333
- package/dist/Slider-CPYW_VYu.js +0 -490
- package/dist/Switch-CSmXtkia.js +0 -145
- package/dist/Toast-BuaZxqlt.js +0 -711
- package/dist/ToggleGroup/ToggleGroup.context.d.ts +0 -9
- package/dist/ToggleGroup/ToggleGroup.context.js +0 -11
- package/dist/Tooltip-CTjKOfvC.js +0 -389
- package/dist/builtin_esm-external-require-react-ItzZuLxx.js +0 -8
- package/dist/chunk-DmRZw4Wy.js +0 -17
- package/dist/clsx-Bfoz3aNJ.js +0 -16
- package/dist/dist-B9w6c9RC.js +0 -190
- package/dist/dist-Br_xj9vz.js +0 -12
- package/dist/dist-C-2mar4Y.js +0 -28
- package/dist/dist-C4MHwt9g.js +0 -10
- package/dist/dist-C6pGYii-.js +0 -6
- package/dist/dist-Cc8NfAO6.js +0 -122
- package/dist/dist-CcsVPym2.js +0 -68
- package/dist/dist-CrYg_9Cu.js +0 -913
- package/dist/dist-CwYxT5fv.js +0 -1287
- package/dist/dist-D9FsQh8P.js +0 -65
- package/dist/dist-DBLajRTL.js +0 -149
- package/dist/dist-DEkDg4Sk.js +0 -249
- package/dist/dist-DT46nqCO.js +0 -216
- package/dist/dist-PfrTYHr_.js +0 -29
- package/dist/dist-iDaHUF3d.js +0 -129
- package/dist/dist-s1uWaZYZ.js +0 -11
- package/dist/dist-tMzzRwxG.js +0 -33
- package/dist/index.d.ts.map +0 -1
- package/dist/main.d.ts +0 -1
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js +0 -18960
- package/dist/proxy-BFVscmYQ.js +0 -4920
- package/dist/select-DFE8xm1L.js +0 -768
- package/dist/styles/base-colors.css +0 -62
- package/dist/styles/main.css +0 -2
- package/dist/styles/theme.css +0 -869
- package/dist/twUtils-BpqlKSeB.js +0 -1673
- package/dist/use-animation-BeSipRjB.js +0 -57
- package/dist/utils/dropdownPositioning.test.d.ts +0 -2
- package/dist/utils/dropdownPositioning.test.d.ts.map +0 -1
- package/dist/utils/dropdownPositioning.test.js +0 -22
|
@@ -1,91 +1,94 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
|
|
4
|
+
//#region src/components/DateTimePicker/DateTimeUtils.d.ts
|
|
5
|
+
declare const TimePickerTypeSchema: z.ZodEnum<{
|
|
6
|
+
"12hours": "12hours";
|
|
7
|
+
hours: "hours";
|
|
8
|
+
minutes: "minutes";
|
|
6
9
|
}>;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
declare const PeriodSchema: z.ZodEnum<{
|
|
11
|
+
AM: "AM";
|
|
12
|
+
PM: "PM";
|
|
10
13
|
}>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
declare const HourFormatSchema: z.ZodEnum<{
|
|
15
|
+
12: "12";
|
|
16
|
+
24: "24";
|
|
14
17
|
}>;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
declare const TimeValueSchema: z.ZodObject<{
|
|
19
|
+
hours: z.ZodNumber;
|
|
20
|
+
minutes: z.ZodNumber;
|
|
18
21
|
}, z.core.$strip>;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
declare const DateTimeConfigSchema: z.ZodObject<{
|
|
23
|
+
date: z.ZodOptional<z.ZodDate>;
|
|
24
|
+
hourFormat: z.ZodDefault<z.ZodEnum<{
|
|
25
|
+
12: "12";
|
|
26
|
+
24: "24";
|
|
27
|
+
}>>;
|
|
28
|
+
period: z.ZodOptional<z.ZodEnum<{
|
|
29
|
+
AM: "AM";
|
|
30
|
+
PM: "PM";
|
|
31
|
+
}>>;
|
|
29
32
|
}, z.core.$strip>;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
type TimePickerType = z.infer<typeof TimePickerTypeSchema>;
|
|
34
|
+
type Period = z.infer<typeof PeriodSchema>;
|
|
35
|
+
type HourFormat = z.infer<typeof HourFormatSchema>;
|
|
36
|
+
type TimeValue = z.infer<typeof TimeValueSchema>;
|
|
37
|
+
interface TimePickerConfig {
|
|
38
|
+
hourFormat: HourFormat;
|
|
39
|
+
step?: number;
|
|
37
40
|
}
|
|
38
41
|
/** Localized period labels (AM/PM) */
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
interface PeriodLabels {
|
|
43
|
+
am: string;
|
|
44
|
+
pm: string;
|
|
42
45
|
}
|
|
43
46
|
/** Translation strings for time picker ARIA and labels */
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
47
|
+
interface TimePickerTranslations {
|
|
48
|
+
/** ARIA label for the time picker group in 12-hour format */
|
|
49
|
+
timePicker12Hour: string;
|
|
50
|
+
/** ARIA label for the time picker group in 24-hour format */
|
|
51
|
+
timePicker24Hour: string;
|
|
52
|
+
/** ARIA label for hours input in 12-hour format */
|
|
53
|
+
hours12: string;
|
|
54
|
+
/** ARIA label for hours input in 24-hour format */
|
|
55
|
+
hours24: string;
|
|
56
|
+
/** ARIA label for minutes input */
|
|
57
|
+
minutes: string;
|
|
58
|
+
/**
|
|
59
|
+
* ARIA label template for period select.
|
|
60
|
+
* Use {am} and {pm} as placeholders for localized period names.
|
|
61
|
+
* Example: 'Select {am} or {pm}' becomes 'Select AM or PM' in English
|
|
62
|
+
*/
|
|
63
|
+
selectPeriodTemplate: string;
|
|
64
|
+
/** Generic time value label */
|
|
65
|
+
timeValue: string;
|
|
63
66
|
}
|
|
64
67
|
/** Default English translations with template placeholders */
|
|
65
|
-
|
|
68
|
+
declare const DEFAULT_TRANSLATIONS: TimePickerTranslations;
|
|
66
69
|
/**
|
|
67
70
|
* Interpolates localized period labels into a template string.
|
|
68
71
|
* Replaces {am} and {pm} placeholders with actual localized values.
|
|
69
72
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
declare const formatSelectPeriodLabel: (labels: PeriodLabels, template: string) => string;
|
|
74
|
+
declare const PICKER_TYPES: {
|
|
75
|
+
readonly HOURS: 'hours';
|
|
76
|
+
readonly HOURS_12: '12hours';
|
|
77
|
+
readonly MINUTES: 'minutes';
|
|
75
78
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
79
|
+
declare const TIME_BOUNDS: {
|
|
80
|
+
readonly HOURS_24: {
|
|
81
|
+
readonly min: 0;
|
|
82
|
+
readonly max: 23;
|
|
83
|
+
};
|
|
84
|
+
readonly HOURS_12: {
|
|
85
|
+
readonly min: 1;
|
|
86
|
+
readonly max: 12;
|
|
87
|
+
};
|
|
88
|
+
readonly MINUTES: {
|
|
89
|
+
readonly min: 0;
|
|
90
|
+
readonly max: 59;
|
|
91
|
+
};
|
|
89
92
|
};
|
|
90
93
|
/**
|
|
91
94
|
* Gets the resolved locale string, with fallback chain:
|
|
@@ -94,82 +97,91 @@ export declare const TIME_BOUNDS: {
|
|
|
94
97
|
* 3. navigator.language (browser only)
|
|
95
98
|
* 4. 'en-US' as final fallback
|
|
96
99
|
*/
|
|
97
|
-
|
|
100
|
+
declare const getResolvedLocale: (locale?: string) => string;
|
|
98
101
|
/**
|
|
99
102
|
* Detects whether a locale uses 12-hour or 24-hour time format.
|
|
100
103
|
* Uses Intl.DateTimeFormat to check if the locale produces AM/PM markers.
|
|
101
104
|
*/
|
|
102
|
-
|
|
105
|
+
declare const detectHourFormat: (locale: string) => HourFormat;
|
|
103
106
|
/**
|
|
104
107
|
* Gets localized AM/PM labels using Intl.DateTimeFormat.
|
|
105
108
|
* Returns the locale-specific strings for morning and afternoon periods.
|
|
106
109
|
*/
|
|
107
|
-
|
|
110
|
+
declare const getLocalizedPeriodLabels: (locale: string) => PeriodLabels;
|
|
108
111
|
/**
|
|
109
112
|
* Gets the localized label for a period value ('AM' or 'PM').
|
|
110
113
|
*/
|
|
111
|
-
|
|
114
|
+
declare const getLocalizedPeriodLabel: (period: Period, labels: PeriodLabels) => string;
|
|
112
115
|
/**
|
|
113
116
|
* Formats a number using Intl.NumberFormat for the given locale.
|
|
114
117
|
* Pads to 2 digits for time display.
|
|
115
118
|
*/
|
|
116
|
-
|
|
119
|
+
declare const formatTimeNumber: (value: number, locale: string) => string;
|
|
117
120
|
/**
|
|
118
121
|
* Validates 24-hour format (00-23)
|
|
119
122
|
*/
|
|
120
|
-
|
|
123
|
+
declare const isValidHour: (value: string) => boolean;
|
|
121
124
|
/**
|
|
122
125
|
* Validates 12-hour format (01-12)
|
|
123
126
|
*/
|
|
124
|
-
|
|
127
|
+
declare const isValid12Hour: (value: string) => boolean;
|
|
125
128
|
/**
|
|
126
129
|
* Validates minute format (00-59)
|
|
127
130
|
*/
|
|
128
|
-
|
|
131
|
+
declare const isValidMinute: (value: string) => boolean;
|
|
129
132
|
interface GetValidNumberConfig {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
+
loop?: boolean;
|
|
134
|
+
max: number;
|
|
135
|
+
min?: number;
|
|
133
136
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
declare const getValidNumber: (value: string, {
|
|
138
|
+
max,
|
|
139
|
+
min,
|
|
140
|
+
loop
|
|
141
|
+
}: GetValidNumberConfig) => string;
|
|
142
|
+
declare const getValidHour: (value: string) => string;
|
|
143
|
+
declare const getValid12Hour: (value: string) => string;
|
|
144
|
+
declare const getValidMinute: (value: string) => string;
|
|
138
145
|
interface GetValidArrowNumberConfig {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
146
|
+
max: number;
|
|
147
|
+
min: number;
|
|
148
|
+
step: number;
|
|
142
149
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
declare const getValidArrowNumber: (value: string, {
|
|
151
|
+
min,
|
|
152
|
+
max,
|
|
153
|
+
step
|
|
154
|
+
}: GetValidArrowNumberConfig) => string;
|
|
155
|
+
declare const getValidArrowHour: (value: string, step: number) => string;
|
|
156
|
+
declare const getValidArrow12Hour: (value: string, step: number) => string;
|
|
157
|
+
declare const getValidArrowMinute: (value: string, step: number) => string;
|
|
158
|
+
declare const setMinutes: (date: Date, value: string) => Date;
|
|
159
|
+
declare const setHours: (date: Date, value: string) => Date;
|
|
160
|
+
declare const set12Hours: (date: Date, value: string, period: Period) => Date;
|
|
161
|
+
declare const setDateByType: (date: Date, type: TimePickerType, value: string, period?: Period) => Date;
|
|
162
|
+
declare const getDateByType: (date: Date, type: TimePickerType) => string;
|
|
163
|
+
declare const getArrowByType: (step: number, type: TimePickerType, value: string) => string;
|
|
153
164
|
/**
|
|
154
165
|
* Converts 12-hour format to 24-hour format
|
|
155
166
|
* 12:00 PM → 12:00 (noon)
|
|
156
167
|
* 12:00 AM → 00:00 (midnight)
|
|
157
168
|
*/
|
|
158
|
-
|
|
169
|
+
declare const convert12HourTo24Hour: (hour: number, period: Period) => number;
|
|
159
170
|
/**
|
|
160
171
|
* Converts 24-hour format to 12-hour display value
|
|
161
172
|
* Returns a zero-padded string (e.g., "01", "12")
|
|
162
173
|
*/
|
|
163
|
-
|
|
174
|
+
declare const display12HourValue: (hours: number) => string;
|
|
164
175
|
/**
|
|
165
176
|
* Gets the period (AM/PM) from a 24-hour value
|
|
166
177
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
178
|
+
declare const getPeriodFromHours: (hours: number) => Period;
|
|
179
|
+
declare const getAriaValueNow: (date: Date, type: TimePickerType) => number;
|
|
180
|
+
declare const getAriaValueMinMax: (type: TimePickerType) => {
|
|
181
|
+
min: number;
|
|
182
|
+
max: number;
|
|
172
183
|
};
|
|
173
|
-
|
|
174
|
-
|
|
184
|
+
declare const getAriaLabel: (type: TimePickerType, translations?: TimePickerTranslations) => string;
|
|
185
|
+
//#endregion
|
|
186
|
+
export { DEFAULT_TRANSLATIONS, DateTimeConfigSchema, HourFormat, HourFormatSchema, PICKER_TYPES, Period, PeriodLabels, PeriodSchema, TIME_BOUNDS, TimePickerConfig, TimePickerTranslations, TimePickerType, TimePickerTypeSchema, TimeValue, TimeValueSchema, convert12HourTo24Hour, detectHourFormat, display12HourValue, formatSelectPeriodLabel, formatTimeNumber, getAriaLabel, getAriaValueMinMax, getAriaValueNow, getArrowByType, getDateByType, getLocalizedPeriodLabel, getLocalizedPeriodLabels, getPeriodFromHours, getResolvedLocale, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinute, getValidArrowNumber, getValidHour, getValidMinute, getValidNumber, isValid12Hour, isValidHour, isValidMinute, set12Hours, setDateByType, setHours, setMinutes };
|
|
175
187
|
//# sourceMappingURL=DateTimeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeUtils.d.ts","names":[],"sources":["../../src/components/DateTimePicker/DateTimeUtils.ts"],"mappings":"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"}
|
|
@@ -1,2 +1,296 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
|
|
4
|
+
//#region src/components/DateTimePicker/DateTimeUtils.ts
|
|
5
|
+
const TimePickerTypeSchema = z.enum([
|
|
6
|
+
"minutes",
|
|
7
|
+
"hours",
|
|
8
|
+
"12hours"
|
|
9
|
+
]);
|
|
10
|
+
const PeriodSchema = z.enum(["AM", "PM"]);
|
|
11
|
+
const HourFormatSchema = z.enum(["12", "24"]);
|
|
12
|
+
const TimeValueSchema = z.object({
|
|
13
|
+
hours: z.number().min(0).max(23),
|
|
14
|
+
minutes: z.number().min(0).max(59)
|
|
15
|
+
});
|
|
16
|
+
const DateTimeConfigSchema = z.object({
|
|
17
|
+
date: z.date().optional(),
|
|
18
|
+
hourFormat: HourFormatSchema.default("12"),
|
|
19
|
+
period: PeriodSchema.optional()
|
|
20
|
+
});
|
|
21
|
+
/** Default English translations with template placeholders */
|
|
22
|
+
const DEFAULT_TRANSLATIONS = {
|
|
23
|
+
hours12: "Hours (1-12)",
|
|
24
|
+
hours24: "Hours",
|
|
25
|
+
minutes: "Minutes",
|
|
26
|
+
selectPeriodTemplate: "Select {am} or {pm}",
|
|
27
|
+
timePicker12Hour: "Time picker (12-hour format)",
|
|
28
|
+
timePicker24Hour: "Time picker (24-hour format)",
|
|
29
|
+
timeValue: "Time value"
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Interpolates localized period labels into a template string.
|
|
33
|
+
* Replaces {am} and {pm} placeholders with actual localized values.
|
|
34
|
+
*/
|
|
35
|
+
const formatSelectPeriodLabel = (labels, template) => template.replace("{am}", labels.am).replace("{pm}", labels.pm);
|
|
36
|
+
const PICKER_TYPES = {
|
|
37
|
+
HOURS: "hours",
|
|
38
|
+
HOURS_12: "12hours",
|
|
39
|
+
MINUTES: "minutes"
|
|
40
|
+
};
|
|
41
|
+
const TIME_BOUNDS = {
|
|
42
|
+
HOURS_24: {
|
|
43
|
+
min: 0,
|
|
44
|
+
max: 23
|
|
45
|
+
},
|
|
46
|
+
HOURS_12: {
|
|
47
|
+
min: 1,
|
|
48
|
+
max: 12
|
|
49
|
+
},
|
|
50
|
+
MINUTES: {
|
|
51
|
+
min: 0,
|
|
52
|
+
max: 59
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Gets the resolved locale string, with fallback chain:
|
|
57
|
+
* 1. Provided locale prop
|
|
58
|
+
* 2. Intl.DateTimeFormat().resolvedOptions().locale
|
|
59
|
+
* 3. navigator.language (browser only)
|
|
60
|
+
* 4. 'en-US' as final fallback
|
|
61
|
+
*/
|
|
62
|
+
const getResolvedLocale = (locale) => {
|
|
63
|
+
if (locale) return locale;
|
|
64
|
+
try {
|
|
65
|
+
return Intl.DateTimeFormat().resolvedOptions().locale;
|
|
66
|
+
} catch {
|
|
67
|
+
if (typeof navigator !== "undefined" && navigator.language) return navigator.language;
|
|
68
|
+
return "en-US";
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Detects whether a locale uses 12-hour or 24-hour time format.
|
|
73
|
+
* Uses Intl.DateTimeFormat to check if the locale produces AM/PM markers.
|
|
74
|
+
*/
|
|
75
|
+
const detectHourFormat = (locale) => {
|
|
76
|
+
try {
|
|
77
|
+
return new Intl.DateTimeFormat(locale, {
|
|
78
|
+
hour: "numeric",
|
|
79
|
+
hour12: void 0
|
|
80
|
+
}).formatToParts(new Date(2e3, 0, 1, 13, 0, 0)).some((part) => part.type === "dayPeriod") ? "12" : "24";
|
|
81
|
+
} catch {
|
|
82
|
+
return "12";
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Gets localized AM/PM labels using Intl.DateTimeFormat.
|
|
87
|
+
* Returns the locale-specific strings for morning and afternoon periods.
|
|
88
|
+
*/
|
|
89
|
+
const getLocalizedPeriodLabels = (locale) => {
|
|
90
|
+
try {
|
|
91
|
+
const formatter = new Intl.DateTimeFormat(locale, {
|
|
92
|
+
hour: "numeric",
|
|
93
|
+
hour12: true
|
|
94
|
+
});
|
|
95
|
+
const amPart = formatter.formatToParts(new Date(2e3, 0, 1, 0, 0, 0)).find((part) => part.type === "dayPeriod");
|
|
96
|
+
const pmPart = formatter.formatToParts(new Date(2e3, 0, 1, 12, 0, 0)).find((part) => part.type === "dayPeriod");
|
|
97
|
+
return {
|
|
98
|
+
am: amPart?.value ?? "AM",
|
|
99
|
+
pm: pmPart?.value ?? "PM"
|
|
100
|
+
};
|
|
101
|
+
} catch {
|
|
102
|
+
return {
|
|
103
|
+
am: "AM",
|
|
104
|
+
pm: "PM"
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Gets the localized label for a period value ('AM' or 'PM').
|
|
110
|
+
*/
|
|
111
|
+
const getLocalizedPeriodLabel = (period, labels) => {
|
|
112
|
+
return period === "AM" ? labels.am : labels.pm;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Formats a number using Intl.NumberFormat for the given locale.
|
|
116
|
+
* Pads to 2 digits for time display.
|
|
117
|
+
*/
|
|
118
|
+
const formatTimeNumber = (value, locale) => {
|
|
119
|
+
try {
|
|
120
|
+
return new Intl.NumberFormat(locale, {
|
|
121
|
+
minimumIntegerDigits: 2,
|
|
122
|
+
useGrouping: false
|
|
123
|
+
}).format(value);
|
|
124
|
+
} catch {
|
|
125
|
+
return value.toString().padStart(2, "0");
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Validates 24-hour format (00-23)
|
|
130
|
+
*/
|
|
131
|
+
const isValidHour = (value) => {
|
|
132
|
+
return /^(0[0-9]|1[0-9]|2[0-3])$/.test(value);
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Validates 12-hour format (01-12)
|
|
136
|
+
*/
|
|
137
|
+
const isValid12Hour = (value) => {
|
|
138
|
+
return /^(0[1-9]|1[0-2])$/.test(value);
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Validates minute format (00-59)
|
|
142
|
+
*/
|
|
143
|
+
const isValidMinute = (value) => {
|
|
144
|
+
return /^[0-5][0-9]$/.test(value);
|
|
145
|
+
};
|
|
146
|
+
const getValidNumber = (value, { max, min = 0, loop = false }) => {
|
|
147
|
+
let numericValue = parseInt(value, 10);
|
|
148
|
+
if (isNaN(numericValue)) return min.toString().padStart(2, "0");
|
|
149
|
+
if (loop) {
|
|
150
|
+
if (numericValue > max) numericValue = min;
|
|
151
|
+
else if (numericValue < min) numericValue = max;
|
|
152
|
+
} else numericValue = Math.min(Math.max(numericValue, min), max);
|
|
153
|
+
return numericValue.toString().padStart(2, "0");
|
|
154
|
+
};
|
|
155
|
+
const getValidHour = (value) => {
|
|
156
|
+
if (isValidHour(value)) return value;
|
|
157
|
+
return getValidNumber(value, TIME_BOUNDS.HOURS_24);
|
|
158
|
+
};
|
|
159
|
+
const getValid12Hour = (value) => {
|
|
160
|
+
if (isValid12Hour(value)) return value;
|
|
161
|
+
return getValidNumber(value, TIME_BOUNDS.HOURS_12);
|
|
162
|
+
};
|
|
163
|
+
const getValidMinute = (value) => {
|
|
164
|
+
if (isValidMinute(value)) return value;
|
|
165
|
+
return getValidNumber(value, TIME_BOUNDS.MINUTES);
|
|
166
|
+
};
|
|
167
|
+
const getValidArrowNumber = (value, { min, max, step }) => {
|
|
168
|
+
const numericValue = parseInt(value, 10);
|
|
169
|
+
if (isNaN(numericValue)) return min.toString().padStart(2, "0");
|
|
170
|
+
return getValidNumber(String(numericValue + step), {
|
|
171
|
+
min,
|
|
172
|
+
max,
|
|
173
|
+
loop: true
|
|
174
|
+
});
|
|
175
|
+
};
|
|
176
|
+
const getValidArrowHour = (value, step) => {
|
|
177
|
+
return getValidArrowNumber(value, {
|
|
178
|
+
...TIME_BOUNDS.HOURS_24,
|
|
179
|
+
step
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
const getValidArrow12Hour = (value, step) => {
|
|
183
|
+
return getValidArrowNumber(value, {
|
|
184
|
+
...TIME_BOUNDS.HOURS_12,
|
|
185
|
+
step
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
const getValidArrowMinute = (value, step) => {
|
|
189
|
+
return getValidArrowNumber(value, {
|
|
190
|
+
...TIME_BOUNDS.MINUTES,
|
|
191
|
+
step
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
const setMinutes = (date, value) => {
|
|
195
|
+
const d = new Date(date.getTime());
|
|
196
|
+
const minutes = getValidMinute(value);
|
|
197
|
+
d.setMinutes(parseInt(minutes, 10));
|
|
198
|
+
return d;
|
|
199
|
+
};
|
|
200
|
+
const setHours = (date, value) => {
|
|
201
|
+
const d = new Date(date.getTime());
|
|
202
|
+
const hours = getValidHour(value);
|
|
203
|
+
d.setHours(parseInt(hours, 10));
|
|
204
|
+
return d;
|
|
205
|
+
};
|
|
206
|
+
const set12Hours = (date, value, period) => {
|
|
207
|
+
const d = new Date(date.getTime());
|
|
208
|
+
const convertedHours = convert12HourTo24Hour(parseInt(getValid12Hour(value), 10), period);
|
|
209
|
+
d.setHours(convertedHours);
|
|
210
|
+
return d;
|
|
211
|
+
};
|
|
212
|
+
const setDateByType = (date, type, value, period) => {
|
|
213
|
+
switch (type) {
|
|
214
|
+
case "minutes": return setMinutes(date, value);
|
|
215
|
+
case "hours": return setHours(date, value);
|
|
216
|
+
case "12hours":
|
|
217
|
+
if (!period) return new Date(date.getTime());
|
|
218
|
+
return set12Hours(date, value, period);
|
|
219
|
+
default: return new Date(date.getTime());
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
const getDateByType = (date, type) => {
|
|
223
|
+
switch (type) {
|
|
224
|
+
case "minutes": return getValidMinute(String(date.getMinutes()));
|
|
225
|
+
case "hours": return getValidHour(String(date.getHours()));
|
|
226
|
+
case "12hours": return display12HourValue(date.getHours());
|
|
227
|
+
default: return "00";
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
const getArrowByType = (step, type, value) => {
|
|
231
|
+
switch (type) {
|
|
232
|
+
case "minutes": return getValidArrowMinute(value, step);
|
|
233
|
+
case "hours": return getValidArrowHour(value, step);
|
|
234
|
+
case "12hours": return getValidArrow12Hour(value, step);
|
|
235
|
+
default: return "00";
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* Converts 12-hour format to 24-hour format
|
|
240
|
+
* 12:00 PM → 12:00 (noon)
|
|
241
|
+
* 12:00 AM → 00:00 (midnight)
|
|
242
|
+
*/
|
|
243
|
+
const convert12HourTo24Hour = (hour, period) => {
|
|
244
|
+
if (period === "PM") return hour === 12 ? 12 : hour + 12;
|
|
245
|
+
return hour === 12 ? 0 : hour;
|
|
246
|
+
};
|
|
247
|
+
/**
|
|
248
|
+
* Converts 24-hour format to 12-hour display value
|
|
249
|
+
* Returns a zero-padded string (e.g., "01", "12")
|
|
250
|
+
*/
|
|
251
|
+
const display12HourValue = (hours) => {
|
|
252
|
+
if (hours === 0 || hours === 12) return "12";
|
|
253
|
+
return (hours % 12).toString().padStart(2, "0");
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* Gets the period (AM/PM) from a 24-hour value
|
|
257
|
+
*/
|
|
258
|
+
const getPeriodFromHours = (hours) => {
|
|
259
|
+
return hours >= 12 ? "PM" : "AM";
|
|
260
|
+
};
|
|
261
|
+
const getAriaValueNow = (date, type) => {
|
|
262
|
+
switch (type) {
|
|
263
|
+
case "minutes": return date.getMinutes();
|
|
264
|
+
case "hours": return date.getHours();
|
|
265
|
+
case "12hours": {
|
|
266
|
+
const hours = date.getHours();
|
|
267
|
+
if (hours === 0) return 12;
|
|
268
|
+
if (hours > 12) return hours - 12;
|
|
269
|
+
return hours;
|
|
270
|
+
}
|
|
271
|
+
default: return 0;
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
const getAriaValueMinMax = (type) => {
|
|
275
|
+
switch (type) {
|
|
276
|
+
case "minutes": return TIME_BOUNDS.MINUTES;
|
|
277
|
+
case "hours": return TIME_BOUNDS.HOURS_24;
|
|
278
|
+
case "12hours": return TIME_BOUNDS.HOURS_12;
|
|
279
|
+
default: return {
|
|
280
|
+
min: 0,
|
|
281
|
+
max: 0
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
const getAriaLabel = (type, translations = DEFAULT_TRANSLATIONS) => {
|
|
286
|
+
switch (type) {
|
|
287
|
+
case "minutes": return translations.minutes;
|
|
288
|
+
case "hours": return translations.hours24;
|
|
289
|
+
case "12hours": return translations.hours12;
|
|
290
|
+
default: return translations.timeValue;
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
//#endregion
|
|
295
|
+
export { DEFAULT_TRANSLATIONS, DateTimeConfigSchema, HourFormatSchema, PICKER_TYPES, PeriodSchema, TIME_BOUNDS, TimePickerTypeSchema, TimeValueSchema, convert12HourTo24Hour, detectHourFormat, display12HourValue, formatSelectPeriodLabel, formatTimeNumber, getAriaLabel, getAriaValueMinMax, getAriaValueNow, getArrowByType, getDateByType, getLocalizedPeriodLabel, getLocalizedPeriodLabels, getPeriodFromHours, getResolvedLocale, getValid12Hour, getValidArrow12Hour, getValidArrowHour, getValidArrowMinute, getValidArrowNumber, getValidHour, getValidMinute, getValidNumber, isValid12Hour, isValidHour, isValidMinute, set12Hours, setDateByType, setHours, setMinutes };
|
|
296
|
+
//# sourceMappingURL=DateTimeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeUtils.js","names":[],"sources":["../../src/components/DateTimePicker/DateTimeUtils.ts"],"sourcesContent":["import { z } from 'zod'\n\n// ============================================================================\n// Zod Schemas\n// ============================================================================\n\nexport const TimePickerTypeSchema = z.enum(['minutes', 'hours', '12hours'])\nexport const PeriodSchema = z.enum(['AM', 'PM'])\nexport const HourFormatSchema = z.enum(['12', '24'])\n\nexport const TimeValueSchema = z.object({\n hours: z.number().min(0).max(23),\n minutes: z.number().min(0).max(59),\n})\n\nexport const DateTimeConfigSchema = z.object({\n date: z.date().optional(),\n hourFormat: HourFormatSchema.default('12'),\n period: PeriodSchema.optional(),\n})\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type TimePickerType = z.infer<typeof TimePickerTypeSchema>\nexport type Period = z.infer<typeof PeriodSchema>\nexport type HourFormat = z.infer<typeof HourFormatSchema>\nexport type TimeValue = z.infer<typeof TimeValueSchema>\n\nexport interface TimePickerConfig {\n hourFormat: HourFormat\n step?: number\n}\n\n/** Localized period labels (AM/PM) */\nexport interface PeriodLabels {\n am: string\n pm: string\n}\n\n/** Translation strings for time picker ARIA and labels */\nexport interface TimePickerTranslations {\n /** ARIA label for the time picker group in 12-hour format */\n timePicker12Hour: string\n /** ARIA label for the time picker group in 24-hour format */\n timePicker24Hour: string\n /** ARIA label for hours input in 12-hour format */\n hours12: string\n /** ARIA label for hours input in 24-hour format */\n hours24: string\n /** ARIA label for minutes input */\n minutes: string\n /**\n * ARIA label template for period select.\n * Use {am} and {pm} as placeholders for localized period names.\n * Example: 'Select {am} or {pm}' becomes 'Select AM or PM' in English\n */\n selectPeriodTemplate: string\n /** Generic time value label */\n timeValue: string\n}\n\n/** Default English translations with template placeholders */\nexport const DEFAULT_TRANSLATIONS: TimePickerTranslations = {\n hours12: 'Hours (1-12)',\n hours24: 'Hours',\n minutes: 'Minutes',\n selectPeriodTemplate: 'Select {am} or {pm}',\n timePicker12Hour: 'Time picker (12-hour format)',\n timePicker24Hour: 'Time picker (24-hour format)',\n timeValue: 'Time value',\n}\n\n/**\n * Interpolates localized period labels into a template string.\n * Replaces {am} and {pm} placeholders with actual localized values.\n */\nexport const formatSelectPeriodLabel = (labels: PeriodLabels, template: string): string => template.replace('{am}', labels.am).replace('{pm}', labels.pm)\n\n// ============================================================================\n// Constants\n// ============================================================================\n\nexport const PICKER_TYPES = {\n HOURS: 'hours',\n HOURS_12: '12hours',\n MINUTES: 'minutes',\n} as const\n\nexport const TIME_BOUNDS = {\n HOURS_24: { min: 0, max: 23 },\n HOURS_12: { min: 1, max: 12 },\n MINUTES: { min: 0, max: 59 },\n} as const\n\n// ============================================================================\n// Locale Utilities\n// ============================================================================\n\n/**\n * Gets the resolved locale string, with fallback chain:\n * 1. Provided locale prop\n * 2. Intl.DateTimeFormat().resolvedOptions().locale\n * 3. navigator.language (browser only)\n * 4. 'en-US' as final fallback\n */\nexport const getResolvedLocale = (locale?: string): string => {\n if (locale) return locale\n\n try {\n return Intl.DateTimeFormat().resolvedOptions().locale\n } catch {\n // Fallback for environments without Intl\n if (typeof navigator !== 'undefined' && navigator.language) {\n return navigator.language\n }\n return 'en-US'\n }\n}\n\n/**\n * Detects whether a locale uses 12-hour or 24-hour time format.\n * Uses Intl.DateTimeFormat to check if the locale produces AM/PM markers.\n */\nexport const detectHourFormat = (locale: string): HourFormat => {\n try {\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: 'numeric',\n hour12: undefined, // Let the locale decide\n })\n\n // Check if formatToParts includes a dayPeriod (AM/PM marker)\n const parts = formatter.formatToParts(new Date(2000, 0, 1, 13, 0, 0))\n const hasDayPeriod = parts.some((part) => part.type === 'dayPeriod')\n\n return hasDayPeriod ? '12' : '24'\n } catch {\n // Default to 12-hour format if Intl is not available\n return '12'\n }\n}\n\n/**\n * Gets localized AM/PM labels using Intl.DateTimeFormat.\n * Returns the locale-specific strings for morning and afternoon periods.\n */\nexport const getLocalizedPeriodLabels = (locale: string): PeriodLabels => {\n try {\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: 'numeric',\n hour12: true,\n })\n\n // Get AM label from midnight (00:00)\n const amParts = formatter.formatToParts(new Date(2000, 0, 1, 0, 0, 0))\n const amPart = amParts.find((part) => part.type === 'dayPeriod')\n\n // Get PM label from noon (12:00)\n const pmParts = formatter.formatToParts(new Date(2000, 0, 1, 12, 0, 0))\n const pmPart = pmParts.find((part) => part.type === 'dayPeriod')\n\n return {\n am: amPart?.value ?? 'AM',\n pm: pmPart?.value ?? 'PM',\n }\n } catch {\n // Fallback to English defaults\n return { am: 'AM', pm: 'PM' }\n }\n}\n\n/**\n * Gets the localized label for a period value ('AM' or 'PM').\n */\nexport const getLocalizedPeriodLabel = (period: Period, labels: PeriodLabels): string => {\n return period === 'AM' ? labels.am : labels.pm\n}\n\n/**\n * Formats a number using Intl.NumberFormat for the given locale.\n * Pads to 2 digits for time display.\n */\nexport const formatTimeNumber = (value: number, locale: string): string => {\n try {\n // For time display, we always want 2-digit representation\n const formatted = new Intl.NumberFormat(locale, {\n minimumIntegerDigits: 2,\n useGrouping: false,\n }).format(value)\n return formatted\n } catch {\n return value.toString().padStart(2, '0')\n }\n}\n\n// ============================================================================\n// Validation Functions\n// ============================================================================\n\n/**\n * Validates 24-hour format (00-23)\n */\nexport const isValidHour = (value: string): boolean => {\n return /^(0[0-9]|1[0-9]|2[0-3])$/.test(value)\n}\n\n/**\n * Validates 12-hour format (01-12)\n */\nexport const isValid12Hour = (value: string): boolean => {\n return /^(0[1-9]|1[0-2])$/.test(value)\n}\n\n/**\n * Validates minute format (00-59)\n */\nexport const isValidMinute = (value: string): boolean => {\n return /^[0-5][0-9]$/.test(value)\n}\n\n// ============================================================================\n// Number Utilities\n// ============================================================================\n\ninterface GetValidNumberConfig {\n loop?: boolean\n max: number\n min?: number\n}\n\nexport const getValidNumber = (value: string, { max, min = 0, loop = false }: GetValidNumberConfig): string => {\n let numericValue = parseInt(value, 10)\n if (isNaN(numericValue)) return min.toString().padStart(2, '0')\n\n if (loop) {\n if (numericValue > max) numericValue = min\n else if (numericValue < min) numericValue = max\n } else {\n numericValue = Math.min(Math.max(numericValue, min), max)\n }\n\n return numericValue.toString().padStart(2, '0')\n}\n\nexport const getValidHour = (value: string): string => {\n if (isValidHour(value)) return value\n return getValidNumber(value, TIME_BOUNDS.HOURS_24)\n}\n\nexport const getValid12Hour = (value: string): string => {\n if (isValid12Hour(value)) return value\n return getValidNumber(value, TIME_BOUNDS.HOURS_12)\n}\n\nexport const getValidMinute = (value: string): string => {\n if (isValidMinute(value)) return value\n return getValidNumber(value, TIME_BOUNDS.MINUTES)\n}\n\n// ============================================================================\n// Arrow Key Navigation\n// ============================================================================\n\ninterface GetValidArrowNumberConfig {\n max: number\n min: number\n step: number\n}\n\nexport const getValidArrowNumber = (value: string, { min, max, step }: GetValidArrowNumberConfig): string => {\n const numericValue = parseInt(value, 10)\n if (isNaN(numericValue)) return min.toString().padStart(2, '0')\n return getValidNumber(String(numericValue + step), { min, max, loop: true })\n}\n\nexport const getValidArrowHour = (value: string, step: number): string => {\n return getValidArrowNumber(value, { ...TIME_BOUNDS.HOURS_24, step })\n}\n\nexport const getValidArrow12Hour = (value: string, step: number): string => {\n return getValidArrowNumber(value, { ...TIME_BOUNDS.HOURS_12, step })\n}\n\nexport const getValidArrowMinute = (value: string, step: number): string => {\n return getValidArrowNumber(value, { ...TIME_BOUNDS.MINUTES, step })\n}\n\n// ============================================================================\n// Date Setters\n// ============================================================================\n\nexport const setMinutes = (date: Date, value: string): Date => {\n const d = new Date(date.getTime())\n const minutes = getValidMinute(value)\n d.setMinutes(parseInt(minutes, 10))\n return d\n}\n\nexport const setHours = (date: Date, value: string): Date => {\n const d = new Date(date.getTime())\n const hours = getValidHour(value)\n d.setHours(parseInt(hours, 10))\n return d\n}\n\nexport const set12Hours = (date: Date, value: string, period: Period): Date => {\n const d = new Date(date.getTime())\n const hours = parseInt(getValid12Hour(value), 10)\n const convertedHours = convert12HourTo24Hour(hours, period)\n d.setHours(convertedHours)\n return d\n}\n\nexport const setDateByType = (date: Date, type: TimePickerType, value: string, period?: Period): Date => {\n switch (type) {\n case 'minutes':\n return setMinutes(date, value)\n case 'hours':\n return setHours(date, value)\n case '12hours':\n if (!period) return new Date(date.getTime())\n return set12Hours(date, value, period)\n default:\n return new Date(date.getTime())\n }\n}\n\n// ============================================================================\n// Date Getters\n// ============================================================================\n\nexport const getDateByType = (date: Date, type: TimePickerType): string => {\n switch (type) {\n case 'minutes':\n return getValidMinute(String(date.getMinutes()))\n case 'hours':\n return getValidHour(String(date.getHours()))\n case '12hours':\n return display12HourValue(date.getHours())\n default:\n return '00'\n }\n}\n\nexport const getArrowByType = (step: number, type: TimePickerType, value: string): string => {\n switch (type) {\n case 'minutes':\n return getValidArrowMinute(value, step)\n case 'hours':\n return getValidArrowHour(value, step)\n case '12hours':\n return getValidArrow12Hour(value, step)\n default:\n return '00'\n }\n}\n\n// ============================================================================\n// 12/24 Hour Conversion\n// ============================================================================\n\n/**\n * Converts 12-hour format to 24-hour format\n * 12:00 PM → 12:00 (noon)\n * 12:00 AM → 00:00 (midnight)\n */\nexport const convert12HourTo24Hour = (hour: number, period: Period): number => {\n if (period === 'PM') {\n return hour === 12 ? 12 : hour + 12\n }\n // AM\n return hour === 12 ? 0 : hour\n}\n\n/**\n * Converts 24-hour format to 12-hour display value\n * Returns a zero-padded string (e.g., \"01\", \"12\")\n */\nexport const display12HourValue = (hours: number): string => {\n if (hours === 0 || hours === 12) return '12'\n const hour12 = hours % 12\n return hour12.toString().padStart(2, '0')\n}\n\n/**\n * Gets the period (AM/PM) from a 24-hour value\n */\nexport const getPeriodFromHours = (hours: number): Period => {\n return hours >= 12 ? 'PM' : 'AM'\n}\n\n// ============================================================================\n// ARIA Helpers\n// ============================================================================\n\nexport const getAriaValueNow = (date: Date, type: TimePickerType): number => {\n switch (type) {\n case 'minutes':\n return date.getMinutes()\n case 'hours':\n return date.getHours()\n case '12hours': {\n const hours = date.getHours()\n if (hours === 0) return 12\n if (hours > 12) return hours - 12\n return hours\n }\n default:\n return 0\n }\n}\n\nexport const getAriaValueMinMax = (type: TimePickerType): { min: number; max: number } => {\n switch (type) {\n case 'minutes':\n return TIME_BOUNDS.MINUTES\n case 'hours':\n return TIME_BOUNDS.HOURS_24\n case '12hours':\n return TIME_BOUNDS.HOURS_12\n default:\n return { min: 0, max: 0 }\n }\n}\n\nexport const getAriaLabel = (type: TimePickerType, translations: TimePickerTranslations = DEFAULT_TRANSLATIONS): string => {\n switch (type) {\n case 'minutes':\n return translations.minutes\n case 'hours':\n return translations.hours24\n case '12hours':\n return translations.hours12\n default:\n return translations.timeValue\n }\n}\n"],"mappings":"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"}
|