@atom-learning/components 6.5.4 → 6.5.5
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/_virtual/_rolldown/runtime.js +9 -7
- package/dist/components/accordion/Accordion.js +17 -14
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/AccordionContent.js +9 -7
- package/dist/components/accordion/AccordionContent.js.map +1 -1
- package/dist/components/accordion/AccordionItem.js +4 -4
- package/dist/components/accordion/AccordionItem.js.map +1 -1
- package/dist/components/accordion/AccordionTrigger.js +21 -18
- package/dist/components/accordion/AccordionTrigger.js.map +1 -1
- package/dist/components/action-icon/ActionIcon.constants.js +2 -2
- package/dist/components/action-icon/ActionIcon.constants.js.map +1 -1
- package/dist/components/action-icon/ActionIcon.js +36 -33
- package/dist/components/action-icon/ActionIcon.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialog.js +11 -11
- package/dist/components/alert-dialog/AlertDialog.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent.js +12 -9
- package/dist/components/alert-dialog/AlertDialogContent.js.map +1 -1
- package/dist/components/alert-dialog/alert-context/AlertContext.js +22 -19
- package/dist/components/alert-dialog/alert-context/AlertContext.js.map +1 -1
- package/dist/components/alert-dialog/alert-context/AlertDialog.js +20 -20
- package/dist/components/alert-dialog/alert-context/AlertDialog.js.map +1 -1
- package/dist/components/alert-dialog/alert-context/AlertDialogIcon.js +16 -14
- package/dist/components/alert-dialog/alert-context/AlertDialogIcon.js.map +1 -1
- package/dist/components/alert-dialog/alert-context/reducer.js +10 -9
- package/dist/components/alert-dialog/alert-context/reducer.js.map +1 -1
- package/dist/components/avatar/Avatar.js +38 -33
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/AvatarContext.js +3 -3
- package/dist/components/avatar/AvatarContext.js.map +1 -1
- package/dist/components/avatar/AvatarIcon.js +13 -11
- package/dist/components/avatar/AvatarIcon.js.map +1 -1
- package/dist/components/avatar/AvatarImage.js +12 -9
- package/dist/components/avatar/AvatarImage.js.map +1 -1
- package/dist/components/avatar/AvatarInitial.js +15 -12
- package/dist/components/avatar/AvatarInitial.js.map +1 -1
- package/dist/components/avatar/AvatarPlaceholder.js +10 -8
- package/dist/components/avatar/AvatarPlaceholder.js.map +1 -1
- package/dist/components/badge/Badge.colorscheme.config.js +45 -38
- package/dist/components/badge/Badge.colorscheme.config.js.map +1 -1
- package/dist/components/badge/Badge.context.js +15 -13
- package/dist/components/badge/Badge.context.js.map +1 -1
- package/dist/components/badge/Badge.js +55 -43
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/badge/BadgeIcon.js +5 -5
- package/dist/components/badge/BadgeIcon.js.map +1 -1
- package/dist/components/badge/BadgeText.js +32 -26
- package/dist/components/badge/BadgeText.js.map +1 -1
- package/dist/components/banner/Banner.js +4 -4
- package/dist/components/banner/Banner.js.map +1 -1
- package/dist/components/banner/BannerContainer.js +20 -19
- package/dist/components/banner/BannerContainer.js.map +1 -1
- package/dist/components/banner/BannerContext.js +24 -21
- package/dist/components/banner/BannerContext.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegular.js +28 -27
- package/dist/components/banner/banner-regular/BannerRegular.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularActions.js +32 -20
- package/dist/components/banner/banner-regular/BannerRegularActions.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularButton.js +14 -13
- package/dist/components/banner/banner-regular/BannerRegularButton.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularContainer.js +4 -4
- package/dist/components/banner/banner-regular/BannerRegularContainer.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularContent.js +12 -11
- package/dist/components/banner/banner-regular/BannerRegularContent.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularDismiss.js +30 -25
- package/dist/components/banner/banner-regular/BannerRegularDismiss.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularHeading.js +15 -14
- package/dist/components/banner/banner-regular/BannerRegularHeading.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularImage.js +13 -11
- package/dist/components/banner/banner-regular/BannerRegularImage.js.map +1 -1
- package/dist/components/banner/banner-regular/BannerRegularText.js +16 -15
- package/dist/components/banner/banner-regular/BannerRegularText.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlim.js +26 -25
- package/dist/components/banner/banner-slim/BannerSlim.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimActions.js +13 -12
- package/dist/components/banner/banner-slim/BannerSlimActions.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimButton.js +15 -14
- package/dist/components/banner/banner-slim/BannerSlimButton.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimContainer.js +33 -17
- package/dist/components/banner/banner-slim/BannerSlimContainer.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimContent.js +4 -4
- package/dist/components/banner/banner-slim/BannerSlimContent.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimDismiss.js +27 -22
- package/dist/components/banner/banner-slim/BannerSlimDismiss.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimImage.js +13 -11
- package/dist/components/banner/banner-slim/BannerSlimImage.js.map +1 -1
- package/dist/components/banner/banner-slim/BannerSlimText.js +16 -15
- package/dist/components/banner/banner-slim/BannerSlimText.js.map +1 -1
- package/dist/components/box/Box.js +4 -4
- package/dist/components/box/Box.js.map +1 -1
- package/dist/components/button/Button.js +23 -20
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/calendar/Calendar.js +80 -67
- package/dist/components/calendar/Calendar.js.map +1 -1
- package/dist/components/calendar/Day.js +6 -3
- package/dist/components/calendar/Day.js.map +1 -1
- package/dist/components/calendar/constants.js +6 -4
- package/dist/components/calendar/constants.js.map +1 -1
- package/dist/components/carousel/Carousel.js +26 -20
- package/dist/components/carousel/Carousel.js.map +1 -1
- package/dist/components/carousel/CarouselArrows.js +12 -8
- package/dist/components/carousel/CarouselArrows.js.map +1 -1
- package/dist/components/carousel/CarouselPagination.js +5 -4
- package/dist/components/carousel/CarouselPagination.js.map +1 -1
- package/dist/components/carousel/CarouselSlide.js +6 -6
- package/dist/components/carousel/CarouselSlide.js.map +1 -1
- package/dist/components/carousel/CarouselSlider.js +8 -8
- package/dist/components/carousel/CarouselSlider.js.map +1 -1
- package/dist/components/checkbox/Checkbox.js +65 -21
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/checkbox-field/CheckboxField.js +39 -32
- package/dist/components/checkbox-field/CheckboxField.js.map +1 -1
- package/dist/components/checkbox-group/CheckboxGroup.js +21 -19
- package/dist/components/checkbox-group/CheckboxGroup.js.map +1 -1
- package/dist/components/checkbox-group/CheckboxGroupAllItem.js +25 -16
- package/dist/components/checkbox-group/CheckboxGroupAllItem.js.map +1 -1
- package/dist/components/checkbox-group/CheckboxGroupItem.js +23 -16
- package/dist/components/checkbox-group/CheckboxGroupItem.js.map +1 -1
- package/dist/components/checkbox-group/CheckboxGroupSub.js +7 -7
- package/dist/components/checkbox-group/CheckboxGroupSub.js.map +1 -1
- package/dist/components/checkbox-group/context/CheckboxGroupChecked.context.js +36 -26
- package/dist/components/checkbox-group/context/CheckboxGroupChecked.context.js.map +1 -1
- package/dist/components/checkbox-group/context/CheckboxGroupMounted.context.js +22 -15
- package/dist/components/checkbox-group/context/CheckboxGroupMounted.context.js.map +1 -1
- package/dist/components/checkbox-tree/CheckboxTree.js +24 -22
- package/dist/components/checkbox-tree/CheckboxTree.js.map +1 -1
- package/dist/components/checkbox-tree/CheckboxTreeCollapsible.js +7 -5
- package/dist/components/checkbox-tree/CheckboxTreeCollapsible.js.map +1 -1
- package/dist/components/checkbox-tree/CheckboxTreeCollapsibleContent.js +10 -8
- package/dist/components/checkbox-tree/CheckboxTreeCollapsibleContent.js.map +1 -1
- package/dist/components/checkbox-tree/CheckboxTreeCollapsibleTrigger.js +15 -14
- package/dist/components/checkbox-tree/CheckboxTreeCollapsibleTrigger.js.map +1 -1
- package/dist/components/checkbox-tree/CheckboxTreeItem.js +12 -12
- package/dist/components/checkbox-tree/CheckboxTreeItem.js.map +1 -1
- package/dist/components/checkbox-tree/CheckboxTreeItemContent.js +14 -7
- package/dist/components/checkbox-tree/CheckboxTreeItemContent.js.map +1 -1
- package/dist/components/chip/Chip.js +49 -33
- package/dist/components/chip/Chip.js.map +1 -1
- package/dist/components/chip/ChipGroup.js +3 -3
- package/dist/components/chip/ChipGroup.js.map +1 -1
- package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.js +19 -16
- package/dist/components/chip-dismissible-group/ChipDismissibleGroupItem.js.map +1 -1
- package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.js +11 -9
- package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.js.map +1 -1
- package/dist/components/chip-dismissible-group/index.js +6 -5
- package/dist/components/chip-dismissible-group/index.js.map +1 -1
- package/dist/components/chip-toggle-group/ChipToggleGroupItem.js +19 -15
- package/dist/components/chip-toggle-group/ChipToggleGroupItem.js.map +1 -1
- package/dist/components/chip-toggle-group/ChipToggleGroupRoot.js +12 -10
- package/dist/components/chip-toggle-group/ChipToggleGroupRoot.js.map +1 -1
- package/dist/components/chip-toggle-group/index.js +6 -5
- package/dist/components/chip-toggle-group/index.js.map +1 -1
- package/dist/components/combobox/Combobox.js +12 -12
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/ComboboxInput.js +41 -10
- package/dist/components/combobox/ComboboxInput.js.map +1 -1
- package/dist/components/combobox/ComboboxList.js +9 -4
- package/dist/components/combobox/ComboboxList.js.map +1 -1
- package/dist/components/combobox/ComboboxOption.js +5 -4
- package/dist/components/combobox/ComboboxOption.js.map +1 -1
- package/dist/components/combobox/ComboboxPopover.js +5 -4
- package/dist/components/combobox/ComboboxPopover.js.map +1 -1
- package/dist/components/create-password-field/CreatePasswordField.js +45 -29
- package/dist/components/create-password-field/CreatePasswordField.js.map +1 -1
- package/dist/components/data-table/DataTable.js +42 -37
- package/dist/components/data-table/DataTable.js.map +1 -1
- package/dist/components/data-table/DataTable.types.js +7 -3
- package/dist/components/data-table/DataTable.types.js.map +1 -1
- package/dist/components/data-table/DataTableBody.js +17 -15
- package/dist/components/data-table/DataTableBody.js.map +1 -1
- package/dist/components/data-table/DataTableBulkActions.js +35 -28
- package/dist/components/data-table/DataTableBulkActions.js.map +1 -1
- package/dist/components/data-table/DataTableBulkActionsFloating.js +54 -20
- package/dist/components/data-table/DataTableBulkActionsFloating.js.map +1 -1
- package/dist/components/data-table/DataTableBulkActionsSelectedRowActions.js +13 -11
- package/dist/components/data-table/DataTableBulkActionsSelectedRowActions.js.map +1 -1
- package/dist/components/data-table/DataTableContext.js +119 -98
- package/dist/components/data-table/DataTableContext.js.map +1 -1
- package/dist/components/data-table/DataTableDataCell.js +7 -5
- package/dist/components/data-table/DataTableDataCell.js.map +1 -1
- package/dist/components/data-table/DataTableEmptyState.js +9 -8
- package/dist/components/data-table/DataTableEmptyState.js.map +1 -1
- package/dist/components/data-table/DataTableError.js +7 -6
- package/dist/components/data-table/DataTableError.js.map +1 -1
- package/dist/components/data-table/DataTableGlobalFilter.js +25 -22
- package/dist/components/data-table/DataTableGlobalFilter.js.map +1 -1
- package/dist/components/data-table/DataTableHead.js +58 -43
- package/dist/components/data-table/DataTableHead.js.map +1 -1
- package/dist/components/data-table/DataTableHeaderCell.js +46 -33
- package/dist/components/data-table/DataTableHeaderCell.js.map +1 -1
- package/dist/components/data-table/DataTableLoading.js +12 -10
- package/dist/components/data-table/DataTableLoading.js.map +1 -1
- package/dist/components/data-table/DataTableMetaData.js +25 -13
- package/dist/components/data-table/DataTableMetaData.js.map +1 -1
- package/dist/components/data-table/DataTableRow.js +69 -48
- package/dist/components/data-table/DataTableRow.js.map +1 -1
- package/dist/components/data-table/DataTableRowSelectionCheckbox.js +14 -14
- package/dist/components/data-table/DataTableRowSelectionCheckbox.js.map +1 -1
- package/dist/components/data-table/DataTableSelectAllRowsCheckbox.js +21 -12
- package/dist/components/data-table/DataTableSelectAllRowsCheckbox.js.map +1 -1
- package/dist/components/data-table/DataTableTable.js +93 -68
- package/dist/components/data-table/DataTableTable.js.map +1 -1
- package/dist/components/data-table/drag-and-drop/DragAndDropTable.js +43 -36
- package/dist/components/data-table/drag-and-drop/DragAndDropTable.js.map +1 -1
- package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.js +17 -15
- package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.js.map +1 -1
- package/dist/components/data-table/drag-and-drop/DragAndDropTableRow.js +22 -19
- package/dist/components/data-table/drag-and-drop/DragAndDropTableRow.js.map +1 -1
- package/dist/components/data-table/getNewAsyncData.js +16 -12
- package/dist/components/data-table/getNewAsyncData.js.map +1 -1
- package/dist/components/data-table/pagination/Pagination.js +33 -24
- package/dist/components/data-table/pagination/Pagination.js.map +1 -1
- package/dist/components/data-table/usePagination.js +14 -12
- package/dist/components/data-table/usePagination.js.map +1 -1
- package/dist/components/data-table/useSorting.js +11 -10
- package/dist/components/data-table/useSorting.js.map +1 -1
- package/dist/components/date-field/DateField.js +29 -27
- package/dist/components/date-field/DateField.js.map +1 -1
- package/dist/components/date-input/DateInput.js +86 -67
- package/dist/components/date-input/DateInput.js.map +1 -1
- package/dist/components/date-input/constants.js +2 -2
- package/dist/components/date-input/constants.js.map +1 -1
- package/dist/components/dialog/Dialog.js +17 -17
- package/dist/components/dialog/Dialog.js.map +1 -1
- package/dist/components/dialog/DialogBackground.js +3 -3
- package/dist/components/dialog/DialogBackground.js.map +1 -1
- package/dist/components/dialog/DialogClose.js +3 -3
- package/dist/components/dialog/DialogClose.js.map +1 -1
- package/dist/components/dialog/DialogContent.js +24 -20
- package/dist/components/dialog/DialogContent.js.map +1 -1
- package/dist/components/dialog/DialogFooter.js +3 -3
- package/dist/components/dialog/DialogFooter.js.map +1 -1
- package/dist/components/dialog/DialogHeading.js +7 -7
- package/dist/components/dialog/DialogHeading.js.map +1 -1
- package/dist/components/dismissible/DismissibleRoot.js +36 -31
- package/dist/components/dismissible/DismissibleRoot.js.map +1 -1
- package/dist/components/dismissible/DismissibleTrigger.js +22 -17
- package/dist/components/dismissible/DismissibleTrigger.js.map +1 -1
- package/dist/components/dismissible/index.js +4 -4
- package/dist/components/dismissible/index.js.map +1 -1
- package/dist/components/dismissible-group/DismissibleGroupItem.js +13 -13
- package/dist/components/dismissible-group/DismissibleGroupItem.js.map +1 -1
- package/dist/components/dismissible-group/DismissibleGroupRoot.js +17 -13
- package/dist/components/dismissible-group/DismissibleGroupRoot.js.map +1 -1
- package/dist/components/dismissible-group/index.js +7 -7
- package/dist/components/dismissible-group/index.js.map +1 -1
- package/dist/components/divider/Divider.js +12 -9
- package/dist/components/divider/Divider.js.map +1 -1
- package/dist/components/drawer/Drawer.context.js +8 -7
- package/dist/components/drawer/Drawer.context.js.map +1 -1
- package/dist/components/drawer/Drawer.js +19 -12
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/DrawerClose.js +10 -10
- package/dist/components/drawer/DrawerClose.js.map +1 -1
- package/dist/components/drawer/DrawerContent.js +18 -17
- package/dist/components/drawer/DrawerContent.js.map +1 -1
- package/dist/components/drawer/DrawerFooter.js +3 -3
- package/dist/components/drawer/DrawerFooter.js.map +1 -1
- package/dist/components/drawer/DrawerHeader.js +3 -3
- package/dist/components/drawer/DrawerHeader.js.map +1 -1
- package/dist/components/drawer/DrawerMain.js +3 -3
- package/dist/components/drawer/DrawerMain.js.map +1 -1
- package/dist/components/drawer/DrawerOverlay.js +5 -5
- package/dist/components/drawer/DrawerOverlay.js.map +1 -1
- package/dist/components/drawer/DrawerTrigger.js +3 -3
- package/dist/components/drawer/DrawerTrigger.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.js +14 -14
- package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuContent.js +4 -4
- package/dist/components/dropdown-menu/DropdownMenuContent.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuItem.js +36 -4
- package/dist/components/dropdown-menu/DropdownMenuItem.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuLinkItem.js +13 -12
- package/dist/components/dropdown-menu/DropdownMenuLinkItem.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuSeparator.js +4 -4
- package/dist/components/dropdown-menu/DropdownMenuSeparator.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger.js +4 -4
- package/dist/components/dropdown-menu/DropdownMenuTrigger.js.map +1 -1
- package/dist/components/empty-state/EmptyState.context.js +6 -5
- package/dist/components/empty-state/EmptyState.context.js.map +1 -1
- package/dist/components/empty-state/EmptyState.js +18 -16
- package/dist/components/empty-state/EmptyState.js.map +1 -1
- package/dist/components/empty-state/EmptyStateBody.js +12 -11
- package/dist/components/empty-state/EmptyStateBody.js.map +1 -1
- package/dist/components/empty-state/EmptyStateImage.js +12 -11
- package/dist/components/empty-state/EmptyStateImage.js.map +1 -1
- package/dist/components/empty-state/EmptyStateTitle.js +13 -11
- package/dist/components/empty-state/EmptyStateTitle.js.map +1 -1
- package/dist/components/field-wrapper/FieldDescription.js +7 -7
- package/dist/components/field-wrapper/FieldDescription.js.map +1 -1
- package/dist/components/field-wrapper/FieldWrapper.js +16 -16
- package/dist/components/field-wrapper/FieldWrapper.js.map +1 -1
- package/dist/components/field-wrapper/InlineFieldWrapper.js +14 -14
- package/dist/components/field-wrapper/InlineFieldWrapper.js.map +1 -1
- package/dist/components/file-drop/FileDrop.js +44 -33
- package/dist/components/file-drop/FileDrop.js.map +1 -1
- package/dist/components/file-drop/FileDropContext.js +4 -4
- package/dist/components/file-drop/FileDropContext.js.map +1 -1
- package/dist/components/file-drop/useFileDrop.js +4 -4
- package/dist/components/file-drop/useFileDrop.js.map +1 -1
- package/dist/components/file-input/FileInput.js +17 -17
- package/dist/components/file-input/FileInput.js.map +1 -1
- package/dist/components/flex/Flex.js +5 -5
- package/dist/components/flex/Flex.js.map +1 -1
- package/dist/components/form/Form.js +14 -13
- package/dist/components/form/Form.js.map +1 -1
- package/dist/components/form/useFieldError.js +8 -6
- package/dist/components/form/useFieldError.js.map +1 -1
- package/dist/components/form/useFormCustomContext.js +4 -3
- package/dist/components/form/useFormCustomContext.js.map +1 -1
- package/dist/components/grid/Grid.js +14 -13
- package/dist/components/grid/Grid.js.map +1 -1
- package/dist/components/heading/Heading.js +12 -11
- package/dist/components/heading/Heading.js.map +1 -1
- package/dist/components/icon/Icon.js +10 -9
- package/dist/components/icon/Icon.js.map +1 -1
- package/dist/components/image/Image.js +10 -9
- package/dist/components/image/Image.js.map +1 -1
- package/dist/components/inline-message/InlineMessage.config.js +8 -8
- package/dist/components/inline-message/InlineMessage.config.js.map +1 -1
- package/dist/components/inline-message/InlineMessage.js +17 -16
- package/dist/components/inline-message/InlineMessage.js.map +1 -1
- package/dist/components/input/Input.js +40 -33
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/input-field/InputField.js +31 -27
- package/dist/components/input-field/InputField.js.map +1 -1
- package/dist/components/keyboard-shortcut/KeyboardShortcut.js +38 -31
- package/dist/components/keyboard-shortcut/KeyboardShortcut.js.map +1 -1
- package/dist/components/keyboard-shortcut/index.js +4 -4
- package/dist/components/keyboard-shortcut/index.js.map +1 -1
- package/dist/components/label/Label.js +20 -15
- package/dist/components/label/Label.js.map +1 -1
- package/dist/components/link/Link.js +15 -14
- package/dist/components/link/Link.js.map +1 -1
- package/dist/components/list/List.js +14 -12
- package/dist/components/list/List.js.map +1 -1
- package/dist/components/loader/Loader.js +10 -9
- package/dist/components/loader/Loader.js.map +1 -1
- package/dist/components/markdown-content/MarkdownContent.js +57 -52
- package/dist/components/markdown-content/MarkdownContent.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownCode.js +6 -5
- package/dist/components/markdown-content/components/MarkdownCode.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownEmphasis.js +5 -4
- package/dist/components/markdown-content/components/MarkdownEmphasis.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownHeading.js +13 -12
- package/dist/components/markdown-content/components/MarkdownHeading.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownImage.js +7 -7
- package/dist/components/markdown-content/components/MarkdownImage.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownInlineCode.js +6 -5
- package/dist/components/markdown-content/components/MarkdownInlineCode.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownLink.js +7 -7
- package/dist/components/markdown-content/components/MarkdownLink.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownList.js +8 -8
- package/dist/components/markdown-content/components/MarkdownList.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownListItem.js +4 -4
- package/dist/components/markdown-content/components/MarkdownListItem.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownParagraph.js +4 -4
- package/dist/components/markdown-content/components/MarkdownParagraph.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownStrong.js +5 -4
- package/dist/components/markdown-content/components/MarkdownStrong.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownText.js +2 -2
- package/dist/components/markdown-content/components/MarkdownText.js.map +1 -1
- package/dist/components/markdown-content/components/MarkdownThematicBreak.js +5 -5
- package/dist/components/markdown-content/components/MarkdownThematicBreak.js.map +1 -1
- package/dist/components/navigation/NavigationMenu.colorscheme.config.js +2 -2
- package/dist/components/navigation/NavigationMenu.colorscheme.config.js.map +1 -1
- package/dist/components/navigation/NavigationMenu.js +59 -45
- package/dist/components/navigation/NavigationMenu.js.map +1 -1
- package/dist/components/navigation/NavigationMenu.styles.js +4 -3
- package/dist/components/navigation/NavigationMenu.styles.js.map +1 -1
- package/dist/components/navigation/NavigationMenuContext.js +7 -6
- package/dist/components/navigation/NavigationMenuContext.js.map +1 -1
- package/dist/components/navigation/NavigationMenuDropdown.js +17 -16
- package/dist/components/navigation/NavigationMenuDropdown.js.map +1 -1
- package/dist/components/navigation/NavigationMenuDropdownContent.js +13 -12
- package/dist/components/navigation/NavigationMenuDropdownContent.js.map +1 -1
- package/dist/components/navigation/NavigationMenuDropdownItem.js +15 -11
- package/dist/components/navigation/NavigationMenuDropdownItem.js.map +1 -1
- package/dist/components/navigation/NavigationMenuDropdownTrigger.js +23 -22
- package/dist/components/navigation/NavigationMenuDropdownTrigger.js.map +1 -1
- package/dist/components/navigation/NavigationMenuLink.js +25 -22
- package/dist/components/navigation/NavigationMenuLink.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.colorscheme.config.js +2 -2
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.colorscheme.config.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.js +26 -25
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.styles.js +31 -2
- package/dist/components/navigation-menu-vertical/NavigationMenuVertical.styles.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordion.js +23 -21
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordion.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionContent.js +21 -13
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionContent.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionTrigger.js +24 -22
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionTrigger.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalIcon.js +7 -6
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalIcon.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItem.js +7 -7
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItem.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.js +14 -10
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalLink.js +22 -20
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalLink.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalList.js +4 -4
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalList.js.map +1 -1
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalText.js +12 -11
- package/dist/components/navigation-menu-vertical/NavigationMenuVerticalText.js.map +1 -1
- package/dist/components/notification-badge/NotificationBadge.js +13 -12
- package/dist/components/notification-badge/NotificationBadge.js.map +1 -1
- package/dist/components/number-input/NumberInput.js +134 -103
- package/dist/components/number-input/NumberInput.js.map +1 -1
- package/dist/components/number-input/NumberInputStepper.js +22 -16
- package/dist/components/number-input/NumberInputStepper.js.map +1 -1
- package/dist/components/number-input-field/NumberInputField.js +45 -39
- package/dist/components/number-input-field/NumberInputField.js.map +1 -1
- package/dist/components/pagination/Pagination.d.ts +1 -1
- package/dist/components/pagination/Pagination.js +29 -28
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationItems.js +18 -18
- package/dist/components/pagination/PaginationItems.js.map +1 -1
- package/dist/components/pagination/PaginationNextButton.js +18 -16
- package/dist/components/pagination/PaginationNextButton.js.map +1 -1
- package/dist/components/pagination/PaginationPage.js +60 -23
- package/dist/components/pagination/PaginationPage.js.map +1 -1
- package/dist/components/pagination/PaginationPopover.js +28 -24
- package/dist/components/pagination/PaginationPopover.js.map +1 -1
- package/dist/components/pagination/PaginationPreviousButton.js +18 -16
- package/dist/components/pagination/PaginationPreviousButton.js.map +1 -1
- package/dist/components/pagination/pagination-context/PaginationContext.js +51 -39
- package/dist/components/pagination/pagination-context/PaginationContext.js.map +1 -1
- package/dist/components/pagination/pagination.constants.js +9 -4
- package/dist/components/pagination/pagination.constants.js.map +1 -1
- package/dist/components/pagination/pagination.helper.js +112 -29
- package/dist/components/pagination/pagination.helper.js.map +1 -1
- package/dist/components/pagination/usePagination.js +7 -7
- package/dist/components/pagination/usePagination.js.map +1 -1
- package/dist/components/password-field/PasswordField.js +32 -28
- package/dist/components/password-field/PasswordField.js.map +1 -1
- package/dist/components/password-input/PasswordInput.js +25 -23
- package/dist/components/password-input/PasswordInput.js.map +1 -1
- package/dist/components/popover/Popover.js +9 -9
- package/dist/components/popover/Popover.js.map +1 -1
- package/dist/components/popover/PopoverContent.js +21 -19
- package/dist/components/popover/PopoverContent.js.map +1 -1
- package/dist/components/progress-bar/ProgressBar.js +18 -15
- package/dist/components/progress-bar/ProgressBar.js.map +1 -1
- package/dist/components/radio-button/RadioButton.js +17 -11
- package/dist/components/radio-button/RadioButton.js.map +1 -1
- package/dist/components/radio-button/RadioButtonGroup.js +5 -5
- package/dist/components/radio-button/RadioButtonGroup.js.map +1 -1
- package/dist/components/radio-button-field/RadioButtonField.js +43 -32
- package/dist/components/radio-button-field/RadioButtonField.js.map +1 -1
- package/dist/components/radio-button-field/RadioField.js +11 -11
- package/dist/components/radio-button-field/RadioField.js.map +1 -1
- package/dist/components/radio-card/RadioCard.js +23 -18
- package/dist/components/radio-card/RadioCard.js.map +1 -1
- package/dist/components/radio-card/RadioCardGroup.js +13 -10
- package/dist/components/radio-card/RadioCardGroup.js.map +1 -1
- package/dist/components/search-field/SearchField.js +31 -27
- package/dist/components/search-field/SearchField.js.map +1 -1
- package/dist/components/search-input/SearchInput.js +71 -54
- package/dist/components/search-input/SearchInput.js.map +1 -1
- package/dist/components/section-message/SectionMessage.js +29 -22
- package/dist/components/section-message/SectionMessage.js.map +1 -1
- package/dist/components/section-message/SectionMessageContext.js +23 -19
- package/dist/components/section-message/SectionMessageContext.js.map +1 -1
- package/dist/components/section-message/SectionMessageDescription.js +7 -7
- package/dist/components/section-message/SectionMessageDescription.js.map +1 -1
- package/dist/components/section-message/SectionMessageDismiss.js +19 -15
- package/dist/components/section-message/SectionMessageDismiss.js.map +1 -1
- package/dist/components/section-message/SectionMessageIcon.js +23 -18
- package/dist/components/section-message/SectionMessageIcon.js.map +1 -1
- package/dist/components/section-message/SectionMessageLayout.js +8 -7
- package/dist/components/section-message/SectionMessageLayout.js.map +1 -1
- package/dist/components/section-message/SectionMessageTitle.js +5 -5
- package/dist/components/section-message/SectionMessageTitle.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.js +18 -18
- package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlBadge.js +13 -12
- package/dist/components/segmented-control/SegmentedControlBadge.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlContent.js +3 -3
- package/dist/components/segmented-control/SegmentedControlContent.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlContext.js +3 -3
- package/dist/components/segmented-control/SegmentedControlContext.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlDescription.js +12 -11
- package/dist/components/segmented-control/SegmentedControlDescription.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlHeading.js +12 -11
- package/dist/components/segmented-control/SegmentedControlHeading.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlIcon.js +11 -10
- package/dist/components/segmented-control/SegmentedControlIcon.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlItem.js +24 -17
- package/dist/components/segmented-control/SegmentedControlItem.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlItemList.js +60 -43
- package/dist/components/segmented-control/SegmentedControlItemList.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlRoot.js +32 -28
- package/dist/components/segmented-control/SegmentedControlRoot.js.map +1 -1
- package/dist/components/select/Select.js +17 -15
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/select-field/SelectField.js +32 -28
- package/dist/components/select-field/SelectField.js.map +1 -1
- package/dist/components/side-bar/SideBar.js +54 -40
- package/dist/components/side-bar/SideBar.js.map +1 -1
- package/dist/components/side-bar/SideBarComponents.js +14 -9
- package/dist/components/side-bar/SideBarComponents.js.map +1 -1
- package/dist/components/side-bar/SideBarContext.js +4 -3
- package/dist/components/side-bar/SideBarContext.js.map +1 -1
- package/dist/components/skeleton-loader/Skeleton.js +4 -4
- package/dist/components/skeleton-loader/Skeleton.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonButton.js +5 -5
- package/dist/components/skeleton-loader/SkeletonButton.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonCard.js +12 -12
- package/dist/components/skeleton-loader/SkeletonCard.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonDoughnutChart.js +17 -16
- package/dist/components/skeleton-loader/SkeletonDoughnutChart.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonHeading.js +5 -5
- package/dist/components/skeleton-loader/SkeletonHeading.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonTable.js +18 -16
- package/dist/components/skeleton-loader/SkeletonTable.js.map +1 -1
- package/dist/components/skeleton-loader/SkeletonTabs.js +8 -8
- package/dist/components/skeleton-loader/SkeletonTabs.js.map +1 -1
- package/dist/components/skeleton-loader/index.js +17 -17
- package/dist/components/slider/Slider.js +28 -22
- package/dist/components/slider/Slider.js.map +1 -1
- package/dist/components/slider/SliderSteps.js +24 -15
- package/dist/components/slider/SliderSteps.js.map +1 -1
- package/dist/components/slider/SliderValue.js +6 -4
- package/dist/components/slider/SliderValue.js.map +1 -1
- package/dist/components/slider-field/SliderField.js +36 -34
- package/dist/components/slider-field/SliderField.js.map +1 -1
- package/dist/components/sortable/Handle.js +19 -16
- package/dist/components/sortable/Handle.js.map +1 -1
- package/dist/components/sortable/SortableHandle.js +15 -15
- package/dist/components/sortable/SortableHandle.js.map +1 -1
- package/dist/components/sortable/SortableItem.js +20 -19
- package/dist/components/sortable/SortableItem.js.map +1 -1
- package/dist/components/sortable/SortableRoot.js +29 -25
- package/dist/components/sortable/SortableRoot.js.map +1 -1
- package/dist/components/sortable/index.js +9 -9
- package/dist/components/spacer/Spacer.js +8 -4
- package/dist/components/spacer/Spacer.js.map +1 -1
- package/dist/components/stepper/Stepper.js +29 -28
- package/dist/components/stepper/Stepper.js.map +1 -1
- package/dist/components/stepper/StepperStepBack.js +11 -11
- package/dist/components/stepper/StepperStepBack.js.map +1 -1
- package/dist/components/stepper/StepperStepBullet.js +4 -3
- package/dist/components/stepper/StepperStepBullet.js.map +1 -1
- package/dist/components/stepper/StepperStepContainer.js +7 -7
- package/dist/components/stepper/StepperStepContainer.js.map +1 -1
- package/dist/components/stepper/StepperStepForward.js +13 -12
- package/dist/components/stepper/StepperStepForward.js.map +1 -1
- package/dist/components/stepper/StepperStepLabel.js +4 -4
- package/dist/components/stepper/StepperStepLabel.js.map +1 -1
- package/dist/components/stepper/StepperSteps.js +58 -44
- package/dist/components/stepper/StepperSteps.js.map +1 -1
- package/dist/components/stepper/stepper-context/StepperContext.js +47 -35
- package/dist/components/stepper/stepper-context/StepperContext.js.map +1 -1
- package/dist/components/stepper/types.js +9 -3
- package/dist/components/stepper/types.js.map +1 -1
- package/dist/components/switch/Switch.js +14 -11
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/table/Table.js +37 -34
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/table/TableBody.js +9 -8
- package/dist/components/table/TableBody.js.map +1 -1
- package/dist/components/table/TableCell.js +5 -4
- package/dist/components/table/TableCell.js.map +1 -1
- package/dist/components/table/TableFooter.js +4 -4
- package/dist/components/table/TableFooter.js.map +1 -1
- package/dist/components/table/TableFooterCell.js +4 -4
- package/dist/components/table/TableFooterCell.js.map +1 -1
- package/dist/components/table/TableHeader.js +19 -15
- package/dist/components/table/TableHeader.js.map +1 -1
- package/dist/components/table/TableHeaderCell.js +4 -4
- package/dist/components/table/TableHeaderCell.js.map +1 -1
- package/dist/components/table/TableRow.js +8 -7
- package/dist/components/table/TableRow.js.map +1 -1
- package/dist/components/table/TableStickyColumnsContainer.js +25 -22
- package/dist/components/table/TableStickyColumnsContainer.js.map +1 -1
- package/dist/components/table/useStickyColumnsCss.js +24 -18
- package/dist/components/table/useStickyColumnsCss.js.map +1 -1
- package/dist/components/tabs/Tabs.js +12 -11
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/TabsContent.js +5 -5
- package/dist/components/tabs/TabsContent.js.map +1 -1
- package/dist/components/tabs/TabsTrigger.js +15 -13
- package/dist/components/tabs/TabsTrigger.js.map +1 -1
- package/dist/components/tabs/TabsTriggerList.js +56 -36
- package/dist/components/tabs/TabsTriggerList.js.map +1 -1
- package/dist/components/text/Text.js +12 -11
- package/dist/components/text/Text.js.map +1 -1
- package/dist/components/textarea/Textarea.js +12 -8
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/textarea-field/TextareaField.js +31 -27
- package/dist/components/textarea-field/TextareaField.js.map +1 -1
- package/dist/components/tile/Tile.js +16 -14
- package/dist/components/tile/Tile.js.map +1 -1
- package/dist/components/tile-interactive/TileInteractive.js +18 -17
- package/dist/components/tile-interactive/TileInteractive.js.map +1 -1
- package/dist/components/tile-toggle-group/TileToggleGroupItem.js +11 -10
- package/dist/components/tile-toggle-group/TileToggleGroupItem.js.map +1 -1
- package/dist/components/tile-toggle-group/TileToggleGroupRoot.js +8 -8
- package/dist/components/tile-toggle-group/TileToggleGroupRoot.js.map +1 -1
- package/dist/components/tile-toggle-group/index.js +6 -5
- package/dist/components/tile-toggle-group/index.js.map +1 -1
- package/dist/components/toast/Toast.js +16 -13
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/toast/ToastCloseButton.js +17 -16
- package/dist/components/toast/ToastCloseButton.js.map +1 -1
- package/dist/components/toast/ToastContext.js +7 -6
- package/dist/components/toast/ToastContext.js.map +1 -1
- package/dist/components/toast/ToastIcon.js +5 -5
- package/dist/components/toast/ToastIcon.js.map +1 -1
- package/dist/components/toast/ToastProvider.js +38 -32
- package/dist/components/toast/ToastProvider.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupButton.js +36 -27
- package/dist/components/toggle-group/ToggleGroupButton.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupItem.js +11 -8
- package/dist/components/toggle-group/ToggleGroupItem.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupRoot.js +32 -25
- package/dist/components/toggle-group/ToggleGroupRoot.js.map +1 -1
- package/dist/components/toggle-group/index.js +8 -8
- package/dist/components/toggle-group/index.js.map +1 -1
- package/dist/components/tooltip/Tooltip.js +14 -13
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/tooltip/TooltipContent.js +14 -12
- package/dist/components/tooltip/TooltipContent.js.map +1 -1
- package/dist/components/top-bar/TopBar.colorscheme.config.js +2 -2
- package/dist/components/top-bar/TopBar.colorscheme.config.js.map +1 -1
- package/dist/components/top-bar/TopBar.js +30 -26
- package/dist/components/top-bar/TopBar.js.map +1 -1
- package/dist/components/top-bar/TopBarActionIcon.js +13 -11
- package/dist/components/top-bar/TopBarActionIcon.js.map +1 -1
- package/dist/components/top-bar/TopBarBrand.js +15 -11
- package/dist/components/top-bar/TopBarBrand.js.map +1 -1
- package/dist/components/tree/Tree.js +23 -20
- package/dist/components/tree/Tree.js.map +1 -1
- package/dist/components/tree/TreeCollapsible.js +18 -13
- package/dist/components/tree/TreeCollapsible.js.map +1 -1
- package/dist/components/tree/TreeCollapsibleContent.js +25 -18
- package/dist/components/tree/TreeCollapsibleContent.js.map +1 -1
- package/dist/components/tree/TreeCollapsibleTrigger.js +25 -23
- package/dist/components/tree/TreeCollapsibleTrigger.js.map +1 -1
- package/dist/components/tree/TreeIcon.js +7 -7
- package/dist/components/tree/TreeIcon.js.map +1 -1
- package/dist/components/tree/TreeItem.js +7 -5
- package/dist/components/tree/TreeItem.js.map +1 -1
- package/dist/components/tree/TreeItemContent.js +16 -11
- package/dist/components/tree/TreeItemContent.js.map +1 -1
- package/dist/components/tree/TreeList.js +6 -3
- package/dist/components/tree/TreeList.js.map +1 -1
- package/dist/components/tree/TreeListItem.js +7 -7
- package/dist/components/tree/TreeListItem.js.map +1 -1
- package/dist/components/tree/TreeText.js +8 -8
- package/dist/components/tree/TreeText.js.map +1 -1
- package/dist/components/video/Video.js +11 -11
- package/dist/components/video/Video.js.map +1 -1
- package/dist/experiments/color-scheme/ColorScheme.config.js +46 -31
- package/dist/experiments/color-scheme/ColorScheme.config.js.map +1 -1
- package/dist/experiments/color-scheme/ColorScheme.js +18 -14
- package/dist/experiments/color-scheme/ColorScheme.js.map +1 -1
- package/dist/index.cjs.js +9782 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +100 -100
- package/dist/styled.js +98 -56
- package/dist/styled.js.map +1 -1
- package/dist/utilities/css-wrapper/CSSWrapper.js +4 -4
- package/dist/utilities/css-wrapper/CSSWrapper.js.map +1 -1
- package/dist/utilities/event/preventEvent.js +3 -3
- package/dist/utilities/event/preventEvent.js.map +1 -1
- package/dist/utilities/hooks/useCallbackRef.js +11 -10
- package/dist/utilities/hooks/useCallbackRef.js.map +1 -1
- package/dist/utilities/hooks/useIsMountedRef.js +11 -7
- package/dist/utilities/hooks/useIsMountedRef.js.map +1 -1
- package/dist/utilities/hooks/useResizeObserver.js +17 -12
- package/dist/utilities/hooks/useResizeObserver.js.map +1 -1
- package/dist/utilities/hooks/useScrollPosition.js +21 -18
- package/dist/utilities/hooks/useScrollPosition.js.map +1 -1
- package/dist/utilities/hooks/useSize.js +17 -15
- package/dist/utilities/hooks/useSize.js.map +1 -1
- package/dist/utilities/hooks/useWindowScrollPosition.js +15 -12
- package/dist/utilities/hooks/useWindowScrollPosition.js.map +1 -1
- package/dist/utilities/optional-tooltip-wrapper/OptionalTooltipWrapper.js +8 -5
- package/dist/utilities/optional-tooltip-wrapper/OptionalTooltipWrapper.js.map +1 -1
- package/dist/utilities/override-styled-variant-value/overrideStyledVariantValue.js +10 -9
- package/dist/utilities/override-styled-variant-value/overrideStyledVariantValue.js.map +1 -1
- package/dist/utilities/radix-overrides/toggle-group/ToggleGroupRoot.js +15 -12
- package/dist/utilities/radix-overrides/toggle-group/ToggleGroupRoot.js.map +1 -1
- package/dist/utilities/radix-overrides/toggle-group/index.js +3 -3
- package/dist/utilities/radix-overrides/toggle-group/index.js.map +1 -1
- package/dist/utilities/style/backdrop-overlay.js +2 -2
- package/dist/utilities/style/backdrop-overlay.js.map +1 -1
- package/dist/utilities/style/get-icon-size.js +5 -4
- package/dist/utilities/style/get-icon-size.js.map +1 -1
- package/dist/utilities/uri/index.js +6 -2
- package/dist/utilities/uri/index.js.map +1 -1
- package/package.json +3 -3
- package/src/utilities.css +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { styled
|
|
2
|
-
import { Icon
|
|
3
|
-
import { Table
|
|
4
|
-
import { useDataTable
|
|
5
|
-
import { DataTableDataCell
|
|
6
|
-
import { DataTableRowSelectionCheckbox
|
|
7
|
-
import
|
|
8
|
-
import * as
|
|
9
|
-
import { ChevronDown
|
|
1
|
+
import { styled } from "../../styled.js";
|
|
2
|
+
import { Icon } from "../icon/Icon.js";
|
|
3
|
+
import { Table } from "../table/Table.js";
|
|
4
|
+
import { useDataTable } from "./DataTableContext.js";
|
|
5
|
+
import { DataTableDataCell } from "./DataTableDataCell.js";
|
|
6
|
+
import { DataTableRowSelectionCheckbox } from "./DataTableRowSelectionCheckbox.js";
|
|
7
|
+
import clsx from "clsx";
|
|
8
|
+
import * as React$1 from "react";
|
|
9
|
+
import { ChevronDown, ChevronRight } from "@atom-learning/icons";
|
|
10
10
|
//#region src/components/data-table/DataTableRow.tsx
|
|
11
|
-
var
|
|
11
|
+
var StyledRow = styled(Table.Row, {
|
|
12
12
|
base: ["bg-[initial]", "relative"],
|
|
13
13
|
variants: {
|
|
14
14
|
isSelected: { true: ["odd:bg-primary-100"] },
|
|
@@ -29,49 +29,70 @@ var u = e(n.Row, {
|
|
|
29
29
|
"focus:[&_td]:bg-transparent"
|
|
30
30
|
] }
|
|
31
31
|
}
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
});
|
|
33
|
+
var isElementInteractive = (element) => {
|
|
34
|
+
if (!element) return false;
|
|
35
|
+
if (element.closest("button, a, input, select, textarea")) return true;
|
|
36
|
+
if (element.getAttribute("role") === "button") return true;
|
|
37
|
+
return false;
|
|
38
|
+
};
|
|
39
|
+
var DataTableRow = ({ row, rowAction }) => {
|
|
40
|
+
const { enableRowSelection, disabledRows, getCanSomeRowsExpand } = useDataTable();
|
|
41
|
+
const isDisabled = !!disabledRows?.[row.id];
|
|
42
|
+
const toggleExpandHandler = row.getToggleExpandedHandler();
|
|
43
|
+
const toggleSelectHandler = row.getToggleSelectedHandler();
|
|
44
|
+
const getCheckedState = () => {
|
|
45
|
+
if (row.getIsSomeSelected()) return "indeterminate";
|
|
46
|
+
return row.getIsSelected();
|
|
47
|
+
};
|
|
48
|
+
const handleRowClick = (rowData, event) => {
|
|
49
|
+
if (!rowAction) return;
|
|
50
|
+
if (!event.target.closest("tr") || isElementInteractive(event.target)) return;
|
|
51
|
+
rowAction(rowData.original, event);
|
|
52
|
+
};
|
|
53
|
+
const handleKeyDown = (event) => {
|
|
54
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
55
|
+
if (isElementInteractive(event.target)) return;
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
handleRowClick(row, event);
|
|
58
|
+
}
|
|
59
|
+
if (event.key === "ArrowDown") {
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
const nextRow = event.target.closest("tr")?.nextElementSibling;
|
|
62
|
+
if (nextRow && nextRow.tagName === "TR") nextRow.focus();
|
|
63
|
+
}
|
|
64
|
+
if (event.key === "ArrowUp") {
|
|
65
|
+
event.preventDefault();
|
|
66
|
+
const previousRow = event.target.closest("tr")?.previousElementSibling;
|
|
67
|
+
if (previousRow && previousRow.tagName === "TR") previousRow.focus();
|
|
68
|
+
}
|
|
35
69
|
};
|
|
36
|
-
return /* @__PURE__ */
|
|
37
|
-
isSelected:
|
|
38
|
-
isDisabled
|
|
39
|
-
isFocusable: !!
|
|
40
|
-
...
|
|
41
|
-
onClick: (
|
|
70
|
+
return /* @__PURE__ */ React$1.createElement(StyledRow, {
|
|
71
|
+
isSelected: row.getIsSelected(),
|
|
72
|
+
isDisabled,
|
|
73
|
+
isFocusable: !!rowAction && !isDisabled,
|
|
74
|
+
...rowAction && {
|
|
75
|
+
onClick: (event) => handleRowClick(row, event),
|
|
42
76
|
tabIndex: 0,
|
|
43
77
|
className: "cursor-pointer",
|
|
44
|
-
onKeyDown:
|
|
45
|
-
if (t.key === "Enter" || t.key === " ") {
|
|
46
|
-
if (d(t.target)) return;
|
|
47
|
-
t.preventDefault(), b(e, t);
|
|
48
|
-
}
|
|
49
|
-
if (t.key === "ArrowDown") {
|
|
50
|
-
t.preventDefault();
|
|
51
|
-
let e = t.target.closest("tr")?.nextElementSibling;
|
|
52
|
-
e && e.tagName === "TR" && e.focus();
|
|
53
|
-
}
|
|
54
|
-
if (t.key === "ArrowUp") {
|
|
55
|
-
t.preventDefault();
|
|
56
|
-
let e = t.target.closest("tr")?.previousElementSibling;
|
|
57
|
-
e && e.tagName === "TR" && e.focus();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
78
|
+
onKeyDown: handleKeyDown
|
|
60
79
|
}
|
|
61
|
-
},
|
|
62
|
-
"data-testid": `expand-icon-${
|
|
63
|
-
onClick:
|
|
64
|
-
className:
|
|
65
|
-
},
|
|
66
|
-
row
|
|
67
|
-
checked:
|
|
68
|
-
onCheckedChange:
|
|
69
|
-
})),
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
}, getCanSomeRowsExpand() && /* @__PURE__ */ React$1.createElement(Table.Cell, {
|
|
81
|
+
"data-testid": `expand-icon-${row.id}`,
|
|
82
|
+
onClick: toggleExpandHandler,
|
|
83
|
+
className: clsx("w-10", row.getCanExpand() ? "cursor-pointer" : "cursor-auto")
|
|
84
|
+
}, row.getCanExpand() && /* @__PURE__ */ React$1.createElement(Icon, { is: row.getIsExpanded() ? ChevronDown : ChevronRight })), enableRowSelection && /* @__PURE__ */ React$1.createElement(Table.Cell, { className: "w-10" }, /* @__PURE__ */ React$1.createElement(DataTableRowSelectionCheckbox, {
|
|
85
|
+
row,
|
|
86
|
+
checked: getCheckedState(),
|
|
87
|
+
onCheckedChange: toggleSelectHandler
|
|
88
|
+
})), row.getVisibleCells().map((cell) => {
|
|
89
|
+
return /* @__PURE__ */ React$1.createElement(DataTableDataCell, {
|
|
90
|
+
key: cell.id,
|
|
91
|
+
cell
|
|
92
|
+
});
|
|
93
|
+
}));
|
|
73
94
|
};
|
|
74
95
|
//#endregion
|
|
75
|
-
export {
|
|
96
|
+
export { DataTableRow };
|
|
76
97
|
|
|
77
98
|
//# sourceMappingURL=DataTableRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableRow.js","names":[],"sources":["../../../src/components/data-table/DataTableRow.tsx"],"sourcesContent":["import { ChevronDown, ChevronRight } from '@atom-learning/icons'\nimport type { Row } from '@tanstack/react-table'\nimport clsx from 'clsx'\nimport * as React from 'react'\n\nimport { styled } from '~/styled'\n\nimport { Icon } from '../icon/Icon'\nimport { Table } from '../table/Table'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableDataCell } from './DataTableDataCell'\nimport { DataTableRowSelectionCheckbox } from './DataTableRowSelectionCheckbox'\n\nexport type DataTableRowProps = React.ComponentProps<typeof Table.Row> & {\n row: Row<Record<string, unknown>>\n rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void\n}\n\nconst StyledRow = styled(Table.Row, {\n base: ['bg-[initial]', 'relative'],\n variants: {\n isSelected: {\n true: ['odd:bg-primary-100']\n },\n isDisabled: {\n true: ['opacity-30']\n },\n isFocusable: {\n true: [\n 'translate-y-0',\n 'duration-200',\n 'ease-out',\n 'transition-shadow',\n 'transition-transform',\n 'hover:shadow-[0px_4px_11px_0px_hsla(0,0%,12%,0.12)]',\n 'hover:-translate-y-px',\n 'hover:z-3',\n 'focus:outline-2',\n 'focus:outline-primary-500',\n 'focus:outline-solid',\n 'focus:-outline-offset-4',\n 'focus:[&_td]:bg-transparent'\n ]\n }\n }\n})\n\nconst isElementInteractive = (element: Element | null): boolean => {\n if (!element) return false\n if (element.closest('button, a, input, select, textarea')) return true\n if (element.getAttribute('role') === 'button') return true\n return false\n}\n\nexport const DataTableRow = ({ row, rowAction }: DataTableRowProps) => {\n const { enableRowSelection, disabledRows, getCanSomeRowsExpand } =\n useDataTable()\n\n const isDisabled = !!disabledRows?.[row.id]\n\n const toggleExpandHandler = row.getToggleExpandedHandler()\n const toggleSelectHandler = row.getToggleSelectedHandler()\n\n const getCheckedState = (): boolean | 'indeterminate' => {\n if (row.getIsSomeSelected()) return 'indeterminate'\n return row.getIsSelected()\n }\n\n const handleRowClick = (\n rowData: Row<Record<string, unknown>>,\n event: React.MouseEvent<HTMLTableRowElement>\n ) => {\n if (!rowAction) return\n\n // Skip if clicking on an interactive element\n const rowElement = (event.target as Element).closest('tr')\n if (!rowElement || isElementInteractive(event.target as Element)) {\n return\n }\n\n rowAction(rowData.original, event)\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n if (isElementInteractive(event.target as Element)) {\n return\n }\n event.preventDefault()\n handleRowClick(\n row,\n event as unknown as React.MouseEvent<HTMLTableRowElement>\n )\n }\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n const currentRow = (event.target as HTMLElement).closest('tr')\n const nextRow = currentRow?.nextElementSibling as HTMLElement\n if (nextRow && nextRow.tagName === 'TR') {\n nextRow.focus()\n }\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n const currentRow = (event.target as HTMLElement).closest('tr')\n const previousRow = currentRow?.previousElementSibling as HTMLElement\n if (previousRow && previousRow.tagName === 'TR') {\n previousRow.focus()\n }\n }\n }\n\n return (\n <StyledRow\n isSelected={row.getIsSelected()}\n isDisabled={isDisabled}\n isFocusable={!!rowAction && !isDisabled}\n {...(rowAction && {\n onClick: (event) => handleRowClick(row, event),\n tabIndex: 0,\n className: 'cursor-pointer',\n onKeyDown: handleKeyDown\n })}\n >\n {getCanSomeRowsExpand() && (\n <Table.Cell\n data-testid={`expand-icon-${row.id}`}\n onClick={toggleExpandHandler}\n className={clsx(\n 'w-10',\n row.getCanExpand() ? 'cursor-pointer' : 'cursor-auto'\n )}\n >\n {row.getCanExpand() && (\n <Icon is={row.getIsExpanded() ? ChevronDown : ChevronRight} />\n )}\n </Table.Cell>\n )}\n\n {enableRowSelection && (\n <Table.Cell className=\"w-10\">\n <DataTableRowSelectionCheckbox\n row={row}\n checked={getCheckedState()}\n onCheckedChange={toggleSelectHandler}\n />\n </Table.Cell>\n )}\n {row.getVisibleCells().map((cell) => {\n return <DataTableDataCell key={cell.id} cell={cell} />\n })}\n </StyledRow>\n )\n}\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,
|
|
1
|
+
{"version":3,"file":"DataTableRow.js","names":[],"sources":["../../../src/components/data-table/DataTableRow.tsx"],"sourcesContent":["import { ChevronDown, ChevronRight } from '@atom-learning/icons'\nimport type { Row } from '@tanstack/react-table'\nimport clsx from 'clsx'\nimport * as React from 'react'\n\nimport { styled } from '~/styled'\n\nimport { Icon } from '../icon/Icon'\nimport { Table } from '../table/Table'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableDataCell } from './DataTableDataCell'\nimport { DataTableRowSelectionCheckbox } from './DataTableRowSelectionCheckbox'\n\nexport type DataTableRowProps = React.ComponentProps<typeof Table.Row> & {\n row: Row<Record<string, unknown>>\n rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void\n}\n\nconst StyledRow = styled(Table.Row, {\n base: ['bg-[initial]', 'relative'],\n variants: {\n isSelected: {\n true: ['odd:bg-primary-100']\n },\n isDisabled: {\n true: ['opacity-30']\n },\n isFocusable: {\n true: [\n 'translate-y-0',\n 'duration-200',\n 'ease-out',\n 'transition-shadow',\n 'transition-transform',\n 'hover:shadow-[0px_4px_11px_0px_hsla(0,0%,12%,0.12)]',\n 'hover:-translate-y-px',\n 'hover:z-3',\n 'focus:outline-2',\n 'focus:outline-primary-500',\n 'focus:outline-solid',\n 'focus:-outline-offset-4',\n 'focus:[&_td]:bg-transparent'\n ]\n }\n }\n})\n\nconst isElementInteractive = (element: Element | null): boolean => {\n if (!element) return false\n if (element.closest('button, a, input, select, textarea')) return true\n if (element.getAttribute('role') === 'button') return true\n return false\n}\n\nexport const DataTableRow = ({ row, rowAction }: DataTableRowProps) => {\n const { enableRowSelection, disabledRows, getCanSomeRowsExpand } =\n useDataTable()\n\n const isDisabled = !!disabledRows?.[row.id]\n\n const toggleExpandHandler = row.getToggleExpandedHandler()\n const toggleSelectHandler = row.getToggleSelectedHandler()\n\n const getCheckedState = (): boolean | 'indeterminate' => {\n if (row.getIsSomeSelected()) return 'indeterminate'\n return row.getIsSelected()\n }\n\n const handleRowClick = (\n rowData: Row<Record<string, unknown>>,\n event: React.MouseEvent<HTMLTableRowElement>\n ) => {\n if (!rowAction) return\n\n // Skip if clicking on an interactive element\n const rowElement = (event.target as Element).closest('tr')\n if (!rowElement || isElementInteractive(event.target as Element)) {\n return\n }\n\n rowAction(rowData.original, event)\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n if (isElementInteractive(event.target as Element)) {\n return\n }\n event.preventDefault()\n handleRowClick(\n row,\n event as unknown as React.MouseEvent<HTMLTableRowElement>\n )\n }\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n const currentRow = (event.target as HTMLElement).closest('tr')\n const nextRow = currentRow?.nextElementSibling as HTMLElement\n if (nextRow && nextRow.tagName === 'TR') {\n nextRow.focus()\n }\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n const currentRow = (event.target as HTMLElement).closest('tr')\n const previousRow = currentRow?.previousElementSibling as HTMLElement\n if (previousRow && previousRow.tagName === 'TR') {\n previousRow.focus()\n }\n }\n }\n\n return (\n <StyledRow\n isSelected={row.getIsSelected()}\n isDisabled={isDisabled}\n isFocusable={!!rowAction && !isDisabled}\n {...(rowAction && {\n onClick: (event) => handleRowClick(row, event),\n tabIndex: 0,\n className: 'cursor-pointer',\n onKeyDown: handleKeyDown\n })}\n >\n {getCanSomeRowsExpand() && (\n <Table.Cell\n data-testid={`expand-icon-${row.id}`}\n onClick={toggleExpandHandler}\n className={clsx(\n 'w-10',\n row.getCanExpand() ? 'cursor-pointer' : 'cursor-auto'\n )}\n >\n {row.getCanExpand() && (\n <Icon is={row.getIsExpanded() ? ChevronDown : ChevronRight} />\n )}\n </Table.Cell>\n )}\n\n {enableRowSelection && (\n <Table.Cell className=\"w-10\">\n <DataTableRowSelectionCheckbox\n row={row}\n checked={getCheckedState()}\n onCheckedChange={toggleSelectHandler}\n />\n </Table.Cell>\n )}\n {row.getVisibleCells().map((cell) => {\n return <DataTableDataCell key={cell.id} cell={cell} />\n })}\n </StyledRow>\n )\n}\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,YAAY,OAAO,MAAM,KAAK;CAClC,MAAM,CAAC,gBAAgB,WAAW;CAClC,UAAU;EACR,YAAY,EACV,MAAM,CAAC,qBAAqB,EAC7B;EACD,YAAY,EACV,MAAM,CAAC,aAAa,EACrB;EACD,aAAa,EACX,MAAM;GACJ;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,EACF;EACF;CACF,CAAC;AAEF,IAAM,wBAAwB,YAAqC;AACjE,KAAI,CAAC,QAAS,QAAO;AACrB,KAAI,QAAQ,QAAQ,qCAAqC,CAAE,QAAO;AAClE,KAAI,QAAQ,aAAa,OAAO,KAAK,SAAU,QAAO;AACtD,QAAO;;AAGT,IAAa,gBAAgB,EAAE,KAAK,gBAAmC;CACrE,MAAM,EAAE,oBAAoB,cAAc,yBACxC,cAAc;CAEhB,MAAM,aAAa,CAAC,CAAC,eAAe,IAAI;CAExC,MAAM,sBAAsB,IAAI,0BAA0B;CAC1D,MAAM,sBAAsB,IAAI,0BAA0B;CAE1D,MAAM,wBAAmD;AACvD,MAAI,IAAI,mBAAmB,CAAE,QAAO;AACpC,SAAO,IAAI,eAAe;;CAG5B,MAAM,kBACJ,SACA,UACG;AACH,MAAI,CAAC,UAAW;AAIhB,MAAI,CADgB,MAAM,OAAmB,QAAQ,KAAK,IACvC,qBAAqB,MAAM,OAAkB,CAC9D;AAGF,YAAU,QAAQ,UAAU,MAAM;;CAGpC,MAAM,iBAAiB,UAAoD;AACzE,MAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;AAC9C,OAAI,qBAAqB,MAAM,OAAkB,CAC/C;AAEF,SAAM,gBAAgB;AACtB,kBACE,KACA,MACD;;AAEH,MAAI,MAAM,QAAQ,aAAa;AAC7B,SAAM,gBAAgB;GAEtB,MAAM,UADc,MAAM,OAAuB,QAAQ,KAAK,EAClC;AAC5B,OAAI,WAAW,QAAQ,YAAY,KACjC,SAAQ,OAAO;;AAGnB,MAAI,MAAM,QAAQ,WAAW;AAC3B,SAAM,gBAAgB;GAEtB,MAAM,cADc,MAAM,OAAuB,QAAQ,KAAK,EAC9B;AAChC,OAAI,eAAe,YAAY,YAAY,KACzC,aAAY,OAAO;;;AAKzB,QACE,wBAAA,cAAC,WAAD;EACE,YAAY,IAAI,eAAe;EACnB;EACZ,aAAa,CAAC,CAAC,aAAa,CAAC;EAC7B,GAAK,aAAa;GAChB,UAAU,UAAU,eAAe,KAAK,MAAM;GAC9C,UAAU;GACV,WAAW;GACX,WAAW;GACZ;EA6BS,EA3BT,sBAAsB,IACrB,wBAAA,cAAC,MAAM,MAAP;EACE,eAAa,eAAe,IAAI;EAChC,SAAS;EACT,WAAW,KACT,QACA,IAAI,cAAc,GAAG,mBAAmB,cACzC;EAKU,EAHV,IAAI,cAAc,IACjB,wBAAA,cAAC,MAAD,EAAM,IAAI,IAAI,eAAe,GAAG,cAAc,cAAgB,CAAA,CAErD,EAGd,sBACC,wBAAA,cAAC,MAAM,MAAP,EAAY,WAAU,QAMT,EALX,wBAAA,cAAC,+BAAD;EACO;EACL,SAAS,iBAAiB;EAC1B,iBAAiB;EACjB,CAAA,CACS,EAEd,IAAI,iBAAiB,CAAC,KAAK,SAAS;AACnC,SAAO,wBAAA,cAAC,mBAAD;GAAmB,KAAK,KAAK;GAAU;GAAQ,CAAA;GACtD,CACQ"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { Checkbox
|
|
2
|
-
import { useDataTable
|
|
3
|
-
import * as
|
|
1
|
+
import { Checkbox } from "../checkbox/Checkbox.js";
|
|
2
|
+
import { useDataTable } from "./DataTableContext.js";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
4
|
//#region src/components/data-table/DataTableRowSelectionCheckbox.tsx
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
return /* @__PURE__ */
|
|
8
|
-
htmlFor: `${
|
|
5
|
+
var DataTableRowSelectionCheckbox = ({ row, checked, onCheckedChange, label = `Row ${row.id} selection` }) => {
|
|
6
|
+
const { tableId } = useDataTable();
|
|
7
|
+
return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement("label", {
|
|
8
|
+
htmlFor: `${tableId}_row_${row.id}_selection`,
|
|
9
9
|
className: "sr-only"
|
|
10
|
-
},
|
|
10
|
+
}, label), /* @__PURE__ */ React$1.createElement(Checkbox, {
|
|
11
11
|
size: "lg",
|
|
12
|
-
style: { "--depth":
|
|
13
|
-
checked
|
|
14
|
-
onCheckedChange
|
|
15
|
-
name: `${
|
|
16
|
-
disabled: !
|
|
12
|
+
style: { "--depth": row.depth },
|
|
13
|
+
checked,
|
|
14
|
+
onCheckedChange,
|
|
15
|
+
name: `${tableId}_row_${row.id}_selection`,
|
|
16
|
+
disabled: !row.getCanSelect(),
|
|
17
17
|
className: "mr-3 ml-[calc((var(--depth,0)*2)*4px)]"
|
|
18
18
|
}));
|
|
19
19
|
};
|
|
20
20
|
//#endregion
|
|
21
|
-
export {
|
|
21
|
+
export { DataTableRowSelectionCheckbox };
|
|
22
22
|
|
|
23
23
|
//# sourceMappingURL=DataTableRowSelectionCheckbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableRowSelectionCheckbox.js","names":[],"sources":["../../../src/components/data-table/DataTableRowSelectionCheckbox.tsx"],"sourcesContent":["import type { Row } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport { Checkbox } from '../checkbox/Checkbox'\nimport { useDataTable } from './DataTableContext'\n\nexport const DataTableRowSelectionCheckbox = ({\n row,\n checked,\n onCheckedChange,\n label = `Row ${row.id} selection`\n}: {\n row: Row<Record<string, unknown>>\n checked: boolean | 'indeterminate'\n onCheckedChange: (value: boolean) => void\n label?: string\n}): React.ReactElement => {\n const { tableId } = useDataTable()\n\n return (\n <>\n <label htmlFor={`${tableId}_row_${row.id}_selection`} className=\"sr-only\">\n {label}\n </label>\n <Checkbox\n size=\"lg\"\n style={{ '--depth': row.depth }}\n checked={checked}\n onCheckedChange={onCheckedChange}\n name={`${tableId}_row_${row.id}_selection`}\n disabled={!row.getCanSelect()}\n className=\"mr-3 ml-[calc((var(--depth,0)*2)*4px)]\"\n />\n </>\n )\n}\n"],"mappings":";;;;AAMA,IAAa,
|
|
1
|
+
{"version":3,"file":"DataTableRowSelectionCheckbox.js","names":[],"sources":["../../../src/components/data-table/DataTableRowSelectionCheckbox.tsx"],"sourcesContent":["import type { Row } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport { Checkbox } from '../checkbox/Checkbox'\nimport { useDataTable } from './DataTableContext'\n\nexport const DataTableRowSelectionCheckbox = ({\n row,\n checked,\n onCheckedChange,\n label = `Row ${row.id} selection`\n}: {\n row: Row<Record<string, unknown>>\n checked: boolean | 'indeterminate'\n onCheckedChange: (value: boolean) => void\n label?: string\n}): React.ReactElement => {\n const { tableId } = useDataTable()\n\n return (\n <>\n <label htmlFor={`${tableId}_row_${row.id}_selection`} className=\"sr-only\">\n {label}\n </label>\n <Checkbox\n size=\"lg\"\n style={{ '--depth': row.depth }}\n checked={checked}\n onCheckedChange={onCheckedChange}\n name={`${tableId}_row_${row.id}_selection`}\n disabled={!row.getCanSelect()}\n className=\"mr-3 ml-[calc((var(--depth,0)*2)*4px)]\"\n />\n </>\n )\n}\n"],"mappings":";;;;AAMA,IAAa,iCAAiC,EAC5C,KACA,SACA,iBACA,QAAQ,OAAO,IAAI,GAAG,kBAME;CACxB,MAAM,EAAE,YAAY,cAAc;AAElC,QACE,wBAAA,cAAA,QAAA,UAAA,MACE,wBAAA,cAAC,SAAD;EAAO,SAAS,GAAG,QAAQ,OAAO,IAAI,GAAG;EAAa,WAAU;EAExD,EADL,MACK,EACR,wBAAA,cAAC,UAAD;EACE,MAAK;EACL,OAAO,EAAE,WAAW,IAAI,OAAO;EACtB;EACQ;EACjB,MAAM,GAAG,QAAQ,OAAO,IAAI,GAAG;EAC/B,UAAU,CAAC,IAAI,cAAc;EAC7B,WAAU;EACV,CAAA,CACD"}
|
|
@@ -1,20 +1,29 @@
|
|
|
1
|
-
import { Checkbox
|
|
2
|
-
import { useDataTable
|
|
3
|
-
import * as
|
|
1
|
+
import { Checkbox } from "../checkbox/Checkbox.js";
|
|
2
|
+
import { useDataTable } from "./DataTableContext.js";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
4
|
//#region src/components/data-table/DataTableSelectAllRowsCheckbox.tsx
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
var DataTableSelectAllRowsCheckbox = ({ label = "All rows selection" }) => {
|
|
6
|
+
const { getIsAllPageRowsSelected, getIsSomePageRowsSelected, toggleAllPageRowsSelected, tableId } = useDataTable();
|
|
7
|
+
const getCheckedState = () => {
|
|
8
|
+
if (getIsSomePageRowsSelected()) return "indeterminate";
|
|
9
|
+
if (getIsAllPageRowsSelected()) return true;
|
|
10
|
+
return false;
|
|
11
|
+
};
|
|
12
|
+
const updateCheckedState = () => {
|
|
13
|
+
if (getIsSomePageRowsSelected()) return toggleAllPageRowsSelected(false);
|
|
14
|
+
return toggleAllPageRowsSelected(!getIsAllPageRowsSelected());
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement("label", {
|
|
17
|
+
htmlFor: `${tableId}_all_rows_selection`,
|
|
9
18
|
className: "sr-only"
|
|
10
|
-
},
|
|
19
|
+
}, label), /* @__PURE__ */ React$1.createElement(Checkbox, {
|
|
11
20
|
size: "lg",
|
|
12
|
-
checked:
|
|
13
|
-
onCheckedChange:
|
|
14
|
-
name: `${
|
|
21
|
+
checked: getCheckedState(),
|
|
22
|
+
onCheckedChange: updateCheckedState,
|
|
23
|
+
name: `${tableId}_allRowsSelection`
|
|
15
24
|
}));
|
|
16
25
|
};
|
|
17
26
|
//#endregion
|
|
18
|
-
export {
|
|
27
|
+
export { DataTableSelectAllRowsCheckbox };
|
|
19
28
|
|
|
20
29
|
//# sourceMappingURL=DataTableSelectAllRowsCheckbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableSelectAllRowsCheckbox.js","names":[],"sources":["../../../src/components/data-table/DataTableSelectAllRowsCheckbox.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Checkbox } from '../checkbox/Checkbox'\nimport { Label } from '../label/Label'\nimport { useDataTable } from './DataTableContext'\n\nexport const DataTableSelectAllRowsCheckbox = ({\n label = 'All rows selection'\n}: {\n label?: string\n}) => {\n const {\n getIsAllPageRowsSelected,\n getIsSomePageRowsSelected,\n toggleAllPageRowsSelected,\n tableId\n } = useDataTable()\n\n const getCheckedState = () => {\n if (getIsSomePageRowsSelected()) return 'indeterminate'\n if (getIsAllPageRowsSelected()) return true\n return false\n }\n\n const updateCheckedState = () => {\n if (getIsSomePageRowsSelected()) {\n return toggleAllPageRowsSelected(false)\n }\n return toggleAllPageRowsSelected(!getIsAllPageRowsSelected())\n }\n\n return (\n <>\n <label htmlFor={`${tableId}_all_rows_selection`} className=\"sr-only\">\n {label}\n </label>\n <Checkbox\n size=\"lg\"\n checked={getCheckedState()}\n onCheckedChange={updateCheckedState}\n name={`${tableId}_allRowsSelection`}\n />\n </>\n )\n}\n"],"mappings":";;;;AAMA,IAAa,
|
|
1
|
+
{"version":3,"file":"DataTableSelectAllRowsCheckbox.js","names":[],"sources":["../../../src/components/data-table/DataTableSelectAllRowsCheckbox.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Checkbox } from '../checkbox/Checkbox'\nimport { Label } from '../label/Label'\nimport { useDataTable } from './DataTableContext'\n\nexport const DataTableSelectAllRowsCheckbox = ({\n label = 'All rows selection'\n}: {\n label?: string\n}) => {\n const {\n getIsAllPageRowsSelected,\n getIsSomePageRowsSelected,\n toggleAllPageRowsSelected,\n tableId\n } = useDataTable()\n\n const getCheckedState = () => {\n if (getIsSomePageRowsSelected()) return 'indeterminate'\n if (getIsAllPageRowsSelected()) return true\n return false\n }\n\n const updateCheckedState = () => {\n if (getIsSomePageRowsSelected()) {\n return toggleAllPageRowsSelected(false)\n }\n return toggleAllPageRowsSelected(!getIsAllPageRowsSelected())\n }\n\n return (\n <>\n <label htmlFor={`${tableId}_all_rows_selection`} className=\"sr-only\">\n {label}\n </label>\n <Checkbox\n size=\"lg\"\n checked={getCheckedState()}\n onCheckedChange={updateCheckedState}\n name={`${tableId}_allRowsSelection`}\n />\n </>\n )\n}\n"],"mappings":";;;;AAMA,IAAa,kCAAkC,EAC7C,QAAQ,2BAGJ;CACJ,MAAM,EACJ,0BACA,2BACA,2BACA,YACE,cAAc;CAElB,MAAM,wBAAwB;AAC5B,MAAI,2BAA2B,CAAE,QAAO;AACxC,MAAI,0BAA0B,CAAE,QAAO;AACvC,SAAO;;CAGT,MAAM,2BAA2B;AAC/B,MAAI,2BAA2B,CAC7B,QAAO,0BAA0B,MAAM;AAEzC,SAAO,0BAA0B,CAAC,0BAA0B,CAAC;;AAG/D,QACE,wBAAA,cAAA,QAAA,UAAA,MACE,wBAAA,cAAC,SAAD;EAAO,SAAS,GAAG,QAAQ;EAAsB,WAAU;EAEnD,EADL,MACK,EACR,wBAAA,cAAC,UAAD;EACE,MAAK;EACL,SAAS,iBAAiB;EAC1B,iBAAiB;EACjB,MAAM,GAAG,QAAQ;EACjB,CAAA,CACD"}
|
|
@@ -1,76 +1,101 @@
|
|
|
1
|
-
import { styled
|
|
2
|
-
import { Table
|
|
3
|
-
import { AsyncDataState
|
|
4
|
-
import { useDataTable
|
|
5
|
-
import { DataTableBody
|
|
6
|
-
import { DataTableHead
|
|
7
|
-
import { DataTableLoading
|
|
8
|
-
import
|
|
9
|
-
import * as
|
|
1
|
+
import { styled } from "../../styled.js";
|
|
2
|
+
import { Table } from "../table/Table.js";
|
|
3
|
+
import { AsyncDataState } from "./DataTable.types.js";
|
|
4
|
+
import { useDataTable } from "./DataTableContext.js";
|
|
5
|
+
import { DataTableBody } from "./DataTableBody.js";
|
|
6
|
+
import { DataTableHead } from "./DataTableHead.js";
|
|
7
|
+
import { DataTableLoading } from "./DataTableLoading.js";
|
|
8
|
+
import clsx from "clsx";
|
|
9
|
+
import * as React$1 from "react";
|
|
10
10
|
//#region src/components/data-table/DataTableTable.tsx
|
|
11
|
-
var
|
|
11
|
+
var TableContainer = styled("div", { base: [
|
|
12
12
|
"p-2",
|
|
13
13
|
"bg-white",
|
|
14
14
|
"rounded-lg"
|
|
15
|
-
] })
|
|
15
|
+
] });
|
|
16
|
+
var DataTableTable = ({ sortable, striped, theme = "white", className, scrollOptions = {
|
|
16
17
|
numberOfStickyColumns: 0,
|
|
17
18
|
stickyHeaderOffset: 0,
|
|
18
|
-
hasStickyHeader:
|
|
19
|
-
showTotalInFirstColumn:
|
|
19
|
+
hasStickyHeader: false,
|
|
20
|
+
showTotalInFirstColumn: true,
|
|
20
21
|
totalSuffix: "items"
|
|
21
|
-
}, rowAction
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
}, rowAction, withContainer = false, ...props }) => {
|
|
23
|
+
const { asyncDataState, getTotalRows, getCanSomeRowsExpand, rowSelection, enableRowSelection, tableId, setTablePosition } = useDataTable();
|
|
24
|
+
const tableRef = React$1.useRef(null);
|
|
25
|
+
const isTableVisible = React$1.useRef(false);
|
|
26
|
+
const isScrolling = React$1.useRef(false);
|
|
27
|
+
const scrollTarget = React$1.useMemo(() => {
|
|
28
|
+
if (typeof window === "undefined") return null;
|
|
29
|
+
return window;
|
|
30
|
+
}, []);
|
|
31
|
+
React$1.useEffect(() => {
|
|
32
|
+
if (!scrollTarget || typeof IntersectionObserver === "undefined") return;
|
|
33
|
+
const updatePosition = () => {
|
|
34
|
+
if (tableRef.current) {
|
|
35
|
+
const tableTop = tableRef.current.getBoundingClientRect().top;
|
|
36
|
+
const tableBottom = tableRef.current.getBoundingClientRect().bottom;
|
|
37
|
+
setTablePosition((prevPosition) => ({
|
|
38
|
+
...prevPosition,
|
|
39
|
+
top: tableTop,
|
|
40
|
+
bottom: tableBottom
|
|
32
41
|
}));
|
|
33
42
|
}
|
|
34
|
-
|
|
35
|
-
}, t = () => {
|
|
36
|
-
E.current ||= (requestAnimationFrame(e), !0);
|
|
43
|
+
isScrolling.current = false;
|
|
37
44
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
const handleScroll = () => {
|
|
46
|
+
if (!isScrolling.current) {
|
|
47
|
+
requestAnimationFrame(updatePosition);
|
|
48
|
+
isScrolling.current = true;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
if (!tableRef.current) return;
|
|
52
|
+
const observerOffset = scrollOptions?.stickyHeaderOffset || 0;
|
|
53
|
+
const observerOptions = {
|
|
54
|
+
rootMargin: `-${observerOffset}px 0px -${observerOffset}px 0px`,
|
|
41
55
|
threshold: 0
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
56
|
+
};
|
|
57
|
+
const handleTableIntersection = (entries) => {
|
|
58
|
+
if (!entries || entries.length === 0) return;
|
|
59
|
+
const entry = entries[0];
|
|
60
|
+
isTableVisible.current = entry.isIntersecting;
|
|
61
|
+
if (scrollTarget) if (entry.isIntersecting) scrollTarget?.addEventListener("scroll", handleScroll);
|
|
62
|
+
else scrollTarget?.removeEventListener("scroll", handleScroll);
|
|
63
|
+
setTablePosition((prevPosition) => ({
|
|
64
|
+
...prevPosition,
|
|
65
|
+
isVisible: entry.isIntersecting
|
|
48
66
|
}));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
67
|
+
};
|
|
68
|
+
const tableObserver = new IntersectionObserver(handleTableIntersection, observerOptions);
|
|
69
|
+
if (tableRef.current && (scrollOptions.hasStickyHeader || Object.keys(rowSelection || {}).length > 0)) tableObserver.observe(tableRef.current);
|
|
70
|
+
return () => {
|
|
71
|
+
tableObserver.disconnect();
|
|
72
|
+
if (scrollTarget) scrollTarget?.removeEventListener("scroll", handleScroll);
|
|
52
73
|
};
|
|
53
74
|
}, [
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
75
|
+
rowSelection,
|
|
76
|
+
scrollOptions.hasStickyHeader,
|
|
77
|
+
scrollOptions?.stickyHeaderOffset,
|
|
78
|
+
scrollTarget,
|
|
79
|
+
setTablePosition
|
|
59
80
|
]);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
81
|
+
const isPending = asyncDataState === AsyncDataState.PENDING;
|
|
82
|
+
const isEmpty = !isPending && getTotalRows() === 0;
|
|
83
|
+
const buildScrollContainerKey = () => {
|
|
84
|
+
let controlColumnCount = 0;
|
|
85
|
+
if (getCanSomeRowsExpand() && !!enableRowSelection) controlColumnCount = 2;
|
|
86
|
+
else if (getCanSomeRowsExpand() || !!enableRowSelection) controlColumnCount = 1;
|
|
87
|
+
return `${tableId}_${controlColumnCount}_control_columns`;
|
|
63
88
|
};
|
|
64
|
-
if (
|
|
65
|
-
|
|
89
|
+
if (isEmpty) return null;
|
|
90
|
+
const tableComponent = /* @__PURE__ */ React$1.createElement(Table, {
|
|
66
91
|
corners: "round",
|
|
67
92
|
size: "lg",
|
|
68
|
-
...
|
|
69
|
-
ref:
|
|
70
|
-
numberOfStickyColumns:
|
|
71
|
-
scrollContainerCls:
|
|
72
|
-
scrollContainerkey:
|
|
73
|
-
className:
|
|
93
|
+
...props,
|
|
94
|
+
ref: tableRef,
|
|
95
|
+
numberOfStickyColumns: scrollOptions.numberOfStickyColumns,
|
|
96
|
+
scrollContainerCls: scrollOptions.scrollContainerCls,
|
|
97
|
+
scrollContainerkey: buildScrollContainerKey(),
|
|
98
|
+
className: clsx(className, isPending && [
|
|
74
99
|
"opacity-50",
|
|
75
100
|
"pointer-events-none",
|
|
76
101
|
"transition-opacity",
|
|
@@ -78,21 +103,21 @@ var l = e("div", { base: [
|
|
|
78
103
|
"linear",
|
|
79
104
|
"delay-150"
|
|
80
105
|
])
|
|
81
|
-
}, /* @__PURE__ */
|
|
82
|
-
theme
|
|
83
|
-
sortable
|
|
84
|
-
isSticky:
|
|
85
|
-
stickyOffset:
|
|
86
|
-
className:
|
|
87
|
-
showTotalInFirstColumn:
|
|
88
|
-
totalSuffix:
|
|
89
|
-
}), /* @__PURE__ */
|
|
90
|
-
striped
|
|
91
|
-
rowAction
|
|
106
|
+
}, /* @__PURE__ */ React$1.createElement(DataTableHead, {
|
|
107
|
+
theme,
|
|
108
|
+
sortable,
|
|
109
|
+
isSticky: scrollOptions.hasStickyHeader,
|
|
110
|
+
stickyOffset: scrollOptions.stickyHeaderOffset,
|
|
111
|
+
className: scrollOptions.headerCss,
|
|
112
|
+
showTotalInFirstColumn: scrollOptions.showTotalInFirstColumn,
|
|
113
|
+
totalSuffix: scrollOptions.totalSuffix
|
|
114
|
+
}), /* @__PURE__ */ React$1.createElement(DataTableBody, {
|
|
115
|
+
striped,
|
|
116
|
+
rowAction
|
|
92
117
|
}));
|
|
93
|
-
return /* @__PURE__ */
|
|
118
|
+
return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(DataTableLoading, null), withContainer ? /* @__PURE__ */ React$1.createElement(TableContainer, { className: clsx(scrollOptions.numberOfStickyColumns === 0 && "overflow-x-auto") }, tableComponent) : tableComponent);
|
|
94
119
|
};
|
|
95
120
|
//#endregion
|
|
96
|
-
export {
|
|
121
|
+
export { DataTableTable };
|
|
97
122
|
|
|
98
123
|
//# sourceMappingURL=DataTableTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableTable.js","names":[],"sources":["../../../src/components/data-table/DataTableTable.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport * as React from 'react'\n\nimport { styled } from '~/styled'\n\nimport { Table } from '../table/Table'\nimport { TableBody } from '../table/TableBody'\nimport { AsyncDataState } from './DataTable.types'\nimport { DataTableBody } from './DataTableBody'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableHead } from './DataTableHead'\nimport { DataTableLoading } from './DataTableLoading'\n\nconst TableContainer = styled('div', {\n base: ['p-2', 'bg-white', 'rounded-lg']\n})\n\nexport type DataTableTableProps = Omit<\n React.ComponentProps<typeof Table>,\n 'children' | 'numberOfStickyColumns'\n> &\n Partial<\n Pick<React.ComponentProps<typeof DataTableHead>, 'theme' | 'sortable'>\n > &\n Partial<Pick<React.ComponentProps<typeof TableBody>, 'striped'>> & {\n scrollOptions?: {\n hasStickyHeader?: boolean\n stickyHeaderOffset?: number\n headerCss?: string\n numberOfStickyColumns?: number\n scrollContainerCls?: string | string[]\n showTotalInFirstColumn?: boolean\n totalSuffix?: string\n }\n rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void\n withContainer?: boolean\n }\n\nexport const DataTableTable = ({\n sortable,\n striped,\n theme = 'white',\n className,\n scrollOptions = {\n numberOfStickyColumns: 0,\n stickyHeaderOffset: 0,\n hasStickyHeader: false,\n showTotalInFirstColumn: true,\n totalSuffix: 'items'\n },\n rowAction,\n withContainer = false,\n ...props\n}: DataTableTableProps): JSX.Element | null => {\n const {\n asyncDataState,\n getTotalRows,\n getCanSomeRowsExpand,\n rowSelection,\n enableRowSelection,\n tableId,\n setTablePosition\n } = useDataTable()\n\n const tableRef = React.useRef<HTMLTableElement | null>(null)\n const isTableVisible = React.useRef(false)\n const isScrolling = React.useRef<boolean>(false)\n\n const scrollTarget = React.useMemo(() => {\n if (typeof window === 'undefined') return null\n return window\n }, [])\n\n React.useEffect(() => {\n if (!scrollTarget || typeof IntersectionObserver === 'undefined') {\n return\n }\n\n const updatePosition = () => {\n if (tableRef.current) {\n const tableTop = tableRef.current.getBoundingClientRect().top\n const tableBottom = tableRef.current.getBoundingClientRect().bottom\n\n setTablePosition((prevPosition) => ({\n ...prevPosition,\n top: tableTop,\n bottom: tableBottom\n }))\n }\n isScrolling.current = false\n }\n\n const handleScroll = () => {\n if (!isScrolling.current) {\n requestAnimationFrame(updatePosition)\n isScrolling.current = true\n }\n }\n\n if (!tableRef.current) return\n\n const observerOffset = scrollOptions?.stickyHeaderOffset || 0\n\n const observerOptions = {\n rootMargin: `-${observerOffset}px 0px -${observerOffset}px 0px`,\n threshold: 0\n }\n\n const handleTableIntersection = (entries: IntersectionObserverEntry[]) => {\n if (!entries || entries.length === 0) return\n const entry = entries[0]\n\n isTableVisible.current = entry.isIntersecting\n\n if (scrollTarget) {\n if (entry.isIntersecting) {\n // add scroll listener\n scrollTarget?.addEventListener('scroll', handleScroll)\n } else {\n // remove scroll listener\n scrollTarget?.removeEventListener('scroll', handleScroll)\n }\n }\n\n setTablePosition((prevPosition) => ({\n ...prevPosition,\n isVisible: entry.isIntersecting\n }))\n }\n\n const tableObserver = new IntersectionObserver(\n handleTableIntersection,\n observerOptions\n )\n\n //only track table position if we have a sticky header or bulk actions active\n if (\n tableRef.current &&\n (scrollOptions.hasStickyHeader ||\n Object.keys(rowSelection || {}).length > 0)\n ) {\n tableObserver.observe(tableRef.current)\n }\n\n return () => {\n tableObserver.disconnect()\n if (scrollTarget) {\n scrollTarget?.removeEventListener('scroll', handleScroll)\n }\n }\n }, [\n rowSelection,\n scrollOptions.hasStickyHeader,\n scrollOptions?.stickyHeaderOffset,\n scrollTarget,\n setTablePosition\n ])\n\n const isPending = asyncDataState === AsyncDataState.PENDING\n const isEmpty = !isPending && getTotalRows() === 0\n\n const buildScrollContainerKey = (): string => {\n let controlColumnCount = 0\n\n if (getCanSomeRowsExpand() && !!enableRowSelection) {\n controlColumnCount = 2\n } else if (getCanSomeRowsExpand() || !!enableRowSelection) {\n controlColumnCount = 1\n }\n\n return `${tableId}_${controlColumnCount}_control_columns`\n }\n\n if (isEmpty) return null\n\n const tableComponent = (\n <Table\n corners=\"round\"\n size=\"lg\"\n {...props}\n ref={tableRef}\n numberOfStickyColumns={scrollOptions.numberOfStickyColumns}\n scrollContainerCls={scrollOptions.scrollContainerCls}\n scrollContainerkey={buildScrollContainerKey()}\n className={clsx(\n className,\n isPending && [\n 'opacity-50',\n 'pointer-events-none',\n 'transition-opacity',\n 'duration-250',\n 'linear',\n 'delay-150'\n ]\n )}\n >\n <DataTableHead\n theme={theme}\n sortable={sortable}\n isSticky={scrollOptions.hasStickyHeader}\n stickyOffset={scrollOptions.stickyHeaderOffset}\n className={scrollOptions.headerCss}\n showTotalInFirstColumn={scrollOptions.showTotalInFirstColumn}\n totalSuffix={scrollOptions.totalSuffix}\n />\n <DataTableBody striped={striped} rowAction={rowAction} />\n </Table>\n )\n\n return (\n <>\n <DataTableLoading />\n {withContainer ? (\n <TableContainer\n className={clsx(\n scrollOptions.numberOfStickyColumns === 0 && 'overflow-x-auto'\n )}\n >\n {tableComponent}\n </TableContainer>\n ) : (\n tableComponent\n )}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;AAaA,IAAM,
|
|
1
|
+
{"version":3,"file":"DataTableTable.js","names":[],"sources":["../../../src/components/data-table/DataTableTable.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport * as React from 'react'\n\nimport { styled } from '~/styled'\n\nimport { Table } from '../table/Table'\nimport { TableBody } from '../table/TableBody'\nimport { AsyncDataState } from './DataTable.types'\nimport { DataTableBody } from './DataTableBody'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableHead } from './DataTableHead'\nimport { DataTableLoading } from './DataTableLoading'\n\nconst TableContainer = styled('div', {\n base: ['p-2', 'bg-white', 'rounded-lg']\n})\n\nexport type DataTableTableProps = Omit<\n React.ComponentProps<typeof Table>,\n 'children' | 'numberOfStickyColumns'\n> &\n Partial<\n Pick<React.ComponentProps<typeof DataTableHead>, 'theme' | 'sortable'>\n > &\n Partial<Pick<React.ComponentProps<typeof TableBody>, 'striped'>> & {\n scrollOptions?: {\n hasStickyHeader?: boolean\n stickyHeaderOffset?: number\n headerCss?: string\n numberOfStickyColumns?: number\n scrollContainerCls?: string | string[]\n showTotalInFirstColumn?: boolean\n totalSuffix?: string\n }\n rowAction?: (row: Record<string, unknown>, event: React.MouseEvent) => void\n withContainer?: boolean\n }\n\nexport const DataTableTable = ({\n sortable,\n striped,\n theme = 'white',\n className,\n scrollOptions = {\n numberOfStickyColumns: 0,\n stickyHeaderOffset: 0,\n hasStickyHeader: false,\n showTotalInFirstColumn: true,\n totalSuffix: 'items'\n },\n rowAction,\n withContainer = false,\n ...props\n}: DataTableTableProps): JSX.Element | null => {\n const {\n asyncDataState,\n getTotalRows,\n getCanSomeRowsExpand,\n rowSelection,\n enableRowSelection,\n tableId,\n setTablePosition\n } = useDataTable()\n\n const tableRef = React.useRef<HTMLTableElement | null>(null)\n const isTableVisible = React.useRef(false)\n const isScrolling = React.useRef<boolean>(false)\n\n const scrollTarget = React.useMemo(() => {\n if (typeof window === 'undefined') return null\n return window\n }, [])\n\n React.useEffect(() => {\n if (!scrollTarget || typeof IntersectionObserver === 'undefined') {\n return\n }\n\n const updatePosition = () => {\n if (tableRef.current) {\n const tableTop = tableRef.current.getBoundingClientRect().top\n const tableBottom = tableRef.current.getBoundingClientRect().bottom\n\n setTablePosition((prevPosition) => ({\n ...prevPosition,\n top: tableTop,\n bottom: tableBottom\n }))\n }\n isScrolling.current = false\n }\n\n const handleScroll = () => {\n if (!isScrolling.current) {\n requestAnimationFrame(updatePosition)\n isScrolling.current = true\n }\n }\n\n if (!tableRef.current) return\n\n const observerOffset = scrollOptions?.stickyHeaderOffset || 0\n\n const observerOptions = {\n rootMargin: `-${observerOffset}px 0px -${observerOffset}px 0px`,\n threshold: 0\n }\n\n const handleTableIntersection = (entries: IntersectionObserverEntry[]) => {\n if (!entries || entries.length === 0) return\n const entry = entries[0]\n\n isTableVisible.current = entry.isIntersecting\n\n if (scrollTarget) {\n if (entry.isIntersecting) {\n // add scroll listener\n scrollTarget?.addEventListener('scroll', handleScroll)\n } else {\n // remove scroll listener\n scrollTarget?.removeEventListener('scroll', handleScroll)\n }\n }\n\n setTablePosition((prevPosition) => ({\n ...prevPosition,\n isVisible: entry.isIntersecting\n }))\n }\n\n const tableObserver = new IntersectionObserver(\n handleTableIntersection,\n observerOptions\n )\n\n //only track table position if we have a sticky header or bulk actions active\n if (\n tableRef.current &&\n (scrollOptions.hasStickyHeader ||\n Object.keys(rowSelection || {}).length > 0)\n ) {\n tableObserver.observe(tableRef.current)\n }\n\n return () => {\n tableObserver.disconnect()\n if (scrollTarget) {\n scrollTarget?.removeEventListener('scroll', handleScroll)\n }\n }\n }, [\n rowSelection,\n scrollOptions.hasStickyHeader,\n scrollOptions?.stickyHeaderOffset,\n scrollTarget,\n setTablePosition\n ])\n\n const isPending = asyncDataState === AsyncDataState.PENDING\n const isEmpty = !isPending && getTotalRows() === 0\n\n const buildScrollContainerKey = (): string => {\n let controlColumnCount = 0\n\n if (getCanSomeRowsExpand() && !!enableRowSelection) {\n controlColumnCount = 2\n } else if (getCanSomeRowsExpand() || !!enableRowSelection) {\n controlColumnCount = 1\n }\n\n return `${tableId}_${controlColumnCount}_control_columns`\n }\n\n if (isEmpty) return null\n\n const tableComponent = (\n <Table\n corners=\"round\"\n size=\"lg\"\n {...props}\n ref={tableRef}\n numberOfStickyColumns={scrollOptions.numberOfStickyColumns}\n scrollContainerCls={scrollOptions.scrollContainerCls}\n scrollContainerkey={buildScrollContainerKey()}\n className={clsx(\n className,\n isPending && [\n 'opacity-50',\n 'pointer-events-none',\n 'transition-opacity',\n 'duration-250',\n 'linear',\n 'delay-150'\n ]\n )}\n >\n <DataTableHead\n theme={theme}\n sortable={sortable}\n isSticky={scrollOptions.hasStickyHeader}\n stickyOffset={scrollOptions.stickyHeaderOffset}\n className={scrollOptions.headerCss}\n showTotalInFirstColumn={scrollOptions.showTotalInFirstColumn}\n totalSuffix={scrollOptions.totalSuffix}\n />\n <DataTableBody striped={striped} rowAction={rowAction} />\n </Table>\n )\n\n return (\n <>\n <DataTableLoading />\n {withContainer ? (\n <TableContainer\n className={clsx(\n scrollOptions.numberOfStickyColumns === 0 && 'overflow-x-auto'\n )}\n >\n {tableComponent}\n </TableContainer>\n ) : (\n tableComponent\n )}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;AAaA,IAAM,iBAAiB,OAAO,OAAO,EACnC,MAAM;CAAC;CAAO;CAAY;CAAa,EACxC,CAAC;AAuBF,IAAa,kBAAkB,EAC7B,UACA,SACA,QAAQ,SACR,WACA,gBAAgB;CACd,uBAAuB;CACvB,oBAAoB;CACpB,iBAAiB;CACjB,wBAAwB;CACxB,aAAa;CACd,EACD,WACA,gBAAgB,OAChB,GAAG,YAC0C;CAC7C,MAAM,EACJ,gBACA,cACA,sBACA,cACA,oBACA,SACA,qBACE,cAAc;CAElB,MAAM,WAAW,QAAM,OAAgC,KAAK;CAC5D,MAAM,iBAAiB,QAAM,OAAO,MAAM;CAC1C,MAAM,cAAc,QAAM,OAAgB,MAAM;CAEhD,MAAM,eAAe,QAAM,cAAc;AACvC,MAAI,OAAO,WAAW,YAAa,QAAO;AAC1C,SAAO;IACN,EAAE,CAAC;AAEN,SAAM,gBAAgB;AACpB,MAAI,CAAC,gBAAgB,OAAO,yBAAyB,YACnD;EAGF,MAAM,uBAAuB;AAC3B,OAAI,SAAS,SAAS;IACpB,MAAM,WAAW,SAAS,QAAQ,uBAAuB,CAAC;IAC1D,MAAM,cAAc,SAAS,QAAQ,uBAAuB,CAAC;AAE7D,sBAAkB,kBAAkB;KAClC,GAAG;KACH,KAAK;KACL,QAAQ;KACT,EAAE;;AAEL,eAAY,UAAU;;EAGxB,MAAM,qBAAqB;AACzB,OAAI,CAAC,YAAY,SAAS;AACxB,0BAAsB,eAAe;AACrC,gBAAY,UAAU;;;AAI1B,MAAI,CAAC,SAAS,QAAS;EAEvB,MAAM,iBAAiB,eAAe,sBAAsB;EAE5D,MAAM,kBAAkB;GACtB,YAAY,IAAI,eAAe,UAAU,eAAe;GACxD,WAAW;GACZ;EAED,MAAM,2BAA2B,YAAyC;AACxE,OAAI,CAAC,WAAW,QAAQ,WAAW,EAAG;GACtC,MAAM,QAAQ,QAAQ;AAEtB,kBAAe,UAAU,MAAM;AAE/B,OAAI,aACF,KAAI,MAAM,eAER,eAAc,iBAAiB,UAAU,aAAa;OAGtD,eAAc,oBAAoB,UAAU,aAAa;AAI7D,qBAAkB,kBAAkB;IAClC,GAAG;IACH,WAAW,MAAM;IAClB,EAAE;;EAGL,MAAM,gBAAgB,IAAI,qBACxB,yBACA,gBACD;AAGD,MACE,SAAS,YACR,cAAc,mBACb,OAAO,KAAK,gBAAgB,EAAE,CAAC,CAAC,SAAS,GAE3C,eAAc,QAAQ,SAAS,QAAQ;AAGzC,eAAa;AACX,iBAAc,YAAY;AAC1B,OAAI,aACF,eAAc,oBAAoB,UAAU,aAAa;;IAG5D;EACD;EACA,cAAc;EACd,eAAe;EACf;EACA;EACD,CAAC;CAEF,MAAM,YAAY,mBAAmB,eAAe;CACpD,MAAM,UAAU,CAAC,aAAa,cAAc,KAAK;CAEjD,MAAM,gCAAwC;EAC5C,IAAI,qBAAqB;AAEzB,MAAI,sBAAsB,IAAI,CAAC,CAAC,mBAC9B,sBAAqB;WACZ,sBAAsB,IAAI,CAAC,CAAC,mBACrC,sBAAqB;AAGvB,SAAO,GAAG,QAAQ,GAAG,mBAAmB;;AAG1C,KAAI,QAAS,QAAO;CAEpB,MAAM,iBACJ,wBAAA,cAAC,OAAD;EACE,SAAQ;EACR,MAAK;EACL,GAAI;EACJ,KAAK;EACL,uBAAuB,cAAc;EACrC,oBAAoB,cAAc;EAClC,oBAAoB,yBAAyB;EAC7C,WAAW,KACT,WACA,aAAa;GACX;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAYK,EAVN,wBAAA,cAAC,eAAD;EACS;EACG;EACV,UAAU,cAAc;EACxB,cAAc,cAAc;EAC5B,WAAW,cAAc;EACzB,wBAAwB,cAAc;EACtC,aAAa,cAAc;EAC3B,CAAA,EACF,wBAAA,cAAC,eAAD;EAAwB;EAAoB;EAAa,CAAA,CACnD;AAGV,QACE,wBAAA,cAAA,QAAA,UAAA,MACE,wBAAA,cAAC,kBAAA,KAAmB,EACnB,gBACC,wBAAA,cAAC,gBAAD,EACE,WAAW,KACT,cAAc,0BAA0B,KAAK,kBAC9C,EAGc,EADd,eACc,GAEjB,eAED"}
|
|
@@ -1,48 +1,55 @@
|
|
|
1
|
-
import { Table
|
|
2
|
-
import { AsyncDataState
|
|
3
|
-
import { useDataTable
|
|
4
|
-
import { DataTableHead
|
|
5
|
-
import { DataTableLoading
|
|
6
|
-
import { SortableRoot
|
|
7
|
-
import { DragAndDropTableBody
|
|
8
|
-
import
|
|
9
|
-
import * as
|
|
10
|
-
import { arrayMove
|
|
1
|
+
import { Table } from "../../table/Table.js";
|
|
2
|
+
import { AsyncDataState } from "../DataTable.types.js";
|
|
3
|
+
import { useDataTable } from "../DataTableContext.js";
|
|
4
|
+
import { DataTableHead } from "../DataTableHead.js";
|
|
5
|
+
import { DataTableLoading } from "../DataTableLoading.js";
|
|
6
|
+
import { SortableRoot } from "../../sortable/SortableRoot.js";
|
|
7
|
+
import { DragAndDropTableBody } from "./DragAndDropTableBody.js";
|
|
8
|
+
import clsx from "clsx";
|
|
9
|
+
import * as React$1 from "react";
|
|
10
|
+
import { arrayMove } from "@dnd-kit/sortable";
|
|
11
11
|
//#region src/components/data-table/drag-and-drop/DragAndDropTable.tsx
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
var DragAndDropTable = ({ idColumn = "id", onDragAndDrop, sortable, striped, theme, className, ...props }) => {
|
|
13
|
+
const { asyncDataState, data, setData } = useDataTable();
|
|
14
|
+
const isPending = asyncDataState === AsyncDataState.PENDING;
|
|
15
|
+
const rowIds = React$1.useMemo(() => data.results.map((row) => {
|
|
16
|
+
return row[idColumn];
|
|
17
|
+
}), [data]);
|
|
18
|
+
const handleSortChange = React$1.useCallback(({ oldIndex, newIndex }) => {
|
|
19
|
+
const sortedResults = arrayMove(data.results, oldIndex, newIndex);
|
|
20
|
+
const newData = {
|
|
21
|
+
results: sortedResults,
|
|
22
|
+
total: data.total
|
|
17
23
|
};
|
|
18
|
-
|
|
19
|
-
results:
|
|
20
|
-
total:
|
|
21
|
-
}), d?.({
|
|
22
|
-
oldIndex: e,
|
|
23
|
-
newIndex: t,
|
|
24
|
-
newData: r
|
|
24
|
+
setData({
|
|
25
|
+
results: sortedResults,
|
|
26
|
+
total: data.total
|
|
25
27
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
onDragAndDrop?.({
|
|
29
|
+
oldIndex,
|
|
30
|
+
newIndex,
|
|
31
|
+
newData
|
|
32
|
+
});
|
|
33
|
+
}, [data, onDragAndDrop]);
|
|
34
|
+
return /* @__PURE__ */ React$1.createElement(SortableRoot, {
|
|
35
|
+
onSortChange: handleSortChange,
|
|
36
|
+
sortableIds: rowIds
|
|
37
|
+
}, /* @__PURE__ */ React$1.createElement(DataTableLoading, null), /* @__PURE__ */ React$1.createElement(Table, {
|
|
38
|
+
...props,
|
|
39
|
+
className: clsx(className, isPending && [
|
|
33
40
|
"opacity-50",
|
|
34
41
|
"pointer-events-none",
|
|
35
42
|
"transition-opacity,duration-250,linear,delay-150"
|
|
36
43
|
])
|
|
37
|
-
}, /* @__PURE__ */
|
|
38
|
-
theme
|
|
39
|
-
sortable
|
|
40
|
-
}), /* @__PURE__ */
|
|
41
|
-
striped
|
|
42
|
-
idColumn
|
|
44
|
+
}, /* @__PURE__ */ React$1.createElement(DataTableHead, {
|
|
45
|
+
theme,
|
|
46
|
+
sortable
|
|
47
|
+
}), /* @__PURE__ */ React$1.createElement(DragAndDropTableBody, {
|
|
48
|
+
striped,
|
|
49
|
+
idColumn
|
|
43
50
|
})));
|
|
44
51
|
};
|
|
45
52
|
//#endregion
|
|
46
|
-
export {
|
|
53
|
+
export { DragAndDropTable };
|
|
47
54
|
|
|
48
55
|
//# sourceMappingURL=DragAndDropTable.js.map
|