@fremtind/jokul 0.44.6 → 0.45.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/build/build-stats.html +1 -1
- package/build/cjs/components/accordion/Accordion.cjs.map +1 -1
- package/build/cjs/components/accordion/Accordion.d.cts +1 -6
- package/build/cjs/components/accordion/AccordionItem.cjs.map +1 -1
- package/build/cjs/components/accordion/AccordionItem.d.cts +2 -9
- package/build/cjs/components/accordion/index.d.cts +3 -2
- package/build/cjs/components/accordion/types.cjs +2 -0
- package/build/cjs/components/accordion/types.cjs.map +1 -0
- package/build/cjs/components/accordion/types.d.cts +13 -0
- package/build/cjs/components/autosuggest/Autosuggest.cjs.map +1 -1
- package/build/cjs/components/autosuggest/Autosuggest.d.cts +1 -45
- package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
- package/build/cjs/components/autosuggest/BaseAutosuggest.d.cts +1 -1
- package/build/cjs/components/autosuggest/index.d.cts +1 -1
- package/build/cjs/components/autosuggest/types.cjs +2 -0
- package/build/cjs/components/autosuggest/types.cjs.map +1 -0
- package/build/cjs/components/autosuggest/types.d.cts +44 -0
- package/build/cjs/components/breadcrumb/Breadcrumb.cjs.map +1 -1
- package/build/cjs/components/breadcrumb/Breadcrumb.d.cts +1 -5
- package/build/cjs/components/breadcrumb/BreadcrumbItem.cjs.map +1 -1
- package/build/cjs/components/breadcrumb/BreadcrumbItem.d.cts +1 -9
- package/build/cjs/components/breadcrumb/index.d.cts +3 -2
- package/build/cjs/components/breadcrumb/types.cjs +2 -0
- package/build/cjs/components/breadcrumb/types.cjs.map +1 -0
- package/build/cjs/components/breadcrumb/types.d.cts +13 -0
- package/build/cjs/components/card/NavCard.cjs.map +1 -1
- package/build/cjs/components/card/NavCard.d.cts +1 -1
- package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
- package/build/cjs/components/checkbox/Checkbox.d.cts +2 -16
- package/build/cjs/components/checkbox/index.d.cts +2 -1
- package/build/cjs/components/checkbox/types.cjs +2 -0
- package/build/cjs/components/checkbox/types.cjs.map +1 -0
- package/build/cjs/components/checkbox/types.d.cts +16 -0
- package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs +2 -0
- package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs.map +1 -0
- package/build/cjs/components/checkbox-panel/CheckboxPanel.d.cts +3 -0
- package/build/cjs/components/checkbox-panel/index.cjs +2 -0
- package/build/cjs/components/checkbox-panel/index.d.cts +2 -0
- package/build/cjs/components/checkbox-panel/types.cjs +2 -0
- package/build/cjs/components/checkbox-panel/types.cjs.map +1 -0
- package/build/cjs/components/checkbox-panel/types.d.cts +6 -0
- package/build/cjs/components/chip/Chip.cjs.map +1 -1
- package/build/cjs/components/chip/Chip.d.cts +2 -13
- package/build/cjs/components/chip/index.d.cts +2 -1
- package/build/cjs/components/chip/types.cjs +2 -0
- package/build/cjs/components/chip/types.cjs.map +1 -0
- package/build/cjs/components/chip/types.d.cts +13 -0
- package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
- package/build/cjs/components/combobox/Combobox.d.cts +2 -38
- package/build/cjs/components/combobox/index.d.cts +2 -1
- package/build/cjs/components/combobox/types.cjs +2 -0
- package/build/cjs/components/combobox/types.cjs.map +1 -0
- package/build/cjs/components/combobox/types.d.cts +37 -0
- package/build/cjs/components/countdown/Countdown.cjs.map +1 -0
- package/build/cjs/components/countdown/Countdown.d.cts +3 -0
- package/build/cjs/components/countdown/index.cjs +2 -0
- package/build/cjs/components/countdown/index.cjs.map +1 -0
- package/build/cjs/components/countdown/index.d.cts +2 -0
- package/build/cjs/components/countdown/types.cjs +2 -0
- package/build/cjs/components/countdown/types.cjs.map +1 -0
- package/build/cjs/components/{progress-bar/Countdown.d.cts → countdown/types.d.cts} +1 -2
- package/build/cjs/components/datepicker/types.d.cts +3 -3
- package/build/cjs/components/description-list/DescriptionList.cjs.map +1 -1
- package/build/cjs/components/description-list/DescriptionList.d.cts +1 -10
- package/build/cjs/components/description-list/index.d.cts +2 -1
- package/build/cjs/components/description-list/types.cjs +2 -0
- package/build/cjs/components/description-list/types.cjs.map +1 -0
- package/build/cjs/components/description-list/types.d.cts +10 -0
- package/build/cjs/components/feedback/Feedback.cjs.map +1 -1
- package/build/cjs/components/feedback/Feedback.d.cts +1 -1
- package/build/cjs/components/feedback/FeedbackSuccess.cjs.map +1 -1
- package/build/cjs/components/feedback/FeedbackSuccess.d.cts +1 -1
- package/build/cjs/components/feedback/feedbackContext.cjs.map +1 -1
- package/build/cjs/components/feedback/feedbackContext.d.cts +1 -1
- package/build/cjs/components/feedback/types.d.cts +12 -4
- package/build/cjs/components/file-input/FileInput.cjs.map +1 -1
- package/build/cjs/components/file-input/FileInput.d.cts +1 -1
- package/build/cjs/components/flex/Flex.cjs.map +1 -1
- package/build/cjs/components/flex/Flex.d.cts +1 -14
- package/build/cjs/components/flex/index.d.cts +1 -0
- package/build/cjs/components/flex/types.cjs +2 -0
- package/build/cjs/components/flex/types.cjs.map +1 -0
- package/build/cjs/components/flex/types.d.cts +14 -0
- package/build/cjs/components/icon/types.d.cts +2 -1
- package/build/cjs/components/icon-button/IconButton.cjs.map +1 -1
- package/build/cjs/components/icon-button/IconButton.d.cts +2 -5
- package/build/cjs/components/icon-button/index.d.cts +2 -1
- package/build/cjs/components/icon-button/types.cjs +2 -0
- package/build/cjs/components/icon-button/types.cjs.map +1 -0
- package/build/cjs/components/icon-button/types.d.cts +5 -0
- package/build/cjs/components/image/Image.cjs.map +1 -1
- package/build/cjs/components/image/Image.d.cts +1 -11
- package/build/cjs/components/image/index.d.cts +2 -1
- package/build/cjs/components/image/types.cjs +2 -0
- package/build/cjs/components/image/types.cjs.map +1 -0
- package/build/cjs/components/image/types.d.cts +12 -0
- package/build/cjs/components/index.cjs +1 -1
- package/build/cjs/components/index.d.cts +4 -1
- package/build/cjs/components/input-group/FieldGroup.cjs.map +1 -1
- package/build/cjs/components/input-group/FieldGroup.d.cts +2 -14
- package/build/cjs/components/input-group/InputGroup.cjs.map +1 -1
- package/build/cjs/components/input-group/InputGroup.d.cts +11 -33
- package/build/cjs/components/input-group/Label.cjs.map +1 -1
- package/build/cjs/components/input-group/Label.d.cts +2 -13
- package/build/cjs/components/input-group/SupportLabel.cjs.map +1 -1
- package/build/cjs/components/input-group/SupportLabel.d.cts +2 -60
- package/build/cjs/components/input-group/index.d.cts +5 -4
- package/build/cjs/components/input-group/types.cjs +2 -0
- package/build/cjs/components/input-group/types.cjs.map +1 -0
- package/build/cjs/components/input-group/types.d.cts +101 -0
- package/build/cjs/components/link/Link.cjs.map +1 -1
- package/build/cjs/components/link/Link.d.cts +4 -6
- package/build/cjs/components/link/index.cjs +1 -1
- package/build/cjs/components/link/index.d.cts +2 -2
- package/build/cjs/components/link/types.cjs +2 -0
- package/build/cjs/components/link/types.cjs.map +1 -0
- package/build/cjs/components/link/types.d.cts +4 -0
- package/build/cjs/components/loader/Loader.cjs.map +1 -1
- package/build/cjs/components/loader/Loader.d.cts +1 -15
- package/build/cjs/components/loader/index.d.cts +10 -9
- package/build/cjs/components/loader/skeletons/SkeletonAnimation.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonAnimation.d.cts +2 -15
- package/build/cjs/components/loader/skeletons/SkeletonButton.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonButton.d.cts +1 -5
- package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.d.cts +1 -10
- package/build/cjs/components/loader/skeletons/SkeletonElement.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonElement.d.cts +2 -7
- package/build/cjs/components/loader/skeletons/SkeletonInput.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonInput.d.cts +1 -9
- package/build/cjs/components/loader/skeletons/SkeletonLabel.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonLabel.d.cts +1 -6
- package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.d.cts +1 -10
- package/build/cjs/components/loader/skeletons/SkeletonTable.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonTable.d.cts +2 -16
- package/build/cjs/components/loader/skeletons/SkeletonTextArea.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonTextArea.d.cts +1 -9
- package/build/cjs/components/loader/types.cjs +2 -0
- package/build/cjs/components/loader/types.cjs.map +1 -0
- package/build/cjs/components/loader/types.d.cts +82 -0
- package/build/cjs/components/logo/Logo.cjs.map +1 -1
- package/build/cjs/components/logo/Logo.d.cts +1 -14
- package/build/cjs/components/logo/LogoStamp.cjs.map +1 -1
- package/build/cjs/components/logo/LogoStamp.d.cts +1 -15
- package/build/cjs/components/logo/index.d.cts +3 -2
- package/build/cjs/components/logo/types.cjs +2 -0
- package/build/cjs/components/logo/types.cjs.map +1 -0
- package/build/cjs/components/logo/types.d.cts +28 -0
- package/build/cjs/components/menu/Menu.cjs.map +1 -1
- package/build/cjs/components/menu/Menu.d.cts +2 -38
- package/build/cjs/components/menu/MenuItem.cjs.map +1 -1
- package/build/cjs/components/menu/MenuItem.d.cts +2 -22
- package/build/cjs/components/menu/MenuItemCheckbox.cjs.map +1 -1
- package/build/cjs/components/menu/MenuItemCheckbox.d.cts +2 -10
- package/build/cjs/components/menu/index.d.cts +4 -3
- package/build/cjs/components/menu/types.cjs +2 -0
- package/build/cjs/components/menu/types.cjs.map +1 -0
- package/build/cjs/components/menu/types.d.cts +68 -0
- package/build/cjs/components/message/FormErrorMessage.cjs.map +1 -1
- package/build/cjs/components/message/FormErrorMessage.d.cts +1 -12
- package/build/cjs/components/message/Message.cjs.map +1 -1
- package/build/cjs/components/message/Message.d.cts +2 -15
- package/build/cjs/components/message/index.d.cts +3 -2
- package/build/cjs/components/message/types.cjs +2 -0
- package/build/cjs/components/message/types.cjs.map +1 -0
- package/build/cjs/components/message/types.d.cts +26 -0
- package/build/cjs/components/modal/Modal.cjs.map +1 -1
- package/build/cjs/components/modal/Modal.d.cts +2 -23
- package/build/cjs/components/modal/index.d.cts +3 -2
- package/build/cjs/components/modal/types.cjs +2 -0
- package/build/cjs/components/modal/types.cjs.map +1 -0
- package/build/cjs/components/modal/types.d.cts +42 -0
- package/build/cjs/components/modal/useModal.cjs.map +1 -1
- package/build/cjs/components/modal/useModal.d.cts +1 -24
- package/build/cjs/components/nav-link/NavLink.cjs.map +1 -0
- package/build/cjs/components/nav-link/NavLink.d.cts +5 -0
- package/build/cjs/components/nav-link/index.cjs +2 -0
- package/build/cjs/components/nav-link/index.cjs.map +1 -0
- package/build/cjs/components/nav-link/index.d.cts +2 -0
- package/build/cjs/components/nav-link/types.cjs +2 -0
- package/build/cjs/components/nav-link/types.cjs.map +1 -0
- package/build/cjs/components/nav-link/types.d.cts +5 -0
- package/build/cjs/components/pagination/Pagination.cjs.map +1 -1
- package/build/cjs/components/pagination/Pagination.d.cts +1 -15
- package/build/cjs/components/pagination/index.d.cts +2 -1
- package/build/cjs/components/pagination/types.cjs +2 -0
- package/build/cjs/components/pagination/types.cjs.map +1 -0
- package/build/cjs/components/pagination/types.d.cts +15 -0
- package/build/cjs/components/popover/Popover.cjs.map +1 -1
- package/build/cjs/components/popover/Popover.d.cts +1 -102
- package/build/cjs/components/popover/index.d.cts +2 -1
- package/build/cjs/components/popover/types.cjs +2 -0
- package/build/cjs/components/popover/types.cjs.map +1 -0
- package/build/cjs/components/popover/types.d.cts +102 -0
- package/build/cjs/components/progress-bar/ProgressBar.cjs.map +1 -1
- package/build/cjs/components/progress-bar/ProgressBar.d.cts +2 -20
- package/build/cjs/components/progress-bar/index.cjs +1 -1
- package/build/cjs/components/progress-bar/index.d.cts +2 -2
- package/build/cjs/components/progress-bar/types.cjs +2 -0
- package/build/cjs/components/progress-bar/types.cjs.map +1 -0
- package/build/cjs/components/progress-bar/types.d.cts +20 -0
- package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
- package/build/cjs/components/radio-button/BaseRadioButton.d.cts +2 -9
- package/build/cjs/components/radio-button/RadioButton.cjs.map +1 -1
- package/build/cjs/components/radio-button/RadioButton.d.cts +2 -14
- package/build/cjs/components/radio-button/RadioButtonGroup.cjs.map +1 -1
- package/build/cjs/components/radio-button/RadioButtonGroup.d.cts +2 -23
- package/build/cjs/components/radio-button/index.d.cts +4 -3
- package/build/cjs/components/radio-button/types.cjs +2 -0
- package/build/cjs/components/radio-button/types.cjs.map +1 -0
- package/build/cjs/components/radio-button/types.d.cts +41 -0
- package/build/cjs/components/radio-panel/RadioPanel.cjs +2 -0
- package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -0
- package/build/cjs/components/radio-panel/RadioPanel.d.cts +3 -0
- package/build/cjs/components/radio-panel/RadioPanelGroup.cjs.map +1 -0
- package/build/cjs/components/radio-panel/RadioPanelGroup.d.cts +3 -0
- package/build/cjs/components/radio-panel/index.cjs +2 -0
- package/build/cjs/components/radio-panel/index.cjs.map +1 -0
- package/build/cjs/components/radio-panel/index.d.cts +3 -0
- package/build/cjs/components/{input-panel → radio-panel}/radioPanelContext.cjs.map +1 -1
- package/build/cjs/components/radio-panel/types.cjs +2 -0
- package/build/cjs/components/radio-panel/types.cjs.map +1 -0
- package/build/cjs/components/radio-panel/types.d.cts +9 -0
- package/build/cjs/components/select/NativeSelect.cjs.map +1 -1
- package/build/cjs/components/select/NativeSelect.d.cts +2 -18
- package/build/cjs/components/select/Select.cjs.map +1 -1
- package/build/cjs/components/select/Select.d.cts +2 -53
- package/build/cjs/components/select/index.d.cts +3 -2
- package/build/cjs/components/select/types.cjs +2 -0
- package/build/cjs/components/select/types.cjs.map +1 -0
- package/build/cjs/components/select/types.d.cts +67 -0
- package/build/cjs/components/summary-table/SummaryTable.cjs.map +1 -1
- package/build/cjs/components/summary-table/SummaryTable.d.cts +2 -8
- package/build/cjs/components/summary-table/SummaryTableRow.cjs.map +1 -1
- package/build/cjs/components/summary-table/SummaryTableRow.d.cts +2 -6
- package/build/cjs/components/summary-table/index.d.cts +3 -2
- package/build/cjs/components/summary-table/types.cjs +2 -0
- package/build/cjs/components/summary-table/types.cjs.map +1 -0
- package/build/cjs/components/summary-table/types.d.cts +13 -0
- package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
- package/build/cjs/components/system-message/SystemMessage.d.cts +1 -15
- package/build/cjs/components/system-message/index.d.cts +2 -1
- package/build/cjs/components/system-message/types.cjs +2 -0
- package/build/cjs/components/system-message/types.cjs.map +1 -0
- package/build/cjs/components/system-message/types.d.cts +15 -0
- package/build/cjs/components/table/DataTable.cjs.map +1 -1
- package/build/cjs/components/table/DataTable.d.cts +2 -16
- package/build/cjs/components/table/ExpandableTableRow.cjs.map +1 -1
- package/build/cjs/components/table/ExpandableTableRow.d.cts +1 -14
- package/build/cjs/components/table/ExpandableTableRowController.cjs.map +1 -1
- package/build/cjs/components/table/ExpandableTableRowController.d.cts +1 -7
- package/build/cjs/components/table/Table.cjs.map +1 -1
- package/build/cjs/components/table/Table.d.cts +2 -9
- package/build/cjs/components/table/TableBody.cjs.map +1 -1
- package/build/cjs/components/table/TableBody.d.cts +2 -3
- package/build/cjs/components/table/TableCaption.cjs.map +1 -1
- package/build/cjs/components/table/TableCaption.d.cts +2 -5
- package/build/cjs/components/table/TableCell.cjs.map +1 -1
- package/build/cjs/components/table/TableCell.d.cts +2 -15
- package/build/cjs/components/table/TableColumn.cjs.map +1 -1
- package/build/cjs/components/table/TableColumn.d.cts +2 -3
- package/build/cjs/components/table/TableColumnGroup.cjs.map +1 -1
- package/build/cjs/components/table/TableColumnGroup.d.cts +2 -3
- package/build/cjs/components/table/TableFooter.cjs.map +1 -1
- package/build/cjs/components/table/TableFooter.d.cts +2 -3
- package/build/cjs/components/table/TableHead.cjs.map +1 -1
- package/build/cjs/components/table/TableHead.d.cts +2 -5
- package/build/cjs/components/table/TableHeader.cjs.map +1 -1
- package/build/cjs/components/table/TableHeader.d.cts +2 -19
- package/build/cjs/components/table/TablePagination.cjs.map +1 -1
- package/build/cjs/components/table/TablePagination.d.cts +2 -42
- package/build/cjs/components/table/TableRow.cjs.map +1 -1
- package/build/cjs/components/table/TableRow.d.cts +2 -13
- package/build/cjs/components/table/index.d.cts +1 -16
- package/build/cjs/components/table/tableContext.cjs.map +1 -1
- package/build/cjs/components/table/tableContext.d.cts +1 -10
- package/build/cjs/components/table/tableSectionContext.cjs.map +1 -1
- package/build/cjs/components/table/tableSectionContext.d.cts +1 -10
- package/build/cjs/components/table/types.cjs +2 -0
- package/build/cjs/components/table/types.cjs.map +1 -0
- package/build/cjs/components/table/types.d.cts +157 -0
- package/build/cjs/components/tabs/NavTab.cjs.map +1 -1
- package/build/cjs/components/tabs/NavTab.d.cts +2 -24
- package/build/cjs/components/tabs/NavTabs.cjs.map +1 -1
- package/build/cjs/components/tabs/NavTabs.d.cts +1 -7
- package/build/cjs/components/tabs/Tab.cjs.map +1 -1
- package/build/cjs/components/tabs/Tab.d.cts +1 -4
- package/build/cjs/components/tabs/TabList.cjs.map +1 -1
- package/build/cjs/components/tabs/TabList.d.cts +1 -5
- package/build/cjs/components/tabs/TabPanel.cjs.map +1 -1
- package/build/cjs/components/tabs/TabPanel.d.cts +1 -4
- package/build/cjs/components/tabs/Tabs.cjs.map +1 -1
- package/build/cjs/components/tabs/Tabs.d.cts +1 -7
- package/build/cjs/components/tabs/index.d.cts +7 -6
- package/build/cjs/components/tabs/types.cjs +2 -0
- package/build/cjs/components/tabs/types.cjs.map +1 -0
- package/build/cjs/components/tabs/types.d.cts +47 -0
- package/build/cjs/components/tag/Tag.cjs.map +1 -1
- package/build/cjs/components/tag/Tag.d.cts +2 -5
- package/build/cjs/components/tag/index.d.cts +2 -1
- package/build/cjs/components/tag/types.cjs +2 -0
- package/build/cjs/components/tag/types.cjs.map +1 -0
- package/build/cjs/components/tag/types.d.cts +5 -0
- package/build/cjs/components/text-input/BaseTextArea.cjs.map +1 -1
- package/build/cjs/components/text-input/BaseTextArea.d.cts +2 -25
- package/build/cjs/components/text-input/BaseTextInput.cjs.map +1 -1
- package/build/cjs/components/text-input/BaseTextInput.d.cts +2 -50
- package/build/cjs/components/text-input/TextArea.cjs.map +1 -1
- package/build/cjs/components/text-input/TextArea.d.cts +1 -4
- package/build/cjs/components/text-input/TextInput.cjs.map +1 -1
- package/build/cjs/components/text-input/TextInput.d.cts +1 -7
- package/build/cjs/components/text-input/index.d.cts +5 -4
- package/build/cjs/components/text-input/types.cjs +2 -0
- package/build/cjs/components/text-input/types.cjs.map +1 -0
- package/build/cjs/components/text-input/types.d.cts +82 -0
- package/build/cjs/components/toast/Toast.cjs +1 -1
- package/build/cjs/components/toast/Toast.cjs.map +1 -1
- package/build/cjs/components/toggle-switch/ToggleSlider.cjs.map +1 -1
- package/build/cjs/components/toggle-switch/ToggleSlider.d.cts +1 -9
- package/build/cjs/components/toggle-switch/ToggleSwitch.cjs.map +1 -1
- package/build/cjs/components/toggle-switch/ToggleSwitch.d.cts +3 -29
- package/build/cjs/components/toggle-switch/index.d.cts +3 -2
- package/build/cjs/components/toggle-switch/types.cjs +2 -0
- package/build/cjs/components/toggle-switch/types.cjs.map +1 -0
- package/build/cjs/components/toggle-switch/types.d.cts +26 -0
- package/build/cjs/components/tooltip/PopupTip.cjs.map +1 -1
- package/build/cjs/components/tooltip/PopupTip.d.cts +2 -12
- package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
- package/build/cjs/components/tooltip/Tooltip.d.cts +2 -30
- package/build/cjs/components/tooltip/index.d.cts +3 -2
- package/build/cjs/components/tooltip/types.cjs +2 -0
- package/build/cjs/components/tooltip/types.cjs.map +1 -0
- package/build/cjs/components/tooltip/types.d.cts +41 -0
- package/build/cjs/index.cjs +1 -1
- package/build/cjs/shared/input-panel/BasePanel.cjs +2 -0
- package/build/cjs/shared/input-panel/BasePanel.cjs.map +1 -0
- package/build/cjs/tailwind/tailwindPreset.cjs +1 -1
- package/build/cjs/tailwind/tailwindPreset.cjs.map +1 -1
- package/build/es/components/accordion/Accordion.d.ts +1 -6
- package/build/es/components/accordion/Accordion.js.map +1 -1
- package/build/es/components/accordion/AccordionItem.d.ts +2 -9
- package/build/es/components/accordion/AccordionItem.js.map +1 -1
- package/build/es/components/accordion/index.d.ts +3 -2
- package/build/es/components/accordion/types.d.ts +13 -0
- package/build/es/components/accordion/types.js +2 -0
- package/build/es/components/accordion/types.js.map +1 -0
- package/build/es/components/autosuggest/Autosuggest.d.ts +1 -45
- package/build/es/components/autosuggest/Autosuggest.js.map +1 -1
- package/build/es/components/autosuggest/BaseAutosuggest.d.ts +1 -1
- package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
- package/build/es/components/autosuggest/index.d.ts +1 -1
- package/build/es/components/autosuggest/types.d.ts +44 -0
- package/build/es/components/autosuggest/types.js +2 -0
- package/build/es/components/autosuggest/types.js.map +1 -0
- package/build/es/components/breadcrumb/Breadcrumb.d.ts +1 -5
- package/build/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/build/es/components/breadcrumb/BreadcrumbItem.d.ts +1 -9
- package/build/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/build/es/components/breadcrumb/index.d.ts +3 -2
- package/build/es/components/breadcrumb/types.d.ts +13 -0
- package/build/es/components/breadcrumb/types.js +2 -0
- package/build/es/components/breadcrumb/types.js.map +1 -0
- package/build/es/components/card/NavCard.d.ts +1 -1
- package/build/es/components/card/NavCard.js.map +1 -1
- package/build/es/components/checkbox/Checkbox.d.ts +2 -16
- package/build/es/components/checkbox/Checkbox.js.map +1 -1
- package/build/es/components/checkbox/index.d.ts +2 -1
- package/build/es/components/checkbox/types.d.ts +16 -0
- package/build/es/components/checkbox/types.js +2 -0
- package/build/es/components/checkbox/types.js.map +1 -0
- package/build/es/components/checkbox-panel/CheckboxPanel.d.ts +3 -0
- package/build/es/components/checkbox-panel/CheckboxPanel.js +2 -0
- package/build/es/components/checkbox-panel/CheckboxPanel.js.map +1 -0
- package/build/es/components/checkbox-panel/index.d.ts +2 -0
- package/build/es/components/checkbox-panel/index.js +2 -0
- package/build/es/components/checkbox-panel/types.d.ts +6 -0
- package/build/es/components/checkbox-panel/types.js +2 -0
- package/build/es/components/checkbox-panel/types.js.map +1 -0
- package/build/es/components/chip/Chip.d.ts +2 -13
- package/build/es/components/chip/Chip.js.map +1 -1
- package/build/es/components/chip/index.d.ts +2 -1
- package/build/es/components/chip/types.d.ts +13 -0
- package/build/es/components/chip/types.js +2 -0
- package/build/es/components/chip/types.js.map +1 -0
- package/build/es/components/combobox/Combobox.d.ts +2 -38
- package/build/es/components/combobox/Combobox.js.map +1 -1
- package/build/es/components/combobox/index.d.ts +2 -1
- package/build/es/components/combobox/types.d.ts +37 -0
- package/build/es/components/combobox/types.js +2 -0
- package/build/es/components/combobox/types.js.map +1 -0
- package/build/es/components/countdown/Countdown.d.ts +3 -0
- package/build/es/components/countdown/Countdown.js.map +1 -0
- package/build/es/components/countdown/index.d.ts +2 -0
- package/build/es/components/countdown/index.js +2 -0
- package/build/es/components/countdown/index.js.map +1 -0
- package/build/es/components/{progress-bar/Countdown.d.ts → countdown/types.d.ts} +1 -2
- package/build/es/components/countdown/types.js +2 -0
- package/build/es/components/countdown/types.js.map +1 -0
- package/build/es/components/datepicker/types.d.ts +3 -3
- package/build/es/components/description-list/DescriptionList.d.ts +1 -10
- package/build/es/components/description-list/DescriptionList.js.map +1 -1
- package/build/es/components/description-list/index.d.ts +2 -1
- package/build/es/components/description-list/types.d.ts +10 -0
- package/build/es/components/description-list/types.js +2 -0
- package/build/es/components/description-list/types.js.map +1 -0
- package/build/es/components/feedback/Feedback.d.ts +1 -1
- package/build/es/components/feedback/Feedback.js.map +1 -1
- package/build/es/components/feedback/FeedbackSuccess.d.ts +1 -1
- package/build/es/components/feedback/FeedbackSuccess.js.map +1 -1
- package/build/es/components/feedback/feedbackContext.d.ts +1 -1
- package/build/es/components/feedback/feedbackContext.js.map +1 -1
- package/build/es/components/feedback/types.d.ts +12 -4
- package/build/es/components/file-input/FileInput.d.ts +1 -1
- package/build/es/components/file-input/FileInput.js.map +1 -1
- package/build/es/components/flex/Flex.d.ts +1 -14
- package/build/es/components/flex/Flex.js.map +1 -1
- package/build/es/components/flex/index.d.ts +1 -0
- package/build/es/components/flex/types.d.ts +14 -0
- package/build/es/components/flex/types.js +2 -0
- package/build/es/components/flex/types.js.map +1 -0
- package/build/es/components/icon/types.d.ts +2 -1
- package/build/es/components/icon-button/IconButton.d.ts +2 -5
- package/build/es/components/icon-button/IconButton.js.map +1 -1
- package/build/es/components/icon-button/index.d.ts +2 -1
- package/build/es/components/icon-button/types.d.ts +5 -0
- package/build/es/components/icon-button/types.js +2 -0
- package/build/es/components/icon-button/types.js.map +1 -0
- package/build/es/components/image/Image.d.ts +1 -11
- package/build/es/components/image/Image.js.map +1 -1
- package/build/es/components/image/index.d.ts +2 -1
- package/build/es/components/image/types.d.ts +12 -0
- package/build/es/components/image/types.js +2 -0
- package/build/es/components/image/types.js.map +1 -0
- package/build/es/components/index.d.ts +4 -1
- package/build/es/components/index.js +1 -1
- package/build/es/components/input-group/FieldGroup.d.ts +2 -14
- package/build/es/components/input-group/FieldGroup.js.map +1 -1
- package/build/es/components/input-group/InputGroup.d.ts +11 -33
- package/build/es/components/input-group/InputGroup.js.map +1 -1
- package/build/es/components/input-group/Label.d.ts +2 -13
- package/build/es/components/input-group/Label.js.map +1 -1
- package/build/es/components/input-group/SupportLabel.d.ts +2 -60
- package/build/es/components/input-group/SupportLabel.js.map +1 -1
- package/build/es/components/input-group/index.d.ts +5 -4
- package/build/es/components/input-group/types.d.ts +101 -0
- package/build/es/components/input-group/types.js +2 -0
- package/build/es/components/input-group/types.js.map +1 -0
- package/build/es/components/link/Link.d.ts +4 -6
- package/build/es/components/link/Link.js.map +1 -1
- package/build/es/components/link/index.d.ts +2 -2
- package/build/es/components/link/index.js +1 -1
- package/build/es/components/link/types.d.ts +4 -0
- package/build/es/components/link/types.js +2 -0
- package/build/es/components/link/types.js.map +1 -0
- package/build/es/components/loader/Loader.d.ts +1 -15
- package/build/es/components/loader/Loader.js.map +1 -1
- package/build/es/components/loader/index.d.ts +10 -9
- package/build/es/components/loader/skeletons/SkeletonAnimation.d.ts +2 -15
- package/build/es/components/loader/skeletons/SkeletonAnimation.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonButton.d.ts +1 -5
- package/build/es/components/loader/skeletons/SkeletonButton.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.d.ts +1 -10
- package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonElement.d.ts +2 -7
- package/build/es/components/loader/skeletons/SkeletonElement.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonInput.d.ts +1 -9
- package/build/es/components/loader/skeletons/SkeletonInput.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonLabel.d.ts +1 -6
- package/build/es/components/loader/skeletons/SkeletonLabel.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.d.ts +1 -10
- package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonTable.d.ts +2 -16
- package/build/es/components/loader/skeletons/SkeletonTable.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonTextArea.d.ts +1 -9
- package/build/es/components/loader/skeletons/SkeletonTextArea.js.map +1 -1
- package/build/es/components/loader/types.d.ts +82 -0
- package/build/es/components/loader/types.js +2 -0
- package/build/es/components/loader/types.js.map +1 -0
- package/build/es/components/logo/Logo.d.ts +1 -14
- package/build/es/components/logo/Logo.js.map +1 -1
- package/build/es/components/logo/LogoStamp.d.ts +1 -15
- package/build/es/components/logo/LogoStamp.js.map +1 -1
- package/build/es/components/logo/index.d.ts +3 -2
- package/build/es/components/logo/types.d.ts +28 -0
- package/build/es/components/logo/types.js +2 -0
- package/build/es/components/logo/types.js.map +1 -0
- package/build/es/components/menu/Menu.d.ts +2 -38
- package/build/es/components/menu/Menu.js.map +1 -1
- package/build/es/components/menu/MenuItem.d.ts +2 -22
- package/build/es/components/menu/MenuItem.js.map +1 -1
- package/build/es/components/menu/MenuItemCheckbox.d.ts +2 -10
- package/build/es/components/menu/MenuItemCheckbox.js.map +1 -1
- package/build/es/components/menu/index.d.ts +4 -3
- package/build/es/components/menu/types.d.ts +68 -0
- package/build/es/components/menu/types.js +2 -0
- package/build/es/components/menu/types.js.map +1 -0
- package/build/es/components/message/FormErrorMessage.d.ts +1 -12
- package/build/es/components/message/FormErrorMessage.js.map +1 -1
- package/build/es/components/message/Message.d.ts +2 -15
- package/build/es/components/message/Message.js.map +1 -1
- package/build/es/components/message/index.d.ts +3 -2
- package/build/es/components/message/types.d.ts +26 -0
- package/build/es/components/message/types.js +2 -0
- package/build/es/components/message/types.js.map +1 -0
- package/build/es/components/modal/Modal.d.ts +2 -23
- package/build/es/components/modal/Modal.js.map +1 -1
- package/build/es/components/modal/index.d.ts +3 -2
- package/build/es/components/modal/types.d.ts +42 -0
- package/build/es/components/modal/types.js +2 -0
- package/build/es/components/modal/types.js.map +1 -0
- package/build/es/components/modal/useModal.d.ts +1 -24
- package/build/es/components/modal/useModal.js.map +1 -1
- package/build/es/components/nav-link/NavLink.d.ts +5 -0
- package/build/es/components/nav-link/NavLink.js.map +1 -0
- package/build/es/components/nav-link/index.d.ts +2 -0
- package/build/es/components/nav-link/index.js +2 -0
- package/build/es/components/nav-link/index.js.map +1 -0
- package/build/es/components/nav-link/types.d.ts +5 -0
- package/build/es/components/nav-link/types.js +2 -0
- package/build/es/components/nav-link/types.js.map +1 -0
- package/build/es/components/pagination/Pagination.d.ts +1 -15
- package/build/es/components/pagination/Pagination.js.map +1 -1
- package/build/es/components/pagination/index.d.ts +2 -1
- package/build/es/components/pagination/types.d.ts +15 -0
- package/build/es/components/pagination/types.js +2 -0
- package/build/es/components/pagination/types.js.map +1 -0
- package/build/es/components/popover/Popover.d.ts +1 -102
- package/build/es/components/popover/Popover.js.map +1 -1
- package/build/es/components/popover/index.d.ts +2 -1
- package/build/es/components/popover/types.d.ts +102 -0
- package/build/es/components/popover/types.js +2 -0
- package/build/es/components/popover/types.js.map +1 -0
- package/build/es/components/progress-bar/ProgressBar.d.ts +2 -20
- package/build/es/components/progress-bar/ProgressBar.js.map +1 -1
- package/build/es/components/progress-bar/index.d.ts +2 -2
- package/build/es/components/progress-bar/index.js +1 -1
- package/build/es/components/progress-bar/types.d.ts +20 -0
- package/build/es/components/progress-bar/types.js +2 -0
- package/build/es/components/progress-bar/types.js.map +1 -0
- package/build/es/components/radio-button/BaseRadioButton.d.ts +2 -9
- package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
- package/build/es/components/radio-button/RadioButton.d.ts +2 -14
- package/build/es/components/radio-button/RadioButton.js.map +1 -1
- package/build/es/components/radio-button/RadioButtonGroup.d.ts +2 -23
- package/build/es/components/radio-button/RadioButtonGroup.js.map +1 -1
- package/build/es/components/radio-button/index.d.ts +4 -3
- package/build/es/components/radio-button/types.d.ts +41 -0
- package/build/es/components/radio-button/types.js +2 -0
- package/build/es/components/radio-button/types.js.map +1 -0
- package/build/es/components/radio-panel/RadioPanel.d.ts +3 -0
- package/build/es/components/radio-panel/RadioPanel.js +2 -0
- package/build/es/components/radio-panel/RadioPanel.js.map +1 -0
- package/build/es/components/radio-panel/RadioPanelGroup.d.ts +3 -0
- package/build/es/components/radio-panel/RadioPanelGroup.js.map +1 -0
- package/build/es/components/radio-panel/index.d.ts +3 -0
- package/build/es/components/radio-panel/index.js +2 -0
- package/build/es/components/radio-panel/index.js.map +1 -0
- package/build/es/components/{input-panel → radio-panel}/radioPanelContext.js.map +1 -1
- package/build/es/components/radio-panel/types.d.ts +9 -0
- package/build/es/components/radio-panel/types.js +2 -0
- package/build/es/components/radio-panel/types.js.map +1 -0
- package/build/es/components/select/NativeSelect.d.ts +2 -18
- package/build/es/components/select/NativeSelect.js.map +1 -1
- package/build/es/components/select/Select.d.ts +2 -53
- package/build/es/components/select/Select.js.map +1 -1
- package/build/es/components/select/index.d.ts +3 -2
- package/build/es/components/select/types.d.ts +67 -0
- package/build/es/components/select/types.js +2 -0
- package/build/es/components/select/types.js.map +1 -0
- package/build/es/components/summary-table/SummaryTable.d.ts +2 -8
- package/build/es/components/summary-table/SummaryTable.js.map +1 -1
- package/build/es/components/summary-table/SummaryTableRow.d.ts +2 -6
- package/build/es/components/summary-table/SummaryTableRow.js.map +1 -1
- package/build/es/components/summary-table/index.d.ts +3 -2
- package/build/es/components/summary-table/types.d.ts +13 -0
- package/build/es/components/summary-table/types.js +2 -0
- package/build/es/components/summary-table/types.js.map +1 -0
- package/build/es/components/system-message/SystemMessage.d.ts +1 -15
- package/build/es/components/system-message/SystemMessage.js.map +1 -1
- package/build/es/components/system-message/index.d.ts +2 -1
- package/build/es/components/system-message/types.d.ts +15 -0
- package/build/es/components/system-message/types.js +2 -0
- package/build/es/components/system-message/types.js.map +1 -0
- package/build/es/components/table/DataTable.d.ts +2 -16
- package/build/es/components/table/DataTable.js.map +1 -1
- package/build/es/components/table/ExpandableTableRow.d.ts +1 -14
- package/build/es/components/table/ExpandableTableRow.js.map +1 -1
- package/build/es/components/table/ExpandableTableRowController.d.ts +1 -7
- package/build/es/components/table/ExpandableTableRowController.js.map +1 -1
- package/build/es/components/table/Table.d.ts +2 -9
- package/build/es/components/table/Table.js.map +1 -1
- package/build/es/components/table/TableBody.d.ts +2 -3
- package/build/es/components/table/TableBody.js.map +1 -1
- package/build/es/components/table/TableCaption.d.ts +2 -5
- package/build/es/components/table/TableCaption.js.map +1 -1
- package/build/es/components/table/TableCell.d.ts +2 -15
- package/build/es/components/table/TableCell.js.map +1 -1
- package/build/es/components/table/TableColumn.d.ts +2 -3
- package/build/es/components/table/TableColumn.js.map +1 -1
- package/build/es/components/table/TableColumnGroup.d.ts +2 -3
- package/build/es/components/table/TableColumnGroup.js.map +1 -1
- package/build/es/components/table/TableFooter.d.ts +2 -3
- package/build/es/components/table/TableFooter.js.map +1 -1
- package/build/es/components/table/TableHead.d.ts +2 -5
- package/build/es/components/table/TableHead.js.map +1 -1
- package/build/es/components/table/TableHeader.d.ts +2 -19
- package/build/es/components/table/TableHeader.js.map +1 -1
- package/build/es/components/table/TablePagination.d.ts +2 -42
- package/build/es/components/table/TablePagination.js.map +1 -1
- package/build/es/components/table/TableRow.d.ts +2 -13
- package/build/es/components/table/TableRow.js.map +1 -1
- package/build/es/components/table/index.d.ts +1 -16
- package/build/es/components/table/tableContext.d.ts +1 -10
- package/build/es/components/table/tableContext.js.map +1 -1
- package/build/es/components/table/tableSectionContext.d.ts +1 -10
- package/build/es/components/table/tableSectionContext.js.map +1 -1
- package/build/es/components/table/types.d.ts +157 -0
- package/build/es/components/table/types.js +2 -0
- package/build/es/components/table/types.js.map +1 -0
- package/build/es/components/tabs/NavTab.d.ts +2 -24
- package/build/es/components/tabs/NavTab.js.map +1 -1
- package/build/es/components/tabs/NavTabs.d.ts +1 -7
- package/build/es/components/tabs/NavTabs.js.map +1 -1
- package/build/es/components/tabs/Tab.d.ts +1 -4
- package/build/es/components/tabs/Tab.js.map +1 -1
- package/build/es/components/tabs/TabList.d.ts +1 -5
- package/build/es/components/tabs/TabList.js.map +1 -1
- package/build/es/components/tabs/TabPanel.d.ts +1 -4
- package/build/es/components/tabs/TabPanel.js.map +1 -1
- package/build/es/components/tabs/Tabs.d.ts +1 -7
- package/build/es/components/tabs/Tabs.js.map +1 -1
- package/build/es/components/tabs/index.d.ts +7 -6
- package/build/es/components/tabs/types.d.ts +47 -0
- package/build/es/components/tabs/types.js +2 -0
- package/build/es/components/tabs/types.js.map +1 -0
- package/build/es/components/tag/Tag.d.ts +2 -5
- package/build/es/components/tag/Tag.js.map +1 -1
- package/build/es/components/tag/index.d.ts +2 -1
- package/build/es/components/tag/types.d.ts +5 -0
- package/build/es/components/tag/types.js +2 -0
- package/build/es/components/tag/types.js.map +1 -0
- package/build/es/components/text-input/BaseTextArea.d.ts +2 -25
- package/build/es/components/text-input/BaseTextArea.js.map +1 -1
- package/build/es/components/text-input/BaseTextInput.d.ts +2 -50
- package/build/es/components/text-input/BaseTextInput.js.map +1 -1
- package/build/es/components/text-input/TextArea.d.ts +1 -4
- package/build/es/components/text-input/TextArea.js.map +1 -1
- package/build/es/components/text-input/TextInput.d.ts +1 -7
- package/build/es/components/text-input/TextInput.js.map +1 -1
- package/build/es/components/text-input/index.d.ts +5 -4
- package/build/es/components/text-input/types.d.ts +82 -0
- package/build/es/components/text-input/types.js +2 -0
- package/build/es/components/text-input/types.js.map +1 -0
- package/build/es/components/toast/Toast.js +1 -1
- package/build/es/components/toast/Toast.js.map +1 -1
- package/build/es/components/toggle-switch/ToggleSlider.d.ts +1 -9
- package/build/es/components/toggle-switch/ToggleSlider.js.map +1 -1
- package/build/es/components/toggle-switch/ToggleSwitch.d.ts +3 -29
- package/build/es/components/toggle-switch/ToggleSwitch.js.map +1 -1
- package/build/es/components/toggle-switch/index.d.ts +3 -2
- package/build/es/components/toggle-switch/types.d.ts +26 -0
- package/build/es/components/toggle-switch/types.js +2 -0
- package/build/es/components/toggle-switch/types.js.map +1 -0
- package/build/es/components/tooltip/PopupTip.d.ts +2 -12
- package/build/es/components/tooltip/PopupTip.js.map +1 -1
- package/build/es/components/tooltip/Tooltip.d.ts +2 -30
- package/build/es/components/tooltip/Tooltip.js.map +1 -1
- package/build/es/components/tooltip/index.d.ts +3 -2
- package/build/es/components/tooltip/types.d.ts +41 -0
- package/build/es/components/tooltip/types.js +2 -0
- package/build/es/components/tooltip/types.js.map +1 -0
- package/build/es/index.js +1 -1
- package/build/es/shared/input-panel/BasePanel.js +2 -0
- package/build/es/shared/input-panel/BasePanel.js.map +1 -0
- package/build/es/tailwind/tailwindPreset.js +1 -1
- package/build/es/tailwind/tailwindPreset.js.map +1 -1
- package/package.json +46 -13
- package/styles/components/button/button.css +2 -2
- package/styles/components/button/button.min.css +1 -1
- package/styles/components/checkbox/checkbox.css +4 -4
- package/styles/components/checkbox/checkbox.min.css +1 -1
- package/styles/components/{input-panel → checkbox-panel}/_index.scss +0 -1
- package/styles/components/{input-panel → checkbox-panel}/checkbox-panel.css +2 -2
- package/styles/components/{input-panel → checkbox-panel}/checkbox-panel.min.css +1 -1
- package/styles/components/{input-panel → checkbox-panel}/checkbox-panel.scss +2 -2
- package/styles/components/countdown/_index.scss +1 -0
- package/styles/components/countdown/countdown.css +40 -0
- package/styles/components/countdown/countdown.min.css +1 -0
- package/styles/components/countdown/countdown.scss +23 -0
- package/styles/components/feedback/feedback.css +2 -2
- package/styles/components/feedback/feedback.min.css +1 -1
- package/styles/components/input-group/input-group.css +2 -2
- package/styles/components/input-group/input-group.min.css +1 -1
- package/styles/components/link/_index.scss +0 -1
- package/styles/components/loader/loader.css +6 -6
- package/styles/components/loader/loader.min.css +1 -1
- package/styles/components/loader/skeleton-loader.css +5 -5
- package/styles/components/loader/skeleton-loader.min.css +1 -1
- package/styles/components/message/message.css +2 -2
- package/styles/components/message/message.min.css +1 -1
- package/styles/components/nav-link/_index.scss +1 -0
- package/styles/components/progress-bar/progress-bar.css +5 -15
- package/styles/components/progress-bar/progress-bar.min.css +1 -1
- package/styles/components/progress-bar/progress-bar.scss +3 -34
- package/styles/components/radio-button/radio-button.css +2 -2
- package/styles/components/radio-button/radio-button.min.css +1 -1
- package/styles/components/radio-panel/_index.scss +1 -0
- package/styles/components/radio-panel/development/styles.css +25 -0
- package/styles/components/radio-panel/development/styles.min.css +1 -0
- package/styles/components/radio-panel/development/styles.scss +27 -0
- package/styles/components/{input-panel → radio-panel}/radio-panel.css +2 -2
- package/styles/components/{input-panel → radio-panel}/radio-panel.min.css +1 -1
- package/styles/components/{input-panel → radio-panel}/radio-panel.scss +1 -1
- package/styles/components/system-message/system-message.css +2 -2
- package/styles/components/system-message/system-message.min.css +1 -1
- package/styles/components/toast/toast.css +4 -4
- package/styles/components/toast/toast.min.css +1 -1
- package/styles/shared/track/track.css +4 -0
- package/styles/shared/track/track.min.css +0 -0
- package/styles/shared/track/track.scss +27 -0
- package/styles/styles.css +334 -308
- package/styles/styles.min.css +1 -1
- package/styles/styles.scss +4 -1
- package/build/cjs/components/input-panel/BasePanel.cjs +0 -2
- package/build/cjs/components/input-panel/BasePanel.cjs.map +0 -1
- package/build/cjs/components/input-panel/CheckboxPanel.cjs +0 -2
- package/build/cjs/components/input-panel/CheckboxPanel.cjs.map +0 -1
- package/build/cjs/components/input-panel/CheckboxPanel.d.cts +0 -7
- package/build/cjs/components/input-panel/RadioPanel.cjs +0 -2
- package/build/cjs/components/input-panel/RadioPanel.cjs.map +0 -1
- package/build/cjs/components/input-panel/RadioPanel.d.cts +0 -8
- package/build/cjs/components/input-panel/RadioPanelGroup.cjs.map +0 -1
- package/build/cjs/components/input-panel/RadioPanelGroup.d.cts +0 -4
- package/build/cjs/components/input-panel/development/checkbox-panel/ControlledExample.d.cts +0 -4
- package/build/cjs/components/input-panel/development/checkbox-panel/UncontrolledExample.d.cts +0 -4
- package/build/cjs/components/input-panel/development/radio-panel/ControlledExample.d.cts +0 -4
- package/build/cjs/components/input-panel/development/radio-panel/UncontrolledExample.d.cts +0 -4
- package/build/cjs/components/input-panel/index.cjs +0 -2
- package/build/cjs/components/input-panel/index.d.cts +0 -3
- package/build/cjs/components/link/NavLink.cjs.map +0 -1
- package/build/cjs/components/link/NavLink.d.cts +0 -8
- package/build/cjs/components/progress-bar/Countdown.cjs.map +0 -1
- package/build/es/components/input-panel/BasePanel.js +0 -2
- package/build/es/components/input-panel/BasePanel.js.map +0 -1
- package/build/es/components/input-panel/CheckboxPanel.d.ts +0 -7
- package/build/es/components/input-panel/CheckboxPanel.js +0 -2
- package/build/es/components/input-panel/CheckboxPanel.js.map +0 -1
- package/build/es/components/input-panel/RadioPanel.d.ts +0 -8
- package/build/es/components/input-panel/RadioPanel.js +0 -2
- package/build/es/components/input-panel/RadioPanel.js.map +0 -1
- package/build/es/components/input-panel/RadioPanelGroup.d.ts +0 -4
- package/build/es/components/input-panel/RadioPanelGroup.js.map +0 -1
- package/build/es/components/input-panel/development/checkbox-panel/ControlledExample.d.ts +0 -4
- package/build/es/components/input-panel/development/checkbox-panel/UncontrolledExample.d.ts +0 -4
- package/build/es/components/input-panel/development/radio-panel/ControlledExample.d.ts +0 -4
- package/build/es/components/input-panel/development/radio-panel/UncontrolledExample.d.ts +0 -4
- package/build/es/components/input-panel/index.d.ts +0 -3
- package/build/es/components/input-panel/index.js +0 -2
- package/build/es/components/link/NavLink.d.ts +0 -8
- package/build/es/components/link/NavLink.js.map +0 -1
- package/build/es/components/progress-bar/Countdown.js.map +0 -1
- /package/build/cjs/components/{input-panel → checkbox-panel}/index.cjs.map +0 -0
- /package/build/cjs/components/{progress-bar → countdown}/Countdown.cjs +0 -0
- /package/build/cjs/components/{link → nav-link}/NavLink.cjs +0 -0
- /package/build/cjs/components/{input-panel → radio-panel}/RadioPanelGroup.cjs +0 -0
- /package/build/cjs/components/{input-panel → radio-panel}/radioPanelContext.cjs +0 -0
- /package/build/cjs/components/{input-panel → radio-panel}/radioPanelContext.d.cts +0 -0
- /package/build/cjs/{components → shared}/input-panel/BasePanel.d.cts +0 -0
- /package/build/es/components/{input-panel → checkbox-panel}/index.js.map +0 -0
- /package/build/es/components/{progress-bar → countdown}/Countdown.js +0 -0
- /package/build/es/components/{link → nav-link}/NavLink.js +0 -0
- /package/build/es/components/{input-panel → radio-panel}/RadioPanelGroup.js +0 -0
- /package/build/es/components/{input-panel → radio-panel}/radioPanelContext.d.ts +0 -0
- /package/build/es/components/{input-panel → radio-panel}/radioPanelContext.js +0 -0
- /package/build/es/{components → shared}/input-panel/BasePanel.d.ts +0 -0
- /package/styles/components/{input-panel → checkbox-panel}/development/styles.css +0 -0
- /package/styles/components/{input-panel → checkbox-panel}/development/styles.min.css +0 -0
- /package/styles/components/{input-panel → checkbox-panel}/development/styles.scss +0 -0
- /package/styles/components/{link → nav-link}/nav-link.css +0 -0
- /package/styles/components/{link → nav-link}/nav-link.min.css +0 -0
- /package/styles/components/{link → nav-link}/nav-link.scss +0 -0
- /package/styles/{components → shared}/input-panel/shared.css +0 -0
- /package/styles/{components → shared}/input-panel/shared.min.css +0 -0
- /package/styles/{components → shared}/input-panel/shared.scss +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radioPanelContext.cjs","sources":["../../../../src/components/
|
|
1
|
+
{"version":3,"file":"radioPanelContext.cjs","sources":["../../../../src/components/radio-panel/radioPanelContext.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\ntype Context = {\n checkedValue?: string;\n onValueChange?: (value: string) => void;\n};\n\nexport const context = createContext<Context>({});\n"],"names":["context","createContext"],"mappings":"sFAOaA,mBAAiCC,cAAA,CAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from 'react';
|
|
2
|
+
import { FieldGroupProps } from '../input-group/types.cjs';
|
|
3
|
+
export type RadioPanelProps = Omit<ComponentPropsWithRef<"input">, "type" | "aria-invalid"> & {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
extraLabel?: React.ReactNode;
|
|
7
|
+
alwaysOpen?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type RadioPanelGroupProps = FieldGroupProps & {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeSelect.cjs","sources":["../../../../src/components/select/NativeSelect.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef
|
|
1
|
+
{"version":3,"file":"NativeSelect.cjs","sources":["../../../../src/components/select/NativeSelect.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { getValuePair } from \"../../utilities/valuePair.js\";\nimport { ArrowVerticalAnimated } from \"../icon/icons/animated/ArrowVerticalAnimated.js\";\nimport { InputGroup } from \"../input-group/InputGroup.js\";\nimport { NativeSelectProps } from \"./types.js\";\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n (props, ref) => {\n const {\n label,\n className,\n density,\n errorLabel,\n helpLabel,\n inline,\n invalid,\n items,\n labelProps,\n placeholder = \"Velg\",\n selectClassName,\n supportLabelProps,\n tooltip,\n value,\n width,\n ...rest\n } = props;\n\n const inputGroupProps = {\n label,\n density,\n errorLabel,\n helpLabel,\n labelProps,\n inline,\n supportLabelProps,\n tooltip,\n };\n\n return (\n <InputGroup\n {...inputGroupProps}\n data-testid=\"jkl-select\"\n className={clsx(\"jkl-select\", className, {\n \"jkl-select--inline\": inline,\n \"jkl-select--invalid\": !!errorLabel || invalid,\n })}\n render={(inputProps) => (\n <div\n className=\"jkl-select__outer-wrapper\"\n style={{ width }}\n >\n <select\n ref={ref}\n className={clsx(\n \"jkl-select__button\",\n selectClassName,\n {\n \"jkl-select__button--active-value\": !!value,\n },\n )}\n defaultValue={value ? undefined : \"\"}\n value={value}\n {...inputProps}\n {...rest}\n >\n {placeholder && !value && (\n <option disabled value=\"\">\n {placeholder}\n </option>\n )}\n {items.map(getValuePair).map((item) => (\n <option\n data-testid=\"jkl-select__option\"\n className=\"jkl-select__option\"\n key={item.value}\n value={item.value}\n >\n {item.label}\n </option>\n ))}\n </select>\n <ArrowVerticalAnimated\n variant=\"medium\"\n pointingDown\n className=\"jkl-select__arrow\"\n />\n </div>\n )}\n />\n );\n },\n);\n\nNativeSelect.displayName = \"NativeSelect\";\n"],"names":["NativeSelect","forwardRef","props","ref","label","className","density","errorLabel","helpLabel","inline","invalid","items","labelProps","placeholder","selectClassName","supportLabelProps","tooltip","value","width","rest","inputGroupProps","jsx","InputGroup","clsx","render","inputProps","jsxs","style","children","defaultValue","disabled","map","getValuePair","item","ArrowVerticalAnimated","variant","pointingDown","displayName"],"mappings":"oUAOaA,EAAeC,EAAAA,YACxB,CAACC,EAAOC,KACE,MACFC,MAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,OAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,WAAAA,EACAC,YAAAA,EAAc,OACdC,gBAAAA,EACAC,kBAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,MAAAA,KACGC,GACHjB,EAEEkB,EAAkB,CACpBhB,MAAAA,EACAE,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAI,WAAAA,EACAH,OAAAA,EACAM,kBAAAA,EACAC,QAAAA,GAIA,OAAAK,EAAAA,IAACC,EAAAA,WAAA,IACOF,EACJ,cAAY,aACZf,UAAWkB,EAAAA,KAAK,aAAclB,EAAW,CACrC,qBAAsBI,EACtB,wBAAyBF,GAAcG,IAE3Cc,OAASC,GACLC,EAAAA,KAAC,MAAA,CACGrB,UAAU,4BACVsB,MAAO,CAAET,MAAAA,GAETU,SAAA,CAAAF,EAAAA,KAAC,SAAA,CACGvB,IAAAA,EACAE,UAAWkB,EAAAA,KACP,qBACAT,EACA,CACI,qCAAsCG,IAG9CY,aAAcZ,OAAQ,EAAY,GAClCA,MAAAA,KACIQ,KACAN,EAEHS,SAAA,CAAef,IAACI,GACZI,EAAAA,IAAA,SAAA,CAAOS,UAAQ,EAACb,MAAM,GAClBW,SACLf,IAEHF,EAAMoB,IAAIC,EAAYA,cAAED,KAAKE,GAC1BZ,EAAAA,IAAC,SAAA,CACG,cAAY,qBACZhB,UAAU,qBAEVY,MAAOgB,EAAKhB,MAEXW,SAAKK,EAAA7B,OAHD6B,EAAKhB,YAOtBI,EAAAA,IAACa,EAAAA,sBAAA,CACGC,QAAQ,SACRC,cAAY,EACZ/B,UAAU,0BAElB,IAOpBL,EAAaqC,YAAc"}
|
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
import { default as React
|
|
2
|
-
import {
|
|
3
|
-
import { InputGroupProps } from '../input-group/InputGroup.cjs';
|
|
4
|
-
export interface NativeSelectProps extends Omit<InputGroupProps, "children">, SelectHTMLAttributes<HTMLSelectElement> {
|
|
5
|
-
/**
|
|
6
|
-
* Merk som ugyldig uten å sende inn en errorLabel.
|
|
7
|
-
* NB! Brukes kun i tilfeller der valideringsfeil dukker opp andre steder, for eksempel i en FieldGroup.
|
|
8
|
-
*/
|
|
9
|
-
invalid?: boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Setter inn et placeholderelement som vises når ingenting er valgt i nedtrekkslisten.
|
|
12
|
-
* @default "Velg"
|
|
13
|
-
*/
|
|
14
|
-
placeholder?: string;
|
|
15
|
-
items: Array<string | ValuePair>;
|
|
16
|
-
selectClassName?: string;
|
|
17
|
-
width?: string;
|
|
18
|
-
}
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { NativeSelectProps } from './types.cjs';
|
|
19
3
|
export declare const NativeSelect: React.ForwardRefExoticComponent<NativeSelectProps & React.RefAttributes<HTMLSelectElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.cjs","sources":["../../../../src/components/select/Select.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {\n ChangeEvent,\n CSSProperties,\n FocusEvent,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { DataTestAutoId, Density } from \"../../core/types.js\";\nimport { useAnimatedHeight } from \"../../hooks/useAnimatedHeight/useAnimatedHeight.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { useListNavigation } from \"../../hooks/useListNavigation/useListNavigation.js\";\nimport { usePreviousValue } from \"../../hooks/usePreviousValue/usePreviousValue.js\";\nimport { getValuePair, ValuePair } from \"../../utilities/valuePair.js\";\nimport { ArrowVerticalAnimated } from \"../icon/icons/animated/ArrowVerticalAnimated.js\";\nimport { InputGroup, InputGroupProps } from \"../input-group/InputGroup.js\";\nimport { LabelProps } from \"../input-group/Label.js\";\nimport type { PopupTipProps } from \"../tooltip/PopupTip.js\";\nimport { focusSelected, toLower } from \"./select-utils.js\";\n\nexport interface SelectPartialChangeEvent\n extends Partial<Omit<ChangeEvent<HTMLSelectElement>, \"target\">> {\n /** Kreves av react-hook-form, det skjer ulike ting avhengig av om det er blur eller change */\n type: \"change\" | \"blur\";\n target: {\n /** Kreves av react-hook-form for å vite hvilket skjemafelt som ble endret */\n name: string;\n value: string;\n };\n}\n\nexport type SelectChangeEventHandler = (\n event: SelectPartialChangeEvent,\n) => void;\n\ninterface Option extends ValuePair {\n visible: boolean;\n}\n\nexport interface SelectProps\n extends Omit<InputGroupProps, \"children\">,\n DataTestAutoId {\n id?: string;\n name: string;\n label: string;\n labelProps?: Omit<\n LabelProps,\n \"children\" | \"density\" | \"htmlFor\" | \"standAlone\"\n >;\n items: Array<string | ValuePair>;\n /**\n * @default false\n */\n inline?: boolean;\n /**\n * @default \"Velg\"\n */\n defaultPrompt?: string;\n className?: string;\n value?: string;\n helpLabel?: string;\n errorLabel?: string;\n /**\n * @default false\n */\n searchable?:\n | boolean\n | ((searchValue: string, searchItem: string | ValuePair) => boolean);\n density?: Density;\n width?: string;\n onChange?: SelectChangeEventHandler;\n onBlur?: SelectChangeEventHandler;\n onFocus?: SelectChangeEventHandler;\n /**\n * Merk som ugyldig uten å sende inn en errorLabel.\n * NB! Brukes kun i tilfeller der valideringsfeil dukker opp andre steder, for eksempel i en FieldGroup.\n */\n invalid?: boolean;\n /**\n * Hvor mange valg skal vises i listen før den begynner å scrolle.\n * @default 5\n */\n maxShownOptions?: number;\n}\n\nconst noop = () => {\n return;\n};\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (props, forwardedSelectRef) => {\n const {\n id,\n name,\n items,\n value,\n label,\n labelProps,\n onChange,\n onBlur,\n onFocus,\n className,\n helpLabel,\n errorLabel,\n invalid,\n searchable = false,\n inline = false,\n defaultPrompt = \"Velg\",\n density,\n width,\n maxShownOptions = 5,\n style,\n tooltip,\n ...rest\n } = props;\n\n const listId = useId(id || \"jkl-select\", { generateSuffix: !id });\n const labelId = `${listId}_label`;\n const buttonId = `${listId}_button`;\n const searchInputId = `${listId}_search-input`;\n\n const [dropdownIsShown, setShown] = useState(false);\n const toggleListVisibility = useCallback(() => {\n setShown((previousValue) => !previousValue);\n }, []);\n\n /// Søk\n\n const isSearchable = Boolean(searchable);\n const showSearchInputField = isSearchable && dropdownIsShown;\n const [searchValue, setSearchValue] = useState(\"\");\n const searchFn = useCallback(\n (item: ValuePair) => {\n if (\n item.label.toLowerCase().includes(searchValue.toLowerCase())\n ) {\n return true;\n }\n\n if (typeof searchable === \"function\") {\n return searchable(searchValue, item);\n }\n\n return false;\n },\n [searchable, searchValue],\n );\n const visibleItems: Option[] = useMemo(\n () =>\n items.map(getValuePair).map((item) => {\n const visible =\n !isSearchable || searchValue === \"\" || searchFn(item);\n return { ...item, visible };\n }),\n [items, isSearchable, searchValue, searchFn],\n );\n const valueIsInItems: boolean = useMemo(() => {\n if (typeof value === \"undefined\") {\n return false;\n }\n return items.some((item) =>\n typeof item === \"string\"\n ? item === value\n : item.value === value,\n );\n }, [value, items]);\n\n /// Valg av <option>\n\n const [selectedValue, setSelectedValue] = useState<string>(\n valueIsInItems && value !== undefined ? value : \"\",\n );\n const hasSelectedValue = selectedValue !== \"\";\n const selectedValueLabel = useMemo(\n () =>\n visibleItems.find((item) => item.value === selectedValue)\n ?.label || defaultPrompt,\n [visibleItems, selectedValue, defaultPrompt],\n );\n\n const selectRef = useRef<HTMLSelectElement | null>(null);\n // Hjelpefunksjon som gjør det enklere å forwarde refen og å bruke den selv internt\n const unifiedSelectRef = useCallback(\n (instance: HTMLSelectElement | null) => {\n selectRef.current = instance;\n if (forwardedSelectRef) {\n if (typeof forwardedSelectRef === \"function\") {\n forwardedSelectRef(instance);\n } else {\n forwardedSelectRef.current = instance;\n }\n }\n if (instance) {\n setSelectedValue(instance.value);\n }\n },\n [selectRef, forwardedSelectRef],\n );\n\n const previousValue = usePreviousValue(value);\n useEffect(() => {\n if (value === previousValue) {\n return;\n }\n if (typeof value === \"undefined\" || !valueIsInItems) {\n setSelectedValue(\"\");\n } else {\n setSelectedValue(value);\n }\n }, [setSelectedValue, value, previousValue, valueIsInItems]);\n\n const selectOption = useCallback(\n (item: Option) => {\n const nextValue = item.value;\n setSearchValue(\"\");\n setSelectedValue(nextValue);\n toggleListVisibility();\n buttonRef.current?.focus();\n },\n [setSearchValue, setSelectedValue, toggleListVisibility],\n );\n\n // La komponenten rendre <select> med den valgte verdien før onChange trigges, slik at\n // react-hook-form@>7.41.1 behandler feltet som at det har en verdi.\n const previousSelectedValue = usePreviousValue(selectedValue);\n useEffect(() => {\n // previousSelectedValue er undefined på første render, men da vil vi ikke ha en onChange uansett\n if (\n typeof previousSelectedValue === \"undefined\" ||\n previousSelectedValue === selectedValue ||\n selectedValue === value\n ) {\n return;\n }\n if (onChange) {\n onChange({\n type: \"change\",\n target: { name, value: selectedValue },\n });\n }\n if (selectRef.current) {\n selectRef.current.dispatchEvent(\n new Event(\"change\", { bubbles: true }),\n );\n }\n }, [onChange, name, value, selectedValue, previousSelectedValue]);\n\n /// Fokushåndtering\n\n const componentRootElementRef = useRef<HTMLDivElement>(null);\n const focusInsideRef = useRef(false);\n const searchFieldRef = useRef<HTMLInputElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const handleFocusPlacement = useCallback(\n (isOpen: boolean, ref: RefObject<HTMLElement>) => {\n if (isOpen && !isSearchable) {\n const listElement = ref.current;\n if (listElement) {\n focusSelected(listElement, selectedValue);\n }\n } else if (isOpen) {\n if (searchFieldRef.current) {\n searchFieldRef.current.focus();\n }\n } else {\n if (focusInsideRef.current && buttonRef.current) {\n buttonRef.current.focus();\n }\n }\n },\n [isSearchable, selectedValue],\n );\n\n const [dropdownRef] = useAnimatedHeight<HTMLDivElement>(\n dropdownIsShown,\n {\n onFirstVisible: handleFocusPlacement,\n onTransitionEnd: handleFocusPlacement,\n },\n );\n\n useListNavigation({ ref: dropdownRef });\n\n const close = useCallback(() => {\n if (isSearchable) {\n setSearchValue(\"\");\n }\n if (onBlur) {\n onBlur({\n type: \"blur\",\n target: { name, value: selectedValue },\n });\n selectRef.current?.dispatchEvent(\n new Event(\"focusout\", { bubbles: true }),\n );\n }\n focusInsideRef.current = false;\n setShown(false);\n }, [\n onBlur,\n setSearchValue,\n setShown,\n isSearchable,\n name,\n selectedValue,\n ]);\n\n const handleBlur = useCallback(\n (e: FocusEvent<HTMLButtonElement | HTMLInputElement>) => {\n const componentRootElement = componentRootElementRef.current;\n // There are known issues in Firefox when using \"relatedTarget\" in onBlur events:\n // https://github.com/facebook/react/issues/2011\n // This might be fixed in react 17. Se issue above.\n const nextFocusIsInsideComponent =\n componentRootElement &&\n componentRootElement.contains(e.relatedTarget as Node);\n if (!nextFocusIsInsideComponent) {\n close();\n }\n },\n [close],\n );\n\n const handleFocus = useCallback(() => {\n if (!focusInsideRef.current) {\n if (onFocus) {\n onFocus({\n type: \"change\",\n target: { name, value: selectedValue },\n });\n }\n focusInsideRef.current = true;\n }\n }, [onFocus, selectedValue, name]);\n\n const handleMouseOver = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n // Ved mouseOver på options flytter vi fokus til dem for å unngå \"dobbel fokus\"\n // der det ser ut som to forskjellige elementer er fokusert/hovered samtidig\n (e.target as HTMLButtonElement).focus({ preventScroll: true });\n },\n [],\n );\n\n // Handle focus and blur of hidden select element\n useEffect(() => {\n const select = selectRef.current;\n const searchField = searchFieldRef.current;\n const button = buttonRef.current;\n const componentRootElement = componentRootElementRef.current;\n\n select?.addEventListener(\"focus\", () => {\n showSearchInputField ? searchField?.focus() : button?.focus();\n });\n select?.addEventListener(\"blur\", function (this, ev) {\n componentRootElement &&\n componentRootElement.contains(ev.relatedTarget as Node) &&\n ev.preventDefault();\n });\n\n return () => {\n select?.removeEventListener(\"focus\", () => {\n showSearchInputField\n ? searchField?.focus()\n : button?.focus();\n });\n select?.removeEventListener(\"blur\", function (this, ev) {\n componentRootElement &&\n componentRootElement.contains(\n ev.relatedTarget as Node,\n ) &&\n ev.preventDefault();\n });\n };\n }, [showSearchInputField]);\n\n /// Tastaturnavigasjon\n\n // Add support for opening dropdown with arrowkey down as expected from native select\n // onKeyDown to stop ArrowDown from scrolling the page\n const handleOnKeyDown = useCallback(\n (e: KeyboardEvent<HTMLButtonElement>) => {\n if (\n (e.key === \"ArrowDown\" || e.key === \" \") &&\n !dropdownIsShown\n ) {\n e.preventDefault();\n e.stopPropagation();\n setShown(true);\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n setShown(false);\n }\n },\n [setShown, dropdownIsShown],\n );\n\n // onKeyDown to stop ArrowDown from scrolling the page\n const handleSearchOnKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n e.stopPropagation();\n\n const listElement = dropdownRef.current;\n if (listElement) {\n if (isSearchable) {\n // Flytt fokus til det første elementet i listen, ikke det forrige valgte.\n // Ved endring i filter er det ikke gitt at vi ønsker å ta utgangspunkt i\n // den valgte verdien.\n focusSelected(listElement, undefined);\n } else {\n focusSelected(listElement, selectedValue);\n }\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n setShown(false);\n } else if (e.key === \"Tab\" && !e.shiftKey) {\n const listElement = dropdownRef.current;\n if (listElement) {\n e.preventDefault();\n e.stopPropagation();\n focusSelected(listElement, selectedValue);\n }\n } else if (e.key === \"Enter\" && dropdownIsShown) {\n // Should not propagate Enter keyevent because form might submit\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [\n setShown,\n dropdownRef,\n selectedValue,\n isSearchable,\n dropdownIsShown,\n ],\n );\n\n // onKeyDown so this Tab listener isn't triggered by tabbing from search field to option\n const handleOptionOnKeyDown = useCallback(\n (e: KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"Tab\") {\n e.preventDefault();\n e.stopPropagation();\n\n if (e.shiftKey && searchFieldRef.current) {\n searchFieldRef.current.focus();\n } else if (buttonRef.current) {\n // Mimic behaviour of Firefox and native select, where Tab selects the current item and closes the menu\n setSelectedValue(e.currentTarget.value);\n setShown(false);\n buttonRef.current.focus();\n }\n } else if (e.key === \"ArrowUp\") {\n if (dropdownRef.current && searchFieldRef.current) {\n // Can't be based on index since the first item might be filtered out\n const firstVisible = dropdownRef.current.querySelector(\n '[role=\"option\"]:not([hidden])',\n );\n if (\n e.currentTarget.id === firstVisible?.id &&\n searchFieldRef.current\n ) {\n searchFieldRef.current.focus();\n }\n }\n }\n },\n [setShown, dropdownRef],\n );\n\n // Add support for closing the dropdown with Escape like native select. Unfortunately, Escape does not trigger the button onKeyDown.\n useEffect(() => {\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === \"Escape\" && dropdownIsShown) {\n setShown(false);\n }\n };\n if (typeof window !== \"undefined\" && dropdownIsShown) {\n window.addEventListener(\"keydown\", handleEscape);\n }\n return () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"keydown\", handleEscape);\n }\n };\n }, [setShown, dropdownIsShown]);\n\n return (\n <>\n <select\n name={name}\n tabIndex={-1}\n data-testid=\"jkl-native-select\"\n className=\"jkl-sr-only\"\n aria-hidden\n ref={unifiedSelectRef}\n value={selectedValue}\n onChange={noop} // React complains unless we give an onChange handler. This is technically a read-only field, but readOnly isn't an option here.\n >\n <option value=\"\"></option>{\" \"}\n {/* Tom option må være et valg, ellers vil <select> alltid ha en value */}\n {visibleItems.map((item) => (\n <option\n key={`${listId}-opt-${item.value}`}\n hidden={!item.visible}\n value={item.value}\n >\n {item.label}\n </option>\n ))}\n </select>\n <InputGroup\n ref={componentRootElementRef}\n data-testid=\"jkl-select\"\n className={clsx(\"jkl-select\", className, {\n \"jkl-select--inline\": inline,\n \"jkl-select--open\":\n dropdownIsShown &&\n visibleItems.some((item) => item.visible),\n \"jkl-select--no-value\": !hasSelectedValue,\n \"jkl-select--invalid\": !!errorLabel || invalid,\n })}\n tooltip={\n tooltip && React.isValidElement<PopupTipProps>(tooltip)\n ? React.cloneElement(tooltip, {\n triggerProps: {\n ...tooltip.props.triggerProps,\n onFocus: (\n e: FocusEvent<HTMLButtonElement>,\n ) => {\n tooltip.props.triggerProps?.onFocus?.(\n e,\n );\n close();\n },\n },\n })\n : null\n }\n {...rest}\n id={isSearchable ? searchInputId : buttonId}\n style={\n {\n [\"--jkl-select-max-shown-options\"]: maxShownOptions,\n ...style,\n } as CSSProperties\n }\n density={density}\n label={label}\n labelProps={{\n id: labelId,\n srOnly: inline,\n ...labelProps,\n htmlFor: isSearchable ? searchInputId : buttonId,\n }}\n helpLabel={helpLabel}\n errorLabel={errorLabel}\n render={({\n \"aria-invalid\": ariaInvalid,\n ...inputProps\n }) => (\n <div\n className=\"jkl-select__outer-wrapper\"\n style={{ width }}\n >\n {isSearchable && (\n <input\n {...inputProps}\n aria-invalid={ariaInvalid}\n id={searchInputId}\n hidden={!showSearchInputField}\n ref={searchFieldRef}\n placeholder=\"Søk\"\n value={searchValue}\n onChange={(e) =>\n setSearchValue(e.target.value)\n }\n data-testid=\"jkl-select__search-input\"\n className=\"jkl-select__search-input\"\n aria-autocomplete=\"list\"\n aria-activedescendant={\n hasSelectedValue\n ? `${listId}__${toLower(\n selectedValue,\n )}`\n : undefined\n }\n aria-controls={listId}\n aria-expanded={dropdownIsShown}\n role=\"combobox\"\n onKeyDown={handleSearchOnKeyDown}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onClick={(e) => {\n e.stopPropagation();\n }}\n />\n )}\n {/* eslint-disable-next-line jsx-a11y/role-supports-aria-props */}\n <button\n // Nei dette er ikke i henhold til speccen, men VoiceOver leser den likevel og det er oppførselen vi ønsker\n aria-invalid={ariaInvalid}\n {...inputProps}\n id={buttonId}\n ref={buttonRef}\n hidden={showSearchInputField}\n type=\"button\"\n name={`${name}-btn`}\n className={clsx(\"jkl-select__button\", {\n \"jkl-select__button--active-value\":\n !!selectedValue,\n })}\n data-testid=\"jkl-select__button\"\n aria-label={`${\n selectedValueLabel || \"Velg\"\n },${label}`}\n aria-expanded={dropdownIsShown}\n aria-controls={listId}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleOnKeyDown}\n onClick={toggleListVisibility}\n onMouseDown={(e) => {\n // Workaround for en Safari-bug hvor e.relatedTarget er null i onBlur\n // https://twitter.com/MilesSorce/status/1278762360669265925\n e.preventDefault();\n buttonRef.current?.focus();\n }}\n >\n {selectedValueLabel}\n </button>\n <div\n id={listId}\n ref={dropdownRef}\n role=\"listbox\"\n className=\"jkl-select__options-menu\"\n hidden={\n !dropdownIsShown ||\n visibleItems.every((item) => !item.visible)\n }\n aria-labelledby={labelId}\n tabIndex={-1}\n data-focus=\"controlled\" // lar oss styre markering av valg vha focus\n >\n {visibleItems.map((item, i) =>\n // Det er viktig at vi _fjerner_ elementer som ikke er synlige fra DOMen for at tastaturnavigasjon skal fungere.\n // For eksempel, hvis vi har elementene Apple, Samsung og LG i den rekkefølgen og søker etter \"l\"\n // vil Samsung ikke synes. Om vi bare setter hidden-attributtet på Samsung vil ArrowDown fra Apple ikke fungere.\n // Dette lar seg ikke gjenskape i en enhetstest med JSDOM + user-events, og Cypress lukker Select\n // ved første {downArrow} ¯\\_(ツ)_/¯. Så please test scenariet over manuelt om dette skaper trøbbel for deg.\n item.visible ? (\n <button\n key={`${listId}-${item.value}`}\n hidden={!item.visible}\n type=\"button\"\n id={`${listId}__${toLower(\n item.value,\n )}`}\n className=\"jkl-select__option\"\n data-testid=\"jkl-select__option\"\n aria-selected={\n item.value === selectedValue\n }\n role=\"option\"\n value={item.value}\n data-testautoid={`jkl-select__option-${i}`}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleOptionOnKeyDown}\n onClick={(e) => {\n e.preventDefault();\n selectOption(item);\n }}\n onMouseOver={handleMouseOver}\n >\n {item.label}\n {item.description ? (\n <span className=\"jkl-select__option-description\">\n {item.description}\n </span>\n ) : null}\n </button>\n ) : null,\n )}\n </div>\n <ArrowVerticalAnimated\n variant=\"medium\"\n pointingDown={!dropdownIsShown}\n className=\"jkl-select__arrow\"\n />\n </div>\n )}\n />\n </>\n );\n },\n);\n\nSelect.displayName = \"Select\";\n"],"names":["noop","Select","forwardRef","props","forwardedSelectRef","id","name","items","value","label","labelProps","onChange","onBlur","onFocus","className","helpLabel","errorLabel","invalid","searchable","inline","defaultPrompt","density","width","maxShownOptions","style","tooltip","rest","listId","useId","generateSuffix","labelId","buttonId","searchInputId","dropdownIsShown","setShown","useState","toggleListVisibility","useCallback","previousValue","isSearchable","showSearchInputField","searchValue","setSearchValue","searchFn","item","toLowerCase","includes","visibleItems","useMemo","map","getValuePair","visible","valueIsInItems","some","selectedValue","setSelectedValue","hasSelectedValue","selectedValueLabel","_a","find","selectRef","useRef","unifiedSelectRef","instance","current","usePreviousValue","useEffect","selectOption","nextValue","buttonRef","focus","previousSelectedValue","type","target","dispatchEvent","Event","bubbles","componentRootElementRef","focusInsideRef","searchFieldRef","handleFocusPlacement","isOpen","ref","listElement","focusSelected","dropdownRef","useAnimatedHeight","onFirstVisible","onTransitionEnd","useListNavigation","close","handleBlur","e","componentRootElement","contains","relatedTarget","handleFocus","handleMouseOver","preventScroll","select","searchField","button","addEventListener","ev","preventDefault","removeEventListener","handleOnKeyDown","key","stopPropagation","handleSearchOnKeyDown","shiftKey","handleOptionOnKeyDown","currentTarget","firstVisible","querySelector","handleEscape","window","jsxs","Fragment","children","tabIndex","jsx","hidden","InputGroup","clsx","React","isValidElement","cloneElement","triggerProps","_b","call","srOnly","htmlFor","render","ariaInvalid","inputProps","placeholder","toLower","role","onKeyDown","onClick","onMouseDown","every","i","onMouseOver","description","ArrowVerticalAnimated","variant","pointingDown","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.cjs","sources":["../../../../src/components/select/Select.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {\n CSSProperties,\n FocusEvent,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useAnimatedHeight } from \"../../hooks/useAnimatedHeight/useAnimatedHeight.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { useListNavigation } from \"../../hooks/useListNavigation/useListNavigation.js\";\nimport { usePreviousValue } from \"../../hooks/usePreviousValue/usePreviousValue.js\";\nimport { getValuePair, ValuePair } from \"../../utilities/valuePair.js\";\nimport { ArrowVerticalAnimated } from \"../icon/icons/animated/ArrowVerticalAnimated.js\";\nimport { InputGroup } from \"../input-group/InputGroup.js\";\nimport type { PopupTipProps } from \"../tooltip/types.js\";\nimport { focusSelected, toLower } from \"./select-utils.js\";\nimport { SelectProps } from \"./types.js\";\n\nconst noop = () => {\n return;\n};\n\ninterface Option extends ValuePair {\n visible: boolean;\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (props, forwardedSelectRef) => {\n const {\n id,\n name,\n items,\n value,\n label,\n labelProps,\n onChange,\n onBlur,\n onFocus,\n className,\n helpLabel,\n errorLabel,\n invalid,\n searchable = false,\n inline = false,\n defaultPrompt = \"Velg\",\n density,\n width,\n maxShownOptions = 5,\n style,\n tooltip,\n ...rest\n } = props;\n\n const listId = useId(id || \"jkl-select\", { generateSuffix: !id });\n const labelId = `${listId}_label`;\n const buttonId = `${listId}_button`;\n const searchInputId = `${listId}_search-input`;\n\n const [dropdownIsShown, setShown] = useState(false);\n const toggleListVisibility = useCallback(() => {\n setShown((previousValue) => !previousValue);\n }, []);\n\n /// Søk\n\n const isSearchable = Boolean(searchable);\n const showSearchInputField = isSearchable && dropdownIsShown;\n const [searchValue, setSearchValue] = useState(\"\");\n const searchFn = useCallback(\n (item: ValuePair) => {\n if (\n item.label.toLowerCase().includes(searchValue.toLowerCase())\n ) {\n return true;\n }\n\n if (typeof searchable === \"function\") {\n return searchable(searchValue, item);\n }\n\n return false;\n },\n [searchable, searchValue],\n );\n const visibleItems: Option[] = useMemo(\n () =>\n items.map(getValuePair).map((item) => {\n const visible =\n !isSearchable || searchValue === \"\" || searchFn(item);\n return { ...item, visible };\n }),\n [items, isSearchable, searchValue, searchFn],\n );\n const valueIsInItems: boolean = useMemo(() => {\n if (typeof value === \"undefined\") {\n return false;\n }\n return items.some((item) =>\n typeof item === \"string\"\n ? item === value\n : item.value === value,\n );\n }, [value, items]);\n\n /// Valg av <option>\n\n const [selectedValue, setSelectedValue] = useState<string>(\n valueIsInItems && value !== undefined ? value : \"\",\n );\n const hasSelectedValue = selectedValue !== \"\";\n const selectedValueLabel = useMemo(\n () =>\n visibleItems.find((item) => item.value === selectedValue)\n ?.label || defaultPrompt,\n [visibleItems, selectedValue, defaultPrompt],\n );\n\n const selectRef = useRef<HTMLSelectElement | null>(null);\n // Hjelpefunksjon som gjør det enklere å forwarde refen og å bruke den selv internt\n const unifiedSelectRef = useCallback(\n (instance: HTMLSelectElement | null) => {\n selectRef.current = instance;\n if (forwardedSelectRef) {\n if (typeof forwardedSelectRef === \"function\") {\n forwardedSelectRef(instance);\n } else {\n forwardedSelectRef.current = instance;\n }\n }\n if (instance) {\n setSelectedValue(instance.value);\n }\n },\n [selectRef, forwardedSelectRef],\n );\n\n const previousValue = usePreviousValue(value);\n useEffect(() => {\n if (value === previousValue) {\n return;\n }\n if (typeof value === \"undefined\" || !valueIsInItems) {\n setSelectedValue(\"\");\n } else {\n setSelectedValue(value);\n }\n }, [setSelectedValue, value, previousValue, valueIsInItems]);\n\n const selectOption = useCallback(\n (item: Option) => {\n const nextValue = item.value;\n setSearchValue(\"\");\n setSelectedValue(nextValue);\n toggleListVisibility();\n buttonRef.current?.focus();\n },\n [setSearchValue, setSelectedValue, toggleListVisibility],\n );\n\n // La komponenten rendre <select> med den valgte verdien før onChange trigges, slik at\n // react-hook-form@>7.41.1 behandler feltet som at det har en verdi.\n const previousSelectedValue = usePreviousValue(selectedValue);\n useEffect(() => {\n // previousSelectedValue er undefined på første render, men da vil vi ikke ha en onChange uansett\n if (\n typeof previousSelectedValue === \"undefined\" ||\n previousSelectedValue === selectedValue ||\n selectedValue === value\n ) {\n return;\n }\n if (onChange) {\n onChange({\n type: \"change\",\n target: { name, value: selectedValue },\n });\n }\n if (selectRef.current) {\n selectRef.current.dispatchEvent(\n new Event(\"change\", { bubbles: true }),\n );\n }\n }, [onChange, name, value, selectedValue, previousSelectedValue]);\n\n /// Fokushåndtering\n\n const componentRootElementRef = useRef<HTMLDivElement>(null);\n const focusInsideRef = useRef(false);\n const searchFieldRef = useRef<HTMLInputElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const handleFocusPlacement = useCallback(\n (isOpen: boolean, ref: RefObject<HTMLElement>) => {\n if (isOpen && !isSearchable) {\n const listElement = ref.current;\n if (listElement) {\n focusSelected(listElement, selectedValue);\n }\n } else if (isOpen) {\n if (searchFieldRef.current) {\n searchFieldRef.current.focus();\n }\n } else {\n if (focusInsideRef.current && buttonRef.current) {\n buttonRef.current.focus();\n }\n }\n },\n [isSearchable, selectedValue],\n );\n\n const [dropdownRef] = useAnimatedHeight<HTMLDivElement>(\n dropdownIsShown,\n {\n onFirstVisible: handleFocusPlacement,\n onTransitionEnd: handleFocusPlacement,\n },\n );\n\n useListNavigation({ ref: dropdownRef });\n\n const close = useCallback(() => {\n if (isSearchable) {\n setSearchValue(\"\");\n }\n if (onBlur) {\n onBlur({\n type: \"blur\",\n target: { name, value: selectedValue },\n });\n selectRef.current?.dispatchEvent(\n new Event(\"focusout\", { bubbles: true }),\n );\n }\n focusInsideRef.current = false;\n setShown(false);\n }, [\n onBlur,\n setSearchValue,\n setShown,\n isSearchable,\n name,\n selectedValue,\n ]);\n\n const handleBlur = useCallback(\n (e: FocusEvent<HTMLButtonElement | HTMLInputElement>) => {\n const componentRootElement = componentRootElementRef.current;\n // There are known issues in Firefox when using \"relatedTarget\" in onBlur events:\n // https://github.com/facebook/react/issues/2011\n // This might be fixed in react 17. Se issue above.\n const nextFocusIsInsideComponent =\n componentRootElement &&\n componentRootElement.contains(e.relatedTarget as Node);\n if (!nextFocusIsInsideComponent) {\n close();\n }\n },\n [close],\n );\n\n const handleFocus = useCallback(() => {\n if (!focusInsideRef.current) {\n if (onFocus) {\n onFocus({\n type: \"change\",\n target: { name, value: selectedValue },\n });\n }\n focusInsideRef.current = true;\n }\n }, [onFocus, selectedValue, name]);\n\n const handleMouseOver = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n // Ved mouseOver på options flytter vi fokus til dem for å unngå \"dobbel fokus\"\n // der det ser ut som to forskjellige elementer er fokusert/hovered samtidig\n (e.target as HTMLButtonElement).focus({ preventScroll: true });\n },\n [],\n );\n\n // Handle focus and blur of hidden select element\n useEffect(() => {\n const select = selectRef.current;\n const searchField = searchFieldRef.current;\n const button = buttonRef.current;\n const componentRootElement = componentRootElementRef.current;\n\n select?.addEventListener(\"focus\", () => {\n showSearchInputField ? searchField?.focus() : button?.focus();\n });\n select?.addEventListener(\"blur\", function (this, ev) {\n componentRootElement &&\n componentRootElement.contains(ev.relatedTarget as Node) &&\n ev.preventDefault();\n });\n\n return () => {\n select?.removeEventListener(\"focus\", () => {\n showSearchInputField\n ? searchField?.focus()\n : button?.focus();\n });\n select?.removeEventListener(\"blur\", function (this, ev) {\n componentRootElement &&\n componentRootElement.contains(\n ev.relatedTarget as Node,\n ) &&\n ev.preventDefault();\n });\n };\n }, [showSearchInputField]);\n\n /// Tastaturnavigasjon\n\n // Add support for opening dropdown with arrowkey down as expected from native select\n // onKeyDown to stop ArrowDown from scrolling the page\n const handleOnKeyDown = useCallback(\n (e: KeyboardEvent<HTMLButtonElement>) => {\n if (\n (e.key === \"ArrowDown\" || e.key === \" \") &&\n !dropdownIsShown\n ) {\n e.preventDefault();\n e.stopPropagation();\n setShown(true);\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n setShown(false);\n }\n },\n [setShown, dropdownIsShown],\n );\n\n // onKeyDown to stop ArrowDown from scrolling the page\n const handleSearchOnKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n e.stopPropagation();\n\n const listElement = dropdownRef.current;\n if (listElement) {\n if (isSearchable) {\n // Flytt fokus til det første elementet i listen, ikke det forrige valgte.\n // Ved endring i filter er det ikke gitt at vi ønsker å ta utgangspunkt i\n // den valgte verdien.\n focusSelected(listElement, undefined);\n } else {\n focusSelected(listElement, selectedValue);\n }\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n setShown(false);\n } else if (e.key === \"Tab\" && !e.shiftKey) {\n const listElement = dropdownRef.current;\n if (listElement) {\n e.preventDefault();\n e.stopPropagation();\n focusSelected(listElement, selectedValue);\n }\n } else if (e.key === \"Enter\" && dropdownIsShown) {\n // Should not propagate Enter keyevent because form might submit\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [\n setShown,\n dropdownRef,\n selectedValue,\n isSearchable,\n dropdownIsShown,\n ],\n );\n\n // onKeyDown so this Tab listener isn't triggered by tabbing from search field to option\n const handleOptionOnKeyDown = useCallback(\n (e: KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"Tab\") {\n e.preventDefault();\n e.stopPropagation();\n\n if (e.shiftKey && searchFieldRef.current) {\n searchFieldRef.current.focus();\n } else if (buttonRef.current) {\n // Mimic behaviour of Firefox and native select, where Tab selects the current item and closes the menu\n setSelectedValue(e.currentTarget.value);\n setShown(false);\n buttonRef.current.focus();\n }\n } else if (e.key === \"ArrowUp\") {\n if (dropdownRef.current && searchFieldRef.current) {\n // Can't be based on index since the first item might be filtered out\n const firstVisible = dropdownRef.current.querySelector(\n '[role=\"option\"]:not([hidden])',\n );\n if (\n e.currentTarget.id === firstVisible?.id &&\n searchFieldRef.current\n ) {\n searchFieldRef.current.focus();\n }\n }\n }\n },\n [setShown, dropdownRef],\n );\n\n // Add support for closing the dropdown with Escape like native select. Unfortunately, Escape does not trigger the button onKeyDown.\n useEffect(() => {\n const handleEscape = (e: globalThis.KeyboardEvent) => {\n if (e.key === \"Escape\" && dropdownIsShown) {\n setShown(false);\n }\n };\n if (typeof window !== \"undefined\" && dropdownIsShown) {\n window.addEventListener(\"keydown\", handleEscape);\n }\n return () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"keydown\", handleEscape);\n }\n };\n }, [setShown, dropdownIsShown]);\n\n return (\n <>\n <select\n name={name}\n tabIndex={-1}\n data-testid=\"jkl-native-select\"\n className=\"jkl-sr-only\"\n aria-hidden\n ref={unifiedSelectRef}\n value={selectedValue}\n onChange={noop} // React complains unless we give an onChange handler. This is technically a read-only field, but readOnly isn't an option here.\n >\n <option value=\"\"></option>{\" \"}\n {/* Tom option må være et valg, ellers vil <select> alltid ha en value */}\n {visibleItems.map((item) => (\n <option\n key={`${listId}-opt-${item.value}`}\n hidden={!item.visible}\n value={item.value}\n >\n {item.label}\n </option>\n ))}\n </select>\n <InputGroup\n ref={componentRootElementRef}\n data-testid=\"jkl-select\"\n className={clsx(\"jkl-select\", className, {\n \"jkl-select--inline\": inline,\n \"jkl-select--open\":\n dropdownIsShown &&\n visibleItems.some((item) => item.visible),\n \"jkl-select--no-value\": !hasSelectedValue,\n \"jkl-select--invalid\": !!errorLabel || invalid,\n })}\n tooltip={\n tooltip && React.isValidElement<PopupTipProps>(tooltip)\n ? React.cloneElement(tooltip, {\n triggerProps: {\n ...tooltip.props.triggerProps,\n onFocus: (\n e: FocusEvent<HTMLButtonElement>,\n ) => {\n tooltip.props.triggerProps?.onFocus?.(\n e,\n );\n close();\n },\n },\n })\n : null\n }\n {...rest}\n id={isSearchable ? searchInputId : buttonId}\n style={\n {\n [\"--jkl-select-max-shown-options\"]: maxShownOptions,\n ...style,\n } as CSSProperties\n }\n density={density}\n label={label}\n labelProps={{\n id: labelId,\n srOnly: inline,\n ...labelProps,\n htmlFor: isSearchable ? searchInputId : buttonId,\n }}\n helpLabel={helpLabel}\n errorLabel={errorLabel}\n render={({\n \"aria-invalid\": ariaInvalid,\n ...inputProps\n }) => (\n <div\n className=\"jkl-select__outer-wrapper\"\n style={{ width }}\n >\n {isSearchable && (\n <input\n {...inputProps}\n aria-invalid={ariaInvalid}\n id={searchInputId}\n hidden={!showSearchInputField}\n ref={searchFieldRef}\n placeholder=\"Søk\"\n value={searchValue}\n onChange={(e) =>\n setSearchValue(e.target.value)\n }\n data-testid=\"jkl-select__search-input\"\n className=\"jkl-select__search-input\"\n aria-autocomplete=\"list\"\n aria-activedescendant={\n hasSelectedValue\n ? `${listId}__${toLower(\n selectedValue,\n )}`\n : undefined\n }\n aria-controls={listId}\n aria-expanded={dropdownIsShown}\n role=\"combobox\"\n onKeyDown={handleSearchOnKeyDown}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onClick={(e) => {\n e.stopPropagation();\n }}\n />\n )}\n {/* eslint-disable-next-line jsx-a11y/role-supports-aria-props */}\n <button\n // Nei dette er ikke i henhold til speccen, men VoiceOver leser den likevel og det er oppførselen vi ønsker\n aria-invalid={ariaInvalid}\n {...inputProps}\n id={buttonId}\n ref={buttonRef}\n hidden={showSearchInputField}\n type=\"button\"\n name={`${name}-btn`}\n className={clsx(\"jkl-select__button\", {\n \"jkl-select__button--active-value\":\n !!selectedValue,\n })}\n data-testid=\"jkl-select__button\"\n aria-label={`${\n selectedValueLabel || \"Velg\"\n },${label}`}\n aria-expanded={dropdownIsShown}\n aria-controls={listId}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleOnKeyDown}\n onClick={toggleListVisibility}\n onMouseDown={(e) => {\n // Workaround for en Safari-bug hvor e.relatedTarget er null i onBlur\n // https://twitter.com/MilesSorce/status/1278762360669265925\n e.preventDefault();\n buttonRef.current?.focus();\n }}\n >\n {selectedValueLabel}\n </button>\n <div\n id={listId}\n ref={dropdownRef}\n role=\"listbox\"\n className=\"jkl-select__options-menu\"\n hidden={\n !dropdownIsShown ||\n visibleItems.every((item) => !item.visible)\n }\n aria-labelledby={labelId}\n tabIndex={-1}\n data-focus=\"controlled\" // lar oss styre markering av valg vha focus\n >\n {visibleItems.map((item, i) =>\n // Det er viktig at vi _fjerner_ elementer som ikke er synlige fra DOMen for at tastaturnavigasjon skal fungere.\n // For eksempel, hvis vi har elementene Apple, Samsung og LG i den rekkefølgen og søker etter \"l\"\n // vil Samsung ikke synes. Om vi bare setter hidden-attributtet på Samsung vil ArrowDown fra Apple ikke fungere.\n // Dette lar seg ikke gjenskape i en enhetstest med JSDOM + user-events, og Cypress lukker Select\n // ved første {downArrow} ¯\\_(ツ)_/¯. Så please test scenariet over manuelt om dette skaper trøbbel for deg.\n item.visible ? (\n <button\n key={`${listId}-${item.value}`}\n hidden={!item.visible}\n type=\"button\"\n id={`${listId}__${toLower(\n item.value,\n )}`}\n className=\"jkl-select__option\"\n data-testid=\"jkl-select__option\"\n aria-selected={\n item.value === selectedValue\n }\n role=\"option\"\n value={item.value}\n data-testautoid={`jkl-select__option-${i}`}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleOptionOnKeyDown}\n onClick={(e) => {\n e.preventDefault();\n selectOption(item);\n }}\n onMouseOver={handleMouseOver}\n >\n {item.label}\n {item.description ? (\n <span className=\"jkl-select__option-description\">\n {item.description}\n </span>\n ) : null}\n </button>\n ) : null,\n )}\n </div>\n <ArrowVerticalAnimated\n variant=\"medium\"\n pointingDown={!dropdownIsShown}\n className=\"jkl-select__arrow\"\n />\n </div>\n )}\n />\n </>\n );\n },\n);\n\nSelect.displayName = \"Select\";\n"],"names":["noop","Select","forwardRef","props","forwardedSelectRef","id","name","items","value","label","labelProps","onChange","onBlur","onFocus","className","helpLabel","errorLabel","invalid","searchable","inline","defaultPrompt","density","width","maxShownOptions","style","tooltip","rest","listId","useId","generateSuffix","labelId","buttonId","searchInputId","dropdownIsShown","setShown","useState","toggleListVisibility","useCallback","previousValue","isSearchable","showSearchInputField","searchValue","setSearchValue","searchFn","item","toLowerCase","includes","visibleItems","useMemo","map","getValuePair","visible","valueIsInItems","some","selectedValue","setSelectedValue","hasSelectedValue","selectedValueLabel","_a","find","selectRef","useRef","unifiedSelectRef","instance","current","usePreviousValue","useEffect","selectOption","nextValue","buttonRef","focus","previousSelectedValue","type","target","dispatchEvent","Event","bubbles","componentRootElementRef","focusInsideRef","searchFieldRef","handleFocusPlacement","isOpen","ref","listElement","focusSelected","dropdownRef","useAnimatedHeight","onFirstVisible","onTransitionEnd","useListNavigation","close","handleBlur","e","componentRootElement","contains","relatedTarget","handleFocus","handleMouseOver","preventScroll","select","searchField","button","addEventListener","ev","preventDefault","removeEventListener","handleOnKeyDown","key","stopPropagation","handleSearchOnKeyDown","shiftKey","handleOptionOnKeyDown","currentTarget","firstVisible","querySelector","handleEscape","window","jsxs","Fragment","children","tabIndex","jsx","hidden","InputGroup","clsx","React","isValidElement","cloneElement","triggerProps","_b","call","srOnly","htmlFor","render","ariaInvalid","inputProps","placeholder","toLower","role","onKeyDown","onClick","onMouseDown","every","i","onMouseOver","description","ArrowVerticalAnimated","variant","pointingDown","displayName"],"mappings":"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"}
|
|
@@ -1,54 +1,3 @@
|
|
|
1
|
-
import { default as React
|
|
2
|
-
import {
|
|
3
|
-
import { ValuePair } from '../../utilities/valuePair.cjs';
|
|
4
|
-
import { InputGroupProps } from '../input-group/InputGroup.cjs';
|
|
5
|
-
import { LabelProps } from '../input-group/Label.cjs';
|
|
6
|
-
export interface SelectPartialChangeEvent extends Partial<Omit<ChangeEvent<HTMLSelectElement>, "target">> {
|
|
7
|
-
/** Kreves av react-hook-form, det skjer ulike ting avhengig av om det er blur eller change */
|
|
8
|
-
type: "change" | "blur";
|
|
9
|
-
target: {
|
|
10
|
-
/** Kreves av react-hook-form for å vite hvilket skjemafelt som ble endret */
|
|
11
|
-
name: string;
|
|
12
|
-
value: string;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
export type SelectChangeEventHandler = (event: SelectPartialChangeEvent) => void;
|
|
16
|
-
export interface SelectProps extends Omit<InputGroupProps, "children">, DataTestAutoId {
|
|
17
|
-
id?: string;
|
|
18
|
-
name: string;
|
|
19
|
-
label: string;
|
|
20
|
-
labelProps?: Omit<LabelProps, "children" | "density" | "htmlFor" | "standAlone">;
|
|
21
|
-
items: Array<string | ValuePair>;
|
|
22
|
-
/**
|
|
23
|
-
* @default false
|
|
24
|
-
*/
|
|
25
|
-
inline?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* @default "Velg"
|
|
28
|
-
*/
|
|
29
|
-
defaultPrompt?: string;
|
|
30
|
-
className?: string;
|
|
31
|
-
value?: string;
|
|
32
|
-
helpLabel?: string;
|
|
33
|
-
errorLabel?: string;
|
|
34
|
-
/**
|
|
35
|
-
* @default false
|
|
36
|
-
*/
|
|
37
|
-
searchable?: boolean | ((searchValue: string, searchItem: string | ValuePair) => boolean);
|
|
38
|
-
density?: Density;
|
|
39
|
-
width?: string;
|
|
40
|
-
onChange?: SelectChangeEventHandler;
|
|
41
|
-
onBlur?: SelectChangeEventHandler;
|
|
42
|
-
onFocus?: SelectChangeEventHandler;
|
|
43
|
-
/**
|
|
44
|
-
* Merk som ugyldig uten å sende inn en errorLabel.
|
|
45
|
-
* NB! Brukes kun i tilfeller der valideringsfeil dukker opp andre steder, for eksempel i en FieldGroup.
|
|
46
|
-
*/
|
|
47
|
-
invalid?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Hvor mange valg skal vises i listen før den begynner å scrolle.
|
|
50
|
-
* @default 5
|
|
51
|
-
*/
|
|
52
|
-
maxShownOptions?: number;
|
|
53
|
-
}
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SelectProps } from './types.cjs';
|
|
54
3
|
export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { Select
|
|
2
|
-
export { NativeSelect
|
|
1
|
+
export { Select } from './Select.cjs';
|
|
2
|
+
export { NativeSelect } from './NativeSelect.cjs';
|
|
3
|
+
export type { SelectProps, SelectChangeEventHandler, SelectPartialChangeEvent, NativeSelectProps, } from './types.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ChangeEvent, SelectHTMLAttributes } from 'react';
|
|
2
|
+
import { DataTestAutoId, Density } from '../../core/types.cjs';
|
|
3
|
+
import { ValuePair } from '../../utilities/valuePair.cjs';
|
|
4
|
+
import { LabelProps, InputGroupProps } from '../input-group/types.cjs';
|
|
5
|
+
export interface NativeSelectProps extends Omit<InputGroupProps, "children">, SelectHTMLAttributes<HTMLSelectElement> {
|
|
6
|
+
/**
|
|
7
|
+
* Merk som ugyldig uten å sende inn en errorLabel.
|
|
8
|
+
* NB! Brukes kun i tilfeller der valideringsfeil dukker opp andre steder, for eksempel i en FieldGroup.
|
|
9
|
+
*/
|
|
10
|
+
invalid?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Setter inn et placeholderelement som vises når ingenting er valgt i nedtrekkslisten.
|
|
13
|
+
* @default "Velg"
|
|
14
|
+
*/
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
items: Array<string | ValuePair>;
|
|
17
|
+
selectClassName?: string;
|
|
18
|
+
width?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SelectPartialChangeEvent extends Partial<Omit<ChangeEvent<HTMLSelectElement>, "target">> {
|
|
21
|
+
/** Kreves av react-hook-form, det skjer ulike ting avhengig av om det er blur eller change */
|
|
22
|
+
type: "change" | "blur";
|
|
23
|
+
target: {
|
|
24
|
+
/** Kreves av react-hook-form for å vite hvilket skjemafelt som ble endret */
|
|
25
|
+
name: string;
|
|
26
|
+
value: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export type SelectChangeEventHandler = (event: SelectPartialChangeEvent) => void;
|
|
30
|
+
export interface SelectProps extends Omit<InputGroupProps, "children">, DataTestAutoId {
|
|
31
|
+
id?: string;
|
|
32
|
+
name: string;
|
|
33
|
+
label: string;
|
|
34
|
+
labelProps?: Omit<LabelProps, "children" | "density" | "htmlFor" | "standAlone">;
|
|
35
|
+
items: Array<string | ValuePair>;
|
|
36
|
+
/**
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
inline?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* @default "Velg"
|
|
42
|
+
*/
|
|
43
|
+
defaultPrompt?: string;
|
|
44
|
+
className?: string;
|
|
45
|
+
value?: string;
|
|
46
|
+
helpLabel?: string;
|
|
47
|
+
errorLabel?: string;
|
|
48
|
+
/**
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
searchable?: boolean | ((searchValue: string, searchItem: string | ValuePair) => boolean);
|
|
52
|
+
density?: Density;
|
|
53
|
+
width?: string;
|
|
54
|
+
onChange?: SelectChangeEventHandler;
|
|
55
|
+
onBlur?: SelectChangeEventHandler;
|
|
56
|
+
onFocus?: SelectChangeEventHandler;
|
|
57
|
+
/**
|
|
58
|
+
* Merk som ugyldig uten å sende inn en errorLabel.
|
|
59
|
+
* NB! Brukes kun i tilfeller der valideringsfeil dukker opp andre steder, for eksempel i en FieldGroup.
|
|
60
|
+
*/
|
|
61
|
+
invalid?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Hvor mange valg skal vises i listen før den begynner å scrolle.
|
|
64
|
+
* @default 5
|
|
65
|
+
*/
|
|
66
|
+
maxShownOptions?: number;
|
|
67
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SummaryTable.cjs","sources":["../../../../src/components/summary-table/SummaryTable.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {
|
|
1
|
+
{"version":3,"file":"SummaryTable.cjs","sources":["../../../../src/components/summary-table/SummaryTable.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { FC } from \"react\";\nimport { SummaryTableProps } from \"./types.js\";\n\nexport const SummaryTable: FC<SummaryTableProps> = ({\n className,\n caption,\n header,\n body,\n footer,\n ...rest\n}) => {\n return (\n <table {...rest} className={clsx(\"jkl-summary-table\", className)}>\n {caption && <caption className=\"jkl-sr-only\">{caption}</caption>}\n\n <thead className=\"jkl-sr-only\">\n <tr>\n {header.map((description, index) => (\n <th scope=\"col\" key={index}>\n {description}\n </th>\n ))}\n </tr>\n </thead>\n\n <tbody>{body}</tbody>\n\n <tfoot>{footer}</tfoot>\n </table>\n );\n};\n"],"names":["className","caption","header","body","footer","rest","jsxs","clsx","children","jsx","map","description","index","scope"],"mappings":"kLAImD,EAC/CA,UAAAA,EACAC,QAAAA,EACAC,OAAAA,EACAC,KAAAA,EACAC,OAAAA,KACGC,KAGCC,EAAAA,KAAC,YAAUD,EAAML,UAAWO,EAAAA,KAAK,oBAAqBP,GACjDQ,SAAA,CAAAP,GAAYQ,EAAAA,IAAA,UAAA,CAAQT,UAAU,cAAeQ,SAAQP,UAErD,QAAM,CAAAD,UAAU,cACbQ,SAACC,EAAAA,IAAA,KAAA,CACID,WAAOE,KAAI,CAACC,EAAaC,IACtBH,EAAAA,IAAC,MAAGI,MAAM,MACLL,YADgBI,SAOjCH,EAAAA,IAAC,SAAOD,SAAKL,IAEbM,EAAAA,IAAC,SAAOD,SAAOJ"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
className?: string;
|
|
4
|
-
caption?: string;
|
|
5
|
-
header: [string, string];
|
|
6
|
-
body: ReactNode;
|
|
7
|
-
footer?: ReactNode;
|
|
8
|
-
}
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { SummaryTableProps } from './types.cjs';
|
|
9
3
|
export declare const SummaryTable: FC<SummaryTableProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SummaryTableRow.cjs","sources":["../../../../src/components/summary-table/SummaryTableRow.tsx"],"sourcesContent":["import React, { FC
|
|
1
|
+
{"version":3,"file":"SummaryTableRow.cjs","sources":["../../../../src/components/summary-table/SummaryTableRow.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { SummaryTableRowProps } from \"./types.js\";\n\nexport const SummaryTableRow: FC<SummaryTableRowProps> = ({\n className,\n header,\n content,\n ...rest\n}) => {\n return (\n <tr {...rest} className={className}>\n <th scope=\"row\">{header}</th>\n <td>{content}</td>\n </tr>\n );\n};\n"],"names":["className","header","content","rest","jsxs","children","jsx","scope"],"mappings":"6IAGyD,EACrDA,UAAAA,EACAC,OAAAA,EACAC,QAAAA,KACGC,KAGEC,EAAAA,KAAA,KAAA,IAAOD,EAAMH,UAAAA,EACVK,SAAA,CAACC,EAAAA,IAAA,KAAA,CAAGC,MAAM,MAAOF,SAAOJ,IACxBK,EAAAA,IAAC,MAAID,SAAQH"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { FC
|
|
2
|
-
|
|
3
|
-
className?: string;
|
|
4
|
-
header: string | ReactNode;
|
|
5
|
-
content: string | ReactNode;
|
|
6
|
-
}
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { SummaryTableRowProps } from './types.cjs';
|
|
7
3
|
export declare const SummaryTableRow: FC<SummaryTableRowProps>;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { SummaryTable
|
|
2
|
-
export { SummaryTableRow
|
|
1
|
+
export { SummaryTable } from './SummaryTable.cjs';
|
|
2
|
+
export { SummaryTableRow } from './SummaryTableRow.cjs';
|
|
3
|
+
export type { SummaryTableProps, SummaryTableRowProps } from './types.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SummaryTableProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
caption?: string;
|
|
5
|
+
header: [string, string];
|
|
6
|
+
body: ReactNode;
|
|
7
|
+
footer?: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export interface SummaryTableRowProps {
|
|
10
|
+
className?: string;
|
|
11
|
+
header: string | ReactNode;
|
|
12
|
+
content: string | ReactNode;
|
|
13
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemMessage.cjs","sources":["../../../../src/components/system-message/SystemMessage.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"SystemMessage.cjs","sources":["../../../../src/components/system-message/SystemMessage.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { DismissButton } from \"../message/DismissButton.js\";\nimport { MessageIcon } from \"./common/MessageIcon.js\";\nimport { SystemMessageProps } from \"./types.js\";\n\ntype messageTypes = \"info\" | \"error\" | \"success\" | \"warning\";\n\nfunction systemFactory(\n messageType: messageTypes,\n): React.FC<SystemMessageProps> {\n const SystemMessage: React.FC<SystemMessageProps> = ({\n id,\n className,\n density,\n maxContentWidth,\n paddingLeft,\n role = \"status\",\n dismissed,\n dismissAction,\n children,\n ...rest\n }) => {\n const systemId = useId(id || \"jkl-system-message\", {\n generateSuffix: !id,\n });\n\n return (\n <div\n role={role}\n {...rest}\n id={systemId}\n className={clsx(\n \"jkl-system-message\",\n \"jkl-system-message--\" + messageType,\n className,\n {\n \"jkl-system-message--dismissed\": dismissed,\n },\n )}\n data-density={density}\n >\n <div\n className=\"jkl-system-message__content\"\n data-testid=\"system-message-content\"\n data-theme=\"light\"\n style={{\n maxWidth: maxContentWidth,\n paddingLeft,\n }}\n >\n <MessageIcon messageType={messageType} />\n <span className=\"jkl-system-message__message\">\n {children}\n </span>\n {dismissAction?.handleDismiss && (\n <DismissButton\n data-theme=\"light\"\n aria-controls={systemId}\n className=\"jkl-system-message__dismiss-button\"\n label={dismissAction.buttonTitle || \"Lukk\"}\n onClick={dismissAction.handleDismiss}\n />\n )}\n </div>\n </div>\n );\n };\n return SystemMessage;\n}\n\nexport const InfoSystemMessage = systemFactory(\"info\");\nInfoSystemMessage.displayName = \"InfoSystemMessage\";\nexport const ErrorSystemMessage = systemFactory(\"error\");\nErrorSystemMessage.displayName = \"ErrorSystemMessage\";\nexport const WarningSystemMessage = systemFactory(\"warning\");\nWarningSystemMessage.displayName = \"WarningSystemMessage\";\nexport const SuccessSystemMessage = systemFactory(\"success\");\nSuccessSystemMessage.displayName = \"SuccessSystemMessage\";\n"],"names":["systemFactory","messageType","id","className","density","maxContentWidth","paddingLeft","role","dismissed","dismissAction","children","rest","systemId","useId","generateSuffix","jsx","clsx","jsxs","style","maxWidth","MessageIcon","handleDismiss","DismissButton","label","buttonTitle","onClick","InfoSystemMessage","displayName","ErrorSystemMessage","WarningSystemMessage","SuccessSystemMessage"],"mappings":"sRASA,SAASA,EACLC,GA2DO,MAzD6C,EAChDC,GAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,gBAAAA,EACAC,YAAAA,EACAC,KAAAA,EAAO,SACPC,UAAAA,EACAC,cAAAA,EACAC,SAAAA,KACGC,MAEG,MAAAC,EAAWC,EAAAA,MAAMX,GAAM,qBAAsB,CAC/CY,gBAAiBZ,IAIjB,OAAAa,EAAAA,IAAC,MAAA,CACGR,KAAAA,KACII,EACJT,GAAIU,EACJT,UAAWa,EAAAA,KACP,qBACA,uBAAyBf,EACzBE,EACA,CACI,gCAAiCK,IAGzC,eAAcJ,EAEdM,SAAAO,EAAAA,KAAC,MAAA,CACGd,UAAU,8BACV,cAAY,yBACZ,aAAW,QACXe,MAAO,CACHC,SAAUd,EACVC,YAAAA,GAGJI,SAAA,CAAAK,MAACK,EAAAA,aAAYnB,YAAAA,IACZc,EAAAA,IAAA,OAAA,CAAKZ,UAAU,8BACXO,SAAAA,KAEJ,MAAAD,OAAAA,EAAAA,EAAeY,gBACZN,EAAAA,IAACO,EAAAA,cAAA,CACG,aAAW,QACX,gBAAeV,EACfT,UAAU,qCACVoB,MAAOd,EAAce,aAAe,OACpCC,QAAShB,EAAcY,oBAGnC,CAKhB,CAEa,MAAAK,EAAoB1B,EAAc,QAC/C0B,EAAkBC,YAAc,oBACnB,MAAAC,EAAqB5B,EAAc,SAChD4B,EAAmBD,YAAc,qBACpB,MAAAE,EAAuB7B,EAAc,WAClD6B,EAAqBF,YAAc,uBACtB,MAAAG,EAAuB9B,EAAc,WAClD8B,EAAqBH,YAAc"}
|
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
export interface SystemMessageProps extends WithChildren {
|
|
4
|
-
id?: string;
|
|
5
|
-
className?: string;
|
|
6
|
-
density?: Density;
|
|
7
|
-
maxContentWidth?: string;
|
|
8
|
-
paddingLeft?: string;
|
|
9
|
-
/** Overstyr standardrollen til meldingen. Om du ønsker å "skru av" rollen kan du bruke verdien `none presentation`. */
|
|
10
|
-
role?: string;
|
|
11
|
-
dismissed?: boolean;
|
|
12
|
-
dismissAction?: {
|
|
13
|
-
handleDismiss: () => void;
|
|
14
|
-
buttonTitle?: string;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
2
|
+
import { SystemMessageProps } from './types.cjs';
|
|
17
3
|
export declare const InfoSystemMessage: React.FC<SystemMessageProps>;
|
|
18
4
|
export declare const ErrorSystemMessage: React.FC<SystemMessageProps>;
|
|
19
5
|
export declare const WarningSystemMessage: React.FC<SystemMessageProps>;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { InfoSystemMessage, WarningSystemMessage, ErrorSystemMessage, SuccessSystemMessage,
|
|
1
|
+
export { InfoSystemMessage, WarningSystemMessage, ErrorSystemMessage, SuccessSystemMessage, } from './SystemMessage.cjs';
|
|
2
|
+
export type { SystemMessageProps } from './types.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Density, WithChildren } from '../../core/types.cjs';
|
|
2
|
+
export interface SystemMessageProps extends WithChildren {
|
|
3
|
+
id?: string;
|
|
4
|
+
className?: string;
|
|
5
|
+
density?: Density;
|
|
6
|
+
maxContentWidth?: string;
|
|
7
|
+
paddingLeft?: string;
|
|
8
|
+
/** Overstyr standardrollen til meldingen. Om du ønsker å "skru av" rollen kan du bruke verdien `none presentation`. */
|
|
9
|
+
role?: string;
|
|
10
|
+
dismissed?: boolean;
|
|
11
|
+
dismissAction?: {
|
|
12
|
+
handleDismiss: () => void;
|
|
13
|
+
buttonTitle?: string;
|
|
14
|
+
};
|
|
15
|
+
}
|