@digdir/designsystemet-react 1.0.0-next.34 → 1.0.0-next.36
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/README.md +1 -2
- package/dist/cjs/components/Accordion/Accordion.js +1 -1
- package/dist/cjs/components/Accordion/AccordionContent.js +1 -2
- package/dist/cjs/components/Accordion/AccordionHeading.js +4 -6
- package/dist/cjs/components/Accordion/AccordionItem.js +16 -52
- package/dist/cjs/components/Alert/Alert.js +2 -3
- package/dist/cjs/components/Avatar/Avatar.js +5 -10
- package/dist/cjs/components/Badge/Badge.js +4 -10
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +1 -2
- package/dist/cjs/components/Button/Button.js +5 -5
- package/dist/cjs/components/Card/Card.js +24 -6
- package/dist/cjs/components/Card/{CardMedia.js → CardBlock.js} +3 -4
- package/dist/cjs/components/Card/index.js +6 -17
- package/dist/cjs/components/Chip/Chips.js +51 -0
- package/dist/cjs/components/Chip/index.js +12 -11
- package/dist/cjs/components/Dropdown/Dropdown.js +2 -12
- package/dist/cjs/components/Dropdown/DropdownButton.js +12 -0
- package/dist/cjs/components/Dropdown/DropdownHeading.js +3 -6
- package/dist/cjs/components/Dropdown/DropdownItem.js +2 -5
- package/dist/cjs/components/Dropdown/DropdownList.js +1 -2
- package/dist/cjs/components/Dropdown/DropdownTriggerContext.js +26 -0
- package/dist/cjs/components/Dropdown/index.js +13 -7
- package/dist/cjs/components/ErrorSummary/ErrorSummary.js +2 -3
- package/dist/cjs/components/ErrorSummary/ErrorSummaryHeading.js +3 -8
- package/dist/cjs/components/ErrorSummary/ErrorSummaryList.js +1 -3
- package/dist/cjs/components/{Typography/Heading → Heading}/Heading.js +3 -4
- package/dist/cjs/components/HelpText/HelpText.js +2 -2
- package/dist/cjs/components/{Typography/Label → Label}/Label.js +3 -4
- package/dist/cjs/components/Link/Link.js +2 -2
- package/dist/cjs/components/List/Lists.js +2 -3
- package/dist/cjs/components/Modal/Modal.js +51 -0
- package/dist/cjs/components/Modal/ModalBlock.js +14 -0
- package/dist/cjs/components/Modal/ModalTrigger.js +4 -5
- package/dist/cjs/components/Modal/ModalTriggerContext.js +17 -0
- package/dist/cjs/components/Modal/index.js +12 -22
- package/dist/cjs/components/Pagination/Pagination.js +5 -14
- package/dist/cjs/components/Pagination/PaginationButton.js +2 -4
- package/dist/cjs/components/Pagination/PaginationItem.js +1 -4
- package/dist/cjs/components/Pagination/PaginationList.js +2 -5
- package/dist/cjs/components/Pagination/index.js +5 -19
- package/dist/cjs/components/Pagination/usePagination.js +46 -51
- package/dist/cjs/components/Paragraph/Paragraph.js +20 -0
- package/dist/cjs/components/Popover/Popover.js +41 -19
- package/dist/cjs/components/Popover/PopoverTrigger.js +2 -2
- package/dist/cjs/components/Popover/{PopoverContext.js → PopoverTriggerContext.js} +3 -3
- package/dist/cjs/components/Popover/index.js +4 -4
- package/dist/cjs/components/SkipLink/SkipLink.js +4 -4
- package/dist/cjs/components/Table/Table.js +2 -3
- package/dist/cjs/components/Table/TableFoot.js +11 -0
- package/dist/cjs/components/Table/index.js +11 -6
- package/dist/cjs/components/Tabs/Tabs.js +2 -3
- package/dist/cjs/components/Tabs/TabsPanel.js +2 -3
- package/dist/cjs/components/Tabs/TabsTab.js +1 -2
- package/dist/cjs/components/Tag/Tag.js +2 -3
- package/dist/cjs/components/ToggleGroup/ToggleGroup.js +1 -2
- package/dist/cjs/components/ToggleGroup/ToggleGroupItem.js +2 -2
- package/dist/cjs/components/ToggleGroup/useToggleGroupitem.js +0 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +51 -22
- package/dist/cjs/components/{Typography/ValidationMessage → ValidationMessage}/ValidationMessage.js +2 -2
- package/dist/cjs/components/form/Checkbox/Checkbox.js +11 -19
- package/dist/cjs/components/form/Combobox/Combobox.js +3 -4
- package/dist/cjs/components/form/Combobox/Custom.js +2 -2
- package/dist/cjs/components/form/Combobox/Empty.js +2 -2
- package/dist/cjs/components/form/Combobox/Option/Option.js +5 -3
- package/dist/cjs/components/form/Combobox/internal/ComboboxChips.js +2 -2
- package/dist/cjs/components/form/Combobox/internal/ComboboxError.js +2 -2
- package/dist/cjs/components/form/Combobox/internal/ComboboxInput.js +2 -2
- package/dist/cjs/components/form/Combobox/internal/ComboboxLabel.js +3 -3
- package/dist/cjs/components/form/Field/Field.js +17 -0
- package/dist/cjs/components/form/Field/FieldAffix.js +16 -0
- package/dist/cjs/components/form/Field/FieldCounter.js +28 -0
- package/dist/cjs/components/form/Field/FieldDescription.js +11 -0
- package/dist/cjs/components/form/Field/fieldObserver.js +97 -0
- package/dist/cjs/components/form/Field/index.js +33 -0
- package/dist/cjs/components/form/Fieldset/Fieldset.js +2 -16
- package/dist/cjs/components/form/Fieldset/FieldsetDescription.js +12 -0
- package/dist/cjs/components/form/Fieldset/FieldsetLegend.js +12 -0
- package/dist/cjs/components/form/Fieldset/index.js +25 -0
- package/dist/cjs/components/form/Input/Input.js +23 -0
- package/dist/cjs/components/form/Radio/Radio.js +11 -10
- package/dist/cjs/components/form/Search/Search.js +2 -39
- package/dist/cjs/components/form/Search/SearchButton.js +12 -0
- package/dist/cjs/components/form/Search/SearchClear.js +28 -0
- package/dist/cjs/components/form/Search/SearchInput.js +14 -0
- package/dist/cjs/components/form/Search/index.js +33 -0
- package/dist/cjs/components/form/Select/Select.js +12 -10
- package/dist/cjs/components/form/Select/index.js +4 -3
- package/dist/cjs/components/form/Switch/Switch.js +10 -11
- package/dist/cjs/components/form/Textarea/Textarea.js +3 -20
- package/dist/cjs/components/form/Textfield/Textfield.js +14 -21
- package/dist/cjs/components/form/useFormField.js +1 -3
- package/dist/cjs/components/loaders/Skeleton/Skeleton.js +2 -1
- package/dist/cjs/components/loaders/Spinner/Spinner.js +6 -4
- package/dist/cjs/index.js +66 -63
- package/dist/cjs/utilities/hooks/useCheckboxGroup/useCheckboxGroup.js +121 -0
- package/dist/cjs/utilities/hooks/useRadioGroup/useRadioGroup.js +99 -0
- package/dist/esm/components/Accordion/Accordion.js +1 -1
- package/dist/esm/components/Accordion/AccordionContent.js +1 -2
- package/dist/esm/components/Accordion/AccordionHeading.js +4 -6
- package/dist/esm/components/Accordion/AccordionItem.js +17 -53
- package/dist/esm/components/Alert/Alert.js +2 -3
- package/dist/esm/components/Avatar/Avatar.js +5 -10
- package/dist/esm/components/Badge/Badge.js +4 -10
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +1 -2
- package/dist/esm/components/Button/Button.js +6 -6
- package/dist/esm/components/Card/Card.js +25 -7
- package/dist/esm/components/Card/{CardMedia.js → CardBlock.js} +3 -4
- package/dist/esm/components/Card/index.js +6 -14
- package/dist/esm/components/Chip/Chips.js +46 -0
- package/dist/esm/components/Chip/index.js +9 -9
- package/dist/esm/components/Dropdown/Dropdown.js +4 -13
- package/dist/esm/components/Dropdown/DropdownButton.js +10 -0
- package/dist/esm/components/Dropdown/DropdownHeading.js +4 -7
- package/dist/esm/components/Dropdown/DropdownItem.js +3 -6
- package/dist/esm/components/Dropdown/DropdownList.js +1 -2
- package/dist/esm/components/Dropdown/DropdownTriggerContext.js +24 -0
- package/dist/esm/components/Dropdown/index.js +12 -7
- package/dist/esm/components/ErrorSummary/ErrorSummary.js +2 -3
- package/dist/esm/components/ErrorSummary/ErrorSummaryHeading.js +3 -8
- package/dist/esm/components/ErrorSummary/ErrorSummaryList.js +2 -4
- package/dist/esm/components/Heading/Heading.js +18 -0
- package/dist/esm/components/HelpText/HelpText.js +2 -2
- package/dist/esm/components/{Typography/Label → Label}/Label.js +3 -4
- package/dist/esm/components/Link/Link.js +2 -2
- package/dist/esm/components/List/Lists.js +2 -3
- package/dist/esm/components/Modal/Modal.js +49 -0
- package/dist/esm/components/Modal/ModalBlock.js +12 -0
- package/dist/esm/components/Modal/ModalTrigger.js +4 -5
- package/dist/esm/components/Modal/ModalTriggerContext.js +14 -0
- package/dist/esm/components/Modal/index.js +11 -18
- package/dist/esm/components/Pagination/Pagination.js +6 -15
- package/dist/esm/components/Pagination/PaginationButton.js +3 -5
- package/dist/esm/components/Pagination/PaginationItem.js +2 -5
- package/dist/esm/components/Pagination/PaginationList.js +3 -6
- package/dist/esm/components/Pagination/index.js +6 -16
- package/dist/esm/components/Pagination/usePagination.js +47 -52
- package/dist/esm/components/Paragraph/Paragraph.js +18 -0
- package/dist/esm/components/Popover/Popover.js +40 -18
- package/dist/esm/components/Popover/PopoverTrigger.js +1 -1
- package/dist/esm/components/Popover/{PopoverContext.js → PopoverTriggerContext.js} +3 -3
- package/dist/esm/components/Popover/index.js +4 -4
- package/dist/esm/components/SkipLink/SkipLink.js +4 -4
- package/dist/esm/components/Table/Table.js +2 -3
- package/dist/esm/components/Table/TableFoot.js +9 -0
- package/dist/esm/components/Table/index.js +11 -7
- package/dist/esm/components/Tabs/Tabs.js +2 -3
- package/dist/esm/components/Tabs/TabsPanel.js +2 -3
- package/dist/esm/components/Tabs/TabsTab.js +1 -2
- package/dist/esm/components/Tag/Tag.js +2 -3
- package/dist/esm/components/ToggleGroup/ToggleGroup.js +1 -2
- package/dist/esm/components/ToggleGroup/ToggleGroupItem.js +2 -2
- package/dist/esm/components/ToggleGroup/useToggleGroupitem.js +0 -1
- package/dist/esm/components/Tooltip/Tooltip.js +53 -24
- package/dist/esm/components/{Typography/ValidationMessage → ValidationMessage}/ValidationMessage.js +2 -2
- package/dist/esm/components/form/Checkbox/Checkbox.js +12 -20
- package/dist/esm/components/form/Combobox/Combobox.js +4 -5
- package/dist/esm/components/form/Combobox/Custom.js +2 -2
- package/dist/esm/components/form/Combobox/Empty.js +2 -2
- package/dist/esm/components/form/Combobox/Option/Option.js +5 -3
- package/dist/esm/components/form/Combobox/internal/ComboboxChips.js +2 -2
- package/dist/esm/components/form/Combobox/internal/ComboboxError.js +2 -2
- package/dist/esm/components/form/Combobox/internal/ComboboxInput.js +2 -2
- package/dist/esm/components/form/Combobox/internal/ComboboxLabel.js +3 -3
- package/dist/esm/components/form/Field/Field.js +15 -0
- package/dist/esm/components/form/Field/FieldAffix.js +13 -0
- package/dist/esm/components/form/Field/FieldCounter.js +26 -0
- package/dist/esm/components/form/Field/FieldDescription.js +9 -0
- package/dist/esm/components/form/Field/fieldObserver.js +95 -0
- package/dist/esm/components/form/Field/index.js +27 -0
- package/dist/esm/components/form/Fieldset/Fieldset.js +4 -18
- package/dist/esm/components/form/Fieldset/FieldsetDescription.js +10 -0
- package/dist/esm/components/form/Fieldset/FieldsetLegend.js +10 -0
- package/dist/esm/components/form/Fieldset/index.js +21 -0
- package/dist/esm/components/form/Input/Input.js +21 -0
- package/dist/esm/components/form/Radio/Radio.js +12 -11
- package/dist/esm/components/form/Search/Search.js +4 -41
- package/dist/esm/components/form/Search/SearchButton.js +10 -0
- package/dist/esm/components/form/Search/SearchClear.js +26 -0
- package/dist/esm/components/form/Search/SearchInput.js +12 -0
- package/dist/esm/components/form/Search/index.js +28 -0
- package/dist/esm/components/form/Select/Select.js +13 -11
- package/dist/esm/components/form/Select/index.js +4 -3
- package/dist/esm/components/form/Switch/Switch.js +11 -12
- package/dist/esm/components/form/Textarea/Textarea.js +5 -22
- package/dist/esm/components/form/Textfield/Textfield.js +16 -23
- package/dist/esm/components/form/useFormField.js +1 -3
- package/dist/esm/components/loaders/Skeleton/Skeleton.js +2 -1
- package/dist/esm/components/loaders/Spinner/Spinner.js +6 -4
- package/dist/esm/index.js +28 -28
- package/dist/esm/utilities/hooks/useCheckboxGroup/useCheckboxGroup.js +119 -0
- package/dist/esm/utilities/hooks/useRadioGroup/useRadioGroup.js +97 -0
- package/dist/types/colors.d.ts +4 -0
- package/dist/types/colors.d.ts.map +1 -0
- package/dist/types/components/Accordion/Accordion.d.ts +276 -16
- package/dist/types/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/types/components/Accordion/AccordionContent.d.ts.map +1 -1
- package/dist/types/components/Accordion/AccordionHeading.d.ts +2 -2
- package/dist/types/components/Accordion/AccordionHeading.d.ts.map +1 -1
- package/dist/types/components/Accordion/AccordionItem.d.ts +8 -8
- package/dist/types/components/Accordion/AccordionItem.d.ts.map +1 -1
- package/dist/types/components/Alert/Alert.d.ts +275 -23
- package/dist/types/components/Alert/Alert.d.ts.map +1 -1
- package/dist/types/components/Avatar/Avatar.d.ts +282 -36
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/Badge/Badge.d.ts +281 -50
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +273 -18
- package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts +277 -5
- package/dist/types/components/Breadcrumbs/BreadcrumbsLink.d.ts.map +1 -1
- package/dist/types/components/Breadcrumbs/index.d.ts +546 -8
- package/dist/types/components/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/types/components/Button/Button.d.ts +289 -41
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/Card/Card.d.ts +280 -34
- package/dist/types/components/Card/Card.d.ts.map +1 -1
- package/dist/types/components/Card/{CardMedia.d.ts → CardBlock.d.ts} +3 -3
- package/dist/types/components/Card/{CardMedia.d.ts.map → CardBlock.d.ts.map} +1 -1
- package/dist/types/components/Card/index.d.ts +278 -16
- package/dist/types/components/Card/index.d.ts.map +1 -1
- package/dist/types/components/Chip/Chips.d.ts +1204 -0
- package/dist/types/components/Chip/Chips.d.ts.map +1 -0
- package/dist/types/components/Chip/index.d.ts +1166 -21
- package/dist/types/components/Chip/index.d.ts.map +1 -1
- package/dist/types/components/Dropdown/Dropdown.d.ts +283 -15
- package/dist/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownButton.d.ts +4 -0
- package/dist/types/components/Dropdown/DropdownButton.d.ts.map +1 -0
- package/dist/types/components/Dropdown/DropdownHeading.d.ts +7 -3
- package/dist/types/components/Dropdown/DropdownHeading.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownItem.d.ts +3 -3
- package/dist/types/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownList.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownTrigger.d.ts +285 -15
- package/dist/types/components/Dropdown/DropdownTrigger.d.ts.map +1 -1
- package/dist/types/components/Dropdown/DropdownTriggerContext.d.ts +22 -0
- package/dist/types/components/Dropdown/DropdownTriggerContext.d.ts.map +1 -0
- package/dist/types/components/Dropdown/index.d.ts +577 -25
- package/dist/types/components/Dropdown/index.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/ErrorSummary.d.ts +3 -8
- package/dist/types/components/ErrorSummary/ErrorSummary.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts +2 -3
- package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts +1 -2
- package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts.map +1 -1
- package/dist/types/components/ErrorSummary/index.d.ts +3 -7
- package/dist/types/components/ErrorSummary/index.d.ts.map +1 -1
- package/dist/types/components/{Typography/Heading → Heading}/Heading.d.ts +3 -11
- package/dist/types/components/Heading/Heading.d.ts.map +1 -0
- package/dist/types/components/Heading/index.d.ts.map +1 -0
- package/dist/types/components/HelpText/HelpText.d.ts +286 -22
- package/dist/types/components/HelpText/HelpText.d.ts.map +1 -1
- package/dist/types/components/{Typography/Label → Label}/Label.d.ts +4 -17
- package/dist/types/components/Label/Label.d.ts.map +1 -0
- package/dist/types/components/Label/index.d.ts.map +1 -0
- package/dist/types/components/Link/Link.d.ts +284 -20
- package/dist/types/components/Link/Link.d.ts.map +1 -1
- package/dist/types/components/List/Lists.d.ts +16 -9
- package/dist/types/components/List/Lists.d.ts.map +1 -1
- package/dist/types/components/List/index.d.ts +2 -4
- package/dist/types/components/List/index.d.ts.map +1 -1
- package/dist/types/components/Modal/Modal.d.ts +297 -0
- package/dist/types/components/Modal/Modal.d.ts.map +1 -0
- package/dist/types/components/{Card/CardFooter.d.ts → Modal/ModalBlock.d.ts} +3 -3
- package/dist/types/components/Modal/ModalBlock.d.ts.map +1 -0
- package/dist/types/components/Modal/ModalTrigger.d.ts +282 -7
- package/dist/types/components/Modal/ModalTrigger.d.ts.map +1 -1
- package/dist/types/components/Modal/ModalTriggerContext.d.ts +10 -0
- package/dist/types/components/Modal/ModalTriggerContext.d.ts.map +1 -0
- package/dist/types/components/Modal/index.d.ts +576 -20
- package/dist/types/components/Modal/index.d.ts.map +1 -1
- package/dist/types/components/Pagination/Pagination.d.ts +287 -45
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationButton.d.ts +289 -5
- package/dist/types/components/Pagination/PaginationButton.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationItem.d.ts.map +1 -1
- package/dist/types/components/Pagination/PaginationList.d.ts +1 -1
- package/dist/types/components/Pagination/PaginationList.d.ts.map +1 -1
- package/dist/types/components/Pagination/index.d.ts +565 -17
- package/dist/types/components/Pagination/index.d.ts.map +1 -1
- package/dist/types/components/Pagination/usePagination.d.ts +41 -17
- package/dist/types/components/Pagination/usePagination.d.ts.map +1 -1
- package/dist/types/components/{Typography/Paragraph → Paragraph}/Paragraph.d.ts +3 -13
- package/dist/types/components/Paragraph/Paragraph.d.ts.map +1 -0
- package/dist/types/components/Paragraph/index.d.ts.map +1 -0
- package/dist/types/components/Popover/Popover.d.ts +287 -43
- package/dist/types/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/components/Popover/PopoverTrigger.d.ts +285 -13
- package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -1
- package/dist/types/components/Popover/PopoverTriggerContext.d.ts +13 -0
- package/dist/types/components/Popover/PopoverTriggerContext.d.ts.map +1 -0
- package/dist/types/components/Popover/index.d.ts +4 -4
- package/dist/types/components/Popover/index.d.ts.map +1 -1
- package/dist/types/components/SkipLink/SkipLink.d.ts +283 -7
- package/dist/types/components/SkipLink/SkipLink.d.ts.map +1 -1
- package/dist/types/components/Table/Table.d.ts +3 -12
- package/dist/types/components/Table/Table.d.ts.map +1 -1
- package/dist/types/components/Table/TableFoot.d.ts +4 -0
- package/dist/types/components/Table/TableFoot.d.ts.map +1 -0
- package/dist/types/components/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/types/components/Table/index.d.ts +18 -10
- package/dist/types/components/Table/index.d.ts.map +1 -1
- package/dist/types/components/Tabs/Tabs.d.ts +278 -20
- package/dist/types/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/types/components/Tabs/TabsPanel.d.ts.map +1 -1
- package/dist/types/components/Tabs/TabsTab.d.ts.map +1 -1
- package/dist/types/components/Tabs/index.d.ts +270 -5
- package/dist/types/components/Tabs/index.d.ts.map +1 -1
- package/dist/types/components/Tag/Tag.d.ts +276 -23
- package/dist/types/components/Tag/Tag.d.ts.map +1 -1
- package/dist/types/components/ToggleGroup/ToggleGroup.d.ts +279 -23
- package/dist/types/components/ToggleGroup/ToggleGroup.d.ts.map +1 -1
- package/dist/types/components/ToggleGroup/ToggleGroupItem.d.ts +285 -2
- package/dist/types/components/ToggleGroup/ToggleGroupItem.d.ts.map +1 -1
- package/dist/types/components/ToggleGroup/useToggleGroupitem.d.ts +0 -2
- package/dist/types/components/ToggleGroup/useToggleGroupitem.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +286 -33
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/components/ValidationMessage/ValidationMessage.d.ts +285 -0
- package/dist/types/components/ValidationMessage/ValidationMessage.d.ts.map +1 -0
- package/dist/types/components/ValidationMessage/index.d.ts.map +1 -0
- package/dist/types/components/form/CharacterCounter.d.ts +2 -2
- package/dist/types/components/form/CharacterCounter.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.d.ts +36 -19
- package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/index.d.ts +2 -21
- package/dist/types/components/form/Checkbox/index.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/Combobox.d.ts +3 -3
- package/dist/types/components/form/Combobox/Combobox.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/Option/Option.d.ts.map +1 -1
- package/dist/types/components/form/Combobox/internal/ComboboxLabel.d.ts.map +1 -1
- package/dist/types/components/form/Field/Field.d.ts +15 -0
- package/dist/types/components/form/Field/Field.d.ts.map +1 -0
- package/dist/types/components/form/Field/FieldAffix.d.ts +6 -0
- package/dist/types/components/form/Field/FieldAffix.d.ts.map +1 -0
- package/dist/types/components/form/Field/FieldCounter.d.ts +296 -0
- package/dist/types/components/form/Field/FieldCounter.d.ts.map +1 -0
- package/dist/types/components/form/Field/FieldDescription.d.ts +4 -0
- package/dist/types/components/form/Field/FieldDescription.d.ts.map +1 -0
- package/dist/types/components/form/Field/fieldObserver.d.ts +2 -0
- package/dist/types/components/form/Field/fieldObserver.d.ts.map +1 -0
- package/dist/types/components/form/Field/index.d.ts +300 -0
- package/dist/types/components/form/Field/index.d.ts.map +1 -0
- package/dist/types/components/form/Fieldset/Fieldset.d.ts +276 -25
- 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/FieldsetDescription.d.ts +8 -0
- package/dist/types/components/form/Fieldset/FieldsetDescription.d.ts.map +1 -0
- package/dist/types/components/form/Fieldset/FieldsetLegend.d.ts +5 -0
- package/dist/types/components/form/Fieldset/FieldsetLegend.d.ts.map +1 -0
- package/dist/types/components/form/Fieldset/index.d.ts +295 -1
- package/dist/types/components/form/Fieldset/index.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.d.ts +334 -0
- package/dist/types/components/form/Input/Input.d.ts.map +1 -0
- package/dist/types/components/form/Input/index.d.ts +3 -0
- package/dist/types/components/form/Input/index.d.ts.map +1 -0
- package/dist/types/components/form/Radio/Radio.d.ts +37 -12
- package/dist/types/components/form/Radio/Radio.d.ts.map +1 -1
- package/dist/types/components/form/Radio/index.d.ts +2 -19
- package/dist/types/components/form/Radio/index.d.ts.map +1 -1
- package/dist/types/components/form/Search/Search.d.ts +3 -75
- package/dist/types/components/form/Search/Search.d.ts.map +1 -1
- package/dist/types/components/form/Search/SearchButton.d.ts +295 -0
- package/dist/types/components/form/Search/SearchButton.d.ts.map +1 -0
- package/dist/types/components/form/Search/SearchClear.d.ts +299 -0
- package/dist/types/components/form/Search/SearchClear.d.ts.map +1 -0
- package/dist/types/components/form/Search/SearchInput.d.ts +4 -0
- package/dist/types/components/form/Search/SearchInput.d.ts.map +1 -0
- package/dist/types/components/form/Search/index.d.ts +593 -1
- package/dist/types/components/form/Search/index.d.ts.map +1 -1
- package/dist/types/components/form/Select/Select.d.ts +283 -57
- package/dist/types/components/form/Select/Select.d.ts.map +1 -1
- package/dist/types/components/form/Select/index.d.ts +283 -5
- package/dist/types/components/form/Select/index.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.d.ts +43 -18
- package/dist/types/components/form/Switch/Switch.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/Textarea.d.ts +5 -44
- package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
- package/dist/types/components/form/Textfield/Textfield.d.ts +38 -61
- package/dist/types/components/form/Textfield/Textfield.d.ts.map +1 -1
- package/dist/types/components/form/useFormField.d.ts +2 -1
- package/dist/types/components/form/useFormField.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +6 -1
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/loaders/Skeleton/Skeleton.d.ts +8 -17
- package/dist/types/components/loaders/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/types/components/loaders/Spinner/Spinner.d.ts +15 -14
- package/dist/types/components/loaders/Spinner/Spinner.d.ts.map +1 -1
- package/dist/types/components/loaders/Spinner/index.d.ts +1 -2
- package/dist/types/components/loaders/Spinner/index.d.ts.map +1 -1
- package/dist/types/types.d.ts +19 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utilities/RovingFocus/useRovingFocus.d.ts +1 -1
- package/dist/types/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts +377 -0
- package/dist/types/utilities/hooks/useCheckboxGroup/useCheckboxGroup.d.ts.map +1 -0
- package/dist/types/utilities/hooks/useRadioGroup/useRadioGroup.d.ts +365 -0
- package/dist/types/utilities/hooks/useRadioGroup/useRadioGroup.d.ts.map +1 -0
- package/dist/types/utilities/index.d.ts +1 -0
- package/dist/types/utilities/index.d.ts.map +1 -1
- package/dist/types/utilities/types.d.ts +10 -0
- package/dist/types/utilities/types.d.ts.map +1 -0
- package/package.json +3 -3
- package/dist/cjs/components/Card/CardContent.js +0 -16
- package/dist/cjs/components/Card/CardFooter.js +0 -16
- package/dist/cjs/components/Card/CardHeader.js +0 -16
- package/dist/cjs/components/Chip/Group/Group.js +0 -15
- package/dist/cjs/components/Chip/Removable/Removable.js +0 -17
- package/dist/cjs/components/Chip/Toggle/Toggle.js +0 -18
- package/dist/cjs/components/Dropdown/DropdownContext.js +0 -26
- package/dist/cjs/components/Modal/ModaContent.js +0 -15
- package/dist/cjs/components/Modal/ModalDialog.js +0 -73
- package/dist/cjs/components/Modal/ModalFooter.js +0 -15
- package/dist/cjs/components/Modal/ModalHeader.js +0 -20
- package/dist/cjs/components/Modal/ModalRoot.js +0 -31
- package/dist/cjs/components/Modal/useModalState.js +0 -30
- package/dist/cjs/components/Modal/useScrollLock.js +0 -29
- package/dist/cjs/components/Pagination/PaginationEllipsis.js +0 -15
- package/dist/cjs/components/Pagination/PaginationNextPrev.js +0 -16
- package/dist/cjs/components/Pagination/PaginationRoot.js +0 -18
- package/dist/cjs/components/Typography/Ingress/Ingress.js +0 -21
- package/dist/cjs/components/Typography/Paragraph/Paragraph.js +0 -26
- package/dist/cjs/components/form/CharacterCounter.js +0 -17
- package/dist/cjs/components/form/Checkbox/CheckboxGroup.js +0 -31
- package/dist/cjs/components/form/Checkbox/index.js +0 -13
- package/dist/cjs/components/form/Checkbox/useCheckbox.js +0 -44
- package/dist/cjs/components/form/Radio/RadioGroup.js +0 -23
- package/dist/cjs/components/form/Radio/index.js +0 -13
- package/dist/cjs/components/form/Radio/useRadio.js +0 -46
- package/dist/cjs/components/form/Search/useSearch.js +0 -39
- package/dist/cjs/components/form/Select/useSelect.js +0 -49
- package/dist/cjs/components/form/Switch/useSwitch.js +0 -46
- package/dist/cjs/components/form/Textarea/useTextarea.js +0 -37
- package/dist/cjs/components/form/Textfield/useTextfield.js +0 -37
- package/dist/esm/components/Card/CardContent.js +0 -14
- package/dist/esm/components/Card/CardFooter.js +0 -14
- package/dist/esm/components/Card/CardHeader.js +0 -14
- package/dist/esm/components/Chip/Group/Group.js +0 -12
- package/dist/esm/components/Chip/Removable/Removable.js +0 -15
- package/dist/esm/components/Chip/Toggle/Toggle.js +0 -16
- package/dist/esm/components/Dropdown/DropdownContext.js +0 -24
- package/dist/esm/components/Modal/ModaContent.js +0 -13
- package/dist/esm/components/Modal/ModalDialog.js +0 -71
- package/dist/esm/components/Modal/ModalFooter.js +0 -13
- package/dist/esm/components/Modal/ModalHeader.js +0 -18
- package/dist/esm/components/Modal/ModalRoot.js +0 -28
- package/dist/esm/components/Modal/useModalState.js +0 -28
- package/dist/esm/components/Modal/useScrollLock.js +0 -27
- package/dist/esm/components/Pagination/PaginationEllipsis.js +0 -13
- package/dist/esm/components/Pagination/PaginationNextPrev.js +0 -13
- package/dist/esm/components/Pagination/PaginationRoot.js +0 -15
- package/dist/esm/components/Typography/Heading/Heading.js +0 -19
- package/dist/esm/components/Typography/Ingress/Ingress.js +0 -19
- package/dist/esm/components/Typography/Paragraph/Paragraph.js +0 -24
- package/dist/esm/components/form/CharacterCounter.js +0 -15
- package/dist/esm/components/form/Checkbox/CheckboxGroup.js +0 -28
- package/dist/esm/components/form/Checkbox/index.js +0 -10
- package/dist/esm/components/form/Checkbox/useCheckbox.js +0 -42
- package/dist/esm/components/form/Radio/RadioGroup.js +0 -20
- package/dist/esm/components/form/Radio/index.js +0 -10
- package/dist/esm/components/form/Radio/useRadio.js +0 -44
- package/dist/esm/components/form/Search/useSearch.js +0 -37
- package/dist/esm/components/form/Select/useSelect.js +0 -47
- package/dist/esm/components/form/Switch/useSwitch.js +0 -44
- package/dist/esm/components/form/Textarea/useTextarea.js +0 -35
- package/dist/esm/components/form/Textfield/useTextfield.js +0 -35
- package/dist/types/components/Card/CardContent.d.ts +0 -16
- package/dist/types/components/Card/CardContent.d.ts.map +0 -1
- package/dist/types/components/Card/CardFooter.d.ts.map +0 -1
- package/dist/types/components/Card/CardHeader.d.ts +0 -16
- package/dist/types/components/Card/CardHeader.d.ts.map +0 -1
- package/dist/types/components/Chip/Group/Group.d.ts +0 -20
- package/dist/types/components/Chip/Group/Group.d.ts.map +0 -1
- package/dist/types/components/Chip/Removable/Removable.d.ts +0 -17
- package/dist/types/components/Chip/Removable/Removable.d.ts.map +0 -1
- package/dist/types/components/Chip/Toggle/Toggle.d.ts +0 -33
- package/dist/types/components/Chip/Toggle/Toggle.d.ts.map +0 -1
- package/dist/types/components/Dropdown/DropdownContext.d.ts +0 -22
- package/dist/types/components/Dropdown/DropdownContext.d.ts.map +0 -1
- package/dist/types/components/Modal/ModaContent.d.ts +0 -16
- package/dist/types/components/Modal/ModaContent.d.ts.map +0 -1
- package/dist/types/components/Modal/ModalDialog.d.ts +0 -38
- package/dist/types/components/Modal/ModalDialog.d.ts.map +0 -1
- package/dist/types/components/Modal/ModalFooter.d.ts +0 -16
- package/dist/types/components/Modal/ModalFooter.d.ts.map +0 -1
- package/dist/types/components/Modal/ModalHeader.d.ts +0 -44
- package/dist/types/components/Modal/ModalHeader.d.ts.map +0 -1
- package/dist/types/components/Modal/ModalRoot.d.ts +0 -17
- package/dist/types/components/Modal/ModalRoot.d.ts.map +0 -1
- package/dist/types/components/Modal/useModalState.d.ts +0 -2
- package/dist/types/components/Modal/useModalState.d.ts.map +0 -1
- package/dist/types/components/Modal/useScrollLock.d.ts +0 -2
- package/dist/types/components/Modal/useScrollLock.d.ts.map +0 -1
- package/dist/types/components/Pagination/PaginationEllipsis.d.ts +0 -4
- package/dist/types/components/Pagination/PaginationEllipsis.d.ts.map +0 -1
- package/dist/types/components/Pagination/PaginationNextPrev.d.ts +0 -10
- package/dist/types/components/Pagination/PaginationNextPrev.d.ts.map +0 -1
- package/dist/types/components/Pagination/PaginationRoot.d.ts +0 -53
- package/dist/types/components/Pagination/PaginationRoot.d.ts.map +0 -1
- package/dist/types/components/Popover/PopoverContext.d.ts +0 -13
- package/dist/types/components/Popover/PopoverContext.d.ts.map +0 -1
- package/dist/types/components/Typography/Heading/Heading.d.ts.map +0 -1
- package/dist/types/components/Typography/Heading/index.d.ts.map +0 -1
- package/dist/types/components/Typography/Ingress/Ingress.d.ts +0 -34
- package/dist/types/components/Typography/Ingress/Ingress.d.ts.map +0 -1
- package/dist/types/components/Typography/Ingress/index.d.ts +0 -2
- package/dist/types/components/Typography/Ingress/index.d.ts.map +0 -1
- package/dist/types/components/Typography/Label/Label.d.ts.map +0 -1
- package/dist/types/components/Typography/Label/index.d.ts.map +0 -1
- package/dist/types/components/Typography/Paragraph/Paragraph.d.ts.map +0 -1
- package/dist/types/components/Typography/Paragraph/index.d.ts.map +0 -1
- package/dist/types/components/Typography/ValidationMessage/ValidationMessage.d.ts +0 -35
- package/dist/types/components/Typography/ValidationMessage/ValidationMessage.d.ts.map +0 -1
- package/dist/types/components/Typography/ValidationMessage/index.d.ts.map +0 -1
- package/dist/types/components/Typography/index.d.ts +0 -6
- package/dist/types/components/Typography/index.d.ts.map +0 -1
- package/dist/types/components/form/Checkbox/CheckboxGroup.d.ts +0 -29
- package/dist/types/components/form/Checkbox/CheckboxGroup.d.ts.map +0 -1
- package/dist/types/components/form/Checkbox/useCheckbox.d.ts +0 -10
- package/dist/types/components/form/Checkbox/useCheckbox.d.ts.map +0 -1
- package/dist/types/components/form/Radio/RadioGroup.d.ts +0 -43
- package/dist/types/components/form/Radio/RadioGroup.d.ts.map +0 -1
- package/dist/types/components/form/Radio/useRadio.d.ts +0 -10
- package/dist/types/components/form/Radio/useRadio.d.ts.map +0 -1
- package/dist/types/components/form/Search/useSearch.d.ts +0 -10
- package/dist/types/components/form/Search/useSearch.d.ts.map +0 -1
- package/dist/types/components/form/Select/useSelect.d.ts +0 -10
- package/dist/types/components/form/Select/useSelect.d.ts.map +0 -1
- package/dist/types/components/form/Switch/useSwitch.d.ts +0 -10
- package/dist/types/components/form/Switch/useSwitch.d.ts.map +0 -1
- package/dist/types/components/form/Textfield/useTextfield.d.ts +0 -10
- package/dist/types/components/form/Textfield/useTextfield.d.ts.map +0 -1
- package/dist/types/types/Portal.d.ts +0 -9
- package/dist/types/types/Portal.d.ts.map +0 -1
- package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts +0 -9
- package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts.map +0 -1
- package/dist/types/utilities/AnimateHeight/index.d.ts +0 -3
- package/dist/types/utilities/AnimateHeight/index.d.ts.map +0 -1
- /package/dist/types/components/{Typography/Heading → Heading}/index.d.ts +0 -0
- /package/dist/types/components/{Typography/Label → Label}/index.d.ts +0 -0
- /package/dist/types/components/{Typography/Paragraph → Paragraph}/index.d.ts +0 -0
- /package/dist/types/components/{Typography/ValidationMessage → ValidationMessage}/index.d.ts +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var react$1 = require('@floating-ui/react');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* useRadioGroup is used to group multiple <Radio> components
|
|
9
|
+
* @example
|
|
10
|
+
* const { getRadioProps, validationMessageProps, value, setValue } = useRadioGroup({
|
|
11
|
+
* disabled: false,
|
|
12
|
+
* error: 'Validation message text',
|
|
13
|
+
* name: 'group-name',
|
|
14
|
+
* onChange: (nextValue, prevValue) => {},
|
|
15
|
+
* readOnly: false,
|
|
16
|
+
* required: true,
|
|
17
|
+
* value: '',
|
|
18
|
+
* });
|
|
19
|
+
*/
|
|
20
|
+
function useRadioGroup({ error, readOnly, required, disabled, name, onChange, value: initalValue = '', } = {}) {
|
|
21
|
+
const [groupValue, setGroupValue] = react.useState(initalValue);
|
|
22
|
+
const errorId = react.useId();
|
|
23
|
+
const namedId = react.useId();
|
|
24
|
+
const radioGroupName = name || namedId;
|
|
25
|
+
return {
|
|
26
|
+
/**
|
|
27
|
+
* Current value of the group.
|
|
28
|
+
*/
|
|
29
|
+
value: groupValue,
|
|
30
|
+
/**
|
|
31
|
+
* Set the value of the group.
|
|
32
|
+
*
|
|
33
|
+
* @param value string[]
|
|
34
|
+
* @returns void
|
|
35
|
+
*/
|
|
36
|
+
setValue: setGroupValue,
|
|
37
|
+
/**
|
|
38
|
+
* Props to send to the `Radio` component.
|
|
39
|
+
* @example
|
|
40
|
+
* <Radio label="Option 1" {...getRadioProps('option-1')} />
|
|
41
|
+
*/
|
|
42
|
+
getRadioProps: (propsOrValue) => {
|
|
43
|
+
const props = typeof propsOrValue === 'string'
|
|
44
|
+
? { value: propsOrValue }
|
|
45
|
+
: propsOrValue;
|
|
46
|
+
const { ref = undefined, value = '', ...rest } = props;
|
|
47
|
+
const localRef = react.useRef(null);
|
|
48
|
+
const mergedRefs = react$1.useMergeRefs([ref, localRef]);
|
|
49
|
+
const handleChange = () => {
|
|
50
|
+
const input = localRef.current;
|
|
51
|
+
const isInput = input instanceof HTMLInputElement;
|
|
52
|
+
if (isInput && input.name === radioGroupName) {
|
|
53
|
+
setGroupValue((prevValue) => {
|
|
54
|
+
onChange?.(input.value, prevValue);
|
|
55
|
+
return input.value;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
react.useEffect(() => {
|
|
60
|
+
if (!localRef.current)
|
|
61
|
+
return;
|
|
62
|
+
localRef.current.checked = value === groupValue;
|
|
63
|
+
}, [groupValue, value]);
|
|
64
|
+
return {
|
|
65
|
+
/* Spread anything the user has set first */
|
|
66
|
+
...rest,
|
|
67
|
+
/* Concat ours with the user prop */
|
|
68
|
+
name: radioGroupName,
|
|
69
|
+
'aria-describedby': `${error ? errorId : ''} ${rest['aria-describedby'] || ''}`.trim() ||
|
|
70
|
+
undefined,
|
|
71
|
+
'aria-invalid': !!error || rest['aria-invalid'],
|
|
72
|
+
value,
|
|
73
|
+
ref: mergedRefs,
|
|
74
|
+
required: required || rest.required,
|
|
75
|
+
readOnly: readOnly || rest.readOnly,
|
|
76
|
+
disabled: disabled || rest.disabled,
|
|
77
|
+
onChange: (e) => {
|
|
78
|
+
rest.onChange?.(e);
|
|
79
|
+
if (e.defaultPrevented)
|
|
80
|
+
return;
|
|
81
|
+
handleChange();
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
},
|
|
85
|
+
/**
|
|
86
|
+
* Props to send to the `ValidationMessage` component.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* <ValidationMessage {...validationMessageProps} />
|
|
90
|
+
*/
|
|
91
|
+
validationMessageProps: {
|
|
92
|
+
children: error,
|
|
93
|
+
hidden: !error,
|
|
94
|
+
id: errorId,
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
exports.useRadioGroup = useRadioGroup;
|
|
@@ -6,7 +6,7 @@ import { forwardRef } from 'react';
|
|
|
6
6
|
/**
|
|
7
7
|
* Accordion component, contains `Accordion.Item` components.
|
|
8
8
|
*/
|
|
9
|
-
const Accordion = forwardRef(function Accordion({ border = false, color = 'neutral', className, ...rest }, ref) {
|
|
9
|
+
const Accordion = forwardRef(function Accordion({ border = false, 'data-color': color = 'neutral', className, ...rest }, ref) {
|
|
10
10
|
return (jsx("div", { className: cl('ds-accordion-group', className), "data-border": border || undefined, "data-color": color, ref: ref, ...rest }));
|
|
11
11
|
});
|
|
12
12
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Accordion content component, contains the content of the accordion item.
|
|
@@ -9,7 +8,7 @@ import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
|
9
8
|
* <AccordionContent>Content</AccordionContent>
|
|
10
9
|
*/
|
|
11
10
|
const AccordionContent = forwardRef(function AccordionContent(rest, ref) {
|
|
12
|
-
return
|
|
11
|
+
return jsx("div", { ref: ref, ...rest });
|
|
13
12
|
});
|
|
14
13
|
|
|
15
14
|
export { AccordionContent };
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import cl from 'clsx/lite';
|
|
4
3
|
import { forwardRef } from 'react';
|
|
5
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
6
4
|
|
|
7
5
|
/**
|
|
8
|
-
* Accordion
|
|
6
|
+
* Accordion heading component, contains a button to toggle the content.
|
|
9
7
|
* @example
|
|
10
|
-
* <
|
|
8
|
+
* <AccordionHeading>Heading</AccordionHeading>
|
|
11
9
|
*/
|
|
12
10
|
const AccordionHeading = forwardRef(function AccordionHeading({ className, ...rest }, ref) {
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
/* Set `className` as `class` so react is happy */
|
|
12
|
+
return jsx("u-summary", { ref: ref, class: className, ...rest });
|
|
15
13
|
});
|
|
16
14
|
|
|
17
15
|
export { AccordionHeading };
|
|
@@ -2,75 +2,39 @@
|
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { useMergeRefs } from '@floating-ui/react';
|
|
4
4
|
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef,
|
|
5
|
+
import { forwardRef, useRef, useEffect } from 'react';
|
|
6
6
|
import '@u-elements/u-details';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Accordion item component, contains `Accordion.
|
|
9
|
+
* Accordion item component, contains `Accordion.Heading` and `Accordion.Content` components.
|
|
10
10
|
* @example
|
|
11
11
|
* <AccordionItem>
|
|
12
|
-
* <
|
|
12
|
+
* <AccordionHeading>Header</AccordionHeading>
|
|
13
13
|
* <AccordionContent>Content</AccordionContent>
|
|
14
14
|
* </AccordionItem>
|
|
15
15
|
*/
|
|
16
|
-
const AccordionItem = forwardRef(function AccordionItem({ className, open, defaultOpen = false,
|
|
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
|
|
16
|
+
const AccordionItem = forwardRef(function AccordionItem({ className, open, defaultOpen = false, onToggle, ...rest }, ref) {
|
|
20
17
|
const detailsRef = useRef(null);
|
|
18
|
+
const initialOpen = useRef(defaultOpen); // Allow rendering defaultOpen on server, but only render once on client
|
|
21
19
|
const mergedRefs = useMergeRefs([detailsRef, ref]);
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
const onToggleRef = useRef(onToggle); // Using ref to enable access inside useEffect without re-binding event listeners
|
|
21
|
+
const openRef = useRef(open);
|
|
22
|
+
onToggleRef.current = onToggle;
|
|
23
|
+
openRef.current = open;
|
|
24
|
+
// Provide onToggle event and controlled state
|
|
24
25
|
useEffect(() => {
|
|
25
26
|
const details = detailsRef.current;
|
|
26
|
-
const
|
|
27
|
-
|
|
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)
|
|
27
|
+
const handleToggle = (event) => {
|
|
28
|
+
if (!details || details?.open === openRef.current)
|
|
33
29
|
return;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
details.open = controlledOpen.current;
|
|
38
|
-
}); // Let onFound run before correcting state
|
|
30
|
+
onToggleRef.current?.(event);
|
|
31
|
+
if (openRef.current !== undefined)
|
|
32
|
+
details.open = openRef.current; // Don't update DOM unless controlled state changes
|
|
39
33
|
};
|
|
40
34
|
details?.addEventListener('toggle', handleToggle, true);
|
|
41
|
-
|
|
42
|
-
return () => {
|
|
43
|
-
details?.removeEventListener('toggle', handleToggle, true);
|
|
44
|
-
summary?.removeEventListener('click', handleSummaryClick);
|
|
45
|
-
};
|
|
35
|
+
return () => details?.removeEventListener('toggle', handleToggle, true);
|
|
46
36
|
}, []);
|
|
47
|
-
|
|
48
|
-
animateHeight(detailsRef.current, controlledOpen.current);
|
|
49
|
-
}, [controlledOpen.current]);
|
|
50
|
-
return (jsx("u-details", { class: cl('ds-accordion__item', className), open: initialOpen.current || undefined, ref: mergedRefs, ...rest }));
|
|
37
|
+
return (jsx("u-details", { class: cl('ds-accordion__item', className), open: (open ?? initialOpen.current) || undefined, ref: mergedRefs, ...rest }));
|
|
51
38
|
});
|
|
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
|
-
};
|
|
75
39
|
|
|
76
40
|
export { AccordionItem };
|
|
@@ -2,15 +2,14 @@
|
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import cl from 'clsx/lite';
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Alerts are used to inform users about important information, warnings, errors, or success.
|
|
9
8
|
* @example
|
|
10
9
|
* <Alert color='info'>Dette er en informasjonsmelding</Alert>
|
|
11
10
|
*/
|
|
12
|
-
const Alert = forwardRef(function Alert({ color
|
|
13
|
-
return (jsx(
|
|
11
|
+
const Alert = forwardRef(function Alert({ 'data-color': color = 'info', className, ...rest }, ref) {
|
|
12
|
+
return (jsx("div", { className: cl('ds-alert', className), "data-color": color, ref: ref, ...rest }));
|
|
14
13
|
});
|
|
15
14
|
|
|
16
15
|
export { Alert };
|
|
@@ -4,17 +4,11 @@ import { Slot } from '@radix-ui/react-slot';
|
|
|
4
4
|
import cl from 'clsx/lite';
|
|
5
5
|
import { forwardRef, Fragment } from 'react';
|
|
6
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
7
|
/**
|
|
14
8
|
* Avatars are used to represent people or entities.
|
|
15
9
|
*
|
|
16
10
|
* @example
|
|
17
|
-
* <Avatar aria-label="John Doe"
|
|
11
|
+
* <Avatar aria-label="John Doe" initials="JD" />
|
|
18
12
|
*
|
|
19
13
|
* @example
|
|
20
14
|
* <Avatar aria-label="John Doe">
|
|
@@ -26,9 +20,10 @@ const fontSizeMap = {
|
|
|
26
20
|
* <Icon />
|
|
27
21
|
* </Avatar>
|
|
28
22
|
*/
|
|
29
|
-
const Avatar = forwardRef(function Avatar({ 'aria-label': ariaLabel,
|
|
30
|
-
const
|
|
31
|
-
|
|
23
|
+
const Avatar = forwardRef(function Avatar({ 'aria-label': ariaLabel, variant = 'circle', className, children, initials, ...rest }, ref) {
|
|
24
|
+
const useSlot = children && typeof children !== 'string';
|
|
25
|
+
const Component = useSlot ? Slot : Fragment;
|
|
26
|
+
return (jsx("span", { ref: ref, className: cl('ds-avatar', className), "data-variant": variant, "data-initials": initials, role: 'img', "aria-label": ariaLabel, ...rest, children: jsx(Component, { ...(useSlot ? { 'aria-hidden': true } : {}), children: children }) }));
|
|
32
27
|
});
|
|
33
28
|
|
|
34
29
|
export { Avatar };
|
|
@@ -2,30 +2,24 @@
|
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import cl from 'clsx/lite';
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
6
5
|
|
|
7
|
-
const paragraphSizeMap = {
|
|
8
|
-
sm: 'xs',
|
|
9
|
-
md: 'sm',
|
|
10
|
-
lg: 'md',
|
|
11
|
-
};
|
|
12
6
|
/**
|
|
13
7
|
* `Badge` is a non-interactive component for displaying status with or without numbers.
|
|
14
8
|
*
|
|
15
9
|
* @example without children
|
|
16
10
|
* ```jsx
|
|
17
|
-
* <Badge color='accent'
|
|
11
|
+
* <Badge color='accent' count={5} />
|
|
18
12
|
* ```
|
|
19
13
|
*
|
|
20
14
|
* @example with children
|
|
21
15
|
* ```jsx
|
|
22
|
-
* <Badge color='accent'
|
|
16
|
+
* <Badge color='accent'>
|
|
23
17
|
* <Icon />
|
|
24
18
|
* </Badge>
|
|
25
19
|
* ```
|
|
26
20
|
*/
|
|
27
|
-
const Badge = forwardRef(function Badge({ className,
|
|
28
|
-
return (jsx(
|
|
21
|
+
const Badge = forwardRef(function Badge({ className, count, maxCount, overlap = 'rectangle', placement = 'top-right', ...rest }, ref) {
|
|
22
|
+
return (jsx("span", { className: cl('ds-badge', className), "data-count": count && maxCount && count > maxCount ? `${maxCount}+` : count, "data-overlap": rest.children ? overlap : null, "data-placement": rest.children ? placement : null, ref: ref, ...rest }));
|
|
29
23
|
});
|
|
30
24
|
|
|
31
25
|
export { Badge };
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import cl from 'clsx/lite';
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
6
5
|
|
|
7
|
-
const Breadcrumbs = forwardRef(({ 'aria-label': ariaLabel = 'Du er her:', className,
|
|
6
|
+
const Breadcrumbs = forwardRef(({ 'aria-label': ariaLabel = 'Du er her:', className, ...rest }, ref) => (jsx("nav", { "aria-label": ariaLabel, className: cl('ds-breadcrumbs', className), ref: ref, ...rest })));
|
|
8
7
|
|
|
9
8
|
export { Breadcrumbs };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { Slottable, Slot } from '@radix-ui/react-slot';
|
|
4
4
|
import cl from 'clsx/lite';
|
|
5
5
|
import { forwardRef } from 'react';
|
|
6
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
7
6
|
import { Spinner } from '../loaders/Spinner/Spinner.js';
|
|
8
7
|
|
|
9
8
|
/**
|
|
@@ -11,12 +10,13 @@ import { Spinner } from '../loaders/Spinner/Spinner.js';
|
|
|
11
10
|
* @example
|
|
12
11
|
* <Button>Click me</Button>
|
|
13
12
|
*/
|
|
14
|
-
const Button = forwardRef(function Button({ asChild, className, children,
|
|
13
|
+
const Button = forwardRef(function Button({ asChild, className, children, icon = false, loading = false, variant = 'primary', ...rest }, ref) {
|
|
15
14
|
const Component = asChild ? Slot : 'button';
|
|
16
|
-
const spinnerColor = color === 'accent' ? color : 'neutral';
|
|
17
15
|
// Fallbacks to undefined to prevent rendering attribute="false"
|
|
18
|
-
return (
|
|
19
|
-
|
|
16
|
+
return (jsxs(Component, { "aria-busy": Boolean(loading) || undefined, className: cl('ds-button', className), "data-icon": icon || undefined, "data-variant": variant, ref: ref,
|
|
17
|
+
/* don't set type when we use `asChild` */
|
|
18
|
+
type: asChild ? undefined : 'button', ...rest, children: [loading === true ? (jsx(Spinner, { "aria-hidden": 'true', "data-size": 'sm' })) : (loading // Allow custom loading spinner
|
|
19
|
+
), jsx(Slottable, { children: children })] }));
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
export { Button };
|
|
@@ -1,22 +1,40 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useMergeRefs } from '@floating-ui/react';
|
|
3
4
|
import { Slot } from '@radix-ui/react-slot';
|
|
4
5
|
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef } from 'react';
|
|
6
|
+
import { forwardRef, useRef, useEffect } from 'react';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Card component to present content in a structured way.
|
|
9
10
|
* @example
|
|
10
11
|
* <Card>
|
|
11
|
-
* <Card.
|
|
12
|
-
* <Card.
|
|
13
|
-
* <Card.
|
|
12
|
+
* <Card.Block>Header</Card.Block>
|
|
13
|
+
* <Card.Block>Content</Card.Block>
|
|
14
|
+
* <Card.Block>Footer</Card.Block>
|
|
14
15
|
* </Card>
|
|
15
16
|
*/
|
|
16
|
-
const Card = forwardRef(({
|
|
17
|
+
const Card = forwardRef(function Card({ asChild = false, 'data-color': color = 'neutral', className, ...rest }, ref) {
|
|
17
18
|
const Component = asChild ? Slot : 'div';
|
|
18
|
-
|
|
19
|
+
const cardRef = useRef(null);
|
|
20
|
+
const mergedRefs = useMergeRefs([cardRef, ref]);
|
|
21
|
+
// Forward click on card to heading links for better accessibility
|
|
22
|
+
// https://adrianroselli.com/2020/02/block-links-cards-clickable-regions-etc.html
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
const card = cardRef.current;
|
|
25
|
+
const handleClick = ({ ctrlKey, metaKey, target }) => {
|
|
26
|
+
const link = card?.querySelector(':is(h1,h2,h3,h4,h5,h6) a');
|
|
27
|
+
if (!link || link?.contains(target))
|
|
28
|
+
return; // Let links handle their own clicks
|
|
29
|
+
if (ctrlKey || metaKey)
|
|
30
|
+
window.open(link.href, '', 'noreferrer');
|
|
31
|
+
else
|
|
32
|
+
link.click(); // Using link.click instead of window.location.href as this will trigger the browser's handling of rel=, target=, etc.
|
|
33
|
+
};
|
|
34
|
+
card?.addEventListener('click', handleClick);
|
|
35
|
+
return () => card?.removeEventListener('click', handleClick);
|
|
36
|
+
}, []);
|
|
37
|
+
return (jsx(Component, { className: cl(`ds-card`, className), "data-color": color, ref: mergedRefs, ...rest }));
|
|
19
38
|
});
|
|
20
|
-
Card.displayName = 'Card';
|
|
21
39
|
|
|
22
40
|
export { Card };
|
|
@@ -4,10 +4,9 @@ import { Slot } from '@radix-ui/react-slot';
|
|
|
4
4
|
import cl from 'clsx/lite';
|
|
5
5
|
import { forwardRef } from 'react';
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const CardBlock = forwardRef(function CardBlock({ asChild, className, ...rest }, ref) {
|
|
8
8
|
const Component = asChild ? Slot : 'div';
|
|
9
|
-
return (jsx(Component, { className: cl(`ds-
|
|
9
|
+
return (jsx(Component, { className: cl(`ds-card__block`, className), ref: ref, ...rest }));
|
|
10
10
|
});
|
|
11
|
-
CardMedia.displayName = 'CardMedia';
|
|
12
11
|
|
|
13
|
-
export {
|
|
12
|
+
export { CardBlock };
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { Card as Card$1 } from './Card.js';
|
|
3
|
-
import {
|
|
4
|
-
import { CardFooter } from './CardFooter.js';
|
|
5
|
-
import { CardHeader } from './CardHeader.js';
|
|
6
|
-
import { CardMedia } from './CardMedia.js';
|
|
3
|
+
import { CardBlock } from './CardBlock.js';
|
|
7
4
|
|
|
8
|
-
const Card = Card$1
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Card.
|
|
12
|
-
Card.Media = CardMedia;
|
|
13
|
-
Card.Header.displayName = 'Card.Header';
|
|
14
|
-
Card.Content.displayName = 'Card.Content';
|
|
15
|
-
Card.Footer.displayName = 'Card.Footer';
|
|
16
|
-
Card.Media.displayName = 'Card.Media';
|
|
5
|
+
const Card = Object.assign(Card$1, {
|
|
6
|
+
Block: CardBlock,
|
|
7
|
+
});
|
|
8
|
+
Card.Block.displayName = 'Card.Block';
|
|
17
9
|
|
|
18
|
-
export { Card,
|
|
10
|
+
export { Card, CardBlock };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { Slottable, Slot } from '@radix-ui/react-slot';
|
|
4
|
+
import cl from 'clsx/lite';
|
|
5
|
+
import { forwardRef } from 'react';
|
|
6
|
+
import { Input } from '../form/Input/Input.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Chip.Button used for interaction
|
|
10
|
+
* @example
|
|
11
|
+
* <Chip.Button>Click me</Chip.Button>
|
|
12
|
+
*/
|
|
13
|
+
const ChipButton = forwardRef(function ChipButton({ asChild, className, ...rest }, ref) {
|
|
14
|
+
const Component = asChild ? Slot : 'button';
|
|
15
|
+
return (jsx(Component, { className: cl('ds-chip', className), type: asChild ? undefined : 'button', ref: ref, ...rest }));
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Chip.Removable used for interaction
|
|
19
|
+
* @example
|
|
20
|
+
* <Chip.Removable>Click to remove me</Chip.Removable>
|
|
21
|
+
*/
|
|
22
|
+
const ChipRemovable = forwardRef(function ChipRemovable(props, ref) {
|
|
23
|
+
return jsx(ChipButton, { "data-removable": true, ref: ref, ...props });
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Chip.Checkbox used for multiselection
|
|
27
|
+
* @example
|
|
28
|
+
* <Chip.Checkbox name="language" value="nynorsk">Nynorsk</Chip.Checkbox>
|
|
29
|
+
* <Chip.Checkbox name="language" value="bokmål">Bokmål</Chip.Checkbox>
|
|
30
|
+
*/
|
|
31
|
+
const ChipCheckbox = forwardRef(function ChipCheckbox({ asChild, children, className, 'data-size': size, 'data-color': color, ...rest }, ref) {
|
|
32
|
+
const inputType = rest.type ?? 'checkbox';
|
|
33
|
+
const Component = asChild ? Slot : 'label';
|
|
34
|
+
return (jsxs(Component, { className: cl('ds-chip', className), "data-size": size, "data-color": color, ref: ref, children: [jsx(Input, { ...rest, type: inputType }), jsx(Slottable, { children: children })] }));
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Chip.Radio used for single selection
|
|
38
|
+
* @example
|
|
39
|
+
* <Chip.Radio name="language" value="nynorsk">Nynorsk</Chip.Radio>
|
|
40
|
+
* <Chip.Radio name="language" value="bokmål">Bokmål</Chip.Radio>
|
|
41
|
+
*/
|
|
42
|
+
const ChipRadio = forwardRef(function ChipRadio(props, ref) {
|
|
43
|
+
return jsx(ChipCheckbox, { ref, type: 'radio', ...props });
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
export { ChipButton, ChipCheckbox, ChipRadio, ChipRemovable };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import { RemovableChip } from './Removable/Removable.js';
|
|
4
|
-
import { ToggleChip } from './Toggle/Toggle.js';
|
|
2
|
+
import { ChipButton, ChipCheckbox, ChipRadio, ChipRemovable } from './Chips.js';
|
|
5
3
|
|
|
6
4
|
const Chip = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
Button: ChipButton,
|
|
6
|
+
Checkbox: ChipCheckbox,
|
|
7
|
+
Radio: ChipRadio,
|
|
8
|
+
Removable: ChipRemovable,
|
|
10
9
|
};
|
|
11
|
-
Chip.
|
|
10
|
+
Chip.Button.displayName = 'Chip.Button';
|
|
11
|
+
Chip.Checkbox.displayName = 'Chip.Checkbox';
|
|
12
|
+
Chip.Radio.displayName = 'Chip.Radio';
|
|
12
13
|
Chip.Removable.displayName = 'Chip.Removable';
|
|
13
|
-
Chip.Toggle.displayName = 'Chip.Toggle';
|
|
14
14
|
|
|
15
|
-
export { Chip,
|
|
15
|
+
export { Chip, ChipButton, ChipCheckbox, ChipRadio, ChipRemovable };
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import cl from 'clsx/lite';
|
|
4
|
-
import { forwardRef
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
5
|
import { Popover } from '../Popover/index.js';
|
|
6
6
|
|
|
7
|
-
const Dropdown = forwardRef(function
|
|
8
|
-
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
setSize(rest.size || 'md');
|
|
11
|
-
}, [rest.size]);
|
|
12
|
-
return (jsx(DropdownCtx.Provider, { value: {
|
|
13
|
-
size,
|
|
14
|
-
}, children: jsx(Popover, { ref: ref, placement: placement, size: size, className: cl('ds-dropdown', className), ...rest }) }));
|
|
15
|
-
});
|
|
16
|
-
const DropdownCtx = createContext({
|
|
17
|
-
size: 'md',
|
|
7
|
+
const Dropdown = forwardRef(function DropdownContent({ placement = 'bottom-end', className, ...rest }, ref) {
|
|
8
|
+
return (jsx(Popover, { className: cl('ds-dropdown', className), placement: placement, ref: ref, ...rest }));
|
|
18
9
|
});
|
|
19
10
|
|
|
20
|
-
export { Dropdown
|
|
11
|
+
export { Dropdown };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Button } from '../Button/Button.js';
|
|
5
|
+
|
|
6
|
+
const DropdownButton = forwardRef(function DropdownButton({ className, ...rest }, ref) {
|
|
7
|
+
return jsx(Button, { ref: ref, variant: 'tertiary', ...rest });
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export { DropdownButton };
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { DropdownCtx } from './Dropdown.js';
|
|
6
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Heading } from '../Heading/Heading.js';
|
|
7
5
|
|
|
8
|
-
const DropdownHeading = forwardRef(function DropdownHeading({
|
|
9
|
-
|
|
10
|
-
return (jsx(Paragraph, { asChild: true, size: size, children: jsx("h2", { ref: ref, className: cl('ds-dropdown__heading', className), ...rest, children: children }) }));
|
|
6
|
+
const DropdownHeading = forwardRef(function DropdownHeading({ className, ...rest }, ref) {
|
|
7
|
+
return jsx(Heading, { ref: ref, ...rest });
|
|
11
8
|
});
|
|
12
9
|
|
|
13
10
|
export { DropdownHeading };
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { forwardRef
|
|
4
|
-
import { Button } from '../Button/Button.js';
|
|
5
|
-
import { DropdownCtx } from './Dropdown.js';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
6
4
|
|
|
7
|
-
const DropdownItem = forwardRef(function DropdownItem({ className,
|
|
8
|
-
|
|
9
|
-
return (jsx("li", { className: className, style: style, children: jsx(Button, { ref: ref, variant: 'tertiary', size: size, className: 'ds-dropdown__item', ...rest }) }));
|
|
5
|
+
const DropdownItem = forwardRef(function DropdownItem({ className, ...rest }, ref) {
|
|
6
|
+
return jsx("li", { ref: ref, ...rest });
|
|
10
7
|
});
|
|
11
8
|
|
|
12
9
|
export { DropdownItem };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import cl from 'clsx/lite';
|
|
4
3
|
import { forwardRef } from 'react';
|
|
5
4
|
|
|
6
5
|
const DropdownList = forwardRef(function DropdownList({ className, ...rest }, ref) {
|
|
7
|
-
return
|
|
6
|
+
return jsx("ul", { ref: ref, ...rest });
|
|
8
7
|
});
|
|
9
8
|
|
|
10
9
|
export { DropdownList };
|