@fremtind/jokul 0.71.1 → 1.0.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/README.md +5 -37
- package/build/build-stats.html +1 -1
- package/build/cjs/components/autosuggest/BaseAutosuggest.cjs +1 -1
- package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
- package/build/cjs/components/autosuggest/Menu.cjs +1 -1
- package/build/cjs/components/autosuggest/Menu.cjs.map +1 -1
- package/build/cjs/components/button/Button.cjs +1 -1
- package/build/cjs/components/button/Button.cjs.map +1 -1
- package/build/cjs/components/card/index.cjs +1 -1
- package/build/cjs/components/card/index.d.cts +1 -4
- package/build/cjs/components/card/types.cjs +1 -1
- package/build/cjs/components/card/types.cjs.map +1 -1
- package/build/cjs/components/card/types.d.cts +0 -51
- package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs +1 -1
- package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs.map +1 -1
- package/build/cjs/components/combobox/Combobox.cjs +1 -1
- package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
- package/build/cjs/components/combobox/stories/Combobox.stories.cjs +1 -1
- package/build/cjs/components/combobox/stories/Combobox.stories.cjs.map +1 -1
- package/build/cjs/components/combobox/stories/Combobox.stories.d.cts +1 -0
- package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
- package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
- package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
- package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.cjs +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/utils.cjs +1 -1
- package/build/cjs/components/datepicker/internal/utils.cjs.map +1 -1
- package/build/cjs/components/datepicker/stories/Datepicker.stories.cjs +1 -1
- package/build/cjs/components/datepicker/stories/Datepicker.stories.cjs.map +1 -1
- package/build/cjs/components/datepicker/stories/Datepicker.stories.d.cts +13 -0
- package/build/cjs/components/description-list/stories/DescriptionList.stories.cjs +1 -1
- package/build/cjs/components/description-list/stories/DescriptionList.stories.cjs.map +1 -1
- package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
- package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
- package/build/cjs/components/expander/ExpandablePanelContent.cjs +1 -1
- package/build/cjs/components/expander/ExpandablePanelContent.cjs.map +1 -1
- package/build/cjs/components/expander/Expander.cjs +1 -1
- package/build/cjs/components/expander/Expander.cjs.map +1 -1
- package/build/cjs/components/expander/index.cjs +1 -1
- package/build/cjs/components/expander/index.d.cts +0 -1
- package/build/cjs/components/expander/stories/{ExpanderPanel.stories.cjs → ExpandablePanel.stories.cjs} +1 -1
- package/build/cjs/components/expander/stories/ExpandablePanel.stories.cjs.map +1 -0
- package/build/cjs/components/feedback/followup/Followup.cjs +1 -1
- package/build/cjs/components/feedback/followup/Followup.cjs.map +1 -1
- package/build/cjs/components/feedback/followup/useFollowup.cjs +1 -1
- package/build/cjs/components/feedback/followup/useFollowup.cjs.map +1 -1
- package/build/cjs/components/feedback/main-question/MainQuestion.cjs +1 -1
- package/build/cjs/components/feedback/main-question/MainQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/main-question/useMainQuestion.cjs +1 -1
- package/build/cjs/components/feedback/main-question/useMainQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/AddonQuestion.cjs +1 -1
- package/build/cjs/components/feedback/questions/AddonQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/CheckboxQuestion.cjs +1 -1
- package/build/cjs/components/feedback/questions/CheckboxQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/ContactQuestion.cjs +1 -1
- package/build/cjs/components/feedback/questions/ContactQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/RadioQuestion.cjs +1 -1
- package/build/cjs/components/feedback/questions/RadioQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/SmileyQuestion.cjs +1 -1
- package/build/cjs/components/feedback/questions/SmileyQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/TextQuestion.cjs +1 -1
- package/build/cjs/components/feedback/questions/TextQuestion.cjs.map +1 -1
- package/build/cjs/components/file/File.cjs.map +1 -1
- package/build/cjs/components/file/stories/File.stories.cjs.map +1 -1
- package/build/cjs/components/file/stories/File.stories.d.cts +1 -1
- package/build/cjs/components/file-input/FileInput.cjs.map +1 -1
- package/build/cjs/components/file-input/index.d.cts +1 -1
- package/build/cjs/components/file-input/internal/Dropzone.cjs.map +1 -1
- package/build/cjs/components/file-input/internal/Input.cjs.map +1 -1
- package/build/cjs/components/file-input/internal/fileInputContext.cjs.map +1 -1
- package/build/cjs/components/file-input/internal/validateFileInputFiles.cjs +1 -1
- package/build/cjs/components/file-input/internal/validateFileInputFiles.cjs.map +1 -1
- package/build/cjs/components/file-input/stories/FileInput.stories.cjs.map +1 -1
- package/build/cjs/components/icon/stories/Icons.stories.cjs +1 -1
- package/build/cjs/components/image/useImageLoadingStatus.cjs +1 -1
- package/build/cjs/components/image/useImageLoadingStatus.cjs.map +1 -1
- package/build/cjs/components/input-group/InputGroup.cjs +1 -1
- package/build/cjs/components/input-group/InputGroup.cjs.map +1 -1
- package/build/cjs/components/input-group/stories/FieldGroup.stories.cjs +1 -1
- package/build/cjs/components/link/stories/Link.stories.cjs +1 -1
- package/build/cjs/components/link/stories/Link.stories.cjs.map +1 -1
- package/build/cjs/components/menu/Menu.cjs +1 -1
- package/build/cjs/components/menu/Menu.cjs.map +1 -1
- package/build/cjs/components/menu/MenuItemCheckbox.cjs +1 -1
- package/build/cjs/components/menu/MenuItemCheckbox.cjs.map +1 -1
- package/build/cjs/components/message/Message.cjs +1 -1
- package/build/cjs/components/message/Message.cjs.map +1 -1
- package/build/cjs/components/modal/stories/ModalCloseButton.stories.d.cts +1 -1
- package/build/cjs/components/modal/stories/ModalOverlay.stories.cjs +1 -1
- package/build/cjs/components/modal/stories/ModalOverlay.stories.cjs.map +1 -1
- package/build/cjs/components/popover/Popover.cjs +1 -1
- package/build/cjs/components/popover/Popover.cjs.map +1 -1
- package/build/cjs/components/radio-panel/RadioPanel.cjs +1 -1
- package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -1
- package/build/cjs/components/screen-reader-only/ScreenReaderOnly.cjs.map +1 -0
- package/build/cjs/components/screen-reader-only/ScreenReaderOnly.d.cts +3 -0
- package/build/cjs/components/screen-reader-only/index.cjs +2 -0
- package/build/cjs/components/screen-reader-only/index.d.cts +2 -0
- package/build/cjs/components/screen-reader-only/types.d.cts +4 -0
- package/build/cjs/components/select/Select.cjs +1 -1
- package/build/cjs/components/select/Select.cjs.map +1 -1
- package/build/cjs/components/select/select-utils.cjs +1 -1
- package/build/cjs/components/select/select-utils.cjs.map +1 -1
- package/build/cjs/components/system-message/SystemMessage.cjs +1 -1
- package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
- package/build/cjs/components/table/TableHeader.cjs +1 -1
- package/build/cjs/components/table/TableHeader.cjs.map +1 -1
- package/build/cjs/components/table/TableRow.cjs +1 -1
- package/build/cjs/components/table/TableRow.cjs.map +1 -1
- package/build/cjs/components/table/stories/data.cjs +2 -0
- package/build/cjs/components/table/stories/data.cjs.map +1 -0
- package/build/cjs/components/table/stories/data.d.cts +8 -0
- package/build/cjs/components/table/stories/table.stories.cjs +1 -1
- package/build/cjs/components/table/stories/table.stories.cjs.map +1 -1
- package/build/cjs/components/table/stories/table.stories.d.cts +10 -1
- package/build/cjs/components/table/stories/tableCollapsing.stories.cjs +2 -0
- package/build/cjs/components/table/stories/tableCollapsing.stories.cjs.map +1 -0
- package/build/cjs/components/table/stories/tableCollapsing.stories.d.cts +16 -0
- package/build/cjs/components/table/stories/tableComplex.stories.cjs +2 -0
- package/build/cjs/components/table/stories/tableComplex.stories.cjs.map +1 -0
- package/build/cjs/components/table/stories/tableComplex.stories.d.cts +21 -0
- package/build/cjs/components/table/stories/tableFiltering.stories.cjs +2 -0
- package/build/cjs/components/table/stories/tableFiltering.stories.cjs.map +1 -0
- package/build/cjs/components/table/stories/tableFiltering.stories.d.cts +21 -0
- package/build/cjs/components/table/stories/tablePagination.stories.cjs +2 -0
- package/build/cjs/components/table/stories/tablePagination.stories.cjs.map +1 -0
- package/build/cjs/components/{accordion/stories/Accordion.stories.d.cts → table/stories/tablePagination.stories.d.cts} +2 -2
- package/build/cjs/components/tabs/NavTab.cjs +1 -1
- package/build/cjs/components/tabs/NavTab.cjs.map +1 -1
- package/build/cjs/components/tabs/NavTabs.cjs +1 -1
- package/build/cjs/components/tabs/NavTabs.cjs.map +1 -1
- package/build/cjs/components/tabs/TabList.cjs +1 -1
- package/build/cjs/components/tabs/TabList.cjs.map +1 -1
- package/build/cjs/components/text-area/BaseTextArea.cjs +1 -1
- package/build/cjs/components/text-area/BaseTextArea.cjs.map +1 -1
- package/build/cjs/components/toast/Toast.cjs +1 -1
- package/build/cjs/components/toast/Toast.cjs.map +1 -1
- package/build/cjs/components/toast/toastContext.cjs +1 -1
- package/build/cjs/components/toast/toastContext.cjs.map +1 -1
- package/build/cjs/components/toggle-switch/ToggleSwitch.cjs +1 -1
- package/build/cjs/components/toggle-switch/ToggleSwitch.cjs.map +1 -1
- package/build/cjs/components/toggle-switch/usePillStyles.cjs +1 -1
- package/build/cjs/components/toggle-switch/usePillStyles.cjs.map +1 -1
- package/build/cjs/components/tooltip/PopupTip.cjs +1 -1
- package/build/cjs/components/tooltip/PopupTip.cjs.map +1 -1
- package/build/cjs/components/tooltip/Tooltip.cjs +1 -1
- package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
- package/build/cjs/components/tooltip/TooltipTrigger.cjs +1 -1
- package/build/cjs/components/tooltip/TooltipTrigger.cjs.map +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs.map +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs.map +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs.map +1 -1
- package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.cjs +1 -1
- package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.cjs.map +1 -1
- package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.d.cts +1 -1
- package/build/cjs/hooks/useClickOutside/useClickOutside.cjs +1 -1
- package/build/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
- package/build/cjs/hooks/useElementDimensions/useElementDimensions.cjs +1 -1
- package/build/cjs/hooks/useElementDimensions/useElementDimensions.cjs.map +1 -1
- package/build/cjs/hooks/useFocusOutside/useFocusOutside.cjs +1 -1
- package/build/cjs/hooks/useFocusOutside/useFocusOutside.cjs.map +1 -1
- package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +1 -1
- package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
- package/build/cjs/hooks/useKeyListener/useKeyListener.cjs +1 -1
- package/build/cjs/hooks/useKeyListener/useKeyListener.cjs.map +1 -1
- package/build/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs +1 -1
- package/build/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs.map +1 -1
- package/build/cjs/hooks/useSwipeGesture/useSwipeGesture.cjs +1 -1
- package/build/cjs/hooks/useSwipeGesture/useSwipeGesture.cjs.map +1 -1
- package/build/cjs/index.cjs +1 -1
- package/build/cjs/index.d.cts +0 -1
- package/build/cjs/utilities/formatters/date/formatDate.cjs +1 -1
- package/build/cjs/utilities/formatters/date/formatDate.cjs.map +1 -1
- package/build/cjs/utilities/formatters/fodselsnummer/formatFodselsnummer.cjs +1 -1
- package/build/cjs/utilities/formatters/fodselsnummer/formatFodselsnummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/kontonummer/formatKontonummer.cjs +1 -1
- package/build/cjs/utilities/formatters/kontonummer/formatKontonummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/kortnummer/formatKortnummer.cjs +1 -1
- package/build/cjs/utilities/formatters/kortnummer/formatKortnummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs +1 -1
- package/build/cjs/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/telefonnummer/formatTelefonnummer.cjs +1 -1
- package/build/cjs/utilities/formatters/telefonnummer/formatTelefonnummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/util/registerWithMask.cjs +1 -1
- package/build/cjs/utilities/formatters/util/registerWithMask.cjs.map +1 -1
- package/build/cjs/utilities/formatters/valuta/formatValuta.cjs +1 -1
- package/build/cjs/utilities/formatters/valuta/formatValuta.cjs.map +1 -1
- package/build/cjs/utilities/tabListener.cjs +1 -1
- package/build/cjs/utilities/tabListener.cjs.map +1 -1
- package/build/cjs/utilities/validators/hasMinimumWords/hasMinimumWords.cjs +1 -1
- package/build/cjs/utilities/validators/hasMinimumWords/hasMinimumWords.cjs.map +1 -1
- package/build/es/components/autosuggest/BaseAutosuggest.js +2 -2
- package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
- package/build/es/components/autosuggest/Menu.js +1 -1
- package/build/es/components/autosuggest/Menu.js.map +1 -1
- package/build/es/components/button/Button.js +1 -1
- package/build/es/components/button/Button.js.map +1 -1
- package/build/es/components/card/index.d.ts +1 -4
- package/build/es/components/card/index.js +1 -1
- package/build/es/components/card/types.d.ts +0 -51
- package/build/es/components/card/types.js +1 -1
- package/build/es/components/card/types.js.map +1 -1
- package/build/es/components/checkbox-panel/CheckboxPanel.js +1 -1
- package/build/es/components/checkbox-panel/CheckboxPanel.js.map +1 -1
- package/build/es/components/combobox/Combobox.js +1 -1
- package/build/es/components/combobox/Combobox.js.map +1 -1
- package/build/es/components/combobox/stories/Combobox.stories.d.ts +1 -0
- package/build/es/components/combobox/stories/Combobox.stories.js +1 -1
- package/build/es/components/combobox/stories/Combobox.stories.js.map +1 -1
- package/build/es/components/cookie-consent/CookieConsent.js +1 -1
- package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
- package/build/es/components/datepicker/DatePicker.js +1 -1
- package/build/es/components/datepicker/DatePicker.js.map +1 -1
- package/build/es/components/datepicker/internal/Calendar.js +1 -1
- package/build/es/components/datepicker/internal/Calendar.js.map +1 -1
- package/build/es/components/datepicker/internal/utils.js +1 -1
- package/build/es/components/datepicker/internal/utils.js.map +1 -1
- package/build/es/components/datepicker/stories/Datepicker.stories.d.ts +13 -0
- package/build/es/components/datepicker/stories/Datepicker.stories.js +1 -1
- package/build/es/components/datepicker/stories/Datepicker.stories.js.map +1 -1
- package/build/es/components/description-list/stories/DescriptionList.stories.js +1 -1
- package/build/es/components/description-list/stories/DescriptionList.stories.js.map +1 -1
- package/build/es/components/expander/ExpandablePanel.js +1 -1
- package/build/es/components/expander/ExpandablePanel.js.map +1 -1
- package/build/es/components/expander/ExpandablePanelContent.js +1 -1
- package/build/es/components/expander/ExpandablePanelContent.js.map +1 -1
- package/build/es/components/expander/Expander.js +1 -1
- package/build/es/components/expander/Expander.js.map +1 -1
- package/build/es/components/expander/index.d.ts +0 -1
- package/build/es/components/expander/index.js +1 -1
- package/build/es/components/expander/stories/{ExpanderPanel.stories.js → ExpandablePanel.stories.js} +1 -1
- package/build/es/components/expander/stories/ExpandablePanel.stories.js.map +1 -0
- package/build/es/components/feedback/followup/Followup.js +1 -1
- package/build/es/components/feedback/followup/Followup.js.map +1 -1
- package/build/es/components/feedback/followup/useFollowup.js +1 -1
- package/build/es/components/feedback/followup/useFollowup.js.map +1 -1
- package/build/es/components/feedback/main-question/MainQuestion.js +1 -1
- package/build/es/components/feedback/main-question/MainQuestion.js.map +1 -1
- package/build/es/components/feedback/main-question/useMainQuestion.js +1 -1
- package/build/es/components/feedback/main-question/useMainQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/AddonQuestion.js +1 -1
- package/build/es/components/feedback/questions/AddonQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/CheckboxQuestion.js +1 -1
- package/build/es/components/feedback/questions/CheckboxQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/ContactQuestion.js +1 -1
- package/build/es/components/feedback/questions/ContactQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/RadioQuestion.js +1 -1
- package/build/es/components/feedback/questions/RadioQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/SmileyQuestion.js +1 -1
- package/build/es/components/feedback/questions/SmileyQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/TextQuestion.js +1 -1
- package/build/es/components/feedback/questions/TextQuestion.js.map +1 -1
- package/build/es/components/file/File.js.map +1 -1
- package/build/es/components/file/stories/File.stories.d.ts +1 -1
- package/build/es/components/file/stories/File.stories.js.map +1 -1
- package/build/es/components/file-input/FileInput.js.map +1 -1
- package/build/es/components/file-input/index.d.ts +1 -1
- package/build/es/components/file-input/internal/Dropzone.js.map +1 -1
- package/build/es/components/file-input/internal/Input.js.map +1 -1
- package/build/es/components/file-input/internal/fileInputContext.js.map +1 -1
- package/build/es/components/file-input/internal/validateFileInputFiles.js +1 -1
- package/build/es/components/file-input/internal/validateFileInputFiles.js.map +1 -1
- package/build/es/components/file-input/stories/FileInput.stories.js.map +1 -1
- package/build/es/components/icon/stories/Icons.stories.js +1 -1
- package/build/es/components/image/useImageLoadingStatus.js +1 -1
- package/build/es/components/image/useImageLoadingStatus.js.map +1 -1
- package/build/es/components/input-group/InputGroup.js +1 -1
- package/build/es/components/input-group/InputGroup.js.map +1 -1
- package/build/es/components/link/stories/Link.stories.js +1 -1
- package/build/es/components/link/stories/Link.stories.js.map +1 -1
- package/build/es/components/loader/stories/Skeleton.stories.js +1 -1
- package/build/es/components/menu/Menu.js +1 -1
- package/build/es/components/menu/Menu.js.map +1 -1
- package/build/es/components/menu/MenuItemCheckbox.js +1 -1
- package/build/es/components/menu/MenuItemCheckbox.js.map +1 -1
- package/build/es/components/message/Message.js +1 -1
- package/build/es/components/message/Message.js.map +1 -1
- package/build/es/components/modal/stories/ModalCloseButton.stories.d.ts +1 -1
- package/build/es/components/modal/stories/ModalOverlay.stories.js +1 -1
- package/build/es/components/modal/stories/ModalOverlay.stories.js.map +1 -1
- package/build/es/components/popover/Popover.js +1 -1
- package/build/es/components/popover/Popover.js.map +1 -1
- package/build/es/components/radio-panel/RadioPanel.js +1 -1
- package/build/es/components/radio-panel/RadioPanel.js.map +1 -1
- package/build/es/components/screen-reader-only/ScreenReaderOnly.d.ts +3 -0
- package/build/es/components/screen-reader-only/ScreenReaderOnly.js.map +1 -0
- package/build/es/components/screen-reader-only/index.d.ts +2 -0
- package/build/es/components/screen-reader-only/index.js +2 -0
- package/build/es/components/screen-reader-only/types.d.ts +4 -0
- package/build/es/components/select/Select.js +1 -1
- package/build/es/components/select/Select.js.map +1 -1
- package/build/es/components/select/select-utils.js +1 -1
- package/build/es/components/select/select-utils.js.map +1 -1
- package/build/es/components/system-message/SystemMessage.js +1 -1
- package/build/es/components/system-message/SystemMessage.js.map +1 -1
- package/build/es/components/table/TableHeader.js +1 -1
- package/build/es/components/table/TableHeader.js.map +1 -1
- package/build/es/components/table/TableRow.js +1 -1
- package/build/es/components/table/TableRow.js.map +1 -1
- package/build/es/components/table/stories/data.d.ts +8 -0
- package/build/es/components/table/stories/data.js +2 -0
- package/build/es/components/table/stories/data.js.map +1 -0
- package/build/es/components/table/stories/table.stories.d.ts +10 -1
- package/build/es/components/table/stories/table.stories.js +1 -1
- package/build/es/components/table/stories/table.stories.js.map +1 -1
- package/build/es/components/table/stories/tableCollapsing.stories.d.ts +16 -0
- package/build/es/components/table/stories/tableCollapsing.stories.js +2 -0
- package/build/es/components/table/stories/tableCollapsing.stories.js.map +1 -0
- package/build/es/components/table/stories/tableComplex.stories.d.ts +21 -0
- package/build/es/components/table/stories/tableComplex.stories.js +2 -0
- package/build/es/components/table/stories/tableComplex.stories.js.map +1 -0
- package/build/es/components/table/stories/tableFiltering.stories.d.ts +21 -0
- package/build/es/components/table/stories/tableFiltering.stories.js +2 -0
- package/build/es/components/table/stories/tableFiltering.stories.js.map +1 -0
- package/build/{cjs/components/accordion/stories/AccordionItem.stories.d.cts → es/components/table/stories/tablePagination.stories.d.ts} +2 -2
- package/build/es/components/table/stories/tablePagination.stories.js +2 -0
- package/build/es/components/table/stories/tablePagination.stories.js.map +1 -0
- package/build/es/components/tabs/NavTab.js +1 -1
- package/build/es/components/tabs/NavTab.js.map +1 -1
- package/build/es/components/tabs/NavTabs.js +1 -1
- package/build/es/components/tabs/NavTabs.js.map +1 -1
- package/build/es/components/tabs/TabList.js +1 -1
- package/build/es/components/tabs/TabList.js.map +1 -1
- package/build/es/components/text-area/BaseTextArea.js +1 -1
- package/build/es/components/text-area/BaseTextArea.js.map +1 -1
- package/build/es/components/toast/Toast.js +1 -1
- package/build/es/components/toast/Toast.js.map +1 -1
- package/build/es/components/toast/toastContext.js +1 -1
- package/build/es/components/toast/toastContext.js.map +1 -1
- package/build/es/components/toggle-switch/ToggleSwitch.js +1 -1
- package/build/es/components/toggle-switch/ToggleSwitch.js.map +1 -1
- package/build/es/components/toggle-switch/usePillStyles.js +1 -1
- package/build/es/components/toggle-switch/usePillStyles.js.map +1 -1
- package/build/es/components/tooltip/PopupTip.js +1 -1
- package/build/es/components/tooltip/PopupTip.js.map +1 -1
- package/build/es/components/tooltip/Tooltip.js +1 -1
- package/build/es/components/tooltip/Tooltip.js.map +1 -1
- package/build/es/components/tooltip/TooltipTrigger.js +1 -1
- package/build/es/components/tooltip/TooltipTrigger.js.map +1 -1
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js +1 -1
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -1
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js +1 -1
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -1
- package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js +1 -1
- package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -1
- package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.d.ts +1 -1
- package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.js +1 -1
- package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.js.map +1 -1
- package/build/es/hooks/useClickOutside/useClickOutside.js +1 -1
- package/build/es/hooks/useClickOutside/useClickOutside.js.map +1 -1
- package/build/es/hooks/useElementDimensions/useElementDimensions.js +1 -1
- package/build/es/hooks/useElementDimensions/useElementDimensions.js.map +1 -1
- package/build/es/hooks/useFocusOutside/useFocusOutside.js +1 -1
- package/build/es/hooks/useFocusOutside/useFocusOutside.js.map +1 -1
- package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.js +1 -1
- package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/build/es/hooks/useKeyListener/useKeyListener.js +1 -1
- package/build/es/hooks/useKeyListener/useKeyListener.js.map +1 -1
- package/build/es/hooks/useScrollIntoView/useScrollIntoView.js +1 -1
- package/build/es/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -1
- package/build/es/hooks/useSwipeGesture/useSwipeGesture.js +1 -1
- package/build/es/hooks/useSwipeGesture/useSwipeGesture.js.map +1 -1
- package/build/es/index.d.ts +0 -1
- package/build/es/index.js +1 -1
- package/build/es/utilities/formatters/date/formatDate.js +1 -1
- package/build/es/utilities/formatters/date/formatDate.js.map +1 -1
- package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js +1 -1
- package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js.map +1 -1
- package/build/es/utilities/formatters/kontonummer/formatKontonummer.js +1 -1
- package/build/es/utilities/formatters/kontonummer/formatKontonummer.js.map +1 -1
- package/build/es/utilities/formatters/kortnummer/formatKortnummer.js +1 -1
- package/build/es/utilities/formatters/kortnummer/formatKortnummer.js.map +1 -1
- package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js +1 -1
- package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js.map +1 -1
- package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js +1 -1
- package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js.map +1 -1
- package/build/es/utilities/formatters/util/registerWithMask.js +1 -1
- package/build/es/utilities/formatters/util/registerWithMask.js.map +1 -1
- package/build/es/utilities/formatters/valuta/formatValuta.js +1 -1
- package/build/es/utilities/formatters/valuta/formatValuta.js.map +1 -1
- package/build/es/utilities/tabListener.js +1 -1
- package/build/es/utilities/tabListener.js.map +1 -1
- package/build/es/utilities/validators/hasMinimumWords/hasMinimumWords.js +1 -1
- package/build/es/utilities/validators/hasMinimumWords/hasMinimumWords.js.map +1 -1
- package/build/jokul.css +1 -1
- package/build/paginated-table-data-VQZB3_Aj.cjs +2 -0
- package/build/paginated-table-data-VQZB3_Aj.cjs.map +1 -0
- package/build/paginated-table-data-ZMeh4d0Y.js +2 -0
- package/build/paginated-table-data-ZMeh4d0Y.js.map +1 -0
- package/package.json +61 -81
- package/styles/components/autosuggest/autosuggest.scss +4 -4
- package/styles/components/card/card.css +0 -248
- package/styles/components/card/card.min.css +1 -1
- package/styles/components/card/card.scss +0 -3
- package/styles/components/checkbox/checkbox.css +4 -4
- package/styles/components/checkbox/checkbox.min.css +1 -1
- package/styles/components/checkbox-panel/checkbox-panel.css +2 -2
- package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
- package/styles/components/chip/chip.css +9 -1
- package/styles/components/chip/chip.min.css +1 -1
- package/styles/components/chip/chip.scss +8 -1
- package/styles/components/combobox/combobox.css +17 -19
- package/styles/components/combobox/combobox.min.css +1 -1
- package/styles/components/combobox/combobox.scss +18 -18
- package/styles/components/countdown/countdown.css +2 -2
- package/styles/components/countdown/countdown.min.css +1 -1
- package/styles/components/datepicker/_index.scss +1 -0
- package/styles/components/description-list/description-list.scss +7 -7
- package/styles/components/expander/_index.scss +0 -1
- package/styles/components/feedback/feedback.css +2 -2
- package/styles/components/feedback/feedback.min.css +1 -1
- package/styles/components/feedback/feedback.scss +4 -3
- package/styles/components/file-input/file-input.css +13 -14
- package/styles/components/file-input/file-input.min.css +1 -1
- package/styles/components/input-group/_labels.scss +21 -21
- 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/link.css +2 -3
- package/styles/components/link/link.min.css +1 -1
- package/styles/components/link/link.scss +3 -2
- 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/loader/skeleton-loader.scss +10 -10
- package/styles/components/menu/menu.css +5 -5
- package/styles/components/menu/menu.min.css +1 -1
- package/styles/components/menu/menu.scss +3 -3
- package/styles/components/message/message.css +2 -2
- package/styles/components/message/message.min.css +1 -1
- package/styles/components/progress-bar/progress-bar.css +1 -1
- package/styles/components/progress-bar/progress-bar.min.css +1 -1
- package/styles/components/radio-button/radio-button.css +4 -3
- package/styles/components/radio-button/radio-button.min.css +1 -1
- package/styles/components/radio-button/radio-button.scss +18 -19
- package/styles/components/radio-panel/radio-panel.css +2 -2
- package/styles/components/radio-panel/radio-panel.min.css +1 -1
- package/styles/components/summary-table/summary-table.scss +3 -3
- package/styles/components/system-message/system-message.css +2 -2
- package/styles/components/system-message/system-message.min.css +1 -1
- package/styles/components/system-message/system-message.scss +8 -8
- package/styles/components/table/_table-cell.scss +4 -4
- package/styles/components/table/_table-header.scss +4 -2
- package/styles/components/table/_table-row.scss +13 -12
- package/styles/components/table/table.css +13 -11
- package/styles/components/text-area/text-area.css +6 -4
- package/styles/components/text-area/text-area.min.css +5 -1
- package/styles/components/text-input/text-input.css +6 -4
- package/styles/components/text-input/text-input.min.css +5 -1
- package/styles/components/toast/toast.css +4 -4
- package/styles/components/toast/toast.min.css +1 -1
- package/styles/components/toggle-switch/_toggle-slider.scss +2 -2
- package/styles/core/core.css +0 -160
- package/styles/core/core.min.css +1 -1
- package/styles/core/jkl/_spacing.scss +1 -62
- package/styles/core/jkl/_typography.scss +21 -91
- package/styles/shared/input/shared-input-styles.css +6 -4
- package/styles/shared/input/shared-input-styles.min.css +5 -1
- package/styles/shared/input/shared-input-styles.scss +15 -11
- package/styles/styles.css +265 -766
- package/styles/styles.min.css +5 -7
- package/styles/styles.scss +0 -1
- package/build/cjs/components/ScreenReaderOnly.cjs.map +0 -1
- package/build/cjs/components/ScreenReaderOnly.d.cts +0 -6
- package/build/cjs/components/accordion/Accordion.cjs +0 -2
- package/build/cjs/components/accordion/Accordion.cjs.map +0 -1
- package/build/cjs/components/accordion/Accordion.d.cts +0 -7
- package/build/cjs/components/accordion/AccordionItem.cjs +0 -2
- package/build/cjs/components/accordion/AccordionItem.cjs.map +0 -1
- package/build/cjs/components/accordion/AccordionItem.d.cts +0 -7
- package/build/cjs/components/accordion/documentation/AccordionDocs.cjs +0 -2
- package/build/cjs/components/accordion/documentation/AccordionDocs.cjs.map +0 -1
- package/build/cjs/components/accordion/documentation/AccordionDocs.d.cts +0 -2
- package/build/cjs/components/accordion/index.cjs +0 -2
- package/build/cjs/components/accordion/index.d.cts +0 -3
- package/build/cjs/components/accordion/stories/Accordion.stories.cjs +0 -2
- package/build/cjs/components/accordion/stories/Accordion.stories.cjs.map +0 -1
- package/build/cjs/components/accordion/stories/AccordionItem.stories.cjs +0 -2
- package/build/cjs/components/accordion/stories/AccordionItem.stories.cjs.map +0 -1
- package/build/cjs/components/accordion/types.d.cts +0 -13
- package/build/cjs/components/accordion/vite-env.d.cjs +0 -2
- package/build/cjs/components/accordion/vite-env.d.cjs.map +0 -1
- package/build/cjs/components/card/InfoCard.cjs +0 -2
- package/build/cjs/components/card/InfoCard.cjs.map +0 -1
- package/build/cjs/components/card/InfoCard.d.cts +0 -13
- package/build/cjs/components/card/NavCard.cjs +0 -2
- package/build/cjs/components/card/NavCard.cjs.map +0 -1
- package/build/cjs/components/card/NavCard.d.cts +0 -26
- package/build/cjs/components/card/TaskCard.cjs +0 -2
- package/build/cjs/components/card/TaskCard.cjs.map +0 -1
- package/build/cjs/components/card/TaskCard.d.cts +0 -23
- package/build/cjs/components/card/development/examples/InfoCardExample.d.cts +0 -3
- package/build/cjs/components/card/development/examples/NavCardExample.d.cts +0 -3
- package/build/cjs/components/card/development/examples/TaskCardExample.d.cts +0 -3
- package/build/cjs/components/card/development/examples/TopExample.d.cts +0 -3
- package/build/cjs/components/card/development/examples/cardExampleProps.d.cts +0 -13
- package/build/cjs/components/card/utils.cjs +0 -2
- package/build/cjs/components/card/utils.cjs.map +0 -1
- package/build/cjs/components/card/utils.d.cts +0 -3
- package/build/cjs/components/expander/deprecated/ExpandSection.cjs +0 -2
- package/build/cjs/components/expander/deprecated/ExpandSection.cjs.map +0 -1
- package/build/cjs/components/expander/deprecated/ExpandSection.d.cts +0 -26
- package/build/cjs/components/expander/deprecated/Expander.cjs +0 -2
- package/build/cjs/components/expander/deprecated/Expander.cjs.map +0 -1
- package/build/cjs/components/expander/deprecated/Expander.d.cts +0 -27
- package/build/cjs/components/expander/stories/ExpanderPanel.stories.cjs.map +0 -1
- package/build/cjs/components/index.cjs +0 -2
- package/build/cjs/components/index.cjs.map +0 -1
- package/build/cjs/components/index.d.cts +0 -47
- package/build/es/components/ScreenReaderOnly.d.ts +0 -6
- package/build/es/components/ScreenReaderOnly.js.map +0 -1
- package/build/es/components/accordion/Accordion.d.ts +0 -7
- package/build/es/components/accordion/Accordion.js +0 -2
- package/build/es/components/accordion/Accordion.js.map +0 -1
- package/build/es/components/accordion/AccordionItem.d.ts +0 -7
- package/build/es/components/accordion/AccordionItem.js +0 -2
- package/build/es/components/accordion/AccordionItem.js.map +0 -1
- package/build/es/components/accordion/documentation/AccordionDocs.d.ts +0 -2
- package/build/es/components/accordion/documentation/AccordionDocs.js +0 -2
- package/build/es/components/accordion/documentation/AccordionDocs.js.map +0 -1
- package/build/es/components/accordion/index.d.ts +0 -3
- package/build/es/components/accordion/index.js +0 -2
- package/build/es/components/accordion/stories/Accordion.stories.d.ts +0 -13
- package/build/es/components/accordion/stories/Accordion.stories.js +0 -2
- package/build/es/components/accordion/stories/Accordion.stories.js.map +0 -1
- package/build/es/components/accordion/stories/AccordionItem.stories.d.ts +0 -13
- package/build/es/components/accordion/stories/AccordionItem.stories.js +0 -2
- package/build/es/components/accordion/stories/AccordionItem.stories.js.map +0 -1
- package/build/es/components/accordion/types.d.ts +0 -13
- package/build/es/components/accordion/vite-env.d.js +0 -2
- package/build/es/components/accordion/vite-env.d.js.map +0 -1
- package/build/es/components/card/InfoCard.d.ts +0 -13
- package/build/es/components/card/InfoCard.js +0 -2
- package/build/es/components/card/InfoCard.js.map +0 -1
- package/build/es/components/card/NavCard.d.ts +0 -26
- package/build/es/components/card/NavCard.js +0 -2
- package/build/es/components/card/NavCard.js.map +0 -1
- package/build/es/components/card/TaskCard.d.ts +0 -23
- package/build/es/components/card/TaskCard.js +0 -2
- package/build/es/components/card/TaskCard.js.map +0 -1
- package/build/es/components/card/development/examples/InfoCardExample.d.ts +0 -3
- package/build/es/components/card/development/examples/NavCardExample.d.ts +0 -3
- package/build/es/components/card/development/examples/TaskCardExample.d.ts +0 -3
- package/build/es/components/card/development/examples/TopExample.d.ts +0 -3
- package/build/es/components/card/development/examples/cardExampleProps.d.ts +0 -13
- package/build/es/components/card/utils.d.ts +0 -3
- package/build/es/components/card/utils.js +0 -2
- package/build/es/components/card/utils.js.map +0 -1
- package/build/es/components/expander/deprecated/ExpandSection.d.ts +0 -26
- package/build/es/components/expander/deprecated/ExpandSection.js +0 -2
- package/build/es/components/expander/deprecated/ExpandSection.js.map +0 -1
- package/build/es/components/expander/deprecated/Expander.d.ts +0 -27
- package/build/es/components/expander/deprecated/Expander.js +0 -2
- package/build/es/components/expander/deprecated/Expander.js.map +0 -1
- package/build/es/components/expander/stories/ExpanderPanel.stories.js.map +0 -1
- package/build/es/components/index.d.ts +0 -47
- package/build/es/components/index.js +0 -2
- package/build/es/components/index.js.map +0 -1
- package/styles/components/accordion/_index.scss +0 -2
- package/styles/components/accordion/accordion.css +0 -189
- package/styles/components/accordion/accordion.min.css +0 -7
- package/styles/components/accordion/accordion.scss +0 -168
- package/styles/components/card/_info-card.scss +0 -42
- package/styles/components/card/_nav-card.scss +0 -119
- package/styles/components/card/_task-card.scss +0 -55
- package/styles/components/card/development/info-card-example.css +0 -26
- package/styles/components/card/development/info-card-example.min.css +0 -1
- package/styles/components/card/development/info-card-example.scss +0 -14
- package/styles/components/card/development/task-card-example.css +0 -9
- package/styles/components/card/development/task-card-example.min.css +0 -1
- package/styles/components/card/development/task-card-example.scss +0 -8
- package/styles/components/expander/deprecated/expander.css +0 -82
- package/styles/components/expander/deprecated/expander.min.css +0 -1
- package/styles/components/expander/deprecated/expander.scss +0 -87
- /package/build/cjs/components/expander/stories/{ExpanderPanel.stories.d.cts → ExpandablePanel.stories.d.cts} +0 -0
- /package/build/cjs/components/{ScreenReaderOnly.cjs → screen-reader-only/ScreenReaderOnly.cjs} +0 -0
- /package/build/cjs/components/{accordion → screen-reader-only}/index.cjs.map +0 -0
- /package/build/cjs/components/{accordion → screen-reader-only}/types.cjs +0 -0
- /package/build/cjs/components/{accordion → screen-reader-only}/types.cjs.map +0 -0
- /package/build/es/components/expander/stories/{ExpanderPanel.stories.d.ts → ExpandablePanel.stories.d.ts} +0 -0
- /package/build/es/components/{ScreenReaderOnly.js → screen-reader-only/ScreenReaderOnly.js} +0 -0
- /package/build/es/components/{accordion → screen-reader-only}/index.js.map +0 -0
- /package/build/es/components/{accordion → screen-reader-only}/types.js +0 -0
- /package/build/es/components/{accordion → screen-reader-only}/types.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIntersectionObserver.cjs","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.ts"],"sourcesContent":["import {\n type MutableRefObject,\n type RefObject,\n useEffect,\n useRef,\n} from \"react\";\n\ntype ValidElement = HTMLElement | SVGElement;\ntype Target =\n | MutableRefObject<ValidElement>\n | RefObject<ValidElement>\n | MutableRefObject<NodeListOf<ValidElement>>\n | RefObject<NodeListOf<ValidElement>>\n | NodeListOf<ValidElement>;\n\nfunction isNodeList(\n target: Target | ValidElement,\n): target is NodeListOf<ValidElement> {\n return (target as NodeListOf<ValidElement>).forEach !== undefined;\n}\n\nconst hasWindowWithIntersectionObserver = () =>\n typeof window !== \"undefined\" &&\n typeof IntersectionObserver !== \"undefined\";\n\n/**\n * Hook som gjør det enkelt å observere om et element er synlig i viewporten.\n *\n * @param target Elementet eller elementene som skal observeres. Du kan sende in en React ref til et HTMLElement eller SVG Element, eller en NodeList av samme type elementer (returneres f.eks. av document.querySelectorAll), eller en React ref med en NodeList av samme type elementer.\n * @param onIntersect Callback-funksjon som utføres når et av elementene som observeres overlapper angitt mål. Se https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/IntersectionObserver#parameters for mer info.\n * @param fallback Funksjon som kalles dersom nettleseren ikke støtter IntersectionOpserver-APIet.\n * @param options Objekt med innstillinger for oberveren. Se https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/IntersectionObserver#parameters for mer info.\n */\nexport const useIntersectionObserver = (\n target: Target,\n onIntersect: IntersectionObserverCallback,\n fallback?: VoidFunction | null,\n options?: Partial<IntersectionObserverInit>,\n): void => {\n const observerRef = useRef<IntersectionObserver>(null);\n\n useEffect(() => {\n let observer = observerRef.current;\n\n if (hasWindowWithIntersectionObserver()) {\n if (observer) {\n observer.disconnect();\n }\n\n observer = new IntersectionObserver(onIntersect, options);\n\n if (isNodeList(target)) {\n for (const element of target) {\n observer?.observe(element);\n }\n } else if (target.current && isNodeList(target.current)) {\n for (const element of target.current) {\n observer?.observe(element);\n }\n } else if (target.current) {\n observer.observe(target.current);\n }\n } else if (fallback) {\n fallback();\n }\n\n return () => {\n if (hasWindowWithIntersectionObserver() && observer) {\n observer.disconnect();\n }\n };\n }, [target, onIntersect, fallback, options]);\n};\n"],"names":["isNodeList","target","forEach","hasWindowWithIntersectionObserver","window","IntersectionObserver","onIntersect","fallback","options","observerRef","useRef","useEffect","observer","current","disconnect","element","observe"],"mappings":"yGAeA,SAASA,EACLC,GAEA,YAAwD,IAAhDA,EAAoCC,OAChD,CAEA,MAAMC,EAAoC,WAC/BC,OAAW,YACXC,qBAAyB,oCAUG,CACnCJ,EACAK,EACAC,EACAC,KAEM,MAAAC,EAAcC,SAA6B,MAEjDC,EAAAA,WAAU,KACN,IAAIC,EAAWH,EAAYI,QAE3B,GAAIV,IAOI,GANAS,GACAA,EAASE,aAGFF,EAAA,IAAIP,qBAAqBC,EAAaE,GAE7CR,EAAWC,GACX,IAAA,MAAWc,KAAWd,
|
|
1
|
+
{"version":3,"file":"useIntersectionObserver.cjs","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.ts"],"sourcesContent":["import {\n type MutableRefObject,\n type RefObject,\n useEffect,\n useRef,\n} from \"react\";\n\ntype ValidElement = HTMLElement | SVGElement;\ntype Target =\n | MutableRefObject<ValidElement>\n | RefObject<ValidElement>\n | MutableRefObject<NodeListOf<ValidElement>>\n | RefObject<NodeListOf<ValidElement>>\n | NodeListOf<ValidElement>;\n\nfunction isNodeList(\n target: Target | ValidElement,\n): target is NodeListOf<ValidElement> {\n return (target as NodeListOf<ValidElement>).forEach !== undefined;\n}\n\nconst hasWindowWithIntersectionObserver = () =>\n typeof window !== \"undefined\" &&\n typeof IntersectionObserver !== \"undefined\";\n\n/**\n * Hook som gjør det enkelt å observere om et element er synlig i viewporten.\n *\n * @param target Elementet eller elementene som skal observeres. Du kan sende in en React ref til et HTMLElement eller SVG Element, eller en NodeList av samme type elementer (returneres f.eks. av document.querySelectorAll), eller en React ref med en NodeList av samme type elementer.\n * @param onIntersect Callback-funksjon som utføres når et av elementene som observeres overlapper angitt mål. Se https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/IntersectionObserver#parameters for mer info.\n * @param fallback Funksjon som kalles dersom nettleseren ikke støtter IntersectionOpserver-APIet.\n * @param options Objekt med innstillinger for oberveren. Se https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/IntersectionObserver#parameters for mer info.\n */\nexport const useIntersectionObserver = (\n target: Target,\n onIntersect: IntersectionObserverCallback,\n fallback?: VoidFunction | null,\n options?: Partial<IntersectionObserverInit>,\n): void => {\n const observerRef = useRef<IntersectionObserver>(null);\n\n useEffect(() => {\n let observer = observerRef.current;\n\n if (hasWindowWithIntersectionObserver()) {\n if (observer) {\n observer.disconnect();\n }\n\n observer = new IntersectionObserver(onIntersect, options);\n\n if (isNodeList(target)) {\n for (const element of target) {\n observer?.observe(element);\n }\n } else if (target.current && isNodeList(target.current)) {\n for (const element of target.current) {\n observer?.observe(element);\n }\n } else if (target.current) {\n observer.observe(target.current);\n }\n } else if (fallback) {\n fallback();\n }\n\n return () => {\n if (hasWindowWithIntersectionObserver() && observer) {\n observer.disconnect();\n }\n };\n }, [target, onIntersect, fallback, options]);\n};\n"],"names":["isNodeList","target","forEach","hasWindowWithIntersectionObserver","window","IntersectionObserver","onIntersect","fallback","options","observerRef","useRef","useEffect","observer","current","disconnect","element","observe"],"mappings":"yGAeA,SAASA,EACLC,GAEA,YAAwD,IAAhDA,EAAoCC,OAChD,CAEA,MAAMC,EAAoC,WAC/BC,OAAW,YACXC,qBAAyB,oCAUG,CACnCJ,EACAK,EACAC,EACAC,KAEM,MAAAC,EAAcC,SAA6B,MAEjDC,EAAAA,WAAU,KACN,IAAIC,EAAWH,EAAYI,QAE3B,GAAIV,IAOI,GANAS,GACAA,EAASE,aAGFF,EAAA,IAAIP,qBAAqBC,EAAaE,GAE7CR,EAAWC,GACX,IAAA,MAAWc,KAAWd,EAClBW,GAAUI,QAAQD,QAAO,GAEtBd,EAAOY,SAAWb,EAAWC,EAAOY,SAChC,IAAAE,MAAAA,KAAWd,EAAOY,QACzBD,GAAUI,QAAQD,QAEfd,EAAOY,SACLD,EAAAI,QAAQf,EAAOY,cAErBN,GACEA,IAGb,MAAO,KACCJ,KAAuCS,GACvCA,EAASE,YAAW,CAE5B,GACD,CAACb,EAAQK,EAAaC,EAAUC,GAAQ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react");exports.useKeyListener=function(t,n,r){function o(e){n&&!n.includes(e.key)||r(e)}"string"==typeof n&&(n=[n]),e.useEffect((()=>{const e=
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react");exports.useKeyListener=function(t,n,r){function o(e){n&&!n.includes(e.key)||r(e)}"string"==typeof n&&(n=[n]),e.useEffect((()=>{const e=t?.current;return e&&e.addEventListener("keydown",o),()=>{e&&e.removeEventListener("keydown",o)}}))};
|
|
2
2
|
//# sourceMappingURL=useKeyListener.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyListener.cjs","sources":["../../../../src/hooks/useKeyListener/useKeyListener.ts"],"sourcesContent":["import { type RefObject, useEffect } from \"react\";\n\n/**\n * Lar deg sette opp en tastaturlytter på et element.\n * @param ref Element som skal observeres\n * @param keys Taster som skal lyttes på\n * @param fn Funksjon som kalles når en tastetrykk observeres\n */\nexport function useKeyListener(\n ref: RefObject<HTMLElement | null> | null,\n keys: string[] | string | null,\n fn: (event: KeyboardEvent) => void,\n): void {\n if (typeof keys === \"string\") {\n // biome-ignore lint/style/noParameterAssign: Dette er helt greit å forstå\n keys = [keys];\n }\n function handleKeyDown(event: KeyboardEvent) {\n if (keys && !keys.includes(event.key)) {\n return;\n }\n fn(event);\n }\n\n useEffect(() => {\n const element = ref?.current;\n if (element) {\n element.addEventListener(\"keydown\", handleKeyDown);\n }\n return () => {\n if (element) {\n element.removeEventListener(\"keydown\", handleKeyDown);\n }\n };\n });\n}\n"],"names":["ref","keys","fn","handleKeyDown","event","includes","key","useEffect","element","current","addEventListener","removeEventListener"],"mappings":"gIAQgB,SACZA,EACAC,EACAC,GAMA,SAASC,EAAcC,GACfH,IAASA,EAAKI,SAASD,EAAME,MAGjCJ,EAAGE,EAAK,CARQ,iBAATH,IAEPA,EAAO,CAACA,IASZM,EAAAA,WAAU,KACN,MAAMC,
|
|
1
|
+
{"version":3,"file":"useKeyListener.cjs","sources":["../../../../src/hooks/useKeyListener/useKeyListener.ts"],"sourcesContent":["import { type RefObject, useEffect } from \"react\";\n\n/**\n * Lar deg sette opp en tastaturlytter på et element.\n * @param ref Element som skal observeres\n * @param keys Taster som skal lyttes på\n * @param fn Funksjon som kalles når en tastetrykk observeres\n */\nexport function useKeyListener(\n ref: RefObject<HTMLElement | null> | null,\n keys: string[] | string | null,\n fn: (event: KeyboardEvent) => void,\n): void {\n if (typeof keys === \"string\") {\n // biome-ignore lint/style/noParameterAssign: Dette er helt greit å forstå\n keys = [keys];\n }\n function handleKeyDown(event: KeyboardEvent) {\n if (keys && !keys.includes(event.key)) {\n return;\n }\n fn(event);\n }\n\n useEffect(() => {\n const element = ref?.current;\n if (element) {\n element.addEventListener(\"keydown\", handleKeyDown);\n }\n return () => {\n if (element) {\n element.removeEventListener(\"keydown\", handleKeyDown);\n }\n };\n });\n}\n"],"names":["ref","keys","fn","handleKeyDown","event","includes","key","useEffect","element","current","addEventListener","removeEventListener"],"mappings":"gIAQgB,SACZA,EACAC,EACAC,GAMA,SAASC,EAAcC,GACfH,IAASA,EAAKI,SAASD,EAAME,MAGjCJ,EAAGE,EAAK,CARQ,iBAATH,IAEPA,EAAO,CAACA,IASZM,EAAAA,WAAU,KACN,MAAMC,EAAUR,GAAKS,QACrB,OAAID,GACQA,EAAAE,iBAAiB,UAAWP,GAEjC,KACCK,GACQA,EAAAG,oBAAoB,UAAWR,EAAa,CAE5D,GAER"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react");exports.useScrollIntoView=({ref:t,timeout:r=0,autoScroll:o=!0,options:u={behavior:"smooth"}})=>{const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react");exports.useScrollIntoView=({ref:t,timeout:r=0,autoScroll:o=!0,options:u={behavior:"smooth"}})=>{const c=()=>{t?.current&&t.current.scrollIntoView(u)};return e.useEffect((()=>{if(!o)return;const e=setTimeout(c,r);return()=>clearTimeout(e)}),[t,r,o]),[c]};
|
|
2
2
|
//# sourceMappingURL=useScrollIntoView.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollIntoView.cjs","sources":["../../../../src/hooks/useScrollIntoView/useScrollIntoView.tsx"],"sourcesContent":["import { type RefObject, useEffect } from \"react\";\n\ntype ValueOf<T> = T[keyof T];\n\nexport interface ScrollIntoViewProps {\n ref: RefObject<ValueOf<HTMLElementTagNameMap> | null> | null;\n timeout?: number;\n autoScroll?: boolean;\n options?: ScrollIntoViewOptions;\n}\n\ntype ScrollFunction = () => void;\n\nexport const useScrollIntoView = ({\n ref,\n timeout = 0,\n autoScroll = true,\n options = { behavior: \"smooth\" },\n}: ScrollIntoViewProps): [ScrollFunction] => {\n const scrollIntoView: ScrollFunction = () => {\n if (ref?.current) {\n ref.current.scrollIntoView(options);\n }\n };\n\n // biome-ignore lint/correctness/useExhaustiveDependencies:\n useEffect(() => {\n if (!autoScroll) {\n return;\n }\n const scrollFn = setTimeout(scrollIntoView, timeout);\n return () => clearTimeout(scrollFn);\n }, [ref, timeout, autoScroll]);\n\n return [scrollIntoView];\n};\n"],"names":["ref","timeout","autoScroll","options","behavior","scrollIntoView","current","useEffect","scrollFn","setTimeout","clearTimeout"],"mappings":"mIAaiC,EAC7BA,IAAAA,EACAC,QAAAA,EAAU,EACVC,WAAAA,GAAa,EACbC,QAAAA,EAAU,CAAEC,SAAU,cAEtB,MAAMC,EAAiC,KAC/
|
|
1
|
+
{"version":3,"file":"useScrollIntoView.cjs","sources":["../../../../src/hooks/useScrollIntoView/useScrollIntoView.tsx"],"sourcesContent":["import { type RefObject, useEffect } from \"react\";\n\ntype ValueOf<T> = T[keyof T];\n\nexport interface ScrollIntoViewProps {\n ref: RefObject<ValueOf<HTMLElementTagNameMap> | null> | null;\n timeout?: number;\n autoScroll?: boolean;\n options?: ScrollIntoViewOptions;\n}\n\ntype ScrollFunction = () => void;\n\nexport const useScrollIntoView = ({\n ref,\n timeout = 0,\n autoScroll = true,\n options = { behavior: \"smooth\" },\n}: ScrollIntoViewProps): [ScrollFunction] => {\n const scrollIntoView: ScrollFunction = () => {\n if (ref?.current) {\n ref.current.scrollIntoView(options);\n }\n };\n\n // biome-ignore lint/correctness/useExhaustiveDependencies:\n useEffect(() => {\n if (!autoScroll) {\n return;\n }\n const scrollFn = setTimeout(scrollIntoView, timeout);\n return () => clearTimeout(scrollFn);\n }, [ref, timeout, autoScroll]);\n\n return [scrollIntoView];\n};\n"],"names":["ref","timeout","autoScroll","options","behavior","scrollIntoView","current","useEffect","scrollFn","setTimeout","clearTimeout"],"mappings":"mIAaiC,EAC7BA,IAAAA,EACAC,QAAAA,EAAU,EACVC,WAAAA,GAAa,EACbC,QAAAA,EAAU,CAAEC,SAAU,cAEtB,MAAMC,EAAiC,KAC/BL,GAAKM,SACDN,EAAAM,QAAQD,eAAeF,EAAO,EAK1CI,OAAAA,EAAAA,WAAU,KACN,IAAKL,EACD,OAEE,MAAAM,EAAWC,WAAWJ,EAAgBJ,GACrC,MAAA,IAAMS,aAAaF,EAAQ,GACnC,CAACR,EAAKC,EAASC,IAEX,CAACG,EAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react");function r(e){return{x:e.clientX,y:e.clientY}}exports.useSwipeGesture=function(n){const t=e.useRef(!1),o=e.useRef(),{onClick:u,onChange:c,onPointerCancel:i,onPointerDown:a,onPointerMove:l,onPointerUp:s}=n,p=e.useCallback((e=>{t.current||u?.(e),t.current=!1}),[u]),f=e.useCallback((e=>{e.preventDefault(),e.target.setPointerCapture?.(e.pointerId),o.current=r(e),t.current=!1,a?.(e)}),[a]),C=e.useCallback((e=>{if(e.preventDefault(),!o.current)return;const{x:n}=r(e),{x:u}=o.current;n-u>10&&c&&"on"!==t.current?(c(e,!0),t.current="on",o.current=r(e)):u-n>10&&c&&"off"!==t.current&&(c(e,!1),t.current="off",o.current=r(e)),l?.(e)}),[l,c]),P=e.useCallback((e=>{e.preventDefault(),e.target.releasePointerCapture?.(e.pointerId),o.current=void 0,"pointerup"===e.type?s?.(e):i?.(e)}),[s,i]);return{swipeHandled:t,gestureHandlers:{onClick:p,onPointerDown:f,onPointerMove:C,onPointerUp:P,onPointerCancel:P}}};
|
|
2
2
|
//# sourceMappingURL=useSwipeGesture.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwipeGesture.cjs","sources":["../../../../src/hooks/useSwipeGesture/useSwipeGesture.ts"],"sourcesContent":["import {\n type MouseEventHandler,\n type MutableRefObject,\n type PointerEventHandler,\n useCallback,\n useRef,\n} from \"react\";\n\nexport type SwipeChangeHandler<T extends HTMLElement> = (\n event: React.MouseEvent<T> | React.PointerEvent<T>,\n pressed: boolean,\n) => void;\n\ntype Point = { x: number; y: number };\n\nfunction getGesturePointFromEvent<T extends HTMLElement>(\n event: React.PointerEvent<T>,\n): Point {\n return {\n x: event.clientX,\n y: event.clientY,\n };\n}\n\ntype SwipeGestureOptions<T extends HTMLElement> = {\n onClick?: MouseEventHandler<T>;\n onChange?: SwipeChangeHandler<T>;\n onPointerDown?: PointerEventHandler<T>;\n onPointerUp?: PointerEventHandler<T>;\n onPointerMove?: PointerEventHandler<T>;\n onPointerCancel?: PointerEventHandler<T>;\n};\n\n/**\n * Logikk for å håndtere en swipe, for eksempel brukt i toggle switch.\n *\n * @param options Callbacks for de ulike stegene i en swipe-gesture\n * @returns Handlers for de ulike stegene i en swipe-gesture\n */\nexport function useSwipeGesture<T extends HTMLElement>(\n options: SwipeGestureOptions<T>,\n): {\n swipeHandled: MutableRefObject<\"on\" | \"off\" | false>;\n gestureHandlers: {\n onClick: MouseEventHandler<T>;\n onPointerDown: PointerEventHandler<T>;\n onPointerMove: PointerEventHandler<T>;\n onPointerUp: PointerEventHandler<T>;\n onPointerCancel: PointerEventHandler<T>;\n };\n} {\n const swipeHandled = useRef<\"on\" | \"off\" | false>(false);\n const gestureStartPosition = useRef<Point>();\n\n const {\n onClick,\n onChange,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n } = options;\n\n const handleClick: MouseEventHandler<T> = useCallback(\n (event) => {\n if (!swipeHandled.current) {\n onClick?.(event);\n }\n swipeHandled.current = false; // sørg for at vi får klikke igjen etter swipes\n },\n [onClick],\n );\n\n const handleGestureStart: PointerEventHandler<T> = useCallback(\n (event) => {\n event.preventDefault();\n\n (event.target as T).setPointerCapture?.(event.pointerId);\n gestureStartPosition.current = getGesturePointFromEvent(event);\n swipeHandled.current = false;\n\n onPointerDown?.(event);\n },\n [onPointerDown],\n );\n\n const handleGestureMove: PointerEventHandler<T> = useCallback(\n (event) => {\n event.preventDefault();\n\n if (!gestureStartPosition.current) {\n return;\n }\n\n const { x: currentX } = getGesturePointFromEvent(event);\n const { x: startX } = gestureStartPosition.current;\n\n if (\n currentX - startX > 10 &&\n onChange &&\n swipeHandled.current !== \"on\"\n ) {\n onChange(event, true);\n swipeHandled.current = \"on\";\n gestureStartPosition.current = getGesturePointFromEvent(event);\n } else if (\n startX - currentX > 10 &&\n onChange &&\n swipeHandled.current !== \"off\"\n ) {\n onChange(event, false);\n swipeHandled.current = \"off\";\n gestureStartPosition.current = getGesturePointFromEvent(event);\n }\n\n onPointerMove?.(event);\n },\n [onPointerMove, onChange],\n );\n\n const handleGestureEnd: PointerEventHandler<T> = useCallback(\n (event) => {\n event.preventDefault();\n\n (event.target as T).releasePointerCapture?.(event.pointerId);\n gestureStartPosition.current = undefined;\n\n event.type === \"pointerup\"\n ? onPointerUp?.(event)\n : onPointerCancel?.(event);\n },\n [onPointerUp, onPointerCancel],\n );\n\n return {\n swipeHandled,\n gestureHandlers: {\n onClick: handleClick,\n onPointerDown: handleGestureStart,\n onPointerMove: handleGestureMove,\n onPointerUp: handleGestureEnd,\n onPointerCancel: handleGestureEnd,\n },\n };\n}\n"],"names":["getGesturePointFromEvent","event","x","clientX","y","clientY","options","swipeHandled","useRef","gestureStartPosition","onClick","onChange","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","handleClick","useCallback","current","handleGestureStart","preventDefault","
|
|
1
|
+
{"version":3,"file":"useSwipeGesture.cjs","sources":["../../../../src/hooks/useSwipeGesture/useSwipeGesture.ts"],"sourcesContent":["import {\n type MouseEventHandler,\n type MutableRefObject,\n type PointerEventHandler,\n useCallback,\n useRef,\n} from \"react\";\n\nexport type SwipeChangeHandler<T extends HTMLElement> = (\n event: React.MouseEvent<T> | React.PointerEvent<T>,\n pressed: boolean,\n) => void;\n\ntype Point = { x: number; y: number };\n\nfunction getGesturePointFromEvent<T extends HTMLElement>(\n event: React.PointerEvent<T>,\n): Point {\n return {\n x: event.clientX,\n y: event.clientY,\n };\n}\n\ntype SwipeGestureOptions<T extends HTMLElement> = {\n onClick?: MouseEventHandler<T>;\n onChange?: SwipeChangeHandler<T>;\n onPointerDown?: PointerEventHandler<T>;\n onPointerUp?: PointerEventHandler<T>;\n onPointerMove?: PointerEventHandler<T>;\n onPointerCancel?: PointerEventHandler<T>;\n};\n\n/**\n * Logikk for å håndtere en swipe, for eksempel brukt i toggle switch.\n *\n * @param options Callbacks for de ulike stegene i en swipe-gesture\n * @returns Handlers for de ulike stegene i en swipe-gesture\n */\nexport function useSwipeGesture<T extends HTMLElement>(\n options: SwipeGestureOptions<T>,\n): {\n swipeHandled: MutableRefObject<\"on\" | \"off\" | false>;\n gestureHandlers: {\n onClick: MouseEventHandler<T>;\n onPointerDown: PointerEventHandler<T>;\n onPointerMove: PointerEventHandler<T>;\n onPointerUp: PointerEventHandler<T>;\n onPointerCancel: PointerEventHandler<T>;\n };\n} {\n const swipeHandled = useRef<\"on\" | \"off\" | false>(false);\n const gestureStartPosition = useRef<Point>();\n\n const {\n onClick,\n onChange,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n } = options;\n\n const handleClick: MouseEventHandler<T> = useCallback(\n (event) => {\n if (!swipeHandled.current) {\n onClick?.(event);\n }\n swipeHandled.current = false; // sørg for at vi får klikke igjen etter swipes\n },\n [onClick],\n );\n\n const handleGestureStart: PointerEventHandler<T> = useCallback(\n (event) => {\n event.preventDefault();\n\n (event.target as T).setPointerCapture?.(event.pointerId);\n gestureStartPosition.current = getGesturePointFromEvent(event);\n swipeHandled.current = false;\n\n onPointerDown?.(event);\n },\n [onPointerDown],\n );\n\n const handleGestureMove: PointerEventHandler<T> = useCallback(\n (event) => {\n event.preventDefault();\n\n if (!gestureStartPosition.current) {\n return;\n }\n\n const { x: currentX } = getGesturePointFromEvent(event);\n const { x: startX } = gestureStartPosition.current;\n\n if (\n currentX - startX > 10 &&\n onChange &&\n swipeHandled.current !== \"on\"\n ) {\n onChange(event, true);\n swipeHandled.current = \"on\";\n gestureStartPosition.current = getGesturePointFromEvent(event);\n } else if (\n startX - currentX > 10 &&\n onChange &&\n swipeHandled.current !== \"off\"\n ) {\n onChange(event, false);\n swipeHandled.current = \"off\";\n gestureStartPosition.current = getGesturePointFromEvent(event);\n }\n\n onPointerMove?.(event);\n },\n [onPointerMove, onChange],\n );\n\n const handleGestureEnd: PointerEventHandler<T> = useCallback(\n (event) => {\n event.preventDefault();\n\n (event.target as T).releasePointerCapture?.(event.pointerId);\n gestureStartPosition.current = undefined;\n\n event.type === \"pointerup\"\n ? onPointerUp?.(event)\n : onPointerCancel?.(event);\n },\n [onPointerUp, onPointerCancel],\n );\n\n return {\n swipeHandled,\n gestureHandlers: {\n onClick: handleClick,\n onPointerDown: handleGestureStart,\n onPointerMove: handleGestureMove,\n onPointerUp: handleGestureEnd,\n onPointerCancel: handleGestureEnd,\n },\n };\n}\n"],"names":["getGesturePointFromEvent","event","x","clientX","y","clientY","options","swipeHandled","useRef","gestureStartPosition","onClick","onChange","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","handleClick","useCallback","current","handleGestureStart","preventDefault","target","setPointerCapture","pointerId","handleGestureMove","currentX","startX","handleGestureEnd","releasePointerCapture","type","gestureHandlers"],"mappings":"yGAeA,SAASA,EACLC,GAEO,MAAA,CACHC,EAAGD,EAAME,QACTC,EAAGH,EAAMI,QAEjB,yBAiBO,SACHC,GAWM,MAAAC,EAAeC,UAA6B,GAC5CC,EAAuBD,EAAAA,UAGzBE,QAAAA,EACAC,SAAAA,EACAC,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,GACAT,EAEEU,EAAoCC,EAAAA,aACrChB,IACQM,EAAaW,SACdR,IAAUT,GAEdM,EAAaW,SAAU,CAAA,GAE3B,CAACR,IAGCS,EAA6CF,EAAAA,aAC9ChB,IACGA,EAAMmB,iBAELnB,EAAMoB,OAAaC,oBAAoBrB,EAAMsB,WACzBd,EAAAS,QAAUlB,EAAyBC,GACxDM,EAAaW,SAAU,EAEvBL,IAAgBZ,EAAK,GAEzB,CAACY,IAGCW,EAA4CP,EAAAA,aAC7ChB,IAGO,GAFJA,EAAMmB,kBAEDX,EAAqBS,QACtB,OAGJ,MAAQhB,EAAGuB,GAAazB,EAAyBC,IACzCC,EAAGwB,GAAWjB,EAAqBS,QAGvCO,EAAWC,EAAS,IACpBf,GACyB,OAAzBJ,EAAaW,SAEbP,EAASV,GAAO,GAChBM,EAAaW,QAAU,KACFT,EAAAS,QAAUlB,EAAyBC,IAExDyB,EAASD,EAAW,IACpBd,GACyB,QAAzBJ,EAAaW,UAEbP,EAASV,GAAO,GAChBM,EAAaW,QAAU,MACFT,EAAAS,QAAUlB,EAAyBC,IAG5Da,IAAgBb,EAAK,GAEzB,CAACa,EAAeH,IAGdgB,EAA2CV,EAAAA,aAC5ChB,IACGA,EAAMmB,iBAELnB,EAAMoB,OAAaO,wBAAwB3B,EAAMsB,WAClDd,EAAqBS,aAAU,EAEhB,cAAfjB,EAAM4B,KACAd,IAAcd,GACdW,IAAkBX,EAAK,GAEjC,CAACc,EAAaH,IAGX,MAAA,CACHL,aAAAA,EACAuB,gBAAiB,CACbpB,QAASM,EACTH,cAAeM,EACfL,cAAeU,EACfT,YAAaY,EACbf,gBAAiBe,GAG7B"}
|
package/build/cjs/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/accordion/Accordion.cjs"),o=require("./components/accordion/AccordionItem.cjs"),r=require("./components/autosuggest/Autosuggest.cjs"),s=require("./components/breadcrumb/Breadcrumb.cjs"),t=require("./components/breadcrumb/BreadcrumbItem.cjs"),n=require("./components/button/Button.cjs"),i=require("./components/card/Card.cjs"),a=require("./components/card/CardImage.cjs"),c=require("./components/card/NavCard.cjs"),u=require("./components/card/TaskCard.cjs"),p=require("./components/card/InfoCard.cjs"),m=require("./components/checkbox-panel/CheckboxPanel.cjs"),l=require("./components/checkbox/Checkbox.cjs"),x=require("./components/chip/Chip.cjs"),d=require("./components/combobox/Combobox.cjs"),g=require("./components/cookie-consent/CookieConsent.cjs"),j=require("./components/cookie-consent/CookieConsentContext.cjs"),b=require("./components/countdown/Countdown.cjs"),q=require("./components/datepicker/DatePicker.cjs"),I=require("./components/datepicker/validation.cjs"),T=require("./components/datepicker/utils.cjs"),k=require("./components/description-list/DescriptionList.cjs"),h=require("./components/expander/ExpandablePanel.cjs"),C=require("./components/expander/Expander.cjs"),S=require("./components/expander/deprecated/ExpandSection.cjs"),v=require("./components/feedback/Feedback.cjs"),M=require("./components/feedback/presets.cjs"),A=require("./components/file-input/FileInput.cjs"),f=require("./components/file-input/utils.cjs"),E=require("./components/flex/Flex.cjs"),L=require("./components/icon-button/IconButton.cjs"),R=require("./components/icon/Icon.cjs"),B=require("./components/icon/icons/animated/ArrowVerticalAnimated.cjs"),P=require("./components/icon/icons/animated/ArrowHorizontalAnimated.cjs"),w=require("./components/icon/icons/animated/PlusRemoveAnimated.cjs"),F=require("./components/icon/icons/ArrowDownIcon.cjs"),N=require("./components/icon/icons/ArrowLeftIcon.cjs"),D=require("./components/icon/icons/ArrowNorthEastIcon.cjs"),V=require("./components/icon/icons/ArrowRightIcon.cjs"),y=require("./components/icon/icons/ArrowUpIcon.cjs"),O=require("./components/icon/icons/CalendarIcon.cjs"),G=require("./components/icon/icons/CheckIcon.cjs"),H=require("./components/icon/icons/ChevronDownIcon.cjs"),W=require("./components/icon/icons/ChevronLeftIcon.cjs"),U=require("./components/icon/icons/ChevronRightIcon.cjs"),K=require("./components/icon/icons/ChevronUpIcon.cjs"),X=require("./components/icon/icons/CloseIcon.cjs"),_=require("./components/icon/icons/CopyIcon.cjs"),z=require("./components/icon/icons/DotsIcon.cjs"),Q=require("./components/icon/icons/DragIcon.cjs"),J=require("./components/icon/icons/ErrorIcon.cjs"),Y=require("./components/icon/icons/GreenCheckIcon.cjs"),Z=require("./components/icon/icons/HamburgerIcon.cjs"),$=require("./components/icon/icons/InfoIcon.cjs"),ee=require("./components/icon/icons/LinkIcon.cjs"),oe=require("./components/icon/icons/MinusIcon.cjs"),re=require("./components/icon/icons/OpenInNewIcon.cjs"),se=require("./components/icon/icons/PenIcon.cjs"),te=require("./components/icon/icons/PlusIcon.cjs"),ne=require("./components/icon/icons/QuestionIcon.cjs"),ie=require("./components/icon/icons/RedCrossIcon.cjs"),ae=require("./components/icon/icons/SearchIcon.cjs"),ce=require("./components/icon/icons/SuccessIcon.cjs"),ue=require("./components/icon/icons/ThumbDownIcon.cjs"),pe=require("./components/icon/icons/ThumbUpIcon.cjs"),me=require("./components/icon/icons/TrashCanIcon.cjs"),le=require("./components/icon/icons/WarningIcon.cjs"),xe=require("./components/image/Image.cjs"),de=require("./components/input-group/FieldGroup.cjs"),ge=require("./components/input-group/InputGroup.cjs"),je=require("./components/input-group/Label.cjs"),be=require("./components/input-group/SupportLabel.cjs"),qe=require("./components/link-list/LinkList.cjs"),Ie=require("./components/link/Link.cjs"),Te=require("./components/list/List.cjs"),ke=require("./components/list/ListItem.cjs"),he=require("./components/loader/Loader.cjs"),Ce=require("./components/loader/skeletons/SkeletonAnimation.cjs"),Se=require("./components/loader/skeletons/SkeletonButton.cjs"),ve=require("./components/loader/skeletons/SkeletonCheckboxGroup.cjs"),Me=require("./components/loader/skeletons/SkeletonElement.cjs"),Ae=require("./components/loader/skeletons/SkeletonInput.cjs"),fe=require("./components/loader/skeletons/SkeletonRadioButtonGroup.cjs"),Ee=require("./components/loader/skeletons/SkeletonTable.cjs"),Le=require("./components/loader/skeletons/SkeletonTextArea.cjs"),Re=require("./components/logo/Logo.cjs"),Be=require("./components/logo/LogoStamp.cjs"),Pe=require("./components/logo/text-paths/ForsikringLevertAvFremtind.cjs"),we=require("./components/logo/text-paths/FraSB1ogDNB.cjs"),Fe=require("./components/logo/text-paths/InnovasjonFraFremtind.cjs"),Ne=require("./components/logo/text-paths/TeknologiFraFremtind.cjs"),De=require("./components/logo/text-paths/VartEgetForsikringsselskap.cjs"),Ve=require("./components/logo/text-paths/VartForsikringsselskap.cjs"),ye=require("./components/menu/Menu.cjs"),Oe=require("./components/menu/MenuItem.cjs"),Ge=require("./components/menu/MenuItemCheckbox.cjs"),He=require("./components/menu/MenuDivider.cjs"),We=require("./components/message/Message.cjs"),Ue=require("./components/message/FormErrorMessage.cjs"),Ke=require("./components/modal/Modal.cjs"),Xe=require("./components/modal/useModal.cjs"),_e=require("./components/nav-link/NavLink.cjs"),ze=require("./components/pagination/Pagination.cjs"),Qe=require("./components/popover/Popover.cjs"),Je=require("./components/progress-bar/ProgressBar.cjs"),Ye=require("./components/radio-button/RadioButton.cjs"),Ze=require("./components/radio-button/RadioButtonGroup.cjs"),$e=require("./components/radio-button/BaseRadioButton.cjs"),eo=require("./components/radio-panel/RadioPanel.cjs"),oo=require("./components/radio-panel/RadioPanelGroup.cjs"),ro=require("./components/select/Select.cjs"),so=require("./components/select/NativeSelect.cjs"),to=require("./components/summary-table/SummaryTable.cjs"),no=require("./components/summary-table/SummaryTableRow.cjs"),io=require("./components/system-message/SystemMessage.cjs"),ao=require("./components/table/DataTable.cjs"),co=require("./components/table/Table.cjs"),uo=require("./components/table/TableBody.cjs"),po=require("./components/table/TableCaption.cjs"),mo=require("./components/table/TableCell.cjs"),lo=require("./components/table/TableColumn.cjs"),xo=require("./components/table/TableColumnGroup.cjs"),go=require("./components/table/tableContext.cjs"),jo=require("./components/table/tableSectionContext.cjs"),bo=require("./components/table/TableFooter.cjs"),qo=require("./components/table/TableHead.cjs"),Io=require("./components/table/TableHeader.cjs"),To=require("./components/table/TablePagination.cjs"),ko=require("./components/table/TableRow.cjs"),ho=require("./components/table/ExpandableTableRow.cjs"),Co=require("./components/table/ExpandableTableRowController.cjs"),So=require("./components/table/utils.cjs"),vo=require("./components/tabs/NavTab.cjs"),Mo=require("./components/tabs/NavTabs.cjs"),Ao=require("./components/tabs/Tabs.cjs"),fo=require("./components/tabs/TabList.cjs"),Eo=require("./components/tabs/Tab.cjs"),Lo=require("./components/tabs/TabPanel.cjs"),Ro=require("./components/tag/Tag.cjs"),Bo=require("./components/text-area/BaseTextArea.cjs"),Po=require("./components/text-area/TextArea.cjs"),wo=require("./components/text-input/BaseTextInput.cjs"),Fo=require("./components/text-input/TextInput.cjs"),No=require("./components/toast/toastContext.cjs"),Do=require("./components/toggle-switch/ToggleSwitch.cjs"),Vo=require("./components/toggle-switch/ToggleSlider.cjs"),yo=require("./components/tooltip/Tooltip.cjs"),Oo=require("./components/tooltip/TooltipContent.cjs"),Go=require("./components/tooltip/TooltipTrigger.cjs"),Ho=require("./components/tooltip/PopupTip.cjs"),Wo=require("./components/ScreenReaderOnly.cjs"),Uo=require("./core/tokens.cjs"),Ko=require("./hooks/useAnimatedDetails/useAnimatedDetails.cjs"),Xo=require("./hooks/useAnimatedHeight/useAnimatedHeight.cjs"),_o=require("./hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs"),zo=require("./hooks/useAnimatedHeight/useAutoAnimateHeight.cjs"),Qo=require("./hooks/useBrowserPreferences/useBrowserPreferences.cjs"),Jo=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),Yo=require("./hooks/useLocalStorage/useLocalStorage.cjs"),Zo=require("./hooks/useMutationObserver/useMutationObserver.cjs"),$o=require("./hooks/usePreviousValue/usePreviousValue.cjs"),er=require("./hooks/useProgressiveImg/useProgressiveImg.cjs"),or=require("./hooks/useScreen/useScreen.cjs"),rr=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),sr=require("./hooks/useAriaLiveRegion/useAriaLiveRegion.cjs"),tr=require("./hooks/useClickOutside/useClickOutside.cjs"),nr=require("./hooks/useFocusOutside/useFocusOutside.cjs"),ir=require("./hooks/useElementDimensions/useElementDimensions.cjs"),ar=require("./hooks/useId/useId.cjs"),cr=require("./hooks/useKeyListener/useKeyListener.cjs"),ur=require("./hooks/useListNavigation/useListNavigation.cjs"),pr=require("./hooks/useSwipeGesture/useSwipeGesture.cjs"),mr=require("../index-CaISwoxr.cjs"),lr=require("./utilities/formatters/util/formatNumber.cjs"),xr=require("./utilities/formatters/util/parseNumber.cjs"),dr=require("./utilities/formatters/util/registerWithMask.cjs"),gr=require("./utilities/formatters/avstand/formatAvstand.cjs"),jr=require("./utilities/formatters/bytes/formatBytes.cjs"),br=require("./utilities/formatters/date/formatDate.cjs"),qr=require("./utilities/formatters/fodselsnummer/formatFodselsnummer.cjs"),Ir=require("./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs"),Tr=require("./utilities/formatters/kontonummer/formatKontonummer.cjs"),kr=require("./utilities/formatters/kortnummer/formatKortnummer.cjs"),hr=require("./utilities/formatters/telefonnummer/formatTelefonnummer.cjs"),Cr=require("./utilities/formatters/valuta/formatValuta.cjs"),Sr=require("./utilities/getThemeAndDensity.cjs"),vr=require("./utilities/polymorphism/mergeProps.cjs"),Mr=require("./utilities/polymorphism/mergeRefs.cjs"),Ar=require("./utilities/polymorphism/SlotComponent.cjs"),fr=require("./utilities/validators/isValidEpost/isValidEpost.cjs"),Er=require("./utilities/validators/isValidTelefonnummer/isValidTelefonnummer.cjs"),Lr=require("./utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.cjs"),Rr=require("./utilities/validators/isValidChassisnummer/isValidChassisnummer.cjs"),Br=require("./utilities/validators/isValidDogId/isValidDogId.cjs"),Pr=require("./utilities/validators/isExactLength/isExactLength.cjs"),wr=require("./utilities/validators/isInteger/isInteger.cjs"),Fr=require("./utilities/validators/isValidFodselsnummer/isValidFodselsnummer.cjs"),Nr=require("./utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.cjs"),Dr=require("./utilities/validators/isValidName/isValidName.cjs"),Vr=require("./utilities/validators/hasMinimumWords/hasMinimumWords.cjs"),yr=require("./utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.cjs"),Or=require("./utilities/tabListener.cjs"),Gr=require("./utilities/valuePair.cjs");exports.Accordion=e.Accordion,exports.AccordionItem=o.AccordionItem,exports.Autosuggest=r.Autosuggest,exports.Breadcrumb=s.Breadcrumb,exports.BreadcrumbItem=t.BreadcrumbItem,exports.Button=n.Button,exports.PrimaryButton=n.PrimaryButton,exports.SecondaryButton=n.SecondaryButton,exports.TertiaryButton=n.TertiaryButton,exports.Card=i.Card,exports.CardImage=a.CardImage,exports.InfoBlock=c.InfoBlock,exports.NavCard=c.NavCard,exports.TaskCard=u.TaskCard,exports.InfoCard=p.InfoCard,exports.CheckboxPanel=m.CheckboxPanel,exports.Checkbox=l.Checkbox,exports.Chip=x.Chip,exports.Combobox=d.Combobox,exports.getComboboxValuePair=d.getComboboxValuePair,exports.CookieConsent=g.CookieConsent,exports.CookieConsentProvider=j.CookieConsentProvider,exports.useCookieConsent=j.useCookieConsent,exports.Countdown=b.Countdown,exports.DatePicker=q.DatePicker,exports.isCorrectFormat=I.isCorrectFormat,exports.isWithinLowerBound=I.isWithinLowerBound,exports.isWithinUpperBound=I.isWithinUpperBound,exports.formatInput=T.formatInput,exports.isBlurTargetOutside=T.isBlurTargetOutside,exports.parseDateString=T.parseDateString,exports.DescriptionDetail=k.DescriptionDetail,exports.DescriptionList=k.DescriptionList,exports.DescriptionTerm=k.DescriptionTerm,exports.ExpandablePanel=h.ExpandablePanel,exports.Expander=C.Expander,exports.ExpandSection=S.ExpandSection,exports.Feedback=v.Feedback,exports.PRESETS=M.PRESETS,exports.FileInput=A.FileInput,exports.upload=f.upload,exports.Flex=E.Flex,exports.IconButton=L.IconButton,exports.Icon=R.Icon,exports.ArrowVerticalAnimated=B.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=P.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=w.PlusRemoveAnimated,exports.ArrowDownIcon=F.ArrowDownIcon,exports.ArrowLeftIcon=N.ArrowLeftIcon,exports.ArrowNorthEastIcon=D.ArrowNorthEastIcon,exports.ArrowRightIcon=V.ArrowRightIcon,exports.ArrowUpIcon=y.ArrowUpIcon,exports.CalendarIcon=O.CalendarIcon,exports.CheckIcon=G.CheckIcon,exports.ChevronDownIcon=H.ChevronDownIcon,exports.ChevronLeftIcon=W.ChevronLeftIcon,exports.ChevronRightIcon=U.ChevronRightIcon,exports.ChevronUpIcon=K.ChevronUpIcon,exports.CloseIcon=X.CloseIcon,exports.CopyIcon=_.CopyIcon,exports.DotsIcon=z.DotsIcon,exports.DragIcon=Q.DragIcon,exports.ErrorIcon=J.ErrorIcon,exports.GreenCheckIcon=Y.GreenCheckIcon,exports.HamburgerIcon=Z.HamburgerIcon,exports.InfoIcon=$.InfoIcon,exports.LinkIcon=ee.LinkIcon,exports.MinusIcon=oe.MinusIcon,exports.OpenInNewIcon=re.OpenInNewIcon,exports.PenIcon=se.PenIcon,exports.PlusIcon=te.PlusIcon,exports.QuestionIcon=ne.QuestionIcon,exports.RedCrossIcon=ie.RedCrossIcon,exports.SearchIcon=ae.SearchIcon,exports.SuccessIcon=ce.SuccessIcon,exports.ThumbDownIcon=ue.ThumbDownIcon,exports.ThumbUpIcon=pe.ThumbUpIcon,exports.TrashCanIcon=me.TrashCanIcon,exports.WarningIcon=le.WarningIcon,exports.Image=xe.Image,exports.FieldGroup=de.FieldGroup,exports.InputGroup=ge.InputGroup,exports.Label=je.Label,exports.SupportLabel=be.SupportLabel,exports.LinkList=qe.LinkList,exports.Link=Ie.Link,exports.List=Te.List,exports.OrderedList=Te.OrderedList,exports.UnorderedList=Te.UnorderedList,exports.CheckListItem=ke.CheckListItem,exports.CrossListItem=ke.CrossListItem,exports.ListItem=ke.ListItem,exports.Loader=he.Loader,exports.SkeletonAnimation=Ce.SkeletonAnimation,exports.SkeletonButton=Se.SkeletonButton,exports.SkeletonCheckboxGroup=ve.SkeletonCheckboxGroup,exports.SkeletonElement=Me.SkeletonElement,exports.SkeletonInput=Ae.SkeletonInput,exports.SkeletonRadioButtonGroup=fe.SkeletonRadioButtonGroup,exports.SkeletonTable=Ee.SkeletonTable,exports.SkeletonTableHeader=Ee.SkeletonTableHeader,exports.SkeletonTableRow=Ee.SkeletonTableRow,exports.SkeletonTextArea=Le.SkeletonTextArea,exports.Logo=Re.Logo,exports.LogoStamp=Be.LogoStamp,exports.ForsikringLevertAvFremtind=Pe.ForsikringLevertAvFremtind,exports.FraSB1ogDNB=we.FraSB1ogDNB,exports.InnovasjonFraFremtind=Fe.InnovasjonFraFremtind,exports.TeknologiFraFremtind=Ne.TeknologiFraFremtind,exports.VartEgetForsikringsselskap=De.VartEgetForsikringsselskap,exports.VartForsikringsselskap=Ve.VartForsikringsselskap,exports.Menu=ye.Menu,exports.MenuItem=Oe.MenuItem,exports.MenuItemCheckbox=Ge.MenuItemCheckbox,exports.MenuDivider=He.MenuDivider,exports.ErrorMessage=We.ErrorMessage,exports.InfoMessage=We.InfoMessage,exports.SuccessMessage=We.SuccessMessage,exports.WarningMessage=We.WarningMessage,exports.FormErrorMessage=Ue.FormErrorMessage,exports.Modal=Ke.Modal,exports.ModalActions=Ke.ModalActions,exports.ModalBody=Ke.ModalBody,exports.ModalCloseButton=Ke.ModalCloseButton,exports.ModalContainer=Ke.ModalContainer,exports.ModalHeader=Ke.ModalHeader,exports.ModalOverlay=Ke.ModalOverlay,exports.ModalTitle=Ke.ModalTitle,exports.useModal=Xe.useModal,exports.NavLink=_e.NavLink,exports.Pagination=ze.Pagination,exports.Popover=Qe.Popover,exports.ProgressBar=Je.ProgressBar,exports.RadioButton=Ye.RadioButton,exports.RadioButtonGroup=Ze.RadioButtonGroup,exports.BaseRadioButton=$e.BaseRadioButton,exports.RadioPanel=eo.RadioPanel,exports.RadioPanelGroup=oo.RadioPanelGroup,exports.Select=ro.Select,exports.NativeSelect=so.NativeSelect,exports.SummaryTable=to.SummaryTable,exports.SummaryTableRow=no.SummaryTableRow,exports.ErrorSystemMessage=io.ErrorSystemMessage,exports.InfoSystemMessage=io.InfoSystemMessage,exports.SuccessSystemMessage=io.SuccessSystemMessage,exports.WarningSystemMessage=io.WarningSystemMessage,exports.DataTable=ao.DataTable,exports.Table=co.Table,exports.TableBody=uo.TableBody,exports.TableCaption=po.TableCaption,exports.TableCell=mo.TableCell,exports.TableColumn=lo.TableColumn,exports.TableColumnGroup=xo.TableColumnGroup,exports.TableContextProvider=go.TableContextProvider,exports.useTableContext=go.useTableContext,exports.TableSectionContextProvider=jo.TableSectionContextProvider,exports.useTableSectionContext=jo.useTableSectionContext,exports.TableFooter=bo.TableFooter,exports.TableHead=qo.TableHead,exports.TableHeader=Io.TableHeader,exports.TablePagination=To.TablePagination,exports.TableRow=ko.TableRow,exports.ExpandableTableRow=ho.ExpandableTableRow,exports.ExpandableTableRowController=Co.ExpandableTableRowController,exports.useSortableTableHeader=So.useSortableTableHeader,exports.NavTab=vo.NavTab,exports.NavTabs=Mo.NavTabs,exports.Tabs=Ao.Tabs,exports.TabList=fo.TabList,exports.Tab=Eo.Tab,exports.TabPanel=Lo.TabPanel,exports.ErrorTag=Ro.ErrorTag,exports.InfoTag=Ro.InfoTag,exports.SuccessTag=Ro.SuccessTag,exports.Tag=Ro.Tag,exports.WarningTag=Ro.WarningTag,exports.BaseTextArea=Bo.BaseTextArea,exports.TextArea=Po.TextArea,exports.BaseTextInput=wo.BaseTextInput,exports.TextInput=Fo.TextInput,exports.ToastProvider=No.ToastProvider,exports.useToast=No.useToast,exports.ToggleSwitch=Do.ToggleSwitch,exports.ToggleSlider=Vo.ToggleSlider,exports.Tooltip=yo.Tooltip,exports.TooltipContent=Oo.TooltipContent,exports.TooltipTrigger=Go.TooltipTrigger,exports.PopupTip=Ho.PopupTip,exports.ScreenReaderOnly=Wo.ScreenReaderOnly,exports.tokens=Uo,exports.useAnimatedDetails=Ko.useAnimatedDetails,exports.useAnimatedHeight=Xo.useAnimatedHeight,exports.useAnimatedHeightBetween=_o.useAnimatedHeightBetween,exports.useAutoAnimatedHeight=zo.useAutoAnimatedHeight,exports.useBrowserPreferences=Qo.useBrowserPreferences,exports.useIntersectionObserver=Jo.useIntersectionObserver,exports.useLocalStorage=Yo.useLocalStorage,exports.useMutationObserver=Zo.useMutationObserver,exports.usePreviousValue=$o.usePreviousValue,exports.useProgressiveImg=er.useProgressiveImg,exports.useScreen=or.useScreen,exports.useScrollIntoView=rr.useScrollIntoView,exports.useAriaLiveRegion=sr.useAriaLiveRegion,exports.useClickOutside=tr.useClickOutside,exports.useFocusOutside=nr.useFocusOutside,exports.useElementDimensions=ir.useElementDimensions,exports.useId=ar.useId,exports.useKeyListener=cr.useKeyListener,exports.useListNavigation=ur.useListNavigation,exports.useSwipeGesture=pr.useSwipeGesture,exports.unicode=mr.unicode,exports.formatNumber=lr.formatNumber,exports.parseNumber=xr.parseNumber,exports.registerWithFodselsnummerMask=dr.registerWithFodselsnummerMask,exports.registerWithKontonummerMask=dr.registerWithKontonummerMask,exports.registerWithKortnummerMask=dr.registerWithKortnummerMask,exports.registerWithMasks=dr.registerWithMasks,exports.registerWithTelefonnummerMask=dr.registerWithTelefonnummerMask,exports.formatAvstand=gr.formatAvstand,exports.formatBytes=jr.formatBytes,exports.formatDate=br.formatDate,exports.FODSELSNUMMER_REGEX=qr.FODSELSNUMMER_REGEX,exports.formatFodselsnummer=qr.formatFodselsnummer,exports.ORGANISASJONSNUMMER_REGEX=Ir.ORGANISASJONSNUMMER_REGEX,exports.formatOrganisasjonsnummer=Ir.formatOrganisasjonsnummer,exports.KONTONUMMER_REGEX=Tr.KONTONUMMER_REGEX,exports.formatKontonummer=Tr.formatKontonummer,exports.KORTNUMMER_REGEX=kr.KORTNUMMER_REGEX,exports.formatKortnummer=kr.formatKortnummer,exports.TELEFONNUMMER_REGEX=hr.TELEFONNUMMER_REGEX,exports.formatTelefonnummer=hr.formatTelefonnummer,exports.formatValuta=Cr.formatValuta,exports.getThemeAndDensity=Sr.getThemeAndDensity,exports.mergeProps=vr.mergeProps,exports.mergeRefs=Mr.mergeRefs,exports.SlotComponent=Ar.SlotComponent,exports.isValidEpost=fr.isValidEpost,exports.isValidTelefonnummer=Er.isValidTelefonnummer,exports.isValidRegistreringsnummer=Lr.isValidRegistreringsnummer,exports.isValidChassisnummer=Rr.isValidChassisnummer,exports.isValidDogId=Br.isValidDogId,exports.isExactLength=Pr.isExactLength,exports.isInteger=wr.isInteger,exports.isValidFodselsnummer=Fr.isValidFodselsnummer,exports.isValidOrganisasjonsnummer=Nr.isValidOrganisasjonsnummer,exports.isValidName=Dr.isValidName,exports.hasMinimumWords=Vr.hasMinimumWords,exports.hasNoIllegalCharacters=yr.hasNoIllegalCharacters,exports.initTabListener=Or.initTabListener,exports.getValuePair=Gr.getValuePair;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./core/tokens.cjs"),s=require("./hooks/useAnimatedDetails/useAnimatedDetails.cjs"),r=require("./hooks/useAnimatedHeight/useAnimatedHeight.cjs"),i=require("./hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs"),t=require("./hooks/useAnimatedHeight/useAutoAnimateHeight.cjs"),o=require("./hooks/useBrowserPreferences/useBrowserPreferences.cjs"),u=require("./hooks/useIntersectionObserver/useIntersectionObserver.cjs"),a=require("./hooks/useLocalStorage/useLocalStorage.cjs"),m=require("./hooks/useMutationObserver/useMutationObserver.cjs"),n=require("./hooks/usePreviousValue/usePreviousValue.cjs"),l=require("./hooks/useProgressiveImg/useProgressiveImg.cjs"),d=require("./hooks/useScreen/useScreen.cjs"),c=require("./hooks/useScrollIntoView/useScrollIntoView.cjs"),g=require("./hooks/useAriaLiveRegion/useAriaLiveRegion.cjs"),p=require("./hooks/useClickOutside/useClickOutside.cjs"),h=require("./hooks/useFocusOutside/useFocusOutside.cjs"),x=require("./hooks/useElementDimensions/useElementDimensions.cjs"),f=require("./hooks/useId/useId.cjs"),j=require("./hooks/useKeyListener/useKeyListener.cjs"),q=require("./hooks/useListNavigation/useListNavigation.cjs"),E=require("./hooks/useSwipeGesture/useSwipeGesture.cjs"),V=require("../index-CaISwoxr.cjs"),v=require("./utilities/formatters/util/formatNumber.cjs"),M=require("./utilities/formatters/util/parseNumber.cjs"),k=require("./utilities/formatters/util/registerWithMask.cjs"),O=require("./utilities/formatters/avstand/formatAvstand.cjs"),N=require("./utilities/formatters/bytes/formatBytes.cjs"),R=require("./utilities/formatters/date/formatDate.cjs"),A=require("./utilities/formatters/fodselsnummer/formatFodselsnummer.cjs"),S=require("./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs"),I=require("./utilities/formatters/kontonummer/formatKontonummer.cjs"),L=require("./utilities/formatters/kortnummer/formatKortnummer.cjs"),T=require("./utilities/formatters/telefonnummer/formatTelefonnummer.cjs"),b=require("./utilities/formatters/valuta/formatValuta.cjs"),D=require("./utilities/getThemeAndDensity.cjs"),P=require("./utilities/polymorphism/mergeProps.cjs"),K=require("./utilities/polymorphism/mergeRefs.cjs"),F=require("./utilities/polymorphism/SlotComponent.cjs"),y=require("./utilities/validators/isValidEpost/isValidEpost.cjs"),G=require("./utilities/validators/isValidTelefonnummer/isValidTelefonnummer.cjs"),w=require("./utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.cjs"),C=require("./utilities/validators/isValidChassisnummer/isValidChassisnummer.cjs"),W=require("./utilities/validators/isValidDogId/isValidDogId.cjs"),H=require("./utilities/validators/isExactLength/isExactLength.cjs"),B=require("./utilities/validators/isInteger/isInteger.cjs"),U=require("./utilities/validators/isValidFodselsnummer/isValidFodselsnummer.cjs"),X=require("./utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.cjs"),_=require("./utilities/validators/isValidName/isValidName.cjs"),J=require("./utilities/validators/hasMinimumWords/hasMinimumWords.cjs"),z=require("./utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.cjs"),Q=require("./utilities/tabListener.cjs"),Y=require("./utilities/valuePair.cjs");exports.tokens=e,exports.useAnimatedDetails=s.useAnimatedDetails,exports.useAnimatedHeight=r.useAnimatedHeight,exports.useAnimatedHeightBetween=i.useAnimatedHeightBetween,exports.useAutoAnimatedHeight=t.useAutoAnimatedHeight,exports.useBrowserPreferences=o.useBrowserPreferences,exports.useIntersectionObserver=u.useIntersectionObserver,exports.useLocalStorage=a.useLocalStorage,exports.useMutationObserver=m.useMutationObserver,exports.usePreviousValue=n.usePreviousValue,exports.useProgressiveImg=l.useProgressiveImg,exports.useScreen=d.useScreen,exports.useScrollIntoView=c.useScrollIntoView,exports.useAriaLiveRegion=g.useAriaLiveRegion,exports.useClickOutside=p.useClickOutside,exports.useFocusOutside=h.useFocusOutside,exports.useElementDimensions=x.useElementDimensions,exports.useId=f.useId,exports.useKeyListener=j.useKeyListener,exports.useListNavigation=q.useListNavigation,exports.useSwipeGesture=E.useSwipeGesture,exports.unicode=V.unicode,exports.formatNumber=v.formatNumber,exports.parseNumber=M.parseNumber,exports.registerWithFodselsnummerMask=k.registerWithFodselsnummerMask,exports.registerWithKontonummerMask=k.registerWithKontonummerMask,exports.registerWithKortnummerMask=k.registerWithKortnummerMask,exports.registerWithMasks=k.registerWithMasks,exports.registerWithTelefonnummerMask=k.registerWithTelefonnummerMask,exports.formatAvstand=O.formatAvstand,exports.formatBytes=N.formatBytes,exports.formatDate=R.formatDate,exports.FODSELSNUMMER_REGEX=A.FODSELSNUMMER_REGEX,exports.formatFodselsnummer=A.formatFodselsnummer,exports.ORGANISASJONSNUMMER_REGEX=S.ORGANISASJONSNUMMER_REGEX,exports.formatOrganisasjonsnummer=S.formatOrganisasjonsnummer,exports.KONTONUMMER_REGEX=I.KONTONUMMER_REGEX,exports.formatKontonummer=I.formatKontonummer,exports.KORTNUMMER_REGEX=L.KORTNUMMER_REGEX,exports.formatKortnummer=L.formatKortnummer,exports.TELEFONNUMMER_REGEX=T.TELEFONNUMMER_REGEX,exports.formatTelefonnummer=T.formatTelefonnummer,exports.formatValuta=b.formatValuta,exports.getThemeAndDensity=D.getThemeAndDensity,exports.mergeProps=P.mergeProps,exports.mergeRefs=K.mergeRefs,exports.SlotComponent=F.SlotComponent,exports.isValidEpost=y.isValidEpost,exports.isValidTelefonnummer=G.isValidTelefonnummer,exports.isValidRegistreringsnummer=w.isValidRegistreringsnummer,exports.isValidChassisnummer=C.isValidChassisnummer,exports.isValidDogId=W.isValidDogId,exports.isExactLength=H.isExactLength,exports.isInteger=B.isInteger,exports.isValidFodselsnummer=U.isValidFodselsnummer,exports.isValidOrganisasjonsnummer=X.isValidOrganisasjonsnummer,exports.isValidName=_.isValidName,exports.hasMinimumWords=J.hasMinimumWords,exports.hasNoIllegalCharacters=z.hasNoIllegalCharacters,exports.initTabListener=Q.initTabListener,exports.getValuePair=Y.getValuePair;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/build/cjs/index.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={full:/^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])(\d{2}|\d{4})$/,partial:/^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])?(\d{1,4})?$/};exports.DATE_REGEX=t,exports.formatDate=function(t){return`${`${t.getDate()}`.padStart(2,"0")}.${`${t.getMonth()+1}`.padStart(2,"0")}.${t.getFullYear()}`},exports.formatDateString=function(e,r){const a=e.replace(/\D/g,""),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={full:/^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])(\d{2}|\d{4})$/,partial:/^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])?(\d{1,4})?$/};exports.DATE_REGEX=t,exports.formatDate=function(t){return`${`${t.getDate()}`.padStart(2,"0")}.${`${t.getMonth()+1}`.padStart(2,"0")}.${t.getFullYear()}`},exports.formatDateString=function(e,r){const a=e.replace(/\D/g,""),o=r?.partial?t.partial:t.full,l=a.match(o);return l?l.slice(1).filter(Boolean).join("."):e};
|
|
2
2
|
//# sourceMappingURL=formatDate.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatDate.cjs","sources":["../../../../../src/utilities/formatters/date/formatDate.ts"],"sourcesContent":["/**\n * Formaterer en dato med \"dd.mm.yyyy\"-format.\n * @param date Verdien som skal formateres\n * @returns Verdien i \"dd.mm.yyyy\"-format\n */\nexport function formatDate(date: Date): string {\n const day = `${date.getDate()}`.padStart(2, \"0\");\n const month = `${date.getMonth() + 1}`.padStart(2, \"0\");\n return `${day}.${month}.${date.getFullYear()}`;\n}\n\nexport const DATE_REGEX = {\n // Tillater datoer på formene DDMMYY og DDMMYYYY\n full: /^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])(\\d{2}|\\d{4})$/,\n partial: /^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])?(\\d{1,4})?$/,\n};\n\ntype FormatDateStringOptions = {\n partial?: boolean;\n};\n\nexport function formatDateString(\n input: string,\n options?: FormatDateStringOptions,\n): string {\n const strippedInput = input.replace(/\\D/g, \"\");\n const regex = options?.partial ? DATE_REGEX.partial : DATE_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match.slice(1).filter(Boolean).join(\".\");\n}\n"],"names":["DATE_REGEX","full","partial","date","getDate","padStart","getMonth","getFullYear","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join"],"mappings":"gFAWO,MAAMA,EAAa,CAEtBC,KAAM,yDACNC,QAAS,gGATN,SAAoBC,GAGvB,MAAO,GAFK,GAAGA,EAAKC,YAAYC,SAAS,EAAG,QAC9B,GAAGF,EAAKG,WAAa,IAAID,SAAS,EAAG,QACzBF,EAAKI,eACnC,2BAYgB,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,
|
|
1
|
+
{"version":3,"file":"formatDate.cjs","sources":["../../../../../src/utilities/formatters/date/formatDate.ts"],"sourcesContent":["/**\n * Formaterer en dato med \"dd.mm.yyyy\"-format.\n * @param date Verdien som skal formateres\n * @returns Verdien i \"dd.mm.yyyy\"-format\n */\nexport function formatDate(date: Date): string {\n const day = `${date.getDate()}`.padStart(2, \"0\");\n const month = `${date.getMonth() + 1}`.padStart(2, \"0\");\n return `${day}.${month}.${date.getFullYear()}`;\n}\n\nexport const DATE_REGEX = {\n // Tillater datoer på formene DDMMYY og DDMMYYYY\n full: /^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])(\\d{2}|\\d{4})$/,\n partial: /^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])?(\\d{1,4})?$/,\n};\n\ntype FormatDateStringOptions = {\n partial?: boolean;\n};\n\nexport function formatDateString(\n input: string,\n options?: FormatDateStringOptions,\n): string {\n const strippedInput = input.replace(/\\D/g, \"\");\n const regex = options?.partial ? DATE_REGEX.partial : DATE_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match.slice(1).filter(Boolean).join(\".\");\n}\n"],"names":["DATE_REGEX","full","partial","date","getDate","padStart","getMonth","getFullYear","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join"],"mappings":"gFAWO,MAAMA,EAAa,CAEtBC,KAAM,yDACNC,QAAS,gGATN,SAAoBC,GAGvB,MAAO,GAFK,GAAGA,EAAKC,YAAYC,SAAS,EAAG,QAC9B,GAAGF,EAAKG,WAAa,IAAID,SAAS,EAAG,QACzBF,EAAKI,eACnC,2BAYgB,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,EAAQH,GAASP,QAAUF,EAAWE,QAAUF,EAAWC,KAE3DY,EAAQH,EAAcG,MAAMD,GAElC,OAAKC,EAIEA,EAAMC,MAAM,GAAGC,OAAOC,SAASC,KAAK,KAHhCT,CAIf"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../index-CaISwoxr.cjs"),t={full:/^(\d{6})(\d{5})$/,partial:/^(\d{6})(\d{1,5})?$/};exports.FODSELSNUMMER_REGEX=t,exports.formatFodselsnummer=function(r,l){const o=r.replace(/\W/g,""),a=
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../index-CaISwoxr.cjs"),t={full:/^(\d{6})(\d{5})$/,partial:/^(\d{6})(\d{1,5})?$/};exports.FODSELSNUMMER_REGEX=t,exports.formatFodselsnummer=function(r,l){const o=r.replace(/\W/g,""),a=l?.partial?t.partial:t.full,i=o.match(a);return i?i.slice(1).filter(Boolean).join(e.NON_BREAKING_SPACE):r};
|
|
2
2
|
//# sourceMappingURL=formatFodselsnummer.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatFodselsnummer.cjs","sources":["../../../../../src/utilities/formatters/fodselsnummer/formatFodselsnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const FODSELSNUMMER_REGEX = {\n full: /^(\\d{6})(\\d{5})$/,\n partial: /^(\\d{6})(\\d{1,5})?$/,\n};\n\ntype FormatFodselsnummerOptions = {\n partial?: boolean;\n};\n\n/**\n * Formaterer et fødselsnummer. Delene av fødselsnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig fødselsnummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatFodselsnummer(\n input: string,\n options?: FormatFodselsnummerOptions,\n) {\n const strippedInput = input.replace(/\\W/g, \"\");\n const regex = options?.partial\n ? FODSELSNUMMER_REGEX.partial\n : FODSELSNUMMER_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match.slice(1).filter(Boolean).join(unicode.NON_BREAKING_SPACE);\n}\n"],"names":["FODSELSNUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAsB,CAC/BC,KAAM,mBACNC,QAAS,iFAaG,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,
|
|
1
|
+
{"version":3,"file":"formatFodselsnummer.cjs","sources":["../../../../../src/utilities/formatters/fodselsnummer/formatFodselsnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const FODSELSNUMMER_REGEX = {\n full: /^(\\d{6})(\\d{5})$/,\n partial: /^(\\d{6})(\\d{1,5})?$/,\n};\n\ntype FormatFodselsnummerOptions = {\n partial?: boolean;\n};\n\n/**\n * Formaterer et fødselsnummer. Delene av fødselsnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig fødselsnummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatFodselsnummer(\n input: string,\n options?: FormatFodselsnummerOptions,\n) {\n const strippedInput = input.replace(/\\W/g, \"\");\n const regex = options?.partial\n ? FODSELSNUMMER_REGEX.partial\n : FODSELSNUMMER_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match.slice(1).filter(Boolean).join(unicode.NON_BREAKING_SPACE);\n}\n"],"names":["FODSELSNUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAsB,CAC/BC,KAAM,mBACNC,QAAS,iFAaG,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,EAAQH,GAASF,QACjBF,EAAoBE,QACpBF,EAAoBC,KAEpBO,EAAQH,EAAcG,MAAMD,GAElC,OAAKC,EAIEA,EAAMC,MAAM,GAAGC,OAAOC,SAASC,KAAKC,sBAHhCV,CAIf"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../index-CaISwoxr.cjs"),t={full:/^(\d{4})(\d{2})(\d{5})$/,partial:/^(\d{4})(\d{1,2})?(\d{1,5})?$/};exports.KONTONUMMER_REGEX=t,exports.formatKontonummer=function(r,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../index-CaISwoxr.cjs"),t={full:/^(\d{4})(\d{2})(\d{5})$/,partial:/^(\d{4})(\d{1,2})?(\d{1,5})?$/};exports.KONTONUMMER_REGEX=t,exports.formatKontonummer=function(r,o){const a=r.replace(/\W/g,""),l=o?.partial?t.partial:t.full,i=a.match(l);return i?i.slice(1).filter(Boolean).join(o?.separator||e.NON_BREAKING_SPACE):r};
|
|
2
2
|
//# sourceMappingURL=formatKontonummer.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatKontonummer.cjs","sources":["../../../../../src/utilities/formatters/kontonummer/formatKontonummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const KONTONUMMER_REGEX = {\n full: /^(\\d{4})(\\d{2})(\\d{5})$/,\n partial: /^(\\d{4})(\\d{1,2})?(\\d{1,5})?$/,\n};\n\ntype FormatKontonummerOptions = {\n partial?: boolean;\n separator?: string;\n};\n\n/**\n * Formaterer et kontonummer, med eller uten punktum som skilletegn. Default er med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig kontonummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatKontonummer(\n input: string,\n options?: FormatKontonummerOptions,\n) {\n const strippedInput = input.replace(/\\W/g, \"\");\n const regex = options?.partial\n ? KONTONUMMER_REGEX.partial\n : KONTONUMMER_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match\n .slice(1)\n .filter(Boolean)\n .join(options?.separator || unicode.NON_BREAKING_SPACE);\n}\n"],"names":["KONTONUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","separator","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAoB,CAC7BC,KAAM,0BACNC,QAAS,uFAcG,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,
|
|
1
|
+
{"version":3,"file":"formatKontonummer.cjs","sources":["../../../../../src/utilities/formatters/kontonummer/formatKontonummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const KONTONUMMER_REGEX = {\n full: /^(\\d{4})(\\d{2})(\\d{5})$/,\n partial: /^(\\d{4})(\\d{1,2})?(\\d{1,5})?$/,\n};\n\ntype FormatKontonummerOptions = {\n partial?: boolean;\n separator?: string;\n};\n\n/**\n * Formaterer et kontonummer, med eller uten punktum som skilletegn. Default er med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig kontonummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatKontonummer(\n input: string,\n options?: FormatKontonummerOptions,\n) {\n const strippedInput = input.replace(/\\W/g, \"\");\n const regex = options?.partial\n ? KONTONUMMER_REGEX.partial\n : KONTONUMMER_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match\n .slice(1)\n .filter(Boolean)\n .join(options?.separator || unicode.NON_BREAKING_SPACE);\n}\n"],"names":["KONTONUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","separator","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAoB,CAC7BC,KAAM,0BACNC,QAAS,uFAcG,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,EAAQH,GAASF,QACjBF,EAAkBE,QAClBF,EAAkBC,KAElBO,EAAQH,EAAcG,MAAMD,GAElC,OAAKC,EAIEA,EACFC,MAAM,GACNC,OAAOC,SACPC,KAAKR,GAASS,WAAaC,sBANrBX,CAOf"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../index-CaISwoxr.cjs"),t={full:/^(\d{4})(\d{4})(\d{4})(\d{4})$/,partial:/^(\d{4})(\d{1,4})?(\d{1,4})?(\d{1,4})?$/};exports.KORTNUMMER_REGEX=t,exports.formatKortnummer=function(r,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../index-CaISwoxr.cjs"),t={full:/^(\d{4})(\d{4})(\d{4})(\d{4})$/,partial:/^(\d{4})(\d{1,4})?(\d{1,4})?(\d{1,4})?$/};exports.KORTNUMMER_REGEX=t,exports.formatKortnummer=function(r,o){const l=r.replace(/[\s-.]/g,""),a=o?.partial?t.partial:t.full,i=l.match(a);return i?i.slice(1).filter(Boolean).join(e.NON_BREAKING_SPACE):r};
|
|
2
2
|
//# sourceMappingURL=formatKortnummer.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatKortnummer.cjs","sources":["../../../../../src/utilities/formatters/kortnummer/formatKortnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const KORTNUMMER_REGEX = {\n full: /^(\\d{4})(\\d{4})(\\d{4})(\\d{4})$/,\n partial: /^(\\d{4})(\\d{1,4})?(\\d{1,4})?(\\d{1,4})?$/,\n};\n\ntype FormatKortnummerOptions = {\n partial?: boolean;\n};\n\n/**\n * Formaterer et kortnummer. Delene av kortnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig kortnummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatKortnummer(\n input: string,\n options?: FormatKortnummerOptions,\n) {\n const strippedInput = input.replace(/[\\s-.]/g, \"\");\n const regex = options?.partial\n ? KORTNUMMER_REGEX.partial\n : KORTNUMMER_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match.slice(1).filter(Boolean).join(unicode.NON_BREAKING_SPACE);\n}\n"],"names":["KORTNUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAmB,CAC5BC,KAAM,iCACNC,QAAS,+FAaG,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,UAAW,IACzCC,
|
|
1
|
+
{"version":3,"file":"formatKortnummer.cjs","sources":["../../../../../src/utilities/formatters/kortnummer/formatKortnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const KORTNUMMER_REGEX = {\n full: /^(\\d{4})(\\d{4})(\\d{4})(\\d{4})$/,\n partial: /^(\\d{4})(\\d{1,4})?(\\d{1,4})?(\\d{1,4})?$/,\n};\n\ntype FormatKortnummerOptions = {\n partial?: boolean;\n};\n\n/**\n * Formaterer et kortnummer. Delene av kortnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig kortnummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatKortnummer(\n input: string,\n options?: FormatKortnummerOptions,\n) {\n const strippedInput = input.replace(/[\\s-.]/g, \"\");\n const regex = options?.partial\n ? KORTNUMMER_REGEX.partial\n : KORTNUMMER_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match.slice(1).filter(Boolean).join(unicode.NON_BREAKING_SPACE);\n}\n"],"names":["KORTNUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAmB,CAC5BC,KAAM,iCACNC,QAAS,+FAaG,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,UAAW,IACzCC,EAAQH,GAASF,QACjBF,EAAiBE,QACjBF,EAAiBC,KAEjBO,EAAQH,EAAcG,MAAMD,GAElC,OAAKC,EAIEA,EAAMC,MAAM,GAAGC,OAAOC,SAASC,KAAKC,sBAHhCV,CAIf"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../index-CaISwoxr.cjs"),r={full:/^(\d{3})(\d{3})(\d{3})$/,partial:/^(\d{3})(\d{1,3})?(\d{1,5})?$/};exports.ORGANISASJONSNUMMER_REGEX=r,exports.formatOrganisasjonsnummer=function(t,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../index-CaISwoxr.cjs"),r={full:/^(\d{3})(\d{3})(\d{3})$/,partial:/^(\d{3})(\d{1,3})?(\d{1,5})?$/};exports.ORGANISASJONSNUMMER_REGEX=r,exports.formatOrganisasjonsnummer=function(t,o){const a=t.replace(/[\s-.]/g,""),l=o?.partial?r.partial:r.full,i=a.match(l);return i?i.slice(1).filter(Boolean).join(e.NON_BREAKING_SPACE):t};
|
|
2
2
|
//# sourceMappingURL=formatOrganisasjonsnummer.cjs.map
|
package/build/cjs/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatOrganisasjonsnummer.cjs","sources":["../../../../../src/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const ORGANISASJONSNUMMER_REGEX = {\n full: /^(\\d{3})(\\d{3})(\\d{3})$/,\n partial: /^(\\d{3})(\\d{1,3})?(\\d{1,5})?$/,\n};\n\ntype FormatOrganisasjonsnummerOptions = {\n partial?: boolean;\n};\n\n/**\n * Formaterer et organisasjonsnummer. Delene av organisasjonsnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig organisasjonsnummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatOrganisasjonsnummer(\n input: string,\n options?: FormatOrganisasjonsnummerOptions,\n) {\n const strippedInput = input.replace(/[\\s-.]/g, \"\");\n const regex = options?.partial\n ? ORGANISASJONSNUMMER_REGEX.partial\n : ORGANISASJONSNUMMER_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match.slice(1).filter(Boolean).join(unicode.NON_BREAKING_SPACE);\n}\n"],"names":["ORGANISASJONSNUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAA4B,CACrCC,KAAM,0BACNC,QAAS,uGAaG,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,UAAW,IACzCC,
|
|
1
|
+
{"version":3,"file":"formatOrganisasjonsnummer.cjs","sources":["../../../../../src/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const ORGANISASJONSNUMMER_REGEX = {\n full: /^(\\d{3})(\\d{3})(\\d{3})$/,\n partial: /^(\\d{3})(\\d{1,3})?(\\d{1,5})?$/,\n};\n\ntype FormatOrganisasjonsnummerOptions = {\n partial?: boolean;\n};\n\n/**\n * Formaterer et organisasjonsnummer. Delene av organisasjonsnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig organisasjonsnummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatOrganisasjonsnummer(\n input: string,\n options?: FormatOrganisasjonsnummerOptions,\n) {\n const strippedInput = input.replace(/[\\s-.]/g, \"\");\n const regex = options?.partial\n ? ORGANISASJONSNUMMER_REGEX.partial\n : ORGANISASJONSNUMMER_REGEX.full;\n\n const match = strippedInput.match(regex);\n\n if (!match) {\n return input;\n }\n\n return match.slice(1).filter(Boolean).join(unicode.NON_BREAKING_SPACE);\n}\n"],"names":["ORGANISASJONSNUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAA4B,CACrCC,KAAM,0BACNC,QAAS,uGAaG,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,UAAW,IACzCC,EAAQH,GAASF,QACjBF,EAA0BE,QAC1BF,EAA0BC,KAE1BO,EAAQH,EAAcG,MAAMD,GAElC,OAAKC,EAIEA,EAAMC,MAAM,GAAGC,OAAOC,SAASC,KAAKC,sBAHhCV,CAIf"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../index-CaISwoxr.cjs"),e={mobil:/^([8]\d{2})(\d{2})(\d{3})$/,fast:/^([2-9]\d)(\d{2})(\d{2})(\d{2})$/,mobilPartial:/^([8]\d{2})(\d{1,2})?(\d{1,3})?$/,fastPartial:/^([2-9]\d)(\d{1,2})?(\d{1,2})?(\d{1,2})?$/};exports.TELEFONNUMMER_REGEX=e,exports.formatTelefonnummer=function(
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../index-CaISwoxr.cjs"),e={mobil:/^([8]\d{2})(\d{2})(\d{3})$/,fast:/^([2-9]\d)(\d{2})(\d{2})(\d{2})$/,mobilPartial:/^([8]\d{2})(\d{1,2})?(\d{1,3})?$/,fastPartial:/^([2-9]\d)(\d{1,2})?(\d{1,2})?(\d{1,2})?$/};exports.TELEFONNUMMER_REGEX=e,exports.formatTelefonnummer=function(o,a){const r=o.replace(/\W/g,""),d=a?.partial?e.mobilPartial:e.mobil,i=a?.partial?e.fastPartial:e.fast,l=r.match(d)||r.match(i);return l?[a?.countryCode?`+${a.countryCode}`:void 0,...l.slice(1)].filter(Boolean).join(t.NON_BREAKING_SPACE):o};
|
|
2
2
|
//# sourceMappingURL=formatTelefonnummer.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatTelefonnummer.cjs","sources":["../../../../../src/utilities/formatters/telefonnummer/formatTelefonnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const TELEFONNUMMER_REGEX = {\n mobil: /^([8]\\d{2})(\\d{2})(\\d{3})$/,\n fast: /^([2-9]\\d)(\\d{2})(\\d{2})(\\d{2})$/,\n mobilPartial: /^([8]\\d{2})(\\d{1,2})?(\\d{1,3})?$/,\n fastPartial: /^([2-9]\\d)(\\d{1,2})?(\\d{1,2})?(\\d{1,2})?$/,\n};\n\ntype FormatTelefonnummerOptions = {\n partial?: boolean;\n countryCode?: string;\n};\n\n/**\n * Formaterer et telefonnummer etter språkrådets anbefalinger. Delene av telefonnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Inkluder en valgfri landkode, eller angi at verdien er et ufullstendig telefonnummer og likevel skal formateres.\n * @returns Den formatererte verdien\n */\nexport function formatTelefonnummer(\n input: string,\n options?: FormatTelefonnummerOptions,\n) {\n const strippedInput = input.replace(/\\W/g, \"\");\n const mobilRegex = options?.partial\n ? TELEFONNUMMER_REGEX.mobilPartial\n : TELEFONNUMMER_REGEX.mobil;\n const fastRegex = options?.partial\n ? TELEFONNUMMER_REGEX.fastPartial\n : TELEFONNUMMER_REGEX.fast;\n\n const match =\n strippedInput.match(mobilRegex) || strippedInput.match(fastRegex);\n\n if (!match) {\n return input;\n }\n\n return [\n options?.countryCode ? `+${options.countryCode}` : undefined,\n ...match.slice(1),\n ] // build array of number elements\n .filter(Boolean) // ensure all elements are valid\n .join(unicode.NON_BREAKING_SPACE); // build formattet string\n}\n"],"names":["TELEFONNUMMER_REGEX","mobil","fast","mobilPartial","fastPartial","input","options","strippedInput","replace","mobilRegex","partial","fastRegex","match","countryCode","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAsB,CAC/BC,MAAO,6BACPC,KAAM,mCACNC,aAAc,mCACdC,YAAa,uGAcD,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,
|
|
1
|
+
{"version":3,"file":"formatTelefonnummer.cjs","sources":["../../../../../src/utilities/formatters/telefonnummer/formatTelefonnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const TELEFONNUMMER_REGEX = {\n mobil: /^([8]\\d{2})(\\d{2})(\\d{3})$/,\n fast: /^([2-9]\\d)(\\d{2})(\\d{2})(\\d{2})$/,\n mobilPartial: /^([8]\\d{2})(\\d{1,2})?(\\d{1,3})?$/,\n fastPartial: /^([2-9]\\d)(\\d{1,2})?(\\d{1,2})?(\\d{1,2})?$/,\n};\n\ntype FormatTelefonnummerOptions = {\n partial?: boolean;\n countryCode?: string;\n};\n\n/**\n * Formaterer et telefonnummer etter språkrådets anbefalinger. Delene av telefonnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Inkluder en valgfri landkode, eller angi at verdien er et ufullstendig telefonnummer og likevel skal formateres.\n * @returns Den formatererte verdien\n */\nexport function formatTelefonnummer(\n input: string,\n options?: FormatTelefonnummerOptions,\n) {\n const strippedInput = input.replace(/\\W/g, \"\");\n const mobilRegex = options?.partial\n ? TELEFONNUMMER_REGEX.mobilPartial\n : TELEFONNUMMER_REGEX.mobil;\n const fastRegex = options?.partial\n ? TELEFONNUMMER_REGEX.fastPartial\n : TELEFONNUMMER_REGEX.fast;\n\n const match =\n strippedInput.match(mobilRegex) || strippedInput.match(fastRegex);\n\n if (!match) {\n return input;\n }\n\n return [\n options?.countryCode ? `+${options.countryCode}` : undefined,\n ...match.slice(1),\n ] // build array of number elements\n .filter(Boolean) // ensure all elements are valid\n .join(unicode.NON_BREAKING_SPACE); // build formattet string\n}\n"],"names":["TELEFONNUMMER_REGEX","mobil","fast","mobilPartial","fastPartial","input","options","strippedInput","replace","mobilRegex","partial","fastRegex","match","countryCode","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAsB,CAC/BC,MAAO,6BACPC,KAAM,mCACNC,aAAc,mCACdC,YAAa,uGAcD,SACZC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,EAAaH,GAASI,QACtBV,EAAoBG,aACpBH,EAAoBC,MACpBU,EAAYL,GAASI,QACrBV,EAAoBI,YACpBJ,EAAoBE,KAEpBU,EACFL,EAAcK,MAAMH,IAAeF,EAAcK,MAAMD,GAE3D,OAAKC,EAIE,CACHN,GAASO,YAAc,IAAIP,EAAQO,mBAAgB,KAChDD,EAAME,MAAM,IAEdC,OAAOC,SACPC,KAAKC,EAAAA,oBARCb,CASf"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../date/formatDate.cjs"),r=require("../fodselsnummer/formatFodselsnummer.cjs"),t=require("../kontonummer/formatKontonummer.cjs"),n=require("../kortnummer/formatKortnummer.cjs"),m=require("../organisasjonsnummer/formatOrganisasjonsnummer.cjs"),s=require("../telefonnummer/formatTelefonnummer.cjs"),o=require("./formatNumber.cjs"),a={date:e.formatDateString,fodselsnummer:r.formatFodselsnummer,kortnummer:n.formatKortnummer,kontonummer:t.formatKontonummer,telefonnummer:s.formatTelefonnummer,number:o.formatNumber,organisasjonsnummer:m.formatOrganisasjonsnummer},u=e=>(r,t,n)=>{let m=0,s="";const o={setValueAs:e=>e.replace(/\s/g,""),onChange:o=>{
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../date/formatDate.cjs"),r=require("../fodselsnummer/formatFodselsnummer.cjs"),t=require("../kontonummer/formatKontonummer.cjs"),n=require("../kortnummer/formatKortnummer.cjs"),m=require("../organisasjonsnummer/formatOrganisasjonsnummer.cjs"),s=require("../telefonnummer/formatTelefonnummer.cjs"),o=require("./formatNumber.cjs"),a={date:e.formatDateString,fodselsnummer:r.formatFodselsnummer,kortnummer:n.formatKortnummer,kontonummer:t.formatKontonummer,telefonnummer:s.formatTelefonnummer,number:o.formatNumber,organisasjonsnummer:m.formatOrganisasjonsnummer},u=e=>(r,t,n)=>{let m=0,s="";const o={setValueAs:e=>e.replace(/\s/g,""),onChange:o=>{n?.onChange?.(o);let u=0;const i=o.target.value.length;null!==o.target.selectionStart&&(u=o.target.selectionStart),r.setValue(t,a[e](o.target.value,{partial:!0}));let l=null;if(["Delete","Backspace"].includes(s)){l=m-(m-u)}else if(u<o.target.value.length){l=u+(o.target.value.length-i)}null!==l&&o.target.setSelectionRange(l,l,void 0)}};n&&Object.assign(o,n);const u=r.register(t,o),i={onKeyDown:e=>{null!==e.target.selectionStart&&(m=e.target.selectionStart),s=e.key}};return"number"===e&&(i.align="right"),Object.assign(u,i)},i=u("fodselsnummer"),l=u("kortnummer"),g=u("kontonummer"),f=u("telefonnummer");exports.registerWithFodselsnummerMask=i,exports.registerWithKontonummerMask=g,exports.registerWithKortnummerMask=l,exports.registerWithMasks=e=>({registerWithFodselsnummerMask:(r,t)=>u("fodselsnummer")(e,r,t),registerWithKortnummerMask:(r,t)=>u("kortnummer")(e,r,t),registerWithKontonummerMask:(r,t)=>u("kontonummer")(e,r,t),registerWithTelefonnummerMask:(r,t)=>u("telefonnummer")(e,r,t),registerWithOrganisasjonsnummerMask:(r,t)=>u("organisasjonsnummer")(e,r,t),registerWithDateMask:(r,t)=>u("date")(e,r,t),registerWithNumber:(r,t)=>u("number")(e,r,t)}),exports.registerWithTelefonnummerMask=f;
|
|
2
2
|
//# sourceMappingURL=registerWithMask.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerWithMask.cjs","sources":["../../../../../src/utilities/formatters/util/registerWithMask.ts"],"sourcesContent":["import type { ChangeEvent, KeyboardEventHandler } from \"react\";\nimport type {\n FieldValues,\n Path,\n PathValue,\n RegisterOptions,\n UseFormRegisterReturn,\n UseFormReturn,\n} from \"react-hook-form\";\nimport { formatDateString } from \"../date/formatDate.js\";\nimport { formatFodselsnummer } from \"../fodselsnummer/formatFodselsnummer.js\";\nimport { formatKontonummer } from \"../kontonummer/formatKontonummer.js\";\nimport { formatKortnummer } from \"../kortnummer/formatKortnummer.js\";\nimport { formatOrganisasjonsnummer } from \"../organisasjonsnummer/formatOrganisasjonsnummer.js\";\nimport { formatTelefonnummer } from \"../telefonnummer/formatTelefonnummer.js\";\nimport { formatNumber } from \"./formatNumber.js\";\n\nconst formatters = {\n date: formatDateString,\n fodselsnummer: formatFodselsnummer,\n kortnummer: formatKortnummer,\n kontonummer: formatKontonummer,\n telefonnummer: formatTelefonnummer,\n number: formatNumber,\n organisasjonsnummer: formatOrganisasjonsnummer,\n};\nexport type Formatter = keyof typeof formatters;\n\nexport type RegisterWithMaskOptions<T extends FieldValues> = Omit<\n RegisterOptions<T>,\n \"setValueAs\"\n>;\n\nconst registerWithMask =\n (formatter: Formatter) =>\n <T extends FieldValues>(\n form: UseFormReturn<T>,\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ) => {\n let onKeyDownCaretPosition = 0;\n let onKeyDownKeyPressed = \"\";\n\n const setValueAs = (value: string) => value.replace(/\\s/g, \"\");\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n options?.onChange?.(event);\n\n // save some values before event.target.value change\n let onChangeCaretPosition = 0;\n const inputLength = event.target.value.length;\n\n // type checking formalities\n if (event.target.selectionStart !== null) {\n onChangeCaretPosition = event.target.selectionStart;\n }\n\n form.setValue(\n name,\n formatters[formatter](event.target.value, {\n partial: true,\n }) as PathValue<T, Path<T>>,\n );\n\n let newPosition: number | null = null;\n\n if ([\"Delete\", \"Backspace\"].includes(onKeyDownKeyPressed)) {\n // handle removing content\n // calculate how much to move the caret, this also accounts for removing sections of text\n const delta = onKeyDownCaretPosition - onChangeCaretPosition;\n\n // calculate new caret position (- because we move backwards)\n newPosition = onKeyDownCaretPosition - delta;\n } else if (onChangeCaretPosition < event.target.value.length) {\n // handle adding content from inside the string\n // calculate how much to move the caret forwards\n const delta = event.target.value.length - inputLength;\n\n // calculate new caret position (+ because we move forwards)\n newPosition = onChangeCaretPosition + delta;\n }\n\n if (newPosition !== null) {\n event.target.setSelectionRange(\n newPosition,\n newPosition,\n undefined,\n );\n }\n };\n\n const registerOptions: RegisterOptions<T, Path<T>> = {\n setValueAs,\n onChange,\n };\n if (options) {\n Object.assign(registerOptions, options);\n }\n const register = form.register(name, registerOptions);\n\n // save the caret position before the change occured\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = (event) => {\n if ((event.target as HTMLInputElement).selectionStart !== null) {\n onKeyDownCaretPosition = (event.target as HTMLInputElement)\n .selectionStart as number;\n }\n onKeyDownKeyPressed = event.key;\n };\n\n // add onKeyDown event handler to the registered input\n const extra: Record<string, unknown> = {\n onKeyDown,\n };\n\n if (formatter === \"number\") {\n extra.align = \"right\"; // Se https://github.com/fremtind/jokul/pull/2898\n }\n\n return Object.assign(register, extra);\n };\n\n/** @deprecated Bruk `registerWithMasks` i stedet */\nexport const registerWithFodselsnummerMask = registerWithMask(\"fodselsnummer\");\n/** @deprecated Bruk `registerWithMasks` i stedet */\nexport const registerWithKortnummerMask = registerWithMask(\"kortnummer\");\n/** @deprecated Bruk `registerWithMasks` i stedet */\nexport const registerWithKontonummerMask = registerWithMask(\"kontonummer\");\n/** @deprecated Bruk `registerWithMasks` i stedet */\nexport const registerWithTelefonnummerMask = registerWithMask(\"telefonnummer\");\n\n/**\n * Hjelpefunksjon for React Hook Form som lar deg bruke formateringsfunksjonene i denne pakken som inputmasker.\n */\nexport const registerWithMasks = <T extends FieldValues>(\n form: UseFormReturn<T>,\n) => ({\n registerWithFodselsnummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"fodselsnummer\")<T>(form, name, options),\n registerWithKortnummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"kortnummer\")<T>(form, name, options),\n registerWithKontonummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"kontonummer\")<T>(form, name, options),\n registerWithTelefonnummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"telefonnummer\")<T>(form, name, options),\n registerWithOrganisasjonsnummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"organisasjonsnummer\")<T>(form, name, options),\n registerWithDateMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"date\")<T>(form, name, options),\n registerWithNumber: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn & { align: \"right\" } =>\n registerWithMask(\"number\")<T>(\n form,\n name,\n options,\n ) as unknown as UseFormRegisterReturn & {\n align: \"right\";\n },\n});\n"],"names":["formatters","date","formatDateString","fodselsnummer","formatFodselsnummer","kortnummer","formatKortnummer","kontonummer","formatKontonummer","telefonnummer","formatTelefonnummer","number","formatNumber","organisasjonsnummer","formatOrganisasjonsnummer","registerWithMask","formatter","form","name","options","onKeyDownCaretPosition","onKeyDownKeyPressed","registerOptions","setValueAs","value","replace","onChange","event","
|
|
1
|
+
{"version":3,"file":"registerWithMask.cjs","sources":["../../../../../src/utilities/formatters/util/registerWithMask.ts"],"sourcesContent":["import type { ChangeEvent, KeyboardEventHandler } from \"react\";\nimport type {\n FieldValues,\n Path,\n PathValue,\n RegisterOptions,\n UseFormRegisterReturn,\n UseFormReturn,\n} from \"react-hook-form\";\nimport { formatDateString } from \"../date/formatDate.js\";\nimport { formatFodselsnummer } from \"../fodselsnummer/formatFodselsnummer.js\";\nimport { formatKontonummer } from \"../kontonummer/formatKontonummer.js\";\nimport { formatKortnummer } from \"../kortnummer/formatKortnummer.js\";\nimport { formatOrganisasjonsnummer } from \"../organisasjonsnummer/formatOrganisasjonsnummer.js\";\nimport { formatTelefonnummer } from \"../telefonnummer/formatTelefonnummer.js\";\nimport { formatNumber } from \"./formatNumber.js\";\n\nconst formatters = {\n date: formatDateString,\n fodselsnummer: formatFodselsnummer,\n kortnummer: formatKortnummer,\n kontonummer: formatKontonummer,\n telefonnummer: formatTelefonnummer,\n number: formatNumber,\n organisasjonsnummer: formatOrganisasjonsnummer,\n};\nexport type Formatter = keyof typeof formatters;\n\nexport type RegisterWithMaskOptions<T extends FieldValues> = Omit<\n RegisterOptions<T>,\n \"setValueAs\"\n>;\n\nconst registerWithMask =\n (formatter: Formatter) =>\n <T extends FieldValues>(\n form: UseFormReturn<T>,\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ) => {\n let onKeyDownCaretPosition = 0;\n let onKeyDownKeyPressed = \"\";\n\n const setValueAs = (value: string) => value.replace(/\\s/g, \"\");\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n options?.onChange?.(event);\n\n // save some values before event.target.value change\n let onChangeCaretPosition = 0;\n const inputLength = event.target.value.length;\n\n // type checking formalities\n if (event.target.selectionStart !== null) {\n onChangeCaretPosition = event.target.selectionStart;\n }\n\n form.setValue(\n name,\n formatters[formatter](event.target.value, {\n partial: true,\n }) as PathValue<T, Path<T>>,\n );\n\n let newPosition: number | null = null;\n\n if ([\"Delete\", \"Backspace\"].includes(onKeyDownKeyPressed)) {\n // handle removing content\n // calculate how much to move the caret, this also accounts for removing sections of text\n const delta = onKeyDownCaretPosition - onChangeCaretPosition;\n\n // calculate new caret position (- because we move backwards)\n newPosition = onKeyDownCaretPosition - delta;\n } else if (onChangeCaretPosition < event.target.value.length) {\n // handle adding content from inside the string\n // calculate how much to move the caret forwards\n const delta = event.target.value.length - inputLength;\n\n // calculate new caret position (+ because we move forwards)\n newPosition = onChangeCaretPosition + delta;\n }\n\n if (newPosition !== null) {\n event.target.setSelectionRange(\n newPosition,\n newPosition,\n undefined,\n );\n }\n };\n\n const registerOptions: RegisterOptions<T, Path<T>> = {\n setValueAs,\n onChange,\n };\n if (options) {\n Object.assign(registerOptions, options);\n }\n const register = form.register(name, registerOptions);\n\n // save the caret position before the change occured\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = (event) => {\n if ((event.target as HTMLInputElement).selectionStart !== null) {\n onKeyDownCaretPosition = (event.target as HTMLInputElement)\n .selectionStart as number;\n }\n onKeyDownKeyPressed = event.key;\n };\n\n // add onKeyDown event handler to the registered input\n const extra: Record<string, unknown> = {\n onKeyDown,\n };\n\n if (formatter === \"number\") {\n extra.align = \"right\"; // Se https://github.com/fremtind/jokul/pull/2898\n }\n\n return Object.assign(register, extra);\n };\n\n/** @deprecated Bruk `registerWithMasks` i stedet */\nexport const registerWithFodselsnummerMask = registerWithMask(\"fodselsnummer\");\n/** @deprecated Bruk `registerWithMasks` i stedet */\nexport const registerWithKortnummerMask = registerWithMask(\"kortnummer\");\n/** @deprecated Bruk `registerWithMasks` i stedet */\nexport const registerWithKontonummerMask = registerWithMask(\"kontonummer\");\n/** @deprecated Bruk `registerWithMasks` i stedet */\nexport const registerWithTelefonnummerMask = registerWithMask(\"telefonnummer\");\n\n/**\n * Hjelpefunksjon for React Hook Form som lar deg bruke formateringsfunksjonene i denne pakken som inputmasker.\n */\nexport const registerWithMasks = <T extends FieldValues>(\n form: UseFormReturn<T>,\n) => ({\n registerWithFodselsnummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"fodselsnummer\")<T>(form, name, options),\n registerWithKortnummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"kortnummer\")<T>(form, name, options),\n registerWithKontonummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"kontonummer\")<T>(form, name, options),\n registerWithTelefonnummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"telefonnummer\")<T>(form, name, options),\n registerWithOrganisasjonsnummerMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"organisasjonsnummer\")<T>(form, name, options),\n registerWithDateMask: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn =>\n registerWithMask(\"date\")<T>(form, name, options),\n registerWithNumber: (\n name: Path<T>,\n options?: RegisterWithMaskOptions<T>,\n ): UseFormRegisterReturn & { align: \"right\" } =>\n registerWithMask(\"number\")<T>(\n form,\n name,\n options,\n ) as unknown as UseFormRegisterReturn & {\n align: \"right\";\n },\n});\n"],"names":["formatters","date","formatDateString","fodselsnummer","formatFodselsnummer","kortnummer","formatKortnummer","kontonummer","formatKontonummer","telefonnummer","formatTelefonnummer","number","formatNumber","organisasjonsnummer","formatOrganisasjonsnummer","registerWithMask","formatter","form","name","options","onKeyDownCaretPosition","onKeyDownKeyPressed","registerOptions","setValueAs","value","replace","onChange","event","onChangeCaretPosition","inputLength","target","length","selectionStart","setValue","partial","newPosition","includes","setSelectionRange","Object","assign","register","extra","onKeyDown","key","align","registerWithFodselsnummerMask","registerWithKortnummerMask","registerWithKontonummerMask","registerWithTelefonnummerMask","registerWithOrganisasjonsnummerMask","registerWithDateMask","registerWithNumber"],"mappings":"0aAiBMA,EAAa,CACfC,KAAMC,EAAAA,iBACNC,cAAeC,EAAAA,oBACfC,WAAYC,EAAAA,iBACZC,YAAaC,EAAAA,kBACbC,cAAeC,EAAAA,oBACfC,OAAQC,EAAAA,aACRC,oBAAqBC,EAAAA,2BASnBC,EACDC,GACD,CACIC,EACAC,EACAC,KAEA,IAAIC,EAAyB,EACzBC,EAAsB,GAiD1B,MAAMC,EAA+C,CACjDC,WAhDgBC,GAAkBA,EAAMC,QAAQ,MAAO,IAiDvDC,SAhDcC,IACdR,GAASO,WAAWC,GAGpB,IAAIC,EAAwB,EACtB,MAAAC,EAAcF,EAAMG,OAAON,MAAMO,OAGH,OAAhCJ,EAAMG,OAAOE,iBACbJ,EAAwBD,EAAMG,OAAOE,gBAGpCf,EAAAgB,SACDf,EACAlB,EAAWgB,GAAWW,EAAMG,OAAON,MAAO,CACtCU,SAAS,KAIjB,IAAIC,EAA6B,KAEjC,GAAI,CAAC,SAAU,aAAaC,SAASf,GAAsB,CAMvDc,EAAcf,GAHAA,EAAyBQ,EAIhC,MAAA,GAAAA,EAAwBD,EAAMG,OAAON,MAAMO,OAAQ,CAM1DI,EAAcP,GAHAD,EAAMG,OAAON,MAAMO,OAASF,EAGJ,CAGtB,OAAhBM,GACAR,EAAMG,OAAOO,kBACTF,EACAA,OACA,EACJ,GAQJhB,GACOmB,OAAAC,OAAOjB,EAAiBH,GAEnC,MAAMqB,EAAWvB,EAAKuB,SAAStB,EAAMI,GAY/BmB,EAAiC,CACnCC,UAVuDf,IACG,OAArDA,EAAMG,OAA4BE,iBACnCZ,EAA0BO,EAAMG,OAC3BE,gBAETX,EAAsBM,EAAMgB,MAQhC,MAAkB,WAAd3B,IACAyB,EAAMG,MAAQ,SAGXN,OAAOC,OAAOC,EAAUC,EAAK,EAI/BI,EAAgC9B,EAAiB,iBAEjD+B,EAA6B/B,EAAiB,cAE9CgC,EAA8BhC,EAAiB,eAE/CiC,EAAgCjC,EAAiB,8JAM1DE,IACE,CACF4B,8BAA+B,CAC3B3B,EACAC,IAEAJ,EAAiB,gBAAjBA,CAAqCE,EAAMC,EAAMC,GACrD2B,2BAA4B,CACxB5B,EACAC,IAEAJ,EAAiB,aAAjBA,CAAkCE,EAAMC,EAAMC,GAClD4B,4BAA6B,CACzB7B,EACAC,IAEAJ,EAAiB,cAAjBA,CAAmCE,EAAMC,EAAMC,GACnD6B,8BAA+B,CAC3B9B,EACAC,IAEAJ,EAAiB,gBAAjBA,CAAqCE,EAAMC,EAAMC,GACrD8B,oCAAqC,CACjC/B,EACAC,IAEAJ,EAAiB,sBAAjBA,CAA2CE,EAAMC,EAAMC,GAC3D+B,qBAAsB,CAClBhC,EACAC,IAEAJ,EAAiB,OAAjBA,CAA4BE,EAAMC,EAAMC,GAC5CgC,mBAAoB,CAChBjC,EACAC,IAEAJ,EAAiB,SAAjBA,CACIE,EACAC,EACAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../../index-CaISwoxr.cjs"),r=require("../util/formatNumber.cjs"),t=require("../util/parseNumber.cjs"),e={locale:"no-NB",minimumFractionDigits:0,maximumFractionDigits:2,suffix:"kr"};exports.formatValuta=function(u,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../../index-CaISwoxr.cjs"),r=require("../util/formatNumber.cjs"),t=require("../util/parseNumber.cjs"),e={locale:"no-NB",minimumFractionDigits:0,maximumFractionDigits:2,suffix:"kr"};exports.formatValuta=function(u,s){const n=t.parseNumber(u);if(Number.isNaN(n))return u.toString();const m=Number.isInteger(n)?{}:{minimumFractionDigits:2,maximumFractionDigits:2},o=void 0!==s?.suffix?s.suffix:e.suffix,{prefix:a,...f}={...e,...m,...s},c=a?.length?`${a}${i.nbsp}`:"",b=o?.length?`${i.nbsp}${o}`:"";return`${c}${r.formatNumber(n,f)}${b}`};
|
|
2
2
|
//# sourceMappingURL=formatValuta.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatValuta.cjs","sources":["../../../../../src/utilities/formatters/valuta/formatValuta.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\nimport {\n type FormatNumberOptions,\n formatNumber,\n} from \"../util/formatNumber.js\";\nimport { parseNumber } from \"../util/parseNumber.js\";\n\ninterface FormatValutaOptions extends FormatNumberOptions {\n prefix?: string;\n /**\n * For å fjerne suffix, send inn en tom streng\n * @default \"kr\"\n */\n suffix?: string;\n}\n\nconst defaultOptions: FormatValutaOptions = {\n locale: \"no-NB\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n suffix: \"kr\",\n};\n\n/**\n * Formaterer et gitt tall som valuta. Som standard vises suffikset \"kr\" og tallet formateres med norsk lokalisasjon\n *\n * @param input Tallet som skal formateres til valuta\n * @param options Valgene fra formatNumber, pluss valg for prefix og suffix\n * @returns Formatert beløp\n */\nexport function formatValuta(\n input: string | number,\n options?: FormatValutaOptions,\n) {\n const number = parseNumber(input);\n if (Number.isNaN(number)) {\n return input.toString();\n }\n\n // Dersom tallet ikke er et heltall, pass på å alltid vise to desimaler\n // Antall desimaler kan i alle tilfeller overstyres via options\n const fractionOptions: Intl.NumberFormatOptions = Number.isInteger(number)\n ? {}\n : { minimumFractionDigits: 2, maximumFractionDigits: 2 };\n\n const suffix =\n options?.suffix !== undefined ? options.suffix : defaultOptions.suffix;\n const { prefix, ...formatOptions } = {\n ...defaultOptions,\n ...fractionOptions,\n ...options,\n };\n\n const prefixString = prefix?.length ? `${prefix}${unicode.nbsp}` : \"\";\n const suffixString = suffix?.length ? `${unicode.nbsp}${suffix}` : \"\";\n const formattedNumber = formatNumber(number, formatOptions);\n\n return `${prefixString}${formattedNumber}${suffixString}`;\n}\n"],"names":["defaultOptions","locale","minimumFractionDigits","maximumFractionDigits","suffix","input","options","number","parseNumber","Number","isNaN","toString","fractionOptions","isInteger","prefix","formatOptions","prefixString","length","unicode.nbsp","suffixString","formatNumber"],"mappings":"6MAgBMA,EAAsC,CACxCC,OAAQ,QACRC,sBAAuB,EACvBC,sBAAuB,EACvBC,OAAQ,2BAUI,SACZC,EACAC,GAEM,MAAAC,EAASC,cAAYH,GACvB,GAAAI,OAAOC,MAAMH,GACb,OAAOF,EAAMM,WAKX,MAAAC,EAA4CH,OAAOI,UAAUN,GAC7D,GACA,CAAEL,sBAAuB,EAAGC,sBAAuB,GAEnDC,OACkB,
|
|
1
|
+
{"version":3,"file":"formatValuta.cjs","sources":["../../../../../src/utilities/formatters/valuta/formatValuta.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\nimport {\n type FormatNumberOptions,\n formatNumber,\n} from \"../util/formatNumber.js\";\nimport { parseNumber } from \"../util/parseNumber.js\";\n\ninterface FormatValutaOptions extends FormatNumberOptions {\n prefix?: string;\n /**\n * For å fjerne suffix, send inn en tom streng\n * @default \"kr\"\n */\n suffix?: string;\n}\n\nconst defaultOptions: FormatValutaOptions = {\n locale: \"no-NB\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n suffix: \"kr\",\n};\n\n/**\n * Formaterer et gitt tall som valuta. Som standard vises suffikset \"kr\" og tallet formateres med norsk lokalisasjon\n *\n * @param input Tallet som skal formateres til valuta\n * @param options Valgene fra formatNumber, pluss valg for prefix og suffix\n * @returns Formatert beløp\n */\nexport function formatValuta(\n input: string | number,\n options?: FormatValutaOptions,\n) {\n const number = parseNumber(input);\n if (Number.isNaN(number)) {\n return input.toString();\n }\n\n // Dersom tallet ikke er et heltall, pass på å alltid vise to desimaler\n // Antall desimaler kan i alle tilfeller overstyres via options\n const fractionOptions: Intl.NumberFormatOptions = Number.isInteger(number)\n ? {}\n : { minimumFractionDigits: 2, maximumFractionDigits: 2 };\n\n const suffix =\n options?.suffix !== undefined ? options.suffix : defaultOptions.suffix;\n const { prefix, ...formatOptions } = {\n ...defaultOptions,\n ...fractionOptions,\n ...options,\n };\n\n const prefixString = prefix?.length ? `${prefix}${unicode.nbsp}` : \"\";\n const suffixString = suffix?.length ? `${unicode.nbsp}${suffix}` : \"\";\n const formattedNumber = formatNumber(number, formatOptions);\n\n return `${prefixString}${formattedNumber}${suffixString}`;\n}\n"],"names":["defaultOptions","locale","minimumFractionDigits","maximumFractionDigits","suffix","input","options","number","parseNumber","Number","isNaN","toString","fractionOptions","isInteger","prefix","formatOptions","prefixString","length","unicode.nbsp","suffixString","formatNumber"],"mappings":"6MAgBMA,EAAsC,CACxCC,OAAQ,QACRC,sBAAuB,EACvBC,sBAAuB,EACvBC,OAAQ,2BAUI,SACZC,EACAC,GAEM,MAAAC,EAASC,cAAYH,GACvB,GAAAI,OAAOC,MAAMH,GACb,OAAOF,EAAMM,WAKX,MAAAC,EAA4CH,OAAOI,UAAUN,GAC7D,GACA,CAAEL,sBAAuB,EAAGC,sBAAuB,GAEnDC,OACkB,IAApBE,GAASF,OAAuBE,EAAQF,OAASJ,EAAeI,QAC5DU,OAAAA,KAAWC,GAAkB,IAC9Bf,KACAY,KACAN,GAGDU,EAAeF,GAAQG,OAAS,GAAGH,IAASI,EAAAA,OAAiB,GAC7DC,EAAef,GAAQa,OAAS,GAAGC,EAAAA,OAAed,IAAW,GAGnE,MAAO,GAAGY,IAFcI,EAAAA,aAAab,EAAQQ,KAEFI,GAC/C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let t=!1,e=!1,o=!1;const n={mousedown:function(){if(!t&&!o){t=!0,e=!1;const o=document.querySelector("html");
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let t=!1,e=!1,o=!1;const n={mousedown:function(){if(!t&&!o){t=!0,e=!1;const o=document.querySelector("html");o?.setAttribute("data-mousenavigation","true"),o?.removeAttribute("data-touchnavigation"),u(),i("touchstart"),i("keydown")}},keydown:function(o){if("Tab"===o.key){const o=document.querySelector("html");u(),o?.removeAttribute("data-mousenavigation"),o?.removeAttribute("data-touchnavigation"),t=!1,e=!1,i("touchstart"),i("mousedown")}},touchstart:function(){if(!e){t=!1,e=!0;const o=document.querySelector("html");o?.setAttribute("data-touchnavigation","true"),o?.removeAttribute("data-mousenavigation"),u(),i("touchstart"),i("keydown"),i("mousedown")}o=!0,setTimeout((()=>{o=!1}),150)}};function u(){for(const t of Object.keys(n))document.removeEventListener(t,n[t])}function i(t){document.addEventListener(t,n[t])}exports.initTabListener=function(){typeof document<"u"&&(i("touchstart"),i("mousedown"))};
|
|
2
2
|
//# sourceMappingURL=tabListener.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabListener.cjs","sources":["../../../src/utilities/tabListener.ts"],"sourcesContent":["let mousenavigation = false;\nlet touchnavigation = false;\nlet touchEventFired = false;\n\nconst listeners = {\n mousedown: handleMouseDown as EventListener,\n keydown: handleKeydown as EventListener,\n touchstart: handleTouchStart as EventListener,\n};\n\nfunction removeAllListeners() {\n for (const listenerType of Object.keys(listeners) as Array<\n keyof typeof listeners\n >) {\n document.removeEventListener(listenerType, listeners[listenerType]);\n }\n}\n\nfunction addListener(listenerType: keyof typeof listeners) {\n document.addEventListener(listenerType, listeners[listenerType]);\n}\n\nfunction handleMouseDown() {\n if (!mousenavigation && !touchEventFired) {\n mousenavigation = true;\n touchnavigation = false;\n const htmlElement = document.querySelector(\"html\");\n htmlElement?.setAttribute(\"data-mousenavigation\", \"true\");\n htmlElement?.removeAttribute(\"data-touchnavigation\");\n\n // Reset listeners\n removeAllListeners();\n addListener(\"touchstart\");\n addListener(\"keydown\");\n }\n}\n\nfunction handleKeydown(event: KeyboardEvent) {\n if (event.key === \"Tab\") {\n const htmlElement = document.querySelector(\"html\");\n removeAllListeners();\n htmlElement?.removeAttribute(\"data-mousenavigation\");\n htmlElement?.removeAttribute(\"data-touchnavigation\");\n mousenavigation = false;\n touchnavigation = false;\n\n // Reset listeners\n addListener(\"touchstart\");\n addListener(\"mousedown\");\n }\n}\n\nfunction handleTouchStart() {\n if (!touchnavigation) {\n mousenavigation = false;\n touchnavigation = true;\n const htmlElement = document.querySelector(\"html\");\n htmlElement?.setAttribute(\"data-touchnavigation\", \"true\");\n htmlElement?.removeAttribute(\"data-mousenavigation\");\n\n // Reset listeners\n removeAllListeners();\n addListener(\"touchstart\");\n addListener(\"keydown\");\n addListener(\"mousedown\");\n }\n\n // Most touch devices fire both touch and mouse events on touch (in that order)\n // see https://w3c.github.io/touch-events/#mouse-events\n // Set a check variable to avoid resetting the data-attribute:\n touchEventFired = true;\n setTimeout(() => {\n touchEventFired = false;\n }, 150); // Yes, it can take this long between the events\n}\n\nexport function initTabListener(): void {\n if (typeof document !== \"undefined\") {\n addListener(\"touchstart\");\n addListener(\"mousedown\");\n }\n}\n"],"names":["mousenavigation","touchnavigation","touchEventFired","listeners","mousedown","htmlElement","document","querySelector","setAttribute","removeAttribute","removeAllListeners","addListener","keydown","event","key","touchstart","setTimeout","listenerType","Object","keys","removeEventListener","addEventListener"],"mappings":"gFAAA,IAAIA,GAAkB,EAClBC,GAAkB,EAClBC,GAAkB,EAEtB,MAAMC,EAAY,CACdC,UAiBJ,WACQ,IAACJ,IAAoBE,EAAiB,CACpBF,GAAA,EACAC,GAAA,EACZ,MAAAI,EAAcC,SAASC,cAAc,
|
|
1
|
+
{"version":3,"file":"tabListener.cjs","sources":["../../../src/utilities/tabListener.ts"],"sourcesContent":["let mousenavigation = false;\nlet touchnavigation = false;\nlet touchEventFired = false;\n\nconst listeners = {\n mousedown: handleMouseDown as EventListener,\n keydown: handleKeydown as EventListener,\n touchstart: handleTouchStart as EventListener,\n};\n\nfunction removeAllListeners() {\n for (const listenerType of Object.keys(listeners) as Array<\n keyof typeof listeners\n >) {\n document.removeEventListener(listenerType, listeners[listenerType]);\n }\n}\n\nfunction addListener(listenerType: keyof typeof listeners) {\n document.addEventListener(listenerType, listeners[listenerType]);\n}\n\nfunction handleMouseDown() {\n if (!mousenavigation && !touchEventFired) {\n mousenavigation = true;\n touchnavigation = false;\n const htmlElement = document.querySelector(\"html\");\n htmlElement?.setAttribute(\"data-mousenavigation\", \"true\");\n htmlElement?.removeAttribute(\"data-touchnavigation\");\n\n // Reset listeners\n removeAllListeners();\n addListener(\"touchstart\");\n addListener(\"keydown\");\n }\n}\n\nfunction handleKeydown(event: KeyboardEvent) {\n if (event.key === \"Tab\") {\n const htmlElement = document.querySelector(\"html\");\n removeAllListeners();\n htmlElement?.removeAttribute(\"data-mousenavigation\");\n htmlElement?.removeAttribute(\"data-touchnavigation\");\n mousenavigation = false;\n touchnavigation = false;\n\n // Reset listeners\n addListener(\"touchstart\");\n addListener(\"mousedown\");\n }\n}\n\nfunction handleTouchStart() {\n if (!touchnavigation) {\n mousenavigation = false;\n touchnavigation = true;\n const htmlElement = document.querySelector(\"html\");\n htmlElement?.setAttribute(\"data-touchnavigation\", \"true\");\n htmlElement?.removeAttribute(\"data-mousenavigation\");\n\n // Reset listeners\n removeAllListeners();\n addListener(\"touchstart\");\n addListener(\"keydown\");\n addListener(\"mousedown\");\n }\n\n // Most touch devices fire both touch and mouse events on touch (in that order)\n // see https://w3c.github.io/touch-events/#mouse-events\n // Set a check variable to avoid resetting the data-attribute:\n touchEventFired = true;\n setTimeout(() => {\n touchEventFired = false;\n }, 150); // Yes, it can take this long between the events\n}\n\nexport function initTabListener(): void {\n if (typeof document !== \"undefined\") {\n addListener(\"touchstart\");\n addListener(\"mousedown\");\n }\n}\n"],"names":["mousenavigation","touchnavigation","touchEventFired","listeners","mousedown","htmlElement","document","querySelector","setAttribute","removeAttribute","removeAllListeners","addListener","keydown","event","key","touchstart","setTimeout","listenerType","Object","keys","removeEventListener","addEventListener"],"mappings":"gFAAA,IAAIA,GAAkB,EAClBC,GAAkB,EAClBC,GAAkB,EAEtB,MAAMC,EAAY,CACdC,UAiBJ,WACQ,IAACJ,IAAoBE,EAAiB,CACpBF,GAAA,EACAC,GAAA,EACZ,MAAAI,EAAcC,SAASC,cAAc,QAC9BF,GAAAG,aAAa,uBAAwB,QAClDH,GAAaI,gBAAgB,wBAGVC,IACnBC,EAAY,cACZA,EAAY,UAAS,CAE7B,EA7BIC,QA+BJ,SAAuBC,GACf,GAAc,QAAdA,EAAMC,IAAe,CACf,MAAAT,EAAcC,SAASC,cAAc,QACxBG,IACnBL,GAAaI,gBAAgB,wBAC7BJ,GAAaI,gBAAgB,wBACXT,GAAA,EACAC,GAAA,EAGlBU,EAAY,cACZA,EAAY,YAAW,CAE/B,EA3CII,WA6CJ,WACI,IAAKd,EAAiB,CACAD,GAAA,EACAC,GAAA,EACZ,MAAAI,EAAcC,SAASC,cAAc,QAC9BF,GAAAG,aAAa,uBAAwB,QAClDH,GAAaI,gBAAgB,wBAGVC,IACnBC,EAAY,cACZA,EAAY,WACZA,EAAY,YAAW,CAMTT,GAAA,EAClBc,YAAW,KACWd,GAAA,IACnB,IACP,GAhEA,SAASQ,IACL,IAAWO,MAAAA,KAAgBC,OAAOC,KAAKhB,GAGnCG,SAASc,oBAAoBH,EAAcd,EAAUc,GAE7D,CAEA,SAASN,EAAYM,GACjBX,SAASe,iBAAiBJ,EAAcd,EAAUc,GACtD,yBAwDO,kBACQX,SAAa,MACpBK,EAAY,cACZA,EAAY,aAEpB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.hasMinimumWords=(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.hasMinimumWords=(e,t)=>e.split(" ").filter((e=>![""," "].includes(e))).length>=(t?.minimumWords||2);
|
|
2
2
|
//# sourceMappingURL=hasMinimumWords.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasMinimumWords.cjs","sources":["../../../../../src/utilities/validators/hasMinimumWords/hasMinimumWords.ts"],"sourcesContent":["export interface HasMinimumWordsOptions {\n minimumWords?: number;\n}\n\n/**\n * Sjekk at verdien har minimum et gitt antall ord.\n * @param value Verdien som skal valideres\n * @param options Objekt med konfigurasjon for minimum antall ord som kreves\n * @returns Om verdien har minimum antall ord\n */\nexport const hasMinimumWords = (\n value: string,\n options?: HasMinimumWordsOptions,\n): boolean =>\n value.split(\" \").filter((str) => ![\"\", \" \"].includes(str)).length >=\n (options?.minimumWords || 2);\n"],"names":["value","options","split","filter","str","includes","length","minimumWords"],"mappings":"wGAU+B,CAC3BA,EACAC,IAEAD,EAAME,MAAM,KAAKC,QAAQC,IAAS,CAAC,GAAI,KAAKC,SAASD,KAAME,
|
|
1
|
+
{"version":3,"file":"hasMinimumWords.cjs","sources":["../../../../../src/utilities/validators/hasMinimumWords/hasMinimumWords.ts"],"sourcesContent":["export interface HasMinimumWordsOptions {\n minimumWords?: number;\n}\n\n/**\n * Sjekk at verdien har minimum et gitt antall ord.\n * @param value Verdien som skal valideres\n * @param options Objekt med konfigurasjon for minimum antall ord som kreves\n * @returns Om verdien har minimum antall ord\n */\nexport const hasMinimumWords = (\n value: string,\n options?: HasMinimumWordsOptions,\n): boolean =>\n value.split(\" \").filter((str) => ![\"\", \" \"].includes(str)).length >=\n (options?.minimumWords || 2);\n"],"names":["value","options","split","filter","str","includes","length","minimumWords"],"mappings":"wGAU+B,CAC3BA,EACAC,IAEAD,EAAME,MAAM,KAAKC,QAAQC,IAAS,CAAC,GAAI,KAAKC,SAASD,KAAME,SAC1DL,GAASM,cAAgB"}
|