@digdir/designsystemet-react 1.0.0-next.17 → 1.0.0-next.33
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/cjs/components/Accordion/Accordion.js +15 -0
- package/dist/cjs/components/Accordion/AccordionContent.js +2 -11
- package/dist/cjs/components/Accordion/AccordionHeading.js +5 -17
- package/dist/cjs/components/Accordion/AccordionItem.js +61 -16
- package/dist/cjs/components/Accordion/index.js +4 -7
- package/dist/cjs/components/Alert/Alert.js +3 -18
- package/dist/cjs/components/Avatar/Avatar.js +36 -0
- package/dist/cjs/components/Badge/Badge.js +6 -1
- package/dist/cjs/components/Button/Button.js +6 -3
- package/dist/cjs/components/Card/Card.js +1 -1
- package/dist/cjs/components/Divider/Divider.js +5 -4
- package/dist/cjs/components/DropdownMenu/DropdownMenuContent.js +3 -22
- package/dist/cjs/components/DropdownMenu/DropdownMenuGroup.js +1 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenuItem.js +1 -1
- package/dist/cjs/components/ErrorSummary/ErrorSummaryHeading.js +11 -7
- package/dist/cjs/components/ErrorSummary/ErrorSummaryItem.js +4 -4
- package/dist/cjs/components/ErrorSummary/ErrorSummaryList.js +7 -5
- package/dist/cjs/components/ErrorSummary/ErrorSummaryRoot.js +4 -4
- package/dist/cjs/components/ErrorSummary/index.js +2 -2
- package/dist/cjs/components/HelpText/HelpText.js +6 -4
- package/dist/cjs/components/Link/Link.js +2 -2
- package/dist/cjs/components/List/ListItem.js +2 -4
- package/dist/cjs/components/List/Lists.js +10 -13
- package/dist/cjs/components/List/index.js +7 -14
- package/dist/cjs/components/Modal/ModalHeader.js +1 -1
- package/dist/cjs/components/Pagination/Pagination.js +3 -17
- package/dist/cjs/components/Pagination/PaginationButton.js +2 -3
- package/dist/cjs/components/Pagination/PaginationEllipsis.js +1 -2
- package/dist/cjs/components/Pagination/PaginationItem.js +1 -2
- package/dist/cjs/components/Pagination/{PaginationContent.js → PaginationList.js} +4 -5
- package/dist/cjs/components/Pagination/PaginationNextPrev.js +4 -6
- package/dist/cjs/components/Pagination/PaginationRoot.js +2 -3
- package/dist/cjs/components/Pagination/index.js +4 -4
- package/dist/cjs/components/Popover/Popover.js +94 -0
- package/dist/cjs/components/Popover/PopoverContext.js +16 -0
- package/dist/cjs/components/Popover/PopoverTrigger.js +4 -13
- package/dist/cjs/components/Popover/index.js +6 -9
- package/dist/cjs/components/Table/Table.js +2 -22
- package/dist/cjs/components/Table/TableBody.js +2 -22
- package/dist/cjs/components/Table/TableCell.js +2 -23
- package/dist/cjs/components/Table/TableHead.js +2 -23
- package/dist/cjs/components/Table/TableHeaderCell.js +2 -29
- package/dist/cjs/components/Table/TableRow.js +2 -23
- package/dist/cjs/components/Tag/Tag.js +2 -3
- package/dist/cjs/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +3 -5
- package/dist/cjs/components/Tooltip/Tooltip.js +6 -25
- package/dist/cjs/components/Typography/Heading/Heading.js +2 -2
- package/dist/cjs/components/form/Combobox/Combobox.js +2 -3
- package/dist/cjs/components/form/Combobox/internal/ComboboxInput.js +1 -2
- package/dist/cjs/components/form/Combobox/useFloatingCombobox.js +1 -1
- package/dist/cjs/components/form/Select/Select.js +20 -0
- package/dist/cjs/components/form/Select/SelectOptgroup.js +13 -0
- package/dist/cjs/components/form/Select/SelectOption.js +13 -0
- package/dist/cjs/components/form/Select/index.js +16 -0
- package/dist/cjs/components/form/Select/useSelect.js +49 -0
- package/dist/cjs/components/{Skeleton → loaders/Skeleton}/Circle/Circle.js +2 -2
- package/dist/cjs/components/{Skeleton → loaders/Skeleton}/Rectangle/Rectangle.js +2 -2
- package/dist/cjs/components/{Skeleton → loaders/Skeleton}/Text/Text.js +2 -2
- package/dist/cjs/components/loaders/Spinner/Spinner.js +16 -0
- package/dist/cjs/index.js +56 -60
- package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +7 -23
- package/dist/cjs/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +164 -0
- package/dist/cjs/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +22 -0
- package/dist/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.js +85 -56
- package/dist/cjs/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +1 -1
- package/dist/cjs/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +677 -0
- package/dist/cjs/node_modules/@tanstack/virtual-core/dist/esm/index.js +57 -65
- package/dist/cjs/node_modules/@u-elements/u-details/dist/u-details.js +117 -0
- package/dist/cjs/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js +4 -2
- package/dist/esm/components/Accordion/Accordion.js +13 -0
- package/dist/esm/components/Accordion/AccordionContent.js +3 -12
- package/dist/esm/components/Accordion/AccordionHeading.js +7 -19
- package/dist/esm/components/Accordion/AccordionItem.js +63 -17
- package/dist/esm/components/Accordion/index.js +5 -7
- package/dist/esm/components/Alert/Alert.js +4 -19
- package/dist/esm/components/Avatar/Avatar.js +34 -0
- package/dist/esm/components/Badge/Badge.js +6 -1
- package/dist/esm/components/Button/Button.js +8 -5
- package/dist/esm/components/Card/Card.js +1 -1
- package/dist/esm/components/Divider/Divider.js +5 -4
- package/dist/esm/components/DropdownMenu/DropdownMenuContent.js +4 -5
- package/dist/esm/components/DropdownMenu/DropdownMenuGroup.js +1 -1
- package/dist/esm/components/DropdownMenu/DropdownMenuItem.js +1 -1
- package/dist/esm/components/ErrorSummary/ErrorSummaryHeading.js +12 -8
- package/dist/esm/components/ErrorSummary/ErrorSummaryItem.js +4 -4
- package/dist/esm/components/ErrorSummary/ErrorSummaryList.js +7 -5
- package/dist/esm/components/ErrorSummary/ErrorSummaryRoot.js +4 -4
- package/dist/esm/components/ErrorSummary/index.js +1 -1
- package/dist/esm/components/HelpText/HelpText.js +8 -6
- package/dist/esm/components/Link/Link.js +2 -2
- package/dist/esm/components/List/ListItem.js +2 -4
- package/dist/esm/components/List/Lists.js +10 -13
- package/dist/esm/components/List/index.js +7 -12
- package/dist/esm/components/Modal/ModalHeader.js +1 -1
- package/dist/esm/components/Pagination/Pagination.js +3 -17
- package/dist/esm/components/Pagination/PaginationButton.js +2 -3
- package/dist/esm/components/Pagination/PaginationEllipsis.js +1 -2
- package/dist/esm/components/Pagination/PaginationItem.js +1 -2
- package/dist/esm/components/Pagination/{PaginationContent.js → PaginationList.js} +4 -5
- package/dist/esm/components/Pagination/PaginationNextPrev.js +4 -6
- package/dist/esm/components/Pagination/PaginationRoot.js +2 -3
- package/dist/esm/components/Pagination/index.js +4 -4
- package/dist/esm/components/Popover/Popover.js +92 -0
- package/dist/esm/components/Popover/PopoverContext.js +13 -0
- package/dist/esm/components/Popover/PopoverTrigger.js +5 -14
- package/dist/esm/components/Popover/index.js +6 -8
- package/dist/esm/components/Table/Table.js +3 -4
- package/dist/esm/components/Table/TableBody.js +3 -4
- package/dist/esm/components/Table/TableCell.js +3 -5
- package/dist/esm/components/Table/TableHead.js +3 -5
- package/dist/esm/components/Table/TableHeaderCell.js +4 -12
- package/dist/esm/components/Table/TableRow.js +3 -5
- package/dist/esm/components/Tag/Tag.js +2 -3
- package/dist/esm/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +3 -5
- package/dist/esm/components/Tooltip/Tooltip.js +9 -10
- package/dist/esm/components/Typography/Heading/Heading.js +2 -2
- package/dist/esm/components/form/Combobox/Combobox.js +2 -3
- package/dist/esm/components/form/Combobox/internal/ComboboxInput.js +1 -2
- package/dist/esm/components/form/Combobox/useFloatingCombobox.js +1 -1
- package/dist/esm/components/form/Select/Select.js +18 -0
- package/dist/esm/components/form/Select/SelectOptgroup.js +11 -0
- package/dist/esm/components/form/Select/SelectOption.js +11 -0
- package/dist/esm/components/form/Select/index.js +12 -0
- package/dist/esm/components/form/Select/useSelect.js +47 -0
- package/dist/esm/components/{Skeleton → loaders/Skeleton}/Circle/Circle.js +2 -2
- package/dist/esm/components/{Skeleton → loaders/Skeleton}/Rectangle/Rectangle.js +2 -2
- package/dist/esm/components/{Skeleton → loaders/Skeleton}/Text/Text.js +2 -2
- package/dist/esm/components/loaders/Spinner/Spinner.js +14 -0
- package/dist/esm/index.js +13 -15
- package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.js +1 -1
- package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +7 -21
- package/dist/esm/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +143 -0
- package/dist/esm/node_modules/@floating-ui/dom/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +16 -0
- package/dist/esm/node_modules/@floating-ui/react/dist/floating-ui.react.js +85 -56
- package/dist/esm/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +2 -2
- package/dist/esm/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +667 -0
- package/dist/esm/node_modules/@tanstack/virtual-core/dist/esm/index.js +57 -65
- package/dist/esm/node_modules/@u-elements/u-details/dist/u-details.js +114 -0
- package/dist/esm/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.js +4 -2
- package/dist/types/components/Accordion/{AccordionRoot.d.ts → Accordion.d.ts} +5 -5
- package/dist/types/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/types/components/Accordion/AccordionContent.d.ts +1 -1
- package/dist/types/components/Accordion/AccordionContent.d.ts.map +1 -1
- package/dist/types/components/Accordion/AccordionHeading.d.ts +6 -20
- package/dist/types/components/Accordion/AccordionHeading.d.ts.map +1 -1
- package/dist/types/components/Accordion/AccordionItem.d.ts +12 -26
- package/dist/types/components/Accordion/AccordionItem.d.ts.map +1 -1
- package/dist/types/components/Accordion/index.d.ts +9 -11
- package/dist/types/components/Accordion/index.d.ts.map +1 -1
- package/dist/types/components/Alert/Alert.d.ts +7 -23
- package/dist/types/components/Alert/Alert.d.ts.map +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts +78 -0
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/types/components/Avatar/index.d.ts +3 -0
- package/dist/types/components/Avatar/index.d.ts.map +1 -0
- package/dist/types/components/Badge/Badge.d.ts +2 -2
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsItem.d.ts +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsItem.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts +3 -3
- package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsList.d.ts +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsList.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsNav.d.ts +6 -4
- package/dist/types/components/Breadcrumbs/BreadcrumbsNav.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsRoot.d.ts +2 -2
- package/dist/types/components/Breadcrumbs/BreadcrumbsRoot.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/index.d.ts +9 -9
- package/dist/types/components/Button/Button.d.ts +10 -12
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/Card/Card.d.ts +2 -2
- package/dist/types/components/Card/Card.d.ts.map +1 -1
- package/dist/types/components/Card/CardContent.d.ts +2 -2
- package/dist/types/components/Card/CardContent.d.ts.map +1 -1
- package/dist/types/components/Card/CardFooter.d.ts +2 -2
- package/dist/types/components/Card/CardFooter.d.ts.map +1 -1
- package/dist/types/components/Card/CardHeader.d.ts +2 -2
- package/dist/types/components/Card/CardHeader.d.ts.map +1 -1
- package/dist/types/components/Card/CardMedia.d.ts +2 -2
- package/dist/types/components/Card/CardMedia.d.ts.map +1 -1
- package/dist/types/components/Chip/Group/Group.d.ts +3 -3
- package/dist/types/components/Chip/Group/Group.d.ts.map +1 -1
- package/dist/types/components/Chip/Removable/Removable.d.ts +2 -2
- package/dist/types/components/Chip/Removable/Removable.d.ts.map +1 -1
- package/dist/types/components/Chip/Toggle/Toggle.d.ts +2 -2
- package/dist/types/components/Chip/Toggle/Toggle.d.ts.map +1 -1
- package/dist/types/components/Divider/Divider.d.ts +3 -15
- package/dist/types/components/Divider/Divider.d.ts.map +1 -1
- package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts +5 -5
- package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts.map +1 -1
- package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts +5 -5
- package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts.map +1 -1
- package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts +2 -2
- package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/types/components/DropdownMenu/DropdownMenuRoot.d.ts +3 -3
- package/dist/types/components/DropdownMenu/DropdownMenuRoot.d.ts.map +1 -1
- package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts +3 -3
- package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts +8 -6
- package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts +2 -5
- package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts +6 -7
- package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/ErrorSummaryRoot.d.ts +7 -6
- package/dist/types/components/ErrorSummary/ErrorSummaryRoot.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/index.d.ts +1 -1
- package/dist/types/components/ErrorSummary/index.d.ts.map +1 -1
- package/dist/types/components/HelpText/HelpText.d.ts +19 -8
- package/dist/types/components/HelpText/HelpText.d.ts.map +1 -1
- package/dist/types/components/Link/Link.d.ts +2 -2
- package/dist/types/components/Link/Link.d.ts.map +1 -1
- package/dist/types/components/List/ListItem.d.ts +2 -2
- package/dist/types/components/List/ListItem.d.ts.map +1 -1
- package/dist/types/components/List/Lists.d.ts +11 -21
- package/dist/types/components/List/Lists.d.ts.map +1 -1
- package/dist/types/components/List/index.d.ts +15 -14
- package/dist/types/components/List/index.d.ts.map +1 -1
- package/dist/types/components/Modal/ModaContent.d.ts +2 -2
- package/dist/types/components/Modal/ModaContent.d.ts.map +1 -1
- package/dist/types/components/Modal/ModalDialog.d.ts +2 -2
- package/dist/types/components/Modal/ModalDialog.d.ts.map +1 -1
- package/dist/types/components/Modal/ModalFooter.d.ts +2 -2
- package/dist/types/components/Modal/ModalFooter.d.ts.map +1 -1
- package/dist/types/components/Modal/ModalHeader.d.ts +2 -2
- package/dist/types/components/Modal/ModalHeader.d.ts.map +1 -1
- package/dist/types/components/Modal/ModalRoot.d.ts +4 -3
- package/dist/types/components/Modal/ModalRoot.d.ts.map +1 -1
- package/dist/types/components/Modal/ModalTrigger.d.ts +3 -3
- package/dist/types/components/Modal/ModalTrigger.d.ts.map +1 -1
- package/dist/types/components/Pagination/Pagination.d.ts +4 -5
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationButton.d.ts +3 -3
- package/dist/types/components/Pagination/PaginationButton.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationEllipsis.d.ts +1 -2
- package/dist/types/components/Pagination/PaginationEllipsis.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationItem.d.ts +2 -3
- package/dist/types/components/Pagination/PaginationItem.d.ts.map +1 -1
- package/dist/types/components/Pagination/{PaginationContent.d.ts → PaginationList.d.ts} +4 -4
- package/dist/types/components/Pagination/PaginationList.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationNextPrev.d.ts +4 -5
- package/dist/types/components/Pagination/PaginationNextPrev.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationRoot.d.ts +14 -4
- package/dist/types/components/Pagination/PaginationRoot.d.ts.map +1 -1
- package/dist/types/components/Pagination/index.d.ts +9 -10
- package/dist/types/components/Pagination/index.d.ts.map +1 -1
- package/dist/types/components/Pagination/usePagination.d.ts +1 -1
- package/dist/types/components/Popover/Popover.d.ts +83 -0
- package/dist/types/components/Popover/Popover.d.ts.map +1 -0
- package/dist/types/components/Popover/PopoverContext.d.ts +13 -0
- package/dist/types/components/Popover/PopoverContext.d.ts.map +1 -0
- package/dist/types/components/Popover/PopoverTrigger.d.ts +3 -3
- package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -1
- package/dist/types/components/Popover/index.d.ts +8 -10
- package/dist/types/components/Popover/index.d.ts.map +1 -1
- package/dist/types/components/Table/Table.d.ts +3 -3
- package/dist/types/components/Table/Table.d.ts.map +1 -1
- package/dist/types/components/Table/TableBody.d.ts +2 -2
- package/dist/types/components/Table/TableBody.d.ts.map +1 -1
- package/dist/types/components/Table/TableCell.d.ts +2 -2
- package/dist/types/components/Table/TableCell.d.ts.map +1 -1
- package/dist/types/components/Table/TableHead.d.ts +2 -2
- package/dist/types/components/Table/TableHead.d.ts.map +1 -1
- package/dist/types/components/Table/TableHeaderCell.d.ts +5 -25
- package/dist/types/components/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/types/components/Table/TableRow.d.ts +2 -2
- package/dist/types/components/Table/TableRow.d.ts.map +1 -1
- package/dist/types/components/Tabs/Tab.d.ts +2 -2
- package/dist/types/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/types/components/Tabs/TabContent.d.ts +2 -2
- package/dist/types/components/Tabs/TabContent.d.ts.map +1 -1
- package/dist/types/components/Tabs/TabList.d.ts +1 -1
- package/dist/types/components/Tabs/TabList.d.ts.map +1 -1
- package/dist/types/components/Tabs/TabsRoot.d.ts +3 -3
- package/dist/types/components/Tabs/TabsRoot.d.ts.map +1 -1
- package/dist/types/components/Tag/Tag.d.ts +2 -2
- package/dist/types/components/Tag/Tag.d.ts.map +1 -1
- package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts +3 -3
- package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts.map +1 -1
- package/dist/types/components/ToggleGroup/ToggleGroupRoot.d.ts +3 -3
- package/dist/types/components/ToggleGroup/ToggleGroupRoot.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +6 -7
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts +2 -2
- package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts.map +1 -1
- package/dist/types/components/Typography/Heading/Heading.d.ts +4 -4
- package/dist/types/components/Typography/Heading/Heading.d.ts.map +1 -1
- package/dist/types/components/Typography/Ingress/Ingress.d.ts +2 -2
- package/dist/types/components/Typography/Ingress/Ingress.d.ts.map +1 -1
- package/dist/types/components/Typography/Label/Label.d.ts +2 -2
- package/dist/types/components/Typography/Label/Label.d.ts.map +1 -1
- package/dist/types/components/Typography/Paragraph/Paragraph.d.ts +2 -2
- package/dist/types/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.d.ts +2 -2
- package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/CheckboxGroup.d.ts +3 -3
- package/dist/types/components/form/Checkbox/CheckboxGroup.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/Combobox.d.ts +4 -4
- package/dist/types/components/form/Combobox/Combobox.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/ComboboxContext.d.ts +5 -4
- package/dist/types/components/form/Combobox/ComboboxContext.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/ComboboxIdContext.d.ts +4 -4
- package/dist/types/components/form/Combobox/ComboboxIdContext.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/Custom.d.ts +2 -2
- package/dist/types/components/form/Combobox/Custom.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/Empty.d.ts +2 -2
- package/dist/types/components/form/Combobox/Empty.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/Option/Description.d.ts +2 -2
- package/dist/types/components/form/Combobox/Option/Description.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/Option/Option.d.ts +3 -3
- package/dist/types/components/form/Combobox/Option/Option.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/Option/useComboboxOption.d.ts +1 -1
- package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts +2 -1
- package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts +3 -2
- package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/useCombobox.d.ts +3 -3
- package/dist/types/components/form/Combobox/useComboboxKeyboard.d.ts +2 -1
- package/dist/types/components/form/Combobox/useComboboxKeyboard.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/useFloatingCombobox.d.ts +13 -12
- package/dist/types/components/form/Combobox/useFloatingCombobox.d.ts.map +1 -1
- package/dist/types/components/form/Fieldset/Fieldset.d.ts +2 -2
- package/dist/types/components/form/Fieldset/Fieldset.d.ts.map +1 -1
- package/dist/types/components/form/Fieldset/FieldsetContext.d.ts +1 -1
- package/dist/types/components/form/Fieldset/FieldsetContext.d.ts.map +1 -1
- package/dist/types/components/form/Fieldset/useFieldset.d.ts +1 -1
- package/dist/types/components/form/Radio/Radio.d.ts +2 -2
- package/dist/types/components/form/Radio/Radio.d.ts.map +1 -1
- package/dist/types/components/form/Radio/RadioGroup.d.ts +3 -3
- package/dist/types/components/form/Radio/RadioGroup.d.ts.map +1 -1
- package/dist/types/components/form/Search/Search.d.ts +2 -2
- package/dist/types/components/form/Search/Search.d.ts.map +1 -1
- package/dist/types/components/form/{NativeSelect/NativeSelect.d.ts → Select/Select.d.ts} +5 -5
- package/dist/types/components/form/Select/Select.d.ts.map +1 -0
- package/dist/types/components/form/Select/SelectOptgroup.d.ts +16 -0
- package/dist/types/components/form/Select/SelectOptgroup.d.ts.map +1 -0
- package/dist/types/components/form/Select/SelectOption.d.ts +16 -0
- package/dist/types/components/form/Select/SelectOption.d.ts.map +1 -0
- package/dist/types/components/form/Select/index.d.ts +13 -0
- package/dist/types/components/form/Select/index.d.ts.map +1 -0
- package/dist/types/components/form/Select/useSelect.d.ts +10 -0
- package/dist/types/components/form/Select/useSelect.d.ts.map +1 -0
- package/dist/types/components/form/Switch/Switch.d.ts +2 -2
- package/dist/types/components/form/Switch/Switch.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/Textarea.d.ts +2 -2
- package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
- package/dist/types/components/form/Textfield/Textfield.d.ts +2 -2
- package/dist/types/components/form/Textfield/Textfield.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +4 -4
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/loaders/Skeleton/Circle/Circle.d.ts.map +1 -0
- package/dist/types/components/loaders/Skeleton/Rectangle/Rectangle.d.ts.map +1 -0
- package/dist/types/components/loaders/Skeleton/Text/Text.d.ts.map +1 -0
- package/dist/types/components/loaders/Skeleton/index.d.ts.map +1 -0
- package/dist/types/components/{Spinner → loaders/Spinner}/Spinner.d.ts +3 -3
- package/dist/types/components/loaders/Spinner/Spinner.d.ts.map +1 -0
- package/dist/types/components/loaders/Spinner/index.d.ts.map +1 -0
- package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts +2 -2
- package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts.map +1 -1
- package/dist/types/utilities/RovingFocus/RovingFocusItem.d.ts +2 -2
- package/dist/types/utilities/RovingFocus/RovingFocusItem.d.ts.map +1 -1
- package/dist/types/utilities/RovingFocus/RovingFocusRoot.d.ts +3 -3
- package/dist/types/utilities/RovingFocus/RovingFocusRoot.d.ts.map +1 -1
- package/dist/types/utilities/RovingFocus/useRovingFocus.d.ts +163 -162
- package/dist/types/utilities/RovingFocus/useRovingFocus.d.ts.map +1 -1
- package/dist/types/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.d.ts +1 -1
- package/dist/types/utilities/hooks/useSynchronizedAnimation/useSynchronizedAnimation.d.ts.map +1 -1
- package/package.json +9 -4
- package/dist/cjs/components/Accordion/AccordionRoot.js +0 -16
- package/dist/cjs/components/Box/Box.js +0 -15
- package/dist/cjs/components/List/ListHeading.js +0 -28
- package/dist/cjs/components/List/ListRoot.js +0 -21
- package/dist/cjs/components/Popover/PopoverContent.js +0 -105
- package/dist/cjs/components/Popover/PopoverRoot.js +0 -68
- package/dist/cjs/components/Spinner/Spinner.js +0 -24
- package/dist/cjs/components/form/NativeSelect/NativeSelect.js +0 -21
- package/dist/cjs/components/form/NativeSelect/useNativeSelect.js +0 -55
- package/dist/cjs/utilities/AnimateHeight/AnimateHeight.js +0 -46
- package/dist/cjs/utilities/hooks/useMediaQuery/useMediaQuery.js +0 -49
- package/dist/cjs/utilities/hooks/usePrevious.js +0 -14
- package/dist/esm/components/Accordion/AccordionRoot.js +0 -14
- package/dist/esm/components/Box/Box.js +0 -13
- package/dist/esm/components/List/ListHeading.js +0 -26
- package/dist/esm/components/List/ListRoot.js +0 -18
- package/dist/esm/components/Popover/PopoverContent.js +0 -85
- package/dist/esm/components/Popover/PopoverRoot.js +0 -47
- package/dist/esm/components/Spinner/Spinner.js +0 -22
- package/dist/esm/components/form/NativeSelect/NativeSelect.js +0 -19
- package/dist/esm/components/form/NativeSelect/useNativeSelect.js +0 -53
- package/dist/esm/utilities/AnimateHeight/AnimateHeight.js +0 -44
- package/dist/esm/utilities/hooks/useMediaQuery/useMediaQuery.js +0 -47
- package/dist/esm/utilities/hooks/usePrevious.js +0 -12
- package/dist/types/components/Accordion/AccordionRoot.d.ts.map +0 -1
- package/dist/types/components/Box/Box.d.ts +0 -56
- package/dist/types/components/Box/Box.d.ts.map +0 -1
- package/dist/types/components/Box/index.d.ts +0 -3
- package/dist/types/components/Box/index.d.ts.map +0 -1
- package/dist/types/components/List/ListHeading.d.ts +0 -9
- package/dist/types/components/List/ListHeading.d.ts.map +0 -1
- package/dist/types/components/List/ListRoot.d.ts +0 -34
- package/dist/types/components/List/ListRoot.d.ts.map +0 -1
- package/dist/types/components/Pagination/PaginationContent.d.ts.map +0 -1
- package/dist/types/components/Popover/PopoverContent.d.ts +0 -8
- package/dist/types/components/Popover/PopoverContent.d.ts.map +0 -1
- package/dist/types/components/Popover/PopoverRoot.d.ts +0 -54
- package/dist/types/components/Popover/PopoverRoot.d.ts.map +0 -1
- package/dist/types/components/Skeleton/Circle/Circle.d.ts.map +0 -1
- package/dist/types/components/Skeleton/Rectangle/Rectangle.d.ts.map +0 -1
- package/dist/types/components/Skeleton/Text/Text.d.ts.map +0 -1
- package/dist/types/components/Skeleton/index.d.ts.map +0 -1
- package/dist/types/components/Spinner/Spinner.d.ts.map +0 -1
- package/dist/types/components/Spinner/index.d.ts.map +0 -1
- package/dist/types/components/form/NativeSelect/NativeSelect.d.ts.map +0 -1
- package/dist/types/components/form/NativeSelect/index.d.ts +0 -3
- package/dist/types/components/form/NativeSelect/index.d.ts.map +0 -1
- package/dist/types/components/form/NativeSelect/useNativeSelect.d.ts +0 -10
- package/dist/types/components/form/NativeSelect/useNativeSelect.d.ts.map +0 -1
- /package/dist/cjs/components/{Skeleton → loaders/Skeleton}/index.js +0 -0
- /package/dist/esm/components/{Skeleton → loaders/Skeleton}/index.js +0 -0
- /package/dist/types/components/{Skeleton → loaders/Skeleton}/Circle/Circle.d.ts +0 -0
- /package/dist/types/components/{Skeleton → loaders/Skeleton}/Rectangle/Rectangle.d.ts +0 -0
- /package/dist/types/components/{Skeleton → loaders/Skeleton}/Text/Text.d.ts +0 -0
- /package/dist/types/components/{Skeleton → loaders/Skeleton}/index.d.ts +0 -0
- /package/dist/types/components/{Spinner → loaders/Spinner}/index.d.ts +0 -0
|
@@ -403,7 +403,8 @@ const FloatingArrow = /*#__PURE__*/React.forwardRef(function FloatingArrow(props
|
|
|
403
403
|
floating
|
|
404
404
|
},
|
|
405
405
|
middlewareData: {
|
|
406
|
-
arrow
|
|
406
|
+
arrow,
|
|
407
|
+
shift
|
|
407
408
|
}
|
|
408
409
|
},
|
|
409
410
|
width = 14,
|
|
@@ -438,6 +439,12 @@ const FloatingArrow = /*#__PURE__*/React.forwardRef(function FloatingArrow(props
|
|
|
438
439
|
if (!floating) {
|
|
439
440
|
return null;
|
|
440
441
|
}
|
|
442
|
+
const [side, alignment] = placement.split('-');
|
|
443
|
+
const isVerticalSide = side === 'top' || side === 'bottom';
|
|
444
|
+
let computedStaticOffset = staticOffset;
|
|
445
|
+
if (isVerticalSide && shift != null && shift.x || !isVerticalSide && shift != null && shift.y) {
|
|
446
|
+
computedStaticOffset = null;
|
|
447
|
+
}
|
|
441
448
|
|
|
442
449
|
// Strokes must be double the border width, this ensures the stroke's width
|
|
443
450
|
// works as you'd expect.
|
|
@@ -445,16 +452,14 @@ const FloatingArrow = /*#__PURE__*/React.forwardRef(function FloatingArrow(props
|
|
|
445
452
|
const halfStrokeWidth = computedStrokeWidth / 2;
|
|
446
453
|
const svgX = width / 2 * (tipRadius / -8 + 1);
|
|
447
454
|
const svgY = height / 2 * tipRadius / 4;
|
|
448
|
-
const [side, alignment] = placement.split('-');
|
|
449
455
|
const isCustomShape = !!d;
|
|
450
|
-
const
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
if (staticOffset && isRTL) {
|
|
456
|
+
const yOffsetProp = computedStaticOffset && alignment === 'end' ? 'bottom' : 'top';
|
|
457
|
+
let xOffsetProp = computedStaticOffset && alignment === 'end' ? 'right' : 'left';
|
|
458
|
+
if (computedStaticOffset && isRTL) {
|
|
454
459
|
xOffsetProp = alignment === 'end' ? 'left' : 'right';
|
|
455
460
|
}
|
|
456
|
-
const arrowX = (arrow == null ? void 0 : arrow.x) != null ?
|
|
457
|
-
const arrowY = (arrow == null ? void 0 : arrow.y) != null ?
|
|
461
|
+
const arrowX = (arrow == null ? void 0 : arrow.x) != null ? computedStaticOffset || arrow.x : '';
|
|
462
|
+
const arrowY = (arrow == null ? void 0 : arrow.y) != null ? computedStaticOffset || arrow.y : '';
|
|
458
463
|
const dValue = d || 'M0,0' + (" H" + width) + (" L" + (width - svgX) + "," + (height - svgY)) + (" Q" + width / 2 + "," + height + " " + svgX + "," + (height - svgY)) + ' Z';
|
|
459
464
|
const rotation = {
|
|
460
465
|
top: isCustomShape ? 'rotate(180deg)' : '',
|
|
@@ -769,21 +774,22 @@ function useHover(context, props) {
|
|
|
769
774
|
var _handleCloseRef$curre;
|
|
770
775
|
if (!enabled) return;
|
|
771
776
|
if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {
|
|
772
|
-
const body = getDocument(elements.floating).body;
|
|
773
|
-
body.setAttribute(safePolygonIdentifier, '');
|
|
774
|
-
body.style.pointerEvents = 'none';
|
|
775
777
|
performedPointerEventsMutationRef.current = true;
|
|
776
778
|
const floatingEl = elements.floating;
|
|
777
779
|
if (isElement(elements.domReference) && floatingEl) {
|
|
778
780
|
var _tree$nodesRef$curren;
|
|
781
|
+
const body = getDocument(elements.floating).body;
|
|
782
|
+
body.setAttribute(safePolygonIdentifier, '');
|
|
779
783
|
const ref = elements.domReference;
|
|
780
784
|
const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;
|
|
781
785
|
if (parentFloating) {
|
|
782
786
|
parentFloating.style.pointerEvents = '';
|
|
783
787
|
}
|
|
788
|
+
body.style.pointerEvents = 'none';
|
|
784
789
|
ref.style.pointerEvents = 'auto';
|
|
785
790
|
floatingEl.style.pointerEvents = 'auto';
|
|
786
791
|
return () => {
|
|
792
|
+
body.style.pointerEvents = '';
|
|
787
793
|
ref.style.pointerEvents = '';
|
|
788
794
|
floatingEl.style.pointerEvents = '';
|
|
789
795
|
};
|
|
@@ -1217,6 +1223,8 @@ function FloatingPortal(props) {
|
|
|
1217
1223
|
const afterOutsideRef = React.useRef(null);
|
|
1218
1224
|
const beforeInsideRef = React.useRef(null);
|
|
1219
1225
|
const afterInsideRef = React.useRef(null);
|
|
1226
|
+
const modal = focusManagerState == null ? void 0 : focusManagerState.modal;
|
|
1227
|
+
const open = focusManagerState == null ? void 0 : focusManagerState.open;
|
|
1220
1228
|
const shouldRenderGuards =
|
|
1221
1229
|
// The FocusManager and therefore floating element are currently open/
|
|
1222
1230
|
// rendered.
|
|
@@ -1228,7 +1236,7 @@ function FloatingPortal(props) {
|
|
|
1228
1236
|
|
|
1229
1237
|
// https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx
|
|
1230
1238
|
React.useEffect(() => {
|
|
1231
|
-
if (!portalNode || !preserveTabOrder ||
|
|
1239
|
+
if (!portalNode || !preserveTabOrder || modal) {
|
|
1232
1240
|
return;
|
|
1233
1241
|
}
|
|
1234
1242
|
|
|
@@ -1250,7 +1258,12 @@ function FloatingPortal(props) {
|
|
|
1250
1258
|
portalNode.removeEventListener('focusin', onFocus, true);
|
|
1251
1259
|
portalNode.removeEventListener('focusout', onFocus, true);
|
|
1252
1260
|
};
|
|
1253
|
-
}, [portalNode, preserveTabOrder,
|
|
1261
|
+
}, [portalNode, preserveTabOrder, modal]);
|
|
1262
|
+
React.useEffect(() => {
|
|
1263
|
+
if (!portalNode) return;
|
|
1264
|
+
if (open) return;
|
|
1265
|
+
enableFocusInside(portalNode);
|
|
1266
|
+
}, [open, portalNode]);
|
|
1254
1267
|
return /*#__PURE__*/React.createElement(PortalContext.Provider, {
|
|
1255
1268
|
value: React.useMemo(() => ({
|
|
1256
1269
|
preserveTabOrder,
|
|
@@ -1286,13 +1299,25 @@ function FloatingPortal(props) {
|
|
|
1286
1299
|
} else {
|
|
1287
1300
|
const nextTabbable = getNextTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);
|
|
1288
1301
|
nextTabbable == null || nextTabbable.focus();
|
|
1289
|
-
(focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent));
|
|
1302
|
+
(focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent, 'focus-out'));
|
|
1290
1303
|
}
|
|
1291
1304
|
}
|
|
1292
1305
|
}));
|
|
1293
1306
|
}
|
|
1294
1307
|
const usePortalContext = () => React.useContext(PortalContext);
|
|
1295
1308
|
|
|
1309
|
+
const FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';
|
|
1310
|
+
function getFloatingFocusElement(floatingElement) {
|
|
1311
|
+
if (!floatingElement) {
|
|
1312
|
+
return null;
|
|
1313
|
+
}
|
|
1314
|
+
// Try to find the element that has `{...getFloatingProps()}` spread on it.
|
|
1315
|
+
// This indicates the floating element is acting as a positioning wrapper, and
|
|
1316
|
+
// so focus should be managed on the child element with the event handlers and
|
|
1317
|
+
// aria props.
|
|
1318
|
+
return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector("[" + FOCUSABLE_ATTRIBUTE + "]") || floatingElement;
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1296
1321
|
const LIST_LIMIT = 20;
|
|
1297
1322
|
let previouslyFocusedElements = [];
|
|
1298
1323
|
function addPreviouslyFocusedElement(element) {
|
|
@@ -1373,13 +1398,10 @@ function FloatingFocusManager(props) {
|
|
|
1373
1398
|
const isPointerDownRef = React.useRef(false);
|
|
1374
1399
|
const tabbableIndexRef = React.useRef(-1);
|
|
1375
1400
|
const isInsidePortal = portalContext != null;
|
|
1376
|
-
const
|
|
1377
|
-
// If the floating element is acting as a positioning wrapper rather than the
|
|
1378
|
-
// element that receives aria props, use it as the focus root instead.
|
|
1379
|
-
const floatingFocusNode = (firstElementChild == null ? void 0 : firstElementChild.id) === floatingId ? firstElementChild : floating;
|
|
1401
|
+
const floatingFocusElement = getFloatingFocusElement(floating);
|
|
1380
1402
|
const getTabbableContent = useEffectEvent(function (container) {
|
|
1381
1403
|
if (container === void 0) {
|
|
1382
|
-
container =
|
|
1404
|
+
container = floatingFocusElement;
|
|
1383
1405
|
}
|
|
1384
1406
|
return container ? tabbable(container, getTabbableOptions()) : [];
|
|
1385
1407
|
});
|
|
@@ -1389,19 +1411,22 @@ function FloatingFocusManager(props) {
|
|
|
1389
1411
|
if (domReference && type === 'reference') {
|
|
1390
1412
|
return domReference;
|
|
1391
1413
|
}
|
|
1392
|
-
if (
|
|
1393
|
-
return
|
|
1414
|
+
if (floatingFocusElement && type === 'floating') {
|
|
1415
|
+
return floatingFocusElement;
|
|
1394
1416
|
}
|
|
1395
1417
|
return content;
|
|
1396
1418
|
}).filter(Boolean).flat();
|
|
1397
1419
|
});
|
|
1420
|
+
React.useEffect(() => {
|
|
1421
|
+
preventReturnFocusRef.current = false;
|
|
1422
|
+
}, [disabled]);
|
|
1398
1423
|
React.useEffect(() => {
|
|
1399
1424
|
if (disabled) return;
|
|
1400
1425
|
if (!modal) return;
|
|
1401
1426
|
function onKeyDown(event) {
|
|
1402
1427
|
if (event.key === 'Tab') {
|
|
1403
1428
|
// The focus guards have nothing to focus, so we need to stop the event.
|
|
1404
|
-
if (contains(
|
|
1429
|
+
if (contains(floatingFocusElement, activeElement(getDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {
|
|
1405
1430
|
stopEvent(event);
|
|
1406
1431
|
}
|
|
1407
1432
|
const els = getTabbableElements();
|
|
@@ -1414,18 +1439,18 @@ function FloatingFocusManager(props) {
|
|
|
1414
1439
|
enqueueFocus(els[1]);
|
|
1415
1440
|
}
|
|
1416
1441
|
}
|
|
1417
|
-
if (orderRef.current[1] === 'floating' && target ===
|
|
1442
|
+
if (orderRef.current[1] === 'floating' && target === floatingFocusElement && event.shiftKey) {
|
|
1418
1443
|
stopEvent(event);
|
|
1419
1444
|
enqueueFocus(els[0]);
|
|
1420
1445
|
}
|
|
1421
1446
|
}
|
|
1422
1447
|
}
|
|
1423
|
-
const doc = getDocument(
|
|
1448
|
+
const doc = getDocument(floatingFocusElement);
|
|
1424
1449
|
doc.addEventListener('keydown', onKeyDown);
|
|
1425
1450
|
return () => {
|
|
1426
1451
|
doc.removeEventListener('keydown', onKeyDown);
|
|
1427
1452
|
};
|
|
1428
|
-
}, [disabled, domReference,
|
|
1453
|
+
}, [disabled, domReference, floatingFocusElement, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);
|
|
1429
1454
|
React.useEffect(() => {
|
|
1430
1455
|
if (disabled) return;
|
|
1431
1456
|
if (!floating) return;
|
|
@@ -1466,15 +1491,15 @@ function FloatingFocusManager(props) {
|
|
|
1466
1491
|
|
|
1467
1492
|
// Restore focus to the previous tabbable element index to prevent
|
|
1468
1493
|
// focus from being lost outside the floating tree.
|
|
1469
|
-
if (restoreFocus && movedToUnrelatedNode && activeElement(getDocument(
|
|
1494
|
+
if (restoreFocus && movedToUnrelatedNode && activeElement(getDocument(floatingFocusElement)) === getDocument(floatingFocusElement).body) {
|
|
1470
1495
|
// Let `FloatingPortal` effect knows that focus is still inside the
|
|
1471
1496
|
// floating tree.
|
|
1472
|
-
if (isHTMLElement(
|
|
1473
|
-
|
|
1497
|
+
if (isHTMLElement(floatingFocusElement)) {
|
|
1498
|
+
floatingFocusElement.focus();
|
|
1474
1499
|
}
|
|
1475
1500
|
const prevTabbableIndex = tabbableIndexRef.current;
|
|
1476
1501
|
const tabbableContent = getTabbableContent();
|
|
1477
|
-
const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] ||
|
|
1502
|
+
const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;
|
|
1478
1503
|
if (isHTMLElement(nodeToFocus)) {
|
|
1479
1504
|
nodeToFocus.focus();
|
|
1480
1505
|
}
|
|
@@ -1486,7 +1511,7 @@ function FloatingFocusManager(props) {
|
|
|
1486
1511
|
// Fix React 18 Strict Mode returnFocus due to double rendering.
|
|
1487
1512
|
relatedTarget !== getPreviouslyFocusedElement()) {
|
|
1488
1513
|
preventReturnFocusRef.current = true;
|
|
1489
|
-
onOpenChange(false, event);
|
|
1514
|
+
onOpenChange(false, event, 'focus-out');
|
|
1490
1515
|
}
|
|
1491
1516
|
});
|
|
1492
1517
|
}
|
|
@@ -1500,7 +1525,7 @@ function FloatingFocusManager(props) {
|
|
|
1500
1525
|
floating.removeEventListener('focusout', handleFocusOutside);
|
|
1501
1526
|
};
|
|
1502
1527
|
}
|
|
1503
|
-
}, [disabled, domReference, floating,
|
|
1528
|
+
}, [disabled, domReference, floating, floatingFocusElement, modal, nodeId, tree, portalContext, onOpenChange, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox]);
|
|
1504
1529
|
React.useEffect(() => {
|
|
1505
1530
|
var _portalContext$portal;
|
|
1506
1531
|
if (disabled) return;
|
|
@@ -1516,27 +1541,27 @@ function FloatingFocusManager(props) {
|
|
|
1516
1541
|
}
|
|
1517
1542
|
}, [disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards]);
|
|
1518
1543
|
index(() => {
|
|
1519
|
-
if (disabled || !isHTMLElement(
|
|
1520
|
-
const doc = getDocument(
|
|
1544
|
+
if (disabled || !isHTMLElement(floatingFocusElement)) return;
|
|
1545
|
+
const doc = getDocument(floatingFocusElement);
|
|
1521
1546
|
const previouslyFocusedElement = activeElement(doc);
|
|
1522
1547
|
|
|
1523
1548
|
// Wait for any layout effect state setters to execute to set `tabIndex`.
|
|
1524
1549
|
queueMicrotask(() => {
|
|
1525
|
-
const focusableElements = getTabbableElements(
|
|
1550
|
+
const focusableElements = getTabbableElements(floatingFocusElement);
|
|
1526
1551
|
const initialFocusValue = initialFocusRef.current;
|
|
1527
|
-
const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) ||
|
|
1528
|
-
const focusAlreadyInsideFloatingEl = contains(
|
|
1552
|
+
const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusElement;
|
|
1553
|
+
const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);
|
|
1529
1554
|
if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {
|
|
1530
1555
|
enqueueFocus(elToFocus, {
|
|
1531
|
-
preventScroll: elToFocus ===
|
|
1556
|
+
preventScroll: elToFocus === floatingFocusElement
|
|
1532
1557
|
});
|
|
1533
1558
|
}
|
|
1534
1559
|
});
|
|
1535
|
-
}, [disabled, open,
|
|
1560
|
+
}, [disabled, open, floatingFocusElement, ignoreInitialFocus, getTabbableElements, initialFocusRef]);
|
|
1536
1561
|
index(() => {
|
|
1537
|
-
if (disabled || !
|
|
1562
|
+
if (disabled || !floatingFocusElement) return;
|
|
1538
1563
|
let preventReturnFocusScroll = false;
|
|
1539
|
-
const doc = getDocument(
|
|
1564
|
+
const doc = getDocument(floatingFocusElement);
|
|
1540
1565
|
const previouslyFocusedElement = activeElement(doc);
|
|
1541
1566
|
const contextData = dataRef.current;
|
|
1542
1567
|
let openEvent = contextData.openEvent;
|
|
@@ -1604,7 +1629,7 @@ function FloatingFocusManager(props) {
|
|
|
1604
1629
|
}
|
|
1605
1630
|
});
|
|
1606
1631
|
};
|
|
1607
|
-
}, [disabled, floating,
|
|
1632
|
+
}, [disabled, floating, floatingFocusElement, returnFocusRef, dataRef, refs, events, tree, nodeId]);
|
|
1608
1633
|
|
|
1609
1634
|
// Synchronize the `context` & `modal` value to the FloatingPortal context.
|
|
1610
1635
|
// It will decide whether or not it needs to render its own guards.
|
|
@@ -1624,11 +1649,11 @@ function FloatingFocusManager(props) {
|
|
|
1624
1649
|
}, [disabled, portalContext, modal, open, onOpenChange, refs, closeOnFocusOut]);
|
|
1625
1650
|
index(() => {
|
|
1626
1651
|
if (disabled) return;
|
|
1627
|
-
if (!
|
|
1652
|
+
if (!floatingFocusElement) return;
|
|
1628
1653
|
if (typeof MutationObserver !== 'function') return;
|
|
1629
1654
|
if (ignoreInitialFocus) return;
|
|
1630
1655
|
const handleMutation = () => {
|
|
1631
|
-
const tabIndex =
|
|
1656
|
+
const tabIndex = floatingFocusElement.getAttribute('tabindex');
|
|
1632
1657
|
const tabbableContent = getTabbableContent();
|
|
1633
1658
|
const activeEl = activeElement(getDocument(floating));
|
|
1634
1659
|
const tabbableIndex = tabbableContent.indexOf(activeEl);
|
|
@@ -1637,15 +1662,15 @@ function FloatingFocusManager(props) {
|
|
|
1637
1662
|
}
|
|
1638
1663
|
if (orderRef.current.includes('floating') || activeEl !== refs.domReference.current && tabbableContent.length === 0) {
|
|
1639
1664
|
if (tabIndex !== '0') {
|
|
1640
|
-
|
|
1665
|
+
floatingFocusElement.setAttribute('tabindex', '0');
|
|
1641
1666
|
}
|
|
1642
1667
|
} else if (tabIndex !== '-1') {
|
|
1643
|
-
|
|
1668
|
+
floatingFocusElement.setAttribute('tabindex', '-1');
|
|
1644
1669
|
}
|
|
1645
1670
|
};
|
|
1646
1671
|
handleMutation();
|
|
1647
1672
|
const observer = new MutationObserver(handleMutation);
|
|
1648
|
-
observer.observe(
|
|
1673
|
+
observer.observe(floatingFocusElement, {
|
|
1649
1674
|
childList: true,
|
|
1650
1675
|
subtree: true,
|
|
1651
1676
|
attributes: true
|
|
@@ -1653,7 +1678,7 @@ function FloatingFocusManager(props) {
|
|
|
1653
1678
|
return () => {
|
|
1654
1679
|
observer.disconnect();
|
|
1655
1680
|
};
|
|
1656
|
-
}, [disabled, floating,
|
|
1681
|
+
}, [disabled, floating, floatingFocusElement, refs, orderRef, getTabbableContent, ignoreInitialFocus]);
|
|
1657
1682
|
function renderDismissButton(location) {
|
|
1658
1683
|
if (disabled || !visuallyHiddenDismiss || !modal) {
|
|
1659
1684
|
return null;
|
|
@@ -2356,7 +2381,8 @@ function mergeProps(userProps, propsList, elementKey) {
|
|
|
2356
2381
|
}
|
|
2357
2382
|
return {
|
|
2358
2383
|
...(elementKey === 'floating' && {
|
|
2359
|
-
tabIndex: -1
|
|
2384
|
+
tabIndex: -1,
|
|
2385
|
+
[FOCUSABLE_ATTRIBUTE]: ''
|
|
2360
2386
|
}),
|
|
2361
2387
|
...domUserProps,
|
|
2362
2388
|
...propsList.map(value => {
|
|
@@ -2503,6 +2529,8 @@ function useListNavigation(context, props) {
|
|
|
2503
2529
|
warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either "horizontal" or "both".');
|
|
2504
2530
|
}
|
|
2505
2531
|
}
|
|
2532
|
+
const floatingFocusElement = getFloatingFocusElement(elements.floating);
|
|
2533
|
+
const floatingFocusElementRef = useLatestRef(floatingFocusElement);
|
|
2506
2534
|
const parentId = useFloatingParentNodeId();
|
|
2507
2535
|
const tree = useFloatingTree();
|
|
2508
2536
|
const onNavigate = useEffectEvent(unstable_onNavigate);
|
|
@@ -2518,7 +2546,6 @@ function useListNavigation(context, props) {
|
|
|
2518
2546
|
const disabledIndicesRef = useLatestRef(disabledIndices);
|
|
2519
2547
|
const latestOpenRef = useLatestRef(open);
|
|
2520
2548
|
const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);
|
|
2521
|
-
const floatingRef = useLatestRef(elements.floating);
|
|
2522
2549
|
const selectedIndexRef = useLatestRef(selectedIndex);
|
|
2523
2550
|
const [activeId, setActiveId] = React.useState();
|
|
2524
2551
|
const [virtualId, setVirtualId] = React.useState();
|
|
@@ -2734,7 +2761,7 @@ function useListNavigation(context, props) {
|
|
|
2734
2761
|
focusItem(listRef, indexRef);
|
|
2735
2762
|
onNavigate(null);
|
|
2736
2763
|
if (!virtual) {
|
|
2737
|
-
enqueueFocus(
|
|
2764
|
+
enqueueFocus(floatingFocusElementRef.current, {
|
|
2738
2765
|
preventScroll: true
|
|
2739
2766
|
});
|
|
2740
2767
|
}
|
|
@@ -2742,7 +2769,7 @@ function useListNavigation(context, props) {
|
|
|
2742
2769
|
})
|
|
2743
2770
|
};
|
|
2744
2771
|
return props;
|
|
2745
|
-
}, [open,
|
|
2772
|
+
}, [open, floatingFocusElementRef, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);
|
|
2746
2773
|
const commonOnKeyDown = useEffectEvent(event => {
|
|
2747
2774
|
isPointerModalityRef.current = false;
|
|
2748
2775
|
forceSyncFocus.current = true;
|
|
@@ -2750,7 +2777,7 @@ function useListNavigation(context, props) {
|
|
|
2750
2777
|
// If the floating element is animating out, ignore navigation. Otherwise,
|
|
2751
2778
|
// the `activeIndex` gets set to 0 despite not being open so the next time
|
|
2752
2779
|
// the user ArrowDowns, the first item won't be focused.
|
|
2753
|
-
if (!latestOpenRef.current && event.currentTarget ===
|
|
2780
|
+
if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {
|
|
2754
2781
|
return;
|
|
2755
2782
|
}
|
|
2756
2783
|
if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {
|
|
@@ -2789,7 +2816,7 @@ function useListNavigation(context, props) {
|
|
|
2789
2816
|
const minGridIndex = cellMap.findIndex(index => index != null && !isDisabled(listRef.current, index, disabledIndices));
|
|
2790
2817
|
// last enabled index
|
|
2791
2818
|
const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isDisabled(listRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);
|
|
2792
|
-
|
|
2819
|
+
const index = cellMap[getGridNavigatedIndex({
|
|
2793
2820
|
current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)
|
|
2794
2821
|
}, {
|
|
2795
2822
|
event,
|
|
@@ -2807,9 +2834,11 @@ function useListNavigation(context, props) {
|
|
|
2807
2834
|
// top/left over bottom/right.
|
|
2808
2835
|
event.key === ARROW_DOWN ? 'bl' : event.key === ARROW_RIGHT ? 'tr' : 'tl'),
|
|
2809
2836
|
stopEvent: true
|
|
2810
|
-
})];
|
|
2811
|
-
|
|
2812
|
-
|
|
2837
|
+
})];
|
|
2838
|
+
if (index != null) {
|
|
2839
|
+
indexRef.current = index;
|
|
2840
|
+
onNavigate(indexRef.current);
|
|
2841
|
+
}
|
|
2813
2842
|
if (orientation === 'both') {
|
|
2814
2843
|
return;
|
|
2815
2844
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { offset as offset$1, shift as shift$1, flip as flip$1,
|
|
3
|
-
export { autoUpdate, platform } from '
|
|
2
|
+
import { offset as offset$1, shift as shift$1, computePosition, flip as flip$1, arrow as arrow$2, size as size$1 } from '../node_modules/@floating-ui/dom/dist/floating-ui.dom.js';
|
|
3
|
+
export { autoUpdate, platform } from '../node_modules/@floating-ui/dom/dist/floating-ui.dom.js';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { useLayoutEffect, useEffect } from 'react';
|
|
6
6
|
import * as ReactDOM from 'react-dom';
|