@povio/ui 0.0.4 → 0.0.6
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/assets/icons/AlignCenter.d.ts +2 -0
- package/dist/assets/icons/AlignCenter.js +21 -0
- package/dist/assets/icons/AlignLeft.d.ts +2 -0
- package/dist/assets/icons/AlignLeft.js +21 -0
- package/dist/assets/icons/AlignLeftRight.d.ts +2 -0
- package/dist/assets/icons/AlignLeftRight.js +21 -0
- package/dist/assets/icons/AlignRight.d.ts +2 -0
- package/dist/assets/icons/AlignRight.js +21 -0
- package/dist/assets/icons/ArrowDropDown.d.ts +2 -0
- package/dist/assets/icons/ArrowDropDown.js +21 -0
- package/dist/assets/icons/ArrowDropUp.d.ts +2 -0
- package/dist/assets/icons/ArrowDropUp.js +21 -0
- package/dist/assets/icons/ArrowLeft.d.ts +2 -0
- package/dist/assets/icons/ArrowLeft.js +21 -0
- package/dist/assets/icons/ArrowRight.d.ts +2 -0
- package/dist/assets/icons/ArrowRight.js +21 -0
- package/dist/assets/icons/Bold.d.ts +2 -0
- package/dist/assets/icons/Bold.js +21 -0
- package/dist/assets/icons/BulletedList.d.ts +2 -0
- package/dist/assets/icons/BulletedList.js +21 -0
- package/dist/assets/icons/Calendar.d.ts +2 -0
- package/dist/assets/icons/Calendar.js +23 -0
- package/dist/assets/icons/Check.d.ts +2 -0
- package/dist/assets/icons/Check.js +23 -0
- package/dist/assets/icons/CheckCircle.d.ts +2 -0
- package/dist/assets/icons/CheckCircle.js +21 -0
- package/dist/assets/icons/CheckboxCheckmark.d.ts +2 -0
- package/dist/assets/icons/CheckboxCheckmark.js +24 -0
- package/dist/assets/icons/CheckboxIndeterminate.d.ts +2 -0
- package/dist/assets/icons/CheckboxIndeterminate.js +24 -0
- package/dist/assets/icons/ChevronDown.d.ts +2 -0
- package/dist/assets/icons/ChevronDown.js +23 -0
- package/dist/assets/icons/ChevronLeft.d.ts +2 -0
- package/dist/assets/icons/ChevronLeft.js +23 -0
- package/dist/assets/icons/ChevronRight.d.ts +2 -0
- package/dist/assets/icons/ChevronRight.js +23 -0
- package/dist/assets/icons/ChevronUp.d.ts +2 -0
- package/dist/assets/icons/ChevronUp.js +23 -0
- package/dist/assets/icons/ChevronsLeft.d.ts +2 -0
- package/dist/assets/icons/ChevronsLeft.js +34 -0
- package/dist/assets/icons/ChevronsRight.d.ts +2 -0
- package/dist/assets/icons/ChevronsRight.js +34 -0
- package/dist/assets/icons/Clock.d.ts +2 -0
- package/dist/assets/icons/Clock.js +21 -0
- package/dist/assets/icons/Close.d.ts +2 -0
- package/dist/assets/icons/Close.js +21 -0
- package/dist/assets/icons/DateTime.d.ts +2 -0
- package/dist/assets/icons/DateTime.js +25 -0
- package/dist/assets/icons/Drag.d.ts +2 -0
- package/dist/assets/icons/Drag.js +21 -0
- package/dist/assets/icons/File.d.ts +2 -0
- package/dist/assets/icons/File.js +23 -0
- package/dist/assets/icons/Highlight.d.ts +2 -0
- package/dist/assets/icons/Highlight.js +21 -0
- package/dist/assets/icons/HighlightOn.d.ts +6 -0
- package/dist/assets/icons/HighlightOn.js +30 -0
- package/dist/assets/icons/Info.d.ts +2 -0
- package/dist/assets/icons/Info.js +34 -0
- package/dist/assets/icons/Italic.d.ts +2 -0
- package/dist/assets/icons/Italic.js +21 -0
- package/dist/assets/icons/Link.d.ts +2 -0
- package/dist/assets/icons/Link.js +21 -0
- package/dist/assets/icons/Menu.d.ts +2 -0
- package/dist/assets/icons/Menu.js +23 -0
- package/dist/assets/icons/NumberedList.d.ts +2 -0
- package/dist/assets/icons/NumberedList.js +21 -0
- package/dist/assets/icons/PointerHorizontal.d.ts +2 -0
- package/dist/assets/icons/PointerHorizontal.js +21 -0
- package/dist/assets/icons/PointerVertical.d.ts +2 -0
- package/dist/assets/icons/PointerVertical.js +21 -0
- package/dist/assets/icons/Send.d.ts +2 -0
- package/dist/assets/icons/Send.js +23 -0
- package/dist/assets/icons/Strikethrough.d.ts +2 -0
- package/dist/assets/icons/Strikethrough.js +21 -0
- package/dist/assets/icons/TextColor.d.ts +6 -0
- package/dist/assets/icons/TextColor.js +30 -0
- package/dist/assets/icons/Today.d.ts +2 -0
- package/dist/assets/icons/Today.js +21 -0
- package/dist/assets/icons/Underlined.d.ts +2 -0
- package/dist/assets/icons/Underlined.js +23 -0
- package/dist/assets/icons/Upload.d.ts +2 -0
- package/dist/assets/icons/Upload.js +30 -0
- package/dist/assets/icons/View.d.ts +2 -0
- package/dist/assets/icons/View.js +18 -0
- package/dist/assets/icons/ViewOff.d.ts +2 -0
- package/dist/assets/icons/ViewOff.js +18 -0
- package/dist/assets/icons/Warningfilled.d.ts +2 -0
- package/dist/assets/icons/Warningfilled.js +23 -0
- package/dist/assets/locales/en/translation.json.js +14 -0
- package/dist/assets/locales/sl/translation.json.js +14 -0
- package/dist/components/Menu/Menu.d.ts +14 -0
- package/dist/components/Menu/Menu.js +14 -0
- package/dist/components/Menu/MenuDesktop.d.ts +2 -0
- package/{src/components/Menu/MenuDesktop.tsx → dist/components/Menu/MenuDesktop.js} +31 -31
- package/dist/components/Menu/MenuItem.d.ts +5 -0
- package/{src/components/Menu/MenuItem.tsx → dist/components/Menu/MenuItem.js} +22 -22
- package/dist/components/Menu/MenuMobile.d.ts +2 -0
- package/dist/components/Menu/MenuMobile.js +78 -0
- package/dist/components/Menu/MenuPopover.d.ts +5 -0
- package/dist/components/Menu/MenuPopover.js +38 -0
- package/dist/components/buttons/Button/Button.d.ts +27 -0
- package/dist/components/buttons/Button/Button.js +68 -0
- package/dist/components/buttons/Button/button.cva.d.ts +30 -0
- package/{src/components/buttons/Button/button.cva.ts → dist/components/buttons/Button/button.cva.js} +124 -130
- package/dist/components/buttons/IconButton/IconButton.d.ts +10 -0
- package/dist/components/buttons/IconButton/IconButton.js +17 -0
- package/dist/components/buttons/InlineIconButton/InlineIconButton.d.ts +11 -0
- package/dist/components/buttons/InlineIconButton/InlineIconButton.js +18 -0
- package/dist/components/buttons/PillButton/PillButton.d.ts +11 -0
- package/dist/components/buttons/PillButton/PillButton.js +44 -0
- package/dist/components/buttons/PillButton/pillButton.cva.d.ts +14 -0
- package/{src/components/buttons/PillButton/pillButton.cva.ts → dist/components/buttons/PillButton/pillButton.cva.js} +30 -32
- package/dist/components/buttons/SplitButton/SplitButton.d.ts +10 -0
- package/dist/components/buttons/SplitButton/SplitButton.js +62 -0
- package/dist/components/buttons/TextButton/TextButton.d.ts +11 -0
- package/dist/components/buttons/TextButton/TextButton.js +18 -0
- package/dist/components/buttons/ToggleButton/ToggleButton.d.ts +9 -0
- package/dist/components/buttons/ToggleButton/ToggleButton.js +21 -0
- package/dist/components/buttons/shared/ButtonContent.d.ts +16 -0
- package/dist/components/buttons/shared/ButtonContent.js +53 -0
- package/dist/components/buttons/shared/buttonContent.cva.d.ts +6 -0
- package/dist/components/buttons/shared/buttonContent.cva.js +16 -0
- package/dist/components/inputs/Checkbox/Checkbox.d.ts +17 -0
- package/dist/components/inputs/Checkbox/Checkbox.js +81 -0
- package/dist/components/inputs/Checkbox/CheckboxCheckmark.d.ts +9 -0
- package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +49 -0
- package/dist/components/inputs/Checkbox/checkbox.cva.d.ts +11 -0
- package/{src/components/inputs/Checkbox/checkbox.cva.ts → dist/components/inputs/Checkbox/checkbox.cva.js} +19 -23
- package/dist/components/inputs/DateTime/DatePicker/DatePicker.d.ts +24 -0
- package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +234 -0
- package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.d.ts +32 -0
- package/{src/components/inputs/DateTime/DateRangePicker/DateRangePicker.tsx → dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js} +237 -377
- package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.d.ts +22 -0
- package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +248 -0
- package/dist/components/inputs/DateTime/TimePicker/TimePicker.d.ts +20 -0
- package/dist/components/inputs/DateTime/TimePicker/TimePicker.js +224 -0
- package/dist/components/inputs/DateTime/shared/Calendar.d.ts +20 -0
- package/dist/components/inputs/DateTime/shared/Calendar.js +85 -0
- package/dist/components/inputs/DateTime/shared/CalendarCell.d.ts +20 -0
- package/{src/components/inputs/DateTime/shared/CalendarCell.tsx → dist/components/inputs/DateTime/shared/CalendarCell.js} +49 -136
- package/dist/components/inputs/DateTime/shared/CalendarGrid.d.ts +25 -0
- package/dist/components/inputs/DateTime/shared/CalendarGrid.js +67 -0
- package/dist/components/inputs/DateTime/shared/CalendarHeader.d.ts +16 -0
- package/dist/components/inputs/DateTime/shared/CalendarHeader.js +89 -0
- package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.d.ts +17 -0
- package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +203 -0
- package/dist/components/inputs/DateTime/shared/DateField.d.ts +12 -0
- package/dist/components/inputs/DateTime/shared/DateField.js +62 -0
- package/dist/components/inputs/DateTime/shared/DatePickerInput.d.ts +20 -0
- package/dist/components/inputs/DateTime/shared/DatePickerInput.js +163 -0
- package/dist/components/inputs/DateTime/shared/DateSegmentItem.d.ts +11 -0
- package/dist/components/inputs/DateTime/shared/DateSegmentItem.js +54 -0
- package/dist/components/inputs/DateTime/shared/DateTimeDialog.d.ts +15 -0
- package/dist/components/inputs/DateTime/shared/DateTimeDialog.js +76 -0
- package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.d.ts +7 -0
- package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +41 -0
- package/dist/components/inputs/DateTime/shared/MonthPicker.d.ts +7 -0
- package/{src/components/inputs/DateTime/shared/MonthPicker.tsx → dist/components/inputs/DateTime/shared/MonthPicker.js} +44 -53
- package/dist/components/inputs/DateTime/shared/RangeCalendar.d.ts +26 -0
- package/dist/components/inputs/DateTime/shared/RangeCalendar.js +131 -0
- package/dist/components/inputs/DateTime/shared/TimeField.d.ts +12 -0
- package/dist/components/inputs/DateTime/shared/TimeField.js +26 -0
- package/dist/components/inputs/DateTime/shared/TimePickerForm.d.ts +10 -0
- package/dist/components/inputs/DateTime/shared/TimePickerForm.js +186 -0
- package/dist/components/inputs/DateTime/shared/TimePickerInput.d.ts +18 -0
- package/dist/components/inputs/DateTime/shared/TimePickerInput.js +107 -0
- package/dist/components/inputs/DateTime/shared/YearPicker.d.ts +8 -0
- package/{src/components/inputs/DateTime/shared/YearPicker.tsx → dist/components/inputs/DateTime/shared/YearPicker.js} +45 -56
- package/dist/components/inputs/File/FileUpload.d.ts +4 -0
- package/dist/components/inputs/File/FileUpload.js +254 -0
- package/dist/components/inputs/File/FileUploadContainer.d.ts +3 -0
- package/dist/components/inputs/File/FileUploadContainer.js +17 -0
- package/dist/components/inputs/File/InputUpload.d.ts +4 -0
- package/dist/components/inputs/File/InputUpload.js +176 -0
- package/dist/components/inputs/File/fileUpload.types.d.ts +79 -0
- package/dist/components/inputs/File/index.d.ts +9 -0
- package/dist/components/inputs/File/inputUpload.types.d.ts +30 -0
- package/dist/components/inputs/File/shared/FileCard.d.ts +9 -0
- package/dist/components/inputs/File/shared/FileCard.js +67 -0
- package/dist/components/inputs/File/shared/FileCardList.d.ts +9 -0
- package/dist/components/inputs/File/shared/FileCardList.js +20 -0
- package/dist/components/inputs/File/shared/FileProgressBar.d.ts +3 -0
- package/dist/components/inputs/File/shared/FileProgressBar.js +32 -0
- package/dist/components/inputs/File/shared/FileUploadContent.d.ts +10 -0
- package/dist/components/inputs/File/shared/FileUploadContent.js +92 -0
- package/dist/components/inputs/File/shared/FileUploadContentEmpty.d.ts +9 -0
- package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +92 -0
- package/dist/components/inputs/File/shared/FileUploadContentError.d.ts +11 -0
- package/dist/components/inputs/File/shared/FileUploadContentError.js +167 -0
- package/dist/components/inputs/File/shared/FileUploadContentFilled.d.ts +11 -0
- package/dist/components/inputs/File/shared/FileUploadContentFilled.js +176 -0
- package/dist/components/inputs/File/shared/FileUploadContentLoading.d.ts +9 -0
- package/dist/components/inputs/File/shared/FileUploadContentLoading.js +128 -0
- package/dist/components/inputs/File/shared/InputUploadContent.d.ts +8 -0
- package/dist/components/inputs/File/shared/InputUploadContent.js +68 -0
- package/dist/components/inputs/File/shared/InputUploadFilled.d.ts +7 -0
- package/dist/components/inputs/File/shared/InputUploadFilled.js +31 -0
- package/dist/components/inputs/File/shared/fileUpload.cva.d.ts +11 -0
- package/{src/components/inputs/File/shared/fileUpload.cva.ts → dist/components/inputs/File/shared/fileUpload.cva.js} +19 -21
- package/dist/components/inputs/File/shared/inputUploadButton.cva.d.ts +10 -0
- package/{src/components/inputs/File/shared/inputUploadButton.cva.ts → dist/components/inputs/File/shared/inputUploadButton.cva.js} +22 -22
- package/dist/components/inputs/FormField/FormField.d.ts +17 -0
- package/dist/components/inputs/FormField/FormField.js +54 -0
- package/dist/components/inputs/FormField/FormFieldError.d.ts +7 -0
- package/dist/components/inputs/FormField/FormFieldError.js +16 -0
- package/dist/components/inputs/FormField/FormFieldHeader.d.ts +14 -0
- package/dist/components/inputs/FormField/FormFieldHeader.js +57 -0
- package/dist/components/inputs/FormField/FormFieldHeaderClose.d.ts +5 -0
- package/dist/components/inputs/FormField/FormFieldHeaderClose.js +20 -0
- package/dist/components/inputs/FormField/FormFieldLabel.d.ts +11 -0
- package/dist/components/inputs/FormField/FormFieldLabel.js +31 -0
- package/dist/components/inputs/Input/NumberInput/NumberInput.d.ts +18 -0
- package/dist/components/inputs/Input/NumberInput/NumberInput.js +157 -0
- package/dist/components/inputs/Input/PasswordInput/PasswordInput.d.ts +7 -0
- package/dist/components/inputs/Input/PasswordInput/PasswordInput.js +26 -0
- package/dist/components/inputs/Input/TextArea/TextArea.d.ts +17 -0
- package/dist/components/inputs/Input/TextArea/TextArea.js +149 -0
- package/dist/components/inputs/Input/TextInput/TextInput.d.ts +19 -0
- package/dist/components/inputs/Input/TextInput/TextInput.js +147 -0
- package/dist/components/inputs/Input/shared/InputContent.d.ts +27 -0
- package/dist/components/inputs/Input/shared/InputContent.js +106 -0
- package/dist/components/inputs/Inputs/Form.d.ts +26 -0
- package/dist/components/inputs/Inputs/Form.js +68 -0
- package/dist/components/inputs/Inputs/InputItem.d.ts +73 -0
- package/dist/components/inputs/Inputs/InputItem.js +63 -0
- package/dist/components/inputs/Inputs/Inputs.d.ts +10 -0
- package/dist/components/inputs/Inputs/Inputs.js +32 -0
- package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +18 -0
- package/dist/components/inputs/RadioGroup/RadioGroup.js +113 -0
- package/dist/components/inputs/RadioGroup/radio.cva.d.ts +11 -0
- package/{src/components/inputs/RadioGroup/radio.cva.ts → dist/components/inputs/RadioGroup/radio.cva.js} +19 -23
- package/dist/components/inputs/Selection/Autocomplete/Autocomplete.d.ts +8 -0
- package/dist/components/inputs/Selection/Autocomplete/Autocomplete.js +39 -0
- package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.d.ts +19 -0
- package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.js +25 -0
- package/dist/components/inputs/Selection/Select/Select.d.ts +8 -0
- package/dist/components/inputs/Selection/Select/Select.js +32 -0
- package/dist/components/inputs/Selection/shared/SelectBase.d.ts +24 -0
- package/dist/components/inputs/Selection/shared/SelectBase.js +24 -0
- package/dist/components/inputs/Selection/shared/SelectDesktop.d.ts +5 -0
- package/dist/components/inputs/Selection/shared/SelectDesktop.js +211 -0
- package/dist/components/inputs/Selection/shared/SelectInput.d.ts +15 -0
- package/dist/components/inputs/Selection/shared/SelectInput.js +237 -0
- package/dist/components/inputs/Selection/shared/SelectListBox.d.ts +9 -0
- package/dist/components/inputs/Selection/shared/SelectListBox.js +97 -0
- package/dist/components/inputs/Selection/shared/SelectListBoxItem.d.ts +8 -0
- package/dist/components/inputs/Selection/shared/SelectListBoxItem.js +78 -0
- package/dist/components/inputs/Selection/shared/SelectListBoxItemSelectAll.d.ts +4 -0
- package/dist/components/inputs/Selection/shared/SelectListBoxItemSelectAll.js +45 -0
- package/dist/components/inputs/Selection/shared/SelectListBoxLoadingItem.d.ts +6 -0
- package/dist/components/inputs/Selection/shared/SelectListBoxLoadingItem.js +47 -0
- package/dist/components/inputs/Selection/shared/SelectListBoxSelectionBar.d.ts +5 -0
- package/dist/components/inputs/Selection/shared/SelectListBoxSelectionBar.js +42 -0
- package/dist/components/inputs/Selection/shared/SelectMobile.d.ts +5 -0
- package/dist/components/inputs/Selection/shared/SelectMobile.js +161 -0
- package/dist/components/inputs/Selection/shared/select.context.d.ts +30 -0
- package/{src/components/inputs/Selection/shared/select.context.tsx → dist/components/inputs/Selection/shared/select.context.js} +66 -139
- package/dist/components/inputs/Selection/shared/select.types.d.ts +55 -0
- package/dist/components/inputs/Selection/shared/useSelectItems.d.ts +23 -0
- package/dist/components/inputs/Selection/shared/useSelectItems.js +94 -0
- package/dist/components/inputs/Slider/Slider.d.ts +18 -0
- package/dist/components/inputs/Slider/Slider.js +137 -0
- package/dist/components/inputs/TextEditor/TextEditor.d.ts +20 -0
- package/dist/components/inputs/TextEditor/TextEditor.js +223 -0
- package/dist/components/inputs/TextEditor/Toolbar/ColorPicker.d.ts +7 -0
- package/dist/components/inputs/TextEditor/Toolbar/ColorPicker.js +34 -0
- package/dist/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.d.ts +10 -0
- package/dist/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.js +80 -0
- package/dist/components/inputs/TextEditor/Toolbar/HyperlinkAction.d.ts +2 -0
- package/dist/components/inputs/TextEditor/Toolbar/HyperlinkAction.js +92 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextAlignSelect.d.ts +2 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextAlignSelect.js +56 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextColorSelect.d.ts +2 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextColorSelect.js +33 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextEditorToolbar.d.ts +6 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextEditorToolbar.js +31 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextHighlightSelect.d.ts +2 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextHighlightSelect.js +37 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextListActions.d.ts +2 -0
- package/{src/components/inputs/TextEditor/Toolbar/TextListActions.tsx → dist/components/inputs/TextEditor/Toolbar/TextListActions.js} +24 -30
- package/dist/components/inputs/TextEditor/Toolbar/TextMarksActions.d.ts +2 -0
- package/{src/components/inputs/TextEditor/Toolbar/TextMarksActions.tsx → dist/components/inputs/TextEditor/Toolbar/TextMarksActions.js} +28 -34
- package/dist/components/inputs/TextEditor/Toolbar/TextStyleSelect.d.ts +2 -0
- package/dist/components/inputs/TextEditor/Toolbar/TextStyleSelect.js +61 -0
- package/dist/components/inputs/TextEditor/textEditor.types.d.ts +5 -0
- package/{src/components/inputs/TextEditor/textEditor.types.ts → dist/components/inputs/TextEditor/textEditor.types.js} +5 -8
- package/dist/components/inputs/Toggle/Toggle.d.ts +14 -0
- package/dist/components/inputs/Toggle/Toggle.js +65 -0
- package/dist/components/inputs/Toggle/toggle.cva.d.ts +10 -0
- package/{src/components/inputs/Toggle/toggle.cva.ts → dist/components/inputs/Toggle/toggle.cva.js} +18 -22
- package/dist/components/inputs/shared/CheckContent.d.ts +7 -0
- package/dist/components/inputs/shared/CheckContent.js +22 -0
- package/dist/components/inputs/shared/InputClear.d.ts +6 -0
- package/dist/components/inputs/shared/InputClear.js +26 -0
- package/dist/components/inputs/shared/form.types.d.ts +12 -0
- package/dist/components/inputs/shared/input.cva.d.ts +22 -0
- package/{src/components/inputs/shared/input.cva.ts → dist/components/inputs/shared/input.cva.js} +45 -60
- package/dist/components/inputs/shared/label.cva.d.ts +10 -0
- package/{src/components/inputs/shared/label.cva.ts → dist/components/inputs/shared/label.cva.js} +25 -38
- package/dist/components/outline.clsx.d.ts +2 -0
- package/{src/components/outline.clsx.ts → dist/components/outline.clsx.js} +8 -6
- package/dist/components/overlays/ActionModal/ActionModal.d.ts +19 -0
- package/dist/components/overlays/ActionModal/ActionModal.js +80 -0
- package/dist/components/overlays/BottomSheet/BottomSheet.d.ts +21 -0
- package/dist/components/overlays/BottomSheet/BottomSheet.js +256 -0
- package/dist/components/overlays/Drawer/Drawer.d.ts +13 -0
- package/dist/components/overlays/Drawer/Drawer.js +84 -0
- package/dist/components/overlays/Modal/Modal.d.ts +11 -0
- package/dist/components/overlays/Modal/Modal.js +53 -0
- package/dist/components/overlays/Modal/modal.cva.d.ts +12 -0
- package/{src/components/overlays/Modal/modal.cva.ts → dist/components/overlays/Modal/modal.cva.js} +24 -26
- package/dist/components/overlays/ResponsivePopover/ResponsivePopover.d.ts +10 -0
- package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +71 -0
- package/dist/components/overlays/Tooltip/Tooltip.d.ts +9 -0
- package/dist/components/overlays/Tooltip/Tooltip.js +44 -0
- package/dist/components/overlays/Tooltip/TooltipEllipsis.d.ts +7 -0
- package/dist/components/overlays/Tooltip/TooltipEllipsis.js +27 -0
- package/dist/components/segment/Segment.d.ts +4 -0
- package/dist/components/segment/Segment.js +113 -0
- package/dist/components/segment/SegmentItem.d.ts +2 -0
- package/{src/components/segment/SegmentItem.tsx → dist/components/segment/SegmentItem.js} +30 -30
- package/dist/components/segment/segment.types.d.ts +34 -0
- package/dist/components/shared/pagination/Pagination.d.ts +9 -0
- package/dist/components/shared/pagination/Pagination.js +75 -0
- package/dist/components/shared/pagination/PaginationList.d.ts +15 -0
- package/dist/components/shared/pagination/PaginationList.js +145 -0
- package/dist/components/shared/pagination/minWidth.cva.d.ts +3 -0
- package/{src/components/shared/pagination/minWidth.cva.ts → dist/components/shared/pagination/minWidth.cva.js} +7 -5
- package/dist/components/status/Alert/Alert.d.ts +11 -0
- package/dist/components/status/Alert/Alert.js +41 -0
- package/dist/components/status/Alert/alert.cva.d.ts +7 -0
- package/dist/components/status/Alert/alert.cva.js +64 -0
- package/dist/components/status/Loader/Loader.d.ts +5 -0
- package/dist/components/status/Loader/Loader.js +37 -0
- package/dist/components/status/Loader/loader.cva.d.ts +9 -0
- package/dist/components/status/Loader/loader.cva.js +27 -0
- package/dist/components/status/Toast/Toast.d.ts +14 -0
- package/dist/components/status/Toast/Toast.js +64 -0
- package/dist/components/status/Toast/toast.cva.d.ts +18 -0
- package/{src/components/status/Toast/toast.cva.ts → dist/components/status/Toast/toast.cva.js} +44 -48
- package/dist/components/status/Toast/useToast.d.ts +12 -0
- package/dist/components/status/Toast/useToast.js +83 -0
- package/dist/components/status/shared/status.cva.d.ts +8 -0
- package/{src/components/status/shared/status.cva.ts → dist/components/status/shared/status.cva.js} +21 -19
- package/dist/components/table/CellText.d.ts +7 -0
- package/dist/components/table/CellText.js +18 -0
- package/dist/components/table/ColumnConfig.d.ts +10 -0
- package/dist/components/table/ColumnConfig.js +124 -0
- package/dist/components/table/HeaderText.d.ts +5 -0
- package/dist/components/table/HeaderText.js +15 -0
- package/dist/components/table/InfiniteTable.d.ts +9 -0
- package/dist/components/table/InfiniteTable.js +40 -0
- package/dist/components/table/PaginatedTable.d.ts +11 -0
- package/dist/components/table/PaginatedTable.js +33 -0
- package/dist/components/table/Table.d.ts +37 -0
- package/dist/components/table/Table.js +352 -0
- package/dist/components/table/table.cva.d.ts +15 -0
- package/dist/components/table/table.cva.js +37 -0
- package/dist/components/text/Link/Link.d.ts +7 -0
- package/dist/components/text/Link/Link.js +18 -0
- package/dist/components/text/Link/link.cva.d.ts +6 -0
- package/dist/components/text/Link/link.cva.js +18 -0
- package/dist/components/text/Tag/Tag.d.ts +10 -0
- package/dist/components/text/Tag/Tag.js +49 -0
- package/dist/components/text/Tag/tag.cva.d.ts +6 -0
- package/{src/components/text/Tag/tag.cva.ts → dist/components/text/Tag/tag.cva.js} +17 -20
- package/dist/components/text/Typography/Typography.d.ts +11 -0
- package/dist/components/text/Typography/Typography.js +22 -0
- package/dist/components/text/Typography/typography.cva.d.ts +8 -0
- package/{src/components/text/Typography/typography.cva.ts → dist/components/text/Typography/typography.cva.js} +19 -21
- package/dist/config/confirmation.context.d.ts +20 -0
- package/dist/config/confirmation.context.js +107 -0
- package/dist/config/i18n.d.ts +315 -0
- package/dist/config/i18n.js +15 -0
- package/dist/config/router.context.d.ts +20 -0
- package/dist/config/router.context.js +43 -0
- package/dist/config/uiConfig.context.d.ts +28 -0
- package/dist/config/uiConfig.context.js +62 -0
- package/dist/config/uiStyle.context.d.ts +84 -0
- package/dist/config/uiStyle.context.js +16 -0
- package/dist/helpers/dynamicColumns.d.ts +44 -0
- package/dist/helpers/dynamicColumns.js +359 -0
- package/dist/helpers/dynamicInputs.d.ts +83 -0
- package/dist/helpers/dynamicInputs.js +214 -0
- package/dist/hooks/useAutosave.d.ts +9 -0
- package/dist/hooks/useAutosave.js +80 -0
- package/dist/hooks/useBreakpoint.d.ts +3 -0
- package/dist/hooks/useBreakpoint.js +20 -0
- package/dist/hooks/useDebounceCallback.d.ts +6 -0
- package/{src/hooks/useDebounceCallback.ts → dist/hooks/useDebounceCallback.js} +8 -14
- package/dist/hooks/useDeepCompare.d.ts +4 -0
- package/dist/hooks/useDeepCompare.js +25 -0
- package/dist/hooks/useFilters.d.ts +7 -0
- package/{src/hooks/useFilters.ts → dist/hooks/useFilters.js} +34 -68
- package/dist/hooks/useForm.d.ts +18 -0
- package/dist/hooks/useForm.js +22 -0
- package/dist/hooks/useFormAutosave.d.ts +13 -0
- package/dist/hooks/useFormAutosave.js +67 -0
- package/dist/hooks/useIntersectionObserver.d.ts +7 -0
- package/{src/hooks/useIntersectionObserver.ts → dist/hooks/useIntersectionObserver.js} +10 -16
- package/dist/hooks/useLocalStorage.d.ts +13 -0
- package/{src/hooks/useLocalStorage.ts → dist/hooks/useLocalStorage.js} +10 -28
- package/dist/hooks/useLongPressRepeat.d.ts +9 -0
- package/{src/hooks/useLongPressRepeat.ts → dist/hooks/useLongPressRepeat.js} +7 -14
- package/dist/hooks/usePagination.d.ts +7 -0
- package/dist/hooks/usePagination.js +35 -0
- package/dist/hooks/useScrollableListBox.d.ts +3 -0
- package/{src/hooks/useScrollableListBox.ts → dist/hooks/useScrollableListBox.js} +12 -17
- package/dist/hooks/useSingletonMutation.d.ts +4 -0
- package/{src/hooks/useSingletonMutation.ts → dist/hooks/useSingletonMutation.js} +9 -12
- package/dist/hooks/useSorting.d.ts +6 -0
- package/dist/hooks/useSorting.js +30 -0
- package/dist/hooks/useStateAndRef.d.ts +4 -0
- package/dist/hooks/useStateAndRef.js +17 -0
- package/dist/hooks/useTableColumnConfig.d.ts +16 -0
- package/dist/hooks/useTableColumnConfig.js +59 -0
- package/dist/hooks/useTableNav.d.ts +84 -0
- package/{src/hooks/useTableNav.ts → dist/hooks/useTableNav.js} +81 -287
- package/dist/hooks/useTranslationMemo.d.ts +4 -0
- package/{src/hooks/useTranslationMemo.ts → dist/hooks/useTranslationMemo.js} +5 -8
- package/dist/index.d.ts +205 -0
- package/dist/index.js +280 -0
- package/{src/types/common.ts → dist/types/common.d.ts} +4 -15
- package/dist/types/react-query.d.ts +6 -0
- package/dist/utils/array.utils.d.ts +3 -0
- package/dist/utils/array.utils.js +12 -0
- package/dist/utils/array.utils.spec.d.ts +1 -0
- package/dist/utils/compoundMapper.d.ts +19 -0
- package/dist/utils/compoundMapper.js +14 -0
- package/dist/utils/compoundMapper.spec.d.ts +1 -0
- package/dist/utils/date-time.utils.d.ts +14 -0
- package/{src/utils/date-time.utils.ts → dist/utils/date-time.utils.js} +28 -36
- package/dist/utils/date-time.utils.spec.d.ts +1 -0
- package/dist/utils/date.utils.d.ts +3 -0
- package/dist/utils/date.utils.js +12 -0
- package/dist/utils/date.utils.spec.d.ts +1 -0
- package/dist/utils/dom.utils.d.ts +5 -0
- package/dist/utils/dom.utils.js +13 -0
- package/dist/utils/file.utils.d.ts +9 -0
- package/{src/utils/file.utils.ts → dist/utils/file.utils.js} +17 -27
- package/dist/utils/isEqual.d.ts +1 -0
- package/dist/utils/isEqual.js +94 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.js +19 -0
- package/dist/utils/object.utils.d.ts +10 -0
- package/dist/utils/object.utils.js +53 -0
- package/dist/utils/queries.utils.d.ts +4 -0
- package/dist/utils/queries.utils.js +9 -0
- package/dist/utils/rest/interceptors/logging.interceptor.d.ts +2 -0
- package/dist/utils/rest/interceptors/logging.interceptor.js +17 -0
- package/dist/utils/rest/interceptors/response.interceptor.d.ts +2 -0
- package/{src/utils/rest/interceptors/response.interceptor.ts → dist/utils/rest/interceptors/response.interceptor.js} +10 -12
- package/dist/utils/rest/interceptors/rest-interceptor.d.ts +8 -0
- package/{src/utils/rest/interceptors/rest-interceptor.ts → dist/utils/rest/interceptors/rest-interceptor.js} +10 -11
- package/dist/utils/rest/rest-client.d.ts +29 -0
- package/dist/utils/rest/rest-client.js +62 -0
- package/dist/utils/rest/rest.utils.d.ts +10 -0
- package/dist/utils/rest/rest.utils.js +51 -0
- package/dist/utils/routing.utils.d.ts +3 -0
- package/{src/utils/routing.utils.ts → dist/utils/routing.utils.js} +7 -4
- package/dist/utils/string.utils.d.ts +4 -0
- package/dist/utils/string.utils.js +12 -0
- package/dist/utils/vendor/error-handling.d.ts +21 -0
- package/dist/utils/vendor/error-handling.js +119 -0
- package/dist/utils/zod.utils.d.ts +19 -0
- package/dist/utils/zod.utils.js +25 -0
- package/package.json +58 -67
- package/src/assets/icons/AlignCenter.tsx +0 -16
- package/src/assets/icons/AlignLeft.tsx +0 -16
- package/src/assets/icons/AlignLeftRight.tsx +0 -16
- package/src/assets/icons/AlignRight.tsx +0 -16
- package/src/assets/icons/ArrowDropDown.tsx +0 -16
- package/src/assets/icons/ArrowDropUp.tsx +0 -16
- package/src/assets/icons/ArrowLeft.tsx +0 -16
- package/src/assets/icons/ArrowRight.tsx +0 -16
- package/src/assets/icons/Bold.tsx +0 -16
- package/src/assets/icons/BulletedList.tsx +0 -16
- package/src/assets/icons/Calendar.tsx +0 -18
- package/src/assets/icons/Check.tsx +0 -18
- package/src/assets/icons/CheckCircle.tsx +0 -16
- package/src/assets/icons/CheckboxCheckmark.tsx +0 -19
- package/src/assets/icons/CheckboxIndeterminate.tsx +0 -19
- package/src/assets/icons/ChevronDown.tsx +0 -18
- package/src/assets/icons/ChevronLeft.tsx +0 -18
- package/src/assets/icons/ChevronRight.tsx +0 -18
- package/src/assets/icons/ChevronUp.tsx +0 -18
- package/src/assets/icons/ChevronsLeft.tsx +0 -24
- package/src/assets/icons/ChevronsRight.tsx +0 -24
- package/src/assets/icons/Clock.tsx +0 -16
- package/src/assets/icons/Close.tsx +0 -16
- package/src/assets/icons/DateTime.tsx +0 -20
- package/src/assets/icons/Drag.tsx +0 -16
- package/src/assets/icons/File.tsx +0 -18
- package/src/assets/icons/Highlight.tsx +0 -16
- package/src/assets/icons/HighlightOn.tsx +0 -26
- package/src/assets/icons/Info.tsx +0 -24
- package/src/assets/icons/Italic.tsx +0 -16
- package/src/assets/icons/Link.tsx +0 -16
- package/src/assets/icons/Menu.tsx +0 -18
- package/src/assets/icons/NumberedList.tsx +0 -16
- package/src/assets/icons/PointerHorizontal.tsx +0 -16
- package/src/assets/icons/PointerVertical.tsx +0 -16
- package/src/assets/icons/Send.tsx +0 -18
- package/src/assets/icons/Strikethrough.tsx +0 -16
- package/src/assets/icons/TextColor.tsx +0 -24
- package/src/assets/icons/Today.tsx +0 -16
- package/src/assets/icons/Underlined.tsx +0 -18
- package/src/assets/icons/Upload.tsx +0 -20
- package/src/assets/icons/View.tsx +0 -16
- package/src/assets/icons/ViewOff.tsx +0 -16
- package/src/assets/icons/Warningfilled.tsx +0 -18
- package/src/assets/locales/en/translation.json +0 -156
- package/src/assets/locales/sl/translation.json +0 -152
- package/src/components/Menu/Menu.tsx +0 -29
- package/src/components/Menu/MenuMobile.tsx +0 -81
- package/src/components/Menu/MenuPopover.tsx +0 -45
- package/src/components/buttons/Button/Button.tsx +0 -108
- package/src/components/buttons/IconButton/IconButton.tsx +0 -25
- package/src/components/buttons/InlineIconButton/InlineIconButton.tsx +0 -27
- package/src/components/buttons/PillButton/PillButton.tsx +0 -70
- package/src/components/buttons/SplitButton/SplitButton.tsx +0 -61
- package/src/components/buttons/TextButton/TextButton.tsx +0 -29
- package/src/components/buttons/ToggleButton/ToggleButton.tsx +0 -28
- package/src/components/buttons/shared/ButtonContent.tsx +0 -61
- package/src/components/buttons/shared/buttonContent.cva.ts +0 -18
- package/src/components/inputs/Checkbox/Checkbox.tsx +0 -101
- package/src/components/inputs/Checkbox/CheckboxCheckmark.tsx +0 -47
- package/src/components/inputs/DateTime/DatePicker/DatePicker.tsx +0 -269
- package/src/components/inputs/DateTime/DateTimePicker/DateTimePicker.tsx +0 -291
- package/src/components/inputs/DateTime/TimePicker/TimePicker.tsx +0 -255
- package/src/components/inputs/DateTime/shared/Calendar.tsx +0 -104
- package/src/components/inputs/DateTime/shared/CalendarGrid.tsx +0 -102
- package/src/components/inputs/DateTime/shared/CalendarHeader.tsx +0 -110
- package/src/components/inputs/DateTime/shared/CalendarSelectHeader.tsx +0 -228
- package/src/components/inputs/DateTime/shared/DateField.tsx +0 -83
- package/src/components/inputs/DateTime/shared/DatePickerInput.tsx +0 -170
- package/src/components/inputs/DateTime/shared/DateSegmentItem.tsx +0 -65
- package/src/components/inputs/DateTime/shared/DateTimeDialog.tsx +0 -87
- package/src/components/inputs/DateTime/shared/DateTimeDialogFooter.tsx +0 -42
- package/src/components/inputs/DateTime/shared/RangeCalendar.tsx +0 -160
- package/src/components/inputs/DateTime/shared/TimeField.tsx +0 -36
- package/src/components/inputs/DateTime/shared/TimePickerForm.tsx +0 -222
- package/src/components/inputs/DateTime/shared/TimePickerInput.tsx +0 -114
- package/src/components/inputs/File/FileUpload.tsx +0 -285
- package/src/components/inputs/File/FileUploadContainer.tsx +0 -16
- package/src/components/inputs/File/InputUpload.tsx +0 -196
- package/src/components/inputs/File/fileUpload.types.ts +0 -100
- package/src/components/inputs/File/index.ts +0 -15
- package/src/components/inputs/File/inputUpload.types.ts +0 -41
- package/src/components/inputs/File/shared/FileCard.tsx +0 -72
- package/src/components/inputs/File/shared/FileCardList.tsx +0 -30
- package/src/components/inputs/File/shared/FileProgressBar.tsx +0 -25
- package/src/components/inputs/File/shared/FileUploadContent.tsx +0 -99
- package/src/components/inputs/File/shared/FileUploadContentEmpty.tsx +0 -94
- package/src/components/inputs/File/shared/FileUploadContentError.tsx +0 -170
- package/src/components/inputs/File/shared/FileUploadContentFilled.tsx +0 -179
- package/src/components/inputs/File/shared/FileUploadContentLoading.tsx +0 -115
- package/src/components/inputs/File/shared/InputUploadContent.tsx +0 -68
- package/src/components/inputs/File/shared/InputUploadFilled.tsx +0 -32
- package/src/components/inputs/FormField/FormField.tsx +0 -69
- package/src/components/inputs/FormField/FormFieldError.tsx +0 -21
- package/src/components/inputs/FormField/FormFieldHeader.tsx +0 -75
- package/src/components/inputs/FormField/FormFieldHeaderClose.tsx +0 -23
- package/src/components/inputs/FormField/FormFieldLabel.tsx +0 -41
- package/src/components/inputs/Input/NumberInput/NumberInput.tsx +0 -180
- package/src/components/inputs/Input/PasswordInput/PasswordInput.tsx +0 -34
- package/src/components/inputs/Input/TextArea/TextArea.tsx +0 -166
- package/src/components/inputs/Input/TextInput/TextInput.tsx +0 -181
- package/src/components/inputs/Input/shared/InputContent.tsx +0 -154
- package/src/components/inputs/Inputs/Form.tsx +0 -129
- package/src/components/inputs/Inputs/InputItem.tsx +0 -127
- package/src/components/inputs/Inputs/Inputs.tsx +0 -43
- package/src/components/inputs/RadioGroup/RadioGroup.tsx +0 -139
- package/src/components/inputs/Selection/Autocomplete/Autocomplete.tsx +0 -61
- package/src/components/inputs/Selection/Autocomplete/QueryAutocomplete.tsx +0 -58
- package/src/components/inputs/Selection/Select/Select.tsx +0 -59
- package/src/components/inputs/Selection/shared/SelectBase.tsx +0 -69
- package/src/components/inputs/Selection/shared/SelectDesktop.tsx +0 -236
- package/src/components/inputs/Selection/shared/SelectInput.tsx +0 -278
- package/src/components/inputs/Selection/shared/SelectListBox.tsx +0 -121
- package/src/components/inputs/Selection/shared/SelectListBoxItem.tsx +0 -79
- package/src/components/inputs/Selection/shared/SelectListBoxItemSelectAll.tsx +0 -40
- package/src/components/inputs/Selection/shared/SelectListBoxLoadingItem.tsx +0 -52
- package/src/components/inputs/Selection/shared/SelectListBoxSelectionBar.tsx +0 -39
- package/src/components/inputs/Selection/shared/SelectMobile.tsx +0 -169
- package/src/components/inputs/Selection/shared/select.types.ts +0 -75
- package/src/components/inputs/Selection/shared/useSelectItems.tsx +0 -127
- package/src/components/inputs/Slider/Slider.tsx +0 -174
- package/src/components/inputs/TextEditor/TextEditor.tsx +0 -239
- package/src/components/inputs/TextEditor/Toolbar/ColorPicker.tsx +0 -34
- package/src/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.tsx +0 -74
- package/src/components/inputs/TextEditor/Toolbar/HyperlinkAction.tsx +0 -87
- package/src/components/inputs/TextEditor/Toolbar/TextAlignSelect.tsx +0 -64
- package/src/components/inputs/TextEditor/Toolbar/TextColorSelect.tsx +0 -30
- package/src/components/inputs/TextEditor/Toolbar/TextEditorToolbar.tsx +0 -40
- package/src/components/inputs/TextEditor/Toolbar/TextHighlightSelect.tsx +0 -39
- package/src/components/inputs/TextEditor/Toolbar/TextStyleSelect.tsx +0 -73
- package/src/components/inputs/Toggle/Toggle.tsx +0 -80
- package/src/components/inputs/shared/CheckContent.tsx +0 -26
- package/src/components/inputs/shared/InputClear.tsx +0 -29
- package/src/components/inputs/shared/form.types.ts +0 -28
- package/src/components/overlays/ActionModal/ActionModal.tsx +0 -93
- package/src/components/overlays/BottomSheet/BottomSheet.tsx +0 -270
- package/src/components/overlays/Drawer/Drawer.tsx +0 -93
- package/src/components/overlays/Modal/Modal.tsx +0 -63
- package/src/components/overlays/ResponsivePopover/ResponsivePopover.tsx +0 -77
- package/src/components/overlays/Tooltip/Tooltip.tsx +0 -47
- package/src/components/overlays/Tooltip/TooltipEllipsis.tsx +0 -35
- package/src/components/segment/Segment.tsx +0 -121
- package/src/components/segment/segment.types.ts +0 -44
- package/src/components/shared/pagination/Pagination.tsx +0 -75
- package/src/components/shared/pagination/PaginationList.tsx +0 -174
- package/src/components/status/Alert/Alert.tsx +0 -58
- package/src/components/status/Alert/alert.cva.ts +0 -66
- package/src/components/status/Loader/Loader.tsx +0 -32
- package/src/components/status/Loader/loader.cva.ts +0 -29
- package/src/components/status/Toast/Toast.tsx +0 -86
- package/src/components/status/Toast/useToast.tsx +0 -77
- package/src/components/table/CellText.tsx +0 -23
- package/src/components/table/ColumnConfig.tsx +0 -145
- package/src/components/table/HeaderText.tsx +0 -18
- package/src/components/table/InfiniteTable.tsx +0 -51
- package/src/components/table/PaginatedTable.tsx +0 -38
- package/src/components/table/Table.tsx +0 -456
- package/src/components/table/table.cva.ts +0 -47
- package/src/components/text/Link/Link.tsx +0 -21
- package/src/components/text/Link/link.cva.ts +0 -21
- package/src/components/text/Tag/Tag.tsx +0 -59
- package/src/components/text/Typography/Typography.tsx +0 -33
- package/src/config/confirmation.context.tsx +0 -133
- package/src/config/i18n.ts +0 -12
- package/src/config/router.context.tsx +0 -66
- package/src/config/uiConfig.context.tsx +0 -89
- package/src/config/uiStyle.context.tsx +0 -100
- package/src/helpers/dynamicColumns.ts +0 -567
- package/src/helpers/dynamicInputs.ts +0 -392
- package/src/hooks/useAutosave.ts +0 -109
- package/src/hooks/useBreakpoint.ts +0 -26
- package/src/hooks/useDeepCompare.ts +0 -27
- package/src/hooks/useForm.ts +0 -54
- package/src/hooks/useFormAutosave.ts +0 -100
- package/src/hooks/usePagination.ts +0 -41
- package/src/hooks/useSorting.ts +0 -39
- package/src/hooks/useStateAndRef.ts +0 -20
- package/src/hooks/useTableColumnConfig.ts +0 -86
- package/src/index.ts +0 -252
- package/src/types/i18next.d.ts +0 -11
- package/src/types/react-query.ts +0 -48
- package/src/types/table.d.ts +0 -17
- package/src/utils/array.utils.spec.ts +0 -16
- package/src/utils/array.utils.ts +0 -9
- package/src/utils/compoundMapper.spec.ts +0 -91
- package/src/utils/compoundMapper.ts +0 -42
- package/src/utils/date-time.utils.spec.ts +0 -48
- package/src/utils/date.utils.spec.ts +0 -12
- package/src/utils/date.utils.ts +0 -9
- package/src/utils/dom.utils.ts +0 -16
- package/src/utils/isEqual.ts +0 -153
- package/src/utils/logger.ts +0 -19
- package/src/utils/object.utils.ts +0 -62
- package/src/utils/queries.utils.ts +0 -10
- package/src/utils/rest/interceptors/logging.interceptor.ts +0 -16
- package/src/utils/rest/rest-client.ts +0 -125
- package/src/utils/rest/rest.utils.ts +0 -65
- package/src/utils/string.utils.ts +0 -9
- package/src/utils/vendor/error-handling.ts +0 -170
- package/src/utils/zod.utils.ts +0 -95
- /package/{src → dist}/styles/editor.css +0 -0
- /package/{src → dist}/styles/index.css +0 -0
|
@@ -1,62 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
// oxlint-disable @typescript-eslint/unbound-method
|
|
3
|
-
|
|
4
|
-
import type { KeyboardEvent } from "react";
|
|
5
|
-
|
|
6
|
-
import { logger } from "#ui/utils/logger";
|
|
7
|
-
|
|
8
|
-
type FocusableElement = HTMLElement | SVGElement;
|
|
9
|
-
|
|
10
|
-
const enum Keys {
|
|
11
|
-
Enter = "Enter",
|
|
12
|
-
Escape = "Escape",
|
|
13
|
-
Shift = "Shift",
|
|
14
|
-
Control = "Control",
|
|
15
|
-
Home = "Home",
|
|
16
|
-
End = "End",
|
|
17
|
-
Backspace = "Backspace",
|
|
18
|
-
/** Page Keys */
|
|
19
|
-
PageUp = "PageUp",
|
|
20
|
-
PageDown = "PageDown",
|
|
21
|
-
/** Arrow Keys */
|
|
22
|
-
ArrowLeft = "ArrowLeft",
|
|
23
|
-
ArrowUp = "ArrowUp",
|
|
24
|
-
ArrowRight = "ArrowRight",
|
|
25
|
-
ArrowDown = "ArrowDown",
|
|
26
|
-
F2 = "F2",
|
|
27
|
-
}
|
|
28
|
-
|
|
1
|
+
import { logger } from "../utils/logger.js";
|
|
29
2
|
const Selectors = {
|
|
30
3
|
Cell: '[role="cell"],[role="gridcell"],[role="columnheader"],[role="rowheader"],td,th',
|
|
31
4
|
Row: '[role="row"],tr',
|
|
32
5
|
RowGroup: '[role="rowgroup"],thead,tbody,tfoot',
|
|
33
6
|
/** Selector from here: https://github.com/Shopify/polaris/blob/main/polaris-react/src/utilities/focus.ts#L10 */
|
|
34
|
-
Focusable:
|
|
35
|
-
|
|
36
|
-
} as const;
|
|
37
|
-
|
|
38
|
-
type Config =
|
|
39
|
-
| {
|
|
40
|
-
/** Enable debug logs */
|
|
41
|
-
debug?: boolean;
|
|
42
|
-
/** CSS Selectors being used to find Rows, Row Groups, Cells and Focusable elements */
|
|
43
|
-
selectors?: Partial<typeof Selectors>;
|
|
44
|
-
/** How many rows to move when pressing page up/down - Default goes to first/last row */
|
|
45
|
-
pageUpDown?: number;
|
|
46
|
-
}
|
|
47
|
-
| undefined;
|
|
48
|
-
|
|
7
|
+
Focusable: 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not([aria-disabled="true"]):not([tabindex="-1"]):not(:disabled),*[tabindex]'
|
|
8
|
+
};
|
|
49
9
|
class DataGridNav {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
constructor(config: Config);
|
|
59
|
-
constructor(config: Config = {}) {
|
|
10
|
+
constructor(config = {}) {
|
|
11
|
+
this.keys = [];
|
|
12
|
+
this.activeCell = null;
|
|
13
|
+
this.debugLog = (functionName, message) => {
|
|
14
|
+
if (this.debug) {
|
|
15
|
+
logger.info(`[${functionName}]: ${message}`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
60
18
|
const { selectors = {}, pageUpDown, debug = false } = config;
|
|
61
19
|
this.selectors = { ...Selectors, ...selectors };
|
|
62
20
|
this.pageUpDown = pageUpDown;
|
|
@@ -64,89 +22,52 @@ class DataGridNav {
|
|
|
64
22
|
this.debug = debug;
|
|
65
23
|
this.disabled = false;
|
|
66
24
|
}
|
|
67
|
-
|
|
68
|
-
private debugLog = (functionName: string, message: string) => {
|
|
69
|
-
if (this.debug) {
|
|
70
|
-
logger.info(`[${functionName}]: ${message}`);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
25
|
/**
|
|
75
26
|
* Disables the keyboard listener in cases
|
|
76
27
|
* that elements inside the grid need to use
|
|
77
28
|
* arrows keys etc., like select dropdowns
|
|
78
29
|
*/
|
|
79
|
-
|
|
30
|
+
disable() {
|
|
80
31
|
this.disabled = true;
|
|
81
32
|
}
|
|
82
|
-
|
|
83
33
|
/**
|
|
84
34
|
* Enables the keyboard listeners
|
|
85
35
|
*/
|
|
86
|
-
|
|
36
|
+
enable() {
|
|
87
37
|
this.disabled = false;
|
|
88
38
|
}
|
|
89
|
-
|
|
90
39
|
// oxlint-disable-next-line class-methods-use-this
|
|
91
|
-
|
|
40
|
+
isFocusable(el) {
|
|
92
41
|
return el instanceof HTMLElement || el instanceof SVGElement;
|
|
93
42
|
}
|
|
94
|
-
|
|
95
|
-
public getActiveCell(): HTMLElement | null {
|
|
43
|
+
getActiveCell() {
|
|
96
44
|
return this.activeCell;
|
|
97
45
|
}
|
|
98
|
-
|
|
99
46
|
/** Used as a keyboard listener for key up */
|
|
100
|
-
|
|
101
|
-
// TODO: have a cleanup as user can press key
|
|
102
|
-
// and then move to another tab, and get back to the same tab
|
|
103
|
-
// so this will not be empty (the bug exists with .pop)
|
|
47
|
+
tableKeyUp() {
|
|
104
48
|
this.keys = [];
|
|
105
49
|
}
|
|
106
|
-
|
|
107
50
|
/** Used as a keyboard listener for key down */
|
|
108
|
-
|
|
51
|
+
tableKeyDown(e) {
|
|
109
52
|
this.debugLog("tableKeyDown", `Key pressed: ${e.key}`);
|
|
110
53
|
if (this.disabled) {
|
|
111
54
|
this.debugLog("tableKeyDown", "interaction is disabled");
|
|
112
55
|
return;
|
|
113
56
|
}
|
|
114
|
-
|
|
115
|
-
* Avoid page scrolling etc.
|
|
116
|
-
* Enable default behavior for:
|
|
117
|
-
* Tab, Shift + Tab
|
|
118
|
-
* TODO: Actually it will be better to just prevent
|
|
119
|
-
* in ArrowKeys and PageKeys maybe?
|
|
120
|
-
* Or should the consumer stop propagation?!
|
|
121
|
-
* Cannot work with preventDefault as it will
|
|
122
|
-
* first capture the event from an input in cell for example
|
|
123
|
-
*/
|
|
124
|
-
if (Keys.ArrowDown === e.key || Keys.ArrowUp === e.key || Keys.ArrowLeft === e.key || Keys.ArrowRight === e.key) {
|
|
57
|
+
if ("ArrowDown" === e.key || "ArrowUp" === e.key || "ArrowLeft" === e.key || "ArrowRight" === e.key) {
|
|
125
58
|
e.preventDefault();
|
|
126
59
|
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Add key to the stack if it's
|
|
130
|
-
* not the same with the last (long press)
|
|
131
|
-
*/
|
|
132
60
|
if (this.keys.length === 0 || this.keys[this.keys.length - 1] !== e.key) {
|
|
133
61
|
this.keys.push(e.key);
|
|
134
62
|
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Need to check if we are inside a grid cell
|
|
138
|
-
* or not to enable/disable Grid Navigation
|
|
139
|
-
*/
|
|
140
63
|
if (!(e.target instanceof Element)) {
|
|
141
64
|
return;
|
|
142
65
|
}
|
|
143
66
|
const cell = e.target.parentElement?.closest(`${this.selectors.Cell},${this.selectors.Row}`);
|
|
144
|
-
|
|
145
67
|
if (!cell) {
|
|
146
68
|
this.debugLog("tableKeyDown", "cell not found");
|
|
147
69
|
return;
|
|
148
70
|
}
|
|
149
|
-
|
|
150
71
|
if (cell.matches(this.selectors.Cell)) {
|
|
151
72
|
this.debugLog("tableKeyDown", "event captured in cell");
|
|
152
73
|
this.cellNavigation(e);
|
|
@@ -155,77 +76,43 @@ class DataGridNav {
|
|
|
155
76
|
this.gridNavigation(e);
|
|
156
77
|
}
|
|
157
78
|
}
|
|
158
|
-
|
|
159
79
|
/**
|
|
160
80
|
* Handles the navigation inside a cell
|
|
161
81
|
*/
|
|
162
|
-
|
|
82
|
+
cellNavigation(e) {
|
|
163
83
|
if (!(e.target instanceof Element)) {
|
|
164
84
|
return;
|
|
165
85
|
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Keys: Escape
|
|
169
|
-
* Restore grid navigation
|
|
170
|
-
*/
|
|
171
|
-
|
|
172
|
-
// oxlint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
173
|
-
if (e.key === Keys.Escape) {
|
|
86
|
+
if (e.key === "Escape") {
|
|
174
87
|
const cell = e.target.closest(this.selectors.Cell);
|
|
175
88
|
if (cell && this.isFocusable(cell)) {
|
|
176
89
|
cell.focus();
|
|
177
90
|
return;
|
|
178
91
|
}
|
|
179
92
|
}
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Keys: ArrowRight, ArrowDown
|
|
183
|
-
* Move to the next focusable cell, or the first one
|
|
184
|
-
*
|
|
185
|
-
* Arrow Down disabled:
|
|
186
|
-
* https://github.com/w3c/aria-practices/issues/2739#issuecomment-1613538972
|
|
187
|
-
*/
|
|
188
|
-
// oxlint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
189
|
-
if (e.key === Keys.ArrowRight || e.key === Keys.ArrowDown) {
|
|
93
|
+
if (e.key === "ArrowRight" || e.key === "ArrowDown") {
|
|
190
94
|
const cell = e.target.closest(this.selectors.Cell);
|
|
191
95
|
if (!cell) {
|
|
192
96
|
this.debugLog("cellNavigation", "cell not found");
|
|
193
97
|
return;
|
|
194
98
|
}
|
|
195
|
-
|
|
196
99
|
const focusableWidgets = [...cell.querySelectorAll(this.selectors.Focusable)];
|
|
197
|
-
|
|
198
100
|
const widgetIdx = focusableWidgets.findIndex((el) => el === e.target);
|
|
199
|
-
|
|
200
101
|
const nextFocusable = widgetIdx === focusableWidgets.length - 1 ? 0 : widgetIdx + 1;
|
|
201
102
|
const widgetToFocus = focusableWidgets[nextFocusable];
|
|
202
103
|
if (this.isFocusable(widgetToFocus)) {
|
|
203
104
|
widgetToFocus.focus();
|
|
204
105
|
}
|
|
205
|
-
|
|
206
106
|
return;
|
|
207
107
|
}
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Keys: ArrowLeft, ArrowUp
|
|
211
|
-
* Move to the previous focusable cell, or the last one
|
|
212
|
-
*
|
|
213
|
-
* Arrow Up disabled:
|
|
214
|
-
* https://github.com/w3c/aria-practices/issues/2739#issuecomment-1613538972
|
|
215
|
-
*/
|
|
216
|
-
// oxlint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
217
|
-
if (e.key === Keys.ArrowLeft || e.key === Keys.ArrowUp) {
|
|
108
|
+
if (e.key === "ArrowLeft" || e.key === "ArrowUp") {
|
|
218
109
|
const cell = e.target.closest(this.selectors.Cell);
|
|
219
|
-
|
|
220
110
|
if (!cell) {
|
|
221
111
|
this.debugLog("cellNavigation", "cell not found");
|
|
222
112
|
return;
|
|
223
113
|
}
|
|
224
|
-
|
|
225
114
|
const focusableWidgets = [...cell.querySelectorAll(this.selectors.Focusable)];
|
|
226
|
-
|
|
227
115
|
const widgetIdx = focusableWidgets.findIndex((el) => el === e.target);
|
|
228
|
-
|
|
229
116
|
const previousFocusable = widgetIdx === 0 ? focusableWidgets.length - 1 : widgetIdx - 1;
|
|
230
117
|
const widgetToFocus = focusableWidgets[previousFocusable];
|
|
231
118
|
if (this.isFocusable(widgetToFocus)) {
|
|
@@ -233,12 +120,11 @@ class DataGridNav {
|
|
|
233
120
|
}
|
|
234
121
|
}
|
|
235
122
|
}
|
|
236
|
-
|
|
237
123
|
/**
|
|
238
124
|
* Handles the navigation outside a cell
|
|
239
125
|
* on the grid level
|
|
240
126
|
*/
|
|
241
|
-
|
|
127
|
+
gridNavigation(e) {
|
|
242
128
|
const { target } = e;
|
|
243
129
|
if (!(e.target instanceof Element)) {
|
|
244
130
|
return;
|
|
@@ -246,31 +132,18 @@ class DataGridNav {
|
|
|
246
132
|
if (!(target instanceof Element)) {
|
|
247
133
|
return;
|
|
248
134
|
}
|
|
249
|
-
|
|
250
135
|
if (this.keys.length === 1) {
|
|
251
|
-
/**
|
|
252
|
-
* Keys: Enter
|
|
253
|
-
* Should move focus inside the cell to the first focusable element:
|
|
254
|
-
* https://www.w3.org/WAI/ARIA/apg/patterns/grid/#gridNav_inside
|
|
255
|
-
*/
|
|
256
|
-
|
|
257
|
-
// step into the html element and append char
|
|
258
136
|
if (/^[a-zA-Z0-9]$/.test(e.key)) {
|
|
259
137
|
const cell = e.target.querySelector(this.selectors.Focusable);
|
|
260
|
-
|
|
261
138
|
if (cell && this.isFocusable(cell) && cell instanceof HTMLInputElement) {
|
|
262
139
|
cell.focus();
|
|
263
140
|
cell.value = `${cell.value}${e.key}`;
|
|
264
141
|
e.preventDefault();
|
|
265
142
|
}
|
|
266
|
-
|
|
267
143
|
return;
|
|
268
144
|
}
|
|
269
|
-
|
|
270
|
-
// we remove the value of the input
|
|
271
|
-
if (e.key === Keys.Backspace) {
|
|
145
|
+
if (e.key === "Backspace") {
|
|
272
146
|
const cell = e.target.querySelector(this.selectors.Focusable);
|
|
273
|
-
|
|
274
147
|
if (cell && this.isFocusable(cell) && cell instanceof HTMLInputElement) {
|
|
275
148
|
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value")?.set;
|
|
276
149
|
if (nativeInputValueSetter) {
|
|
@@ -279,145 +152,96 @@ class DataGridNav {
|
|
|
279
152
|
cell.dispatchEvent(ev);
|
|
280
153
|
}
|
|
281
154
|
}
|
|
282
|
-
|
|
283
155
|
return;
|
|
284
156
|
}
|
|
285
|
-
|
|
286
|
-
// just go into the focusable element
|
|
287
|
-
if (e.key === Keys.Enter) {
|
|
157
|
+
if (e.key === "Enter") {
|
|
288
158
|
const cell = e.target.querySelector(this.selectors.Focusable);
|
|
289
|
-
|
|
290
159
|
if (cell && this.isFocusable(cell)) {
|
|
291
160
|
if (cell.getAttribute("data-type") === "select-trigger") {
|
|
292
161
|
cell.click();
|
|
293
162
|
return;
|
|
294
163
|
}
|
|
295
|
-
|
|
296
164
|
cell.focus();
|
|
297
165
|
e.preventDefault();
|
|
298
166
|
}
|
|
299
|
-
|
|
300
167
|
return;
|
|
301
168
|
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
* Keys: ArrowLeft, ArrowRight
|
|
305
|
-
* Should move focus to the next/previous cell
|
|
306
|
-
*/
|
|
307
|
-
if (e.key === Keys.ArrowLeft || e.key === Keys.ArrowRight) {
|
|
308
|
-
const direction = e.key === Keys.ArrowLeft ? "prev" : "next";
|
|
309
|
-
// Get the closest cell we are currently in
|
|
169
|
+
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
170
|
+
const direction = e.key === "ArrowLeft" ? "prev" : "next";
|
|
310
171
|
const cell = e.target.closest(this.selectors.Cell);
|
|
311
|
-
|
|
312
|
-
let nextCell: HTMLElement | null = null;
|
|
313
|
-
|
|
172
|
+
let nextCell = null;
|
|
314
173
|
if (direction === "next" && cell?.nextElementSibling instanceof HTMLElement) {
|
|
315
174
|
nextCell = cell.nextElementSibling;
|
|
316
175
|
}
|
|
317
|
-
|
|
318
176
|
if (direction === "prev" && cell?.previousElementSibling instanceof HTMLElement) {
|
|
319
177
|
nextCell = cell.previousElementSibling;
|
|
320
178
|
}
|
|
321
|
-
|
|
322
179
|
if (nextCell && this.isFocusable(nextCell)) {
|
|
323
180
|
nextCell.focus();
|
|
324
181
|
e.preventDefault();
|
|
325
182
|
}
|
|
326
183
|
}
|
|
327
|
-
|
|
328
|
-
/**
|
|
329
|
-
* Keys: Up,Down
|
|
330
|
-
* Should move focus to the same column of the next/previous row
|
|
331
|
-
*/
|
|
332
|
-
if (e.key === Keys.ArrowDown || e.key === Keys.ArrowUp) {
|
|
184
|
+
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
333
185
|
this.verticalCellNavigation(e);
|
|
334
186
|
return;
|
|
335
187
|
}
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Keys: PageUp, PageDown
|
|
339
|
-
* Should move focus to the first/last row
|
|
340
|
-
* or a predefined number of rows if user provides a value
|
|
341
|
-
*/
|
|
342
|
-
if (e.key === Keys.PageUp || e.key === Keys.PageDown) {
|
|
188
|
+
if (e.key === "PageUp" || e.key === "PageDown") {
|
|
343
189
|
this.pageCellNavigation(e);
|
|
344
190
|
return;
|
|
345
191
|
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
*/
|
|
351
|
-
if (e.key === Keys.Home || e.key === Keys.End) {
|
|
352
|
-
const row = e.target.closest(this.selectors.Row)!;
|
|
353
|
-
const rowChildren = [...(row?.children || [])];
|
|
354
|
-
if (e.key === Keys.End) {
|
|
192
|
+
if (e.key === "Home" || e.key === "End") {
|
|
193
|
+
const row = e.target.closest(this.selectors.Row);
|
|
194
|
+
const rowChildren = [...row?.children || []];
|
|
195
|
+
if (e.key === "End") {
|
|
355
196
|
rowChildren.reverse();
|
|
356
197
|
}
|
|
357
198
|
this.focusOnFirstCell(rowChildren);
|
|
358
199
|
}
|
|
359
200
|
} else {
|
|
360
|
-
/**
|
|
361
|
-
* Keys: Control + Home, Control + End
|
|
362
|
-
* Should move focus to the first/last cell of the first/last row
|
|
363
|
-
*/
|
|
364
201
|
const [firstKey, secondKey] = this.keys;
|
|
365
|
-
if (
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
(secondKey === Keys.Home || secondKey === Keys.End)
|
|
369
|
-
) {
|
|
370
|
-
const row = e.target.closest(this.selectors.Row)!;
|
|
202
|
+
if (firstKey === "Control" && // oxlint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
|
|
203
|
+
(secondKey === "Home" || secondKey === "End")) {
|
|
204
|
+
const row = e.target.closest(this.selectors.Row);
|
|
371
205
|
const siblings = row.parentElement?.children;
|
|
372
|
-
|
|
373
206
|
if (!siblings) {
|
|
374
207
|
this.debugLog("cellNavigation", "siblings not found");
|
|
375
208
|
return;
|
|
376
209
|
}
|
|
377
|
-
|
|
378
|
-
const
|
|
379
|
-
|
|
380
|
-
if (secondKey === Keys.End) {
|
|
210
|
+
const rowToFocus = secondKey === "Home" ? siblings[0] : siblings[siblings.length - 1];
|
|
211
|
+
const rowChildren = [...rowToFocus?.children || []];
|
|
212
|
+
if (secondKey === "End") {
|
|
381
213
|
rowChildren.reverse();
|
|
382
214
|
}
|
|
383
215
|
this.focusOnFirstCell(rowChildren);
|
|
384
216
|
}
|
|
385
217
|
}
|
|
386
218
|
}
|
|
387
|
-
|
|
388
|
-
private pageCellNavigation(e: KeyboardEvent) {
|
|
219
|
+
pageCellNavigation(e) {
|
|
389
220
|
if (!(e.target instanceof Element)) {
|
|
390
221
|
return;
|
|
391
222
|
}
|
|
392
|
-
const row = e.target.closest(this.selectors.Row)
|
|
393
|
-
const cell = e.target.closest(this.selectors.Cell)
|
|
394
|
-
|
|
223
|
+
const row = e.target.closest(this.selectors.Row);
|
|
224
|
+
const cell = e.target.closest(this.selectors.Cell);
|
|
395
225
|
if (row && cell) {
|
|
396
226
|
const position = this.getColumnIndex(cell);
|
|
397
|
-
|
|
398
|
-
if (position === undefined) {
|
|
227
|
+
if (position === void 0) {
|
|
399
228
|
this.debugLog("cellNavigation", "position not found");
|
|
400
229
|
return;
|
|
401
230
|
}
|
|
402
|
-
const direction = e.key ===
|
|
231
|
+
const direction = e.key === "PageUp" ? "prev" : "next";
|
|
403
232
|
const siblings = row.parentElement?.children;
|
|
404
|
-
|
|
405
233
|
if (!siblings) {
|
|
406
234
|
this.debugLog("cellNavigation", "siblings not found");
|
|
407
235
|
return;
|
|
408
236
|
}
|
|
409
|
-
|
|
410
|
-
// If pageUpDown is defined, we should move that number of rows, or to the closest possible
|
|
411
|
-
let destinationRow: Element | ChildNode;
|
|
237
|
+
let destinationRow;
|
|
412
238
|
if (this.pageUpDown) {
|
|
413
239
|
const methodClbk = direction === "prev" ? "previousSibling" : "nextSibling";
|
|
414
240
|
let sibling = row[methodClbk];
|
|
415
241
|
if (sibling === null) {
|
|
416
242
|
return;
|
|
417
243
|
}
|
|
418
|
-
|
|
419
244
|
let lastVisitedSibling = sibling;
|
|
420
|
-
|
|
421
245
|
for (let i = 0; i < this.pageUpDown - 1 && sibling; i++) {
|
|
422
246
|
sibling = sibling[methodClbk];
|
|
423
247
|
if (sibling) {
|
|
@@ -431,88 +255,75 @@ class DataGridNav {
|
|
|
431
255
|
if (!destinationRow || !(destinationRow instanceof Element)) {
|
|
432
256
|
return;
|
|
433
257
|
}
|
|
434
|
-
|
|
435
258
|
const child = destinationRow.children[position];
|
|
436
259
|
if (child && this.isFocusable(child)) {
|
|
437
260
|
child.focus();
|
|
438
261
|
}
|
|
439
262
|
}
|
|
440
263
|
}
|
|
441
|
-
|
|
442
|
-
private verticalCellNavigation(e: KeyboardEvent) {
|
|
264
|
+
verticalCellNavigation(e) {
|
|
443
265
|
if (!(e.target instanceof Element)) {
|
|
444
266
|
return;
|
|
445
267
|
}
|
|
446
|
-
const row = e.target.closest(this.selectors.Row)
|
|
447
|
-
const cell = e.target.closest(this.selectors.Cell)
|
|
448
|
-
|
|
268
|
+
const row = e.target.closest(this.selectors.Row);
|
|
269
|
+
const cell = e.target.closest(this.selectors.Cell);
|
|
449
270
|
if (row && cell) {
|
|
450
271
|
const cellPosition = this.getColumnIndex(cell);
|
|
451
272
|
const rowPosition = this.getRowIndex(row);
|
|
452
273
|
this.debugLog("gridNavigation", `Initial row position: ${rowPosition}`);
|
|
453
274
|
this.debugLog("gridNavigation", `Initial cell position: ${cellPosition}`);
|
|
454
|
-
if (cellPosition ===
|
|
275
|
+
if (cellPosition === void 0 || rowPosition === void 0) {
|
|
455
276
|
this.debugLog("verticalCellNavigation", "row or cell position not found");
|
|
456
277
|
return;
|
|
457
278
|
}
|
|
458
|
-
|
|
459
|
-
const direction = e.key === Keys.ArrowUp ? "prev" : "next";
|
|
460
|
-
|
|
461
|
-
/** Find previous rowgroup and focus on the proper cell */
|
|
279
|
+
const direction = e.key === "ArrowUp" ? "prev" : "next";
|
|
462
280
|
if (rowPosition === 0 && direction === "prev") {
|
|
463
281
|
const currentRowGroup = row.parentElement?.closest(this.selectors.RowGroup);
|
|
464
|
-
const siblingRowGroups = [...
|
|
282
|
+
const siblingRowGroups = [...currentRowGroup?.parentElement?.children || []];
|
|
465
283
|
const currentRowGroupIdx = siblingRowGroups.findIndex((el) => el === currentRowGroup);
|
|
466
284
|
if (currentRowGroupIdx !== 0) {
|
|
467
285
|
const previousRowGroup = siblingRowGroups[currentRowGroupIdx - 1];
|
|
468
286
|
const rows = [...previousRowGroup.querySelectorAll(this.selectors.Row)];
|
|
469
|
-
const
|
|
470
|
-
if (
|
|
471
|
-
|
|
287
|
+
const child2 = rows[rows.length - 1].children[cellPosition];
|
|
288
|
+
if (child2 && this.isFocusable(child2)) {
|
|
289
|
+
child2.focus();
|
|
472
290
|
}
|
|
473
291
|
return;
|
|
474
292
|
}
|
|
475
293
|
}
|
|
476
|
-
|
|
477
|
-
const siblingRows = [...(row.parentElement?.querySelectorAll(this.selectors.Row) || [])];
|
|
478
|
-
/** Find next rowgroup and focus on the proper cell */
|
|
294
|
+
const siblingRows = [...row.parentElement?.querySelectorAll(this.selectors.Row) || []];
|
|
479
295
|
if (rowPosition === siblingRows.length - 1 && direction === "next") {
|
|
480
296
|
const currentRowGroup = row.parentElement?.closest(this.selectors.RowGroup);
|
|
481
|
-
const siblingRowGroups = [...
|
|
297
|
+
const siblingRowGroups = [...currentRowGroup?.parentElement?.children || []];
|
|
482
298
|
const currentRowGroupIdx = siblingRowGroups.findIndex((el) => el === currentRowGroup);
|
|
483
299
|
if (currentRowGroupIdx !== siblingRowGroups.length - 1) {
|
|
484
300
|
const nextRowGroup = siblingRowGroups[currentRowGroupIdx + 1];
|
|
485
301
|
const rows = [...nextRowGroup.querySelectorAll(this.selectors.Row)];
|
|
486
|
-
const
|
|
487
|
-
if (
|
|
488
|
-
|
|
302
|
+
const child2 = rows[0].children[cellPosition];
|
|
303
|
+
if (child2 && this.isFocusable(child2)) {
|
|
304
|
+
child2.focus();
|
|
489
305
|
}
|
|
490
306
|
return;
|
|
491
307
|
}
|
|
492
308
|
return;
|
|
493
309
|
}
|
|
494
|
-
|
|
495
|
-
/** Navigation in the same rowgroup */
|
|
496
310
|
const destinationRow = this.findUntil(direction, row, this.selectors.Row);
|
|
497
311
|
if (!destinationRow) {
|
|
498
312
|
return;
|
|
499
313
|
}
|
|
500
|
-
|
|
501
314
|
const child = destinationRow.children[cellPosition];
|
|
502
315
|
if (child && this.isFocusable(child)) {
|
|
503
316
|
child.focus();
|
|
504
317
|
}
|
|
505
318
|
}
|
|
506
319
|
}
|
|
507
|
-
|
|
508
320
|
/**
|
|
509
321
|
* Sending a row `Element` and then the first cell will be focused.
|
|
510
322
|
*
|
|
511
323
|
* If you want to focus the last cell then the row children can be passed in
|
|
512
324
|
* reversed order
|
|
513
325
|
*/
|
|
514
|
-
|
|
515
|
-
// oxlint-disable-next-line @typescript-eslint/prefer-for-of
|
|
326
|
+
focusOnFirstCell(el) {
|
|
516
327
|
for (let i = 0; i < el.length; i++) {
|
|
517
328
|
const child = el[i];
|
|
518
329
|
if (this.isFocusable(child)) {
|
|
@@ -521,67 +332,52 @@ class DataGridNav {
|
|
|
521
332
|
}
|
|
522
333
|
}
|
|
523
334
|
}
|
|
524
|
-
|
|
525
335
|
/**
|
|
526
336
|
* Get the column index of a `cell` based on the first `row` parent.
|
|
527
337
|
* `cellIndex` could be used, but it's not supported in HTML tables.
|
|
528
338
|
*/
|
|
529
|
-
|
|
339
|
+
getColumnIndex(cell) {
|
|
530
340
|
let position = 0;
|
|
531
341
|
const siblings = cell?.parentNode?.children;
|
|
532
342
|
if (!siblings) {
|
|
533
|
-
return
|
|
343
|
+
return void 0;
|
|
534
344
|
}
|
|
535
|
-
|
|
536
|
-
while (cell !== siblings[position] && siblings[position] !== undefined) {
|
|
345
|
+
while (cell !== siblings[position] && siblings[position] !== void 0) {
|
|
537
346
|
position++;
|
|
538
347
|
}
|
|
539
|
-
|
|
540
|
-
// Cell position find was not possible, maybe should log here
|
|
541
|
-
if (siblings[position] === undefined) {
|
|
348
|
+
if (siblings[position] === void 0) {
|
|
542
349
|
this.debugLog("getColumnIndex", "position finding was not successful");
|
|
543
|
-
return
|
|
350
|
+
return void 0;
|
|
544
351
|
}
|
|
545
352
|
return position;
|
|
546
353
|
}
|
|
547
|
-
|
|
548
354
|
/**
|
|
549
355
|
* Get the row index of a `row` based
|
|
550
356
|
* on its sibling rows
|
|
551
357
|
*/
|
|
552
|
-
|
|
358
|
+
getRowIndex(row) {
|
|
553
359
|
let position = 0;
|
|
554
360
|
const siblings = row?.parentNode?.children;
|
|
555
361
|
if (!siblings) {
|
|
556
|
-
return
|
|
362
|
+
return void 0;
|
|
557
363
|
}
|
|
558
|
-
|
|
559
|
-
while (row !== siblings[position] && siblings[position] !== undefined) {
|
|
364
|
+
while (row !== siblings[position] && siblings[position] !== void 0) {
|
|
560
365
|
position++;
|
|
561
366
|
}
|
|
562
|
-
|
|
563
|
-
// Cell position find was not possible
|
|
564
|
-
if (siblings[position] === undefined) {
|
|
367
|
+
if (siblings[position] === void 0) {
|
|
565
368
|
this.debugLog("getRowIndex", "position finding was not successful");
|
|
566
|
-
return
|
|
369
|
+
return void 0;
|
|
567
370
|
}
|
|
568
371
|
return position;
|
|
569
372
|
}
|
|
570
|
-
|
|
571
373
|
/**
|
|
572
374
|
* Equivalent to prevUntil/nextUntil in jQuery
|
|
573
375
|
* https://api.jquery.com/prevUntil/
|
|
574
376
|
*/
|
|
575
377
|
// oxlint-disable-next-line class-methods-use-this
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
el: Element | ChildNode,
|
|
579
|
-
matchSelector: string,
|
|
580
|
-
exitSelector?: string,
|
|
581
|
-
): FocusableElement | null {
|
|
582
|
-
let element: ChildNode = el;
|
|
378
|
+
findUntil(direction, el, matchSelector, exitSelector) {
|
|
379
|
+
let element = el;
|
|
583
380
|
const method = direction === "next" ? "nextSibling" : "previousSibling";
|
|
584
|
-
|
|
585
381
|
while (element[method]) {
|
|
586
382
|
const sibling = element[method];
|
|
587
383
|
if (!sibling) {
|
|
@@ -590,26 +386,24 @@ class DataGridNav {
|
|
|
590
386
|
if (exitSelector && sibling instanceof Element && sibling.matches(exitSelector)) {
|
|
591
387
|
return null;
|
|
592
388
|
}
|
|
593
|
-
|
|
594
389
|
if (sibling instanceof Element && sibling.matches(matchSelector)) {
|
|
595
|
-
return sibling
|
|
390
|
+
return sibling;
|
|
596
391
|
}
|
|
597
|
-
|
|
598
392
|
element = sibling;
|
|
599
393
|
}
|
|
600
|
-
|
|
601
394
|
return null;
|
|
602
395
|
}
|
|
603
396
|
}
|
|
604
|
-
|
|
605
|
-
export function useTableNav(options?: Config) {
|
|
397
|
+
function useTableNav(options) {
|
|
606
398
|
const nav = new DataGridNav(options);
|
|
607
|
-
|
|
608
399
|
return {
|
|
609
400
|
listeners: {
|
|
610
|
-
onKeyDown: (e
|
|
611
|
-
onKeyUp: () => nav.tableKeyUp()
|
|
401
|
+
onKeyDown: (e) => nav.tableKeyDown(e),
|
|
402
|
+
onKeyUp: () => nav.tableKeyUp()
|
|
612
403
|
},
|
|
613
|
-
tableNav: nav
|
|
404
|
+
tableNav: nav
|
|
614
405
|
};
|
|
615
406
|
}
|
|
407
|
+
export {
|
|
408
|
+
useTableNav
|
|
409
|
+
};
|