@norges-domstoler/dds-components 4.0.2 → 4.1.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/dist/_virtual/_rollupPluginBabelHelpers.js +101 -0
- package/dist/assets/svg/bullets/jordskifterett_bullet1.svg.js +4 -0
- package/dist/assets/svg/bullets/lagmannsrett_bullet2.svg.js +4 -0
- package/dist/assets/svg/bullets/tingrett_bullet3.svg.js +4 -0
- package/dist/assets/svg/calendar_today.svg.js +4 -0
- package/dist/{index.css → bundle.css} +0 -0
- package/dist/{index.es.css → cjs/bundle.css} +0 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumb.d.ts +3 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumb.tokens.d.ts +10 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.d.ts +14 -0
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.d.ts +23 -0
- package/dist/cjs/components/Breadcrumbs/index.d.ts +2 -0
- package/dist/cjs/components/Button/Button.d.ts +20 -0
- package/dist/cjs/components/Button/Button.stories.d.ts +63 -0
- package/dist/cjs/components/Button/Button.styles.d.ts +24 -0
- package/dist/cjs/components/Button/Button.tokens.d.ts +203 -0
- package/dist/cjs/components/Button/Button.types.d.ts +32 -0
- package/dist/cjs/components/Button/index.d.ts +2 -0
- package/dist/cjs/components/Card/Card.d.ts +23 -0
- package/dist/cjs/components/Card/Card.stories.d.ts +11 -0
- package/dist/cjs/components/Card/Card.tokens.d.ts +26 -0
- package/dist/cjs/components/Card/CardAccordion/CardAccordion.d.ts +14 -0
- package/dist/cjs/components/Card/CardAccordion/CardAccordionBody.d.ts +23 -0
- package/dist/cjs/components/Card/CardAccordion/CardAccordionBody.tokens.d.ts +4 -0
- package/dist/cjs/components/Card/CardAccordion/CardAccordionHeader.d.ts +22 -0
- package/dist/cjs/components/Card/CardAccordion/CardAccordionHeader.tokens.d.ts +17 -0
- package/dist/cjs/components/Card/index.d.ts +4 -0
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +15 -0
- package/dist/cjs/components/Checkbox/Checkbox.stories.d.ts +54 -0
- package/dist/cjs/components/Checkbox/Checkbox.styles.d.ts +9 -0
- package/dist/cjs/components/Checkbox/Checkbox.tokens.d.ts +65 -0
- package/dist/cjs/components/Checkbox/Checkbox.types.d.ts +16 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.d.ts +18 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.stories.d.ts +46 -0
- package/dist/cjs/components/Checkbox/CheckboxGroup.tokens.d.ts +19 -0
- package/dist/cjs/components/Checkbox/CheckboxGroupContext.d.ts +9 -0
- package/dist/cjs/components/Checkbox/index.d.ts +3 -0
- package/dist/cjs/components/Chip/Chip.d.ts +16 -0
- package/dist/cjs/components/Chip/Chip.stories.d.ts +20 -0
- package/dist/cjs/components/Chip/Chip.tokens.d.ts +12 -0
- package/dist/cjs/components/Chip/ChipGroup.d.ts +3 -0
- package/dist/cjs/components/Chip/ChipGroup.stories.d.ts +8 -0
- package/dist/cjs/components/Chip/index.d.ts +2 -0
- package/dist/cjs/components/Datepicker/Datepicker.d.ts +10 -0
- package/dist/cjs/components/Datepicker/Datepicker.stories.d.ts +55 -0
- package/dist/cjs/components/Datepicker/Datepicker.tokens.d.ts +9 -0
- package/dist/cjs/components/Datepicker/index.d.ts +1 -0
- package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +15 -0
- package/dist/cjs/components/DescriptionList/DescriptionList.stories.d.ts +18 -0
- package/dist/cjs/components/DescriptionList/DescriptionListDesc.d.ts +16 -0
- package/dist/cjs/components/DescriptionList/DescriptionListDesc.tokens.d.ts +7 -0
- package/dist/cjs/components/DescriptionList/DescriptionListGroup.d.ts +15 -0
- package/dist/cjs/components/DescriptionList/DescriptionListGroup.tokens.d.ts +4 -0
- package/dist/cjs/components/DescriptionList/DescriptionListTerm.d.ts +3 -0
- package/dist/cjs/components/DescriptionList/DescriptionListTerm.tokens.d.ts +13 -0
- package/dist/cjs/components/DescriptionList/index.d.ts +4 -0
- package/dist/cjs/components/Divider/Divider.d.ts +13 -0
- package/dist/cjs/components/Divider/Divider.stories.d.ts +15 -0
- package/dist/cjs/components/Divider/Divider.tokens.d.ts +8 -0
- package/dist/cjs/components/Divider/index.d.ts +1 -0
- package/dist/cjs/components/Drawer/Drawer.d.ts +50 -0
- package/dist/cjs/components/Drawer/Drawer.stories.d.ts +24 -0
- package/dist/cjs/components/Drawer/Drawer.tokens.d.ts +17 -0
- package/dist/cjs/components/Drawer/DrawerGroup.d.ts +13 -0
- package/dist/cjs/components/Drawer/index.d.ts +2 -0
- package/dist/cjs/components/GlobalMessage/GlobalMessage.d.ts +27 -0
- package/dist/cjs/components/GlobalMessage/GlobalMessage.stories.d.ts +31 -0
- package/dist/cjs/components/GlobalMessage/GlobalMessage.tokens.d.ts +53 -0
- package/dist/cjs/components/GlobalMessage/index.d.ts +1 -0
- package/dist/cjs/components/IconWrapper/IconWrapper.d.ts +19 -0
- package/dist/cjs/components/IconWrapper/IconWrapper.stories.d.ts +22 -0
- package/dist/cjs/components/IconWrapper/index.d.ts +1 -0
- package/dist/cjs/components/InputMessage/InputMessage.d.ts +17 -0
- package/dist/cjs/components/InputMessage/InputMessage.stories.d.ts +21 -0
- package/dist/cjs/components/InputMessage/InputMessage.tokens.d.ts +14 -0
- package/dist/cjs/components/InputMessage/index.d.ts +1 -0
- package/dist/cjs/components/InternalHeader/InternalHeader.d.ts +3 -0
- package/dist/cjs/components/InternalHeader/InternalHeader.stories.d.ts +40 -0
- package/dist/cjs/components/InternalHeader/InternalHeader.styles.d.ts +30 -0
- package/dist/cjs/components/InternalHeader/InternalHeader.tokens.d.ts +40 -0
- package/dist/cjs/components/InternalHeader/InternalHeader.types.d.ts +35 -0
- package/dist/cjs/components/InternalHeader/InternalHeaderListItem.d.ts +3 -0
- package/dist/cjs/components/InternalHeader/NavigationItem.d.ts +14 -0
- package/dist/cjs/components/InternalHeader/index.d.ts +2 -0
- package/dist/cjs/components/List/List.d.ts +21 -0
- package/dist/cjs/components/List/List.stories.d.ts +18 -0
- package/dist/cjs/components/List/List.tokens.d.ts +16 -0
- package/dist/cjs/components/List/ListItem.d.ts +3 -0
- package/dist/cjs/components/List/ListItem.tokens.d.ts +5 -0
- package/dist/cjs/components/List/index.d.ts +2 -0
- package/dist/cjs/components/LocalMessage/LocalMessage.d.ts +37 -0
- package/dist/cjs/components/LocalMessage/LocalMessage.stories.d.ts +39 -0
- package/dist/cjs/components/LocalMessage/LocalMessage.tokens.d.ts +100 -0
- package/dist/cjs/components/LocalMessage/index.d.ts +1 -0
- package/dist/cjs/components/Modal/Modal.d.ts +30 -0
- package/dist/cjs/components/Modal/Modal.stories.d.ts +28 -0
- package/dist/cjs/components/Modal/Modal.tokens.d.ts +19 -0
- package/dist/cjs/components/Modal/ModalActions.d.ts +3 -0
- package/dist/cjs/components/Modal/ModalBody.d.ts +14 -0
- package/dist/cjs/components/Modal/index.d.ts +3 -0
- package/dist/cjs/components/OverflowMenu/OverflowMenu.d.ts +23 -0
- package/dist/cjs/components/OverflowMenu/OverflowMenu.stories.d.ts +26 -0
- package/dist/cjs/components/OverflowMenu/OverflowMenu.tokens.d.ts +22 -0
- package/dist/cjs/components/OverflowMenu/OverflowMenu.types.d.ts +36 -0
- package/dist/cjs/components/OverflowMenu/OverflowMenuGroup.d.ts +14 -0
- package/dist/cjs/components/OverflowMenu/OverflowMenuItem.d.ts +24 -0
- package/dist/cjs/components/OverflowMenu/index.d.ts +3 -0
- package/dist/cjs/components/Pagination/Pagination.d.ts +52 -0
- package/dist/cjs/components/Pagination/Pagination.stories.d.ts +48 -0
- package/dist/cjs/components/Pagination/Pagination.tokens.d.ts +15 -0
- package/dist/cjs/components/Pagination/index.d.ts +1 -0
- package/dist/cjs/components/Pagination/paginationGenerator.d.ts +1 -0
- package/dist/cjs/components/Popover/Popover.d.ts +56 -0
- package/dist/cjs/components/Popover/Popover.stories.d.ts +54 -0
- package/dist/cjs/components/Popover/Popover.tokens.d.ts +15 -0
- package/dist/cjs/components/Popover/PopoverGroup.d.ts +14 -0
- package/dist/cjs/components/Popover/index.d.ts +2 -0
- package/dist/cjs/components/RadioButton/RadioButton.d.ts +16 -0
- package/dist/cjs/components/RadioButton/RadioButton.stories.d.ts +50 -0
- package/dist/cjs/components/RadioButton/RadioButton.styles.d.ts +9 -0
- package/dist/cjs/components/RadioButton/RadioButton.tokens.d.ts +43 -0
- package/dist/cjs/components/RadioButton/RadioButton.types.d.ts +12 -0
- package/dist/cjs/components/RadioButton/RadioButtonGroup.d.ts +29 -0
- package/dist/cjs/components/RadioButton/RadioButtonGroup.stories.d.ts +47 -0
- package/dist/cjs/components/RadioButton/RadioButtonGroup.tokens.d.ts +19 -0
- package/dist/cjs/components/RadioButton/RadioButtonGroupContext.d.ts +13 -0
- package/dist/cjs/components/RadioButton/index.d.ts +3 -0
- package/dist/cjs/components/Search/Search.d.ts +21 -0
- package/dist/cjs/components/Search/Search.stories.d.ts +29 -0
- package/dist/cjs/components/Search/Search.tokens.d.ts +25 -0
- package/dist/cjs/components/Search/index.d.ts +1 -0
- package/dist/cjs/components/Select/MultiSelect.stories.d.ts +74 -0
- package/dist/cjs/components/Select/Select.d.ts +32 -0
- package/dist/cjs/components/Select/Select.stories.d.ts +69 -0
- package/dist/cjs/components/Select/Select.styles.d.ts +19 -0
- package/dist/cjs/components/Select/Select.tokens.d.ts +144 -0
- package/dist/cjs/components/Select/index.d.ts +1 -0
- package/dist/cjs/components/SkipToContent/SkipToContent.d.ts +21 -0
- package/dist/cjs/components/SkipToContent/SkipToContent.stories.d.ts +33 -0
- package/dist/cjs/components/SkipToContent/SkipToContent.tokens.d.ts +19 -0
- package/dist/cjs/components/SkipToContent/index.d.ts +1 -0
- package/dist/cjs/components/Spinner/Spinner.d.ts +11 -0
- package/dist/cjs/components/Spinner/Spinner.stories.d.ts +21 -0
- package/dist/cjs/components/Spinner/Spinner.tokens.d.ts +6 -0
- package/dist/cjs/components/Spinner/index.d.ts +1 -0
- package/dist/cjs/components/Table/Body.d.ts +3 -0
- package/dist/cjs/components/Table/Cell.d.ts +10 -0
- package/dist/cjs/components/Table/Cell.tokens.d.ts +31 -0
- package/dist/cjs/components/Table/Foot.d.ts +3 -0
- package/dist/cjs/components/Table/Head.d.ts +3 -0
- package/dist/cjs/components/Table/Row.d.ts +23 -0
- package/dist/cjs/components/Table/Row.tokens.d.ts +32 -0
- package/dist/cjs/components/Table/SortCell.d.ts +19 -0
- package/dist/cjs/components/Table/Table.d.ts +14 -0
- package/dist/cjs/components/Table/Table.stories.d.ts +28 -0
- package/dist/cjs/components/Table/TableWrapper.d.ts +3 -0
- package/dist/cjs/components/Table/index.d.ts +8 -0
- package/dist/cjs/components/Table/tableData.d.ts +17 -0
- package/dist/cjs/components/Tabs/Tab.d.ts +37 -0
- package/dist/cjs/components/Tabs/TabList.d.ts +3 -0
- package/dist/cjs/components/Tabs/TabPanel.d.ts +14 -0
- package/dist/cjs/components/Tabs/TabPanels.d.ts +3 -0
- package/dist/cjs/components/Tabs/Tabs.context.d.ts +17 -0
- package/dist/cjs/components/Tabs/Tabs.d.ts +27 -0
- package/dist/cjs/components/Tabs/Tabs.stories.d.ts +10 -0
- package/dist/cjs/components/Tabs/Tabs.tokens.d.ts +38 -0
- package/dist/cjs/components/Tabs/index.d.ts +5 -0
- package/dist/cjs/components/Tag/Tag.d.ts +17 -0
- package/dist/cjs/components/Tag/Tag.stories.d.ts +19 -0
- package/dist/cjs/components/Tag/Tag.tokens.d.ts +26 -0
- package/dist/cjs/components/Tag/index.d.ts +1 -0
- package/dist/cjs/components/TextInput/CharCounter.d.ts +8 -0
- package/dist/cjs/components/TextInput/CharCounter.tokens.d.ts +4 -0
- package/dist/cjs/components/TextInput/TextInput.d.ts +9 -0
- package/dist/cjs/components/TextInput/TextInput.stories.d.ts +68 -0
- package/dist/cjs/components/TextInput/TextInput.styles.d.ts +10 -0
- package/dist/cjs/components/TextInput/TextInput.tokens.d.ts +54 -0
- package/dist/cjs/components/TextInput/TextInput.types.d.ts +6 -0
- package/dist/cjs/components/TextInput/index.d.ts +2 -0
- package/dist/cjs/components/ToggleButton/ToggleButton.d.ts +18 -0
- package/dist/cjs/components/ToggleButton/ToggleButton.stories.d.ts +14 -0
- package/dist/cjs/components/ToggleButton/ToggleButton.tokens.d.ts +22 -0
- package/dist/cjs/components/ToggleButton/ToggleButtonGroup.d.ts +13 -0
- package/dist/cjs/components/ToggleButton/ToggleButtonGroup.stories.d.ts +9 -0
- package/dist/cjs/components/ToggleButton/index.d.ts +2 -0
- package/dist/cjs/components/Tooltip/Tooltip.d.ts +32 -0
- package/dist/cjs/components/Tooltip/Tooltip.stories.d.ts +35 -0
- package/dist/cjs/components/Tooltip/Tooltip.styles.d.ts +8 -0
- package/dist/cjs/components/Tooltip/Tooltip.tokens.d.ts +14 -0
- package/dist/cjs/components/Tooltip/index.d.ts +1 -0
- package/dist/cjs/components/Typography/Body.stories.d.ts +11 -0
- package/dist/cjs/components/Typography/Examples.stories.d.ts +8 -0
- package/dist/cjs/components/Typography/Typography.d.ts +47 -0
- package/dist/cjs/components/Typography/Typography.stories.d.ts +58 -0
- package/dist/cjs/components/Typography/Typography.tokens.d.ts +230 -0
- package/dist/cjs/components/Typography/Typography.types.d.ts +12 -0
- package/dist/cjs/components/Typography/index.d.ts +2 -0
- package/dist/cjs/helpers/Backdrop/Backdrop.d.ts +5 -0
- package/dist/cjs/helpers/Backdrop/Backdrop.utils.d.ts +2 -0
- package/dist/cjs/helpers/Backdrop/index.d.ts +2 -0
- package/dist/cjs/helpers/Chevron/AnimatedChevronUpDown.d.ts +9 -0
- package/dist/cjs/helpers/Chevron/AnimatedChevronUpDown.styles.d.ts +7 -0
- package/dist/cjs/helpers/Chevron/index.d.ts +1 -0
- package/dist/cjs/helpers/Input/Input.styles.d.ts +15 -0
- package/dist/cjs/helpers/Input/Input.tokens.d.ts +78 -0
- package/dist/cjs/helpers/Input/Input.types.d.ts +20 -0
- package/dist/cjs/helpers/Input/index.d.ts +3 -0
- package/dist/cjs/helpers/Paper/Paper.d.ts +1 -0
- package/dist/cjs/helpers/Paper/Paper.tokens.d.ts +4 -0
- package/dist/cjs/helpers/Paper/index.d.ts +1 -0
- package/dist/cjs/helpers/RequiredMarker/RequiredMarker.d.ts +2 -0
- package/dist/cjs/helpers/RequiredMarker/index.d.ts +1 -0
- package/dist/cjs/helpers/index.d.ts +5 -0
- package/dist/cjs/helpers/styling/danger.d.ts +4 -0
- package/dist/cjs/helpers/styling/focus.d.ts +9 -0
- package/dist/cjs/helpers/styling/focusVisible.d.ts +37 -0
- package/dist/cjs/helpers/styling/hideInput.d.ts +7 -0
- package/dist/cjs/helpers/styling/hover.d.ts +14 -0
- package/dist/cjs/helpers/styling/index.d.ts +8 -0
- package/dist/cjs/helpers/styling/removeButtonStyling.d.ts +9 -0
- package/dist/cjs/helpers/styling/removeListStyling.d.ts +5 -0
- package/dist/cjs/helpers/styling/scrollbarStyling.d.ts +3 -0
- package/dist/cjs/helpers/styling/visibilityTransition.d.ts +1 -0
- package/dist/cjs/hooks/index.d.ts +9 -0
- package/dist/cjs/hooks/useCombinedRefs.d.ts +2 -0
- package/dist/cjs/hooks/useFloatPosition.d.ts +25 -0
- package/dist/cjs/hooks/useFocusTrap.d.ts +2 -0
- package/dist/cjs/hooks/useId.d.ts +1 -0
- package/dist/cjs/hooks/useMountTransition.d.ts +1 -0
- package/dist/cjs/hooks/useOnClickOutside.d.ts +1 -0
- package/dist/cjs/hooks/useOnKeyDown.d.ts +1 -0
- package/dist/cjs/hooks/useRoveFocus.d.ts +3 -0
- package/dist/cjs/hooks/useScreenSize.d.ts +8 -0
- package/dist/cjs/index.d.ts +34 -0
- package/dist/cjs/index.js +7977 -0
- package/dist/cjs/types/BaseComponentProps.d.ts +58 -0
- package/dist/cjs/types/Direction.d.ts +1 -0
- package/dist/cjs/types/index.d.ts +2 -0
- package/dist/cjs/types/utils.d.ts +8 -0
- package/dist/cjs/utils/color.d.ts +6 -0
- package/dist/cjs/utils/combineHandlers.d.ts +1 -0
- package/dist/cjs/utils/getScrollbarSize.d.ts +1 -0
- package/dist/cjs/utils/idGenerator.d.ts +3 -0
- package/dist/cjs/utils/index.d.ts +5 -0
- package/dist/cjs/utils/text.d.ts +2 -0
- package/dist/components/Breadcrumbs/Breadcrumb.js +34 -0
- package/dist/components/Breadcrumbs/Breadcrumb.tokens.js +22 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.js +62 -0
- package/dist/components/Button/Button.js +90 -0
- package/dist/components/Button/Button.styles.js +56 -0
- package/dist/components/Button/Button.tokens.js +463 -0
- package/dist/components/Card/Card.js +54 -0
- package/dist/components/Card/Card.tokens.js +60 -0
- package/dist/components/Card/CardAccordion/CardAccordion.js +63 -0
- package/dist/components/Card/CardAccordion/CardAccordionBody.js +73 -0
- package/dist/components/Card/CardAccordion/CardAccordionBody.tokens.js +12 -0
- package/dist/components/Card/CardAccordion/CardAccordionHeader.js +65 -0
- package/dist/components/Card/CardAccordion/CardAccordionHeader.tokens.js +38 -0
- package/dist/components/Checkbox/Checkbox.js +68 -0
- package/dist/components/Checkbox/Checkbox.styles.js +45 -0
- package/dist/components/Checkbox/Checkbox.tokens.js +129 -0
- package/dist/components/Checkbox/CheckboxGroup.js +87 -0
- package/dist/components/Checkbox/CheckboxGroup.tokens.js +32 -0
- package/dist/components/Checkbox/CheckboxGroupContext.js +8 -0
- package/dist/components/Chip/Chip.js +57 -0
- package/dist/components/Chip/Chip.tokens.js +39 -0
- package/dist/components/Chip/ChipGroup.js +29 -0
- package/dist/components/Datepicker/Datepicker.js +91 -0
- package/dist/components/Datepicker/Datepicker.tokens.js +25 -0
- package/dist/components/DescriptionList/DescriptionList.js +34 -0
- package/dist/components/DescriptionList/DescriptionListDesc.js +36 -0
- package/dist/components/DescriptionList/DescriptionListDesc.tokens.js +19 -0
- package/dist/components/DescriptionList/DescriptionListGroup.js +33 -0
- package/dist/components/DescriptionList/DescriptionListGroup.tokens.js +11 -0
- package/dist/components/DescriptionList/DescriptionListTerm.js +22 -0
- package/dist/components/DescriptionList/DescriptionListTerm.tokens.js +27 -0
- package/dist/components/Divider/Divider.js +31 -0
- package/dist/components/Divider/Divider.tokens.js +20 -0
- package/dist/components/Drawer/Drawer.js +121 -0
- package/dist/components/Drawer/Drawer.tokens.js +34 -0
- package/dist/components/Drawer/DrawerGroup.js +61 -0
- package/dist/components/GlobalMessage/GlobalMessage.js +85 -0
- package/dist/components/GlobalMessage/GlobalMessage.tokens.js +83 -0
- package/dist/components/IconWrapper/IconWrapper.js +42 -0
- package/dist/components/InputMessage/InputMessage.js +46 -0
- package/dist/components/InputMessage/InputMessage.tokens.js +30 -0
- package/dist/components/InternalHeader/InternalHeader.js +122 -0
- package/dist/components/InternalHeader/InternalHeader.styles.js +49 -0
- package/dist/components/InternalHeader/InternalHeader.tokens.js +93 -0
- package/dist/components/InternalHeader/InternalHeaderListItem.js +22 -0
- package/dist/components/InternalHeader/NavigationItem.js +30 -0
- package/dist/components/List/List.js +48 -0
- package/dist/components/List/List.tokens.js +37 -0
- package/dist/components/List/ListItem.js +22 -0
- package/dist/components/List/ListItem.tokens.js +12 -0
- package/dist/components/LocalMessage/LocalMessage.js +124 -0
- package/dist/components/LocalMessage/LocalMessage.tokens.js +151 -0
- package/dist/components/Modal/Modal.js +122 -0
- package/dist/components/Modal/Modal.tokens.js +45 -0
- package/dist/components/Modal/ModalActions.js +23 -0
- package/dist/components/Modal/ModalBody.js +35 -0
- package/dist/components/OverflowMenu/OverflowMenu.js +164 -0
- package/dist/components/OverflowMenu/OverflowMenu.tokens.js +55 -0
- package/dist/components/OverflowMenu/OverflowMenuGroup.js +64 -0
- package/dist/components/OverflowMenu/OverflowMenuItem.js +116 -0
- package/dist/components/Pagination/Pagination.js +250 -0
- package/dist/components/Pagination/Pagination.tokens.js +23 -0
- package/dist/components/Pagination/paginationGenerator.js +42 -0
- package/dist/components/Popover/Popover.js +104 -0
- package/dist/components/Popover/Popover.tokens.js +38 -0
- package/dist/components/Popover/PopoverGroup.js +85 -0
- package/dist/components/RadioButton/RadioButton.js +90 -0
- package/dist/components/RadioButton/RadioButton.styles.js +34 -0
- package/dist/components/RadioButton/RadioButton.tokens.js +97 -0
- package/dist/components/RadioButton/RadioButtonGroup.js +108 -0
- package/dist/components/RadioButton/RadioButtonGroup.tokens.js +32 -0
- package/dist/components/RadioButton/RadioButtonGroupContext.js +8 -0
- package/dist/components/Search/Search.js +93 -0
- package/dist/components/Search/Search.tokens.js +55 -0
- package/dist/components/Select/Select.js +154 -0
- package/dist/components/Select/Select.styles.js +149 -0
- package/dist/components/Select/Select.tokens.js +311 -0
- package/dist/components/SkipToContent/SkipToContent.js +49 -0
- package/dist/components/SkipToContent/SkipToContent.tokens.js +40 -0
- package/dist/components/Spinner/Spinner.js +80 -0
- package/dist/components/Spinner/Spinner.tokens.js +13 -0
- package/dist/components/Table/Body.js +22 -0
- package/dist/components/Table/Cell.js +75 -0
- package/dist/components/Table/Cell.tokens.js +55 -0
- package/dist/components/Table/Foot.js +22 -0
- package/dist/components/Table/Head.js +22 -0
- package/dist/components/Table/Row.js +43 -0
- package/dist/components/Table/Row.tokens.js +68 -0
- package/dist/components/Table/SortCell.js +60 -0
- package/dist/components/Table/Table.js +34 -0
- package/dist/components/Table/TableWrapper.js +61 -0
- package/dist/components/Tabs/Tab.js +102 -0
- package/dist/components/Tabs/TabList.js +86 -0
- package/dist/components/Tabs/TabPanel.js +36 -0
- package/dist/components/Tabs/TabPanels.js +33 -0
- package/dist/components/Tabs/Tabs.context.js +22 -0
- package/dist/components/Tabs/Tabs.js +77 -0
- package/dist/components/Tabs/Tabs.tokens.js +96 -0
- package/dist/components/Tag/Tag.js +41 -0
- package/dist/components/Tag/Tag.tokens.js +54 -0
- package/dist/components/TextInput/CharCounter.js +37 -0
- package/dist/components/TextInput/CharCounter.tokens.js +11 -0
- package/dist/components/TextInput/TextInput.js +137 -0
- package/dist/components/TextInput/TextInput.styles.js +34 -0
- package/dist/components/TextInput/TextInput.tokens.js +50 -0
- package/dist/components/ToggleButton/ToggleButton.js +56 -0
- package/dist/components/ToggleButton/ToggleButton.tokens.js +53 -0
- package/dist/components/ToggleButton/ToggleButtonGroup.js +57 -0
- package/dist/components/Tooltip/Tooltip.js +117 -0
- package/dist/components/Tooltip/Tooltip.styles.js +26 -0
- package/dist/components/Tooltip/Tooltip.tokens.js +31 -0
- package/dist/components/Typography/Typography.js +165 -0
- package/dist/components/Typography/Typography.tokens.js +495 -0
- package/dist/helpers/Backdrop/Backdrop.js +13 -0
- package/dist/helpers/Backdrop/Backdrop.utils.js +16 -0
- package/dist/helpers/Chevron/AnimatedChevronUpDown.js +33 -0
- package/dist/helpers/Chevron/AnimatedChevronUpDown.styles.js +29 -0
- package/dist/helpers/Input/Input.styles.js +39 -0
- package/dist/helpers/Input/Input.tokens.js +99 -0
- package/dist/helpers/Paper/Paper.js +10 -0
- package/dist/helpers/Paper/Paper.tokens.js +17 -0
- package/dist/helpers/RequiredMarker/RequiredMarker.js +15 -0
- package/dist/helpers/styling/danger.js +9 -0
- package/dist/helpers/styling/focus.js +15 -0
- package/dist/helpers/styling/focusVisible.js +43 -0
- package/dist/helpers/styling/hideInput.js +9 -0
- package/dist/helpers/styling/hover.js +20 -0
- package/dist/helpers/styling/removeButtonStyling.js +11 -0
- package/dist/helpers/styling/removeListStyling.js +7 -0
- package/dist/helpers/styling/scrollbarStyling.js +8 -0
- package/dist/helpers/styling/visibilityTransition.js +7 -0
- package/dist/hooks/useCombinedRefs.js +16 -0
- package/dist/hooks/useFloatPosition.js +100 -0
- package/dist/hooks/useFocusTrap.js +37 -0
- package/dist/hooks/useId.js +15 -0
- package/dist/hooks/useMountTransition.js +24 -0
- package/dist/hooks/useOnClickOutside.js +29 -0
- package/dist/hooks/useOnKeyDown.js +20 -0
- package/dist/hooks/useRoveFocus.js +40 -0
- package/dist/index.js +60 -33989
- package/dist/types/BaseComponentProps.js +72 -0
- package/dist/utils/color.js +9 -0
- package/dist/utils/combineHandlers.js +10 -0
- package/dist/utils/idGenerator.js +19 -0
- package/dist/utils/text.js +5 -0
- package/package.json +15 -9
- package/dist/index.es.js +0 -33899
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
|
|
3
|
+
var arrayRange = function arrayRange(start, end) {
|
|
4
|
+
var length = end - start + 1;
|
|
5
|
+
return Array.from({
|
|
6
|
+
length: length
|
|
7
|
+
}, function (_, idx) {
|
|
8
|
+
return idx + start;
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
function PaginationGenerator(pagesAmount, activePage) {
|
|
13
|
+
var siblingsCount = 1;
|
|
14
|
+
var maxPagesShown = 7;
|
|
15
|
+
var pagesBeforeTruncator = 5;
|
|
16
|
+
var truncator = 'truncator';
|
|
17
|
+
var pageRange;
|
|
18
|
+
|
|
19
|
+
if (pagesAmount > 4) {
|
|
20
|
+
var middleStartPage = Math.max(1, activePage < pagesBeforeTruncator || pagesAmount <= maxPagesShown ? 1 : activePage + siblingsCount + 1 >= pagesAmount ? pagesAmount - 4 // - 4 to fit total columns /
|
|
21
|
+
: activePage > 4 && pagesAmount > maxPagesShown ? activePage - siblingsCount : 1);
|
|
22
|
+
var middleEndOffset = activePage < pagesBeforeTruncator && pagesAmount > maxPagesShown ? pagesBeforeTruncator : activePage < pagesBeforeTruncator && pagesAmount <= maxPagesShown ? pagesAmount : activePage + siblingsCount + 1 < pagesAmount - 1 ? activePage + siblingsCount : activePage + siblingsCount + 1 === pagesAmount - 1 ? pagesAmount : pagesAmount;
|
|
23
|
+
var middleEndPage = Math.min(pagesAmount, middleEndOffset);
|
|
24
|
+
pageRange = arrayRange(middleStartPage, middleEndPage);
|
|
25
|
+
var truncatedLeft = middleStartPage > 2 && pagesAmount > maxPagesShown;
|
|
26
|
+
var truncatedRight = pagesAmount - middleEndPage > 1 && pagesAmount > maxPagesShown;
|
|
27
|
+
|
|
28
|
+
if (truncatedLeft && truncatedRight) {
|
|
29
|
+
pageRange = [1, truncator].concat(_toConsumableArray(pageRange), [truncator, pagesAmount]);
|
|
30
|
+
} else if (truncatedLeft && !truncatedRight) {
|
|
31
|
+
pageRange = [1, truncator].concat(_toConsumableArray(pageRange));
|
|
32
|
+
} else if (!truncatedLeft && truncatedRight) {
|
|
33
|
+
pageRange = [].concat(_toConsumableArray(pageRange), [truncator, pagesAmount]);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return _toConsumableArray(pageRange);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return arrayRange(1, pagesAmount);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { PaginationGenerator };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import CloseOutlinedIcon from '@mui/icons-material/CloseOutlined';
|
|
4
|
+
import { ddsBaseTokens } from '@norges-domstoler/dds-design-tokens';
|
|
5
|
+
import { forwardRef, useEffect } from 'react';
|
|
6
|
+
import styled, { css } from 'styled-components';
|
|
7
|
+
import { popoverTokens } from './Popover.tokens.js';
|
|
8
|
+
import { visibilityTransition } from '../../helpers/styling/visibilityTransition.js';
|
|
9
|
+
import { Button } from '../Button/Button.js';
|
|
10
|
+
import { useFloatPosition } from '../../hooks/useFloatPosition.js';
|
|
11
|
+
import { useCombinedRef } from '../../hooks/useCombinedRefs.js';
|
|
12
|
+
import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
|
|
13
|
+
import { Typography } from '../Typography/Typography.js';
|
|
14
|
+
|
|
15
|
+
var Spacing = ddsBaseTokens.spacing;
|
|
16
|
+
var Wrapper = styled.div.withConfig({
|
|
17
|
+
displayName: "Popover__Wrapper",
|
|
18
|
+
componentId: "sc-1fecd7e-0"
|
|
19
|
+
})(["", " box-sizing:border-box;position:absolute;width:fit-content;z-index:20;", " ", ""], function (_ref) {
|
|
20
|
+
var isOpen = _ref.isOpen;
|
|
21
|
+
return visibilityTransition(isOpen);
|
|
22
|
+
}, popoverTokens.wrapper.base, function (_ref2) {
|
|
23
|
+
var sizeProps = _ref2.sizeProps;
|
|
24
|
+
return sizeProps && css(["", ""], sizeProps);
|
|
25
|
+
});
|
|
26
|
+
var TitleContainer = styled.div.withConfig({
|
|
27
|
+
displayName: "Popover__TitleContainer",
|
|
28
|
+
componentId: "sc-1fecd7e-1"
|
|
29
|
+
})(["", ""], popoverTokens.title.base);
|
|
30
|
+
var ContentContainer = styled.div.withConfig({
|
|
31
|
+
displayName: "Popover__ContentContainer",
|
|
32
|
+
componentId: "sc-1fecd7e-2"
|
|
33
|
+
})(["", ""], function (_ref3) {
|
|
34
|
+
var withCloseButton = _ref3.withCloseButton,
|
|
35
|
+
hasTitle = _ref3.hasTitle;
|
|
36
|
+
return withCloseButton && !hasTitle && css(["margin-top:", ";"], popoverTokens.content.spaceTopNoTitle);
|
|
37
|
+
});
|
|
38
|
+
var StyledButton = styled(Button).withConfig({
|
|
39
|
+
displayName: "Popover__StyledButton",
|
|
40
|
+
componentId: "sc-1fecd7e-3"
|
|
41
|
+
})(["", ""], popoverTokens.button.base);
|
|
42
|
+
var Popover = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
43
|
+
var title = props.title,
|
|
44
|
+
_props$isOpen = props.isOpen,
|
|
45
|
+
isOpen = _props$isOpen === void 0 ? false : _props$isOpen,
|
|
46
|
+
_props$withCloseButto = props.withCloseButton,
|
|
47
|
+
withCloseButton = _props$withCloseButto === void 0 ? true : _props$withCloseButto,
|
|
48
|
+
onCloseButtonClick = props.onCloseButtonClick,
|
|
49
|
+
onCloseButtonBlur = props.onCloseButtonBlur,
|
|
50
|
+
anchorElement = props.anchorElement,
|
|
51
|
+
children = props.children,
|
|
52
|
+
_props$placement = props.placement,
|
|
53
|
+
placement = _props$placement === void 0 ? 'bottom' : _props$placement,
|
|
54
|
+
_props$offset = props.offset,
|
|
55
|
+
offset = _props$offset === void 0 ? Spacing.SizesDdsSpacingLocalX05NumberPx : _props$offset,
|
|
56
|
+
id = props.id,
|
|
57
|
+
className = props.className,
|
|
58
|
+
_props$htmlProps = props.htmlProps,
|
|
59
|
+
htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
|
|
60
|
+
rest = __rest(props, ["title", "isOpen", "withCloseButton", "onCloseButtonClick", "onCloseButtonBlur", "anchorElement", "children", "placement", "offset", "id", "className", "htmlProps"]);
|
|
61
|
+
|
|
62
|
+
var _useFloatPosition = useFloatPosition(null, placement, offset),
|
|
63
|
+
reference = _useFloatPosition.reference,
|
|
64
|
+
floating = _useFloatPosition.floating,
|
|
65
|
+
styles = _useFloatPosition.styles;
|
|
66
|
+
|
|
67
|
+
var multiRef = useCombinedRef(ref, floating);
|
|
68
|
+
useEffect(function () {
|
|
69
|
+
isOpen && anchorElement ? reference(anchorElement) : reference(null);
|
|
70
|
+
return function () {
|
|
71
|
+
return reference(null);
|
|
72
|
+
};
|
|
73
|
+
}, [anchorElement, isOpen]);
|
|
74
|
+
var wrapperProps = Object.assign(Object.assign({}, getBaseHTMLProps(id, className, htmlProps, rest)), {
|
|
75
|
+
ref: multiRef,
|
|
76
|
+
isOpen: isOpen,
|
|
77
|
+
style: Object.assign(Object.assign({}, htmlProps.style), styles.floating),
|
|
78
|
+
role: 'dialog'
|
|
79
|
+
});
|
|
80
|
+
return jsxs(Wrapper, Object.assign({}, wrapperProps, {
|
|
81
|
+
children: [title && jsx(TitleContainer, {
|
|
82
|
+
children: typeof title === 'string' ? jsx(Typography, Object.assign({
|
|
83
|
+
typographyType: "headingSans02"
|
|
84
|
+
}, {
|
|
85
|
+
children: title
|
|
86
|
+
})) : title
|
|
87
|
+
}), jsx(ContentContainer, Object.assign({
|
|
88
|
+
hasTitle: !!title,
|
|
89
|
+
withCloseButton: withCloseButton
|
|
90
|
+
}, {
|
|
91
|
+
children: children
|
|
92
|
+
})), withCloseButton && jsx(StyledButton, {
|
|
93
|
+
Icon: CloseOutlinedIcon,
|
|
94
|
+
appearance: "borderless",
|
|
95
|
+
purpose: "secondary",
|
|
96
|
+
size: "small",
|
|
97
|
+
onClick: onCloseButtonClick,
|
|
98
|
+
"aria-label": "Lukk",
|
|
99
|
+
onBlur: onCloseButtonBlur
|
|
100
|
+
})]
|
|
101
|
+
}));
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
export { Popover };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ddsBaseTokens } from '@norges-domstoler/dds-design-tokens';
|
|
2
|
+
|
|
3
|
+
var Colors = ddsBaseTokens.colors,
|
|
4
|
+
BorderRadius = ddsBaseTokens.borderRadius,
|
|
5
|
+
Spacing = ddsBaseTokens.spacing,
|
|
6
|
+
OuterShadow = ddsBaseTokens.outerShadow,
|
|
7
|
+
Border = ddsBaseTokens.border;
|
|
8
|
+
var wrapperBase = {
|
|
9
|
+
backgroundColor: Colors.DdsColorNeutralsWhite,
|
|
10
|
+
borderRadius: BorderRadius.RadiiDdsBorderRadius1Radius,
|
|
11
|
+
padding: "".concat(Spacing.SizesDdsSpacingLocalX075, " ").concat(Spacing.SizesDdsSpacingLocalX1, " ").concat(Spacing.SizesDdsSpacingLocalX15, " ").concat(Spacing.SizesDdsSpacingLocalX1),
|
|
12
|
+
boxShadow: OuterShadow.DdsShadow3Onlight,
|
|
13
|
+
border: "".concat(Border.BordersDdsBorderStyleLightStrokeWeight, " solid ").concat(Border.BordersDdsBorderStyleLightStroke)
|
|
14
|
+
};
|
|
15
|
+
var buttonBase = {
|
|
16
|
+
position: 'absolute',
|
|
17
|
+
top: Spacing.SizesDdsSpacingLocalX025,
|
|
18
|
+
right: Spacing.SizesDdsSpacingLocalX025
|
|
19
|
+
};
|
|
20
|
+
var titleBase = {
|
|
21
|
+
marginRight: Spacing.SizesDdsSpacingLocalX2
|
|
22
|
+
};
|
|
23
|
+
var popoverTokens = {
|
|
24
|
+
wrapper: {
|
|
25
|
+
base: wrapperBase
|
|
26
|
+
},
|
|
27
|
+
button: {
|
|
28
|
+
base: buttonBase
|
|
29
|
+
},
|
|
30
|
+
title: {
|
|
31
|
+
base: titleBase
|
|
32
|
+
},
|
|
33
|
+
content: {
|
|
34
|
+
spaceTopNoTitle: Spacing.SizesDdsSpacingLocalX2
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { popoverTokens };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useEffect, useRef, Children, isValidElement, cloneElement } from 'react';
|
|
4
|
+
import { useOnKeyDown } from '../../hooks/useOnKeyDown.js';
|
|
5
|
+
import { useOnClickOutside } from '../../hooks/useOnClickOutside.js';
|
|
6
|
+
|
|
7
|
+
var nextUniqueId = 0;
|
|
8
|
+
var PopoverGroup = function PopoverGroup(_ref) {
|
|
9
|
+
var _ref$isOpen = _ref.isOpen,
|
|
10
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
11
|
+
onCloseButtonClick = _ref.onCloseButtonClick,
|
|
12
|
+
onTriggerClick = _ref.onTriggerClick,
|
|
13
|
+
children = _ref.children,
|
|
14
|
+
popoverId = _ref.popoverId;
|
|
15
|
+
|
|
16
|
+
var _useState = useState(isOpen),
|
|
17
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
18
|
+
open = _useState2[0],
|
|
19
|
+
setOpen = _useState2[1];
|
|
20
|
+
|
|
21
|
+
useEffect(function () {
|
|
22
|
+
setOpen(isOpen);
|
|
23
|
+
}, [isOpen]);
|
|
24
|
+
var uniqueId = nextUniqueId++;
|
|
25
|
+
|
|
26
|
+
var _useState3 = useState(popoverId !== null && popoverId !== void 0 ? popoverId : "popover-".concat(uniqueId)),
|
|
27
|
+
_useState4 = _slicedToArray(_useState3, 1),
|
|
28
|
+
uniquePopoverId = _useState4[0];
|
|
29
|
+
|
|
30
|
+
var handleOnCloseButtonClick = function handleOnCloseButtonClick() {
|
|
31
|
+
setOpen(false);
|
|
32
|
+
onCloseButtonClick && onCloseButtonClick();
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var handleOnTriggerClick = function handleOnTriggerClick() {
|
|
36
|
+
setOpen(!open);
|
|
37
|
+
onTriggerClick && onTriggerClick();
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
var buttonRef = useRef(null);
|
|
41
|
+
var popoverRef = useRef(null);
|
|
42
|
+
|
|
43
|
+
var handleBlur = function handleBlur() {
|
|
44
|
+
setTimeout(function () {
|
|
45
|
+
var _a;
|
|
46
|
+
|
|
47
|
+
(_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
48
|
+
}, 5);
|
|
49
|
+
setOpen(false);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
useOnKeyDown(['Esc', 'Escape'], function () {
|
|
53
|
+
var _a;
|
|
54
|
+
|
|
55
|
+
if (open) {
|
|
56
|
+
setOpen(false);
|
|
57
|
+
(_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
useOnClickOutside([popoverRef.current, buttonRef.current], function () {
|
|
61
|
+
if (open) setOpen(false);
|
|
62
|
+
});
|
|
63
|
+
var Children$1 = Children.map(children, function (child, childIndex) {
|
|
64
|
+
return /*#__PURE__*/isValidElement(child) && (childIndex === 0 ? /*#__PURE__*/cloneElement(child, {
|
|
65
|
+
'aria-haspopup': 'dialog',
|
|
66
|
+
'aria-controls': uniquePopoverId,
|
|
67
|
+
'aria-expanded': open,
|
|
68
|
+
onClick: handleOnTriggerClick,
|
|
69
|
+
ref: buttonRef
|
|
70
|
+
}) : /*#__PURE__*/cloneElement(child, {
|
|
71
|
+
isOpen: open,
|
|
72
|
+
'aria-hidden': !open,
|
|
73
|
+
id: uniquePopoverId,
|
|
74
|
+
onCloseButtonClick: handleOnCloseButtonClick,
|
|
75
|
+
onCloseButtonBlur: handleBlur,
|
|
76
|
+
anchorElement: buttonRef.current,
|
|
77
|
+
ref: popoverRef
|
|
78
|
+
}));
|
|
79
|
+
});
|
|
80
|
+
return jsx(Fragment, {
|
|
81
|
+
children: Children$1
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { PopoverGroup };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __rest } from 'tslib';
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
import { forwardRef, useState } from 'react';
|
|
5
|
+
import { useRadioButtonGroup } from './RadioButtonGroupContext.js';
|
|
6
|
+
import { Container, Input, CustomRadioButton } from './RadioButton.styles.js';
|
|
7
|
+
import { getBaseHTMLProps, joinClassNames } from '../../types/BaseComponentProps.js';
|
|
8
|
+
import { Typography } from '../Typography/Typography.js';
|
|
9
|
+
|
|
10
|
+
var nextUniqueId = 0;
|
|
11
|
+
|
|
12
|
+
var isValueEqualToGroupValueOrFalsy = function isValueEqualToGroupValueOrFalsy(value, group) {
|
|
13
|
+
if (typeof value !== 'undefined' && value !== null && group) {
|
|
14
|
+
if (typeof value === 'number') {
|
|
15
|
+
return value === Number(group === null || group === void 0 ? void 0 : group.value);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return value === (group === null || group === void 0 ? void 0 : group.value);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return !!value;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var RadioButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
25
|
+
var id = props.id,
|
|
26
|
+
name = props.name,
|
|
27
|
+
label = props.label,
|
|
28
|
+
disabled = props.disabled,
|
|
29
|
+
readOnly = props.readOnly,
|
|
30
|
+
error = props.error,
|
|
31
|
+
checked = props.checked,
|
|
32
|
+
value = props.value,
|
|
33
|
+
children = props.children,
|
|
34
|
+
required = props.required,
|
|
35
|
+
onChange = props.onChange,
|
|
36
|
+
ariaDescribedby = props['aria-describedby'],
|
|
37
|
+
className = props.className,
|
|
38
|
+
_props$htmlProps = props.htmlProps,
|
|
39
|
+
htmlProps = _props$htmlProps === void 0 ? {} : _props$htmlProps,
|
|
40
|
+
rest = __rest(props, ["id", "name", "label", "disabled", "readOnly", "error", "checked", "value", "children", "required", "onChange", 'aria-describedby', "className", "htmlProps"]);
|
|
41
|
+
|
|
42
|
+
var htmlPropsClassName = htmlProps.className,
|
|
43
|
+
style = htmlProps.style,
|
|
44
|
+
restHtmlProps = __rest(htmlProps, ["className", "style"]);
|
|
45
|
+
|
|
46
|
+
var _useState = useState(id !== null && id !== void 0 ? id : "radioButton-".concat(nextUniqueId++)),
|
|
47
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
48
|
+
uniqueId = _useState2[0];
|
|
49
|
+
|
|
50
|
+
var radioButtonGroup = useRadioButtonGroup();
|
|
51
|
+
|
|
52
|
+
var handleChange = function handleChange(event) {
|
|
53
|
+
onChange && onChange(event);
|
|
54
|
+
radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.onChange(event);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var describedByIds = [];
|
|
58
|
+
if (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.errorMessageId) describedByIds.push(radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.errorMessageId);
|
|
59
|
+
if (ariaDescribedby) describedByIds.push(ariaDescribedby);
|
|
60
|
+
var inputProps = Object.assign(Object.assign({}, getBaseHTMLProps(uniqueId, restHtmlProps, rest)), {
|
|
61
|
+
name: name !== null && name !== void 0 ? name : radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.name,
|
|
62
|
+
disabled: disabled || readOnly || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.disabled) || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.readOnly),
|
|
63
|
+
required: required || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.required),
|
|
64
|
+
checked: typeof checked !== 'undefined' ? checked : isValueEqualToGroupValueOrFalsy(value, radioButtonGroup),
|
|
65
|
+
onChange: handleChange,
|
|
66
|
+
value: value,
|
|
67
|
+
'aria-describedby': describedByIds.length > 0 ? describedByIds.join(' ') : undefined,
|
|
68
|
+
'aria-invalid': error || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.error) ? true : undefined
|
|
69
|
+
});
|
|
70
|
+
var containerProps = {
|
|
71
|
+
error: error || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.error),
|
|
72
|
+
disabled: disabled || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.disabled),
|
|
73
|
+
readOnly: readOnly || (radioButtonGroup === null || radioButtonGroup === void 0 ? void 0 : radioButtonGroup.readOnly),
|
|
74
|
+
style: style,
|
|
75
|
+
className: joinClassNames(className, htmlPropsClassName)
|
|
76
|
+
};
|
|
77
|
+
return jsxs(Container, Object.assign({}, containerProps, {
|
|
78
|
+
htmlFor: uniqueId
|
|
79
|
+
}, {
|
|
80
|
+
children: [jsx(Input, Object.assign({
|
|
81
|
+
ref: ref
|
|
82
|
+
}, inputProps)), jsx(CustomRadioButton, {}), jsx(Typography, Object.assign({
|
|
83
|
+
as: "span"
|
|
84
|
+
}, {
|
|
85
|
+
children: children !== null && children !== void 0 ? children : label
|
|
86
|
+
}))]
|
|
87
|
+
}));
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
export { RadioButton };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { radioButtonTokens } from './RadioButton.tokens.js';
|
|
3
|
+
import { hideInput } from '../../helpers/styling/hideInput.js';
|
|
4
|
+
import { focusVisibleTransitionValue } from '../../helpers/styling/focusVisible.js';
|
|
5
|
+
|
|
6
|
+
var CustomRadioButton = styled.span.withConfig({
|
|
7
|
+
displayName: "RadioButtonstyles__CustomRadioButton",
|
|
8
|
+
componentId: "sc-iwypha-0"
|
|
9
|
+
})(["position:absolute;box-sizing:border-box;border-radius:50%;vertical-align:middle;", " left:", ";&:after{content:'';position:absolute;display:none;}"], radioButtonTokens.radioButton.base, radioButtonTokens.radioButton.spaceLeft);
|
|
10
|
+
var Input = styled.input.attrs(function (_ref) {
|
|
11
|
+
var _ref$type = _ref.type,
|
|
12
|
+
type = _ref$type === void 0 ? 'radio' : _ref$type;
|
|
13
|
+
return {
|
|
14
|
+
type: type
|
|
15
|
+
};
|
|
16
|
+
}).withConfig({
|
|
17
|
+
displayName: "RadioButtonstyles__Input",
|
|
18
|
+
componentId: "sc-iwypha-1"
|
|
19
|
+
})(["", ""], hideInput);
|
|
20
|
+
var Container = styled.label.withConfig({
|
|
21
|
+
displayName: "RadioButtonstyles__Container",
|
|
22
|
+
componentId: "sc-iwypha-2"
|
|
23
|
+
})(["position:relative;display:block;cursor:pointer;user-select:none;width:fit-content;display:flex;align-items:center;", " input:checked ~ ", ":after{display:block;}input ~ ", "{transition:box-shadow 0.2s,background-color 0.2s,border 0.2s;}input:checked ~ ", "{", "}&:hover input:enabled ~ ", "{", "}&:hover input:checked:enabled ~ ", "{", "}&:focus-within{", " transition:", ";}", " ", " ", " ", ":after{border-radius:50%;", "}"], radioButtonTokens.container.base, CustomRadioButton, CustomRadioButton, CustomRadioButton, radioButtonTokens.radioButton.checked.base, CustomRadioButton, radioButtonTokens.radioButton.hover.base, CustomRadioButton, radioButtonTokens.radioButton.checked.hover.base, radioButtonTokens.container.focus.base, focusVisibleTransitionValue, function (_ref2) {
|
|
24
|
+
var error = _ref2.error;
|
|
25
|
+
return error && css(["input ~ ", "{", "}&:hover input:enabled ~ ", "{", "}"], CustomRadioButton, radioButtonTokens.radioButton.danger.base, CustomRadioButton, radioButtonTokens.radioButton.danger.hover.base);
|
|
26
|
+
}, function (_ref3) {
|
|
27
|
+
var disabled = _ref3.disabled;
|
|
28
|
+
return disabled && css(["cursor:not-allowed;input ~ ", "{", "}input:checked ~ ", "{", "}"], CustomRadioButton, radioButtonTokens.radioButton.disabled.base, CustomRadioButton, radioButtonTokens.radioButton.checked.disabled.base);
|
|
29
|
+
}, function (_ref4) {
|
|
30
|
+
var readOnly = _ref4.readOnly;
|
|
31
|
+
return readOnly && css(["cursor:default;input ~ ", "{", "}input:checked ~ ", "{", "}"], CustomRadioButton, radioButtonTokens.radioButton.readOnly.base, CustomRadioButton, radioButtonTokens.radioButton.checked.readOnly.base);
|
|
32
|
+
}, CustomRadioButton, radioButtonTokens.checkmark.base);
|
|
33
|
+
|
|
34
|
+
export { Container, CustomRadioButton, Input };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ddsBaseTokens } from '@norges-domstoler/dds-design-tokens';
|
|
2
|
+
import { hoverInputfield, hoverDangerInputfield } from '../../helpers/styling/hover.js';
|
|
3
|
+
import { dangerInputfield } from '../../helpers/styling/danger.js';
|
|
4
|
+
import { focusVisible } from '../../helpers/styling/focusVisible.js';
|
|
5
|
+
|
|
6
|
+
var Colors = ddsBaseTokens.colors,
|
|
7
|
+
Spacing = ddsBaseTokens.spacing,
|
|
8
|
+
FontPackages = ddsBaseTokens.fontPackages;
|
|
9
|
+
var radioButtonBase = {
|
|
10
|
+
border: '1px solid',
|
|
11
|
+
borderColor: Colors.DdsColorNeutralsGray5,
|
|
12
|
+
backgroundColor: Colors.DdsColorNeutralsWhite,
|
|
13
|
+
height: FontPackages.supportingStyle_inputtext_02.numbers.fontSizeNumber,
|
|
14
|
+
width: FontPackages.supportingStyle_inputtext_02.numbers.fontSizeNumber
|
|
15
|
+
};
|
|
16
|
+
var radioButtonHoverBase = Object.assign({}, hoverInputfield);
|
|
17
|
+
var radioButtonDisabledBase = {
|
|
18
|
+
borderColor: Colors.DdsColorNeutralsGray5,
|
|
19
|
+
color: Colors.DdsColorNeutralsGray6
|
|
20
|
+
};
|
|
21
|
+
var radioButtonReadOnlyBase = {
|
|
22
|
+
backgroundColor: 'transparent'
|
|
23
|
+
};
|
|
24
|
+
var radioButtonDangerBase = Object.assign({}, dangerInputfield);
|
|
25
|
+
var radioButtonDangerHoverBase = Object.assign({}, hoverDangerInputfield);
|
|
26
|
+
var radioButtonCheckedBase = {
|
|
27
|
+
backgroundColor: Colors.DdsColorInteractiveBase,
|
|
28
|
+
borderColor: Colors.DdsColorInteractiveBase
|
|
29
|
+
};
|
|
30
|
+
var radioButtonCheckedHoverBase = {
|
|
31
|
+
backgroundColor: Colors.DdsColorInteractiveDark,
|
|
32
|
+
borderColor: Colors.DdsColorInteractiveDark,
|
|
33
|
+
boxShadow: "inset 0 0 0 1px ".concat(Colors.DdsColorInteractiveDark)
|
|
34
|
+
};
|
|
35
|
+
var radioButtonCheckedDisabledBase = {
|
|
36
|
+
borderColor: Colors.DdsColorNeutralsGray6,
|
|
37
|
+
backgroundColor: Colors.DdsColorNeutralsGray6
|
|
38
|
+
};
|
|
39
|
+
var radioButtonCheckedReadOnlyBase = {
|
|
40
|
+
borderColor: Colors.DdsColorNeutralsGray6,
|
|
41
|
+
backgroundColor: Colors.DdsColorNeutralsGray6
|
|
42
|
+
};
|
|
43
|
+
var checkmarkBase = {
|
|
44
|
+
backgroundColor: Colors.DdsColorNeutralsWhite,
|
|
45
|
+
height: Spacing.SizesDdsSpacingLocalX05,
|
|
46
|
+
width: Spacing.SizesDdsSpacingLocalX05,
|
|
47
|
+
left: "calc(50% - ".concat(Spacing.SizesDdsSpacingLocalX05NumberPx / 2, "px)"),
|
|
48
|
+
top: "calc(50% - ".concat(Spacing.SizesDdsSpacingLocalX05NumberPx / 2, "px)")
|
|
49
|
+
};
|
|
50
|
+
var containerBase = {
|
|
51
|
+
padding: "0 ".concat(Spacing.SizesDdsSpacingLocalX025, " 0 ").concat(20 + Spacing.SizesDdsSpacingLocalX075NumberPx, "px")
|
|
52
|
+
};
|
|
53
|
+
var focusBase = Object.assign({}, focusVisible);
|
|
54
|
+
var radioButtonTokens = {
|
|
55
|
+
radioButton: {
|
|
56
|
+
base: radioButtonBase,
|
|
57
|
+
spaceLeft: Spacing.SizesDdsSpacingLocalX025,
|
|
58
|
+
hover: {
|
|
59
|
+
base: radioButtonHoverBase
|
|
60
|
+
},
|
|
61
|
+
disabled: {
|
|
62
|
+
base: radioButtonDisabledBase
|
|
63
|
+
},
|
|
64
|
+
readOnly: {
|
|
65
|
+
base: radioButtonReadOnlyBase
|
|
66
|
+
},
|
|
67
|
+
checked: {
|
|
68
|
+
base: radioButtonCheckedBase,
|
|
69
|
+
hover: {
|
|
70
|
+
base: radioButtonCheckedHoverBase
|
|
71
|
+
},
|
|
72
|
+
disabled: {
|
|
73
|
+
base: radioButtonCheckedDisabledBase
|
|
74
|
+
},
|
|
75
|
+
readOnly: {
|
|
76
|
+
base: radioButtonCheckedReadOnlyBase
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
danger: {
|
|
80
|
+
base: radioButtonDangerBase,
|
|
81
|
+
hover: {
|
|
82
|
+
base: radioButtonDangerHoverBase
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
checkmark: {
|
|
87
|
+
base: checkmarkBase
|
|
88
|
+
},
|
|
89
|
+
container: {
|
|
90
|
+
base: containerBase,
|
|
91
|
+
focus: {
|
|
92
|
+
base: focusBase
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export { radioButtonTokens };
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { __rest } from 'tslib';
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import styled, { css } from 'styled-components';
|
|
6
|
+
import { radioButtonGroupTokens } from './RadioButtonGroup.tokens.js';
|
|
7
|
+
import { RadioButtonGroupContext } from './RadioButtonGroupContext.js';
|
|
8
|
+
import { combineHandlers } from '../../utils/combineHandlers.js';
|
|
9
|
+
import { RequiredMarker } from '../../helpers/RequiredMarker/RequiredMarker.js';
|
|
10
|
+
import { InputMessage } from '../InputMessage/InputMessage.js';
|
|
11
|
+
import { Typography } from '../Typography/Typography.js';
|
|
12
|
+
import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
|
|
13
|
+
|
|
14
|
+
var Container = styled.div.withConfig({
|
|
15
|
+
displayName: "RadioButtonGroup__Container",
|
|
16
|
+
componentId: "sc-1xsll60-0"
|
|
17
|
+
})(["display:flex;flex-direction:column;", ""], radioButtonGroupTokens.container.base);
|
|
18
|
+
var GroupContainer = styled.div.withConfig({
|
|
19
|
+
displayName: "RadioButtonGroup__GroupContainer",
|
|
20
|
+
componentId: "sc-1xsll60-1"
|
|
21
|
+
})(["display:flex;", ""], function (_ref) {
|
|
22
|
+
var direction = _ref.direction;
|
|
23
|
+
return css(["flex-direction:", ";", ""], direction, radioButtonGroupTokens.groupContainer.direction[direction].base);
|
|
24
|
+
});
|
|
25
|
+
var Label = styled(Typography).withConfig({
|
|
26
|
+
displayName: "RadioButtonGroup__Label",
|
|
27
|
+
componentId: "sc-1xsll60-2"
|
|
28
|
+
})(["padding-left:", ";"], radioButtonGroupTokens.label.spaceLeft);
|
|
29
|
+
var nextUniqueGroupId = 0;
|
|
30
|
+
var RadioButtonGroup = function RadioButtonGroup(_a) {
|
|
31
|
+
var name = _a.name,
|
|
32
|
+
label = _a.label,
|
|
33
|
+
groupId = _a.groupId,
|
|
34
|
+
errorMessage = _a.errorMessage,
|
|
35
|
+
tip = _a.tip,
|
|
36
|
+
disabled = _a.disabled,
|
|
37
|
+
readOnly = _a.readOnly,
|
|
38
|
+
_a$direction = _a.direction,
|
|
39
|
+
direction = _a$direction === void 0 ? 'row' : _a$direction,
|
|
40
|
+
value = _a.value,
|
|
41
|
+
children = _a.children,
|
|
42
|
+
required = _a.required,
|
|
43
|
+
onChange = _a.onChange,
|
|
44
|
+
id = _a.id,
|
|
45
|
+
className = _a.className,
|
|
46
|
+
htmlProps = _a.htmlProps,
|
|
47
|
+
rest = __rest(_a, ["name", "label", "groupId", "errorMessage", "tip", "disabled", "readOnly", "direction", "value", "children", "required", "onChange", "id", "className", "htmlProps"]);
|
|
48
|
+
|
|
49
|
+
var _useState = useState(value),
|
|
50
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
+
groupValue = _useState2[0],
|
|
52
|
+
setGroupValue = _useState2[1];
|
|
53
|
+
|
|
54
|
+
var _useState3 = useState(groupId !== null && groupId !== void 0 ? groupId : "radioButtonGroup-".concat(nextUniqueGroupId++)),
|
|
55
|
+
_useState4 = _slicedToArray(_useState3, 1),
|
|
56
|
+
uniqueGroupId = _useState4[0];
|
|
57
|
+
|
|
58
|
+
var handleChange = combineHandlers(function (e) {
|
|
59
|
+
return setGroupValue(e.target.value);
|
|
60
|
+
}, function (e) {
|
|
61
|
+
return onChange && onChange(e, e.target.value);
|
|
62
|
+
});
|
|
63
|
+
var hasErrorMessage = !!errorMessage;
|
|
64
|
+
var hasTip = !!tip;
|
|
65
|
+
var tipId = hasTip ? "".concat(uniqueGroupId, "-tip") : undefined;
|
|
66
|
+
var errorMessageId = hasErrorMessage ? "".concat(uniqueGroupId, "-errorMessage") : undefined;
|
|
67
|
+
var contextProps = {
|
|
68
|
+
name: name,
|
|
69
|
+
disabled: disabled,
|
|
70
|
+
error: hasErrorMessage,
|
|
71
|
+
errorMessageId: errorMessageId,
|
|
72
|
+
required: required,
|
|
73
|
+
readOnly: readOnly,
|
|
74
|
+
value: groupValue,
|
|
75
|
+
onChange: handleChange
|
|
76
|
+
};
|
|
77
|
+
return jsxs(Container, Object.assign({}, getBaseHTMLProps(id, className, htmlProps, rest), {
|
|
78
|
+
children: [jsxs(Label, Object.assign({
|
|
79
|
+
forwardedAs: "span",
|
|
80
|
+
typographyType: "supportingStyleLabel01",
|
|
81
|
+
id: uniqueGroupId
|
|
82
|
+
}, {
|
|
83
|
+
children: [label, " ", required && jsx(RequiredMarker, {})]
|
|
84
|
+
})), hasTip && jsx(InputMessage, {
|
|
85
|
+
message: tip,
|
|
86
|
+
messageType: "tip",
|
|
87
|
+
id: tipId
|
|
88
|
+
}), jsx(RadioButtonGroupContext.Provider, Object.assign({
|
|
89
|
+
value: Object.assign({}, contextProps)
|
|
90
|
+
}, {
|
|
91
|
+
children: jsx(GroupContainer, Object.assign({
|
|
92
|
+
role: "radiogroup",
|
|
93
|
+
direction: direction,
|
|
94
|
+
"aria-labelledby": uniqueGroupId,
|
|
95
|
+
"aria-describedby": tipId,
|
|
96
|
+
"aria-errormessage": errorMessageId
|
|
97
|
+
}, {
|
|
98
|
+
children: children
|
|
99
|
+
}))
|
|
100
|
+
})), hasErrorMessage && jsx(InputMessage, {
|
|
101
|
+
message: errorMessage,
|
|
102
|
+
messageType: "error",
|
|
103
|
+
id: errorMessageId
|
|
104
|
+
})]
|
|
105
|
+
}));
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export { RadioButtonGroup };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ddsBaseTokens } from '@norges-domstoler/dds-design-tokens';
|
|
2
|
+
|
|
3
|
+
var Spacing = ddsBaseTokens.spacing;
|
|
4
|
+
var groupContainerRowBase = {
|
|
5
|
+
gap: Spacing.SizesDdsSpacingLocalX075
|
|
6
|
+
};
|
|
7
|
+
var groupContainerColumnBase = {
|
|
8
|
+
gap: Spacing.SizesDdsSpacingLocalX05
|
|
9
|
+
};
|
|
10
|
+
var containerBase = {
|
|
11
|
+
gap: Spacing.SizesDdsSpacingLocalX0125
|
|
12
|
+
};
|
|
13
|
+
var radioButtonGroupTokens = {
|
|
14
|
+
label: {
|
|
15
|
+
spaceLeft: Spacing.SizesDdsSpacingLocalX025
|
|
16
|
+
},
|
|
17
|
+
container: {
|
|
18
|
+
base: containerBase
|
|
19
|
+
},
|
|
20
|
+
groupContainer: {
|
|
21
|
+
direction: {
|
|
22
|
+
row: {
|
|
23
|
+
base: groupContainerRowBase
|
|
24
|
+
},
|
|
25
|
+
column: {
|
|
26
|
+
base: groupContainerColumnBase
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { radioButtonGroupTokens };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
var RadioButtonGroupContext = /*#__PURE__*/React.createContext(null);
|
|
4
|
+
var useRadioButtonGroup = function useRadioButtonGroup() {
|
|
5
|
+
return useContext(RadioButtonGroupContext);
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { RadioButtonGroupContext, useRadioButtonGroup };
|