@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
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef } from 'react';
|
|
6
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
7
|
-
|
|
8
|
-
const CardFooter = forwardRef(({ asChild, className, ...rest }, ref) => {
|
|
9
|
-
const Component = asChild ? Slot : 'div';
|
|
10
|
-
return (jsx(Paragraph, { size: 'md', asChild: true, children: jsx(Component, { className: cl(`ds-card__footer`, className), ref: ref, ...rest }) }));
|
|
11
|
-
});
|
|
12
|
-
CardFooter.displayName = 'CardFooter';
|
|
13
|
-
|
|
14
|
-
export { CardFooter };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef } from 'react';
|
|
6
|
-
import { Heading } from '../Typography/Heading/Heading.js';
|
|
7
|
-
|
|
8
|
-
const CardHeader = forwardRef(({ asChild, className, ...rest }, ref) => {
|
|
9
|
-
const Component = asChild ? Slot : 'div';
|
|
10
|
-
return (jsx(Heading, { size: 'md', asChild: true, children: jsx(Component, { className: cl(`ds-card__header`, className), ref: ref, ...rest }) }));
|
|
11
|
-
});
|
|
12
|
-
CardHeader.displayName = 'CardHeader';
|
|
13
|
-
|
|
14
|
-
export { CardHeader };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import cl from 'clsx/lite';
|
|
4
|
-
import { createContext, forwardRef, Children, isValidElement } from 'react';
|
|
5
|
-
|
|
6
|
-
const ChipGroupContext = createContext(null);
|
|
7
|
-
const Group = forwardRef(({ size = 'md', children, className, ...rest }, ref) => {
|
|
8
|
-
return (jsx("ul", { ref: ref, className: cl(`ds-chip--group-container`, `ds-chip--${size}`, className), ...rest, children: jsx(ChipGroupContext.Provider, { value: { size }, children: Children.toArray(children).map((child, index) => isValidElement(child) ? (jsx("li", { children: child }, `chip-${index}`)) : null) }) }));
|
|
9
|
-
});
|
|
10
|
-
Group.displayName = 'ChipGroup';
|
|
11
|
-
|
|
12
|
-
export { ChipGroupContext, Group };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import { XMarkIcon } from '@navikt/aksel-icons';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef, useContext } from 'react';
|
|
6
|
-
import { ChipGroupContext } from '../Group/Group.js';
|
|
7
|
-
import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
|
|
8
|
-
|
|
9
|
-
const RemovableChip = forwardRef(({ size = 'md', children, className, ...rest }, ref) => {
|
|
10
|
-
const group = useContext(ChipGroupContext);
|
|
11
|
-
return (jsx("button", { type: 'button', ref: ref, className: cl(`ds-focus`, `ds-chip--button`, `ds-chip--removable`, `ds-chip--${group?.size || size}`, className), ...rest, children: jsx(Paragraph, { asChild: true, size: group?.size || size, variant: 'short', children: jsxs("span", { className: `ds-chip__label`, children: [jsx("span", { children: children }), jsx("span", { className: `ds-chip__x-mark`, "aria-hidden": true, children: jsx(XMarkIcon, { className: `ds-chip__icon` }) })] }) }) }));
|
|
12
|
-
});
|
|
13
|
-
RemovableChip.displayName = 'ChipRemovable';
|
|
14
|
-
|
|
15
|
-
export { RemovableChip };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import { CheckmarkIcon } from '@navikt/aksel-icons';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef, useContext } from 'react';
|
|
6
|
-
import { ChipGroupContext } from '../Group/Group.js';
|
|
7
|
-
import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
|
|
8
|
-
|
|
9
|
-
const ToggleChip = forwardRef(({ children, selected = false, checkmark = true, size = 'md', className, ...rest }, ref) => {
|
|
10
|
-
const shouldDisplayCheckmark = checkmark && selected;
|
|
11
|
-
const group = useContext(ChipGroupContext);
|
|
12
|
-
return (jsx("button", { ref: ref, type: 'button', "aria-pressed": selected, className: cl(`ds-focus`, `ds-chip--button`, `ds-chip--${group?.size || size}`, shouldDisplayCheckmark && `ds-chip--spacing`, className), ...rest, children: jsx(Paragraph, { asChild: true, size: group?.size || size, variant: 'short', children: jsxs("span", { className: `ds-chip__label`, children: [shouldDisplayCheckmark && (jsx(CheckmarkIcon, { className: `ds-chip__checkmark-icon`, "aria-hidden": true })), jsx("span", { children: children })] }) }) }));
|
|
13
|
-
});
|
|
14
|
-
ToggleChip.displayName = 'ChipToggle';
|
|
15
|
-
|
|
16
|
-
export { ToggleChip };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import '../Popover/index.js';
|
|
4
|
-
import { PopoverContext } from '../Popover/PopoverContext.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* DropdownContext is the root component for the DropdownMenu component.
|
|
8
|
-
* @example
|
|
9
|
-
* <DropdownMenu.Context>
|
|
10
|
-
* <DropdownMenu.Trigger>Dropdown</DropdownMenu.Trigger>
|
|
11
|
-
* <DropdownMenu>
|
|
12
|
-
* <DropdownMenu.Heading>Heading</DropdownMenu.Heading>
|
|
13
|
-
* <DropdownMenu.List>
|
|
14
|
-
* <DropdownMenu.Item>Button 1</DropdownMenu.Item>
|
|
15
|
-
* </DropdownMenu.List>
|
|
16
|
-
* </DropdownMenu>
|
|
17
|
-
* </DropdownMenu.Context>
|
|
18
|
-
*/
|
|
19
|
-
const DropdownContext = ({ children }) => {
|
|
20
|
-
return jsx(PopoverContext, { children: children });
|
|
21
|
-
};
|
|
22
|
-
DropdownContext.displayName = 'DropdownContext';
|
|
23
|
-
|
|
24
|
-
export { DropdownContext };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef } from 'react';
|
|
6
|
-
|
|
7
|
-
const ModalContent = forwardRef(({ asChild, className, ...rest }, ref) => {
|
|
8
|
-
const Component = asChild ? Slot : 'div';
|
|
9
|
-
return (jsx(Component, { ref: ref, className: cl('ds-modal__content', className), ...rest }));
|
|
10
|
-
});
|
|
11
|
-
ModalContent.displayName = 'ModalContent';
|
|
12
|
-
|
|
13
|
-
export { ModalContent };
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { useMergeRefs } from '@floating-ui/react';
|
|
4
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
5
|
-
import cl from 'clsx/lite';
|
|
6
|
-
import { forwardRef, useRef, useContext, useEffect } from 'react';
|
|
7
|
-
import { ModalContext } from './ModalRoot.js';
|
|
8
|
-
import { useModalState } from './useModalState.js';
|
|
9
|
-
import { useScrollLock } from './useScrollLock.js';
|
|
10
|
-
|
|
11
|
-
const ModalDialog = forwardRef(({ onInteractOutside, onClose, onBeforeClose, asChild, className, children, ...rest }, ref) => {
|
|
12
|
-
const Component = asChild ? Slot : 'dialog';
|
|
13
|
-
// This local ref is used to make sure the modal works without a ModalRoot
|
|
14
|
-
const modalDialogRef = useRef(null);
|
|
15
|
-
const { modalRef, setOpen, setCloseModal } = useContext(ModalContext);
|
|
16
|
-
const open = useModalState(modalDialogRef);
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
setCloseModal?.(() => {
|
|
19
|
-
if (onBeforeClose && onBeforeClose() === false)
|
|
20
|
-
return;
|
|
21
|
-
modalDialogRef.current?.close();
|
|
22
|
-
});
|
|
23
|
-
}, [onBeforeClose, setCloseModal]);
|
|
24
|
-
const mergedRefs = useMergeRefs([modalRef, ref, modalDialogRef]);
|
|
25
|
-
useScrollLock(modalDialogRef, 'ds-modal--lock-scroll');
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
setOpen(open);
|
|
28
|
-
}, [open, setOpen]);
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
const modalEl = modalRef.current;
|
|
31
|
-
const handleBackdropClick = (e) => {
|
|
32
|
-
if (e.target === modalEl && onInteractOutside) {
|
|
33
|
-
// Fix bug where if you select text spanning two divs it thinks you clicked outside
|
|
34
|
-
if (window.getSelection()?.toString())
|
|
35
|
-
return;
|
|
36
|
-
onInteractOutside?.();
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
if (modalEl)
|
|
40
|
-
modalEl.addEventListener('click', handleBackdropClick);
|
|
41
|
-
return () => {
|
|
42
|
-
if (modalEl) {
|
|
43
|
-
modalEl.removeEventListener('click', handleBackdropClick);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}, [onInteractOutside, modalRef, onBeforeClose, ref]);
|
|
47
|
-
useEffect(() => {
|
|
48
|
-
const modalEl = modalRef.current;
|
|
49
|
-
const handleModalClose = () => {
|
|
50
|
-
onClose?.();
|
|
51
|
-
};
|
|
52
|
-
if (modalEl)
|
|
53
|
-
modalEl.addEventListener('close', handleModalClose);
|
|
54
|
-
return () => {
|
|
55
|
-
if (modalEl) {
|
|
56
|
-
modalEl.removeEventListener('close', handleModalClose);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
}, [modalRef, onClose]);
|
|
60
|
-
const onCancel = (e) => {
|
|
61
|
-
if (onBeforeClose && onBeforeClose() === false) {
|
|
62
|
-
e.preventDefault();
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
modalRef.current?.close();
|
|
66
|
-
};
|
|
67
|
-
return (jsx(Component, { ref: mergedRefs, className: cl('ds-modal', className), onCancel: onCancel, ...rest, children: children }));
|
|
68
|
-
});
|
|
69
|
-
ModalDialog.displayName = 'ModalDialog';
|
|
70
|
-
|
|
71
|
-
export { ModalDialog };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef } from 'react';
|
|
6
|
-
|
|
7
|
-
const ModalFooter = forwardRef(({ asChild, className, ...rest }, ref) => {
|
|
8
|
-
const Component = asChild ? Slot : 'footer';
|
|
9
|
-
return (jsx(Component, { ref: ref, className: cl('ds-modal__footer', className), ...rest }));
|
|
10
|
-
});
|
|
11
|
-
ModalFooter.displayName = 'ModalFooter';
|
|
12
|
-
|
|
13
|
-
export { ModalFooter };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef, useContext } from 'react';
|
|
6
|
-
import { Button } from '../Button/Button.js';
|
|
7
|
-
import { ModalContext } from './ModalRoot.js';
|
|
8
|
-
import { Heading } from '../Typography/Heading/Heading.js';
|
|
9
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
10
|
-
|
|
11
|
-
const ModalHeader = forwardRef(({ closeButton = true, closeButtonTitle = 'close modal', children, subtitle, asChild, className, ...rest }, ref) => {
|
|
12
|
-
const Component = asChild ? Slot : 'div';
|
|
13
|
-
const { closeModal } = useContext(ModalContext);
|
|
14
|
-
return (jsxs(Component, { ref: ref, className: cl('ds-modal__header', className), ...rest, children: [subtitle && (jsx(Paragraph, { size: 'sm', variant: 'short', children: subtitle })), jsx(Heading, { level: 2, size: 'xs', children: children }), closeButton && (jsx(Button, { name: 'close', variant: 'tertiary', color: 'neutral', size: 'md', onClick: () => closeModal?.(), autoFocus: true, icon: true, className: 'ds-modal__header__button', title: closeButtonTitle }))] }));
|
|
15
|
-
});
|
|
16
|
-
ModalHeader.displayName = 'ModalHeader';
|
|
17
|
-
|
|
18
|
-
export { ModalHeader };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { createContext, useRef, useState, useCallback } from 'react';
|
|
4
|
-
|
|
5
|
-
const ModalContext = createContext({
|
|
6
|
-
setCloseModal: () => { },
|
|
7
|
-
modalRef: { current: null },
|
|
8
|
-
open: false,
|
|
9
|
-
setOpen: () => { },
|
|
10
|
-
});
|
|
11
|
-
const ModalRoot = ({ children }) => {
|
|
12
|
-
const modalRef = useRef(null);
|
|
13
|
-
const [open, setOpen] = useState(false);
|
|
14
|
-
const [closeModal, setCloseModal] = useState();
|
|
15
|
-
const setCloseModalInContext = useCallback((fn) => {
|
|
16
|
-
setCloseModal(() => fn);
|
|
17
|
-
}, []);
|
|
18
|
-
return (jsx(ModalContext.Provider, { value: {
|
|
19
|
-
setCloseModal: setCloseModalInContext,
|
|
20
|
-
closeModal,
|
|
21
|
-
modalRef,
|
|
22
|
-
open,
|
|
23
|
-
setOpen,
|
|
24
|
-
}, children: children }));
|
|
25
|
-
};
|
|
26
|
-
ModalRoot.displayName = 'ModalRoot';
|
|
27
|
-
|
|
28
|
-
export { ModalContext, ModalRoot };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
|
|
4
|
-
const useModalState = (modalRef) => {
|
|
5
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
if (!modalRef?.current)
|
|
8
|
-
return;
|
|
9
|
-
if (modalRef.current?.open)
|
|
10
|
-
setIsOpen(true);
|
|
11
|
-
const observer = new MutationObserver(() => {
|
|
12
|
-
if (modalRef.current?.open)
|
|
13
|
-
setIsOpen(true);
|
|
14
|
-
else
|
|
15
|
-
setIsOpen(false);
|
|
16
|
-
});
|
|
17
|
-
observer.observe(modalRef.current, {
|
|
18
|
-
attributes: true,
|
|
19
|
-
attributeFilter: ['open'],
|
|
20
|
-
});
|
|
21
|
-
return () => {
|
|
22
|
-
observer.disconnect();
|
|
23
|
-
};
|
|
24
|
-
}, [modalRef]);
|
|
25
|
-
return isOpen;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export { useModalState };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useEffect } from 'react';
|
|
3
|
-
|
|
4
|
-
function useScrollLock(modalRef, bodyClass) {
|
|
5
|
-
useEffect(() => {
|
|
6
|
-
if (!modalRef.current)
|
|
7
|
-
return;
|
|
8
|
-
if (modalRef.current.open)
|
|
9
|
-
document.body.classList.add(bodyClass);
|
|
10
|
-
const observer = new MutationObserver(() => {
|
|
11
|
-
if (modalRef.current?.open)
|
|
12
|
-
document.body.classList.add(bodyClass);
|
|
13
|
-
else
|
|
14
|
-
document.body.classList.remove(bodyClass);
|
|
15
|
-
});
|
|
16
|
-
observer.observe(modalRef.current, {
|
|
17
|
-
attributes: true,
|
|
18
|
-
attributeFilter: ['open'],
|
|
19
|
-
});
|
|
20
|
-
return () => {
|
|
21
|
-
observer.disconnect();
|
|
22
|
-
document.body.classList.remove(bodyClass);
|
|
23
|
-
};
|
|
24
|
-
}, [bodyClass, modalRef]);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export { useScrollLock };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import cl from 'clsx/lite';
|
|
4
|
-
import { forwardRef, useContext } from 'react';
|
|
5
|
-
import { PaginationContext } from './PaginationRoot.js';
|
|
6
|
-
import { Paragraph } from '../Typography/Paragraph/Paragraph.js';
|
|
7
|
-
|
|
8
|
-
const PaginationEllipsis = forwardRef(function PaginationEllipsis({ className, ...rest }, ref) {
|
|
9
|
-
const { size } = useContext(PaginationContext);
|
|
10
|
-
return (jsx(Paragraph, { ref: ref, className: cl('ds-pagination__ellipsis', className), size: size, ...rest, children: "\u2026" }));
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
export { PaginationEllipsis };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { forwardRef } from 'react';
|
|
4
|
-
import { PaginationButton } from './PaginationButton.js';
|
|
5
|
-
|
|
6
|
-
const PaginationNext = forwardRef(function PaginationNext({ ...rest }, ref) {
|
|
7
|
-
return (jsx(PaginationButton, { "aria-label": rest.children != null ? undefined : 'Neste side', ref: ref, ...rest }));
|
|
8
|
-
});
|
|
9
|
-
const PaginationPrevious = forwardRef(function PaginationPrevious({ ...rest }, ref) {
|
|
10
|
-
return (jsx(PaginationButton, { "aria-label": rest.children != null ? undefined : 'Forrige side', ref: ref, ...rest }));
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
export { PaginationNext, PaginationPrevious };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import { createContext, forwardRef } from 'react';
|
|
5
|
-
|
|
6
|
-
const PaginationContext = createContext({
|
|
7
|
-
size: 'md',
|
|
8
|
-
compact: false,
|
|
9
|
-
});
|
|
10
|
-
const PaginationRoot = forwardRef(function PaginationRoot({ 'aria-label': ariaLabel = 'Sidenavigering', asChild, compact = false, size = 'md', ...rest }, ref) {
|
|
11
|
-
const Component = asChild ? Slot : 'nav';
|
|
12
|
-
return (jsx(PaginationContext.Provider, { value: { size, compact }, children: jsx(Component, { "aria-label": ariaLabel, ref: ref, ...rest }) }));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
export { PaginationContext, PaginationRoot };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef } from 'react';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Use `Heading` to render h1-6 elements with heading text styles.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* <Heading size='lg' level={2}>Heading</Heading>
|
|
12
|
-
*/
|
|
13
|
-
const Heading = forwardRef(({ size = 'xl', level = 2, spacing = false, className, asChild, ...rest }, ref) => {
|
|
14
|
-
const Component = asChild ? Slot : `h${level}`;
|
|
15
|
-
return (jsx(Component, { ref: ref, className: cl('ds-heading', `ds-heading--${size}`, spacing && 'ds-heading--spacing', className), ...rest }));
|
|
16
|
-
});
|
|
17
|
-
Heading.displayName = 'Heading';
|
|
18
|
-
|
|
19
|
-
export { Heading };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef } from 'react';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Use `Ingress` to display text as ingress.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* <Ingress size='lg'>Ingress</Ingress>
|
|
12
|
-
*/
|
|
13
|
-
const Ingress = forwardRef(({ size = 'md', className, spacing, asChild, ...rest }, ref) => {
|
|
14
|
-
const Component = asChild ? Slot : 'p';
|
|
15
|
-
return (jsx(Component, { ref: ref, className: cl(`ds-ingress`, `ds-ingress--${size}`, spacing && 'ds-ingress--spacing', className), ...rest }));
|
|
16
|
-
});
|
|
17
|
-
Ingress.displayName = 'Ingress';
|
|
18
|
-
|
|
19
|
-
export { Ingress };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import cl from 'clsx/lite';
|
|
5
|
-
import { forwardRef } from 'react';
|
|
6
|
-
|
|
7
|
-
const lineHeightMap = {
|
|
8
|
-
short: 'ds-line-height--sm',
|
|
9
|
-
default: 'ds-line-height--md',
|
|
10
|
-
long: 'ds-line-height--lg',
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Use `Paragraph` to display text with paragraph text styles.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* <Paragraph size='lg'>Paragraph</Paragraph>
|
|
17
|
-
*/
|
|
18
|
-
const Paragraph = forwardRef(({ className, spacing, size = 'md', asChild, variant, ...rest }, ref) => {
|
|
19
|
-
const Component = asChild ? Slot : 'p';
|
|
20
|
-
return (jsx(Component, { ref: ref, className: cl('ds-paragraph', spacing && 'ds-paragraph--spacing', `ds-paragraph--${size}`, lineHeightMap[variant ?? 'default'], className), ...rest }));
|
|
21
|
-
});
|
|
22
|
-
Paragraph.displayName = 'Paragraph';
|
|
23
|
-
|
|
24
|
-
export { Paragraph };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { ValidationMessage } from '../Typography/ValidationMessage/ValidationMessage.js';
|
|
4
|
-
|
|
5
|
-
const defaultLabel = (count) => count > -1 ? `${count} tegn igjen` : `${Math.abs(count)} tegn for mye`;
|
|
6
|
-
const defaultSrLabel = (maxCount) => `Tekstfelt med plass til ${maxCount} tegn`;
|
|
7
|
-
const CharacterCounter = ({ label = defaultLabel, srLabel: propsSrLabel, maxCount, value, id, size, }) => {
|
|
8
|
-
const currentCount = maxCount - value.length;
|
|
9
|
-
const hasExceededLimit = value.length > maxCount;
|
|
10
|
-
const srLabel = propsSrLabel ? propsSrLabel : defaultSrLabel(maxCount);
|
|
11
|
-
return (jsxs(Fragment, { children: [jsx("span", { className: `ds-sr-only`, id: id, children: srLabel }), jsx(ValidationMessage, { asChild: true, size: size, error: hasExceededLimit, children: jsx("span", { "aria-live": hasExceededLimit ? 'polite' : 'off', children: label(currentCount) }) })] }));
|
|
12
|
-
};
|
|
13
|
-
CharacterCounter.displayName = 'CharacterCounter';
|
|
14
|
-
|
|
15
|
-
export { CharacterCounter };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import cl from 'clsx/lite';
|
|
4
|
-
import { createContext, forwardRef, useState } from 'react';
|
|
5
|
-
import { Fieldset } from '../Fieldset/Fieldset.js';
|
|
6
|
-
|
|
7
|
-
const CheckboxGroupContext = createContext(null);
|
|
8
|
-
const CheckboxGroup = forwardRef(({ onChange, children, value, readOnly, defaultValue, size = 'md', ...rest }, ref) => {
|
|
9
|
-
const [internalValue, setInternalValue] = useState(defaultValue ?? []);
|
|
10
|
-
const toggleValue = (checkboxValue) => {
|
|
11
|
-
const currentValue = value ?? internalValue;
|
|
12
|
-
const updatedValue = currentValue.includes(checkboxValue)
|
|
13
|
-
? currentValue.filter((x) => x !== checkboxValue)
|
|
14
|
-
: [...currentValue, checkboxValue];
|
|
15
|
-
if (typeof value !== 'undefined' || value !== null) {
|
|
16
|
-
setInternalValue(updatedValue);
|
|
17
|
-
}
|
|
18
|
-
onChange?.(updatedValue);
|
|
19
|
-
};
|
|
20
|
-
return (jsx(Fieldset, { readOnly: readOnly, size: size, ref: ref, ...rest, children: jsx(CheckboxGroupContext.Provider, { value: {
|
|
21
|
-
value,
|
|
22
|
-
defaultValue,
|
|
23
|
-
toggleValue,
|
|
24
|
-
}, children: jsx("div", { className: cl('ds-checkbox__group', `ds-checkbox__group--${size}`), children: children }) }) }));
|
|
25
|
-
});
|
|
26
|
-
CheckboxGroup.displayName = 'CheckboxGroup';
|
|
27
|
-
|
|
28
|
-
export { CheckboxGroup, CheckboxGroupContext };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { Checkbox as Checkbox$1 } from './Checkbox.js';
|
|
3
|
-
import { CheckboxGroup } from './CheckboxGroup.js';
|
|
4
|
-
|
|
5
|
-
/** `<input> element with `type="checkbox"` used for selecting one option */
|
|
6
|
-
const Checkbox = Checkbox$1;
|
|
7
|
-
Checkbox.Group = CheckboxGroup;
|
|
8
|
-
Checkbox.Group.displayName = 'Checkbox.Group';
|
|
9
|
-
|
|
10
|
-
export { Checkbox, CheckboxGroup };
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useContext } from 'react';
|
|
3
|
-
import { useFormField } from '../useFormField.js';
|
|
4
|
-
import { CheckboxGroupContext } from './CheckboxGroup.js';
|
|
5
|
-
|
|
6
|
-
/** Handles props for `Checkbox` in context with `Checkbox.Group` (and `Fieldset`) */
|
|
7
|
-
const useCheckbox = (props) => {
|
|
8
|
-
const checkboxGroup = useContext(CheckboxGroupContext);
|
|
9
|
-
const { inputProps, readOnly, ...rest } = useFormField(props, 'checkbox');
|
|
10
|
-
return {
|
|
11
|
-
...rest,
|
|
12
|
-
readOnly,
|
|
13
|
-
inputProps: {
|
|
14
|
-
...inputProps,
|
|
15
|
-
readOnly,
|
|
16
|
-
type: 'checkbox',
|
|
17
|
-
defaultChecked: checkboxGroup?.defaultValue
|
|
18
|
-
? checkboxGroup?.defaultValue.includes(props.value)
|
|
19
|
-
: props.defaultChecked,
|
|
20
|
-
checked: checkboxGroup?.value
|
|
21
|
-
? checkboxGroup?.value.includes(props.value)
|
|
22
|
-
: props.checked,
|
|
23
|
-
onClick: (e) => {
|
|
24
|
-
if (readOnly) {
|
|
25
|
-
e.preventDefault();
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
props?.onClick?.(e);
|
|
29
|
-
},
|
|
30
|
-
onChange: (e) => {
|
|
31
|
-
if (readOnly) {
|
|
32
|
-
e.preventDefault();
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
props?.onChange?.(e);
|
|
36
|
-
checkboxGroup?.toggleValue(props.value);
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export { useCheckbox };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import cl from 'clsx/lite';
|
|
4
|
-
import { createContext, forwardRef, useId } from 'react';
|
|
5
|
-
import { Fieldset } from '../Fieldset/Fieldset.js';
|
|
6
|
-
|
|
7
|
-
const RadioGroupContext = createContext(null);
|
|
8
|
-
const RadioGroup = forwardRef(({ onChange, children, value, readOnly, defaultValue, name, size = 'md', required, inline, className, ...rest }, ref) => {
|
|
9
|
-
const nameId = useId();
|
|
10
|
-
return (jsx(Fieldset, { readOnly: readOnly, size: size, className: className, ref: ref, ...rest, children: jsx(RadioGroupContext.Provider, { value: {
|
|
11
|
-
value,
|
|
12
|
-
defaultValue,
|
|
13
|
-
name: name ?? `radiogroup-name-${nameId}`,
|
|
14
|
-
onChange,
|
|
15
|
-
required,
|
|
16
|
-
}, children: jsx("div", { className: cl('ds-radio__group', `ds-radio__group--${size}`, inline && 'ds-radio__group--horizontal'), children: children }) }) }));
|
|
17
|
-
});
|
|
18
|
-
RadioGroup.displayName = 'RadioGroup';
|
|
19
|
-
|
|
20
|
-
export { RadioGroup, RadioGroupContext };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { Radio as Radio$1 } from './Radio.js';
|
|
3
|
-
import { RadioGroup } from './RadioGroup.js';
|
|
4
|
-
|
|
5
|
-
/** `<input> element with `type="radio"` used for selecting one option */
|
|
6
|
-
const Radio = Radio$1;
|
|
7
|
-
Radio.Group = RadioGroup;
|
|
8
|
-
Radio.Group.displayName = 'Radio.Group';
|
|
9
|
-
|
|
10
|
-
export { Radio, RadioGroup };
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useContext } from 'react';
|
|
3
|
-
import { useFormField } from '../useFormField.js';
|
|
4
|
-
import { RadioGroupContext } from './RadioGroup.js';
|
|
5
|
-
|
|
6
|
-
/** Handles props for `Radio` in context with `Radio.Group` (and `Fieldset`) */
|
|
7
|
-
const useRadio = (props) => {
|
|
8
|
-
const radioGroup = useContext(RadioGroupContext);
|
|
9
|
-
const { inputProps, readOnly, ...rest } = useFormField(props, 'radio');
|
|
10
|
-
return {
|
|
11
|
-
...rest,
|
|
12
|
-
readOnly,
|
|
13
|
-
inputProps: {
|
|
14
|
-
...inputProps,
|
|
15
|
-
readOnly,
|
|
16
|
-
type: 'radio',
|
|
17
|
-
name: radioGroup?.name ?? props.name,
|
|
18
|
-
required: radioGroup?.required,
|
|
19
|
-
defaultChecked: radioGroup?.defaultValue
|
|
20
|
-
? radioGroup?.defaultValue === props.value
|
|
21
|
-
: props.defaultChecked,
|
|
22
|
-
checked: radioGroup?.value
|
|
23
|
-
? radioGroup?.value === props.value
|
|
24
|
-
: props.checked,
|
|
25
|
-
onClick: (e) => {
|
|
26
|
-
if (readOnly) {
|
|
27
|
-
e.preventDefault();
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
props?.onClick?.(e);
|
|
31
|
-
},
|
|
32
|
-
onChange: (e) => {
|
|
33
|
-
if (readOnly) {
|
|
34
|
-
e.preventDefault();
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
props?.onChange?.(e);
|
|
38
|
-
radioGroup?.onChange?.(props.value);
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export { useRadio };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useContext } from 'react';
|
|
3
|
-
import { FieldsetContext } from '../Fieldset/FieldsetContext.js';
|
|
4
|
-
import { useFormField } from '../useFormField.js';
|
|
5
|
-
|
|
6
|
-
/** Handles props for `Search` in context with `Fieldset` */
|
|
7
|
-
const useSearch = (props) => {
|
|
8
|
-
const fieldset = useContext(FieldsetContext);
|
|
9
|
-
const { inputProps, readOnly, size = fieldset?.size ?? 'md', ...rest } = useFormField(props, 'search');
|
|
10
|
-
return {
|
|
11
|
-
...rest,
|
|
12
|
-
readOnly,
|
|
13
|
-
size,
|
|
14
|
-
inputProps: {
|
|
15
|
-
...inputProps,
|
|
16
|
-
type: 'search',
|
|
17
|
-
name: props.name ?? 'q',
|
|
18
|
-
readOnly,
|
|
19
|
-
onClick: (e) => {
|
|
20
|
-
if (readOnly) {
|
|
21
|
-
e.preventDefault();
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
props?.onClick?.(e);
|
|
25
|
-
},
|
|
26
|
-
onChange: (e) => {
|
|
27
|
-
if (readOnly) {
|
|
28
|
-
e.preventDefault();
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
props?.onChange?.(e);
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { useSearch };
|