@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,32 +1,55 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
import { useCallback
|
|
1
|
+
'use client';
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
|
|
3
4
|
//#region src/components/Textarea/TextareaUtils.tsx
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Handle change events to respect character limit
|
|
7
|
+
*/
|
|
8
|
+
const handleTextareaChange = (e, maxLength, onChange) => {
|
|
9
|
+
const newValue = e.target.value;
|
|
10
|
+
if (newValue.length <= maxLength) onChange?.(newValue);
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Handle paste event to truncate text at character limit
|
|
14
|
+
*/
|
|
15
|
+
const handleTextareaPaste = (e, maxLength, value, onChange) => {
|
|
16
|
+
const pastedText = e.clipboardData.getData("text");
|
|
17
|
+
const currentValue = value || "";
|
|
18
|
+
const cursorStart = e.currentTarget.selectionStart || 0;
|
|
19
|
+
const cursorEnd = e.currentTarget.selectionEnd || 0;
|
|
20
|
+
const beforeCursor = currentValue.substring(0, cursorStart);
|
|
21
|
+
const afterCursor = currentValue.substring(cursorEnd);
|
|
22
|
+
if ((beforeCursor + pastedText + afterCursor).length > maxLength) {
|
|
23
|
+
const selectedLength = cursorEnd - cursorStart;
|
|
24
|
+
const availableSpace = maxLength - currentValue.length + selectedLength;
|
|
25
|
+
const truncatedValue = beforeCursor + pastedText.substring(0, Math.max(0, availableSpace)) + afterCursor;
|
|
26
|
+
onChange?.(truncatedValue);
|
|
12
27
|
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Custom hook for textarea functionality with character limits and event handling
|
|
31
|
+
*/
|
|
32
|
+
const useTextarea = ({ maxLength, value, onChange, onFocus, onBlur }) => {
|
|
33
|
+
return {
|
|
34
|
+
handleFocus: useCallback((e) => {
|
|
35
|
+
onFocus?.(e);
|
|
36
|
+
}, [onFocus]),
|
|
37
|
+
handleBlur: useCallback((e) => {
|
|
38
|
+
onBlur?.(e);
|
|
39
|
+
}, [onBlur]),
|
|
40
|
+
handleChange: useCallback((e) => {
|
|
41
|
+
handleTextareaChange(e, maxLength, onChange);
|
|
42
|
+
}, [maxLength, onChange]),
|
|
43
|
+
handlePaste: useCallback((e) => {
|
|
44
|
+
handleTextareaPaste(e, maxLength, value, onChange);
|
|
45
|
+
}, [
|
|
46
|
+
value,
|
|
47
|
+
maxLength,
|
|
48
|
+
onChange
|
|
49
|
+
])
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
|
|
31
53
|
//#endregion
|
|
32
|
-
export {
|
|
54
|
+
export { useTextarea };
|
|
55
|
+
//# sourceMappingURL=TextareaUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextareaUtils.js","names":[],"sources":["../../src/components/Textarea/TextareaUtils.tsx"],"sourcesContent":["import { useCallback, type ChangeEvent, type ClipboardEvent, type FocusEvent } from 'react'\n\nexport interface UseTextareaOptions {\n maxLength: number\n onBlur?: (e: FocusEvent<HTMLTextAreaElement>) => void\n onChange: (value: string) => void\n onFocus?: (e: FocusEvent<HTMLTextAreaElement>) => void\n value: string\n}\n\nexport interface UseTextareaReturn {\n handleBlur: (e: FocusEvent<HTMLTextAreaElement>) => void\n handleChange: (e: ChangeEvent<HTMLTextAreaElement>) => void\n handleFocus: (e: FocusEvent<HTMLTextAreaElement>) => void\n handlePaste: (e: ClipboardEvent<HTMLTextAreaElement>) => void\n}\n\n/**\n * Handle change events to respect character limit\n */\nconst handleTextareaChange = (e: ChangeEvent<HTMLTextAreaElement>, maxLength: number, onChange: UseTextareaOptions['onChange']): void => {\n const newValue = e.target.value\n\n // Only allow changes that don't exceed the character limit\n if (newValue.length <= maxLength) {\n onChange?.(newValue)\n }\n}\n\n/**\n * Handle paste event to truncate text at character limit\n */\nconst handleTextareaPaste = (e: ClipboardEvent<HTMLTextAreaElement>, maxLength: number, value: string, onChange?: (value: string) => void): void => {\n const pastedText = e.clipboardData.getData('text')\n const currentValue = value || ''\n const cursorStart = e.currentTarget.selectionStart || 0\n const cursorEnd = e.currentTarget.selectionEnd || 0\n\n // Calculate what the new value would be after paste\n const beforeCursor = currentValue.substring(0, cursorStart)\n const afterCursor = currentValue.substring(cursorEnd)\n const potentialNewValue = beforeCursor + pastedText + afterCursor\n\n // If pasting would exceed the limit, truncate the pasted content\n if (potentialNewValue.length > maxLength) {\n // Calculate how many characters we can accept from the pasted content\n const selectedLength = cursorEnd - cursorStart\n const availableSpace = maxLength - currentValue.length + selectedLength\n const truncatedPaste = pastedText.substring(0, Math.max(0, availableSpace))\n\n // Create the truncated result\n const truncatedValue = beforeCursor + truncatedPaste + afterCursor\n\n // Call onChange with the truncated value\n onChange?.(truncatedValue)\n }\n}\n\n/**\n * Custom hook for textarea functionality with character limits and event handling\n */\nexport const useTextarea = ({ maxLength, value, onChange, onFocus, onBlur }: UseTextareaOptions): UseTextareaReturn => {\n const handleFocus = useCallback(\n (e: FocusEvent<HTMLTextAreaElement>): void => {\n onFocus?.(e)\n },\n [onFocus],\n )\n\n const handleBlur = useCallback(\n (e: FocusEvent<HTMLTextAreaElement>): void => {\n onBlur?.(e)\n },\n [onBlur],\n )\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement>): void => {\n handleTextareaChange(e, maxLength, onChange)\n },\n [maxLength, onChange],\n )\n\n const handlePaste = useCallback(\n (e: ClipboardEvent<HTMLTextAreaElement>): void => {\n handleTextareaPaste(e, maxLength, value, onChange)\n },\n [value, maxLength, onChange],\n )\n\n return {\n handleFocus,\n handleBlur,\n handleChange,\n handlePaste,\n }\n}\n"],"mappings":";;;;;;;AAoBA,MAAM,wBAAwB,GAAqC,WAAmB,aAAmD;CACvI,MAAM,WAAW,EAAE,OAAO;AAG1B,KAAI,SAAS,UAAU,UACrB,YAAW,SAAS;;;;;AAOxB,MAAM,uBAAuB,GAAwC,WAAmB,OAAe,aAA6C;CAClJ,MAAM,aAAa,EAAE,cAAc,QAAQ,OAAO;CAClD,MAAM,eAAe,SAAS;CAC9B,MAAM,cAAc,EAAE,cAAc,kBAAkB;CACtD,MAAM,YAAY,EAAE,cAAc,gBAAgB;CAGlD,MAAM,eAAe,aAAa,UAAU,GAAG,YAAY;CAC3D,MAAM,cAAc,aAAa,UAAU,UAAU;AAIrD,MAH0B,eAAe,aAAa,aAGhC,SAAS,WAAW;EAExC,MAAM,iBAAiB,YAAY;EACnC,MAAM,iBAAiB,YAAY,aAAa,SAAS;EAIzD,MAAM,iBAAiB,eAHA,WAAW,UAAU,GAAG,KAAK,IAAI,GAAG,eAAe,CAGtB,GAAG;AAGvD,aAAW,eAAe;;;;;;AAO9B,MAAa,eAAe,EAAE,WAAW,OAAO,UAAU,SAAS,aAAoD;AA6BrH,QAAO;EACL,aA7BkB,aACjB,MAA6C;AAC5C,aAAU,EAAE;KAEd,CAAC,QAAQ,CAyBE;EACX,YAvBiB,aAChB,MAA6C;AAC5C,YAAS,EAAE;KAEb,CAAC,OAAO,CAmBE;EACV,cAjBmB,aAClB,MAA8C;AAC7C,wBAAqB,GAAG,WAAW,SAAS;KAE9C,CAAC,WAAW,SAAS,CAaT;EACZ,aAXkB,aACjB,MAAiD;AAChD,uBAAoB,GAAG,WAAW,OAAO,SAAS;KAEpD;GAAC;GAAO;GAAW;GAAS,CAOjB;EACZ"}
|
package/dist/Textarea.d.ts
CHANGED
|
@@ -1,27 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { BaseFormFieldProps, FormFieldState } from "./utils/formFieldUtils.js";
|
|
3
|
+
import { ComponentProps, FocusEvent, Ref } from "react";
|
|
4
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/Textarea/Textarea.d.ts
|
|
7
|
+
type TextareaState = FormFieldState;
|
|
8
|
+
type TextareaProps = Omit<ComponentProps<'textarea'>, 'onChange'> & {
|
|
9
|
+
className?: string | undefined;
|
|
10
|
+
errorMessage?: BaseFormFieldProps['errorMessage'];
|
|
11
|
+
id?: string | undefined;
|
|
12
|
+
label: string;
|
|
13
|
+
labelClassName?: string;
|
|
14
|
+
maxLength?: number | undefined; /** Number of message lines to reserve (default: 1). */
|
|
15
|
+
messageReserveLines?: number; /** Whether to keep message space reserved when hidden (default: true). */
|
|
16
|
+
messageReserveSpace?: boolean;
|
|
17
|
+
name: string;
|
|
18
|
+
onBlur?: (e: FocusEvent<HTMLTextAreaElement>) => void;
|
|
19
|
+
onChange?: (value: string) => void;
|
|
20
|
+
onFocus?: (e: FocusEvent<HTMLTextAreaElement>) => void;
|
|
21
|
+
placeholder?: string | undefined;
|
|
22
|
+
required?: boolean;
|
|
23
|
+
state?: TextareaState;
|
|
24
|
+
value?: string | undefined;
|
|
25
|
+
warningMessage?: BaseFormFieldProps['errorMessage'];
|
|
26
26
|
};
|
|
27
|
+
declare function Textarea(allProps: TextareaProps & {
|
|
28
|
+
ref?: Ref<HTMLTextAreaElement>;
|
|
29
|
+
}): _$react_jsx_runtime0.JSX.Element;
|
|
30
|
+
declare namespace Textarea {
|
|
31
|
+
var displayName: string;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { Textarea, TextareaProps, TextareaState };
|
|
27
35
|
//# sourceMappingURL=Textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","names":[],"sources":["../src/components/Textarea/Textarea.tsx"],"mappings":";;;;;;KAQY,aAAA,GAAgB,cAAA;AAAA,KAIhB,aAAA,GAAgB,IAAA,CAAK,cAAA;EAC/B,SAAA;EACA,YAAA,GAAe,kBAAA;EACf,EAAA;EACA,KAAA;EACA,cAAA;EACA,SAAA,uBANU;EAQV,mBAAA;EAEA,mBAAA;EACA,IAAA;EACA,MAAA,IAAU,CAAA,EAAG,UAAA,CAAW,mBAAA;EACxB,QAAA,IAAY,KAAA;EACZ,OAAA,IAAW,CAAA,EAAG,UAAA,CAAW,mBAAA;EACzB,WAAA;EACA,QAAA;EACA,KAAA,GAAQ,aAAA;EACR,KAAA;EACA,cAAA,GAAiB,kBAAA;AAAA;AAAA,0BAiBjB,QAAA,EAAU,aAAA;EACR,GAAA,GAAM,GAAA,CAAI,mBAAA;AAAA,IACX,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA"}
|
package/dist/Textarea.js
CHANGED
|
@@ -1,97 +1,124 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { LoaderIcon } from "./Icons/LoaderIcon.js";
|
|
3
|
+
import { cn } from "./utils/twUtils.js";
|
|
4
|
+
import { ErrorMessage, WarningMessage } from "./FormFieldMessage.js";
|
|
5
|
+
import { getAriaProps, getErrorMessageId, getTextareaClasses, useFormFieldId, useFormFieldState } from "./utils/formFieldUtils.js";
|
|
6
|
+
import { useUncontrolledState } from "./hooks/useUncontrolledState.js";
|
|
7
|
+
import { Label } from "./Label.js";
|
|
8
|
+
import { useTextarea } from "./Textarea/TextareaUtils.js";
|
|
9
|
+
import { useRef } from "react";
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
|
|
12
12
|
//#region src/components/Textarea/Textarea.tsx
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
13
|
+
const LOADING_ICON_CLASSES = "absolute right-4 top-4";
|
|
14
|
+
const getAutoCompleteValue = (autoComplete) => {
|
|
15
|
+
if (autoComplete) return autoComplete;
|
|
16
|
+
return "off";
|
|
17
|
+
};
|
|
18
|
+
const getCounterClasses = (currentLength, maxLength) => {
|
|
19
|
+
return cn("absolute bottom-2 right-3 text-xs pointer-events-none z-10 tabular-nums", currentLength >= maxLength ? "text-danger-400" : "text-text-secondary");
|
|
20
|
+
};
|
|
21
|
+
const Textarea = (allProps) => {
|
|
22
|
+
const { ref, autoComplete, className, defaultValue, disabled, errorMessage, id, label, labelClassName, maxLength = 280, messageReserveLines = 1, messageReserveSpace = true, name, onBlur, onChange, onFocus, placeholder, required, state = "default", value: valueProp, warningMessage, ...props } = allProps;
|
|
23
|
+
const textareaId = useFormFieldId(id, name);
|
|
24
|
+
const errorMessageId = getErrorMessageId(textareaId);
|
|
25
|
+
const warningMessageId = `${textareaId}-warning`;
|
|
26
|
+
const messageId = state === "error" ? errorMessageId : state === "warning" && warningMessage ? warningMessageId : void 0;
|
|
27
|
+
const internalRef = useRef(null);
|
|
28
|
+
const textareaRef = ref ?? internalRef;
|
|
29
|
+
const [value, setValue] = useUncontrolledState({
|
|
30
|
+
value: valueProp,
|
|
31
|
+
defaultValue: typeof defaultValue === "string" ? defaultValue : defaultValue !== void 0 && defaultValue !== null ? String(defaultValue) : "",
|
|
32
|
+
onChange
|
|
33
|
+
});
|
|
34
|
+
const { handleFocus, handleBlur, handleChange, handlePaste } = useTextarea({
|
|
35
|
+
maxLength,
|
|
36
|
+
value,
|
|
37
|
+
onChange: setValue,
|
|
38
|
+
onFocus,
|
|
39
|
+
onBlur
|
|
40
|
+
});
|
|
41
|
+
const { isDisabled, isLoading } = useFormFieldState(disabled, state);
|
|
42
|
+
const ariaProps = getAriaProps(state, props["aria-describedby"], required, messageId);
|
|
43
|
+
const currentLength = value?.length || 0;
|
|
44
|
+
const textareaClasses = getTextareaClasses(state, className);
|
|
45
|
+
const getCSSCustomProperties = () => ({
|
|
46
|
+
"--textarea-min-height": "6rem",
|
|
47
|
+
"--textarea-max-height": "12rem",
|
|
48
|
+
"--textarea-border-radius": "0.5rem"
|
|
49
|
+
});
|
|
50
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
26
51
|
className: "w-full",
|
|
27
52
|
children: [
|
|
28
|
-
|
|
53
|
+
label && /* @__PURE__ */ jsx(Label, {
|
|
29
54
|
"data-testid": "spectral-textarea-label",
|
|
30
|
-
htmlFor:
|
|
31
|
-
className:
|
|
32
|
-
children:
|
|
55
|
+
htmlFor: textareaId,
|
|
56
|
+
className: cn("mb-2 block", isDisabled && "cursor-not-allowed opacity-50", labelClassName),
|
|
57
|
+
children: label
|
|
33
58
|
}),
|
|
34
|
-
/* @__PURE__ */
|
|
59
|
+
/* @__PURE__ */ jsxs("div", {
|
|
35
60
|
className: "relative",
|
|
36
61
|
children: [
|
|
37
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ jsx("textarea", {
|
|
38
63
|
"aria-multiline": "true",
|
|
39
|
-
autoComplete:
|
|
40
|
-
className:
|
|
41
|
-
"data-state":
|
|
64
|
+
autoComplete: getAutoCompleteValue(autoComplete),
|
|
65
|
+
className: textareaClasses,
|
|
66
|
+
"data-state": state,
|
|
42
67
|
"data-testid": "spectral-textarea",
|
|
43
|
-
disabled:
|
|
44
|
-
id:
|
|
45
|
-
name
|
|
46
|
-
onBlur:
|
|
47
|
-
onChange:
|
|
48
|
-
onFocus:
|
|
49
|
-
onPaste:
|
|
50
|
-
placeholder
|
|
51
|
-
ref:
|
|
52
|
-
required
|
|
68
|
+
disabled: isDisabled,
|
|
69
|
+
id: textareaId,
|
|
70
|
+
name,
|
|
71
|
+
onBlur: handleBlur,
|
|
72
|
+
onChange: handleChange,
|
|
73
|
+
onFocus: handleFocus,
|
|
74
|
+
onPaste: handlePaste,
|
|
75
|
+
placeholder,
|
|
76
|
+
ref: textareaRef,
|
|
77
|
+
required,
|
|
53
78
|
spellCheck: "true",
|
|
54
|
-
style:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
},
|
|
59
|
-
value: W,
|
|
60
|
-
...Q,
|
|
61
|
-
...L
|
|
79
|
+
style: getCSSCustomProperties(),
|
|
80
|
+
value,
|
|
81
|
+
...ariaProps,
|
|
82
|
+
...props
|
|
62
83
|
}),
|
|
63
|
-
|
|
64
|
-
className:
|
|
84
|
+
isLoading && /* @__PURE__ */ jsx("div", {
|
|
85
|
+
className: LOADING_ICON_CLASSES,
|
|
65
86
|
"data-testid": "spectral-textarea-loading-icon",
|
|
66
|
-
children: /* @__PURE__ */
|
|
87
|
+
children: /* @__PURE__ */ jsx(LoaderIcon, { size: 24 })
|
|
67
88
|
}),
|
|
68
|
-
/* @__PURE__ */
|
|
69
|
-
"aria-label":
|
|
89
|
+
/* @__PURE__ */ jsxs("div", {
|
|
90
|
+
"aria-label": currentLength + " of " + maxLength + " characters used",
|
|
70
91
|
"aria-live": "polite",
|
|
71
|
-
className:
|
|
92
|
+
className: getCounterClasses(currentLength, maxLength),
|
|
72
93
|
"data-testid": "spectral-textarea-counter",
|
|
73
94
|
role: "status",
|
|
74
95
|
children: [
|
|
75
|
-
|
|
96
|
+
currentLength,
|
|
76
97
|
"/",
|
|
77
|
-
|
|
98
|
+
maxLength
|
|
78
99
|
]
|
|
79
100
|
})
|
|
80
101
|
]
|
|
81
102
|
}),
|
|
82
|
-
/* @__PURE__ */
|
|
103
|
+
/* @__PURE__ */ jsx(ErrorMessage, {
|
|
83
104
|
dataTestId: "spectral-textarea-error-message",
|
|
84
|
-
id:
|
|
85
|
-
message:
|
|
105
|
+
id: errorMessageId,
|
|
106
|
+
message: state === "error" ? errorMessage : null,
|
|
107
|
+
messageReserveLines,
|
|
108
|
+
messageReserveSpace
|
|
86
109
|
}),
|
|
87
|
-
/* @__PURE__ */
|
|
110
|
+
/* @__PURE__ */ jsx(WarningMessage, {
|
|
88
111
|
dataTestId: "spectral-textarea-warning-message",
|
|
89
|
-
id:
|
|
90
|
-
message:
|
|
112
|
+
id: warningMessageId,
|
|
113
|
+
message: state === "warning" ? warningMessage : null,
|
|
114
|
+
messageReserveLines,
|
|
115
|
+
messageReserveSpace
|
|
91
116
|
})
|
|
92
117
|
]
|
|
93
118
|
});
|
|
94
119
|
};
|
|
95
|
-
|
|
120
|
+
Textarea.displayName = "Textarea";
|
|
121
|
+
|
|
96
122
|
//#endregion
|
|
97
|
-
export {
|
|
123
|
+
export { Textarea };
|
|
124
|
+
//# sourceMappingURL=Textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.js","names":[],"sources":["../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import { LoaderIcon } from '@components/Icons'\nimport { Label } from '@components/Label/Label'\nimport { useUncontrolledState } from '@hooks/useUncontrolledState'\nimport { ErrorMessage, getAriaProps, getErrorMessageId, getTextareaClasses, useFormFieldId, useFormFieldState, WarningMessage, type BaseFormFieldProps, type FormFieldState } from '@utils/formFieldUtils'\nimport { cn } from '@utils/twUtils'\nimport { useRef, type ComponentProps, type CSSProperties, type FocusEvent, type Ref } from 'react'\nimport { useTextarea } from './TextareaUtils'\n\nexport type TextareaState = FormFieldState\n\ntype AutoCompleteValue = 'on' | 'off' | 'name' | 'email' | 'username' | 'street-address' | (string & {})\n\nexport type TextareaProps = Omit<ComponentProps<'textarea'>, 'onChange'> & {\n className?: string | undefined\n errorMessage?: BaseFormFieldProps['errorMessage']\n id?: string | undefined\n label: string\n labelClassName?: string\n maxLength?: number | undefined\n /** Number of message lines to reserve (default: 1). */\n messageReserveLines?: number\n /** Whether to keep message space reserved when hidden (default: true). */\n messageReserveSpace?: boolean\n name: string\n onBlur?: (e: FocusEvent<HTMLTextAreaElement>) => void\n onChange?: (value: string) => void\n onFocus?: (e: FocusEvent<HTMLTextAreaElement>) => void\n placeholder?: string | undefined\n required?: boolean\n state?: TextareaState\n value?: string | undefined\n warningMessage?: BaseFormFieldProps['errorMessage']\n}\n\nconst LOADING_ICON_CLASSES = 'absolute right-4 top-4'\n\nconst getAutoCompleteValue = (autoComplete?: string): AutoCompleteValue => {\n if (autoComplete) return autoComplete\n return 'off'\n}\n\nconst getCounterClasses = (currentLength: number, maxLength: number): string => {\n const baseClasses = 'absolute bottom-2 right-3 text-xs pointer-events-none z-10 tabular-nums'\n const colorClass = currentLength >= maxLength ? 'text-danger-400' : 'text-text-secondary'\n return cn(baseClasses, colorClass)\n}\n\nexport const Textarea = (\n allProps: TextareaProps & {\n ref?: Ref<HTMLTextAreaElement>\n },\n) => {\n const {\n ref,\n autoComplete,\n className,\n defaultValue,\n disabled,\n errorMessage,\n id,\n label,\n labelClassName,\n maxLength = 280,\n messageReserveLines = 1,\n messageReserveSpace = true,\n name,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n required,\n state = 'default',\n value: valueProp,\n warningMessage,\n ...props\n } = allProps\n const textareaId = useFormFieldId(id, name)\n const errorMessageId = getErrorMessageId(textareaId)\n const warningMessageId = `${textareaId}-warning`\n const messageId = state === 'error' ? errorMessageId : state === 'warning' && warningMessage ? warningMessageId : undefined\n const internalRef = useRef<HTMLTextAreaElement>(null)\n const textareaRef = ref ?? internalRef\n const normalizedDefaultValue = typeof defaultValue === 'string' ? defaultValue : defaultValue !== undefined && defaultValue !== null ? String(defaultValue) : ''\n const [value, setValue] = useUncontrolledState<string>({\n value: valueProp,\n defaultValue: normalizedDefaultValue,\n onChange,\n })\n\n const { handleFocus, handleBlur, handleChange, handlePaste } = useTextarea({\n maxLength,\n value,\n onChange: setValue,\n onFocus,\n onBlur,\n })\n\n const { isDisabled, isLoading } = useFormFieldState(disabled, state)\n const ariaProps = getAriaProps(state, props['aria-describedby'], required, messageId)\n const currentLength = value?.length || 0\n const textareaClasses = getTextareaClasses(state, className)\n\n const getCSSCustomProperties = () => ({\n '--textarea-min-height': '6rem',\n '--textarea-max-height': '12rem',\n '--textarea-border-radius': '0.5rem',\n })\n\n return (\n <div className='w-full'>\n {label && (\n <Label data-testid='spectral-textarea-label' htmlFor={textareaId} className={cn('mb-2 block', isDisabled && 'cursor-not-allowed opacity-50', labelClassName)}>\n {label}\n </Label>\n )}\n <div className='relative'>\n <textarea\n aria-multiline='true'\n autoComplete={getAutoCompleteValue(autoComplete)}\n className={textareaClasses}\n data-state={state}\n data-testid='spectral-textarea'\n disabled={isDisabled}\n id={textareaId}\n name={name}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n onPaste={handlePaste}\n placeholder={placeholder}\n ref={textareaRef}\n required={required}\n spellCheck='true'\n style={getCSSCustomProperties() as CSSProperties}\n value={value}\n {...ariaProps}\n {...props}\n />\n\n {isLoading && (\n <div className={LOADING_ICON_CLASSES} data-testid='spectral-textarea-loading-icon'>\n <LoaderIcon size={24} />\n </div>\n )}\n\n <div\n // oxlint will throw an error when passing ternaries in for aria-label\n aria-label={currentLength + ' of ' + maxLength + ' characters used'}\n aria-live='polite'\n className={getCounterClasses(currentLength, maxLength)}\n data-testid='spectral-textarea-counter'\n role='status'\n >\n {currentLength}/{maxLength}\n </div>\n </div>\n\n <ErrorMessage dataTestId='spectral-textarea-error-message' id={errorMessageId} message={state === 'error' ? errorMessage : null} messageReserveLines={messageReserveLines} messageReserveSpace={messageReserveSpace} />\n <WarningMessage dataTestId='spectral-textarea-warning-message' id={warningMessageId} message={state === 'warning' ? warningMessage : null} messageReserveLines={messageReserveLines} messageReserveSpace={messageReserveSpace} />\n </div>\n )\n}\nTextarea.displayName = 'Textarea'\n"],"mappings":";;;;;;;;;;;;AAkCA,MAAM,uBAAuB;AAE7B,MAAM,wBAAwB,iBAA6C;AACzE,KAAI,aAAc,QAAO;AACzB,QAAO;;AAGT,MAAM,qBAAqB,eAAuB,cAA8B;AAG9E,QAAO,GAAG,2EADS,iBAAiB,YAAY,oBAAoB,sBAClC;;AAGpC,MAAa,YACX,aAGG;CACH,MAAM,EACJ,KACA,cACA,WACA,cACA,UACA,cACA,IACA,OACA,gBACA,YAAY,KACZ,sBAAsB,GACtB,sBAAsB,MACtB,MACA,QACA,UACA,SACA,aACA,UACA,QAAQ,WACR,OAAO,WACP,gBACA,GAAG,UACD;CACJ,MAAM,aAAa,eAAe,IAAI,KAAK;CAC3C,MAAM,iBAAiB,kBAAkB,WAAW;CACpD,MAAM,mBAAmB,GAAG,WAAW;CACvC,MAAM,YAAY,UAAU,UAAU,iBAAiB,UAAU,aAAa,iBAAiB,mBAAmB;CAClH,MAAM,cAAc,OAA4B,KAAK;CACrD,MAAM,cAAc,OAAO;CAE3B,MAAM,CAAC,OAAO,YAAY,qBAA6B;EACrD,OAAO;EACP,cAH6B,OAAO,iBAAiB,WAAW,eAAe,iBAAiB,UAAa,iBAAiB,OAAO,OAAO,aAAa,GAAG;EAI5J;EACD,CAAC;CAEF,MAAM,EAAE,aAAa,YAAY,cAAc,gBAAgB,YAAY;EACzE;EACA;EACA,UAAU;EACV;EACA;EACD,CAAC;CAEF,MAAM,EAAE,YAAY,cAAc,kBAAkB,UAAU,MAAM;CACpE,MAAM,YAAY,aAAa,OAAO,MAAM,qBAAqB,UAAU,UAAU;CACrF,MAAM,gBAAgB,OAAO,UAAU;CACvC,MAAM,kBAAkB,mBAAmB,OAAO,UAAU;CAE5D,MAAM,gCAAgC;EACpC,yBAAyB;EACzB,yBAAyB;EACzB,4BAA4B;EAC7B;AAED,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf;GACG,SACC,oBAAC,OAAD;IAAO,eAAY;IAA0B,SAAS;IAAY,WAAW,GAAG,cAAc,cAAc,iCAAiC,eAAe;cACzJ;IACK;GAEV,qBAAC,OAAD;IAAK,WAAU;cAAf;KACE,oBAAC,YAAD;MACE,kBAAe;MACf,cAAc,qBAAqB,aAAa;MAChD,WAAW;MACX,cAAY;MACZ,eAAY;MACZ,UAAU;MACV,IAAI;MACE;MACN,QAAQ;MACR,UAAU;MACV,SAAS;MACT,SAAS;MACI;MACb,KAAK;MACK;MACV,YAAW;MACX,OAAO,wBAAwB;MACxB;MACP,GAAI;MACJ,GAAI;MACJ;KAED,aACC,oBAAC,OAAD;MAAK,WAAW;MAAsB,eAAY;gBAChD,oBAAC,YAAD,EAAY,MAAM,IAAM;MACpB;KAGR,qBAAC,OAAD;MAEE,cAAY,gBAAgB,SAAS,YAAY;MACjD,aAAU;MACV,WAAW,kBAAkB,eAAe,UAAU;MACtD,eAAY;MACZ,MAAK;gBANP;OAQG;OAAc;OAAE;OACb;;KACF;;GAEN,oBAAC,cAAD;IAAc,YAAW;IAAkC,IAAI;IAAgB,SAAS,UAAU,UAAU,eAAe;IAA2B;IAA0C;IAAuB;GACvN,oBAAC,gBAAD;IAAgB,YAAW;IAAoC,IAAI;IAAkB,SAAS,UAAU,YAAY,iBAAiB;IAA2B;IAA0C;IAAuB;GAC7N;;;AAGV,SAAS,cAAc"}
|
package/dist/Toast.d.ts
CHANGED
|
@@ -1,43 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
import { ReactNode } from
|
|
3
|
-
import
|
|
1
|
+
'use client';
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
import { VariantProps } from "class-variance-authority";
|
|
5
|
+
import { ToasterProps as ToasterProps$1 } from "sonner";
|
|
6
|
+
import * as _$class_variance_authority_types0 from "class-variance-authority/types";
|
|
7
|
+
|
|
8
|
+
//#region src/components/Toast/Toast.d.ts
|
|
4
9
|
type ToastVariant = 'default' | 'success' | 'error' | 'info' | 'warning';
|
|
5
10
|
type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
interface ToastProps extends VariantProps<typeof toastVariants> {
|
|
12
|
+
className?: string;
|
|
13
|
+
containerAriaLabel?: string;
|
|
14
|
+
dataTestId?: string;
|
|
15
|
+
message?: string | ReactNode;
|
|
16
|
+
duration?: number;
|
|
17
|
+
icon?: ReactNode;
|
|
18
|
+
id?: string | number;
|
|
19
|
+
onAutoClose?: () => void;
|
|
20
|
+
position?: ToastPosition;
|
|
21
|
+
variant?: ToastVariant;
|
|
17
22
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
interface ToasterProps extends Omit<ToasterProps$1, 'toastOptions'> {
|
|
24
|
+
gap?: number;
|
|
25
|
+
offset?: number | string;
|
|
26
|
+
position?: ToastPosition;
|
|
27
|
+
visibleToasts?: number;
|
|
23
28
|
}
|
|
24
29
|
declare const toastVariants: (props?: ({
|
|
25
|
-
|
|
26
|
-
} &
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
variant?: "default" | "error" | "info" | "success" | "warning" | null | undefined;
|
|
31
|
+
} & _$class_variance_authority_types0.ClassProp) | undefined) => string;
|
|
32
|
+
declare const Toast: {
|
|
33
|
+
({
|
|
34
|
+
className,
|
|
35
|
+
containerAriaLabel,
|
|
36
|
+
dataTestId,
|
|
37
|
+
icon,
|
|
38
|
+
message,
|
|
39
|
+
variant
|
|
40
|
+
}: ToastProps): _$react_jsx_runtime0.JSX.Element;
|
|
41
|
+
displayName: string;
|
|
30
42
|
} & {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
43
|
+
Provider: {
|
|
44
|
+
({
|
|
45
|
+
gap,
|
|
46
|
+
offset,
|
|
47
|
+
position,
|
|
48
|
+
visibleToasts,
|
|
49
|
+
...props
|
|
50
|
+
}: ToasterProps): _$react_jsx_runtime0.JSX.Element;
|
|
51
|
+
displayName: string;
|
|
52
|
+
};
|
|
35
53
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
54
|
+
declare const toast: (({
|
|
55
|
+
className,
|
|
56
|
+
containerAriaLabel,
|
|
57
|
+
dataTestId,
|
|
58
|
+
duration,
|
|
59
|
+
icon,
|
|
60
|
+
message,
|
|
61
|
+
onAutoClose,
|
|
62
|
+
position,
|
|
63
|
+
variant
|
|
64
|
+
}: ToastProps) => string | number) & {
|
|
65
|
+
success: (options: Omit<ToastProps, 'variant'>) => string | number;
|
|
66
|
+
error: (options: Omit<ToastProps, 'variant'>) => string | number;
|
|
67
|
+
info: (options: Omit<ToastProps, 'variant'>) => string | number;
|
|
68
|
+
warning: (options: Omit<ToastProps, 'variant'>) => string | number;
|
|
41
69
|
};
|
|
42
|
-
|
|
70
|
+
//#endregion
|
|
71
|
+
export { Toast, ToastProps, ToasterProps, toast };
|
|
43
72
|
//# sourceMappingURL=Toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","names":[],"sources":["../src/components/Toast/Toast.tsx"],"mappings":";;;;;;;;KAMK,YAAA;AAAA,KACA,aAAA;AAAA,UAEY,UAAA,SAAmB,YAAA,QAAoB,aAAA;EACtD,SAAA;EACA,kBAAA;EACA,UAAA;EACA,OAAA,YAAmB,SAAA;EACnB,QAAA;EACA,IAAA,GAAO,SAAA;EACP,EAAA;EACA,WAAA;EACA,QAAA,GAAW,aAAA;EACX,OAAA,GAAU,YAAA;AAAA;AAAA,UAGK,YAAA,SAAqB,IAAA,CAAK,cAAA;EACzC,GAAA;EACA,MAAA;EACA,QAAA,GAAW,aAAA;EACX,aAAA;AAAA;AAAA,cAGI,aAAA,GAAa,KAAA;;IAajB,iCAAA,CAAA,SAAA;AAAA,cAuEW,KAAA;EAAA;;;;;;;KA3B+G,UAAA,GAAU,oBAAA,CAAA,GAAA,CAAA,OAAA;;;;;;;;;;OAnB5B,YAAA,GAAY,oBAAA,CAAA,GAAA,CAAA,OAAA;;;;cAkDzG,KAAA;EAAK,SAAA;EAAA,kBAAA;EAAA,UAAA;EAAA,QAAA;EAAA,IAAA;EAAA,OAAA;EAAA,WAAA;EAAA,QAAA;EAAA;AAAA,GAZ4H,UAAA;qBAazH,IAAA,CAAK,UAAA;mBACP,IAAA,CAAK,UAAA;kBACN,IAAA,CAAK,UAAA;qBACF,IAAA,CAAK,UAAA;AAAA"}
|
package/dist/Toast.js
CHANGED
|
@@ -1,3 +1,115 @@
|
|
|
1
|
-
'use client'
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { CheckSquareIcon } from "./Icons/CheckSquareIcon.js";
|
|
3
|
+
import { CloseCircleIcon } from "./Icons/CloseCircleIcon.js";
|
|
4
|
+
import { InfoIcon } from "./Icons/InfoIcon.js";
|
|
5
|
+
import { WarningIcon } from "./Icons/WarningIcon.js";
|
|
6
|
+
import { cn } from "./utils/twUtils.js";
|
|
7
|
+
import "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { cva } from "class-variance-authority";
|
|
10
|
+
import { Toaster, toast as toast$1 } from "sonner";
|
|
11
|
+
|
|
12
|
+
//#region src/components/Toast/Toast.tsx
|
|
13
|
+
const toastVariants = cva("rounded-md px-4 py-3 text-sm gap-3 shadow-lg flex max-w-[420px] min-w-[300px] items-start border", {
|
|
14
|
+
variants: { variant: {
|
|
15
|
+
default: "border-toast-border bg-toast-bg text-toast-text",
|
|
16
|
+
success: "border-toast-success-border bg-toast-success-bg text-toast-success-text",
|
|
17
|
+
error: "border-toast-danger-border bg-toast-danger-bg text-toast-danger-text",
|
|
18
|
+
info: "border-toast-info-border bg-toast-info-bg text-toast-info-text",
|
|
19
|
+
warning: "border-toast-warning-border bg-toast-warning-bg text-toast-warning-text"
|
|
20
|
+
} },
|
|
21
|
+
defaultVariants: { variant: "default" }
|
|
22
|
+
});
|
|
23
|
+
const messageVariants = cva("mt-1 text-sm opacity-90", {
|
|
24
|
+
variants: { variant: {
|
|
25
|
+
default: "text-toast-text",
|
|
26
|
+
success: "text-toast-success-text",
|
|
27
|
+
error: "text-toast-danger-text",
|
|
28
|
+
info: "text-toast-info-text",
|
|
29
|
+
warning: "text-toast-warning-text"
|
|
30
|
+
} },
|
|
31
|
+
defaultVariants: { variant: "default" }
|
|
32
|
+
});
|
|
33
|
+
const variantIcons = {
|
|
34
|
+
default: null,
|
|
35
|
+
success: /* @__PURE__ */ jsx(CheckSquareIcon, { className: "size-5 shrink-0 text-toast-success-icon" }),
|
|
36
|
+
info: /* @__PURE__ */ jsx(InfoIcon, { className: "size-5 shrink-0 text-toast-info-icon" }),
|
|
37
|
+
warning: /* @__PURE__ */ jsx(WarningIcon, { className: "size-5 shrink-0 text-toast-warning-icon" }),
|
|
38
|
+
error: /* @__PURE__ */ jsx(CloseCircleIcon, { className: "size-5 shrink-0 text-toast-danger-icon" })
|
|
39
|
+
};
|
|
40
|
+
const ToastProvider = ({ gap = 14, offset = 32, position = "bottom-right", visibleToasts = 3, ...props }) => {
|
|
41
|
+
return /* @__PURE__ */ jsx(Toaster, {
|
|
42
|
+
position,
|
|
43
|
+
visibleToasts,
|
|
44
|
+
offset,
|
|
45
|
+
gap,
|
|
46
|
+
toastOptions: {
|
|
47
|
+
unstyled: true,
|
|
48
|
+
classNames: { toast: "spectral-toast" }
|
|
49
|
+
},
|
|
50
|
+
...props
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
ToastProvider.displayName = "Toast.Provider";
|
|
54
|
+
const ToastComponent = ({ className, containerAriaLabel = "Notification", dataTestId, icon, message, variant = "default" }) => {
|
|
55
|
+
const resolvedVariant = variant ?? "default";
|
|
56
|
+
const displayIcon = icon ?? variantIcons[resolvedVariant];
|
|
57
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
58
|
+
"aria-label": containerAriaLabel,
|
|
59
|
+
className: cn(toastVariants({ variant: resolvedVariant }), className),
|
|
60
|
+
"data-variant": resolvedVariant,
|
|
61
|
+
"data-testid": dataTestId ?? `spectral-toast-${resolvedVariant}`,
|
|
62
|
+
role: "status",
|
|
63
|
+
"aria-live": "polite",
|
|
64
|
+
children: [displayIcon && /* @__PURE__ */ jsx("div", {
|
|
65
|
+
className: "mt-0.5",
|
|
66
|
+
"aria-hidden": "true",
|
|
67
|
+
children: displayIcon
|
|
68
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
69
|
+
className: "flex flex-col",
|
|
70
|
+
children: /* @__PURE__ */ jsx("p", {
|
|
71
|
+
className: messageVariants({ variant: resolvedVariant }),
|
|
72
|
+
children: message
|
|
73
|
+
})
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
ToastComponent.displayName = "Toast";
|
|
78
|
+
const showToast = ({ className, containerAriaLabel, dataTestId, duration = 4e3, icon, message, onAutoClose, position, variant = "default" }) => {
|
|
79
|
+
return toast$1.custom((id) => /* @__PURE__ */ jsx(ToastComponent, {
|
|
80
|
+
className,
|
|
81
|
+
containerAriaLabel,
|
|
82
|
+
dataTestId,
|
|
83
|
+
icon,
|
|
84
|
+
id,
|
|
85
|
+
message,
|
|
86
|
+
variant
|
|
87
|
+
}), {
|
|
88
|
+
duration,
|
|
89
|
+
onAutoClose,
|
|
90
|
+
position
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
const Toast = Object.assign(ToastComponent, { Provider: ToastProvider });
|
|
94
|
+
const toast = Object.assign(showToast, {
|
|
95
|
+
success: (options) => showToast({
|
|
96
|
+
...options,
|
|
97
|
+
variant: "success"
|
|
98
|
+
}),
|
|
99
|
+
error: (options) => showToast({
|
|
100
|
+
...options,
|
|
101
|
+
variant: "error"
|
|
102
|
+
}),
|
|
103
|
+
info: (options) => showToast({
|
|
104
|
+
...options,
|
|
105
|
+
variant: "info"
|
|
106
|
+
}),
|
|
107
|
+
warning: (options) => showToast({
|
|
108
|
+
...options,
|
|
109
|
+
variant: "warning"
|
|
110
|
+
})
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
//#endregion
|
|
114
|
+
export { Toast, toast };
|
|
115
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.js","names":["SonnerToaster","sonnerToast"],"sources":["../src/components/Toast/Toast.tsx"],"sourcesContent":["import { CheckSquareIcon, CloseCircleIcon, InfoIcon, WarningIcon } from '@components/Icons'\nimport { cn } from '@utils/twUtils'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { type ReactNode } from 'react'\nimport { toast as sonnerToast, Toaster as SonnerToaster, type ToasterProps as SonnerToasterProps } from 'sonner'\n\ntype ToastVariant = 'default' | 'success' | 'error' | 'info' | 'warning'\ntype ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'\n\nexport interface ToastProps extends VariantProps<typeof toastVariants> {\n className?: string\n containerAriaLabel?: string\n dataTestId?: string\n message?: string | ReactNode\n duration?: number\n icon?: ReactNode\n id?: string | number\n onAutoClose?: () => void\n position?: ToastPosition\n variant?: ToastVariant\n}\n\nexport interface ToasterProps extends Omit<SonnerToasterProps, 'toastOptions'> {\n gap?: number\n offset?: number | string\n position?: ToastPosition\n visibleToasts?: number\n}\n\nconst toastVariants = cva('rounded-md px-4 py-3 text-sm gap-3 shadow-lg flex max-w-[420px] min-w-[300px] items-start border', {\n variants: {\n variant: {\n default: 'border-toast-border bg-toast-bg text-toast-text',\n success: 'border-toast-success-border bg-toast-success-bg text-toast-success-text',\n error: 'border-toast-danger-border bg-toast-danger-bg text-toast-danger-text',\n info: 'border-toast-info-border bg-toast-info-bg text-toast-info-text',\n warning: 'border-toast-warning-border bg-toast-warning-bg text-toast-warning-text',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n})\n\nconst messageVariants = cva('mt-1 text-sm opacity-90', {\n variants: {\n variant: {\n default: 'text-toast-text',\n success: 'text-toast-success-text',\n error: 'text-toast-danger-text',\n info: 'text-toast-info-text',\n warning: 'text-toast-warning-text',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n})\n\nconst variantIcons: Record<ToastVariant, ReactNode> = {\n default: null,\n success: <CheckSquareIcon className='size-5 shrink-0 text-toast-success-icon' />,\n info: <InfoIcon className='size-5 shrink-0 text-toast-info-icon' />,\n warning: <WarningIcon className='size-5 shrink-0 text-toast-warning-icon' />,\n error: <CloseCircleIcon className='size-5 shrink-0 text-toast-danger-icon' />,\n}\n\nconst ToastProvider = ({ gap = 14, offset = 32, position = 'bottom-right', visibleToasts = 3, ...props }: ToasterProps) => {\n return (\n <SonnerToaster\n position={position}\n visibleToasts={visibleToasts}\n offset={offset}\n gap={gap}\n toastOptions={{\n unstyled: true,\n classNames: {\n toast: 'spectral-toast',\n },\n }}\n {...props}\n />\n )\n}\nToastProvider.displayName = 'Toast.Provider'\n\nconst ToastComponent = ({ className, containerAriaLabel = 'Notification', dataTestId, icon, message, variant = 'default' }: ToastProps) => {\n const resolvedVariant = variant ?? 'default'\n const displayIcon = icon ?? variantIcons[resolvedVariant]\n\n return (\n <div aria-label={containerAriaLabel} className={cn(toastVariants({ variant: resolvedVariant }), className)} data-variant={resolvedVariant} data-testid={dataTestId ?? `spectral-toast-${resolvedVariant}`} role='status' aria-live='polite'>\n {displayIcon && (\n <div className='mt-0.5' aria-hidden='true'>\n {displayIcon}\n </div>\n )}\n <div className='flex flex-col'>\n <p className={messageVariants({ variant: resolvedVariant })}>{message}</p>\n </div>\n </div>\n )\n}\nToastComponent.displayName = 'Toast'\n\nconst showToast = ({ className, containerAriaLabel, dataTestId, duration = 4000, icon, message, onAutoClose, position, variant = 'default' }: ToastProps) => {\n return sonnerToast.custom((id) => <ToastComponent className={className} containerAriaLabel={containerAriaLabel} dataTestId={dataTestId} icon={icon} id={id} message={message} variant={variant} />, {\n duration,\n onAutoClose,\n position,\n })\n}\n\nexport const Toast = Object.assign(ToastComponent, {\n Provider: ToastProvider,\n})\n\nexport const toast = Object.assign(showToast, {\n success: (options: Omit<ToastProps, 'variant'>) => showToast({ ...options, variant: 'success' }),\n error: (options: Omit<ToastProps, 'variant'>) => showToast({ ...options, variant: 'error' }),\n info: (options: Omit<ToastProps, 'variant'>) => showToast({ ...options, variant: 'info' }),\n warning: (options: Omit<ToastProps, 'variant'>) => showToast({ ...options, variant: 'warning' }),\n})\n"],"mappings":";;;;;;;;;;;;AA6BA,MAAM,gBAAgB,IAAI,oGAAoG;CAC5H,UAAU,EACR,SAAS;EACP,SAAS;EACT,SAAS;EACT,OAAO;EACP,MAAM;EACN,SAAS;EACV,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CAAC;AAEF,MAAM,kBAAkB,IAAI,2BAA2B;CACrD,UAAU,EACR,SAAS;EACP,SAAS;EACT,SAAS;EACT,OAAO;EACP,MAAM;EACN,SAAS;EACV,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CAAC;AAEF,MAAM,eAAgD;CACpD,SAAS;CACT,SAAS,oBAAC,iBAAD,EAAiB,WAAU,2CAA4C;CAChF,MAAM,oBAAC,UAAD,EAAU,WAAU,wCAAyC;CACnE,SAAS,oBAAC,aAAD,EAAa,WAAU,2CAA4C;CAC5E,OAAO,oBAAC,iBAAD,EAAiB,WAAU,0CAA2C;CAC9E;AAED,MAAM,iBAAiB,EAAE,MAAM,IAAI,SAAS,IAAI,WAAW,gBAAgB,gBAAgB,GAAG,GAAG,YAA0B;AACzH,QACE,oBAACA,SAAD;EACY;EACK;EACP;EACH;EACL,cAAc;GACZ,UAAU;GACV,YAAY,EACV,OAAO,kBACR;GACF;EACD,GAAI;EACJ;;AAGN,cAAc,cAAc;AAE5B,MAAM,kBAAkB,EAAE,WAAW,qBAAqB,gBAAgB,YAAY,MAAM,SAAS,UAAU,gBAA4B;CACzI,MAAM,kBAAkB,WAAW;CACnC,MAAM,cAAc,QAAQ,aAAa;AAEzC,QACE,qBAAC,OAAD;EAAK,cAAY;EAAoB,WAAW,GAAG,cAAc,EAAE,SAAS,iBAAiB,CAAC,EAAE,UAAU;EAAE,gBAAc;EAAiB,eAAa,cAAc,kBAAkB;EAAmB,MAAK;EAAS,aAAU;YAAnO,CACG,eACC,oBAAC,OAAD;GAAK,WAAU;GAAS,eAAY;aACjC;GACG,GAER,oBAAC,OAAD;GAAK,WAAU;aACb,oBAAC,KAAD;IAAG,WAAW,gBAAgB,EAAE,SAAS,iBAAiB,CAAC;cAAG;IAAY;GACtE,EACF;;;AAGV,eAAe,cAAc;AAE7B,MAAM,aAAa,EAAE,WAAW,oBAAoB,YAAY,WAAW,KAAM,MAAM,SAAS,aAAa,UAAU,UAAU,gBAA4B;AAC3J,QAAOC,QAAY,QAAQ,OAAO,oBAAC,gBAAD;EAA2B;EAA+B;EAAgC;EAAkB;EAAU;EAAa;EAAkB;EAAW,GAAE;EAClM;EACA;EACA;EACD,CAAC;;AAGJ,MAAa,QAAQ,OAAO,OAAO,gBAAgB,EACjD,UAAU,eACX,CAAC;AAEF,MAAa,QAAQ,OAAO,OAAO,WAAW;CAC5C,UAAU,YAAyC,UAAU;EAAE,GAAG;EAAS,SAAS;EAAW,CAAC;CAChG,QAAQ,YAAyC,UAAU;EAAE,GAAG;EAAS,SAAS;EAAS,CAAC;CAC5F,OAAO,YAAyC,UAAU;EAAE,GAAG;EAAS,SAAS;EAAQ,CAAC;CAC1F,UAAU,YAAyC,UAAU;EAAE,GAAG;EAAS,SAAS;EAAW,CAAC;CACjG,CAAC"}
|