@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,39 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useContext } from 'react';
|
|
4
|
+
import { XMarkIcon } from '@navikt/aksel-icons';
|
|
5
|
+
import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
|
|
6
|
+
import { ComboboxContext } from '../Combobox.js';
|
|
7
|
+
import classes from '../Combobox.module.css.js';
|
|
8
|
+
import utilityClasses from '../../../../utilities/utility.module.css.js';
|
|
9
|
+
|
|
10
|
+
const ComboboxClearButton = () => {
|
|
11
|
+
const context = useContext(ComboboxContext);
|
|
12
|
+
if (!context) {
|
|
13
|
+
throw new Error('ComboboxContext is missing');
|
|
14
|
+
}
|
|
15
|
+
const { size, readOnly, disabled, cleanButtonLabel, inputRef, setSelectedOptions, setInputValue, } = context;
|
|
16
|
+
return (jsx("button", { disabled: disabled, className: clsx(classes.clearButton, classes[size], utilityClasses.focusable), onClick: () => {
|
|
17
|
+
if (readOnly)
|
|
18
|
+
return;
|
|
19
|
+
if (disabled)
|
|
20
|
+
return;
|
|
21
|
+
setSelectedOptions([]);
|
|
22
|
+
setInputValue('');
|
|
23
|
+
}, onKeyDown: (e) => {
|
|
24
|
+
if (readOnly)
|
|
25
|
+
return;
|
|
26
|
+
if (disabled)
|
|
27
|
+
return;
|
|
28
|
+
if (e.key === 'Enter') {
|
|
29
|
+
e.stopPropagation();
|
|
30
|
+
setSelectedOptions([]);
|
|
31
|
+
setInputValue('');
|
|
32
|
+
inputRef.current?.focus();
|
|
33
|
+
}
|
|
34
|
+
}, type: 'button', "aria-label": cleanButtonLabel, children: jsx(XMarkIcon, { fontSize: '1.5em', title: 'Clear selection' }) }));
|
|
35
|
+
};
|
|
36
|
+
ComboboxClearButton.displayName = 'ComboboxClearButton';
|
|
37
|
+
var ComboboxClearButton$1 = ComboboxClearButton;
|
|
38
|
+
|
|
39
|
+
export { ComboboxClearButton, ComboboxClearButton$1 as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import classes from '../Combobox.module.css.js';
|
|
4
|
+
import { ErrorMessage } from '../../../Typography/ErrorMessage/ErrorMessage.js';
|
|
5
|
+
|
|
6
|
+
const ComboboxError = ({ size, error, formFieldProps, }) => {
|
|
7
|
+
return (jsx("div", { className: classes.errorMessage, id: formFieldProps.errorId, "aria-live": 'polite', "aria-relevant": 'additions removals', children: error && jsx(ErrorMessage, { size: size, children: error }) }));
|
|
8
|
+
};
|
|
9
|
+
ComboboxError.displayName = 'ComboboxError';
|
|
10
|
+
var ComboboxError$1 = ComboboxError;
|
|
11
|
+
|
|
12
|
+
export { ComboboxError, ComboboxError$1 as default };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useContext, useState, useEffect } from 'react';
|
|
4
|
+
import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
|
|
5
|
+
import { ChevronUpIcon, ChevronDownIcon } from '@navikt/aksel-icons';
|
|
6
|
+
import { useMergeRefs } from '../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
|
|
7
|
+
import { ComboboxContext } from '../Combobox.js';
|
|
8
|
+
import classes from '../Combobox.module.css.js';
|
|
9
|
+
import textFieldClasses from '../../Textfield/Textfield.module.css.js';
|
|
10
|
+
import ComboboxChips from './ComboboxChips.js';
|
|
11
|
+
import ComboboxClearButton from './ComboboxClearButton.js';
|
|
12
|
+
import { Box } from '../../../Box/Box.js';
|
|
13
|
+
import { omit } from '../../../../utilities/objectUtils.js';
|
|
14
|
+
|
|
15
|
+
const ComboboxInput = ({ ...rest }) => {
|
|
16
|
+
const context = useContext(ComboboxContext);
|
|
17
|
+
if (!context) {
|
|
18
|
+
throw new Error('ComboboxContext is missing');
|
|
19
|
+
}
|
|
20
|
+
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;
|
|
21
|
+
const mergedRefs = useMergeRefs([forwareddRef, inputRef]);
|
|
22
|
+
// we need to check if input is in focus, to add focus styles to the wrapper
|
|
23
|
+
const [inputInFocus, setInputInFocus] = useState(false);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const input = inputRef.current;
|
|
26
|
+
const onFocus = () => {
|
|
27
|
+
setInputInFocus(true);
|
|
28
|
+
};
|
|
29
|
+
const onBlur = () => {
|
|
30
|
+
setInputInFocus(false);
|
|
31
|
+
};
|
|
32
|
+
input?.addEventListener('focus', onFocus);
|
|
33
|
+
input?.addEventListener('blur', onBlur);
|
|
34
|
+
return () => {
|
|
35
|
+
input?.removeEventListener('focus', onFocus);
|
|
36
|
+
input?.removeEventListener('blur', onBlur);
|
|
37
|
+
};
|
|
38
|
+
}, [inputRef]);
|
|
39
|
+
// onChange function for the input
|
|
40
|
+
const onChange = (event) => {
|
|
41
|
+
const value = event.target.value;
|
|
42
|
+
setInputValue(value);
|
|
43
|
+
setActiveIndex(0);
|
|
44
|
+
if (typeof value === 'string') {
|
|
45
|
+
setOpen(true);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
setOpen(false);
|
|
49
|
+
}
|
|
50
|
+
// check if input value is the same as a label, if so, select it
|
|
51
|
+
const option = options.find((option) => option.label === value);
|
|
52
|
+
if (!option)
|
|
53
|
+
return;
|
|
54
|
+
if (selectedOptions.find((selectedOption) => selectedOption.value === option.value))
|
|
55
|
+
return;
|
|
56
|
+
handleSelectOption(option);
|
|
57
|
+
if (multiple) {
|
|
58
|
+
inputRef.current?.focus();
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// move cursor to the end of the input
|
|
62
|
+
setTimeout(() => {
|
|
63
|
+
inputRef.current?.setSelectionRange(option?.label?.length || 0, option?.label?.length || 0);
|
|
64
|
+
}, 0);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
return (jsxs(Box
|
|
68
|
+
/* Props from floating-ui */
|
|
69
|
+
, { ...getReferenceProps({
|
|
70
|
+
ref: refs?.setReference,
|
|
71
|
+
role: null,
|
|
72
|
+
'aria-controls': null,
|
|
73
|
+
'aria-expanded': null,
|
|
74
|
+
'aria-haspopup': null,
|
|
75
|
+
/* If we click the wrapper, open the list, set index to first option, and focus the input */
|
|
76
|
+
onClick() {
|
|
77
|
+
if (disabled)
|
|
78
|
+
return;
|
|
79
|
+
if (readOnly)
|
|
80
|
+
return;
|
|
81
|
+
setOpen(true);
|
|
82
|
+
setActiveIndex(0);
|
|
83
|
+
inputRef.current?.focus();
|
|
84
|
+
},
|
|
85
|
+
/* Handles list navigation */
|
|
86
|
+
onKeyDown(event) {
|
|
87
|
+
handleKeyDown(event);
|
|
88
|
+
},
|
|
89
|
+
// preventDefault on keydown to avoid sending in form
|
|
90
|
+
onKeyPress(event) {
|
|
91
|
+
if (event.key === 'Enter') {
|
|
92
|
+
event.preventDefault();
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
}), "aria-disabled": disabled, className: clsx(textFieldClasses.input, classes.inputWrapper, classes[size], inputInFocus && classes.inFocus, readOnly && classes.readonly, error && classes.error), children: [jsxs("div", { className: classes.chipAndInput, children: [multiple && !hideChips && jsx(ComboboxChips, {}), 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, ...omit(['style', 'className'], rest), ...formFieldProps.inputProps, onChange: (e) => {
|
|
96
|
+
onChange(e);
|
|
97
|
+
rest.onChange && rest.onChange(e);
|
|
98
|
+
} })] }), multiple && selectedOptions.length > 0 && jsx(ComboboxClearButton, {}), jsx("div", { className: classes.arrow, children: open ? (jsx(ChevronUpIcon, { title: 'arrow up', fontSize: '1.5em' })) : (jsx(ChevronDownIcon, { title: 'arrow down', fontSize: '1.5em' })) })] }));
|
|
99
|
+
};
|
|
100
|
+
ComboboxInput.displayName = 'ComboboxInput';
|
|
101
|
+
var ComboboxInput$1 = ComboboxInput;
|
|
102
|
+
|
|
103
|
+
export { ComboboxInput, ComboboxInput$1 as default };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
|
|
4
|
+
import { PadlockLockedFillIcon } from '@navikt/aksel-icons';
|
|
5
|
+
import classes from '../Combobox.module.css.js';
|
|
6
|
+
import utilityClasses from '../../../../utilities/utility.module.css.js';
|
|
7
|
+
import { Label } from '../../../Typography/Label/Label.js';
|
|
8
|
+
import { Paragraph } from '../../../Typography/Paragraph/Paragraph.js';
|
|
9
|
+
|
|
10
|
+
const ComboboxLabel = ({ label, description, hideLabel, size, readOnly, formFieldProps, }) => {
|
|
11
|
+
return (jsxs(Fragment, { children: [label && (jsxs(Label, { size: size, htmlFor: formFieldProps.inputProps.id, className: clsx(classes.label, hideLabel && utilityClasses.visuallyHidden), children: [readOnly && (jsx(PadlockLockedFillIcon, { "aria-hidden": true, className: classes.padlock })), label] })), description && (jsx(Paragraph, { asChild: true, size: size, children: jsx("div", { id: formFieldProps.descriptionId, className: clsx(classes.description, hideLabel && utilityClasses.visuallyHidden), children: description }) }))] }));
|
|
12
|
+
};
|
|
13
|
+
ComboboxLabel.displayName = 'ComboboxLabel';
|
|
14
|
+
var ComboboxLabel$1 = ComboboxLabel;
|
|
15
|
+
|
|
16
|
+
export { ComboboxLabel, ComboboxLabel$1 as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
const ComboboxNative = ({ selectedOptions, multiple, name, }) => {
|
|
5
|
+
return (jsx("select", { name: name, multiple: multiple, style: { display: 'none' }, value: multiple
|
|
6
|
+
? selectedOptions.map((option) => option.value)
|
|
7
|
+
: selectedOptions[0]?.value, onChange: () => { }, children: selectedOptions.map((option) => (jsx("option", { value: option.value }, option.value))) }));
|
|
8
|
+
};
|
|
9
|
+
ComboboxNative.displayName = 'ComboboxNative';
|
|
10
|
+
var ComboboxNative$1 = ComboboxNative;
|
|
11
|
+
|
|
12
|
+
export { ComboboxNative, ComboboxNative$1 as default };
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { ComboboxOption } from './Option/Option.js';
|
|
5
|
+
import ComboboxCustom from './Custom/Custom.js';
|
|
6
|
+
|
|
7
|
+
function useCombobox({ children, inputValue, multiple, selectedOptions, filter, }) {
|
|
8
|
+
const options = useMemo(() => {
|
|
9
|
+
const allOptions = [];
|
|
10
|
+
React.Children.forEach(children, (child) => {
|
|
11
|
+
if (isComboboxOption(child)) {
|
|
12
|
+
const props = child.props;
|
|
13
|
+
let label = props.displayValue || '';
|
|
14
|
+
if (!props.displayValue) {
|
|
15
|
+
let childrenLabel = '';
|
|
16
|
+
// go over children and find all strings
|
|
17
|
+
React.Children.forEach(props.children, (child) => {
|
|
18
|
+
if (typeof child === 'string') {
|
|
19
|
+
childrenLabel += child;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
throw new Error('If ComboboxOption is not a string, it must have a displayValue prop');
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
label = childrenLabel;
|
|
26
|
+
}
|
|
27
|
+
allOptions.push({
|
|
28
|
+
value: props.value,
|
|
29
|
+
label,
|
|
30
|
+
displayValue: props.displayValue,
|
|
31
|
+
description: props.description,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return allOptions;
|
|
36
|
+
}, [children]);
|
|
37
|
+
const optionsChildren = useMemo(() => {
|
|
38
|
+
const valuesArray = Array.from(options);
|
|
39
|
+
const children_ = React.Children.toArray(children).filter((child) => isComboboxOption(child));
|
|
40
|
+
const activeValue = valuesArray.find((item) => item.label === inputValue);
|
|
41
|
+
if (activeValue && !multiple)
|
|
42
|
+
return children_;
|
|
43
|
+
if (inputValue === '' && !multiple)
|
|
44
|
+
return children_;
|
|
45
|
+
return children_.filter((child) => {
|
|
46
|
+
const { value } = child.props;
|
|
47
|
+
const option = valuesArray.find((item) => item.value === value);
|
|
48
|
+
if (!option)
|
|
49
|
+
return false;
|
|
50
|
+
const isSelected = selectedOptions.some((selectedOption) => selectedOption.value === value);
|
|
51
|
+
// show what we search for, and all selected options
|
|
52
|
+
return filter(inputValue, { ...option }) || isSelected;
|
|
53
|
+
});
|
|
54
|
+
}, [options, children, multiple, inputValue, selectedOptions, filter]);
|
|
55
|
+
const customIds = useMemo(() => {
|
|
56
|
+
// find all custom components with `interactive=true` and generate random values for them
|
|
57
|
+
const children_ = React.Children.toArray(children).filter((child) => {
|
|
58
|
+
return isInteractiveComboboxCustom(child);
|
|
59
|
+
});
|
|
60
|
+
// return all ids
|
|
61
|
+
return children_.map((child) => {
|
|
62
|
+
if (!child.props.id)
|
|
63
|
+
throw new Error('If ComboboxCustom is interactive, it must have an id');
|
|
64
|
+
return child.props.id;
|
|
65
|
+
});
|
|
66
|
+
}, [children]);
|
|
67
|
+
const optionValues = useMemo(() => {
|
|
68
|
+
// create an index map of values from optionsChildren
|
|
69
|
+
const options = optionsChildren.map((child) => {
|
|
70
|
+
const { value } = child.props;
|
|
71
|
+
return value;
|
|
72
|
+
});
|
|
73
|
+
return [...customIds, ...options];
|
|
74
|
+
}, [customIds, optionsChildren]);
|
|
75
|
+
const restChildren = useMemo(() => {
|
|
76
|
+
return React.Children.toArray(children).filter((child) => {
|
|
77
|
+
return !isComboboxOption(child);
|
|
78
|
+
});
|
|
79
|
+
}, [children]);
|
|
80
|
+
return {
|
|
81
|
+
optionsChildren,
|
|
82
|
+
optionValues,
|
|
83
|
+
restChildren,
|
|
84
|
+
options,
|
|
85
|
+
customIds,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function isComboboxOption(child) {
|
|
89
|
+
return React.isValidElement(child) && child.type === ComboboxOption;
|
|
90
|
+
}
|
|
91
|
+
function isComboboxCustom(child) {
|
|
92
|
+
return React.isValidElement(child) && child.type === ComboboxCustom;
|
|
93
|
+
}
|
|
94
|
+
function isInteractiveComboboxCustom(child) {
|
|
95
|
+
return isComboboxCustom(child) && child.props.interactive === true;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export { useCombobox as default, isComboboxCustom, isComboboxOption, isInteractiveComboboxCustom };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { createContext, forwardRef, useContext } from 'react';
|
|
4
|
+
import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
|
|
5
|
+
import { PadlockLockedFillIcon } from '@navikt/aksel-icons';
|
|
6
|
+
import utilityClasses from '../../../utilities/utility.module.css.js';
|
|
7
|
+
import { useFieldset } from './useFieldset.js';
|
|
8
|
+
import classes from './Fieldset.module.css.js';
|
|
9
|
+
import { Label } from '../../Typography/Label/Label.js';
|
|
10
|
+
import { ErrorMessage } from '../../Typography/ErrorMessage/ErrorMessage.js';
|
|
11
|
+
import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
|
|
12
|
+
|
|
13
|
+
const FieldsetContext = createContext(null);
|
|
14
|
+
const Fieldset = forwardRef((props, ref) => {
|
|
15
|
+
const { children, legend, description, error, hideLegend, className, ...rest } = props;
|
|
16
|
+
const { fieldsetProps, size, readOnly, errorId, hasError, descriptionId } = useFieldset(props);
|
|
17
|
+
const fieldset = useContext(FieldsetContext);
|
|
18
|
+
return (jsx(FieldsetContext.Provider, { value: {
|
|
19
|
+
error: error ?? fieldset?.error,
|
|
20
|
+
errorId: hasError ? errorId : undefined,
|
|
21
|
+
size,
|
|
22
|
+
disabled: props?.disabled,
|
|
23
|
+
readOnly,
|
|
24
|
+
}, children: jsxs("fieldset", { ...fieldsetProps, className: clsx(classes.fieldset, !hideLegend && classes.withSpacing, readOnly && classes.readonly, props?.disabled && classes.disabled, className), ref: ref, ...rest, children: [jsx(Label, { asChild: true, size: size, children: jsx("legend", { className: classes.legend, children: jsxs("span", { className: clsx(classes.legendContent, hideLegend && utilityClasses.visuallyHidden), children: [readOnly && (jsx(PadlockLockedFillIcon, { className: classes.padlock, "aria-hidden": true })), legend] }) }) }), description && (jsx(Paragraph, { size: size, asChild: true, short: true, children: jsx("div", { id: descriptionId, className: clsx(classes.description, hideLegend && utilityClasses.visuallyHidden), children: description }) })), children, jsx("div", { id: errorId, "aria-live": 'polite', "aria-relevant": 'additions removals', className: classes.errorWrapper, children: hasError && jsx(ErrorMessage, { size: size, children: error }) })] }) }));
|
|
25
|
+
});
|
|
26
|
+
Fieldset.displayName = 'Fieldset';
|
|
27
|
+
|
|
28
|
+
export { Fieldset, FieldsetContext };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
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"};
|
|
3
|
+
|
|
4
|
+
export { classes as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useFormField } from '../useFormField.js';
|
|
3
|
+
|
|
4
|
+
/** Handles fieldset props and state */
|
|
5
|
+
const useFieldset = (props) => {
|
|
6
|
+
const formField = useFormField(props, 'fieldset');
|
|
7
|
+
const { inputProps } = formField;
|
|
8
|
+
return {
|
|
9
|
+
...formField,
|
|
10
|
+
fieldsetProps: {
|
|
11
|
+
'aria-invalid': inputProps['aria-invalid'],
|
|
12
|
+
'aria-describedby': inputProps['aria-describedby'],
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { useFieldset };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
|
|
5
|
+
import { PadlockLockedFillIcon } from '@navikt/aksel-icons';
|
|
6
|
+
import classes from './NativeSelect.module.css.js';
|
|
7
|
+
import utilityClasses from '../../../utilities/utility.module.css.js';
|
|
8
|
+
import { useNativeSelect } from './useNativeSelect.js';
|
|
9
|
+
import { omit } from '../../../utilities/objectUtils.js';
|
|
10
|
+
import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
|
|
11
|
+
import { Label } from '../../Typography/Label/Label.js';
|
|
12
|
+
import { ErrorMessage } from '../../Typography/ErrorMessage/ErrorMessage.js';
|
|
13
|
+
|
|
14
|
+
const NativeSelect = forwardRef((props, ref) => {
|
|
15
|
+
const { children, disabled = false, label, hideLabel = false, error, className, htmlSize = 0, ...rest } = props;
|
|
16
|
+
const { selectProps, errorId, readOnly = false, size = 'medium', } = useNativeSelect(props);
|
|
17
|
+
return (jsx(Paragraph, { asChild: true, size: size, children: jsxs("div", { className: clsx(classes.formField, disabled && classes.disabled, readOnly && classes.readOnly, error && classes.error), children: [label && (jsxs(Label, { weight: 'medium', size: size, htmlFor: selectProps.id, className: clsx(classes.label, hideLabel && utilityClasses.visuallyHidden), children: [readOnly && (jsx(PadlockLockedFillIcon, { "aria-hidden": true, className: classes.padlock })), label] })), jsx("select", { disabled: disabled || readOnly, ref: ref, size: htmlSize, className: clsx(classes.select, classes[size], utilityClasses.focusable, props.multiple && classes.multiple, className), ...omit(['size', 'error', 'errorId'], rest), ...omit(['readOnly', 'disabled'], selectProps), children: children }), error && (jsx("div", { id: errorId, className: classes.errorMessage, "aria-live": 'polite', "aria-relevant": 'additions removals', children: jsx(ErrorMessage, { size: size, children: error }) }))] }) }));
|
|
18
|
+
});
|
|
19
|
+
NativeSelect.displayName = 'NativeSelect';
|
|
20
|
+
|
|
21
|
+
export { NativeSelect };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
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"};
|
|
3
|
+
|
|
4
|
+
export { classes as default };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { useFormField } from '../useFormField.js';
|
|
4
|
+
import { FieldsetContext } from '../Fieldset/Fieldset.js';
|
|
5
|
+
|
|
6
|
+
/** Handles props for `NativeSelect` in context with `Fieldset` */
|
|
7
|
+
const useNativeSelect = (props) => {
|
|
8
|
+
const fieldset = useContext(FieldsetContext);
|
|
9
|
+
const { inputProps: selectProps, readOnly, ...rest } = useFormField(props, 'select');
|
|
10
|
+
return {
|
|
11
|
+
...rest,
|
|
12
|
+
readOnly,
|
|
13
|
+
size: fieldset?.size ?? props.size,
|
|
14
|
+
selectProps: {
|
|
15
|
+
...selectProps,
|
|
16
|
+
readOnly,
|
|
17
|
+
onClick: (e) => {
|
|
18
|
+
if (readOnly) {
|
|
19
|
+
e.preventDefault();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
props?.onClick?.(e);
|
|
23
|
+
},
|
|
24
|
+
onChange: (e) => {
|
|
25
|
+
if (readOnly) {
|
|
26
|
+
e.preventDefault();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
props?.onChange?.(e);
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { useNativeSelect };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { createContext, forwardRef, useId } from 'react';
|
|
4
|
+
import { clsx } from '../../../../node_modules/clsx/dist/clsx.js';
|
|
5
|
+
import classes from './Group.module.css.js';
|
|
6
|
+
import { Fieldset } from '../../Fieldset/Fieldset.js';
|
|
7
|
+
|
|
8
|
+
const RadioGroupContext = createContext(null);
|
|
9
|
+
const RadioGroup = forwardRef(({ onChange, children, value, readOnly, defaultValue, name, size = 'medium', required, inline, className, ...rest }, ref) => {
|
|
10
|
+
const nameId = useId();
|
|
11
|
+
return (jsx(Fieldset, { readOnly: readOnly, size: size, className: className, ref: ref, ...rest, children: jsx(RadioGroupContext.Provider, { value: {
|
|
12
|
+
value,
|
|
13
|
+
defaultValue,
|
|
14
|
+
name: name ?? `radiogroup-name-${nameId}`,
|
|
15
|
+
onChange,
|
|
16
|
+
required,
|
|
17
|
+
}, children: jsx("div", { className: clsx(inline && classes.inline), children: children }) }) }));
|
|
18
|
+
});
|
|
19
|
+
RadioGroup.displayName = 'RadioGroup';
|
|
20
|
+
|
|
21
|
+
export { RadioGroup, RadioGroupContext };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
|
|
5
|
+
import classes from './Radio.module.css.js';
|
|
6
|
+
import { useRadio } from './useRadio.js';
|
|
7
|
+
import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
|
|
8
|
+
import { omit } from '../../../utilities/objectUtils.js';
|
|
9
|
+
import { Label } from '../../Typography/Label/Label.js';
|
|
10
|
+
|
|
11
|
+
const Radio = forwardRef((props, ref) => {
|
|
12
|
+
const { children, description, className, ...rest } = props;
|
|
13
|
+
const { inputProps, descriptionId, hasError, size = 'medium', readOnly, } = useRadio(props);
|
|
14
|
+
return (jsx(Paragraph, { asChild: true, size: size, children: jsxs("div", { className: clsx(classes.container, classes[size], inputProps.disabled && classes.disabled, hasError && classes.error, readOnly && classes.readonly, className), children: [jsx("input", { className: classes.input, ref: ref, ...omit(['size', 'error'], rest), ...inputProps }), jsx(Label, { className: classes.label, htmlFor: inputProps.id, size: size, weight: 'regular', children: jsx("span", { children: children }) }), description && (jsx(Paragraph, { asChild: true, size: size, children: jsx("div", { id: descriptionId, className: classes.description, children: description }) }))] }) }));
|
|
15
|
+
});
|
|
16
|
+
Radio.displayName = 'Radio';
|
|
17
|
+
|
|
18
|
+
export { Radio };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
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"};
|
|
3
|
+
|
|
4
|
+
export { classes as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { Radio as Radio$1 } from './Radio.js';
|
|
3
|
+
import { RadioGroup } from './Group/Group.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 };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { useFormField } from '../useFormField.js';
|
|
4
|
+
import { RadioGroupContext } from './Group/Group.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 };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useRef, useState, useCallback } from 'react';
|
|
4
|
+
import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
|
|
5
|
+
import { MagnifyingGlassIcon, XMarkIcon } from '@navikt/aksel-icons';
|
|
6
|
+
import { useMergeRefs } from '../../../node_modules/@floating-ui/react/dist/floating-ui.react.js';
|
|
7
|
+
import { useSearch } from './useSearch.js';
|
|
8
|
+
import classes from './Search.module.css.js';
|
|
9
|
+
import utilityClasses from '../../../utilities/utility.module.css.js';
|
|
10
|
+
import { Button } from '../../Button/Button.js';
|
|
11
|
+
import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
|
|
12
|
+
import { Label } from '../../Typography/Label/Label.js';
|
|
13
|
+
import { omit } from '../../../utilities/objectUtils.js';
|
|
14
|
+
import { ErrorMessage } from '../../Typography/ErrorMessage/ErrorMessage.js';
|
|
15
|
+
|
|
16
|
+
/** Search field
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <Search label="Search" label">
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
const Search = forwardRef((props, ref) => {
|
|
24
|
+
const { label, style, hideLabel = true, variant = 'simple', searchButtonLabel = 'Søk', clearButtonLabel = 'Tøm', defaultValue, value, onChange, onClear, disabled, onSearchClick, htmlSize = 27, className, ...rest } = props;
|
|
25
|
+
const { inputProps, hasError, errorId, size = 'medium' } = useSearch(props);
|
|
26
|
+
const inputRef = useRef();
|
|
27
|
+
const mergedRef = useMergeRefs([ref, inputRef]);
|
|
28
|
+
const [internalValue, setInternalValue] = useState(defaultValue ?? '');
|
|
29
|
+
const handleChange = useCallback((e) => {
|
|
30
|
+
const newValue = e.target.value;
|
|
31
|
+
value === undefined && setInternalValue(newValue);
|
|
32
|
+
onChange?.(e);
|
|
33
|
+
}, [onChange, value]);
|
|
34
|
+
const handleClear = () => {
|
|
35
|
+
onClear?.(internalValue);
|
|
36
|
+
setInternalValue('');
|
|
37
|
+
inputRef?.current && inputRef.current.focus();
|
|
38
|
+
};
|
|
39
|
+
const handleSearchClick = () => {
|
|
40
|
+
onSearchClick?.((value ?? internalValue).toString());
|
|
41
|
+
};
|
|
42
|
+
const isSimple = variant === 'simple';
|
|
43
|
+
const showClearButton = Boolean(value ?? internalValue) && !disabled;
|
|
44
|
+
return (jsx(Paragraph, { asChild: true, size: size, children: jsxs("div", { style: style, className: clsx(classes.formField, inputProps.disabled && classes.disabled, classes[size], className), children: [label && (jsx(Label, { size: size, weight: 'medium', htmlFor: inputProps.id, className: clsx(classes.label, hideLabel && utilityClasses.visuallyHidden), children: jsx("span", { children: label }) })), jsxs("div", { className: classes.field, children: [jsxs("div", { className: classes.field, children: [isSimple && (jsx(MagnifyingGlassIcon, { className: classes.icon, "aria-hidden": true })), jsx("input", { ref: mergedRef, size: htmlSize, value: value ?? internalValue, disabled: disabled, className: clsx(classes.input, utilityClasses.focusable, classes[size], isSimple && classes.simple, !isSimple && classes.withSearchButton), ...omit(['size', 'error', 'errorId', 'readOnly'], rest), ...inputProps, onChange: handleChange }), showClearButton && (jsxs("button", { className: clsx(classes.clearButton, utilityClasses.focusable), type: 'button', onClick: handleClear, disabled: disabled, children: [jsx("span", { className: utilityClasses.visuallyHidden, children: clearButtonLabel }), jsx(XMarkIcon, { "aria-hidden": true })] }))] }), !isSimple && (jsx(Button, { className: classes.searchButton, size: size, variant: variant, type: 'submit', onClick: handleSearchClick, disabled: disabled, children: searchButtonLabel }))] }), jsx("div", { className: classes.errorMessage, id: errorId, "aria-live": 'polite', "aria-relevant": 'additions removals', children: hasError && jsx(ErrorMessage, { size: size, children: props.error }) })] }) }));
|
|
45
|
+
});
|
|
46
|
+
Search.displayName = 'Search';
|
|
47
|
+
|
|
48
|
+
export { Search };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
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"};
|
|
3
|
+
|
|
4
|
+
export { classes as default };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { useFormField } from '../useFormField.js';
|
|
4
|
+
import { FieldsetContext } from '../Fieldset/Fieldset.js';
|
|
5
|
+
|
|
6
|
+
const sizeMap = {
|
|
7
|
+
small: 'small',
|
|
8
|
+
medium: 'medium',
|
|
9
|
+
large: 'large',
|
|
10
|
+
};
|
|
11
|
+
/** Handles props for `Search` in context with `Fieldset` */
|
|
12
|
+
const useSearch = (props) => {
|
|
13
|
+
const fieldset = useContext(FieldsetContext);
|
|
14
|
+
const { inputProps, readOnly, ...rest } = useFormField(props, 'search');
|
|
15
|
+
const fieldSetSize = fieldset?.size ? sizeMap[fieldset?.size] : null;
|
|
16
|
+
return {
|
|
17
|
+
...rest,
|
|
18
|
+
readOnly,
|
|
19
|
+
size: fieldSetSize ?? props.size,
|
|
20
|
+
inputProps: {
|
|
21
|
+
...inputProps,
|
|
22
|
+
type: 'search',
|
|
23
|
+
name: props.name ?? 'q',
|
|
24
|
+
readOnly,
|
|
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
|
+
},
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { useSearch };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { clsx } from '../../../node_modules/clsx/dist/clsx.js';
|
|
5
|
+
import { PadlockLockedFillIcon } from '@navikt/aksel-icons';
|
|
6
|
+
import classes from './Switch.module.css.js';
|
|
7
|
+
import { useSwitch } from './useSwitch.js';
|
|
8
|
+
import { Paragraph } from '../../Typography/Paragraph/Paragraph.js';
|
|
9
|
+
import { omit } from '../../../utilities/objectUtils.js';
|
|
10
|
+
import { Label } from '../../Typography/Label/Label.js';
|
|
11
|
+
|
|
12
|
+
const Switch = forwardRef((props, ref) => {
|
|
13
|
+
const { children, description, position = 'left', className, ...rest } = props;
|
|
14
|
+
const { inputProps, descriptionId, size = 'medium', readOnly, } = useSwitch(props);
|
|
15
|
+
return (jsx(Paragraph, { asChild: true, size: size, children: jsxs("div", { className: clsx(classes.switch, classes[size], inputProps.disabled && classes.disabled, readOnly && classes.readonly, className), children: [jsx("input", { className: classes.input, ref: ref, ...omit(['size', 'error'], rest), ...inputProps }), jsxs(Label, { className: clsx(classes.label, position === 'right' && classes.right), htmlFor: inputProps.id, size: size, weight: 'regular', children: [jsx("span", { className: classes.track, children: jsx("span", { className: classes.thumb }) }), readOnly && (jsx(PadlockLockedFillIcon, { "aria-hidden": true, className: classes.padlock })), children && jsx("span", { children: children })] }), description && (jsx(Paragraph, { asChild: true, size: size, children: jsx("div", { id: descriptionId, className: classes.description, children: description }) }))] }) }));
|
|
16
|
+
});
|
|
17
|
+
Switch.displayName = 'Switch';
|
|
18
|
+
|
|
19
|
+
export { Switch };
|