@digdir/designsystemet-react 0.52.0-alpha.0
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/LICENSE +7 -0
- package/README.md +12 -0
- package/dist/cjs/components/Accordion/Accordion.js +14 -0
- package/dist/cjs/components/Accordion/Accordion.module.css.js +6 -0
- package/dist/cjs/components/Accordion/AccordionContent/AccordionContent.js +22 -0
- package/dist/cjs/components/Accordion/AccordionHeader/AccordionHeader.js +28 -0
- package/dist/cjs/components/Accordion/AccordionItem/AccordionItem.js +28 -0
- package/dist/cjs/components/Accordion/index.js +20 -0
- package/dist/cjs/components/Alert/Alert.js +28 -0
- package/dist/cjs/components/Box/Box.js +16 -0
- package/dist/cjs/components/Box/Box.module.css.js +6 -0
- package/dist/cjs/components/Button/Button.js +20 -0
- package/dist/cjs/components/Button/Button.module.css.js +6 -0
- package/dist/cjs/components/Card/Card.js +17 -0
- package/dist/cjs/components/Card/Card.module.css.js +6 -0
- package/dist/cjs/components/Card/CardContent.js +16 -0
- package/dist/cjs/components/Card/CardFooter.js +16 -0
- package/dist/cjs/components/Card/CardHeader.js +16 -0
- package/dist/cjs/components/Card/CardMedia.js +16 -0
- package/dist/cjs/components/Card/index.js +24 -0
- package/dist/cjs/components/Chip/Chip.module.css.js +6 -0
- package/dist/cjs/components/Chip/Group/Group.js +14 -0
- package/dist/cjs/components/Chip/Removable/Removable.js +19 -0
- package/dist/cjs/components/Chip/Toggle/Toggle.js +20 -0
- package/dist/cjs/components/Chip/index.js +20 -0
- package/dist/cjs/components/Divider/Divider.js +15 -0
- package/dist/cjs/components/Divider/Divider.module.css.js +6 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.js +37 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenu.module.css.js +6 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenuContent.js +75 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.js +18 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.module.css.js +6 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.js +16 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.module.css.js +6 -0
- package/dist/cjs/components/DropdownMenu/DropdownMenuTrigger.js +20 -0
- package/dist/cjs/components/DropdownMenu/index.js +24 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummary.module.css.js +6 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummaryHeading.js +20 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummaryItem.js +13 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummaryList.js +12 -0
- package/dist/cjs/components/ErrorSummary/ErrorSummaryRoot.js +23 -0
- package/dist/cjs/components/ErrorSummary/index.js +23 -0
- package/dist/cjs/components/HelpText/HelpText.js +18 -0
- package/dist/cjs/components/HelpText/HelpText.module.css.js +6 -0
- package/dist/cjs/components/HelpText/HelpTextIcon.js +14 -0
- package/dist/cjs/components/Link/Link.js +16 -0
- package/dist/cjs/components/Link/Link.module.css.js +6 -0
- package/dist/cjs/components/List/List.module.css.js +6 -0
- package/dist/cjs/components/List/ListHeading.js +28 -0
- package/dist/cjs/components/List/ListItem.js +16 -0
- package/dist/cjs/components/List/ListRoot.js +21 -0
- package/dist/cjs/components/List/Lists.js +26 -0
- package/dist/cjs/components/List/index.js +26 -0
- package/dist/cjs/components/Modal/Modal.module.css.js +6 -0
- package/dist/cjs/components/Modal/ModalContent/ModaContent.js +16 -0
- package/dist/cjs/components/Modal/ModalContent/ModalContent.module.css.js +6 -0
- package/dist/cjs/components/Modal/ModalDialog.js +74 -0
- package/dist/cjs/components/Modal/ModalFooter/ModalFooter.js +16 -0
- package/dist/cjs/components/Modal/ModalFooter/ModalFooter.module.css.js +6 -0
- package/dist/cjs/components/Modal/ModalHeader/ModalHeader.js +22 -0
- package/dist/cjs/components/Modal/ModalHeader/ModalHeader.module.css.js +6 -0
- package/dist/cjs/components/Modal/ModalRoot.js +25 -0
- package/dist/cjs/components/Modal/ModalTrigger/ModalTrigger.js +15 -0
- package/dist/cjs/components/Modal/index.js +30 -0
- package/dist/cjs/components/Modal/useModalState.js +30 -0
- package/dist/cjs/components/Modal/useScrollLock.js +29 -0
- package/dist/cjs/components/Pagination/Pagination.js +35 -0
- package/dist/cjs/components/Pagination/Pagination.module.css.js +6 -0
- package/dist/cjs/components/Pagination/PaginationButton.js +14 -0
- package/dist/cjs/components/Pagination/PaginationContent.js +17 -0
- package/dist/cjs/components/Pagination/PaginationEllipsis.js +20 -0
- package/dist/cjs/components/Pagination/PaginationItem.js +21 -0
- package/dist/cjs/components/Pagination/PaginationNextPrev.js +16 -0
- package/dist/cjs/components/Pagination/PaginationRoot.js +22 -0
- package/dist/cjs/components/Pagination/index.js +35 -0
- package/dist/cjs/components/Pagination/usePagination.js +65 -0
- package/dist/cjs/components/Popover/Popover.js +68 -0
- package/dist/cjs/components/Popover/Popover.module.css.js +6 -0
- package/dist/cjs/components/Popover/PopoverContent.js +107 -0
- package/dist/cjs/components/Popover/PopoverTrigger.js +23 -0
- package/dist/cjs/components/Popover/index.js +16 -0
- package/dist/cjs/components/Skeleton/Circle/Circle.js +16 -0
- package/dist/cjs/components/Skeleton/Rectangle/Rectangle.js +18 -0
- package/dist/cjs/components/Skeleton/Skeleton.module.css.js +6 -0
- package/dist/cjs/components/Skeleton/Text/Text.js +18 -0
- package/dist/cjs/components/Skeleton/index.js +20 -0
- package/dist/cjs/components/SkipLink/SkipLink.js +14 -0
- package/dist/cjs/components/SkipLink/SkipLink.module.css.js +6 -0
- package/dist/cjs/components/Spinner/Spinner.js +25 -0
- package/dist/cjs/components/Spinner/Spinner.module.css.js +6 -0
- package/dist/cjs/components/Table/Table.js +34 -0
- package/dist/cjs/components/Table/Table.module.css.js +6 -0
- package/dist/cjs/components/Table/TableBody.js +31 -0
- package/dist/cjs/components/Table/TableCell.js +33 -0
- package/dist/cjs/components/Table/TableHead.js +33 -0
- package/dist/cjs/components/Table/TableHeaderCell.js +40 -0
- package/dist/cjs/components/Table/TableRow.js +33 -0
- package/dist/cjs/components/Table/index.js +29 -0
- package/dist/cjs/components/Tabs/Tab/Tab.js +18 -0
- package/dist/cjs/components/Tabs/Tab/Tab.module.css.js +6 -0
- package/dist/cjs/components/Tabs/Tab/useTab.js +26 -0
- package/dist/cjs/components/Tabs/TabContent/TabContent.js +18 -0
- package/dist/cjs/components/Tabs/TabContent/TabContent.module.css.js +6 -0
- package/dist/cjs/components/Tabs/TabList/TabList.js +15 -0
- package/dist/cjs/components/Tabs/TabList/TabList.module.css.js +6 -0
- package/dist/cjs/components/Tabs/Tabs.js +29 -0
- package/dist/cjs/components/Tabs/index.js +20 -0
- package/dist/cjs/components/Tag/Tag.js +15 -0
- package/dist/cjs/components/Tag/Tag.module.css.js +6 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroup.js +44 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroup.module.css.js +6 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +19 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.module.css.js +6 -0
- package/dist/cjs/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.js +31 -0
- package/dist/cjs/components/ToggleGroup/index.js +12 -0
- package/dist/cjs/components/Tooltip/Tooltip.js +89 -0
- package/dist/cjs/components/Tooltip/Tooltip.module.css.js +6 -0
- package/dist/cjs/components/Typography/ErrorMessage/ErrorMessage.js +19 -0
- package/dist/cjs/components/Typography/ErrorMessage/ErrorMessage.module.css.js +6 -0
- package/dist/cjs/components/Typography/Heading/Heading.js +21 -0
- package/dist/cjs/components/Typography/Heading/Heading.module.css.js +6 -0
- package/dist/cjs/components/Typography/Ingress/Ingress.js +19 -0
- package/dist/cjs/components/Typography/Ingress/Ingress.module.css.js +6 -0
- package/dist/cjs/components/Typography/Label/Label.js +22 -0
- package/dist/cjs/components/Typography/Label/Label.module.css.js +6 -0
- package/dist/cjs/components/Typography/Paragraph/Paragraph.js +20 -0
- package/dist/cjs/components/Typography/Paragraph/Paragraph.module.css.js +6 -0
- package/dist/cjs/components/form/CharacterCounter.js +18 -0
- package/dist/cjs/components/form/Checkbox/Checkbox.js +29 -0
- package/dist/cjs/components/form/Checkbox/Checkbox.module.css.js +6 -0
- package/dist/cjs/components/form/Checkbox/Group/Group.js +30 -0
- package/dist/cjs/components/form/Checkbox/index.js +13 -0
- package/dist/cjs/components/form/Checkbox/useCheckbox.js +44 -0
- package/dist/cjs/components/form/Combobox/Combobox.js +304 -0
- package/dist/cjs/components/form/Combobox/Combobox.module.css.js +6 -0
- package/dist/cjs/components/form/Combobox/Custom/Custom.js +35 -0
- package/dist/cjs/components/form/Combobox/Custom/Custom.module.css.js +6 -0
- package/dist/cjs/components/form/Combobox/Empty/Empty.js +23 -0
- package/dist/cjs/components/form/Combobox/Empty/Empty.module.css.js +6 -0
- package/dist/cjs/components/form/Combobox/Option/Description/Description.js +18 -0
- package/dist/cjs/components/form/Combobox/Option/Description/Description.module.css.js +6 -0
- package/dist/cjs/components/form/Combobox/Option/Icon/SelectedIcon.js +17 -0
- package/dist/cjs/components/form/Combobox/Option/Option.js +53 -0
- package/dist/cjs/components/form/Combobox/Option/Option.module.css.js +6 -0
- package/dist/cjs/components/form/Combobox/index.js +16 -0
- package/dist/cjs/components/form/Combobox/internal/ComboboxChips.js +46 -0
- package/dist/cjs/components/form/Combobox/internal/ComboboxClearButton.js +44 -0
- package/dist/cjs/components/form/Combobox/internal/ComboboxError.js +17 -0
- package/dist/cjs/components/form/Combobox/internal/ComboboxInput.js +108 -0
- package/dist/cjs/components/form/Combobox/internal/ComboboxLabel.js +21 -0
- package/dist/cjs/components/form/Combobox/internal/ComboboxNative.js +17 -0
- package/dist/cjs/components/form/Combobox/useCombobox.js +123 -0
- package/dist/cjs/components/form/Fieldset/Fieldset.js +31 -0
- package/dist/cjs/components/form/Fieldset/Fieldset.module.css.js +6 -0
- package/dist/cjs/components/form/Fieldset/useFieldset.js +19 -0
- package/dist/cjs/components/form/NativeSelect/NativeSelect.js +23 -0
- package/dist/cjs/components/form/NativeSelect/NativeSelect.module.css.js +6 -0
- package/dist/cjs/components/form/NativeSelect/useNativeSelect.js +37 -0
- package/dist/cjs/components/form/Radio/Group/Group.js +24 -0
- package/dist/cjs/components/form/Radio/Group/Group.module.css.js +6 -0
- package/dist/cjs/components/form/Radio/Radio.js +20 -0
- package/dist/cjs/components/form/Radio/Radio.module.css.js +6 -0
- package/dist/cjs/components/form/Radio/index.js +13 -0
- package/dist/cjs/components/form/Radio/useRadio.js +46 -0
- package/dist/cjs/components/form/Search/Search.js +50 -0
- package/dist/cjs/components/form/Search/Search.module.css.js +6 -0
- package/dist/cjs/components/form/Search/useSearch.js +45 -0
- package/dist/cjs/components/form/Switch/Switch.js +21 -0
- package/dist/cjs/components/form/Switch/Switch.module.css.js +6 -0
- package/dist/cjs/components/form/Switch/useSwitch.js +45 -0
- package/dist/cjs/components/form/Textarea/Textarea.js +38 -0
- package/dist/cjs/components/form/Textarea/Textarea.module.css.js +6 -0
- package/dist/cjs/components/form/Textarea/useTextarea.js +37 -0
- package/dist/cjs/components/form/Textfield/Textfield.js +38 -0
- package/dist/cjs/components/form/Textfield/Textfield.module.css.js +6 -0
- package/dist/cjs/components/form/Textfield/useTextfield.js +37 -0
- package/dist/cjs/components/form/useFormField.js +39 -0
- package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +8 -0
- package/dist/cjs/hooks/useMediaQuery.js +21 -0
- package/dist/cjs/hooks/usePrevious.js +14 -0
- package/dist/cjs/hooks/useSynchronizedAnimation.js +33 -0
- package/dist/cjs/index.js +187 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +19 -0
- package/dist/cjs/node_modules/@floating-ui/core/dist/floating-ui.core.js +636 -0
- package/dist/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +610 -0
- package/dist/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.js +3004 -0
- package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +297 -0
- package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +6 -0
- package/dist/cjs/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +68 -0
- package/dist/cjs/node_modules/@floating-ui/react/utils/dist/floating-ui.react.utils.js +160 -0
- package/dist/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +144 -0
- package/dist/cjs/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +145 -0
- package/dist/cjs/node_modules/@radix-ui/react-compose-refs/dist/index.js +22 -0
- package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.js +85 -0
- package/dist/cjs/node_modules/@tanstack/react-virtual/build/lib/_virtual/_rollupPluginBabelHelpers.js +29 -0
- package/dist/cjs/node_modules/@tanstack/react-virtual/build/lib/index.js +84 -0
- package/dist/cjs/node_modules/@tanstack/virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.js +29 -0
- package/dist/cjs/node_modules/@tanstack/virtual-core/build/lib/index.js +607 -0
- package/dist/cjs/node_modules/@tanstack/virtual-core/build/lib/utils.js +62 -0
- package/dist/cjs/node_modules/clsx/dist/clsx.js +9 -0
- package/dist/cjs/node_modules/tabbable/dist/index.esm.js +506 -0
- package/dist/cjs/react-components.css +3614 -0
- package/dist/cjs/utilities/AnimateHeight/AnimateHeight.js +44 -0
- package/dist/cjs/utilities/AnimateHeight/AnimateHeight.module.css.js +6 -0
- package/dist/cjs/utilities/RovingTabIndex/RovingTabindexItem.js +44 -0
- package/dist/cjs/utilities/RovingTabIndex/RovingTabindexRoot.js +66 -0
- package/dist/cjs/utilities/RovingTabIndex/useRovingTabindex.js +42 -0
- package/dist/cjs/utilities/objectUtils.js +28 -0
- package/dist/cjs/utilities/useDebounce.js +27 -0
- package/dist/cjs/utilities/utility.module.css.js +6 -0
- package/dist/esm/components/Accordion/Accordion.js +12 -0
- package/dist/esm/components/Accordion/Accordion.module.css.js +4 -0
- package/dist/esm/components/Accordion/AccordionContent/AccordionContent.js +20 -0
- package/dist/esm/components/Accordion/AccordionHeader/AccordionHeader.js +26 -0
- package/dist/esm/components/Accordion/AccordionItem/AccordionItem.js +25 -0
- package/dist/esm/components/Accordion/index.js +15 -0
- package/dist/esm/components/Alert/Alert.js +26 -0
- package/dist/esm/components/Box/Box.js +14 -0
- package/dist/esm/components/Box/Box.module.css.js +4 -0
- package/dist/esm/components/Button/Button.js +18 -0
- package/dist/esm/components/Button/Button.module.css.js +4 -0
- package/dist/esm/components/Card/Card.js +15 -0
- package/dist/esm/components/Card/Card.module.css.js +4 -0
- package/dist/esm/components/Card/CardContent.js +14 -0
- package/dist/esm/components/Card/CardFooter.js +14 -0
- package/dist/esm/components/Card/CardHeader.js +14 -0
- package/dist/esm/components/Card/CardMedia.js +14 -0
- package/dist/esm/components/Card/index.js +18 -0
- package/dist/esm/components/Chip/Chip.module.css.js +4 -0
- package/dist/esm/components/Chip/Group/Group.js +11 -0
- package/dist/esm/components/Chip/Removable/Removable.js +17 -0
- package/dist/esm/components/Chip/Toggle/Toggle.js +18 -0
- package/dist/esm/components/Chip/index.js +15 -0
- package/dist/esm/components/Divider/Divider.js +13 -0
- package/dist/esm/components/Divider/Divider.module.css.js +4 -0
- package/dist/esm/components/DropdownMenu/DropdownMenu.js +34 -0
- package/dist/esm/components/DropdownMenu/DropdownMenu.module.css.js +4 -0
- package/dist/esm/components/DropdownMenu/DropdownMenuContent.js +55 -0
- package/dist/esm/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.js +16 -0
- package/dist/esm/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.module.css.js +4 -0
- package/dist/esm/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.js +14 -0
- package/dist/esm/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.module.css.js +4 -0
- package/dist/esm/components/DropdownMenu/DropdownMenuTrigger.js +18 -0
- package/dist/esm/components/DropdownMenu/index.js +18 -0
- package/dist/esm/components/ErrorSummary/ErrorSummary.module.css.js +4 -0
- package/dist/esm/components/ErrorSummary/ErrorSummaryHeading.js +18 -0
- package/dist/esm/components/ErrorSummary/ErrorSummaryItem.js +11 -0
- package/dist/esm/components/ErrorSummary/ErrorSummaryList.js +10 -0
- package/dist/esm/components/ErrorSummary/ErrorSummaryRoot.js +20 -0
- package/dist/esm/components/ErrorSummary/index.js +17 -0
- package/dist/esm/components/HelpText/HelpText.js +16 -0
- package/dist/esm/components/HelpText/HelpText.module.css.js +4 -0
- package/dist/esm/components/HelpText/HelpTextIcon.js +12 -0
- package/dist/esm/components/Link/Link.js +14 -0
- package/dist/esm/components/Link/Link.module.css.js +4 -0
- package/dist/esm/components/List/List.module.css.js +4 -0
- package/dist/esm/components/List/ListHeading.js +26 -0
- package/dist/esm/components/List/ListItem.js +14 -0
- package/dist/esm/components/List/ListRoot.js +18 -0
- package/dist/esm/components/List/Lists.js +23 -0
- package/dist/esm/components/List/index.js +19 -0
- package/dist/esm/components/Modal/Modal.module.css.js +4 -0
- package/dist/esm/components/Modal/ModalContent/ModaContent.js +14 -0
- package/dist/esm/components/Modal/ModalContent/ModalContent.module.css.js +4 -0
- package/dist/esm/components/Modal/ModalDialog.js +72 -0
- package/dist/esm/components/Modal/ModalFooter/ModalFooter.js +14 -0
- package/dist/esm/components/Modal/ModalFooter/ModalFooter.module.css.js +4 -0
- package/dist/esm/components/Modal/ModalHeader/ModalHeader.js +20 -0
- package/dist/esm/components/Modal/ModalHeader/ModalHeader.module.css.js +4 -0
- package/dist/esm/components/Modal/ModalRoot.js +22 -0
- package/dist/esm/components/Modal/ModalTrigger/ModalTrigger.js +13 -0
- package/dist/esm/components/Modal/index.js +23 -0
- package/dist/esm/components/Modal/useModalState.js +28 -0
- package/dist/esm/components/Modal/useScrollLock.js +27 -0
- package/dist/esm/components/Pagination/Pagination.js +33 -0
- package/dist/esm/components/Pagination/Pagination.module.css.js +4 -0
- package/dist/esm/components/Pagination/PaginationButton.js +12 -0
- package/dist/esm/components/Pagination/PaginationContent.js +15 -0
- package/dist/esm/components/Pagination/PaginationEllipsis.js +15 -0
- package/dist/esm/components/Pagination/PaginationItem.js +16 -0
- package/dist/esm/components/Pagination/PaginationNextPrev.js +13 -0
- package/dist/esm/components/Pagination/PaginationRoot.js +16 -0
- package/dist/esm/components/Pagination/index.js +26 -0
- package/dist/esm/components/Pagination/usePagination.js +63 -0
- package/dist/esm/components/Popover/Popover.js +47 -0
- package/dist/esm/components/Popover/Popover.module.css.js +4 -0
- package/dist/esm/components/Popover/PopoverContent.js +87 -0
- package/dist/esm/components/Popover/PopoverTrigger.js +21 -0
- package/dist/esm/components/Popover/index.js +12 -0
- package/dist/esm/components/Skeleton/Circle/Circle.js +14 -0
- package/dist/esm/components/Skeleton/Rectangle/Rectangle.js +16 -0
- package/dist/esm/components/Skeleton/Skeleton.module.css.js +4 -0
- package/dist/esm/components/Skeleton/Text/Text.js +16 -0
- package/dist/esm/components/Skeleton/index.js +15 -0
- package/dist/esm/components/SkipLink/SkipLink.js +12 -0
- package/dist/esm/components/SkipLink/SkipLink.module.css.js +4 -0
- package/dist/esm/components/Spinner/Spinner.js +23 -0
- package/dist/esm/components/Spinner/Spinner.module.css.js +4 -0
- package/dist/esm/components/Table/Table.js +13 -0
- package/dist/esm/components/Table/Table.module.css.js +4 -0
- package/dist/esm/components/Table/TableBody.js +10 -0
- package/dist/esm/components/Table/TableCell.js +12 -0
- package/dist/esm/components/Table/TableHead.js +12 -0
- package/dist/esm/components/Table/TableHeaderCell.js +19 -0
- package/dist/esm/components/Table/TableRow.js +12 -0
- package/dist/esm/components/Table/index.js +22 -0
- package/dist/esm/components/Tabs/Tab/Tab.js +16 -0
- package/dist/esm/components/Tabs/Tab/Tab.module.css.js +4 -0
- package/dist/esm/components/Tabs/Tab/useTab.js +24 -0
- package/dist/esm/components/Tabs/TabContent/TabContent.js +16 -0
- package/dist/esm/components/Tabs/TabContent/TabContent.module.css.js +4 -0
- package/dist/esm/components/Tabs/TabList/TabList.js +13 -0
- package/dist/esm/components/Tabs/TabList/TabList.module.css.js +4 -0
- package/dist/esm/components/Tabs/Tabs.js +26 -0
- package/dist/esm/components/Tabs/index.js +15 -0
- package/dist/esm/components/Tag/Tag.js +13 -0
- package/dist/esm/components/Tag/Tag.module.css.js +4 -0
- package/dist/esm/components/ToggleGroup/ToggleGroup.js +41 -0
- package/dist/esm/components/ToggleGroup/ToggleGroup.module.css.js +4 -0
- package/dist/esm/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.js +17 -0
- package/dist/esm/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.module.css.js +4 -0
- package/dist/esm/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.js +29 -0
- package/dist/esm/components/ToggleGroup/index.js +9 -0
- package/dist/esm/components/Tooltip/Tooltip.js +69 -0
- package/dist/esm/components/Tooltip/Tooltip.module.css.js +4 -0
- package/dist/esm/components/Typography/ErrorMessage/ErrorMessage.js +17 -0
- package/dist/esm/components/Typography/ErrorMessage/ErrorMessage.module.css.js +4 -0
- package/dist/esm/components/Typography/Heading/Heading.js +19 -0
- package/dist/esm/components/Typography/Heading/Heading.module.css.js +4 -0
- package/dist/esm/components/Typography/Ingress/Ingress.js +17 -0
- package/dist/esm/components/Typography/Ingress/Ingress.module.css.js +4 -0
- package/dist/esm/components/Typography/Label/Label.js +20 -0
- package/dist/esm/components/Typography/Label/Label.module.css.js +4 -0
- package/dist/esm/components/Typography/Paragraph/Paragraph.js +18 -0
- package/dist/esm/components/Typography/Paragraph/Paragraph.module.css.js +4 -0
- package/dist/esm/components/form/CharacterCounter.js +16 -0
- package/dist/esm/components/form/Checkbox/Checkbox.js +27 -0
- package/dist/esm/components/form/Checkbox/Checkbox.module.css.js +4 -0
- package/dist/esm/components/form/Checkbox/Group/Group.js +27 -0
- package/dist/esm/components/form/Checkbox/index.js +10 -0
- package/dist/esm/components/form/Checkbox/useCheckbox.js +42 -0
- package/dist/esm/components/form/Combobox/Combobox.js +301 -0
- package/dist/esm/components/form/Combobox/Combobox.module.css.js +4 -0
- package/dist/esm/components/form/Combobox/Custom/Custom.js +30 -0
- package/dist/esm/components/form/Combobox/Custom/Custom.module.css.js +4 -0
- package/dist/esm/components/form/Combobox/Empty/Empty.js +18 -0
- package/dist/esm/components/form/Combobox/Empty/Empty.module.css.js +4 -0
- package/dist/esm/components/form/Combobox/Option/Description/Description.js +13 -0
- package/dist/esm/components/form/Combobox/Option/Description/Description.module.css.js +4 -0
- package/dist/esm/components/form/Combobox/Option/Icon/SelectedIcon.js +12 -0
- package/dist/esm/components/form/Combobox/Option/Option.js +51 -0
- package/dist/esm/components/form/Combobox/Option/Option.module.css.js +4 -0
- package/dist/esm/components/form/Combobox/index.js +12 -0
- package/dist/esm/components/form/Combobox/internal/ComboboxChips.js +41 -0
- package/dist/esm/components/form/Combobox/internal/ComboboxClearButton.js +39 -0
- package/dist/esm/components/form/Combobox/internal/ComboboxError.js +12 -0
- package/dist/esm/components/form/Combobox/internal/ComboboxInput.js +103 -0
- package/dist/esm/components/form/Combobox/internal/ComboboxLabel.js +16 -0
- package/dist/esm/components/form/Combobox/internal/ComboboxNative.js +12 -0
- package/dist/esm/components/form/Combobox/useCombobox.js +98 -0
- package/dist/esm/components/form/Fieldset/Fieldset.js +28 -0
- package/dist/esm/components/form/Fieldset/Fieldset.module.css.js +4 -0
- package/dist/esm/components/form/Fieldset/useFieldset.js +17 -0
- package/dist/esm/components/form/NativeSelect/NativeSelect.js +21 -0
- package/dist/esm/components/form/NativeSelect/NativeSelect.module.css.js +4 -0
- package/dist/esm/components/form/NativeSelect/useNativeSelect.js +35 -0
- package/dist/esm/components/form/Radio/Group/Group.js +21 -0
- package/dist/esm/components/form/Radio/Group/Group.module.css.js +4 -0
- package/dist/esm/components/form/Radio/Radio.js +18 -0
- package/dist/esm/components/form/Radio/Radio.module.css.js +4 -0
- package/dist/esm/components/form/Radio/index.js +10 -0
- package/dist/esm/components/form/Radio/useRadio.js +44 -0
- package/dist/esm/components/form/Search/Search.js +48 -0
- package/dist/esm/components/form/Search/Search.module.css.js +4 -0
- package/dist/esm/components/form/Search/useSearch.js +43 -0
- package/dist/esm/components/form/Switch/Switch.js +19 -0
- package/dist/esm/components/form/Switch/Switch.module.css.js +4 -0
- package/dist/esm/components/form/Switch/useSwitch.js +43 -0
- package/dist/esm/components/form/Textarea/Textarea.js +36 -0
- package/dist/esm/components/form/Textarea/Textarea.module.css.js +4 -0
- package/dist/esm/components/form/Textarea/useTextarea.js +35 -0
- package/dist/esm/components/form/Textfield/Textfield.js +36 -0
- package/dist/esm/components/form/Textfield/Textfield.module.css.js +4 -0
- package/dist/esm/components/form/Textfield/useTextfield.js +35 -0
- package/dist/esm/components/form/useFormField.js +37 -0
- package/dist/esm/hooks/useIsomorphicLayoutEffect.js +6 -0
- package/dist/esm/hooks/useMediaQuery.js +19 -0
- package/dist/esm/hooks/usePrevious.js +12 -0
- package/dist/esm/hooks/useSynchronizedAnimation.js +31 -0
- package/dist/esm/index.js +90 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js +17 -0
- package/dist/esm/node_modules/@floating-ui/core/dist/floating-ui.core.js +627 -0
- package/dist/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +600 -0
- package/dist/esm/node_modules/@floating-ui/react/dist/floating-ui.react.js +2964 -0
- package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +269 -0
- package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +4 -0
- package/dist/esm/node_modules/@floating-ui/react/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +57 -0
- package/dist/esm/node_modules/@floating-ui/react/utils/dist/floating-ui.react.utils.js +140 -0
- package/dist/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +122 -0
- package/dist/esm/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.js +126 -0
- package/dist/esm/node_modules/@radix-ui/react-compose-refs/dist/index.js +20 -0
- package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.js +82 -0
- package/dist/esm/node_modules/@tanstack/react-virtual/build/lib/_virtual/_rollupPluginBabelHelpers.js +27 -0
- package/dist/esm/node_modules/@tanstack/react-virtual/build/lib/index.js +57 -0
- package/dist/esm/node_modules/@tanstack/virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.js +27 -0
- package/dist/esm/node_modules/@tanstack/virtual-core/build/lib/index.js +596 -0
- package/dist/esm/node_modules/@tanstack/virtual-core/build/lib/utils.js +58 -0
- package/dist/esm/node_modules/clsx/dist/clsx.js +4 -0
- package/dist/esm/node_modules/tabbable/dist/index.esm.js +504 -0
- package/dist/esm/react-components.css +3614 -0
- package/dist/esm/utilities/AnimateHeight/AnimateHeight.js +42 -0
- package/dist/esm/utilities/AnimateHeight/AnimateHeight.module.css.js +4 -0
- package/dist/esm/utilities/RovingTabIndex/RovingTabindexItem.js +40 -0
- package/dist/esm/utilities/RovingTabIndex/RovingTabindexRoot.js +63 -0
- package/dist/esm/utilities/RovingTabIndex/useRovingTabindex.js +40 -0
- package/dist/esm/utilities/objectUtils.js +26 -0
- package/dist/esm/utilities/useDebounce.js +25 -0
- package/dist/esm/utilities/utility.module.css.js +4 -0
- package/dist/types/components/Accordion/Accordion.d.ts +18 -0
- package/dist/types/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/types/components/Accordion/AccordionContent/AccordionContent.d.ts +10 -0
- package/dist/types/components/Accordion/AccordionContent/AccordionContent.d.ts.map +1 -0
- package/dist/types/components/Accordion/AccordionContent/index.d.ts +2 -0
- package/dist/types/components/Accordion/AccordionContent/index.d.ts.map +1 -0
- package/dist/types/components/Accordion/AccordionHeader/AccordionHeader.d.ts +18 -0
- package/dist/types/components/Accordion/AccordionHeader/AccordionHeader.d.ts.map +1 -0
- package/dist/types/components/Accordion/AccordionHeader/index.d.ts +2 -0
- package/dist/types/components/Accordion/AccordionHeader/index.d.ts.map +1 -0
- package/dist/types/components/Accordion/AccordionItem/AccordionItem.d.ts +32 -0
- package/dist/types/components/Accordion/AccordionItem/AccordionItem.d.ts.map +1 -0
- package/dist/types/components/Accordion/AccordionItem/index.d.ts +2 -0
- package/dist/types/components/Accordion/AccordionItem/index.d.ts.map +1 -0
- package/dist/types/components/Accordion/index.d.ts +17 -0
- package/dist/types/components/Accordion/index.d.ts.map +1 -0
- package/dist/types/components/Alert/Alert.d.ts +26 -0
- package/dist/types/components/Alert/Alert.d.ts.map +1 -0
- package/dist/types/components/Alert/index.d.ts +2 -0
- package/dist/types/components/Alert/index.d.ts.map +1 -0
- package/dist/types/components/Box/Box.d.ts +31 -0
- package/dist/types/components/Box/Box.d.ts.map +1 -0
- package/dist/types/components/Box/index.d.ts +3 -0
- package/dist/types/components/Box/index.d.ts.map +1 -0
- package/dist/types/components/Button/Button.d.ts +26 -0
- package/dist/types/components/Button/Button.d.ts.map +1 -0
- package/dist/types/components/Button/index.d.ts +3 -0
- package/dist/types/components/Button/index.d.ts.map +1 -0
- package/dist/types/components/Card/Card.d.ts +27 -0
- package/dist/types/components/Card/Card.d.ts.map +1 -0
- package/dist/types/components/Card/CardContent.d.ts +16 -0
- package/dist/types/components/Card/CardContent.d.ts.map +1 -0
- package/dist/types/components/Card/CardFooter.d.ts +16 -0
- package/dist/types/components/Card/CardFooter.d.ts.map +1 -0
- package/dist/types/components/Card/CardHeader.d.ts +16 -0
- package/dist/types/components/Card/CardHeader.d.ts.map +1 -0
- package/dist/types/components/Card/CardMedia.d.ts +16 -0
- package/dist/types/components/Card/CardMedia.d.ts.map +1 -0
- package/dist/types/components/Card/index.d.ts +18 -0
- package/dist/types/components/Card/index.d.ts.map +1 -0
- package/dist/types/components/Chip/Group/Group.d.ts +18 -0
- package/dist/types/components/Chip/Group/Group.d.ts.map +1 -0
- package/dist/types/components/Chip/Removable/Removable.d.ts +16 -0
- package/dist/types/components/Chip/Removable/Removable.d.ts.map +1 -0
- package/dist/types/components/Chip/Toggle/Toggle.d.ts +32 -0
- package/dist/types/components/Chip/Toggle/Toggle.d.ts.map +1 -0
- package/dist/types/components/Chip/index.d.ts +23 -0
- package/dist/types/components/Chip/index.d.ts.map +1 -0
- package/dist/types/components/Divider/Divider.d.ts +16 -0
- package/dist/types/components/Divider/Divider.d.ts.map +1 -0
- package/dist/types/components/Divider/index.d.ts +3 -0
- package/dist/types/components/Divider/index.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +43 -0
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts +8 -0
- package/dist/types/components/DropdownMenu/DropdownMenuContent.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.d.ts +14 -0
- package/dist/types/components/DropdownMenu/DropdownMenuGroup/DropdownMenuGroup.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.d.ts +5 -0
- package/dist/types/components/DropdownMenu/DropdownMenuItem/DropdownMenuItem.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts +14 -0
- package/dist/types/components/DropdownMenu/DropdownMenuTrigger.d.ts.map +1 -0
- package/dist/types/components/DropdownMenu/index.d.ts +18 -0
- package/dist/types/components/DropdownMenu/index.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts +7 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryHeading.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts +25 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryItem.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts +9 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryList.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryRoot.d.ts +15 -0
- package/dist/types/components/ErrorSummary/ErrorSummaryRoot.d.ts.map +1 -0
- package/dist/types/components/ErrorSummary/index.d.ts +17 -0
- package/dist/types/components/ErrorSummary/index.d.ts.map +1 -0
- package/dist/types/components/HelpText/HelpText.d.ts +26 -0
- package/dist/types/components/HelpText/HelpText.d.ts.map +1 -0
- package/dist/types/components/HelpText/HelpTextIcon.d.ts +10 -0
- package/dist/types/components/HelpText/HelpTextIcon.d.ts.map +1 -0
- package/dist/types/components/HelpText/index.d.ts +3 -0
- package/dist/types/components/HelpText/index.d.ts.map +1 -0
- package/dist/types/components/Link/Link.d.ts +19 -0
- package/dist/types/components/Link/Link.d.ts.map +1 -0
- package/dist/types/components/Link/index.d.ts +3 -0
- package/dist/types/components/Link/index.d.ts.map +1 -0
- package/dist/types/components/List/ListHeading.d.ts +10 -0
- package/dist/types/components/List/ListHeading.d.ts.map +1 -0
- package/dist/types/components/List/ListItem.d.ts +16 -0
- package/dist/types/components/List/ListItem.d.ts.map +1 -0
- package/dist/types/components/List/ListRoot.d.ts +31 -0
- package/dist/types/components/List/ListRoot.d.ts.map +1 -0
- package/dist/types/components/List/Lists.d.ts +30 -0
- package/dist/types/components/List/Lists.d.ts.map +1 -0
- package/dist/types/components/List/index.d.ts +18 -0
- package/dist/types/components/List/index.d.ts.map +1 -0
- package/dist/types/components/Modal/ModalContent/ModaContent.d.ts +16 -0
- package/dist/types/components/Modal/ModalContent/ModaContent.d.ts.map +1 -0
- package/dist/types/components/Modal/ModalDialog.d.ts +38 -0
- package/dist/types/components/Modal/ModalDialog.d.ts.map +1 -0
- package/dist/types/components/Modal/ModalFooter/ModalFooter.d.ts +16 -0
- package/dist/types/components/Modal/ModalFooter/ModalFooter.d.ts.map +1 -0
- package/dist/types/components/Modal/ModalHeader/ModalHeader.d.ts +28 -0
- package/dist/types/components/Modal/ModalHeader/ModalHeader.d.ts.map +1 -0
- package/dist/types/components/Modal/ModalRoot.d.ts +16 -0
- package/dist/types/components/Modal/ModalRoot.d.ts.map +1 -0
- package/dist/types/components/Modal/ModalTrigger/ModalTrigger.d.ts +14 -0
- package/dist/types/components/Modal/ModalTrigger/ModalTrigger.d.ts.map +1 -0
- package/dist/types/components/Modal/index.d.ts +23 -0
- package/dist/types/components/Modal/index.d.ts.map +1 -0
- package/dist/types/components/Modal/useModalState.d.ts +2 -0
- package/dist/types/components/Modal/useModalState.d.ts.map +1 -0
- package/dist/types/components/Modal/useScrollLock.d.ts +3 -0
- package/dist/types/components/Modal/useScrollLock.d.ts.map +1 -0
- package/dist/types/components/Pagination/Pagination.d.ts +46 -0
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationButton.d.ts +17 -0
- package/dist/types/components/Pagination/PaginationButton.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationContent.d.ts +16 -0
- package/dist/types/components/Pagination/PaginationContent.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationEllipsis.d.ts +6 -0
- package/dist/types/components/Pagination/PaginationEllipsis.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationItem.d.ts +17 -0
- package/dist/types/components/Pagination/PaginationItem.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationNextPrev.d.ts +11 -0
- package/dist/types/components/Pagination/PaginationNextPrev.d.ts.map +1 -0
- package/dist/types/components/Pagination/PaginationRoot.d.ts +42 -0
- package/dist/types/components/Pagination/PaginationRoot.d.ts.map +1 -0
- package/dist/types/components/Pagination/index.d.ts +28 -0
- package/dist/types/components/Pagination/index.d.ts.map +1 -0
- package/dist/types/components/Pagination/usePagination.d.ts +23 -0
- package/dist/types/components/Pagination/usePagination.d.ts.map +1 -0
- package/dist/types/components/Popover/Popover.d.ts +58 -0
- package/dist/types/components/Popover/Popover.d.ts.map +1 -0
- package/dist/types/components/Popover/PopoverContent.d.ts +8 -0
- package/dist/types/components/Popover/PopoverContent.d.ts.map +1 -0
- package/dist/types/components/Popover/PopoverTrigger.d.ts +14 -0
- package/dist/types/components/Popover/PopoverTrigger.d.ts.map +1 -0
- package/dist/types/components/Popover/index.d.ts +14 -0
- package/dist/types/components/Popover/index.d.ts.map +1 -0
- package/dist/types/components/Skeleton/Circle/Circle.d.ts +13 -0
- package/dist/types/components/Skeleton/Circle/Circle.d.ts.map +1 -0
- package/dist/types/components/Skeleton/Rectangle/Rectangle.d.ts +13 -0
- package/dist/types/components/Skeleton/Rectangle/Rectangle.d.ts.map +1 -0
- package/dist/types/components/Skeleton/Text/Text.d.ts +13 -0
- package/dist/types/components/Skeleton/Text/Text.d.ts.map +1 -0
- package/dist/types/components/Skeleton/index.d.ts +24 -0
- package/dist/types/components/Skeleton/index.d.ts.map +1 -0
- package/dist/types/components/SkipLink/SkipLink.d.ts +12 -0
- package/dist/types/components/SkipLink/SkipLink.d.ts.map +1 -0
- package/dist/types/components/SkipLink/index.d.ts +3 -0
- package/dist/types/components/SkipLink/index.d.ts.map +1 -0
- package/dist/types/components/Spinner/Spinner.d.ts +15 -0
- package/dist/types/components/Spinner/Spinner.d.ts.map +1 -0
- package/dist/types/components/Spinner/index.d.ts +3 -0
- package/dist/types/components/Spinner/index.d.ts.map +1 -0
- package/dist/types/components/Table/Table.d.ts +46 -0
- package/dist/types/components/Table/Table.d.ts.map +1 -0
- package/dist/types/components/Table/TableBody.d.ts +4 -0
- package/dist/types/components/Table/TableBody.d.ts.map +1 -0
- package/dist/types/components/Table/TableCell.d.ts +4 -0
- package/dist/types/components/Table/TableCell.d.ts.map +1 -0
- package/dist/types/components/Table/TableHead.d.ts +4 -0
- package/dist/types/components/Table/TableHead.d.ts.map +1 -0
- package/dist/types/components/Table/TableHeaderCell.d.ts +37 -0
- package/dist/types/components/Table/TableHeaderCell.d.ts.map +1 -0
- package/dist/types/components/Table/TableRow.d.ts +4 -0
- package/dist/types/components/Table/TableRow.d.ts.map +1 -0
- package/dist/types/components/Table/index.d.ts +16 -0
- package/dist/types/components/Table/index.d.ts.map +1 -0
- package/dist/types/components/Tabs/Tab/Tab.d.ts +10 -0
- package/dist/types/components/Tabs/Tab/Tab.d.ts.map +1 -0
- package/dist/types/components/Tabs/Tab/index.d.ts +2 -0
- package/dist/types/components/Tabs/Tab/index.d.ts.map +1 -0
- package/dist/types/components/Tabs/Tab/useTab.d.ts +10 -0
- package/dist/types/components/Tabs/Tab/useTab.d.ts.map +1 -0
- package/dist/types/components/Tabs/TabContent/TabContent.d.ts +10 -0
- package/dist/types/components/Tabs/TabContent/TabContent.d.ts.map +1 -0
- package/dist/types/components/Tabs/TabContent/index.d.ts +2 -0
- package/dist/types/components/Tabs/TabContent/index.d.ts.map +1 -0
- package/dist/types/components/Tabs/TabList/TabList.d.ts +3 -0
- package/dist/types/components/Tabs/TabList/TabList.d.ts.map +1 -0
- package/dist/types/components/Tabs/TabList/index.d.ts +2 -0
- package/dist/types/components/Tabs/TabList/index.d.ts.map +1 -0
- package/dist/types/components/Tabs/Tabs.d.ts +44 -0
- package/dist/types/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/types/components/Tabs/index.d.ts +15 -0
- package/dist/types/components/Tabs/index.d.ts.map +1 -0
- package/dist/types/components/Tag/Tag.d.ts +25 -0
- package/dist/types/components/Tag/Tag.d.ts.map +1 -0
- package/dist/types/components/Tag/index.d.ts +3 -0
- package/dist/types/components/Tag/index.d.ts.map +1 -0
- package/dist/types/components/ToggleGroup/ToggleGroup.d.ts +44 -0
- package/dist/types/components/ToggleGroup/ToggleGroup.d.ts.map +1 -0
- package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts +11 -0
- package/dist/types/components/ToggleGroup/ToggleGroupItem/ToggleGroupItem.d.ts.map +1 -0
- package/dist/types/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.d.ts +11 -0
- package/dist/types/components/ToggleGroup/ToggleGroupItem/useToggleGroupitem.d.ts.map +1 -0
- package/dist/types/components/ToggleGroup/index.d.ts +10 -0
- package/dist/types/components/ToggleGroup/index.d.ts.map +1 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +56 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/types/components/Tooltip/index.d.ts +3 -0
- package/dist/types/components/Tooltip/index.d.ts.map +1 -0
- package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts +18 -0
- package/dist/types/components/Typography/ErrorMessage/ErrorMessage.d.ts.map +1 -0
- package/dist/types/components/Typography/ErrorMessage/index.d.ts +2 -0
- package/dist/types/components/Typography/ErrorMessage/index.d.ts.map +1 -0
- package/dist/types/components/Typography/Heading/Heading.d.ts +20 -0
- package/dist/types/components/Typography/Heading/Heading.d.ts.map +1 -0
- package/dist/types/components/Typography/Heading/index.d.ts +2 -0
- package/dist/types/components/Typography/Heading/index.d.ts.map +1 -0
- package/dist/types/components/Typography/Ingress/Ingress.d.ts +16 -0
- package/dist/types/components/Typography/Ingress/Ingress.d.ts.map +1 -0
- package/dist/types/components/Typography/Ingress/index.d.ts +2 -0
- package/dist/types/components/Typography/Ingress/index.d.ts.map +1 -0
- package/dist/types/components/Typography/Label/Label.d.ts +20 -0
- package/dist/types/components/Typography/Label/Label.d.ts.map +1 -0
- package/dist/types/components/Typography/Label/index.d.ts +2 -0
- package/dist/types/components/Typography/Label/index.d.ts.map +1 -0
- package/dist/types/components/Typography/Paragraph/Paragraph.d.ts +18 -0
- package/dist/types/components/Typography/Paragraph/Paragraph.d.ts.map +1 -0
- package/dist/types/components/Typography/Paragraph/index.d.ts +2 -0
- package/dist/types/components/Typography/Paragraph/index.d.ts.map +1 -0
- package/dist/types/components/Typography/index.d.ts +6 -0
- package/dist/types/components/Typography/index.d.ts.map +1 -0
- package/dist/types/components/form/CharacterCounter.d.ts +21 -0
- package/dist/types/components/form/CharacterCounter.d.ts.map +1 -0
- package/dist/types/components/form/Checkbox/Checkbox.d.ts +23 -0
- package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/types/components/form/Checkbox/Group/Group.d.ts +29 -0
- package/dist/types/components/form/Checkbox/Group/Group.d.ts.map +1 -0
- package/dist/types/components/form/Checkbox/Group/index.d.ts +2 -0
- package/dist/types/components/form/Checkbox/Group/index.d.ts.map +1 -0
- package/dist/types/components/form/Checkbox/index.d.ts +22 -0
- package/dist/types/components/form/Checkbox/index.d.ts.map +1 -0
- package/dist/types/components/form/Checkbox/useCheckbox.d.ts +10 -0
- package/dist/types/components/form/Checkbox/useCheckbox.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/Combobox.d.ts +213 -0
- package/dist/types/components/form/Combobox/Combobox.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/Custom/Custom.d.ts +33 -0
- package/dist/types/components/form/Combobox/Custom/Custom.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/Empty/Empty.d.ts +5 -0
- package/dist/types/components/form/Combobox/Empty/Empty.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/Option/Description/Description.d.ts +5 -0
- package/dist/types/components/form/Combobox/Option/Description/Description.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/Option/Icon/SelectedIcon.d.ts +10 -0
- package/dist/types/components/form/Combobox/Option/Icon/SelectedIcon.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/Option/Option.d.ts +32 -0
- package/dist/types/components/form/Combobox/Option/Option.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/data/data.d.ts +7 -0
- package/dist/types/components/form/Combobox/data/data.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/index.d.ts +10 -0
- package/dist/types/components/form/Combobox/index.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/internal/ComboboxChips.d.ts +6 -0
- package/dist/types/components/form/Combobox/internal/ComboboxChips.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts +6 -0
- package/dist/types/components/form/Combobox/internal/ComboboxClearButton.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/internal/ComboboxError.d.ts +13 -0
- package/dist/types/components/form/Combobox/internal/ComboboxError.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts +7 -0
- package/dist/types/components/form/Combobox/internal/ComboboxInput.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/internal/ComboboxLabel.d.ts +16 -0
- package/dist/types/components/form/Combobox/internal/ComboboxLabel.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/internal/ComboboxNative.d.ts +13 -0
- package/dist/types/components/form/Combobox/internal/ComboboxNative.d.ts.map +1 -0
- package/dist/types/components/form/Combobox/useCombobox.d.ts +28 -0
- package/dist/types/components/form/Combobox/useCombobox.d.ts.map +1 -0
- package/dist/types/components/form/Fieldset/Fieldset.d.ts +35 -0
- package/dist/types/components/form/Fieldset/Fieldset.d.ts.map +1 -0
- package/dist/types/components/form/Fieldset/index.d.ts +2 -0
- package/dist/types/components/form/Fieldset/index.d.ts.map +1 -0
- package/dist/types/components/form/Fieldset/useFieldset.d.ts +18 -0
- package/dist/types/components/form/Fieldset/useFieldset.d.ts.map +1 -0
- package/dist/types/components/form/NativeSelect/NativeSelect.d.ts +56 -0
- package/dist/types/components/form/NativeSelect/NativeSelect.d.ts.map +1 -0
- package/dist/types/components/form/NativeSelect/index.d.ts +3 -0
- package/dist/types/components/form/NativeSelect/index.d.ts.map +1 -0
- package/dist/types/components/form/NativeSelect/useNativeSelect.d.ts +10 -0
- package/dist/types/components/form/NativeSelect/useNativeSelect.d.ts.map +1 -0
- package/dist/types/components/form/Radio/Group/Group.d.ts +43 -0
- package/dist/types/components/form/Radio/Group/Group.d.ts.map +1 -0
- package/dist/types/components/form/Radio/Group/index.d.ts +2 -0
- package/dist/types/components/form/Radio/Group/index.d.ts.map +1 -0
- package/dist/types/components/form/Radio/Radio.d.ts +15 -0
- package/dist/types/components/form/Radio/Radio.d.ts.map +1 -0
- package/dist/types/components/form/Radio/index.d.ts +20 -0
- package/dist/types/components/form/Radio/index.d.ts.map +1 -0
- package/dist/types/components/form/Radio/useRadio.d.ts +10 -0
- package/dist/types/components/form/Radio/useRadio.d.ts.map +1 -0
- package/dist/types/components/form/Search/Search.d.ts +74 -0
- package/dist/types/components/form/Search/Search.d.ts.map +1 -0
- package/dist/types/components/form/Search/index.d.ts +2 -0
- package/dist/types/components/form/Search/index.d.ts.map +1 -0
- package/dist/types/components/form/Search/useSearch.d.ts +12 -0
- package/dist/types/components/form/Search/useSearch.d.ts.map +1 -0
- package/dist/types/components/form/Switch/Switch.d.ts +23 -0
- package/dist/types/components/form/Switch/Switch.d.ts.map +1 -0
- package/dist/types/components/form/Switch/index.d.ts +2 -0
- package/dist/types/components/form/Switch/index.d.ts.map +1 -0
- package/dist/types/components/form/Switch/useSwitch.d.ts +10 -0
- package/dist/types/components/form/Switch/useSwitch.d.ts.map +1 -0
- package/dist/types/components/form/Textarea/Textarea.d.ts +51 -0
- package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -0
- package/dist/types/components/form/Textarea/index.d.ts +2 -0
- package/dist/types/components/form/Textarea/index.d.ts.map +1 -0
- package/dist/types/components/form/Textarea/useTextarea.d.ts +10 -0
- package/dist/types/components/form/Textarea/useTextarea.d.ts.map +1 -0
- package/dist/types/components/form/Textfield/Textfield.d.ts +67 -0
- package/dist/types/components/form/Textfield/Textfield.d.ts.map +1 -0
- package/dist/types/components/form/Textfield/index.d.ts +2 -0
- package/dist/types/components/form/Textfield/index.d.ts.map +1 -0
- package/dist/types/components/form/Textfield/useTextfield.d.ts +10 -0
- package/dist/types/components/form/Textfield/useTextfield.d.ts.map +1 -0
- package/dist/types/components/form/useFormField.d.ts +32 -0
- package/dist/types/components/form/useFormField.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +34 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +5 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
- package/dist/types/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/types/hooks/useMediaQuery.d.ts +2 -0
- package/dist/types/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/types/hooks/usePrevious.d.ts +2 -0
- package/dist/types/hooks/usePrevious.d.ts.map +1 -0
- package/dist/types/hooks/useSynchronizedAnimation.d.ts +3 -0
- package/dist/types/hooks/useSynchronizedAnimation.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/OverridableComponent.d.ts +12 -0
- package/dist/types/types/OverridableComponent.d.ts.map +1 -0
- package/dist/types/types/Portal.d.ts +9 -0
- package/dist/types/types/Portal.d.ts.map +1 -0
- package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts +9 -0
- package/dist/types/utilities/AnimateHeight/AnimateHeight.d.ts.map +1 -0
- package/dist/types/utilities/AnimateHeight/index.d.ts +3 -0
- package/dist/types/utilities/AnimateHeight/index.d.ts.map +1 -0
- package/dist/types/utilities/RovingTabIndex/RovingTabindexItem.d.ts +19 -0
- package/dist/types/utilities/RovingTabIndex/RovingTabindexItem.d.ts.map +1 -0
- package/dist/types/utilities/RovingTabIndex/RovingTabindexRoot.d.ts +28 -0
- package/dist/types/utilities/RovingTabIndex/RovingTabindexRoot.d.ts.map +1 -0
- package/dist/types/utilities/RovingTabIndex/index.d.ts +4 -0
- package/dist/types/utilities/RovingTabIndex/index.d.ts.map +1 -0
- package/dist/types/utilities/RovingTabIndex/useRovingTabindex.d.ts +278 -0
- package/dist/types/utilities/RovingTabIndex/useRovingTabindex.d.ts.map +1 -0
- package/dist/types/utilities/index.d.ts +2 -0
- package/dist/types/utilities/index.d.ts.map +1 -0
- package/dist/types/utilities/objectUtils.d.ts +11 -0
- package/dist/types/utilities/objectUtils.d.ts.map +1 -0
- package/dist/types/utilities/useDebounce.d.ts +4 -0
- package/dist/types/utilities/useDebounce.d.ts.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var clsx = require('../../../../node_modules/clsx/dist/clsx.js');
|
|
9
|
+
var akselIcons = require('@navikt/aksel-icons');
|
|
10
|
+
var floatingUi_react = require('../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js');
|
|
11
|
+
var Combobox = require('../Combobox.js');
|
|
12
|
+
var Combobox_module = require('../Combobox.module.css.js');
|
|
13
|
+
var Textfield_module = require('../../Textfield/Textfield.module.css.js');
|
|
14
|
+
var ComboboxChips = require('./ComboboxChips.js');
|
|
15
|
+
var ComboboxClearButton = require('./ComboboxClearButton.js');
|
|
16
|
+
var Box = require('../../../Box/Box.js');
|
|
17
|
+
var objectUtils = require('../../../../utilities/objectUtils.js');
|
|
18
|
+
|
|
19
|
+
const ComboboxInput = ({ ...rest }) => {
|
|
20
|
+
const context = React.useContext(Combobox.ComboboxContext);
|
|
21
|
+
if (!context) {
|
|
22
|
+
throw new Error('ComboboxContext is missing');
|
|
23
|
+
}
|
|
24
|
+
const { forwareddRef, listId, size, readOnly, disabled, open, inputRef, refs, inputValue, activeDescendant, error, multiple, selectedOptions, formFieldProps, htmlSize, options, hideChips, setOpen, setActiveIndex, handleKeyDown, getReferenceProps, setInputValue, handleSelectOption, } = context;
|
|
25
|
+
const mergedRefs = floatingUi_react.useMergeRefs([forwareddRef, inputRef]);
|
|
26
|
+
// we need to check if input is in focus, to add focus styles to the wrapper
|
|
27
|
+
const [inputInFocus, setInputInFocus] = React.useState(false);
|
|
28
|
+
React.useEffect(() => {
|
|
29
|
+
const input = inputRef.current;
|
|
30
|
+
const onFocus = () => {
|
|
31
|
+
setInputInFocus(true);
|
|
32
|
+
};
|
|
33
|
+
const onBlur = () => {
|
|
34
|
+
setInputInFocus(false);
|
|
35
|
+
};
|
|
36
|
+
input?.addEventListener('focus', onFocus);
|
|
37
|
+
input?.addEventListener('blur', onBlur);
|
|
38
|
+
return () => {
|
|
39
|
+
input?.removeEventListener('focus', onFocus);
|
|
40
|
+
input?.removeEventListener('blur', onBlur);
|
|
41
|
+
};
|
|
42
|
+
}, [inputRef]);
|
|
43
|
+
// onChange function for the input
|
|
44
|
+
const onChange = (event) => {
|
|
45
|
+
const value = event.target.value;
|
|
46
|
+
setInputValue(value);
|
|
47
|
+
setActiveIndex(0);
|
|
48
|
+
if (typeof value === 'string') {
|
|
49
|
+
setOpen(true);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
setOpen(false);
|
|
53
|
+
}
|
|
54
|
+
// check if input value is the same as a label, if so, select it
|
|
55
|
+
const option = options.find((option) => option.label === value);
|
|
56
|
+
if (!option)
|
|
57
|
+
return;
|
|
58
|
+
if (selectedOptions.find((selectedOption) => selectedOption.value === option.value))
|
|
59
|
+
return;
|
|
60
|
+
handleSelectOption(option);
|
|
61
|
+
if (multiple) {
|
|
62
|
+
inputRef.current?.focus();
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// move cursor to the end of the input
|
|
66
|
+
setTimeout(() => {
|
|
67
|
+
inputRef.current?.setSelectionRange(option?.label?.length || 0, option?.label?.length || 0);
|
|
68
|
+
}, 0);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
return (jsxRuntime.jsxs(Box.Box
|
|
72
|
+
/* Props from floating-ui */
|
|
73
|
+
, { ...getReferenceProps({
|
|
74
|
+
ref: refs?.setReference,
|
|
75
|
+
role: null,
|
|
76
|
+
'aria-controls': null,
|
|
77
|
+
'aria-expanded': null,
|
|
78
|
+
'aria-haspopup': null,
|
|
79
|
+
/* If we click the wrapper, open the list, set index to first option, and focus the input */
|
|
80
|
+
onClick() {
|
|
81
|
+
if (disabled)
|
|
82
|
+
return;
|
|
83
|
+
if (readOnly)
|
|
84
|
+
return;
|
|
85
|
+
setOpen(true);
|
|
86
|
+
setActiveIndex(0);
|
|
87
|
+
inputRef.current?.focus();
|
|
88
|
+
},
|
|
89
|
+
/* Handles list navigation */
|
|
90
|
+
onKeyDown(event) {
|
|
91
|
+
handleKeyDown(event);
|
|
92
|
+
},
|
|
93
|
+
// preventDefault on keydown to avoid sending in form
|
|
94
|
+
onKeyPress(event) {
|
|
95
|
+
if (event.key === 'Enter') {
|
|
96
|
+
event.preventDefault();
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
}), "aria-disabled": disabled, className: clsx.clsx(Textfield_module.input, Combobox_module.inputWrapper, Combobox_module[size], inputInFocus && Combobox_module.inFocus, readOnly && Combobox_module.readonly, error && Combobox_module.error), children: [jsxRuntime.jsxs("div", { className: Combobox_module.chipAndInput, children: [multiple && !hideChips && jsxRuntime.jsx(ComboboxChips.default, {}), jsxRuntime.jsx("input", { ref: mergedRefs, "aria-activedescendant": activeDescendant, readOnly: readOnly, "aria-autocomplete": 'list', role: 'combobox', "aria-expanded": open, "aria-controls": listId, autoComplete: 'off', size: htmlSize, value: inputValue, ...objectUtils.omit(['style', 'className'], rest), ...formFieldProps.inputProps, onChange: (e) => {
|
|
100
|
+
onChange(e);
|
|
101
|
+
rest.onChange && rest.onChange(e);
|
|
102
|
+
} })] }), multiple && selectedOptions.length > 0 && jsxRuntime.jsx(ComboboxClearButton.default, {}), jsxRuntime.jsx("div", { className: Combobox_module.arrow, children: open ? (jsxRuntime.jsx(akselIcons.ChevronUpIcon, { title: 'arrow up', fontSize: '1.5em' })) : (jsxRuntime.jsx(akselIcons.ChevronDownIcon, { title: 'arrow down', fontSize: '1.5em' })) })] }));
|
|
103
|
+
};
|
|
104
|
+
ComboboxInput.displayName = 'ComboboxInput';
|
|
105
|
+
var ComboboxInput$1 = ComboboxInput;
|
|
106
|
+
|
|
107
|
+
exports.ComboboxInput = ComboboxInput;
|
|
108
|
+
exports.default = ComboboxInput$1;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var clsx = require('../../../../node_modules/clsx/dist/clsx.js');
|
|
8
|
+
var akselIcons = require('@navikt/aksel-icons');
|
|
9
|
+
var Combobox_module = require('../Combobox.module.css.js');
|
|
10
|
+
var utility_module = require('../../../../utilities/utility.module.css.js');
|
|
11
|
+
var Label = require('../../../Typography/Label/Label.js');
|
|
12
|
+
var Paragraph = require('../../../Typography/Paragraph/Paragraph.js');
|
|
13
|
+
|
|
14
|
+
const ComboboxLabel = ({ label, description, hideLabel, size, readOnly, formFieldProps, }) => {
|
|
15
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [label && (jsxRuntime.jsxs(Label.Label, { size: size, htmlFor: formFieldProps.inputProps.id, className: clsx.clsx(Combobox_module.label, hideLabel && utility_module.visuallyHidden), children: [readOnly && (jsxRuntime.jsx(akselIcons.PadlockLockedFillIcon, { "aria-hidden": true, className: Combobox_module.padlock })), label] })), description && (jsxRuntime.jsx(Paragraph.Paragraph, { asChild: true, size: size, children: jsxRuntime.jsx("div", { id: formFieldProps.descriptionId, className: clsx.clsx(Combobox_module.description, hideLabel && utility_module.visuallyHidden), children: description }) }))] }));
|
|
16
|
+
};
|
|
17
|
+
ComboboxLabel.displayName = 'ComboboxLabel';
|
|
18
|
+
var ComboboxLabel$1 = ComboboxLabel;
|
|
19
|
+
|
|
20
|
+
exports.ComboboxLabel = ComboboxLabel;
|
|
21
|
+
exports.default = ComboboxLabel$1;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
const ComboboxNative = ({ selectedOptions, multiple, name, }) => {
|
|
9
|
+
return (jsxRuntime.jsx("select", { name: name, multiple: multiple, style: { display: 'none' }, value: multiple
|
|
10
|
+
? selectedOptions.map((option) => option.value)
|
|
11
|
+
: selectedOptions[0]?.value, onChange: () => { }, children: selectedOptions.map((option) => (jsxRuntime.jsx("option", { value: option.value }, option.value))) }));
|
|
12
|
+
};
|
|
13
|
+
ComboboxNative.displayName = 'ComboboxNative';
|
|
14
|
+
var ComboboxNative$1 = ComboboxNative;
|
|
15
|
+
|
|
16
|
+
exports.ComboboxNative = ComboboxNative;
|
|
17
|
+
exports.default = ComboboxNative$1;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var Option = require('./Option/Option.js');
|
|
8
|
+
var Custom = require('./Custom/Custom.js');
|
|
9
|
+
|
|
10
|
+
function _interopNamespaceDefault(e) {
|
|
11
|
+
var n = Object.create(null);
|
|
12
|
+
if (e) {
|
|
13
|
+
Object.keys(e).forEach(function (k) {
|
|
14
|
+
if (k !== 'default') {
|
|
15
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return e[k]; }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
n.default = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
28
|
+
|
|
29
|
+
function useCombobox({ children, inputValue, multiple, selectedOptions, filter, }) {
|
|
30
|
+
const options = React.useMemo(() => {
|
|
31
|
+
const allOptions = [];
|
|
32
|
+
React__namespace.Children.forEach(children, (child) => {
|
|
33
|
+
if (isComboboxOption(child)) {
|
|
34
|
+
const props = child.props;
|
|
35
|
+
let label = props.displayValue || '';
|
|
36
|
+
if (!props.displayValue) {
|
|
37
|
+
let childrenLabel = '';
|
|
38
|
+
// go over children and find all strings
|
|
39
|
+
React__namespace.Children.forEach(props.children, (child) => {
|
|
40
|
+
if (typeof child === 'string') {
|
|
41
|
+
childrenLabel += child;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new Error('If ComboboxOption is not a string, it must have a displayValue prop');
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
label = childrenLabel;
|
|
48
|
+
}
|
|
49
|
+
allOptions.push({
|
|
50
|
+
value: props.value,
|
|
51
|
+
label,
|
|
52
|
+
displayValue: props.displayValue,
|
|
53
|
+
description: props.description,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return allOptions;
|
|
58
|
+
}, [children]);
|
|
59
|
+
const optionsChildren = React.useMemo(() => {
|
|
60
|
+
const valuesArray = Array.from(options);
|
|
61
|
+
const children_ = React__namespace.Children.toArray(children).filter((child) => isComboboxOption(child));
|
|
62
|
+
const activeValue = valuesArray.find((item) => item.label === inputValue);
|
|
63
|
+
if (activeValue && !multiple)
|
|
64
|
+
return children_;
|
|
65
|
+
if (inputValue === '' && !multiple)
|
|
66
|
+
return children_;
|
|
67
|
+
return children_.filter((child) => {
|
|
68
|
+
const { value } = child.props;
|
|
69
|
+
const option = valuesArray.find((item) => item.value === value);
|
|
70
|
+
if (!option)
|
|
71
|
+
return false;
|
|
72
|
+
const isSelected = selectedOptions.some((selectedOption) => selectedOption.value === value);
|
|
73
|
+
// show what we search for, and all selected options
|
|
74
|
+
return filter(inputValue, { ...option }) || isSelected;
|
|
75
|
+
});
|
|
76
|
+
}, [options, children, multiple, inputValue, selectedOptions, filter]);
|
|
77
|
+
const customIds = React.useMemo(() => {
|
|
78
|
+
// find all custom components with `interactive=true` and generate random values for them
|
|
79
|
+
const children_ = React__namespace.Children.toArray(children).filter((child) => {
|
|
80
|
+
return isInteractiveComboboxCustom(child);
|
|
81
|
+
});
|
|
82
|
+
// return all ids
|
|
83
|
+
return children_.map((child) => {
|
|
84
|
+
if (!child.props.id)
|
|
85
|
+
throw new Error('If ComboboxCustom is interactive, it must have an id');
|
|
86
|
+
return child.props.id;
|
|
87
|
+
});
|
|
88
|
+
}, [children]);
|
|
89
|
+
const optionValues = React.useMemo(() => {
|
|
90
|
+
// create an index map of values from optionsChildren
|
|
91
|
+
const options = optionsChildren.map((child) => {
|
|
92
|
+
const { value } = child.props;
|
|
93
|
+
return value;
|
|
94
|
+
});
|
|
95
|
+
return [...customIds, ...options];
|
|
96
|
+
}, [customIds, optionsChildren]);
|
|
97
|
+
const restChildren = React.useMemo(() => {
|
|
98
|
+
return React__namespace.Children.toArray(children).filter((child) => {
|
|
99
|
+
return !isComboboxOption(child);
|
|
100
|
+
});
|
|
101
|
+
}, [children]);
|
|
102
|
+
return {
|
|
103
|
+
optionsChildren,
|
|
104
|
+
optionValues,
|
|
105
|
+
restChildren,
|
|
106
|
+
options,
|
|
107
|
+
customIds,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function isComboboxOption(child) {
|
|
111
|
+
return React__namespace.isValidElement(child) && child.type === Option.ComboboxOption;
|
|
112
|
+
}
|
|
113
|
+
function isComboboxCustom(child) {
|
|
114
|
+
return React__namespace.isValidElement(child) && child.type === Custom.default;
|
|
115
|
+
}
|
|
116
|
+
function isInteractiveComboboxCustom(child) {
|
|
117
|
+
return isComboboxCustom(child) && child.props.interactive === true;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
exports.default = useCombobox;
|
|
121
|
+
exports.isComboboxCustom = isComboboxCustom;
|
|
122
|
+
exports.isComboboxOption = isComboboxOption;
|
|
123
|
+
exports.isInteractiveComboboxCustom = isInteractiveComboboxCustom;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var clsx = require('../../../node_modules/clsx/dist/clsx.js');
|
|
7
|
+
var akselIcons = require('@navikt/aksel-icons');
|
|
8
|
+
var utility_module = require('../../../utilities/utility.module.css.js');
|
|
9
|
+
var useFieldset = require('./useFieldset.js');
|
|
10
|
+
var Fieldset_module = require('./Fieldset.module.css.js');
|
|
11
|
+
var Label = require('../../Typography/Label/Label.js');
|
|
12
|
+
var ErrorMessage = require('../../Typography/ErrorMessage/ErrorMessage.js');
|
|
13
|
+
var Paragraph = require('../../Typography/Paragraph/Paragraph.js');
|
|
14
|
+
|
|
15
|
+
const FieldsetContext = React.createContext(null);
|
|
16
|
+
const Fieldset = React.forwardRef((props, ref) => {
|
|
17
|
+
const { children, legend, description, error, hideLegend, className, ...rest } = props;
|
|
18
|
+
const { fieldsetProps, size, readOnly, errorId, hasError, descriptionId } = useFieldset.useFieldset(props);
|
|
19
|
+
const fieldset = React.useContext(FieldsetContext);
|
|
20
|
+
return (jsxRuntime.jsx(FieldsetContext.Provider, { value: {
|
|
21
|
+
error: error ?? fieldset?.error,
|
|
22
|
+
errorId: hasError ? errorId : undefined,
|
|
23
|
+
size,
|
|
24
|
+
disabled: props?.disabled,
|
|
25
|
+
readOnly,
|
|
26
|
+
}, children: jsxRuntime.jsxs("fieldset", { ...fieldsetProps, className: clsx.clsx(Fieldset_module.fieldset, !hideLegend && Fieldset_module.withSpacing, readOnly && Fieldset_module.readonly, props?.disabled && Fieldset_module.disabled, className), ref: ref, ...rest, children: [jsxRuntime.jsx(Label.Label, { asChild: true, size: size, children: jsxRuntime.jsx("legend", { className: Fieldset_module.legend, children: jsxRuntime.jsxs("span", { className: clsx.clsx(Fieldset_module.legendContent, hideLegend && utility_module.visuallyHidden), children: [readOnly && (jsxRuntime.jsx(akselIcons.PadlockLockedFillIcon, { className: Fieldset_module.padlock, "aria-hidden": true })), legend] }) }) }), description && (jsxRuntime.jsx(Paragraph.Paragraph, { size: size, asChild: true, short: true, children: jsxRuntime.jsx("div", { id: descriptionId, className: clsx.clsx(Fieldset_module.description, hideLegend && utility_module.visuallyHidden), children: description }) })), children, jsxRuntime.jsx("div", { id: errorId, "aria-live": 'polite', "aria-relevant": 'additions removals', className: Fieldset_module.errorWrapper, children: hasError && jsxRuntime.jsx(ErrorMessage.ErrorMessage, { size: size, children: error }) })] }) }));
|
|
27
|
+
});
|
|
28
|
+
Fieldset.displayName = 'Fieldset';
|
|
29
|
+
|
|
30
|
+
exports.Fieldset = Fieldset;
|
|
31
|
+
exports.FieldsetContext = FieldsetContext;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var classes = {"fieldset":"fds-fieldset-fieldset-4ef8e1c","withSpacing":"fds-fieldset-withSpacing-4ef8e1c","description":"fds-fieldset-description-4ef8e1c","legend":"fds-fieldset-legend-4ef8e1c","readonly":"fds-fieldset-readonly-4ef8e1c","legendContent":"fds-fieldset-legendContent-4ef8e1c","padlock":"fds-fieldset-padlock-4ef8e1c","disabled":"fds-fieldset-disabled-4ef8e1c","errorWrapper":"fds-fieldset-errorWrapper-4ef8e1c"};
|
|
5
|
+
|
|
6
|
+
module.exports = classes;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var useFormField = require('../useFormField.js');
|
|
5
|
+
|
|
6
|
+
/** Handles fieldset props and state */
|
|
7
|
+
const useFieldset = (props) => {
|
|
8
|
+
const formField = useFormField.useFormField(props, 'fieldset');
|
|
9
|
+
const { inputProps } = formField;
|
|
10
|
+
return {
|
|
11
|
+
...formField,
|
|
12
|
+
fieldsetProps: {
|
|
13
|
+
'aria-invalid': inputProps['aria-invalid'],
|
|
14
|
+
'aria-describedby': inputProps['aria-describedby'],
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.useFieldset = useFieldset;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var clsx = require('../../../node_modules/clsx/dist/clsx.js');
|
|
7
|
+
var akselIcons = require('@navikt/aksel-icons');
|
|
8
|
+
var NativeSelect_module = require('./NativeSelect.module.css.js');
|
|
9
|
+
var utility_module = require('../../../utilities/utility.module.css.js');
|
|
10
|
+
var useNativeSelect = require('./useNativeSelect.js');
|
|
11
|
+
var objectUtils = require('../../../utilities/objectUtils.js');
|
|
12
|
+
var Paragraph = require('../../Typography/Paragraph/Paragraph.js');
|
|
13
|
+
var Label = require('../../Typography/Label/Label.js');
|
|
14
|
+
var ErrorMessage = require('../../Typography/ErrorMessage/ErrorMessage.js');
|
|
15
|
+
|
|
16
|
+
const NativeSelect = React.forwardRef((props, ref) => {
|
|
17
|
+
const { children, disabled = false, label, hideLabel = false, error, className, htmlSize = 0, ...rest } = props;
|
|
18
|
+
const { selectProps, errorId, readOnly = false, size = 'medium', } = useNativeSelect.useNativeSelect(props);
|
|
19
|
+
return (jsxRuntime.jsx(Paragraph.Paragraph, { asChild: true, size: size, children: jsxRuntime.jsxs("div", { className: clsx.clsx(NativeSelect_module.formField, disabled && NativeSelect_module.disabled, readOnly && NativeSelect_module.readOnly, error && NativeSelect_module.error), children: [label && (jsxRuntime.jsxs(Label.Label, { weight: 'medium', size: size, htmlFor: selectProps.id, className: clsx.clsx(NativeSelect_module.label, hideLabel && utility_module.visuallyHidden), children: [readOnly && (jsxRuntime.jsx(akselIcons.PadlockLockedFillIcon, { "aria-hidden": true, className: NativeSelect_module.padlock })), label] })), jsxRuntime.jsx("select", { disabled: disabled || readOnly, ref: ref, size: htmlSize, className: clsx.clsx(NativeSelect_module.select, NativeSelect_module[size], utility_module.focusable, props.multiple && NativeSelect_module.multiple, className), ...objectUtils.omit(['size', 'error', 'errorId'], rest), ...objectUtils.omit(['readOnly', 'disabled'], selectProps), children: children }), error && (jsxRuntime.jsx("div", { id: errorId, className: NativeSelect_module.errorMessage, "aria-live": 'polite', "aria-relevant": 'additions removals', children: jsxRuntime.jsx(ErrorMessage.ErrorMessage, { size: size, children: error }) }))] }) }));
|
|
20
|
+
});
|
|
21
|
+
NativeSelect.displayName = 'NativeSelect';
|
|
22
|
+
|
|
23
|
+
exports.NativeSelect = NativeSelect;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var classes = {"select":"fds-nativeselect-select-88cf3fbc","multiple":"fds-nativeselect-multiple-88cf3fbc","small":"fds-nativeselect-small-88cf3fbc","medium":"fds-nativeselect-medium-88cf3fbc","large":"fds-nativeselect-large-88cf3fbc","formField":"fds-nativeselect-formField-88cf3fbc","disabled":"fds-nativeselect-disabled-88cf3fbc","readOnly":"fds-nativeselect-readOnly-88cf3fbc","error":"fds-nativeselect-error-88cf3fbc","padlock":"fds-nativeselect-padlock-88cf3fbc","errorMessage":"fds-nativeselect-errorMessage-88cf3fbc","label":"fds-nativeselect-label-88cf3fbc"};
|
|
5
|
+
|
|
6
|
+
module.exports = classes;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var useFormField = require('../useFormField.js');
|
|
6
|
+
var Fieldset = require('../Fieldset/Fieldset.js');
|
|
7
|
+
|
|
8
|
+
/** Handles props for `NativeSelect` in context with `Fieldset` */
|
|
9
|
+
const useNativeSelect = (props) => {
|
|
10
|
+
const fieldset = React.useContext(Fieldset.FieldsetContext);
|
|
11
|
+
const { inputProps: selectProps, readOnly, ...rest } = useFormField.useFormField(props, 'select');
|
|
12
|
+
return {
|
|
13
|
+
...rest,
|
|
14
|
+
readOnly,
|
|
15
|
+
size: fieldset?.size ?? props.size,
|
|
16
|
+
selectProps: {
|
|
17
|
+
...selectProps,
|
|
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
|
+
exports.useNativeSelect = useNativeSelect;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var clsx = require('../../../../node_modules/clsx/dist/clsx.js');
|
|
7
|
+
var Group_module = require('./Group.module.css.js');
|
|
8
|
+
var Fieldset = require('../../Fieldset/Fieldset.js');
|
|
9
|
+
|
|
10
|
+
const RadioGroupContext = React.createContext(null);
|
|
11
|
+
const RadioGroup = React.forwardRef(({ onChange, children, value, readOnly, defaultValue, name, size = 'medium', required, inline, className, ...rest }, ref) => {
|
|
12
|
+
const nameId = React.useId();
|
|
13
|
+
return (jsxRuntime.jsx(Fieldset.Fieldset, { readOnly: readOnly, size: size, className: className, ref: ref, ...rest, children: jsxRuntime.jsx(RadioGroupContext.Provider, { value: {
|
|
14
|
+
value,
|
|
15
|
+
defaultValue,
|
|
16
|
+
name: name ?? `radiogroup-name-${nameId}`,
|
|
17
|
+
onChange,
|
|
18
|
+
required,
|
|
19
|
+
}, children: jsxRuntime.jsx("div", { className: clsx.clsx(inline && Group_module.inline), children: children }) }) }));
|
|
20
|
+
});
|
|
21
|
+
RadioGroup.displayName = 'RadioGroup';
|
|
22
|
+
|
|
23
|
+
exports.RadioGroup = RadioGroup;
|
|
24
|
+
exports.RadioGroupContext = RadioGroupContext;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var clsx = require('../../../node_modules/clsx/dist/clsx.js');
|
|
7
|
+
var Radio_module = require('./Radio.module.css.js');
|
|
8
|
+
var useRadio = require('./useRadio.js');
|
|
9
|
+
var Paragraph = require('../../Typography/Paragraph/Paragraph.js');
|
|
10
|
+
var objectUtils = require('../../../utilities/objectUtils.js');
|
|
11
|
+
var Label = require('../../Typography/Label/Label.js');
|
|
12
|
+
|
|
13
|
+
const Radio = React.forwardRef((props, ref) => {
|
|
14
|
+
const { children, description, className, ...rest } = props;
|
|
15
|
+
const { inputProps, descriptionId, hasError, size = 'medium', readOnly, } = useRadio.useRadio(props);
|
|
16
|
+
return (jsxRuntime.jsx(Paragraph.Paragraph, { asChild: true, size: size, children: jsxRuntime.jsxs("div", { className: clsx.clsx(Radio_module.container, Radio_module[size], inputProps.disabled && Radio_module.disabled, hasError && Radio_module.error, readOnly && Radio_module.readonly, className), children: [jsxRuntime.jsx("input", { className: Radio_module.input, ref: ref, ...objectUtils.omit(['size', 'error'], rest), ...inputProps }), jsxRuntime.jsx(Label.Label, { className: Radio_module.label, htmlFor: inputProps.id, size: size, weight: 'regular', children: jsxRuntime.jsx("span", { children: children }) }), description && (jsxRuntime.jsx(Paragraph.Paragraph, { asChild: true, size: size, children: jsxRuntime.jsx("div", { id: descriptionId, className: Radio_module.description, children: description }) }))] }) }));
|
|
17
|
+
});
|
|
18
|
+
Radio.displayName = 'Radio';
|
|
19
|
+
|
|
20
|
+
exports.Radio = Radio;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var classes = {"container":"fds-radio-container-631ff5a4","label":"fds-radio-label-631ff5a4","description":"fds-radio-description-631ff5a4","input":"fds-radio-input-631ff5a4","disabled":"fds-radio-disabled-631ff5a4","readonly":"fds-radio-readonly-631ff5a4","error":"fds-radio-error-631ff5a4","small":"fds-radio-small-631ff5a4","medium":"fds-radio-medium-631ff5a4","large":"fds-radio-large-631ff5a4"};
|
|
5
|
+
|
|
6
|
+
module.exports = classes;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var Radio$1 = require('./Radio.js');
|
|
5
|
+
var Group = require('./Group/Group.js');
|
|
6
|
+
|
|
7
|
+
/** `<input> element with `type="radio"` used for selecting one option */
|
|
8
|
+
const Radio = Radio$1.Radio;
|
|
9
|
+
Radio.Group = Group.RadioGroup;
|
|
10
|
+
Radio.Group.displayName = 'Radio.Group';
|
|
11
|
+
|
|
12
|
+
exports.RadioGroup = Group.RadioGroup;
|
|
13
|
+
exports.Radio = Radio;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var useFormField = require('../useFormField.js');
|
|
6
|
+
var Group = require('./Group/Group.js');
|
|
7
|
+
|
|
8
|
+
/** Handles props for `Radio` in context with `Radio.Group` (and `Fieldset`) */
|
|
9
|
+
const useRadio = (props) => {
|
|
10
|
+
const radioGroup = React.useContext(Group.RadioGroupContext);
|
|
11
|
+
const { inputProps, readOnly, ...rest } = useFormField.useFormField(props, 'radio');
|
|
12
|
+
return {
|
|
13
|
+
...rest,
|
|
14
|
+
readOnly,
|
|
15
|
+
inputProps: {
|
|
16
|
+
...inputProps,
|
|
17
|
+
readOnly,
|
|
18
|
+
type: 'radio',
|
|
19
|
+
name: radioGroup?.name ?? props.name,
|
|
20
|
+
required: radioGroup?.required,
|
|
21
|
+
defaultChecked: radioGroup?.defaultValue
|
|
22
|
+
? radioGroup?.defaultValue === props.value
|
|
23
|
+
: props.defaultChecked,
|
|
24
|
+
checked: radioGroup?.value
|
|
25
|
+
? radioGroup?.value === props.value
|
|
26
|
+
: props.checked,
|
|
27
|
+
onClick: (e) => {
|
|
28
|
+
if (readOnly) {
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
props?.onClick?.(e);
|
|
33
|
+
},
|
|
34
|
+
onChange: (e) => {
|
|
35
|
+
if (readOnly) {
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
props?.onChange?.(e);
|
|
40
|
+
radioGroup?.onChange?.(props.value);
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
exports.useRadio = useRadio;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var clsx = require('../../../node_modules/clsx/dist/clsx.js');
|
|
7
|
+
var akselIcons = require('@navikt/aksel-icons');
|
|
8
|
+
var floatingUi_react = require('../../../node_modules/@floating-ui/react/dist/floating-ui.react.js');
|
|
9
|
+
var useSearch = require('./useSearch.js');
|
|
10
|
+
var Search_module = require('./Search.module.css.js');
|
|
11
|
+
var utility_module = require('../../../utilities/utility.module.css.js');
|
|
12
|
+
var Button = require('../../Button/Button.js');
|
|
13
|
+
var Paragraph = require('../../Typography/Paragraph/Paragraph.js');
|
|
14
|
+
var Label = require('../../Typography/Label/Label.js');
|
|
15
|
+
var objectUtils = require('../../../utilities/objectUtils.js');
|
|
16
|
+
var ErrorMessage = require('../../Typography/ErrorMessage/ErrorMessage.js');
|
|
17
|
+
|
|
18
|
+
/** Search field
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <Search label="Search" label">
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
const Search = React.forwardRef((props, ref) => {
|
|
26
|
+
const { label, style, hideLabel = true, variant = 'simple', searchButtonLabel = 'Søk', clearButtonLabel = 'Tøm', defaultValue, value, onChange, onClear, disabled, onSearchClick, htmlSize = 27, className, ...rest } = props;
|
|
27
|
+
const { inputProps, hasError, errorId, size = 'medium' } = useSearch.useSearch(props);
|
|
28
|
+
const inputRef = React.useRef();
|
|
29
|
+
const mergedRef = floatingUi_react.useMergeRefs([ref, inputRef]);
|
|
30
|
+
const [internalValue, setInternalValue] = React.useState(defaultValue ?? '');
|
|
31
|
+
const handleChange = React.useCallback((e) => {
|
|
32
|
+
const newValue = e.target.value;
|
|
33
|
+
value === undefined && setInternalValue(newValue);
|
|
34
|
+
onChange?.(e);
|
|
35
|
+
}, [onChange, value]);
|
|
36
|
+
const handleClear = () => {
|
|
37
|
+
onClear?.(internalValue);
|
|
38
|
+
setInternalValue('');
|
|
39
|
+
inputRef?.current && inputRef.current.focus();
|
|
40
|
+
};
|
|
41
|
+
const handleSearchClick = () => {
|
|
42
|
+
onSearchClick?.((value ?? internalValue).toString());
|
|
43
|
+
};
|
|
44
|
+
const isSimple = variant === 'simple';
|
|
45
|
+
const showClearButton = Boolean(value ?? internalValue) && !disabled;
|
|
46
|
+
return (jsxRuntime.jsx(Paragraph.Paragraph, { asChild: true, size: size, children: jsxRuntime.jsxs("div", { style: style, className: clsx.clsx(Search_module.formField, inputProps.disabled && Search_module.disabled, Search_module[size], className), children: [label && (jsxRuntime.jsx(Label.Label, { size: size, weight: 'medium', htmlFor: inputProps.id, className: clsx.clsx(Search_module.label, hideLabel && utility_module.visuallyHidden), children: jsxRuntime.jsx("span", { children: label }) })), jsxRuntime.jsxs("div", { className: Search_module.field, children: [jsxRuntime.jsxs("div", { className: Search_module.field, children: [isSimple && (jsxRuntime.jsx(akselIcons.MagnifyingGlassIcon, { className: Search_module.icon, "aria-hidden": true })), jsxRuntime.jsx("input", { ref: mergedRef, size: htmlSize, value: value ?? internalValue, disabled: disabled, className: clsx.clsx(Search_module.input, utility_module.focusable, Search_module[size], isSimple && Search_module.simple, !isSimple && Search_module.withSearchButton), ...objectUtils.omit(['size', 'error', 'errorId', 'readOnly'], rest), ...inputProps, onChange: handleChange }), showClearButton && (jsxRuntime.jsxs("button", { className: clsx.clsx(Search_module.clearButton, utility_module.focusable), type: 'button', onClick: handleClear, disabled: disabled, children: [jsxRuntime.jsx("span", { className: utility_module.visuallyHidden, children: clearButtonLabel }), jsxRuntime.jsx(akselIcons.XMarkIcon, { "aria-hidden": true })] }))] }), !isSimple && (jsxRuntime.jsx(Button.Button, { className: Search_module.searchButton, size: size, variant: variant, type: 'submit', onClick: handleSearchClick, disabled: disabled, children: searchButtonLabel }))] }), jsxRuntime.jsx("div", { className: Search_module.errorMessage, id: errorId, "aria-live": 'polite', "aria-relevant": 'additions removals', children: hasError && jsxRuntime.jsx(ErrorMessage.ErrorMessage, { size: size, children: props.error }) })] }) }));
|
|
47
|
+
});
|
|
48
|
+
Search.displayName = 'Search';
|
|
49
|
+
|
|
50
|
+
exports.Search = Search;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var classes = {"formField":"fds-search-formField-7eb2965c","small":"fds-search-small-7eb2965c","medium":"fds-search-medium-7eb2965c","large":"fds-search-large-7eb2965c","errorMessage":"fds-search-errorMessage-7eb2965c","label":"fds-search-label-7eb2965c","field":"fds-search-field-7eb2965c","icon":"fds-search-icon-7eb2965c","input":"fds-search-input-7eb2965c","withSearchButton":"fds-search-withSearchButton-7eb2965c","disabled":"fds-search-disabled-7eb2965c","searchButton":"fds-search-searchButton-7eb2965c","clearButton":"fds-search-clearButton-7eb2965c","simple":"fds-search-simple-7eb2965c","error":"fds-search-error-7eb2965c"};
|
|
5
|
+
|
|
6
|
+
module.exports = classes;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var useFormField = require('../useFormField.js');
|
|
6
|
+
var Fieldset = require('../Fieldset/Fieldset.js');
|
|
7
|
+
|
|
8
|
+
const sizeMap = {
|
|
9
|
+
small: 'small',
|
|
10
|
+
medium: 'medium',
|
|
11
|
+
large: 'large',
|
|
12
|
+
};
|
|
13
|
+
/** Handles props for `Search` in context with `Fieldset` */
|
|
14
|
+
const useSearch = (props) => {
|
|
15
|
+
const fieldset = React.useContext(Fieldset.FieldsetContext);
|
|
16
|
+
const { inputProps, readOnly, ...rest } = useFormField.useFormField(props, 'search');
|
|
17
|
+
const fieldSetSize = fieldset?.size ? sizeMap[fieldset?.size] : null;
|
|
18
|
+
return {
|
|
19
|
+
...rest,
|
|
20
|
+
readOnly,
|
|
21
|
+
size: fieldSetSize ?? props.size,
|
|
22
|
+
inputProps: {
|
|
23
|
+
...inputProps,
|
|
24
|
+
type: 'search',
|
|
25
|
+
name: props.name ?? 'q',
|
|
26
|
+
readOnly,
|
|
27
|
+
onClick: (e) => {
|
|
28
|
+
if (readOnly) {
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
props?.onClick?.(e);
|
|
33
|
+
},
|
|
34
|
+
onChange: (e) => {
|
|
35
|
+
if (readOnly) {
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
props?.onChange?.(e);
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.useSearch = useSearch;
|