@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
|
@@ -69,7 +69,8 @@ const observeElementOffset = (instance, cb) => {
|
|
|
69
69
|
instance.options.isScrollingResetDelay
|
|
70
70
|
);
|
|
71
71
|
const createHandler = (isScrolling) => () => {
|
|
72
|
-
|
|
72
|
+
const { horizontal, isRtl } = instance.options;
|
|
73
|
+
offset = horizontal ? element["scrollLeft"] * (isRtl && -1 || 1) : element["scrollTop"];
|
|
73
74
|
fallback();
|
|
74
75
|
cb(offset, isScrolling);
|
|
75
76
|
};
|
|
@@ -141,7 +142,8 @@ class Virtualizer {
|
|
|
141
142
|
return {
|
|
142
143
|
disconnect: () => {
|
|
143
144
|
var _a;
|
|
144
|
-
|
|
145
|
+
(_a = get()) == null ? void 0 : _a.disconnect();
|
|
146
|
+
_ro = null;
|
|
145
147
|
},
|
|
146
148
|
observe: (target) => {
|
|
147
149
|
var _a;
|
|
@@ -180,27 +182,42 @@ class Virtualizer {
|
|
|
180
182
|
lanes: 1,
|
|
181
183
|
isScrollingResetDelay: 150,
|
|
182
184
|
enabled: true,
|
|
185
|
+
isRtl: false,
|
|
183
186
|
...opts2
|
|
184
187
|
};
|
|
185
188
|
};
|
|
186
|
-
this.notify = (
|
|
189
|
+
this.notify = (sync) => {
|
|
187
190
|
var _a, _b;
|
|
188
|
-
|
|
189
|
-
startIndex: void 0,
|
|
190
|
-
endIndex: void 0
|
|
191
|
-
};
|
|
192
|
-
const range = this.calculateRange();
|
|
193
|
-
if (force || startIndex !== (range == null ? void 0 : range.startIndex) || endIndex !== (range == null ? void 0 : range.endIndex)) {
|
|
194
|
-
(_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);
|
|
195
|
-
}
|
|
191
|
+
(_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);
|
|
196
192
|
};
|
|
193
|
+
this.maybeNotify = utils.memo(
|
|
194
|
+
() => {
|
|
195
|
+
this.calculateRange();
|
|
196
|
+
return [
|
|
197
|
+
this.isScrolling,
|
|
198
|
+
this.range ? this.range.startIndex : null,
|
|
199
|
+
this.range ? this.range.endIndex : null
|
|
200
|
+
];
|
|
201
|
+
},
|
|
202
|
+
(isScrolling) => {
|
|
203
|
+
this.notify(isScrolling);
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
key: process.env.NODE_ENV !== "production" && "maybeNotify",
|
|
207
|
+
debug: () => this.options.debug,
|
|
208
|
+
initialDeps: [
|
|
209
|
+
this.isScrolling,
|
|
210
|
+
this.range ? this.range.startIndex : null,
|
|
211
|
+
this.range ? this.range.endIndex : null
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
);
|
|
197
215
|
this.cleanup = () => {
|
|
198
216
|
this.unsubs.filter(Boolean).forEach((d) => d());
|
|
199
217
|
this.unsubs = [];
|
|
218
|
+
this.observer.disconnect();
|
|
200
219
|
this.scrollElement = null;
|
|
201
220
|
this.targetWindow = null;
|
|
202
|
-
this.observer.disconnect();
|
|
203
|
-
this.elementsCache.clear();
|
|
204
221
|
};
|
|
205
222
|
this._didMount = () => {
|
|
206
223
|
return () => {
|
|
@@ -213,7 +230,7 @@ class Virtualizer {
|
|
|
213
230
|
if (this.scrollElement !== scrollElement) {
|
|
214
231
|
this.cleanup();
|
|
215
232
|
if (!scrollElement) {
|
|
216
|
-
this.
|
|
233
|
+
this.maybeNotify();
|
|
217
234
|
return;
|
|
218
235
|
}
|
|
219
236
|
this.scrollElement = scrollElement;
|
|
@@ -222,6 +239,9 @@ class Virtualizer {
|
|
|
222
239
|
} else {
|
|
223
240
|
this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;
|
|
224
241
|
}
|
|
242
|
+
this.elementsCache.forEach((cached) => {
|
|
243
|
+
this.observer.observe(cached);
|
|
244
|
+
});
|
|
225
245
|
this._scrollToOffset(this.getScrollOffset(), {
|
|
226
246
|
adjustments: void 0,
|
|
227
247
|
behavior: void 0
|
|
@@ -229,7 +249,7 @@ class Virtualizer {
|
|
|
229
249
|
this.unsubs.push(
|
|
230
250
|
this.options.observeElementRect(this, (rect) => {
|
|
231
251
|
this.scrollRect = rect;
|
|
232
|
-
this.
|
|
252
|
+
this.maybeNotify();
|
|
233
253
|
})
|
|
234
254
|
);
|
|
235
255
|
this.unsubs.push(
|
|
@@ -237,9 +257,8 @@ class Virtualizer {
|
|
|
237
257
|
this.scrollAdjustments = 0;
|
|
238
258
|
this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? "forward" : "backward" : null;
|
|
239
259
|
this.scrollOffset = offset;
|
|
240
|
-
const prevIsScrolling = this.isScrolling;
|
|
241
260
|
this.isScrolling = isScrolling;
|
|
242
|
-
this.
|
|
261
|
+
this.maybeNotify();
|
|
243
262
|
})
|
|
244
263
|
);
|
|
245
264
|
}
|
|
@@ -312,7 +331,6 @@ class Virtualizer {
|
|
|
312
331
|
this.getMeasurements = utils.memo(
|
|
313
332
|
() => [this.getMeasurementOptions(), this.itemSizeCache],
|
|
314
333
|
({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => {
|
|
315
|
-
var _a;
|
|
316
334
|
if (!enabled) {
|
|
317
335
|
this.measurementsCache = [];
|
|
318
336
|
this.itemSizeCache.clear();
|
|
@@ -328,33 +346,6 @@ class Virtualizer {
|
|
|
328
346
|
this.pendingMeasuredCacheIndexes = [];
|
|
329
347
|
const measurements = this.measurementsCache.slice(0, min);
|
|
330
348
|
for (let i = min; i < count; i++) {
|
|
331
|
-
let measureElement2 = (_a = this.measurementsCache[i]) == null ? void 0 : _a.measureElement;
|
|
332
|
-
if (!measureElement2) {
|
|
333
|
-
measureElement2 = (node) => {
|
|
334
|
-
const key2 = getItemKey(i);
|
|
335
|
-
const prevNode = this.elementsCache.get(key2);
|
|
336
|
-
if (!node) {
|
|
337
|
-
if (prevNode) {
|
|
338
|
-
this.observer.unobserve(prevNode);
|
|
339
|
-
this.elementsCache.delete(key2);
|
|
340
|
-
}
|
|
341
|
-
return;
|
|
342
|
-
}
|
|
343
|
-
if (prevNode !== node) {
|
|
344
|
-
if (prevNode) {
|
|
345
|
-
this.observer.unobserve(prevNode);
|
|
346
|
-
}
|
|
347
|
-
this.observer.observe(node);
|
|
348
|
-
this.elementsCache.set(key2, node);
|
|
349
|
-
}
|
|
350
|
-
if (node.isConnected) {
|
|
351
|
-
this.resizeItem(
|
|
352
|
-
i,
|
|
353
|
-
this.options.measureElement(node, void 0, this)
|
|
354
|
-
);
|
|
355
|
-
}
|
|
356
|
-
};
|
|
357
|
-
}
|
|
358
349
|
const key = getItemKey(i);
|
|
359
350
|
const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);
|
|
360
351
|
const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;
|
|
@@ -368,8 +359,7 @@ class Virtualizer {
|
|
|
368
359
|
size,
|
|
369
360
|
end,
|
|
370
361
|
key,
|
|
371
|
-
lane
|
|
372
|
-
measureElement: measureElement2
|
|
362
|
+
lane
|
|
373
363
|
};
|
|
374
364
|
}
|
|
375
365
|
this.measurementsCache = measurements;
|
|
@@ -426,29 +416,26 @@ class Virtualizer {
|
|
|
426
416
|
return parseInt(indexStr, 10);
|
|
427
417
|
};
|
|
428
418
|
this._measureElement = (node, entry) => {
|
|
429
|
-
const
|
|
430
|
-
const item = this.
|
|
431
|
-
if (!item
|
|
432
|
-
this.elementsCache.forEach((cached, key) => {
|
|
433
|
-
if (cached === node) {
|
|
434
|
-
this.observer.unobserve(node);
|
|
435
|
-
this.elementsCache.delete(key);
|
|
436
|
-
}
|
|
437
|
-
});
|
|
419
|
+
const index = this.indexFromElement(node);
|
|
420
|
+
const item = this.measurementsCache[index];
|
|
421
|
+
if (!item) {
|
|
438
422
|
return;
|
|
439
423
|
}
|
|
440
|
-
const
|
|
424
|
+
const key = item.key;
|
|
425
|
+
const prevNode = this.elementsCache.get(key);
|
|
441
426
|
if (prevNode !== node) {
|
|
442
427
|
if (prevNode) {
|
|
443
428
|
this.observer.unobserve(prevNode);
|
|
444
429
|
}
|
|
445
430
|
this.observer.observe(node);
|
|
446
|
-
this.elementsCache.set(
|
|
431
|
+
this.elementsCache.set(key, node);
|
|
432
|
+
}
|
|
433
|
+
if (node.isConnected) {
|
|
434
|
+
this.resizeItem(index, this.options.measureElement(node, entry, this));
|
|
447
435
|
}
|
|
448
|
-
this.resizeItem(i, this.options.measureElement(node, entry, this));
|
|
449
436
|
};
|
|
450
437
|
this.resizeItem = (index, size) => {
|
|
451
|
-
const item = this.
|
|
438
|
+
const item = this.measurementsCache[index];
|
|
452
439
|
if (!item) {
|
|
453
440
|
return;
|
|
454
441
|
}
|
|
@@ -466,11 +453,17 @@ class Virtualizer {
|
|
|
466
453
|
}
|
|
467
454
|
this.pendingMeasuredCacheIndexes.push(item.index);
|
|
468
455
|
this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));
|
|
469
|
-
this.notify(
|
|
456
|
+
this.notify(false);
|
|
470
457
|
}
|
|
471
458
|
};
|
|
472
459
|
this.measureElement = (node) => {
|
|
473
460
|
if (!node) {
|
|
461
|
+
this.elementsCache.forEach((cached, key) => {
|
|
462
|
+
if (!cached.isConnected) {
|
|
463
|
+
this.observer.unobserve(cached);
|
|
464
|
+
this.elementsCache.delete(key);
|
|
465
|
+
}
|
|
466
|
+
});
|
|
474
467
|
return;
|
|
475
468
|
}
|
|
476
469
|
this._measureElement(node, void 0);
|
|
@@ -487,7 +480,7 @@ class Virtualizer {
|
|
|
487
480
|
return virtualItems;
|
|
488
481
|
},
|
|
489
482
|
{
|
|
490
|
-
key: process.env.NODE_ENV !== "production" && "
|
|
483
|
+
key: process.env.NODE_ENV !== "production" && "getVirtualItems",
|
|
491
484
|
debug: () => this.options.debug
|
|
492
485
|
}
|
|
493
486
|
);
|
|
@@ -531,7 +524,7 @@ class Virtualizer {
|
|
|
531
524
|
};
|
|
532
525
|
this.getOffsetForIndex = (index, align = "auto") => {
|
|
533
526
|
index = Math.max(0, Math.min(index, this.options.count - 1));
|
|
534
|
-
const item = this.
|
|
527
|
+
const item = this.measurementsCache[index];
|
|
535
528
|
if (!item) {
|
|
536
529
|
return void 0;
|
|
537
530
|
}
|
|
@@ -631,9 +624,8 @@ class Virtualizer {
|
|
|
631
624
|
this.options.scrollToFn(offset, { behavior, adjustments }, this);
|
|
632
625
|
};
|
|
633
626
|
this.measure = () => {
|
|
634
|
-
var _a, _b;
|
|
635
627
|
this.itemSizeCache = /* @__PURE__ */ new Map();
|
|
636
|
-
|
|
628
|
+
this.notify(false);
|
|
637
629
|
};
|
|
638
630
|
this.setOptions(opts);
|
|
639
631
|
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var __typeError = (msg) => {
|
|
5
|
+
throw TypeError(msg);
|
|
6
|
+
};
|
|
7
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
8
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
9
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
10
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
11
|
+
|
|
12
|
+
// ../utils.ts
|
|
13
|
+
var IS_BROWSER = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.navigator !== "undefined";
|
|
14
|
+
var DISPLAY_BLOCK = ":host(:not([hidden])) { display: block }";
|
|
15
|
+
var UHTMLElement = typeof HTMLElement === "undefined" ? class {
|
|
16
|
+
} : HTMLElement;
|
|
17
|
+
var events = (action, element, rest) => rest[0].split(",").forEach((type) => {
|
|
18
|
+
rest[0] = type;
|
|
19
|
+
Element.prototype[`${action}EventListener`].apply(element, rest);
|
|
20
|
+
});
|
|
21
|
+
var on = (element, ...rest) => events("add", element, rest);
|
|
22
|
+
var off = (element, ...rest) => events("remove", element, rest);
|
|
23
|
+
var asButton = (event) => {
|
|
24
|
+
const isClick = "key" in event && (event.key === " " || event.key === "Enter");
|
|
25
|
+
if (isClick) event.preventDefault();
|
|
26
|
+
if (isClick && event.target instanceof HTMLElement) event.target.click();
|
|
27
|
+
return isClick;
|
|
28
|
+
};
|
|
29
|
+
var getRoot = (node) => node.getRootNode();
|
|
30
|
+
var createElement = (tagName, props) => Object.assign(document.createElement(tagName), props);
|
|
31
|
+
var customElements = {
|
|
32
|
+
define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// u-details.ts
|
|
36
|
+
var OPEN = "open";
|
|
37
|
+
var USUMMARY_TAG = "U-SUMMARY";
|
|
38
|
+
var _content;
|
|
39
|
+
var UHTMLDetailsElement = class extends UHTMLElement {
|
|
40
|
+
constructor() {
|
|
41
|
+
super();
|
|
42
|
+
__privateAdd(this, _content);
|
|
43
|
+
this.attachShadow({ mode: "closed" }).append(
|
|
44
|
+
createElement("slot", { name: "summary" }),
|
|
45
|
+
// Summary slot
|
|
46
|
+
__privateSet(this, _content, createElement("slot")),
|
|
47
|
+
// Content slot
|
|
48
|
+
createElement("style", {
|
|
49
|
+
textContent: `
|
|
50
|
+
${DISPLAY_BLOCK}
|
|
51
|
+
::slotted(u-summary) { cursor: pointer; display: list-item; counter-increment: list-item 0; list-style: disclosure-closed inside }
|
|
52
|
+
::slotted(u-summary[aria-expanded="true"]) { list-style-type: disclosure-open }
|
|
53
|
+
`
|
|
54
|
+
})
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
connectedCallback() {
|
|
58
|
+
on(__privateGet(this, _content), "beforematch", this);
|
|
59
|
+
on(this, "click,keydown", this);
|
|
60
|
+
this.attributeChangedCallback();
|
|
61
|
+
}
|
|
62
|
+
disconnectedCallback() {
|
|
63
|
+
off(__privateGet(this, _content), "beforematch", this);
|
|
64
|
+
off(this, "click,keydown", this);
|
|
65
|
+
}
|
|
66
|
+
attributeChangedCallback(prop, prev, next) {
|
|
67
|
+
const hide = "onbeforematch" in this ? "until-found" : true;
|
|
68
|
+
const open = this[OPEN];
|
|
69
|
+
Array.from(this.children, (el) => {
|
|
70
|
+
if (el.nodeName === USUMMARY_TAG) el.ariaExpanded = `${open}`;
|
|
71
|
+
});
|
|
72
|
+
__privateGet(this, _content).ariaHidden = `${!open}`;
|
|
73
|
+
__privateGet(this, _content).hidden = open ? false : hide;
|
|
74
|
+
if (hide === "until-found")
|
|
75
|
+
__privateGet(this, _content).style.display = open ? "" : "block";
|
|
76
|
+
if (open && this.name)
|
|
77
|
+
getRoot(this).querySelectorAll(
|
|
78
|
+
`${this.nodeName}[name="${this.name}"]`
|
|
79
|
+
).forEach((uDetails) => uDetails === this || (uDetails[OPEN] = false));
|
|
80
|
+
if (prop === OPEN && prev === null !== (next === null))
|
|
81
|
+
this.dispatchEvent(new Event("toggle"));
|
|
82
|
+
}
|
|
83
|
+
handleEvent(event) {
|
|
84
|
+
const summary = this.querySelector("u-summary");
|
|
85
|
+
const isSummary = summary?.contains(event.target);
|
|
86
|
+
if (event.defaultPrevented) return;
|
|
87
|
+
if (event.type === "beforematch") this[OPEN] = true;
|
|
88
|
+
if (isSummary && event.type === "keydown") asButton(event);
|
|
89
|
+
if (isSummary && event.type === "click") this[OPEN] = !this[OPEN];
|
|
90
|
+
}
|
|
91
|
+
get open() {
|
|
92
|
+
return this.hasAttribute("open");
|
|
93
|
+
}
|
|
94
|
+
set open(open) {
|
|
95
|
+
this.toggleAttribute("open", open);
|
|
96
|
+
}
|
|
97
|
+
get name() {
|
|
98
|
+
return this.getAttribute("name") || "";
|
|
99
|
+
}
|
|
100
|
+
set name(value) {
|
|
101
|
+
this.setAttribute("name", value);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
_content = new WeakMap();
|
|
105
|
+
UHTMLDetailsElement.observedAttributes = [OPEN];
|
|
106
|
+
var UHTMLSummaryElement = class extends UHTMLElement {
|
|
107
|
+
connectedCallback() {
|
|
108
|
+
this.role = "button";
|
|
109
|
+
this.slot = "summary";
|
|
110
|
+
this.tabIndex = 0;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
customElements.define("u-details", UHTMLDetailsElement);
|
|
114
|
+
customElements.define("u-summary", UHTMLSummaryElement);
|
|
115
|
+
|
|
116
|
+
exports.UHTMLDetailsElement = UHTMLDetailsElement;
|
|
117
|
+
exports.UHTMLSummaryElement = UHTMLSummaryElement;
|
|
@@ -31,11 +31,13 @@ function useSynchronizedAnimation(animationName) {
|
|
|
31
31
|
if (myAnimation && myAnimation === firstOfType) {
|
|
32
32
|
myAnimation.currentTime = 0;
|
|
33
33
|
}
|
|
34
|
-
if (myAnimation &&
|
|
34
|
+
if (myAnimation &&
|
|
35
|
+
firstOfType?.currentTime &&
|
|
36
|
+
myAnimation !== firstOfType) {
|
|
35
37
|
myAnimation.currentTime = firstOfType.currentTime;
|
|
36
38
|
}
|
|
37
39
|
return () => {
|
|
38
|
-
if (myAnimation && firstOfType) {
|
|
40
|
+
if (myAnimation && firstOfType?.currentTime) {
|
|
39
41
|
myAnimation.currentTime = firstOfType.currentTime;
|
|
40
42
|
}
|
|
41
43
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { clsx } from '../../node_modules/clsx/dist/lite.js';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Accordion component, contains `Accordion.Item` components.
|
|
8
|
+
*/
|
|
9
|
+
const Accordion = forwardRef(function Accordion({ border = false, color = 'neutral', className, ...rest }, ref) {
|
|
10
|
+
return (jsx("div", { className: clsx('ds-accordion-group', className), "data-border": border || undefined, "data-color": color, ref: ref, ...rest }));
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export { Accordion };
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import {
|
|
4
|
-
import { forwardRef, useContext } from 'react';
|
|
5
|
-
import { AccordionItemContext } from './AccordionItem.js';
|
|
6
|
-
import { AnimateHeight } from '../../utilities/AnimateHeight/AnimateHeight.js';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
7
4
|
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
8
5
|
|
|
9
6
|
/**
|
|
@@ -11,14 +8,8 @@ import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
|
11
8
|
* @example
|
|
12
9
|
* <AccordionContent>Content</AccordionContent>
|
|
13
10
|
*/
|
|
14
|
-
const AccordionContent = forwardRef((
|
|
15
|
-
|
|
16
|
-
if (context === null) {
|
|
17
|
-
console.error('<Accordion.Content> has to be used within an <Accordion.Item>');
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
return (jsx(AnimateHeight, { id: context.contentId, open: context.open, children: jsx(Paragraph, { asChild: true, size: 'sm', children: jsx("div", { ref: ref, className: clsx('ds-accordion__content', className), ...rest, children: children }) }) }));
|
|
11
|
+
const AccordionContent = forwardRef(function AccordionContent(rest, ref) {
|
|
12
|
+
return (jsx(Paragraph, { asChild: true, size: 'sm', children: jsx("div", { ref: ref, ...rest }) }));
|
|
21
13
|
});
|
|
22
|
-
AccordionContent.displayName = 'AccordionContent';
|
|
23
14
|
|
|
24
15
|
export { AccordionContent };
|
|
@@ -1,29 +1,17 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx
|
|
3
|
-
import { ChevronDownIcon } from '@navikt/aksel-icons';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
3
|
import { clsx } from '../../node_modules/clsx/dist/lite.js';
|
|
5
|
-
import { forwardRef
|
|
6
|
-
import { AccordionItemContext } from './AccordionItem.js';
|
|
7
|
-
import { Heading } from '../Typography/Heading/Heading.js';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
8
5
|
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
9
6
|
|
|
10
7
|
/**
|
|
11
|
-
* Accordion
|
|
8
|
+
* Accordion header component, contains a button to toggle the content.
|
|
12
9
|
* @example
|
|
13
|
-
* <
|
|
10
|
+
* <AccordionHeader>Header</AccordionHeader>
|
|
14
11
|
*/
|
|
15
|
-
const AccordionHeading = forwardRef(({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
console.error('<Accordion.Heading> has to be used within an <Accordion.Item>');
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
const handleClick = (e) => {
|
|
22
|
-
context.toggleOpen();
|
|
23
|
-
onHeaderClick?.(e);
|
|
24
|
-
};
|
|
25
|
-
return (jsx(Heading, { ref: ref, size: 'xs', level: level, className: clsx('ds-accordion__heading', className), ...rest, children: jsxs("button", { type: 'button', className: clsx('ds-accordion__button', `ds-focus`), onClick: handleClick, "aria-expanded": context.open, "aria-controls": context.contentId, children: [jsx(ChevronDownIcon, { "aria-hidden": true, className: 'ds-accordion__expand-icon', fontSize: '1.5rem' }), jsx(Paragraph, { asChild: true, size: 'sm', children: jsx("span", { children: children }) })] }) }));
|
|
12
|
+
const AccordionHeading = forwardRef(function AccordionHeading({ className, ...rest }, ref) {
|
|
13
|
+
return (jsx(Paragraph, { asChild: true, size: 'sm', children: jsx("u-summary", { class: clsx('ds-focus ds-paragraph ds-paragraph--sm ds-line-height--md', // Very TMP fix awaiting CSS modules
|
|
14
|
+
className), ref: ref, ...rest }) }));
|
|
26
15
|
});
|
|
27
|
-
AccordionHeading.displayName = 'AccordionHeading';
|
|
28
16
|
|
|
29
17
|
export { AccordionHeading };
|
|
@@ -1,30 +1,76 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useMergeRefs } from '../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
|
|
3
4
|
import { clsx } from '../../node_modules/clsx/dist/lite.js';
|
|
4
|
-
import {
|
|
5
|
+
import { forwardRef, useState, useRef, useEffect } from 'react';
|
|
6
|
+
import '../../node_modules/@u-elements/u-details/dist/u-details.js';
|
|
5
7
|
|
|
6
|
-
const AccordionItemContext = createContext(null);
|
|
7
8
|
/**
|
|
8
9
|
* Accordion item component, contains `Accordion.Header` and `Accordion.Content` components.
|
|
9
10
|
* @example
|
|
10
11
|
* <AccordionItem>
|
|
11
|
-
* <
|
|
12
|
+
* <AccordionHeader>Header</AccordionHeader>
|
|
12
13
|
* <AccordionContent>Content</AccordionContent>
|
|
13
14
|
* </AccordionItem>
|
|
14
15
|
*/
|
|
15
|
-
const AccordionItem = forwardRef(({
|
|
16
|
-
const [internalOpen, setInternalOpen] = useState(defaultOpen);
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
16
|
+
const AccordionItem = forwardRef(function AccordionItem({ className, open, defaultOpen = false, onFound, ...rest }, ref) {
|
|
17
|
+
const [internalOpen, setInternalOpen] = useState(open ?? defaultOpen);
|
|
18
|
+
const initialOpen = useRef(internalOpen); // Allow rendering initial open state on server, but animate in browser
|
|
19
|
+
const controlledOpen = useRef(internalOpen); // Using ref so we can access it inside useEffect without unbinding/binding event listeners
|
|
20
|
+
const detailsRef = useRef(null);
|
|
21
|
+
const mergedRefs = useMergeRefs([detailsRef, ref]);
|
|
22
|
+
controlledOpen.current = open ?? internalOpen; // Update controlledOpen on prop change
|
|
23
|
+
// Control state with a useEffect to animate on prop change and prevent native <details> toggle
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const details = detailsRef.current;
|
|
26
|
+
const summary = details?.querySelector(':scope > :is(summary,u-summary)');
|
|
27
|
+
const handleSummaryClick = (event) => {
|
|
28
|
+
event?.preventDefault(); // Prevent native <details> toggle so we can animate
|
|
29
|
+
setInternalOpen((open) => !open);
|
|
30
|
+
};
|
|
31
|
+
const handleToggle = () => {
|
|
32
|
+
if (!details || details.open === controlledOpen.current)
|
|
33
|
+
return;
|
|
34
|
+
onFound?.();
|
|
35
|
+
setInternalOpen(details?.open || false);
|
|
36
|
+
window.requestAnimationFrame(() => {
|
|
37
|
+
details.open = controlledOpen.current;
|
|
38
|
+
}); // Let onFound run before correcting state
|
|
39
|
+
};
|
|
40
|
+
details?.addEventListener('toggle', handleToggle, true);
|
|
41
|
+
summary?.addEventListener('click', handleSummaryClick);
|
|
42
|
+
return () => {
|
|
43
|
+
details?.removeEventListener('toggle', handleToggle, true);
|
|
44
|
+
summary?.removeEventListener('click', handleSummaryClick);
|
|
45
|
+
};
|
|
46
|
+
}, []);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
animateHeight(detailsRef.current, controlledOpen.current);
|
|
49
|
+
}, [controlledOpen.current]);
|
|
50
|
+
return (jsx("u-details", { class: clsx('ds-accordion__item', className), open: initialOpen.current || undefined, ref: mergedRefs, ...rest }));
|
|
27
51
|
});
|
|
28
|
-
|
|
52
|
+
const animateHeight = (details, open) => {
|
|
53
|
+
const content = details?.querySelector(':scope > :not(summary, u-summary)');
|
|
54
|
+
const hasContent = content instanceof HTMLElement;
|
|
55
|
+
const hasAnimate = details && 'animate' in details;
|
|
56
|
+
const hasReducedMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches;
|
|
57
|
+
details?.setAttribute('data-chevron-open', `${open}`); // Make flip on click
|
|
58
|
+
if (hasReducedMotion || !hasAnimate || !hasContent) {
|
|
59
|
+
if (details)
|
|
60
|
+
details.open = open;
|
|
61
|
+
}
|
|
62
|
+
else if (details.open !== open) {
|
|
63
|
+
details.open = true;
|
|
64
|
+
const opened = `${content.scrollHeight}px`;
|
|
65
|
+
content.style.overflow = 'clip'; // Clip content while animating
|
|
66
|
+
content.animate({
|
|
67
|
+
height: [open ? '0px' : opened, open ? opened : '0px'],
|
|
68
|
+
paddingBlock: [open ? '0px' : '', open ? '' : '0px'],
|
|
69
|
+
}, { duration: 400, easing: 'ease-in-out' }).onfinish = () => {
|
|
70
|
+
content.style.removeProperty('overflow'); // Restore overlow
|
|
71
|
+
details.open = open;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
};
|
|
29
75
|
|
|
30
|
-
export { AccordionItem
|
|
76
|
+
export { AccordionItem };
|
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { Accordion as Accordion$1 } from './Accordion.js';
|
|
2
3
|
import { AccordionContent } from './AccordionContent.js';
|
|
3
4
|
import { AccordionHeading } from './AccordionHeading.js';
|
|
4
5
|
import { AccordionItem } from './AccordionItem.js';
|
|
5
|
-
import { AccordionRoot } from './AccordionRoot.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Accordions are used to toggle the visibility of content.
|
|
9
9
|
* @example
|
|
10
|
-
* <Accordion
|
|
10
|
+
* <Accordion>
|
|
11
11
|
* <Accordion.Item>
|
|
12
12
|
* <Accordion.Heading>Heading 1</Accordion.Heading>
|
|
13
13
|
* <Accordion.Content>Content 1</Accordion.Content>
|
|
14
14
|
* </Accordion.Item>
|
|
15
|
-
* <Accordion
|
|
15
|
+
* <Accordion>
|
|
16
16
|
*/
|
|
17
|
-
const Accordion =
|
|
18
|
-
Accordion.Root = AccordionRoot;
|
|
17
|
+
const Accordion = Accordion$1;
|
|
19
18
|
Accordion.Heading = AccordionHeading;
|
|
20
19
|
Accordion.Content = AccordionContent;
|
|
21
20
|
Accordion.Item = AccordionItem;
|
|
22
|
-
Accordion.Root.displayName = 'Accordion.Root';
|
|
23
21
|
Accordion.Heading.displayName = 'Accordion.Heading';
|
|
24
22
|
Accordion.Content.displayName = 'Accordion.Content';
|
|
25
23
|
Accordion.Item.displayName = 'Accordion.Item';
|
|
26
24
|
|
|
27
|
-
export { Accordion, AccordionContent, AccordionHeading, AccordionItem
|
|
25
|
+
export { Accordion, AccordionContent, AccordionHeading, AccordionItem };
|
|
@@ -1,31 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx
|
|
3
|
-
import { InformationSquareFillIcon, ExclamationmarkTriangleFillIcon, CheckmarkCircleFillIcon, XMarkOctagonFillIcon } from '@navikt/aksel-icons';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
3
|
import { clsx } from '../../node_modules/clsx/dist/lite.js';
|
|
5
4
|
import { forwardRef } from 'react';
|
|
6
5
|
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
7
6
|
|
|
8
|
-
const icons = {
|
|
9
|
-
info: {
|
|
10
|
-
Icon: InformationSquareFillIcon,
|
|
11
|
-
title: 'Informasjon',
|
|
12
|
-
},
|
|
13
|
-
warning: { Icon: ExclamationmarkTriangleFillIcon, title: 'Advarsel' },
|
|
14
|
-
success: { Icon: CheckmarkCircleFillIcon, title: 'Suksess' },
|
|
15
|
-
danger: {
|
|
16
|
-
Icon: XMarkOctagonFillIcon,
|
|
17
|
-
title: 'Feil',
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
7
|
/**
|
|
21
8
|
* Alerts are used to inform users about important information, warnings, errors, or success.
|
|
22
9
|
* @example
|
|
23
|
-
* <Alert
|
|
10
|
+
* <Alert color='info'>Dette er en informasjonsmelding</Alert>
|
|
24
11
|
*/
|
|
25
|
-
const Alert = forwardRef(({
|
|
26
|
-
|
|
27
|
-
return (jsx("div", { ref: ref, className: clsx('ds-alert', `ds-alert--${size}`, `ds-alert--${severity}`, className), ...rest, children: jsxs(Fragment, { children: [jsx(Icon, { title: iconTitle || title, className: 'ds-alert__icon' }), jsx(Paragraph, { asChild: true, size: size, className: 'ds-alert__content', children: jsx("span", { children: children }) })] }) }));
|
|
12
|
+
const Alert = forwardRef(function Alert({ color = 'info', size = 'md', className, ...rest }, ref) {
|
|
13
|
+
return (jsx(Paragraph, { asChild: true, size: size, children: jsx("div", { className: clsx('ds-alert', className), "data-color": color, "data-size": size, ref: ref, ...rest }) }));
|
|
28
14
|
});
|
|
29
|
-
Alert.displayName = 'Alert';
|
|
30
15
|
|
|
31
16
|
export { Alert };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Slot } from '../../node_modules/@radix-ui/react-slot/dist/index.js';
|
|
4
|
+
import { clsx } from '../../node_modules/clsx/dist/lite.js';
|
|
5
|
+
import { forwardRef, Fragment } from 'react';
|
|
6
|
+
|
|
7
|
+
const fontSizeMap = {
|
|
8
|
+
xs: 'ds-paragraph--xs',
|
|
9
|
+
sm: 'ds-heading--2xs',
|
|
10
|
+
md: 'ds-heading--sm',
|
|
11
|
+
lg: 'ds-heading--md',
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Avatars are used to represent people or entities.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <Avatar aria-label="John Doe">JD</Avatar>
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <Avatar aria-label="John Doe">
|
|
21
|
+
* <img src='…' alt='John Doe' />
|
|
22
|
+
* </Avatar>
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <Avatar aria-label="John Doe">
|
|
26
|
+
* <Icon />
|
|
27
|
+
* </Avatar>
|
|
28
|
+
*/
|
|
29
|
+
const Avatar = forwardRef(function Avatar({ 'aria-label': ariaLabel, color = 'accent', size = 'md', variant = 'circle', className, children, ...rest }, ref) {
|
|
30
|
+
const Component = children && typeof children !== 'string' ? Slot : Fragment;
|
|
31
|
+
return (jsx("span", { ref: ref, className: clsx('ds-avatar', fontSizeMap[size], className), "data-variant": variant, "data-color": color, "data-size": size, role: 'img', "aria-label": ariaLabel, ...rest, children: jsx(Component, { ...(children ? { 'aria-hidden': true } : {}), children: children }) }));
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export { Avatar };
|