@fremtind/jokul 0.10.1 → 0.12.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 +76 -0
- package/build/NativeSelect-CNcZmpDZ.cjs +2 -0
- package/build/{NativeSelect-DSmX3GZo.cjs.map → NativeSelect-CNcZmpDZ.cjs.map} +1 -1
- package/build/NativeSelect-CfNZEQF0.js +2 -0
- package/build/{NativeSelect-EidDABsT.js.map → NativeSelect-CfNZEQF0.js.map} +1 -1
- package/build/build-stats.html +1 -1
- package/build/cjs/components/datepicker/DatePicker.js +1 -1
- package/build/cjs/components/datepicker/DatePicker.js.map +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.js +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.js.map +1 -1
- package/build/cjs/components/feedback/Feedback.js +2 -0
- package/build/cjs/components/feedback/Feedback.js.map +1 -0
- package/build/cjs/components/feedback/FeedbackSuccess.js +2 -0
- package/build/cjs/components/feedback/FeedbackSuccess.js.map +1 -0
- package/build/cjs/components/feedback/FeedbackValues.js +2 -0
- package/build/cjs/components/feedback/FeedbackValues.js.map +1 -0
- package/build/cjs/components/feedback/feedbackContext.js +2 -0
- package/build/cjs/components/feedback/feedbackContext.js.map +1 -0
- package/build/cjs/components/feedback/followup/Followup.js +2 -0
- package/build/cjs/components/feedback/followup/Followup.js.map +1 -0
- package/build/cjs/components/feedback/followup/followupContext.js +2 -0
- package/build/cjs/components/feedback/followup/followupContext.js.map +1 -0
- package/build/cjs/components/feedback/followup/useFollowup.js +2 -0
- package/build/cjs/components/feedback/followup/useFollowup.js.map +1 -0
- package/build/cjs/components/feedback/index.js +2 -0
- package/build/cjs/components/feedback/index.js.map +1 -0
- package/build/cjs/components/feedback/main-question/MainQuestion.js +2 -0
- package/build/cjs/components/feedback/main-question/MainQuestion.js.map +1 -0
- package/build/cjs/components/feedback/main-question/mainQuestionContext.js +2 -0
- package/build/cjs/components/feedback/main-question/mainQuestionContext.js.map +1 -0
- package/build/cjs/components/feedback/main-question/useMainQuestion.js +2 -0
- package/build/cjs/components/feedback/main-question/useMainQuestion.js.map +1 -0
- package/build/cjs/components/feedback/presets.js +2 -0
- package/build/cjs/components/feedback/presets.js.map +1 -0
- package/build/cjs/components/feedback/questions/AddonQuestion.js +2 -0
- package/build/cjs/components/feedback/questions/AddonQuestion.js.map +1 -0
- package/build/cjs/components/feedback/questions/CheckboxQuestion.js +2 -0
- package/build/cjs/components/feedback/questions/CheckboxQuestion.js.map +1 -0
- package/build/cjs/components/feedback/questions/ContactQuestion.js +2 -0
- package/build/cjs/components/feedback/questions/ContactQuestion.js.map +1 -0
- package/build/cjs/components/feedback/questions/RadioQuestion.js +2 -0
- package/build/cjs/components/feedback/questions/RadioQuestion.js.map +1 -0
- package/build/cjs/components/feedback/questions/SmileyQuestion.js +2 -0
- package/build/cjs/components/feedback/questions/SmileyQuestion.js.map +1 -0
- package/build/cjs/components/feedback/questions/TextQuestion.js +2 -0
- package/build/cjs/components/feedback/questions/TextQuestion.js.map +1 -0
- package/build/cjs/components/feedback/questions/index.js +2 -0
- package/build/cjs/components/feedback/questions/index.js.map +1 -0
- package/build/cjs/components/feedback/questions/smileyUtils.js +2 -0
- package/build/cjs/components/feedback/questions/smileyUtils.js.map +1 -0
- package/build/cjs/components/feedback/types.js +2 -0
- package/build/cjs/components/feedback/types.js.map +1 -0
- package/build/cjs/components/feedback/utils.js +2 -0
- package/build/cjs/components/feedback/utils.js.map +1 -0
- package/build/cjs/components/index.js +1 -1
- package/build/cjs/components/message/DismissButton.js +2 -0
- package/build/cjs/components/message/DismissButton.js.map +1 -0
- package/build/cjs/components/message/FormErrorMessage.js +2 -0
- package/build/cjs/components/message/FormErrorMessage.js.map +1 -0
- package/build/cjs/components/message/Message.js +2 -0
- package/build/cjs/components/message/Message.js.map +1 -0
- package/build/cjs/components/message/index.js +2 -0
- package/build/cjs/components/message/index.js.map +1 -0
- package/build/cjs/components/popover/Popover.js +2 -0
- package/build/cjs/components/popover/Popover.js.map +1 -0
- package/build/cjs/components/popover/index.js +2 -0
- package/build/cjs/components/popover/index.js.map +1 -0
- package/build/cjs/components/popover/utils.js +2 -0
- package/build/cjs/components/popover/utils.js.map +1 -0
- package/build/cjs/components/select/NativeSelect.js +1 -1
- package/build/cjs/components/select/Select.js +1 -1
- package/build/cjs/components/select/index.js +1 -1
- package/build/cjs/components/text-input/BaseTextInput.js +1 -1
- package/build/cjs/components/text-input/BaseTextInput.js.map +1 -1
- package/build/cjs/components/text-input/TextArea.js +1 -1
- package/build/cjs/components/text-input/TextArea.js.map +1 -1
- package/build/cjs/components/text-input/TextInput.js +1 -1
- package/build/cjs/components/text-input/TextInput.js.map +1 -1
- package/build/cjs/components/tooltip/TooltipContent.js +1 -1
- package/build/cjs/components/tooltip/TooltipContent.js.map +1 -1
- package/build/cjs/index.js +1 -1
- package/build/cjs/utilities/index.js +1 -1
- package/build/cjs/utilities/validators/hasMinimumWords/hasMinimumWords.js +2 -0
- package/build/cjs/utilities/validators/hasMinimumWords/hasMinimumWords.js.map +1 -0
- package/build/cjs/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js +2 -0
- package/build/cjs/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js.map +1 -0
- package/build/cjs/utilities/validators/index.js +2 -0
- package/build/cjs/utilities/validators/index.js.map +1 -0
- package/build/cjs/utilities/validators/isExactLength/isExactLength.js +2 -0
- package/build/cjs/utilities/validators/isExactLength/isExactLength.js.map +1 -0
- package/build/cjs/utilities/validators/isInteger/isInteger.js +2 -0
- package/build/cjs/utilities/validators/isInteger/isInteger.js.map +1 -0
- package/build/cjs/utilities/validators/isValidChassisnummer/isValidChassisnummer.js +2 -0
- package/build/cjs/utilities/validators/isValidChassisnummer/isValidChassisnummer.js.map +1 -0
- package/build/cjs/utilities/validators/isValidDogId/isValidDogId.js +2 -0
- package/build/cjs/utilities/validators/isValidDogId/isValidDogId.js.map +1 -0
- package/build/cjs/utilities/validators/isValidEpost/isValidEpost.js +2 -0
- package/build/cjs/utilities/validators/isValidEpost/isValidEpost.js.map +1 -0
- package/build/cjs/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js +2 -0
- package/build/cjs/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js.map +1 -0
- package/build/cjs/utilities/validators/isValidKortnummer/isValidKortnummer.js +2 -0
- package/build/cjs/utilities/validators/isValidKortnummer/isValidKortnummer.js.map +1 -0
- package/build/cjs/utilities/validators/isValidName/isValidName.js +2 -0
- package/build/cjs/utilities/validators/isValidName/isValidName.js.map +1 -0
- package/build/cjs/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js +2 -0
- package/build/cjs/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js.map +1 -0
- package/build/cjs/utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js +2 -0
- package/build/cjs/utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js.map +1 -0
- package/build/cjs/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js +2 -0
- package/build/cjs/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js.map +1 -0
- package/build/components/feedback/Feedback.d.ts +42 -0
- package/build/components/feedback/FeedbackSuccess.d.ts +3 -0
- package/build/components/feedback/FeedbackValues.d.ts +6 -0
- package/build/components/feedback/feedbackContext.d.ts +19 -0
- package/build/components/feedback/followup/Followup.d.ts +14 -0
- package/build/components/feedback/followup/followupContext.d.ts +9 -0
- package/build/components/feedback/followup/useFollowup.d.ts +19 -0
- package/build/components/feedback/index.d.ts +3 -0
- package/build/components/feedback/main-question/MainQuestion.d.ts +16 -0
- package/build/components/feedback/main-question/mainQuestionContext.d.ts +9 -0
- package/build/components/feedback/main-question/useMainQuestion.d.ts +13 -0
- package/build/components/feedback/presets.d.ts +6 -0
- package/build/components/feedback/questions/AddonQuestion.d.ts +7 -0
- package/build/components/feedback/questions/CheckboxQuestion.d.ts +3 -0
- package/build/components/feedback/questions/ContactQuestion.d.ts +28 -0
- package/build/components/feedback/questions/RadioQuestion.d.ts +3 -0
- package/build/components/feedback/questions/SmileyQuestion.d.ts +3 -0
- package/build/components/feedback/questions/TextQuestion.d.ts +3 -0
- package/build/components/feedback/questions/index.d.ts +6 -0
- package/build/components/feedback/questions/smileyUtils.d.ts +4 -0
- package/build/components/feedback/types.d.ts +86 -0
- package/build/components/feedback/utils.d.ts +4 -0
- package/build/components/index.d.ts +3 -0
- package/build/components/message/DismissButton.d.ts +5 -0
- package/build/components/message/FormErrorMessage.d.ts +14 -0
- package/build/components/message/Message.d.ts +19 -0
- package/build/components/message/index.d.ts +2 -0
- package/build/components/popover/Popover.d.ts +114 -0
- package/build/components/popover/index.d.ts +1 -0
- package/build/components/popover/utils.d.ts +4 -0
- 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/feedback/Feedback.js +2 -0
- package/build/es/components/feedback/Feedback.js.map +1 -0
- package/build/es/components/feedback/FeedbackSuccess.js +2 -0
- package/build/es/components/feedback/FeedbackSuccess.js.map +1 -0
- package/build/es/components/feedback/FeedbackValues.js +2 -0
- package/build/es/components/feedback/FeedbackValues.js.map +1 -0
- package/build/es/components/feedback/feedbackContext.js +2 -0
- package/build/es/components/feedback/feedbackContext.js.map +1 -0
- package/build/es/components/feedback/followup/Followup.js +2 -0
- package/build/es/components/feedback/followup/Followup.js.map +1 -0
- package/build/es/components/feedback/followup/followupContext.js +2 -0
- package/build/es/components/feedback/followup/followupContext.js.map +1 -0
- package/build/es/components/feedback/followup/useFollowup.js +2 -0
- package/build/es/components/feedback/followup/useFollowup.js.map +1 -0
- package/build/es/components/feedback/index.js +2 -0
- package/build/es/components/feedback/index.js.map +1 -0
- package/build/es/components/feedback/main-question/MainQuestion.js +2 -0
- package/build/es/components/feedback/main-question/MainQuestion.js.map +1 -0
- package/build/es/components/feedback/main-question/mainQuestionContext.js +2 -0
- package/build/es/components/feedback/main-question/mainQuestionContext.js.map +1 -0
- package/build/es/components/feedback/main-question/useMainQuestion.js +2 -0
- package/build/es/components/feedback/main-question/useMainQuestion.js.map +1 -0
- package/build/es/components/feedback/presets.js +2 -0
- package/build/es/components/feedback/presets.js.map +1 -0
- package/build/es/components/feedback/questions/AddonQuestion.js +2 -0
- package/build/es/components/feedback/questions/AddonQuestion.js.map +1 -0
- package/build/es/components/feedback/questions/CheckboxQuestion.js +2 -0
- package/build/es/components/feedback/questions/CheckboxQuestion.js.map +1 -0
- package/build/es/components/feedback/questions/ContactQuestion.js +2 -0
- package/build/es/components/feedback/questions/ContactQuestion.js.map +1 -0
- package/build/es/components/feedback/questions/RadioQuestion.js +2 -0
- package/build/es/components/feedback/questions/RadioQuestion.js.map +1 -0
- package/build/es/components/feedback/questions/SmileyQuestion.js +2 -0
- package/build/es/components/feedback/questions/SmileyQuestion.js.map +1 -0
- package/build/es/components/feedback/questions/TextQuestion.js +2 -0
- package/build/es/components/feedback/questions/TextQuestion.js.map +1 -0
- package/build/es/components/feedback/questions/index.js +2 -0
- package/build/es/components/feedback/questions/index.js.map +1 -0
- package/build/es/components/feedback/questions/smileyUtils.js +2 -0
- package/build/es/components/feedback/questions/smileyUtils.js.map +1 -0
- package/build/es/components/feedback/types.js +2 -0
- package/build/es/components/feedback/types.js.map +1 -0
- package/build/es/components/feedback/utils.js +2 -0
- package/build/es/components/feedback/utils.js.map +1 -0
- package/build/es/components/index.js +1 -1
- package/build/es/components/message/DismissButton.js +2 -0
- package/build/es/components/message/DismissButton.js.map +1 -0
- package/build/es/components/message/FormErrorMessage.js +2 -0
- package/build/es/components/message/FormErrorMessage.js.map +1 -0
- package/build/es/components/message/Message.js +2 -0
- package/build/es/components/message/Message.js.map +1 -0
- package/build/es/components/message/index.js +2 -0
- package/build/es/components/message/index.js.map +1 -0
- package/build/es/components/popover/Popover.js +2 -0
- package/build/es/components/popover/Popover.js.map +1 -0
- package/build/es/components/popover/index.js +2 -0
- package/build/es/components/popover/index.js.map +1 -0
- package/build/es/components/popover/utils.js +2 -0
- package/build/es/components/popover/utils.js.map +1 -0
- package/build/es/components/select/NativeSelect.js +1 -1
- package/build/es/components/select/Select.js +1 -1
- package/build/es/components/select/index.js +1 -1
- package/build/es/components/text-input/BaseTextInput.js +1 -1
- package/build/es/components/text-input/BaseTextInput.js.map +1 -1
- package/build/es/components/text-input/TextArea.js +1 -1
- package/build/es/components/text-input/TextArea.js.map +1 -1
- package/build/es/components/text-input/TextInput.js +1 -1
- package/build/es/components/text-input/TextInput.js.map +1 -1
- package/build/es/components/tooltip/TooltipContent.js +1 -1
- package/build/es/components/tooltip/TooltipContent.js.map +1 -1
- package/build/es/index.js +1 -1
- package/build/es/utilities/index.js +1 -1
- package/build/es/utilities/validators/hasMinimumWords/hasMinimumWords.js +2 -0
- package/build/es/utilities/validators/hasMinimumWords/hasMinimumWords.js.map +1 -0
- package/build/es/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js +2 -0
- package/build/es/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js.map +1 -0
- package/build/es/utilities/validators/index.js +2 -0
- package/build/es/utilities/validators/index.js.map +1 -0
- package/build/es/utilities/validators/isExactLength/isExactLength.js +2 -0
- package/build/es/utilities/validators/isExactLength/isExactLength.js.map +1 -0
- package/build/es/utilities/validators/isInteger/isInteger.js +2 -0
- package/build/es/utilities/validators/isInteger/isInteger.js.map +1 -0
- package/build/es/utilities/validators/isValidChassisnummer/isValidChassisnummer.js +2 -0
- package/build/es/utilities/validators/isValidChassisnummer/isValidChassisnummer.js.map +1 -0
- package/build/es/utilities/validators/isValidDogId/isValidDogId.js +2 -0
- package/build/es/utilities/validators/isValidDogId/isValidDogId.js.map +1 -0
- package/build/es/utilities/validators/isValidEpost/isValidEpost.js +2 -0
- package/build/es/utilities/validators/isValidEpost/isValidEpost.js.map +1 -0
- package/build/es/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js +2 -0
- package/build/es/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js.map +1 -0
- package/build/es/utilities/validators/isValidKortnummer/isValidKortnummer.js +2 -0
- package/build/es/utilities/validators/isValidKortnummer/isValidKortnummer.js.map +1 -0
- package/build/es/utilities/validators/isValidName/isValidName.js +2 -0
- package/build/es/utilities/validators/isValidName/isValidName.js.map +1 -0
- package/build/es/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js +2 -0
- package/build/es/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js.map +1 -0
- package/build/es/utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js +2 -0
- package/build/es/utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js.map +1 -0
- package/build/es/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js +2 -0
- package/build/es/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js.map +1 -0
- package/build/utilities/index.d.ts +1 -0
- package/build/utilities/validators/hasMinimumWords/hasMinimumWords.d.ts +10 -0
- package/build/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.d.ts +7 -0
- package/build/utilities/validators/index.d.ts +12 -0
- package/build/utilities/validators/isExactLength/isExactLength.d.ts +7 -0
- package/build/utilities/validators/isInteger/isInteger.d.ts +7 -0
- package/build/utilities/validators/isValidChassisnummer/isValidChassisnummer.d.ts +7 -0
- package/build/utilities/validators/isValidDogId/isValidDogId.d.ts +7 -0
- package/build/utilities/validators/isValidEpost/isValidEpost.d.ts +7 -0
- package/build/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.d.ts +30 -0
- package/build/utilities/validators/isValidKortnummer/isValidKortnummer.d.ts +6 -0
- package/build/utilities/validators/isValidName/isValidName.d.ts +7 -0
- package/build/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.d.ts +6 -0
- package/build/utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.d.ts +12 -0
- package/build/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.d.ts +7 -0
- package/package.json +12 -6
- package/src/components/button/styles/button.css +4 -4
- package/src/components/button/styles/button.min.css +1 -1
- package/src/components/card/styles/card.min.css +1 -1
- package/src/components/checkbox/styles/checkbox.css +4 -4
- package/src/components/checkbox/styles/checkbox.min.css +1 -1
- package/src/components/combobox/styles/combobox.min.css +1 -1
- package/src/components/cookie-consent/styles/cookie-consent.min.css +1 -1
- package/src/components/datepicker/styles/datepicker.min.css +1 -1
- package/src/components/feedback/styles/_index.scss +1 -0
- package/src/components/feedback/styles/feedback.css +104 -0
- package/src/components/feedback/styles/feedback.min.css +1 -0
- package/src/components/feedback/styles/feedback.scss +103 -0
- package/src/components/icon/styles/icon.min.css +1 -1
- package/src/components/link/styles/link.min.css +1 -1
- package/src/components/list/styles/list.min.css +1 -1
- package/src/components/loader/styles/loader.css +6 -6
- package/src/components/loader/styles/loader.min.css +1 -1
- package/src/components/loader/styles/skeleton-loader.css +5 -5
- package/src/components/loader/styles/skeleton-loader.min.css +1 -1
- package/src/components/message/styles/_index.scss +1 -0
- package/src/components/message/styles/message.css +203 -0
- package/src/components/message/styles/message.min.css +1 -0
- package/src/components/message/styles/message.scss +180 -0
- package/src/components/popover/styles/_index.scss +1 -0
- package/src/components/popover/styles/popover.css +10 -0
- package/src/components/popover/styles/popover.min.css +1 -0
- package/src/components/popover/styles/popover.scss +9 -0
- package/src/components/radio-button/styles/radio-button.css +2 -2
- package/src/components/radio-button/styles/radio-button.min.css +1 -1
- package/src/components/select/styles/select.min.css +1 -1
- package/src/components/tag/styles/tag.min.css +1 -1
- package/src/components/text-input/styles/text-input.min.css +1 -1
- package/src/components/tooltip/styles/tooltip.min.css +1 -1
- package/src/core/styles/core.min.css +1 -1
- package/src/core/styles/vind.min.css +1 -1
- package/build/NativeSelect-DSmX3GZo.cjs +0 -2
- package/build/NativeSelect-EidDABsT.js +0 -2
- package/build/components/tooltip/Tooltip.d.ts +0 -122
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ErrorMessage as s,InfoMessage as e,SuccessMessage as r,WarningMessage as a}from"./Message.js";import{FormErrorMessage as o}from"./FormErrorMessage.js";export{s as ErrorMessage,o as FormErrorMessage,e as InfoMessage,r as SuccessMessage,a as WarningMessage};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{useMergeRefs as n,FloatingPortal as t,FloatingFocusManager as o,useFloating as s,offset as a,flip as r,shift as l,autoUpdate as i,useClick as c,useHover as d,useFocus as p,useDismiss as u,useRole as m,useInteractions as f}from"@floating-ui/react";import{c as g}from"../../../clsx-BeLtu-UY.js";import*as h from"react";import{getThemeAndDensity as v}from"./utils.js";const k=h.createContext(null),x=()=>{const e=h.useContext(k);if(null==e)throw new Error("Popover komponenter må brukes innenfor en <Popover /> komponent");return e},C=({children:n,...t})=>{const o=(({open:e,onOpenChange:n,placement:t="bottom-start",strategy:o="absolute",modal:g=!0,offset:v=4,hoverOptions:k,focusOptions:x,clickOptions:C,roleOptions:b,dismissOptions:y})=>{const[O,j]=h.useState(e),F=e??O,P=n??j,w=s({open:F,onOpenChange:P,placement:t,strategy:o,middleware:[a(v),r({padding:5,fallbackPlacements:["bottom","top"]}),l({padding:12})],whileElementsMounted:i}),R=w.context,E=c(R,{enabled:!1,...C}),M=d(R,{enabled:!1,...k}),D=p(R,{enabled:!1,...x}),N=u(R,y),S=m(R,b),T=f([E,N,D,M,S]);return h.useMemo((()=>({open:F,onOpenChange:P,modal:g,...T,...w})),[F,P,g,T,w])})({...t});return e(k.Provider,{value:o,children:n})},b=h.forwardRef((function({children:t,asChild:o=!1,...s},a){const{refs:r,getReferenceProps:l,open:i,onOpenChange:c}=x(),d=t.ref,p=n([r.setReference,a,d]);return o&&h.isValidElement(t)?h.cloneElement(t,l({ref:p,...s,...t.props})):e("button",{ref:p,onClick:()=>null==c?void 0:c(!i),"aria-expanded":i,...l(s),children:t})})),y=h.forwardRef((function({style:s,className:a,padding:r,...l},i){const{context:c,modal:d,refs:p,open:u,floatingStyles:m,getFloatingProps:f}=x(),h=n([p.setFloating,i]),{theme:k,density:C}=v(p.reference.current);return u?e(t,{children:e(o,{context:c,modal:d,children:e("div",{"data-theme":k,"data-layout-density":C,className:g("jkl jkl-popover",a),ref:h,style:{...s,...m,"--popover-padding":`var(--jkl-spacing-${r})`},...f(l),children:l.children})})}):null}));C.Trigger=b,C.Content=y;export{C as default};
|
|
2
|
+
//# sourceMappingURL=Popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../../src/components/popover/Popover.tsx"],"sourcesContent":["import {\n useFloating,\n useFocus,\n useHover,\n useClick,\n useDismiss,\n autoUpdate,\n useRole,\n useMergeRefs,\n offset,\n flip,\n shift,\n useInteractions,\n FloatingPortal,\n FloatingFocusManager,\n UseFloatingOptions,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport * as React from \"react\";\nimport { getThemeAndDensity } from \"./utils\";\n\ntype ClickOptions = Parameters<typeof useClick>[1];\ntype DismissOptions = Parameters<typeof useDismiss>[1];\ntype FocusOptions = Parameters<typeof useFocus>[1];\ntype HoverOptions = Parameters<typeof useHover>[1];\ntype RoleOptions = Parameters<typeof useRole>[1];\n\ninterface PopoverOptions {\n /**\n * Angir om popoveren er åpen eller lukket.\n * @see https://floating-ui.com/docs/useFloating#open\n */\n open?: boolean;\n /**\n * Callback som trigges når popoveren åpnes eller lukkes.\n * @see https://floating-ui.com/docs/useFloating#onOpenChange\n */\n onOpenChange?: UseFloatingOptions[\"onOpenChange\"];\n /**\n * Bestemmer plasseringen av popoveren.\n * @default \"bottom-start\"\n * @see https://floating-ui.com/docs/useFloating#placement\n */\n placement?: UseFloatingOptions[\"placement\"];\n /**\n * Definerer strategien for posisjonering av popoveren.\n * @default \"absolute\"\n * @see https://floating-ui.com/docs/useFloating#strategy\n */\n strategy?: UseFloatingOptions[\"strategy\"];\n /**\n * Angir om popoveren skal fungere som en modal, der fokus er låst til det flytende elementet\n * og innhold utenfor ikke kan interageres med.\n * @default true\n * @see https://floating-ui.com/docs/useFloating#modal\n */\n modal?: boolean;\n /**\n * Offset til det flytende elementet.\n * @see https://floating-ui.com/docs/offset\n * @default 4\n * */\n /**\n * Justerer avstanden mellom referanse-elementet og popoveren.\n * @see https://floating-ui.com/docs/offset\n * @default 4\n */\n offset?: number;\n /**\n * Options for hover-interaksjoner.\n * @see https://floating-ui.com/docs/useHover\n * @default { enabled: false }\n */\n hoverOptions?: HoverOptions;\n /**\n * Options for fokus-interaksjoner.\n * @see https://floating-ui.com/docs/useFocus\n * @default { enabled: false }\n */\n focusOptions?: FocusOptions;\n /**\n * Options for klikk-interaksjoner.\n * @see https://floating-ui.com/docs/useClick\n * @default { enabled: false }\n */\n clickOptions?: ClickOptions;\n /**\n * Konfigurerer rollen for popoveren.\n * @see https://floating-ui.com/docs/useRole\n * @default { enabled: true, role: \"dialog\" }\n */\n roleOptions?: RoleOptions;\n /**\n * Options for å lukke popoveren når en dismissal skjer,\n * som ved å klikke utenfor eller trykke på \"Escape\"-tasten.\n * @see https://floating-ui.com/docs/useDismiss\n * @default { enabled: true }\n */\n dismissOptions?: DismissOptions;\n}\n\nconst usePopover = ({\n open: _open,\n onOpenChange: _onOpenChange,\n placement = \"bottom-start\",\n strategy = \"absolute\",\n modal = true,\n offset: _offset = 4,\n hoverOptions,\n focusOptions,\n clickOptions,\n roleOptions,\n dismissOptions,\n}: PopoverOptions) => {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(_open);\n\n const open = _open ?? uncontrolledOpen;\n const onOpenChange = _onOpenChange ?? setUncontrolledOpen;\n\n const data = useFloating({\n open,\n onOpenChange,\n placement,\n strategy,\n middleware: [\n offset(_offset),\n flip({ padding: 5, fallbackPlacements: [\"bottom\", \"top\"] }),\n shift({ padding: 12 }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const context = data.context;\n\n const click = useClick(context, {\n enabled: false,\n ...clickOptions,\n });\n const hover = useHover(context, { enabled: false, ...hoverOptions });\n const focus = useFocus(context, { enabled: false, ...focusOptions });\n const dismiss = useDismiss(context, dismissOptions);\n const role = useRole(context, roleOptions);\n\n const interactions = useInteractions([click, dismiss, focus, hover, role]);\n\n return React.useMemo(\n () => ({\n open,\n onOpenChange,\n modal,\n ...interactions,\n ...data,\n }),\n [open, onOpenChange, modal, interactions, data],\n );\n};\n\ntype PopoverContextType = ReturnType<typeof usePopover> | null;\n\nconst PopoverContext = React.createContext<PopoverContextType>(null);\n\nconst usePopoverContext = () => {\n const context = React.useContext(PopoverContext);\n\n if (context == null) {\n throw new Error(\"Popover komponenter må brukes innenfor en <Popover /> komponent\");\n }\n\n return context;\n};\n\nconst Popover = ({\n children,\n ...restOptions\n}: {\n children: React.ReactNode;\n} & PopoverOptions) => {\n const popover = usePopover({ ...restOptions });\n return <PopoverContext.Provider value={popover}>{children}</PopoverContext.Provider>;\n};\n\ninterface PopoverTriggerProps {\n children: React.ReactNode;\n /**\n * Rendrer komponenten som child-elementet sitt, og slår\n * sammen egenskaper og props.\n * @example\n * ```tsx\n * <Component asChild foo=\"bar\">\n * <Child baz=\"qux\" />\n * </Component>\n *\n * // Rendrer følgende:\n * <Child foo=\"bar\" baz=\"qux\" />\n * ```\n *\n * @default false\n */\n asChild?: boolean;\n}\n\nconst PopoverTrigger = React.forwardRef<HTMLElement, React.HTMLProps<HTMLElement> & PopoverTriggerProps>(\n function PopoverTrigger({ children, asChild = false, ...props }, propRef) {\n const { refs, getReferenceProps, open, onOpenChange } = usePopoverContext();\n const childrenRef = (children as any).ref;\n const ref = useMergeRefs([refs.setReference, propRef, childrenRef]);\n\n if (asChild && React.isValidElement(children)) {\n return React.cloneElement(\n children,\n getReferenceProps({\n ref,\n ...props,\n ...children.props,\n }),\n );\n }\n\n return (\n <button ref={ref} onClick={() => onOpenChange?.(!open)} aria-expanded={open} {...getReferenceProps(props)}>\n {children}\n </button>\n );\n },\n);\n\ninterface PopoverContentProps {\n /**\n * Padding rundt innholdet i popoveren.\n * @default 0\n */\n padding?: 0 | 8 | 16 | 24;\n}\n\nconst PopoverContent = React.forwardRef<HTMLDivElement, React.HTMLProps<HTMLDivElement> & PopoverContentProps>(\n function PopoverContent({ style, className, padding, ...props }, propRef) {\n const { context, modal, refs, open, floatingStyles, getFloatingProps } = usePopoverContext();\n const ref = useMergeRefs([refs.setFloating, propRef]);\n\n const { theme, density } = getThemeAndDensity(refs.reference.current as HTMLElement);\n\n if (!open) return null;\n\n return (\n <FloatingPortal>\n <FloatingFocusManager context={context} modal={modal}>\n <div\n data-theme={theme}\n data-layout-density={density}\n className={clsx(\"jkl jkl-popover\", className)}\n ref={ref}\n style={\n {\n ...style,\n ...floatingStyles,\n \"--popover-padding\": `var(--jkl-spacing-${padding})`,\n } as React.CSSProperties\n }\n {...getFloatingProps(props)}\n >\n {props.children}\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n );\n },\n);\n\nPopover.Trigger = PopoverTrigger;\nPopover.Content = PopoverContent;\n\nexport default Popover;\n"],"names":["PopoverContext","React","createContext","usePopoverContext","context","useContext","Error","Popover","children","restOptions","popover","open","_open","onOpenChange","_onOpenChange","placement","strategy","modal","offset","_offset","hoverOptions","focusOptions","clickOptions","roleOptions","dismissOptions","uncontrolledOpen","setUncontrolledOpen","useState","data","useFloating","middleware","flip","padding","fallbackPlacements","shift","whileElementsMounted","autoUpdate","click","useClick","enabled","hover","useHover","focus","useFocus","dismiss","useDismiss","role","useRole","interactions","useInteractions","useMemo","usePopover","Provider","value","PopoverTrigger","forwardRef","asChild","props","propRef","refs","getReferenceProps","childrenRef","ref","useMergeRefs","setReference","isValidElement","cloneElement","jsx","onClick","PopoverContent","style","className","floatingStyles","getFloatingProps","setFloating","theme","density","getThemeAndDensity","reference","current","FloatingPortal","FloatingFocusManager","clsx","Trigger","Content"],"mappings":"4ZAqGA,MA0DMA,EAAiBC,EAAMC,cAAkC,MAEzDC,EAAoB,KAChBC,MAAAA,EAAUH,EAAMI,WAAWL,GAEjC,GAAe,MAAXI,EACM,MAAA,IAAIE,MAAM,mEAGbF,OAAAA,CAAAA,EAGLG,EAAU,EACZC,SAAAA,KACGC,MAIH,MAAMC,EA5ES,GACfC,KAAMC,EACNC,aAAcC,EACdC,UAAAA,EAAY,eACZC,SAAAA,EAAW,WACXC,MAAAA,GAAQ,EACRC,OAAQC,EAAU,EAClBC,aAAAA,EACAC,aAAAA,EACAC,aAAAA,EACAC,YAAAA,EACAC,eAAAA,MAEA,MAAOC,EAAkBC,GAAuBzB,EAAM0B,SAASf,GAEzDD,EAAOC,GAASa,EAChBZ,EAAeC,GAAiBY,EAEhCE,EAAOC,EAAY,CACrBlB,KAAAA,EACAE,aAAAA,EACAE,UAAAA,EACAC,SAAAA,EACAc,WAAY,CACRZ,EAAOC,GACPY,EAAK,CAAEC,QAAS,EAAGC,mBAAoB,CAAC,SAAU,SAClDC,EAAM,CAAEF,QAAS,MAErBG,qBAAsBC,IAGpBhC,EAAUwB,EAAKxB,QAEfiC,EAAQC,EAASlC,EAAS,CAC5BmC,SAAS,KACNjB,IAEDkB,EAAQC,EAASrC,EAAS,CAAEmC,SAAS,KAAUnB,IAC/CsB,EAAQC,EAASvC,EAAS,CAAEmC,SAAS,KAAUlB,IAC/CuB,EAAUC,EAAWzC,EAASoB,GAC9BsB,EAAOC,EAAQ3C,EAASmB,GAExByB,EAAeC,EAAgB,CAACZ,EAAOO,EAASF,EAAOF,EAAOM,IAEpE,OAAO7C,EAAMiD,SACT,KAAO,CACHvC,KAAAA,EACAE,aAAAA,EACAI,MAAAA,KACG+B,KACApB,KAEP,CAACjB,EAAME,EAAcI,EAAO+B,EAAcpB,GAAI,EAwBlCuB,CAAW,IAAK1C,aACxBT,EAAeoD,SAAf,CAAwBC,MAAO3C,EAAUF,SAAAA,GAAS,EAuBxD8C,EAAiBrD,EAAMsD,YACzB,UAA0B/C,SAAAA,EAAUgD,QAAAA,GAAU,KAAUC,GAASC,GACvD,MAAEC,KAAAA,EAAMC,kBAAAA,EAAmBjD,KAAAA,EAAME,aAAAA,GAAiBV,IAClD0D,EAAerD,EAAiBsD,IAChCA,EAAMC,EAAa,CAACJ,EAAKK,aAAcN,EAASG,IAEtD,OAAIL,GAAWvD,EAAMgE,eAAezD,GACzBP,EAAMiE,aACT1D,EACAoD,EAAkB,CACdE,IAAAA,KACGL,KACAjD,EAASiD,SAMnBU,EAAA,SAAA,CAAOL,IAAAA,EAAUM,QAAS,IAAM,MAAAvD,OAAA,EAAAA,GAAgBF,GAAO,gBAAeA,KAAUiD,EAAkBH,GAC9FjD,SAAAA,GAGb,IAWE6D,EAAiBpE,EAAMsD,YACzB,UAA0Be,MAAAA,EAAOC,UAAAA,EAAWvC,QAAAA,KAAYyB,GAASC,GACvD,MAAEtD,QAAAA,EAASa,MAAAA,EAAO0C,KAAAA,EAAMhD,KAAAA,EAAM6D,eAAAA,EAAgBC,iBAAAA,GAAqBtE,IACnE2D,EAAMC,EAAa,CAACJ,EAAKe,YAAahB,KAEpCiB,MAAAA,EAAOC,QAAAA,GAAYC,EAAmBlB,EAAKmB,UAAUC,SAEzD,OAACpE,EAGAwD,EAAAa,EAAA,CACGxE,SAAC2D,EAAAc,EAAA,CAAqB7E,QAAAA,EAAkBa,MAAAA,EACpCT,SAAA2D,EAAC,MAAA,CACG,aAAYQ,EACZ,sBAAqBC,EACrBL,UAAWW,EAAK,kBAAmBX,GACnCT,IAAAA,EACAQ,MACI,IACOA,KACAE,EACH,oBAAqB,qBAAqBxC,SAG9CyC,EAAiBhB,GAEpBjD,SAAMiD,EAAAjD,eAnBL,IAwBtB,IAGJD,EAAQ4E,QAAU7B,EAClB/C,EAAQ6E,QAAUf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=e=>{if(!e)return{};const t=getComputedStyle(e);return{theme:parseInt(t.getPropertyValue("--jkl-background-color").replace("#",""),16)<8388607.5?"dark":"light",density:'"compact"'===t.getPropertyValue("--jkl-density")?"compact":"comfortable"}};export{e as getThemeAndDensity};
|
|
2
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/components/popover/utils.ts"],"sourcesContent":["export const getThemeAndDensity = (element: HTMLElement | null): { theme?: string; density?: string } => {\n if (!element) return {};\n\n const computedStyles = getComputedStyle(element);\n\n const theme =\n parseInt(computedStyles.getPropertyValue(\"--jkl-background-color\").replace(\"#\", \"\"), 16) < 0xffffff / 2\n ? \"dark\"\n : \"light\";\n\n const density = computedStyles.getPropertyValue(\"--jkl-density\") === '\"compact\"' ? \"compact\" : \"comfortable\";\n\n return { theme, density };\n};\n"],"names":["getThemeAndDensity","element","computedStyles","getComputedStyle","theme","parseInt","getPropertyValue","replace","density"],"mappings":"AAAa,MAAAA,EAAsBC,IAC3B,IAACA,EAAS,MAAO,GAEfC,MAAAA,EAAiBC,iBAAiBF,GASjC,MAAA,CAAEG,MANLC,SAASH,EAAeI,iBAAiB,0BAA0BC,QAAQ,IAAK,IAAK,IAAM,UACrF,OACA,QAIMC,QAFqD,cAArDN,EAAeI,iBAAiB,iBAAmC,UAAY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"../../../clsx-BeLtu-UY.js";import"react";import"../../hooks/useScreen/useScreen.js";import"../../hooks/useId/useId.js";import"../icon/Icon.js";import"../icon/icons/animated/ArrowVerticalAnimated.js";import"../icon/icons/animated/ArrowHorizontalAnimated.js";import"../icon/icons/animated/PlusRemoveAnimated.js";import"../icon/icons/ArrowDownIcon.js";import"../icon/icons/ArrowLeftIcon.js";import"../icon/icons/ArrowNorthEastIcon.js";import"../icon/icons/ArrowRightIcon.js";import"../icon/icons/ArrowUpIcon.js";import"../icon/icons/CalendarIcon.js";import"../icon/icons/CheckIcon.js";import"../icon/icons/ChevronDownIcon.js";import"../icon/icons/ChevronLeftIcon.js";import"../icon/icons/ChevronRightIcon.js";import"../icon/icons/ChevronUpIcon.js";import"../icon/icons/CloseIcon.js";import"../icon/icons/CopyIcon.js";import"../icon/icons/DotsIcon.js";import"../icon/icons/DragIcon.js";import"../icon/icons/ErrorIcon.js";import"../icon/icons/GreenCheckIcon.js";import"../icon/icons/HamburgerIcon.js";import"../icon/icons/InfoIcon.js";import"../icon/icons/LinkIcon.js";import"../icon/icons/PlusIcon.js";import"../icon/icons/QuestionIcon.js";import"../icon/icons/RedCrossIcon.js";import"../icon/icons/SearchIcon.js";import"../icon/icons/SuccessIcon.js";import"../icon/icons/WarningIcon.js";import"../icon/icons/MinusIcon.js";import"../icon/icons/ThumbDownIcon.js";import"../icon/icons/ThumbUpIcon.js";import"../icon/icons/TrashCanIcon.js";import"../icon/icons/PenIcon.js";import"../button/Button.js";import"../card/Card.js";import"../card/CardImage.js";import"../card/NavCard.js";import"../checkbox/Checkbox.js";import"../combobox/Combobox.js";import"../cookie-consent/CookieConsentContext.js";import"react-dom";import"../modal/Modal.js";import"react-a11y-dialog";import"../list/List.js";import"../list/ListItem.js";import"../datepicker/DatePicker.js";import"../
|
|
1
|
+
import"react/jsx-runtime";import"../../../clsx-BeLtu-UY.js";import"react";import"../../hooks/useScreen/useScreen.js";import"../../hooks/useId/useId.js";import"../icon/Icon.js";import"../icon/icons/animated/ArrowVerticalAnimated.js";import"../icon/icons/animated/ArrowHorizontalAnimated.js";import"../icon/icons/animated/PlusRemoveAnimated.js";import"../icon/icons/ArrowDownIcon.js";import"../icon/icons/ArrowLeftIcon.js";import"../icon/icons/ArrowNorthEastIcon.js";import"../icon/icons/ArrowRightIcon.js";import"../icon/icons/ArrowUpIcon.js";import"../icon/icons/CalendarIcon.js";import"../icon/icons/CheckIcon.js";import"../icon/icons/ChevronDownIcon.js";import"../icon/icons/ChevronLeftIcon.js";import"../icon/icons/ChevronRightIcon.js";import"../icon/icons/ChevronUpIcon.js";import"../icon/icons/CloseIcon.js";import"../icon/icons/CopyIcon.js";import"../icon/icons/DotsIcon.js";import"../icon/icons/DragIcon.js";import"../icon/icons/ErrorIcon.js";import"../icon/icons/GreenCheckIcon.js";import"../icon/icons/HamburgerIcon.js";import"../icon/icons/InfoIcon.js";import"../icon/icons/LinkIcon.js";import"../icon/icons/PlusIcon.js";import"../icon/icons/QuestionIcon.js";import"../icon/icons/RedCrossIcon.js";import"../icon/icons/SearchIcon.js";import"../icon/icons/SuccessIcon.js";import"../icon/icons/WarningIcon.js";import"../icon/icons/MinusIcon.js";import"../icon/icons/ThumbDownIcon.js";import"../icon/icons/ThumbUpIcon.js";import"../icon/icons/TrashCanIcon.js";import"../icon/icons/PenIcon.js";import"../button/Button.js";import"../card/Card.js";import"../card/CardImage.js";import"../card/NavCard.js";import"../checkbox/Checkbox.js";import"../combobox/Combobox.js";import"../cookie-consent/CookieConsentContext.js";import"react-dom";import"../modal/Modal.js";import"react-a11y-dialog";import"../list/List.js";import"../list/ListItem.js";import"../datepicker/DatePicker.js";import"../feedback/feedbackContext.js";import"../message/Message.js";import"../message/FormErrorMessage.js";import"../tooltip/Tooltip.js";import"../tooltip/TooltipContent.js";import"../tooltip/TooltipTrigger.js";import"../input-group/InputGroup.js";import"../feedback/followup/followupContext.js";import"../feedback/main-question/mainQuestionContext.js";import"../radio-button/RadioButton.js";import"../radio-button/radioGroupContext.js";import"../radio-button/BaseRadioButton.js";import"../text-input/BaseTextArea.js";import"../text-input/BaseTextInput.js";import"../text-input/TextArea.js";import"../text-input/TextInput.js";import"../../utilities/polymorphism/SlotComponent.js";import"../../utilities/valuePair.js";import"../icon-button/IconButton.js";import"../link/Link.js";import"../link/NavLink.js";import"../link-list/LinkList.js";import"../popover/Popover.js";import{N as o}from"../../../NativeSelect-CfNZEQF0.js";import"../tag/Tag.js";export{o as NativeSelect};
|
|
2
2
|
//# sourceMappingURL=NativeSelect.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"../../../clsx-BeLtu-UY.js";import"react";import"../../hooks/useAnimatedHeight/useAnimatedHeight.js";import"../../hooks/usePreviousValue/usePreviousValue.js";import"../../hooks/useScreen/useScreen.js";import"../../hooks/useId/useId.js";import"../../hooks/useListNavigation/useListNavigation.js";import"../icon/Icon.js";import"../icon/icons/animated/ArrowVerticalAnimated.js";import"../icon/icons/animated/ArrowHorizontalAnimated.js";import"../icon/icons/animated/PlusRemoveAnimated.js";import"../icon/icons/ArrowDownIcon.js";import"../icon/icons/ArrowLeftIcon.js";import"../icon/icons/ArrowNorthEastIcon.js";import"../icon/icons/ArrowRightIcon.js";import"../icon/icons/ArrowUpIcon.js";import"../icon/icons/CalendarIcon.js";import"../icon/icons/CheckIcon.js";import"../icon/icons/ChevronDownIcon.js";import"../icon/icons/ChevronLeftIcon.js";import"../icon/icons/ChevronRightIcon.js";import"../icon/icons/ChevronUpIcon.js";import"../icon/icons/CloseIcon.js";import"../icon/icons/CopyIcon.js";import"../icon/icons/DotsIcon.js";import"../icon/icons/DragIcon.js";import"../icon/icons/ErrorIcon.js";import"../icon/icons/GreenCheckIcon.js";import"../icon/icons/HamburgerIcon.js";import"../icon/icons/InfoIcon.js";import"../icon/icons/LinkIcon.js";import"../icon/icons/PlusIcon.js";import"../icon/icons/QuestionIcon.js";import"../icon/icons/RedCrossIcon.js";import"../icon/icons/SearchIcon.js";import"../icon/icons/SuccessIcon.js";import"../icon/icons/WarningIcon.js";import"../icon/icons/MinusIcon.js";import"../icon/icons/ThumbDownIcon.js";import"../icon/icons/ThumbUpIcon.js";import"../icon/icons/TrashCanIcon.js";import"../icon/icons/PenIcon.js";import"../button/Button.js";import"../card/Card.js";import"../card/CardImage.js";import"../card/NavCard.js";import"../checkbox/Checkbox.js";import"../combobox/Combobox.js";import"../cookie-consent/CookieConsentContext.js";import"react-dom";import"../modal/Modal.js";import"react-a11y-dialog";import"../list/List.js";import"../list/ListItem.js";import"../datepicker/DatePicker.js";import"../
|
|
1
|
+
import"react/jsx-runtime";import"../../../clsx-BeLtu-UY.js";import"react";import"../../hooks/useAnimatedHeight/useAnimatedHeight.js";import"../../hooks/usePreviousValue/usePreviousValue.js";import"../../hooks/useScreen/useScreen.js";import"../../hooks/useId/useId.js";import"../../hooks/useListNavigation/useListNavigation.js";import"../icon/Icon.js";import"../icon/icons/animated/ArrowVerticalAnimated.js";import"../icon/icons/animated/ArrowHorizontalAnimated.js";import"../icon/icons/animated/PlusRemoveAnimated.js";import"../icon/icons/ArrowDownIcon.js";import"../icon/icons/ArrowLeftIcon.js";import"../icon/icons/ArrowNorthEastIcon.js";import"../icon/icons/ArrowRightIcon.js";import"../icon/icons/ArrowUpIcon.js";import"../icon/icons/CalendarIcon.js";import"../icon/icons/CheckIcon.js";import"../icon/icons/ChevronDownIcon.js";import"../icon/icons/ChevronLeftIcon.js";import"../icon/icons/ChevronRightIcon.js";import"../icon/icons/ChevronUpIcon.js";import"../icon/icons/CloseIcon.js";import"../icon/icons/CopyIcon.js";import"../icon/icons/DotsIcon.js";import"../icon/icons/DragIcon.js";import"../icon/icons/ErrorIcon.js";import"../icon/icons/GreenCheckIcon.js";import"../icon/icons/HamburgerIcon.js";import"../icon/icons/InfoIcon.js";import"../icon/icons/LinkIcon.js";import"../icon/icons/PlusIcon.js";import"../icon/icons/QuestionIcon.js";import"../icon/icons/RedCrossIcon.js";import"../icon/icons/SearchIcon.js";import"../icon/icons/SuccessIcon.js";import"../icon/icons/WarningIcon.js";import"../icon/icons/MinusIcon.js";import"../icon/icons/ThumbDownIcon.js";import"../icon/icons/ThumbUpIcon.js";import"../icon/icons/TrashCanIcon.js";import"../icon/icons/PenIcon.js";import"../button/Button.js";import"../card/Card.js";import"../card/CardImage.js";import"../card/NavCard.js";import"../checkbox/Checkbox.js";import"../combobox/Combobox.js";import"../cookie-consent/CookieConsentContext.js";import"react-dom";import"../modal/Modal.js";import"react-a11y-dialog";import"../list/List.js";import"../list/ListItem.js";import"../datepicker/DatePicker.js";import"../feedback/feedbackContext.js";import"../message/Message.js";import"../message/FormErrorMessage.js";import"../tooltip/Tooltip.js";import"../tooltip/TooltipContent.js";import"../tooltip/TooltipTrigger.js";import"../input-group/InputGroup.js";import"../feedback/followup/followupContext.js";import"../feedback/main-question/mainQuestionContext.js";import"../radio-button/RadioButton.js";import"../radio-button/radioGroupContext.js";import"../radio-button/BaseRadioButton.js";import"../text-input/BaseTextArea.js";import"../text-input/BaseTextInput.js";import"../text-input/TextArea.js";import"../text-input/TextInput.js";import"../../utilities/polymorphism/SlotComponent.js";import"../../utilities/valuePair.js";import"../icon-button/IconButton.js";import"../link/Link.js";import"../link/NavLink.js";import"../link-list/LinkList.js";import"../popover/Popover.js";import{S as o}from"../../../NativeSelect-CfNZEQF0.js";import"../tag/Tag.js";import"./select-utils.js";export{o as Select};
|
|
2
2
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{N as e,S as t}from"../../../NativeSelect-
|
|
1
|
+
import{N as e,S as t}from"../../../NativeSelect-CfNZEQF0.js";export{e as NativeSelect,t as Select};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as t,jsx as n}from"react/jsx-runtime";import i
|
|
1
|
+
import{jsxs as t,jsx as n}from"react/jsx-runtime";import{c as i}from"../../../clsx-BeLtu-UY.js";import{forwardRef as a}from"react";import{IconButton as e}from"../icon-button/IconButton.js";function s(t,n){return t?{width:t}:n?{width:`calc(${Math.min(n,40)}ch + 24px)`}:void 0}const o=a(((a,o)=>{const{action:l,align:r="left","aria-invalid":c,className:u="",density:p,maxLength:m,style:d,type:x="text",unit:h,width:f,...j}=a;return t("div",{className:"jkl-text-input-wrapper","data-invalid":c,style:{...d,...s(f,m)},children:[n("input",{"aria-invalid":c,ref:o,className:i("jkl-text-input__input",u,{"jkl-text-input__input--align-right":"right"===r}),maxLength:m,type:x,...j}),h&&n("span",{className:"jkl-text-input__unit",children:h}),l&&n(e,{density:p,className:i("jkl-text-input-action-button",l.className),title:l.label,onClick:l.onClick,onFocus:l.onFocus,onBlur:l.onBlur,ref:l.buttonRef,type:l.type||"button",children:l.icon})]})}));o.displayName="BaseInputField";export{o as BaseTextInput};
|
|
2
2
|
//# sourceMappingURL=BaseTextInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTextInput.js","sources":["../../../../src/components/text-input/BaseTextInput.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"BaseTextInput.js","sources":["../../../../src/components/text-input/BaseTextInput.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {\n type CSSProperties,\n forwardRef,\n type MouseEventHandler,\n type ReactNode,\n InputHTMLAttributes,\n HTMLProps,\n} from \"react\";\nimport { Density } from \"../../core\";\nimport { IconProps } from \"../icon\";\nimport { IconButton } from \"../icon-button\";\n\nfunction getWidthAsStyle(width?: string, maxLength?: number): CSSProperties | undefined {\n if (width) {\n return { width }; // prioritize width prop\n }\n\n if (maxLength) {\n // adapt to maxLength, but capped at 40ch\n const length = `${Math.min(maxLength, 40)}ch`;\n const padding = \"24px\"; // left + right padding\n return { width: `calc(${length} + ${padding})` };\n }\n\n return undefined;\n}\n\ninterface ActionBaseProps extends Exclude<HTMLProps<HTMLButtonElement>, \"disabled\"> {\n icon: React.ReactElement<IconProps>;\n label: string;\n buttonRef?: React.Ref<HTMLButtonElement>;\n}\n\nexport interface ActionButton extends ActionBaseProps {\n type?: \"button\" | \"reset\";\n onClick: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport interface ActionSubmit extends ActionBaseProps {\n type: \"submit\";\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport type Action = ActionButton | ActionSubmit;\n\nexport interface BaseTextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"children\"> {\n /**\n * Brukes til inputfelter hvor det brukes maskering, for formatering av store tall. Brukes typisk bare til valuta.\n * @default \"left\"\n */\n align?: \"left\" | \"right\";\n action?: Action;\n density?: Density;\n /**\n * Benevnelse for feltet. Unngå å bruke både benevnelse og handling samtidig\n * @example \"kr\"\n * */\n unit?: ReactNode;\n width?: string;\n}\n\nexport const BaseTextInput = forwardRef<HTMLInputElement, BaseTextInputProps>((props, ref) => {\n const {\n action,\n align = \"left\",\n \"aria-invalid\": ariaInvalid,\n className = \"\",\n density,\n maxLength,\n style,\n type = \"text\",\n unit,\n width,\n ...rest\n } = props;\n\n return (\n <div\n className=\"jkl-text-input-wrapper\"\n data-invalid={ariaInvalid}\n style={{ ...style, ...getWidthAsStyle(width, maxLength) }}\n >\n <input\n aria-invalid={ariaInvalid}\n ref={ref}\n className={clsx(\"jkl-text-input__input\", className, {\n \"jkl-text-input__input--align-right\": align === \"right\",\n })}\n maxLength={maxLength}\n type={type}\n {...rest}\n />\n {unit && <span className=\"jkl-text-input__unit\">{unit}</span>}\n {action && (\n <IconButton\n density={density}\n className={clsx(\"jkl-text-input-action-button\", action.className)}\n title={action.label}\n onClick={action.onClick}\n onFocus={action.onFocus}\n onBlur={action.onBlur}\n ref={action.buttonRef}\n type={action.type || \"button\"}\n >\n {action.icon}\n </IconButton>\n )}\n </div>\n );\n});\n\nBaseTextInput.displayName = \"BaseInputField\";\n"],"names":["getWidthAsStyle","width","maxLength","Math","min","BaseTextInput","forwardRef","props","ref","action","align","ariaInvalid","className","density","style","type","unit","rest","jsxs","children","jsx","clsx","IconButton","title","label","onClick","onFocus","onBlur","buttonRef","icon","displayName"],"mappings":"6LAaA,SAASA,EAAgBC,EAAgBC,GACjCD,OAAAA,EACO,CAAEA,MAAAA,GAGTC,EAIO,CAAED,MAAO,QAFEE,KAAKC,IAAIF,EAAW,sBAFtCA,CAQR,CAoCO,MAAMG,EAAgBC,GAAiD,CAACC,EAAOC,KAC5E,MACFC,OAAAA,EACAC,MAAAA,EAAQ,OACR,eAAgBC,EAChBC,UAAAA,EAAY,GACZC,QAAAA,EACAX,UAAAA,EACAY,MAAAA,EACAC,KAAAA,EAAO,OACPC,KAAAA,EACAf,MAAAA,KACGgB,GACHV,EAGA,OAAAW,EAAC,MAAA,CACGN,UAAU,yBACV,eAAcD,EACdG,MAAO,IAAKA,KAAUd,EAAgBC,EAAOC,IAE7CiB,SAAA,CAAAC,EAAC,QAAA,CACG,eAAcT,EACdH,IAAAA,EACAI,UAAWS,EAAK,wBAAyBT,EAAW,CAChD,qCAAgD,UAAVF,IAE1CR,UAAAA,EACAa,KAAAA,KACIE,IAEPD,GAAQI,EAAC,OAAK,CAAAR,UAAU,uBAAwBO,SAAKH,IACrDP,GACGW,EAACE,EAAA,CACGT,QAAAA,EACAD,UAAWS,EAAK,+BAAgCZ,EAAOG,WACvDW,MAAOd,EAAOe,MACdC,QAAShB,EAAOgB,QAChBC,QAASjB,EAAOiB,QAChBC,OAAQlB,EAAOkB,OACfnB,IAAKC,EAAOmB,UACZb,KAAMN,EAAOM,MAAQ,SAEpBI,SAAOV,EAAAoB,SACZ,IAMhBxB,EAAcyB,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import n
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{c as n}from"../../../clsx-BeLtu-UY.js";import{forwardRef as i}from"react";import"../../hooks/useScreen/useScreen.js";import"../../hooks/useId/useId.js";import"../tooltip/Tooltip.js";import"../tooltip/TooltipContent.js";import"../tooltip/TooltipTrigger.js";import"../icon/Icon.js";import"../icon/icons/animated/ArrowVerticalAnimated.js";import"../icon/icons/animated/ArrowHorizontalAnimated.js";import"../icon/icons/animated/PlusRemoveAnimated.js";import"../icon/icons/ArrowDownIcon.js";import"../icon/icons/ArrowLeftIcon.js";import"../icon/icons/ArrowNorthEastIcon.js";import"../icon/icons/ArrowRightIcon.js";import"../icon/icons/ArrowUpIcon.js";import"../icon/icons/CalendarIcon.js";import"../icon/icons/CheckIcon.js";import"../icon/icons/ChevronDownIcon.js";import"../icon/icons/ChevronLeftIcon.js";import"../icon/icons/ChevronRightIcon.js";import"../icon/icons/ChevronUpIcon.js";import"../icon/icons/CloseIcon.js";import"../icon/icons/CopyIcon.js";import"../icon/icons/DotsIcon.js";import"../icon/icons/DragIcon.js";import"../icon/icons/ErrorIcon.js";import"../icon/icons/GreenCheckIcon.js";import"../icon/icons/HamburgerIcon.js";import"../icon/icons/InfoIcon.js";import"../icon/icons/LinkIcon.js";import"../icon/icons/PlusIcon.js";import"../icon/icons/QuestionIcon.js";import"../icon/icons/RedCrossIcon.js";import"../icon/icons/SearchIcon.js";import"../icon/icons/SuccessIcon.js";import"../icon/icons/WarningIcon.js";import"../icon/icons/MinusIcon.js";import"../icon/icons/ThumbDownIcon.js";import"../icon/icons/ThumbUpIcon.js";import"../icon/icons/TrashCanIcon.js";import"../icon/icons/PenIcon.js";import{InputGroup as r}from"../input-group/InputGroup.js";import{BaseTextArea as s}from"./BaseTextArea.js";const c=i(((i,c)=>{const{autoExpand:t,className:e,counter:p,density:a,errorLabel:m,helpLabel:j,inline:l,label:I,labelProps:u,startOpen:d,supportLabelProps:h,tooltipProps:x,...A}=i,b={label:I,density:a,errorLabel:m,helpLabel:j,labelProps:u,inline:l,supportLabelProps:h,tooltipProps:x},C={autoExpand:t,counter:p,startOpen:d};return o(r,{className:n("jkl-text-area",e,{"jkl-text-area--start-open":d,"jkl-text-area--auto-expand":t}),"data-testid":"jkl-text-area",...b,children:o(s,{ref:c,...A,...C})})}));c.displayName="TextArea";export{c as TextArea};
|
|
2
2
|
//# sourceMappingURL=TextArea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.js","sources":["../../../../src/components/text-input/TextArea.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"TextArea.js","sources":["../../../../src/components/text-input/TextArea.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { InputGroup, InputGroupProps } from \"../input-group\";\nimport { BaseTextArea, BaseTextAreaProps } from \"./BaseTextArea\";\n\nexport interface TextAreaProps extends Omit<InputGroupProps, \"children\">, BaseTextAreaProps {}\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>((props, ref) => {\n const {\n autoExpand,\n className,\n counter,\n density,\n errorLabel,\n helpLabel,\n inline,\n label,\n labelProps,\n startOpen,\n supportLabelProps,\n tooltipProps,\n ...rest\n } = props;\n const inputGroupProps = {\n label,\n density,\n errorLabel,\n helpLabel,\n labelProps,\n inline,\n supportLabelProps,\n tooltipProps,\n };\n const textAreaProps = { autoExpand, counter, startOpen };\n return (\n <InputGroup\n className={clsx(\"jkl-text-area\", className, {\n \"jkl-text-area--start-open\": startOpen,\n \"jkl-text-area--auto-expand\": autoExpand,\n })}\n data-testid=\"jkl-text-area\"\n {...inputGroupProps}\n >\n <BaseTextArea ref={ref} {...rest} {...textAreaProps} />\n </InputGroup>\n );\n});\nTextArea.displayName = \"TextArea\";\n"],"names":["TextArea","forwardRef","props","ref","autoExpand","className","counter","density","errorLabel","helpLabel","inline","label","labelProps","startOpen","supportLabelProps","tooltipProps","rest","inputGroupProps","textAreaProps","jsx","InputGroup","clsx","children","BaseTextArea","displayName"],"mappings":"6tDAOO,MAAMA,EAAWC,GAA+C,CAACC,EAAOC,KACrE,MACFC,WAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,kBAAAA,EACAC,aAAAA,KACGC,GACHd,EACEe,EAAkB,CACpBN,MAAAA,EACAJ,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAG,WAAAA,EACAF,OAAAA,EACAI,kBAAAA,EACAC,aAAAA,GAEEG,EAAgB,CAAEd,WAAAA,EAAYE,QAAAA,EAASO,UAAAA,GAEzC,OAAAM,EAACC,EAAA,CACGf,UAAWgB,EAAK,gBAAiBhB,EAAW,CACxC,4BAA6BQ,EAC7B,6BAA8BT,IAElC,cAAY,mBACRa,EAEJK,WAACC,EAAa,CAAApB,IAAAA,KAAca,KAAUE,KAAe,IAIjElB,EAASwB,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import i
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{c as i}from"../../../clsx-BeLtu-UY.js";import{forwardRef as n}from"react";import"../../hooks/useScreen/useScreen.js";import"../../hooks/useId/useId.js";import"../tooltip/Tooltip.js";import"../tooltip/TooltipContent.js";import"../tooltip/TooltipTrigger.js";import"../icon/Icon.js";import"../icon/icons/animated/ArrowVerticalAnimated.js";import"../icon/icons/animated/ArrowHorizontalAnimated.js";import"../icon/icons/animated/PlusRemoveAnimated.js";import"../icon/icons/ArrowDownIcon.js";import"../icon/icons/ArrowLeftIcon.js";import"../icon/icons/ArrowNorthEastIcon.js";import"../icon/icons/ArrowRightIcon.js";import"../icon/icons/ArrowUpIcon.js";import"../icon/icons/CalendarIcon.js";import"../icon/icons/CheckIcon.js";import"../icon/icons/ChevronDownIcon.js";import"../icon/icons/ChevronLeftIcon.js";import"../icon/icons/ChevronRightIcon.js";import"../icon/icons/ChevronUpIcon.js";import"../icon/icons/CloseIcon.js";import"../icon/icons/CopyIcon.js";import"../icon/icons/DotsIcon.js";import"../icon/icons/DragIcon.js";import"../icon/icons/ErrorIcon.js";import"../icon/icons/GreenCheckIcon.js";import"../icon/icons/HamburgerIcon.js";import"../icon/icons/InfoIcon.js";import"../icon/icons/LinkIcon.js";import"../icon/icons/PlusIcon.js";import"../icon/icons/QuestionIcon.js";import"../icon/icons/RedCrossIcon.js";import"../icon/icons/SearchIcon.js";import"../icon/icons/SuccessIcon.js";import"../icon/icons/WarningIcon.js";import"../icon/icons/MinusIcon.js";import"../icon/icons/ThumbDownIcon.js";import"../icon/icons/ThumbUpIcon.js";import"../icon/icons/TrashCanIcon.js";import"../icon/icons/PenIcon.js";import{InputGroup as s}from"../input-group/InputGroup.js";import{BaseTextInput as c}from"./BaseTextInput.js";const r=n(((n,r)=>{const{label:t,className:p,density:e,errorLabel:m,helpLabel:a,inline:j,inputClassName:l,labelProps:I,supportLabelProps:u,tooltipProps:d,...h}=n;return o(s,{label:t,density:e,errorLabel:m,helpLabel:a,labelProps:I,inline:j,supportLabelProps:u,tooltipProps:d,className:i(p,"jkl-text-input",{"jkl-text-input--inline":j}),"data-testid":"jkl-text-input",density:j?"compact":e,children:o(c,{ref:r,...h,className:l})})}));r.displayName="TextInput";export{r as TextInput};
|
|
2
2
|
//# sourceMappingURL=TextInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sources":["../../../../src/components/text-input/TextInput.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"TextInput.js","sources":["../../../../src/components/text-input/TextInput.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { InputGroup, InputGroupProps } from \"../input-group\";\nimport { BaseTextInput, BaseTextInputProps } from \"./BaseTextInput\";\n\nexport interface TextInputProps extends Omit<InputGroupProps, \"children\">, BaseTextInputProps {\n \"data-testautoid\"?: string;\n inline?: boolean;\n inputClassName?: string;\n}\n\nexport const TextInput = forwardRef<HTMLInputElement, TextInputProps>((props, ref) => {\n const {\n label,\n className,\n density,\n errorLabel,\n helpLabel,\n inline,\n inputClassName,\n labelProps,\n supportLabelProps,\n tooltipProps,\n ...rest\n } = props;\n const inputGroupProps = {\n label,\n density,\n errorLabel,\n helpLabel,\n labelProps,\n inline,\n supportLabelProps,\n tooltipProps,\n };\n return (\n <InputGroup\n {...inputGroupProps}\n className={clsx(className, \"jkl-text-input\", {\n \"jkl-text-input--inline\": inline,\n })}\n data-testid=\"jkl-text-input\"\n density={inline ? \"compact\" : density}\n >\n <BaseTextInput ref={ref} {...rest} className={inputClassName} />\n </InputGroup>\n );\n});\n\nTextInput.displayName = \"TextInput\";\n"],"names":["TextInput","forwardRef","props","ref","label","className","density","errorLabel","helpLabel","inline","inputClassName","labelProps","supportLabelProps","tooltipProps","rest","jsx","InputGroup","clsx","children","BaseTextInput","displayName"],"mappings":"+tDAWO,MAAMA,EAAYC,GAA6C,CAACC,EAAOC,KACpE,MACFC,MAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,OAAAA,EACAC,eAAAA,EACAC,WAAAA,EACAC,kBAAAA,EACAC,aAAAA,KACGC,GACHZ,EAYA,OAAAa,EAACC,EAAA,CAVDZ,MAAAA,EACAE,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAG,WAAAA,EACAF,OAAAA,EACAG,kBAAAA,EACAC,aAAAA,EAKIR,UAAWY,EAAKZ,EAAW,iBAAkB,CACzC,yBAA0BI,IAE9B,cAAY,iBACZH,QAASG,EAAS,UAAYH,EAE9BY,WAACC,EAAc,CAAAhB,IAAAA,KAAcW,EAAMT,UAAWK,KAAgB,IAK1EV,EAAUoB,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useMergeRefs as r,FloatingPortal as
|
|
1
|
+
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useMergeRefs as r,FloatingPortal as a}from"@floating-ui/react";import{c as o}from"../../../clsx-BeLtu-UY.js";import{LazyMotion as s,domAnimation as i,AnimatePresence as n,m as l}from"framer-motion";import{forwardRef as c}from"react";import"../../hooks/useScreen/useScreen.js";import{useId as p}from"../../hooks/useId/useId.js";import{useTooltipContext as m}from"./Tooltip.js";function d(t,e=8){switch(!0){case t.startsWith("top"):return{top:e};case t.startsWith("left"):return{left:e,right:-e};case t.startsWith("bottom"):return{top:-e};case t.startsWith("right"):return{left:-e,right:e};default:return{top:e}}}const u=c((function({className:c,children:u,...f},h){const{triggerOn:g,arrowElement:j,isOpen:k,getFloatingProps:x,placement:y,isPositioned:w,middlewareData:{arrow:v},floatingStyles:I,refs:P}=m(),N=r([h,P.setFloating]),S=p("jkl-tooltip-content");let W;if(P.reference.current){const t=getComputedStyle(P.reference.current).getPropertyValue("--jkl-background-color");W=parseInt(t.replace("#",""),16)<8388607.5?"dark":"light"}return t(a,{children:t(s,{features:i,children:e(n,{children:["hover"===g&&t("span",{ref:P.setDescription,hidden:!0,children:u},`${S}-trigger`),k&&t("span",{className:"jkl",children:e(l.span,{ref:N,initial:{opacity:0,...d(y,5)},animate:{opacity:1,...d(y,0)},exit:{opacity:0,...d(y,-5),transition:{ease:"easeIn",duration:.15}},transition:{ease:"easeOut",duration:.25},"data-placement":y,"aria-live":"click"===g?"assertive":void 0,className:o("jkl-tooltip-content",c),...x({...f,id:S}),style:{...I},"data-theme":W,children:[u,t("span",{"aria-hidden":!0,className:"jkl-tooltip-content__arrow",ref:j,style:{left:w?`${null==v?void 0:v.x}px`:"",top:w?`${null==v?void 0:v.y}px`:""}})]},S)},`${S}-wrapper`)]})})})}));export{u as TooltipContent};
|
|
2
2
|
//# sourceMappingURL=TooltipContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipContent.js","sources":["../../../../src/components/tooltip/TooltipContent.tsx"],"sourcesContent":["import { type Placement, useMergeRefs, FloatingPortal } from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport { AnimatePresence,
|
|
1
|
+
{"version":3,"file":"TooltipContent.js","sources":["../../../../src/components/tooltip/TooltipContent.tsx"],"sourcesContent":["import { type Placement, useMergeRefs, FloatingPortal } from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport { AnimatePresence, LazyMotion, domAnimation, m } from \"framer-motion\";\nimport React, { HTMLProps, forwardRef } from \"react\";\nimport { useId } from \"../../hooks\";\nimport { useTooltipContext } from \"./Tooltip\";\n\nfunction getPositionAnimation(placement: Placement, value: number = 8) {\n switch (true) {\n case placement.startsWith(\"top\"):\n return {\n top: value,\n };\n case placement.startsWith(\"left\"):\n return {\n left: value,\n right: -value,\n };\n case placement.startsWith(\"bottom\"):\n return {\n top: -value,\n };\n case placement.startsWith(\"right\"):\n return {\n left: -value,\n right: value,\n };\n\n default:\n return {\n top: value,\n };\n }\n}\n\nexport const TooltipContent = forwardRef<HTMLDivElement, HTMLProps<HTMLDivElement>>(function TooltipContent(\n { className, children, ...props },\n forwardedRef,\n) {\n const {\n triggerOn,\n arrowElement,\n isOpen,\n getFloatingProps,\n placement,\n isPositioned,\n middlewareData: { arrow },\n floatingStyles,\n refs,\n } = useTooltipContext();\n const ref = useMergeRefs([forwardedRef, refs.setFloating]);\n const contentId = useId(\"jkl-tooltip-content\");\n\n // Siden tooltipet rendres på rot må vi hente lokal dark/light-verdi fra triggeren\n // Vi må gjøre dette for å ta hensyn til at tema kan styres lokalt for deler av UIet\n let theme: string | undefined;\n if (refs.reference.current) {\n const backgroundColor = getComputedStyle(refs.reference.current as HTMLElement).getPropertyValue(\n \"--jkl-background-color\",\n );\n // Sett theme til dark hvis bakgrunnsfargen er mørkere enn 50% av hvit\n // dette gir oss slingringsmonn i tilfelle verdien av Jøkuls bakgrunnsfarge endres\n theme = parseInt(backgroundColor.replace(\"#\", \"\"), 16) < 0xffffff / 2 ? \"dark\" : \"light\";\n }\n\n return (\n <FloatingPortal>\n <LazyMotion features={domAnimation}>\n <AnimatePresence>\n {/* For å kunne bruke tekstinnholdet i tooltip som beskrivende tekst, selv når ikke\n tooltip er synlig, må vi rendre et skjult element å referere til for å hente innholdet. */}\n {triggerOn === \"hover\" && (\n <span ref={refs.setDescription} hidden key={`${contentId}-trigger`}>\n {children}\n </span>\n )}\n {isOpen && (\n <span className=\"jkl\" key={`${contentId}-wrapper`}>\n <m.span\n key={contentId}\n ref={ref}\n initial={{ opacity: 0, ...getPositionAnimation(placement, 5) }}\n animate={{ opacity: 1, ...getPositionAnimation(placement, 0) }}\n exit={{\n opacity: 0,\n ...getPositionAnimation(placement, -5),\n transition: { ease: \"easeIn\", duration: 0.15 },\n }}\n transition={{ ease: \"easeOut\", duration: 0.25 }}\n data-placement={placement}\n aria-live={triggerOn === \"click\" ? \"assertive\" : undefined}\n className={clsx(\"jkl-tooltip-content\", className)}\n {...getFloatingProps({ ...props, id: contentId })}\n style={{ ...floatingStyles }}\n data-theme={theme}\n >\n {children}\n <span\n aria-hidden\n className=\"jkl-tooltip-content__arrow\"\n ref={arrowElement}\n style={{\n left: isPositioned ? `${arrow?.x}px` : \"\",\n top: isPositioned ? `${arrow?.y}px` : \"\",\n }}\n />\n </m.span>\n </span>\n )}\n </AnimatePresence>\n </LazyMotion>\n </FloatingPortal>\n );\n});\n"],"names":["getPositionAnimation","placement","value","startsWith","top","left","right","TooltipContent","forwardRef","className","children","props","forwardedRef","triggerOn","arrowElement","isOpen","getFloatingProps","isPositioned","middlewareData","arrow","floatingStyles","refs","useTooltipContext","ref","useMergeRefs","setFloating","contentId","useId","theme","reference","current","backgroundColor","getComputedStyle","getPropertyValue","parseInt","replace","FloatingPortal","jsx","LazyMotion","features","domAnimation","AnimatePresence","setDescription","hidden","jsxs","m","span","initial","opacity","animate","exit","transition","ease","duration","clsx","id","style","x","y"],"mappings":"ibAOA,SAASA,EAAqBC,EAAsBC,EAAgB,GAChE,QAAQ,GACJ,KAAKD,EAAUE,WAAW,OACf,MAAA,CACHC,IAAKF,GAEb,KAAKD,EAAUE,WAAW,QACf,MAAA,CACHE,KAAMH,EACNI,OAAQJ,GAEhB,KAAKD,EAAUE,WAAW,UACf,MAAA,CACHC,KAAMF,GAEd,KAAKD,EAAUE,WAAW,SACf,MAAA,CACHE,MAAOH,EACPI,MAAOJ,GAGf,QACW,MAAA,CACHE,IAAKF,GAGrB,CAEa,MAAAK,EAAiBC,GAAsD,UAC9EC,UAAAA,EAAWC,SAAAA,KAAaC,GAC1BC,GAEM,MACFC,UAAAA,EACAC,aAAAA,EACAC,OAAAA,EACAC,iBAAAA,EACAf,UAAAA,EACAgB,aAAAA,EACAC,gBAAkBC,MAAAA,GAClBC,eAAAA,EACAC,KAAAA,GACAC,IACEC,EAAMC,EAAa,CAACZ,EAAcS,EAAKI,cACvCC,EAAYC,EAAM,uBAIpBC,IAAAA,EACAP,GAAAA,EAAKQ,UAAUC,QAAS,CACxB,MAAMC,EAAkBC,iBAAiBX,EAAKQ,UAAUC,SAAwBG,iBAC5E,0BAIIL,EAAAM,SAASH,EAAgBI,QAAQ,IAAK,IAAK,IAAM,UAAe,OAAS,OACrF,CAEA,SACKC,EACG,CAAA1B,SAAA2B,EAACC,GAAWC,SAAUC,EAClB9B,WAAC+B,EAGI,CAAA/B,SAAA,CAAc,UAAAG,GACVwB,EAAA,OAAA,CAAKd,IAAKF,EAAKqB,eAAgBC,QAAM,EACjCjC,SAAAA,GADuC,GAAGgB,aAIlDX,GACGsB,EAAC,OAAK,CAAA5B,UAAU,MACZC,SAAAkC,EAACC,EAAEC,KAAF,CAEGvB,IAAAA,EACAwB,QAAS,CAAEC,QAAS,KAAMhD,EAAqBC,EAAW,IAC1DgD,QAAS,CAAED,QAAS,KAAMhD,EAAqBC,EAAW,IAC1DiD,KAAM,CACFF,QAAS,KACNhD,EAAqBC,GAAa,GACrCkD,WAAY,CAAEC,KAAM,SAAUC,SAAU,MAE5CF,WAAY,CAAEC,KAAM,UAAWC,SAAU,KACzC,iBAAgBpD,EAChB,YAAyB,UAAdY,EAAwB,iBAAc,EACjDJ,UAAW6C,EAAK,sBAAuB7C,MACnCO,EAAiB,IAAKL,EAAO4C,GAAI7B,IACrC8B,MAAO,IAAKpC,GACZ,aAAYQ,EAEXlB,SAAA,CAAAA,EACD2B,EAAC,OAAA,CACG,eAAW,EACX5B,UAAU,6BACVc,IAAKT,EACL0C,MAAO,CACHnD,KAAMY,EAAe,GAAG,MAAAE,OAAAA,EAAAA,EAAOsC,MAAQ,GACvCrD,IAAKa,EAAe,GAAG,MAAAE,OAAAA,EAAAA,EAAOuC,MAAQ,QAxBzChC,IAFc,GAAGA,mBAoCtD"}
|
package/build/es/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{AccordionItem as o}from"./components/accordion/AccordionItem.js";import{Accordion as s}from"./components/accordion/Accordion.js";import{Breadcrumb as e}from"./components/breadcrumb/Breadcrumb.js";import{BreadcrumbItem as t}from"./components/breadcrumb/BreadcrumbItem.js";import{Button as r,PrimaryButton as n,SecondaryButton as a,TertiaryButton as i}from"./components/button/Button.js";import{Card as m}from"./components/card/Card.js";import{CardImage as c}from"./components/card/CardImage.js";import{InfoBlock as p,NavCard as u}from"./components/card/NavCard.js";import{TaskCard as l}from"./components/card/TaskCard.js";import{InfoCard as f}from"./components/card/InfoCard.js";import{Checkbox as d}from"./components/checkbox/Checkbox.js";import{Combobox as I,getComboboxValuePair as j}from"./components/combobox/Combobox.js";import{CookieConsent as k}from"./components/cookie-consent/CookieConsent.js";import{CookieConsentProvider as g,useCookieConsent as h}from"./components/cookie-consent/CookieConsentContext.js";import{isCorrectFormat as C,isWithinLowerBound as A,isWithinUpperBound as S}from"./components/datepicker/validation.js";import{dayMonthYearRegex as T,formatInput as b,isBlurTargetOutside as L,parseDateString as B}from"./components/datepicker/utils.js";import{DatePicker as R}from"./components/datepicker/DatePicker.js";import{Icon as M}from"./components/icon/Icon.js";import{ArrowVerticalAnimated as v}from"./components/icon/icons/animated/ArrowVerticalAnimated.js";import{ArrowHorizontalAnimated as E}from"./components/icon/icons/animated/ArrowHorizontalAnimated.js";import{PlusRemoveAnimated as w}from"./components/icon/icons/animated/PlusRemoveAnimated.js";import{ArrowDownIcon as O}from"./components/icon/icons/ArrowDownIcon.js";import{ArrowLeftIcon as N}from"./components/icon/icons/ArrowLeftIcon.js";import{ArrowNorthEastIcon as P}from"./components/icon/icons/ArrowNorthEastIcon.js";import{ArrowRightIcon as x}from"./components/icon/icons/ArrowRightIcon.js";import{ArrowUpIcon as G}from"./components/icon/icons/ArrowUpIcon.js";import{CalendarIcon as D}from"./components/icon/icons/CalendarIcon.js";import{CheckIcon as y}from"./components/icon/icons/CheckIcon.js";import{ChevronDownIcon as U}from"./components/icon/icons/ChevronDownIcon.js";import{ChevronLeftIcon as H}from"./components/icon/icons/ChevronLeftIcon.js";import{ChevronRightIcon as W}from"./components/icon/icons/ChevronRightIcon.js";import{ChevronUpIcon as F}from"./components/icon/icons/ChevronUpIcon.js";import{CloseIcon as K}from"./components/icon/icons/CloseIcon.js";import{CopyIcon as V}from"./components/icon/icons/CopyIcon.js";import{DotsIcon as X}from"./components/icon/icons/DotsIcon.js";import{DragIcon as _}from"./components/icon/icons/DragIcon.js";import{ErrorIcon as z}from"./components/icon/icons/ErrorIcon.js";import{GreenCheckIcon as Q}from"./components/icon/icons/GreenCheckIcon.js";import{HamburgerIcon as J}from"./components/icon/icons/HamburgerIcon.js";import{InfoIcon as Y}from"./components/icon/icons/InfoIcon.js";import{LinkIcon as q}from"./components/icon/icons/LinkIcon.js";import{PlusIcon as Z}from"./components/icon/icons/PlusIcon.js";import{QuestionIcon as $}from"./components/icon/icons/QuestionIcon.js";import{RedCrossIcon as oo}from"./components/icon/icons/RedCrossIcon.js";import{SearchIcon as so}from"./components/icon/icons/SearchIcon.js";import{SuccessIcon as eo}from"./components/icon/icons/SuccessIcon.js";import{WarningIcon as to}from"./components/icon/icons/WarningIcon.js";import{MinusIcon as ro}from"./components/icon/icons/MinusIcon.js";import{ThumbDownIcon as no}from"./components/icon/icons/ThumbDownIcon.js";import{ThumbUpIcon as ao}from"./components/icon/icons/ThumbUpIcon.js";import{TrashCanIcon as io}from"./components/icon/icons/TrashCanIcon.js";import{PenIcon as mo}from"./components/icon/icons/PenIcon.js";import{IconButton as co}from"./components/icon-button/IconButton.js";import{Image as po}from"./components/image/Image.js";import{FieldGroup as uo}from"./components/input-group/FieldGroup.js";import{InputGroup as lo}from"./components/input-group/InputGroup.js";import{Label as fo}from"./components/input-group/Label.js";import{SupportLabel as Io}from"./components/input-group/SupportLabel.js";import{Link as jo}from"./components/link/Link.js";import{NavLink as ko}from"./components/link/NavLink.js";import{LinkList as go}from"./components/link-list/LinkList.js";import{List as ho,OrderedList as Co,UnorderedList as Ao}from"./components/list/List.js";import{CheckListItem as So,CrossListItem as To,ListItem as bo}from"./components/list/ListItem.js";import{Loader as Lo}from"./components/loader/Loader.js";import{SkeletonAnimation as Bo}from"./components/loader/skeletons/SkeletonAnimation.js";import{SkeletonButton as Ro}from"./components/loader/skeletons/SkeletonButton.js";import{SkeletonCheckboxGroup as Mo}from"./components/loader/skeletons/SkeletonCheckboxGroup.js";import{SkeletonElement as vo}from"./components/loader/skeletons/SkeletonElement.js";import{SkeletonInput as Eo}from"./components/loader/skeletons/SkeletonInput.js";import{SkeletonRadioButtonGroup as wo}from"./components/loader/skeletons/SkeletonRadioButtonGroup.js";import{SkeletonTable as Oo,SkeletonTableHeader as No,SkeletonTableRow as Po}from"./components/loader/skeletons/SkeletonTable.js";import{SkeletonTextArea as xo}from"./components/loader/skeletons/SkeletonTextArea.js";import{Modal as Go,ModalActions as Do,ModalBody as yo,ModalCloseButton as Uo,ModalContainer as Ho,ModalHeader as Wo,ModalOverlay as Fo,ModalTitle as Ko}from"./components/modal/Modal.js";import{useModal as Vo}from"./components/modal/useModal.js";import{RadioButton as Xo}from"./components/radio-button/RadioButton.js";import{RadioButtonGroup as _o}from"./components/radio-button/RadioButtonGroup.js";import{BaseRadioButton as zo}from"./components/radio-button/BaseRadioButton.js";import{N as Qo,S as Jo}from"../NativeSelect-EidDABsT.js";import{ErrorTag as Yo,InfoTag as qo,SuccessTag as Zo,Tag as $o,WarningTag as os}from"./components/tag/Tag.js";import{BaseTextArea as ss}from"./components/text-input/BaseTextArea.js";import{BaseTextInput as es}from"./components/text-input/BaseTextInput.js";import{TextArea as ts}from"./components/text-input/TextArea.js";import{TextInput as rs}from"./components/text-input/TextInput.js";import{Tooltip as ns}from"./components/tooltip/Tooltip.js";import{TooltipContent as as}from"./components/tooltip/TooltipContent.js";import{TooltipTrigger as is}from"./components/tooltip/TooltipTrigger.js";import{PopupTip as ms}from"./components/tooltip/PopupTip.js";import{ScreenReaderOnly as cs}from"./components/ScreenReaderOnly.js";import{default as ps}from"./core/tokens.js";import{useAnimatedDetails as us}from"./hooks/useAnimatedDetails/useAnimatedDetails.js";import{useAnimatedHeight as ls}from"./hooks/useAnimatedHeight/useAnimatedHeight.js";import{useAnimatedHeightBetween as fs}from"./hooks/useAnimatedHeight/useAnimatedHeightBetween.js";import{useAutoAnimatedHeight as ds}from"./hooks/useAnimatedHeight/useAutoAnimateHeight.js";import{useBrowserPreferences as Is}from"./hooks/useBrowserPreferences/useBrowserPreferences.js";import{useIntersectionObserver as js}from"./hooks/useIntersectionObserver/useIntersectionObserver.js";import{useLocalStorage as ks}from"./hooks/useLocalStorage/useLocalStorage.js";import{useMutationObserver as gs}from"./hooks/useMutationObserver/useMutationObserver.js";import{usePreviousValue as hs}from"./hooks/usePreviousValue/usePreviousValue.js";import{useProgressiveImg as Cs}from"./hooks/useProgressiveImg/useProgressiveImg.js";import{useScreen as As}from"./hooks/useScreen/useScreen.js";import{useScrollIntoView as Ss}from"./hooks/useScrollIntoView/useScrollIntoView.js";import{useAriaLiveRegion as Ts}from"./hooks/useAriaLiveRegion/useAriaLiveRegion.js";import{useClickOutside as bs}from"./hooks/useClickOutside/useClickOutside.js";import{useFocusOutside as Ls}from"./hooks/useFocusOutside/useFocusOutside.js";import{useElementDimensions as Bs}from"./hooks/useElementDimensions/useElementDimensions.js";import{useId as Rs}from"./hooks/useId/useId.js";import{useKeyListener as Ms}from"./hooks/useKeyListener/useKeyListener.js";import{useListNavigation as vs}from"./hooks/useListNavigation/useListNavigation.js";import{useSwipeGesture as Es}from"./hooks/useSwipeGesture/useSwipeGesture.js";import{u as ws}from"../index-DfvUcA5T.js";import{formatNumber as Os}from"./utilities/formatters/util/formatNumber.js";import{parseNumber as Ns}from"./utilities/formatters/util/parseNumber.js";import{registerWithFodselsnummerMask as Ps,registerWithKontonummerMask as xs,registerWithKortnummerMask as Gs,registerWithMasks as Ds,registerWithTelefonnummerMask as ys}from"./utilities/formatters/util/registerWithMask.js";import{formatAvstand as Us}from"./utilities/formatters/avstand/formatAvstand.js";import{formatBytes as Hs}from"./utilities/formatters/bytes/formatBytes.js";import{formatDate as Ws}from"./utilities/formatters/date/formatDate.js";import{FODSELSNUMMER_REGEX as Fs,formatFodselsnummer as Ks}from"./utilities/formatters/fodselsnummer/formatFodselsnummer.js";import{ORGANISASJONSNUMMER_REGEX as Vs,formatOrganisasjonsnummer as Xs}from"./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js";import{KONTONUMMER_REGEX as _s,formatKontonummer as zs}from"./utilities/formatters/kontonummer/formatKontonummer.js";import{KORTNUMMER_REGEX as Qs,formatKortnummer as Js}from"./utilities/formatters/kortnummer/formatKortnummer.js";import{TELEFONNUMMER_REGEX as Ys,formatTelefonnummer as qs}from"./utilities/formatters/telefonnummer/formatTelefonnummer.js";import{formatValuta as Zs}from"./utilities/formatters/valuta/formatValuta.js";import{mergeProps as $s}from"./utilities/polymorphism/mergeProps.js";import{mergeRefs as oe}from"./utilities/polymorphism/mergeRefs.js";import{SlotComponent as se}from"./utilities/polymorphism/SlotComponent.js";import{initTabListener as ee}from"./utilities/tabListener.js";import{getValuePair as te}from"./utilities/valuePair.js";export{s as Accordion,o as AccordionItem,O as ArrowDownIcon,E as ArrowHorizontalAnimated,N as ArrowLeftIcon,P as ArrowNorthEastIcon,x as ArrowRightIcon,G as ArrowUpIcon,v as ArrowVerticalAnimated,zo as BaseRadioButton,ss as BaseTextArea,es as BaseTextInput,e as Breadcrumb,t as BreadcrumbItem,r as Button,D as CalendarIcon,m as Card,c as CardImage,y as CheckIcon,So as CheckListItem,d as Checkbox,U as ChevronDownIcon,H as ChevronLeftIcon,W as ChevronRightIcon,F as ChevronUpIcon,K as CloseIcon,I as Combobox,k as CookieConsent,g as CookieConsentProvider,V as CopyIcon,To as CrossListItem,R as DatePicker,X as DotsIcon,_ as DragIcon,z as ErrorIcon,Yo as ErrorTag,Fs as FODSELSNUMMER_REGEX,uo as FieldGroup,Q as GreenCheckIcon,J as HamburgerIcon,M as Icon,co as IconButton,po as Image,p as InfoBlock,f as InfoCard,Y as InfoIcon,qo as InfoTag,lo as InputGroup,_s as KONTONUMMER_REGEX,Qs as KORTNUMMER_REGEX,fo as Label,jo as Link,q as LinkIcon,go as LinkList,ho as List,bo as ListItem,Lo as Loader,ro as MinusIcon,Go as Modal,Do as ModalActions,yo as ModalBody,Uo as ModalCloseButton,Ho as ModalContainer,Wo as ModalHeader,Fo as ModalOverlay,Ko as ModalTitle,Qo as NativeSelect,u as NavCard,ko as NavLink,Vs as ORGANISASJONSNUMMER_REGEX,Co as OrderedList,mo as PenIcon,Z as PlusIcon,w as PlusRemoveAnimated,ms as PopupTip,n as PrimaryButton,$ as QuestionIcon,Xo as RadioButton,_o as RadioButtonGroup,oo as RedCrossIcon,cs as ScreenReaderOnly,so as SearchIcon,a as SecondaryButton,Jo as Select,Bo as SkeletonAnimation,Ro as SkeletonButton,Mo as SkeletonCheckboxGroup,vo as SkeletonElement,Eo as SkeletonInput,wo as SkeletonRadioButtonGroup,Oo as SkeletonTable,No as SkeletonTableHeader,Po as SkeletonTableRow,xo as SkeletonTextArea,se as SlotComponent,eo as SuccessIcon,Zo as SuccessTag,Io as SupportLabel,Ys as TELEFONNUMMER_REGEX,$o as Tag,l as TaskCard,i as TertiaryButton,ts as TextArea,rs as TextInput,no as ThumbDownIcon,ao as ThumbUpIcon,ns as Tooltip,as as TooltipContent,is as TooltipTrigger,io as TrashCanIcon,Ao as UnorderedList,to as WarningIcon,os as WarningTag,T as dayMonthYearRegex,Us as formatAvstand,Hs as formatBytes,Ws as formatDate,Ks as formatFodselsnummer,b as formatInput,zs as formatKontonummer,Js as formatKortnummer,Os as formatNumber,Xs as formatOrganisasjonsnummer,qs as formatTelefonnummer,Zs as formatValuta,j as getComboboxValuePair,te as getValuePair,ee as initTabListener,L as isBlurTargetOutside,C as isCorrectFormat,A as isWithinLowerBound,S as isWithinUpperBound,$s as mergeProps,oe as mergeRefs,B as parseDateString,Ns as parseNumber,Ps as registerWithFodselsnummerMask,xs as registerWithKontonummerMask,Gs as registerWithKortnummerMask,Ds as registerWithMasks,ys as registerWithTelefonnummerMask,ps as tokens,ws as unicode,us as useAnimatedDetails,ls as useAnimatedHeight,fs as useAnimatedHeightBetween,Ts as useAriaLiveRegion,ds as useAutoAnimatedHeight,Is as useBrowserPreferences,bs as useClickOutside,h as useCookieConsent,Bs as useElementDimensions,Ls as useFocusOutside,Rs as useId,js as useIntersectionObserver,Ms as useKeyListener,vs as useListNavigation,ks as useLocalStorage,Vo as useModal,gs as useMutationObserver,hs as usePreviousValue,Cs as useProgressiveImg,As as useScreen,Ss as useScrollIntoView,Es as useSwipeGesture};
|
|
1
|
+
import{AccordionItem as o}from"./components/accordion/AccordionItem.js";import{Accordion as s}from"./components/accordion/Accordion.js";import{Breadcrumb as e}from"./components/breadcrumb/Breadcrumb.js";import{BreadcrumbItem as a}from"./components/breadcrumb/BreadcrumbItem.js";import{Button as t,PrimaryButton as r,SecondaryButton as n,TertiaryButton as i}from"./components/button/Button.js";import{Card as m}from"./components/card/Card.js";import{CardImage as c}from"./components/card/CardImage.js";import{InfoBlock as p,NavCard as u}from"./components/card/NavCard.js";import{TaskCard as l}from"./components/card/TaskCard.js";import{InfoCard as d}from"./components/card/InfoCard.js";import{Checkbox as f}from"./components/checkbox/Checkbox.js";import{Combobox as I,getComboboxValuePair as g}from"./components/combobox/Combobox.js";import{CookieConsent as j}from"./components/cookie-consent/CookieConsent.js";import{CookieConsentProvider as k,useCookieConsent as h}from"./components/cookie-consent/CookieConsentContext.js";import{isCorrectFormat as C,isWithinLowerBound as S,isWithinUpperBound as T}from"./components/datepicker/validation.js";import{dayMonthYearRegex as A,formatInput as b,isBlurTargetOutside as M,parseDateString as v}from"./components/datepicker/utils.js";import{DatePicker as L}from"./components/datepicker/DatePicker.js";import{Feedback as E}from"./components/feedback/Feedback.js";import{PRESETS as R}from"./components/feedback/presets.js";import{Icon as B}from"./components/icon/Icon.js";import{ArrowVerticalAnimated as V}from"./components/icon/icons/animated/ArrowVerticalAnimated.js";import{ArrowHorizontalAnimated as w}from"./components/icon/icons/animated/ArrowHorizontalAnimated.js";import{PlusRemoveAnimated as N}from"./components/icon/icons/animated/PlusRemoveAnimated.js";import{ArrowDownIcon as O}from"./components/icon/icons/ArrowDownIcon.js";import{ArrowLeftIcon as P}from"./components/icon/icons/ArrowLeftIcon.js";import{ArrowNorthEastIcon as x}from"./components/icon/icons/ArrowNorthEastIcon.js";import{ArrowRightIcon as D}from"./components/icon/icons/ArrowRightIcon.js";import{ArrowUpIcon as G}from"./components/icon/icons/ArrowUpIcon.js";import{CalendarIcon as y}from"./components/icon/icons/CalendarIcon.js";import{CheckIcon as F}from"./components/icon/icons/CheckIcon.js";import{ChevronDownIcon as W}from"./components/icon/icons/ChevronDownIcon.js";import{ChevronLeftIcon as U}from"./components/icon/icons/ChevronLeftIcon.js";import{ChevronRightIcon as H}from"./components/icon/icons/ChevronRightIcon.js";import{ChevronUpIcon as K}from"./components/icon/icons/ChevronUpIcon.js";import{CloseIcon as X}from"./components/icon/icons/CloseIcon.js";import{CopyIcon as _}from"./components/icon/icons/CopyIcon.js";import{DotsIcon as z}from"./components/icon/icons/DotsIcon.js";import{DragIcon as Q}from"./components/icon/icons/DragIcon.js";import{ErrorIcon as J}from"./components/icon/icons/ErrorIcon.js";import{GreenCheckIcon as Y}from"./components/icon/icons/GreenCheckIcon.js";import{HamburgerIcon as q}from"./components/icon/icons/HamburgerIcon.js";import{InfoIcon as Z}from"./components/icon/icons/InfoIcon.js";import{LinkIcon as $}from"./components/icon/icons/LinkIcon.js";import{PlusIcon as oo}from"./components/icon/icons/PlusIcon.js";import{QuestionIcon as so}from"./components/icon/icons/QuestionIcon.js";import{RedCrossIcon as eo}from"./components/icon/icons/RedCrossIcon.js";import{SearchIcon as ao}from"./components/icon/icons/SearchIcon.js";import{SuccessIcon as to}from"./components/icon/icons/SuccessIcon.js";import{WarningIcon as ro}from"./components/icon/icons/WarningIcon.js";import{MinusIcon as no}from"./components/icon/icons/MinusIcon.js";import{ThumbDownIcon as io}from"./components/icon/icons/ThumbDownIcon.js";import{ThumbUpIcon as mo}from"./components/icon/icons/ThumbUpIcon.js";import{TrashCanIcon as co}from"./components/icon/icons/TrashCanIcon.js";import{PenIcon as po}from"./components/icon/icons/PenIcon.js";import{IconButton as uo}from"./components/icon-button/IconButton.js";import{Image as lo}from"./components/image/Image.js";import{FieldGroup as fo}from"./components/input-group/FieldGroup.js";import{InputGroup as Io}from"./components/input-group/InputGroup.js";import{Label as go}from"./components/input-group/Label.js";import{SupportLabel as jo}from"./components/input-group/SupportLabel.js";import{Link as ko}from"./components/link/Link.js";import{NavLink as ho}from"./components/link/NavLink.js";import{LinkList as Co}from"./components/link-list/LinkList.js";import{List as So,OrderedList as To,UnorderedList as Ao}from"./components/list/List.js";import{CheckListItem as bo,CrossListItem as Mo,ListItem as vo}from"./components/list/ListItem.js";import{Loader as Lo}from"./components/loader/Loader.js";import{SkeletonAnimation as Eo}from"./components/loader/skeletons/SkeletonAnimation.js";import{SkeletonButton as Ro}from"./components/loader/skeletons/SkeletonButton.js";import{SkeletonCheckboxGroup as Bo}from"./components/loader/skeletons/SkeletonCheckboxGroup.js";import{SkeletonElement as Vo}from"./components/loader/skeletons/SkeletonElement.js";import{SkeletonInput as wo}from"./components/loader/skeletons/SkeletonInput.js";import{SkeletonRadioButtonGroup as No}from"./components/loader/skeletons/SkeletonRadioButtonGroup.js";import{SkeletonTable as Oo,SkeletonTableHeader as Po,SkeletonTableRow as xo}from"./components/loader/skeletons/SkeletonTable.js";import{SkeletonTextArea as Do}from"./components/loader/skeletons/SkeletonTextArea.js";import{ErrorMessage as Go,InfoMessage as yo,SuccessMessage as Fo,WarningMessage as Wo}from"./components/message/Message.js";import{FormErrorMessage as Uo}from"./components/message/FormErrorMessage.js";import{Modal as Ho,ModalActions as Ko,ModalBody as Xo,ModalCloseButton as _o,ModalContainer as zo,ModalHeader as Qo,ModalOverlay as Jo,ModalTitle as Yo}from"./components/modal/Modal.js";import{useModal as qo}from"./components/modal/useModal.js";import{default as Zo}from"./components/popover/Popover.js";import{RadioButton as $o}from"./components/radio-button/RadioButton.js";import{RadioButtonGroup as os}from"./components/radio-button/RadioButtonGroup.js";import{BaseRadioButton as ss}from"./components/radio-button/BaseRadioButton.js";import{N as es,S as as}from"../NativeSelect-CfNZEQF0.js";import{ErrorTag as ts,InfoTag as rs,SuccessTag as ns,Tag as is,WarningTag as ms}from"./components/tag/Tag.js";import{BaseTextArea as cs}from"./components/text-input/BaseTextArea.js";import{BaseTextInput as ps}from"./components/text-input/BaseTextInput.js";import{TextArea as us}from"./components/text-input/TextArea.js";import{TextInput as ls}from"./components/text-input/TextInput.js";import{Tooltip as ds}from"./components/tooltip/Tooltip.js";import{TooltipContent as fs}from"./components/tooltip/TooltipContent.js";import{TooltipTrigger as Is}from"./components/tooltip/TooltipTrigger.js";import{PopupTip as gs}from"./components/tooltip/PopupTip.js";import{ScreenReaderOnly as js}from"./components/ScreenReaderOnly.js";import{default as ks}from"./core/tokens.js";import{useAnimatedDetails as hs}from"./hooks/useAnimatedDetails/useAnimatedDetails.js";import{useAnimatedHeight as Cs}from"./hooks/useAnimatedHeight/useAnimatedHeight.js";import{useAnimatedHeightBetween as Ss}from"./hooks/useAnimatedHeight/useAnimatedHeightBetween.js";import{useAutoAnimatedHeight as Ts}from"./hooks/useAnimatedHeight/useAutoAnimateHeight.js";import{useBrowserPreferences as As}from"./hooks/useBrowserPreferences/useBrowserPreferences.js";import{useIntersectionObserver as bs}from"./hooks/useIntersectionObserver/useIntersectionObserver.js";import{useLocalStorage as Ms}from"./hooks/useLocalStorage/useLocalStorage.js";import{useMutationObserver as vs}from"./hooks/useMutationObserver/useMutationObserver.js";import{usePreviousValue as Ls}from"./hooks/usePreviousValue/usePreviousValue.js";import{useProgressiveImg as Es}from"./hooks/useProgressiveImg/useProgressiveImg.js";import{useScreen as Rs}from"./hooks/useScreen/useScreen.js";import{useScrollIntoView as Bs}from"./hooks/useScrollIntoView/useScrollIntoView.js";import{useAriaLiveRegion as Vs}from"./hooks/useAriaLiveRegion/useAriaLiveRegion.js";import{useClickOutside as ws}from"./hooks/useClickOutside/useClickOutside.js";import{useFocusOutside as Ns}from"./hooks/useFocusOutside/useFocusOutside.js";import{useElementDimensions as Os}from"./hooks/useElementDimensions/useElementDimensions.js";import{useId as Ps}from"./hooks/useId/useId.js";import{useKeyListener as xs}from"./hooks/useKeyListener/useKeyListener.js";import{useListNavigation as Ds}from"./hooks/useListNavigation/useListNavigation.js";import{useSwipeGesture as Gs}from"./hooks/useSwipeGesture/useSwipeGesture.js";import{u as ys}from"../index-DfvUcA5T.js";import{formatNumber as Fs}from"./utilities/formatters/util/formatNumber.js";import{parseNumber as Ws}from"./utilities/formatters/util/parseNumber.js";import{registerWithFodselsnummerMask as Us,registerWithKontonummerMask as Hs,registerWithKortnummerMask as Ks,registerWithMasks as Xs,registerWithTelefonnummerMask as _s}from"./utilities/formatters/util/registerWithMask.js";import{formatAvstand as zs}from"./utilities/formatters/avstand/formatAvstand.js";import{formatBytes as Qs}from"./utilities/formatters/bytes/formatBytes.js";import{formatDate as Js}from"./utilities/formatters/date/formatDate.js";import{FODSELSNUMMER_REGEX as Ys,formatFodselsnummer as qs}from"./utilities/formatters/fodselsnummer/formatFodselsnummer.js";import{ORGANISASJONSNUMMER_REGEX as Zs,formatOrganisasjonsnummer as $s}from"./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js";import{KONTONUMMER_REGEX as oe,formatKontonummer as se}from"./utilities/formatters/kontonummer/formatKontonummer.js";import{KORTNUMMER_REGEX as ee,formatKortnummer as ae}from"./utilities/formatters/kortnummer/formatKortnummer.js";import{TELEFONNUMMER_REGEX as te,formatTelefonnummer as re}from"./utilities/formatters/telefonnummer/formatTelefonnummer.js";import{formatValuta as ne}from"./utilities/formatters/valuta/formatValuta.js";import{mergeProps as ie}from"./utilities/polymorphism/mergeProps.js";import{mergeRefs as me}from"./utilities/polymorphism/mergeRefs.js";import{SlotComponent as ce}from"./utilities/polymorphism/SlotComponent.js";import{isValidEpost as pe}from"./utilities/validators/isValidEpost/isValidEpost.js";import{isValidTelefonnummer as ue}from"./utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js";import{isValidRegistreringsnummer as le}from"./utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js";import{isValidChassisnummer as de}from"./utilities/validators/isValidChassisnummer/isValidChassisnummer.js";import{isValidDogId as fe}from"./utilities/validators/isValidDogId/isValidDogId.js";import{isExactLength as Ie}from"./utilities/validators/isExactLength/isExactLength.js";import{isInteger as ge}from"./utilities/validators/isInteger/isInteger.js";import{isValidFodselsnummer as je}from"./utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js";import{isValidOrganisasjonsnummer as ke}from"./utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js";import{isValidName as he}from"./utilities/validators/isValidName/isValidName.js";import{hasMinimumWords as Ce}from"./utilities/validators/hasMinimumWords/hasMinimumWords.js";import{hasNoIllegalCharacters as Se}from"./utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js";import{initTabListener as Te}from"./utilities/tabListener.js";import{getValuePair as Ae}from"./utilities/valuePair.js";export{s as Accordion,o as AccordionItem,O as ArrowDownIcon,w as ArrowHorizontalAnimated,P as ArrowLeftIcon,x as ArrowNorthEastIcon,D as ArrowRightIcon,G as ArrowUpIcon,V as ArrowVerticalAnimated,ss as BaseRadioButton,cs as BaseTextArea,ps as BaseTextInput,e as Breadcrumb,a as BreadcrumbItem,t as Button,y as CalendarIcon,m as Card,c as CardImage,F as CheckIcon,bo as CheckListItem,f as Checkbox,W as ChevronDownIcon,U as ChevronLeftIcon,H as ChevronRightIcon,K as ChevronUpIcon,X as CloseIcon,I as Combobox,j as CookieConsent,k as CookieConsentProvider,_ as CopyIcon,Mo as CrossListItem,L as DatePicker,z as DotsIcon,Q as DragIcon,J as ErrorIcon,Go as ErrorMessage,ts as ErrorTag,Ys as FODSELSNUMMER_REGEX,E as Feedback,fo as FieldGroup,Uo as FormErrorMessage,Y as GreenCheckIcon,q as HamburgerIcon,B as Icon,uo as IconButton,lo as Image,p as InfoBlock,d as InfoCard,Z as InfoIcon,yo as InfoMessage,rs as InfoTag,Io as InputGroup,oe as KONTONUMMER_REGEX,ee as KORTNUMMER_REGEX,go as Label,ko as Link,$ as LinkIcon,Co as LinkList,So as List,vo as ListItem,Lo as Loader,no as MinusIcon,Ho as Modal,Ko as ModalActions,Xo as ModalBody,_o as ModalCloseButton,zo as ModalContainer,Qo as ModalHeader,Jo as ModalOverlay,Yo as ModalTitle,es as NativeSelect,u as NavCard,ho as NavLink,Zs as ORGANISASJONSNUMMER_REGEX,To as OrderedList,R as PRESETS,po as PenIcon,oo as PlusIcon,N as PlusRemoveAnimated,Zo as Popover,gs as PopupTip,r as PrimaryButton,so as QuestionIcon,$o as RadioButton,os as RadioButtonGroup,eo as RedCrossIcon,js as ScreenReaderOnly,ao as SearchIcon,n as SecondaryButton,as as Select,Eo as SkeletonAnimation,Ro as SkeletonButton,Bo as SkeletonCheckboxGroup,Vo as SkeletonElement,wo as SkeletonInput,No as SkeletonRadioButtonGroup,Oo as SkeletonTable,Po as SkeletonTableHeader,xo as SkeletonTableRow,Do as SkeletonTextArea,ce as SlotComponent,to as SuccessIcon,Fo as SuccessMessage,ns as SuccessTag,jo as SupportLabel,te as TELEFONNUMMER_REGEX,is as Tag,l as TaskCard,i as TertiaryButton,us as TextArea,ls as TextInput,io as ThumbDownIcon,mo as ThumbUpIcon,ds as Tooltip,fs as TooltipContent,Is as TooltipTrigger,co as TrashCanIcon,Ao as UnorderedList,ro as WarningIcon,Wo as WarningMessage,ms as WarningTag,A as dayMonthYearRegex,zs as formatAvstand,Qs as formatBytes,Js as formatDate,qs as formatFodselsnummer,b as formatInput,se as formatKontonummer,ae as formatKortnummer,Fs as formatNumber,$s as formatOrganisasjonsnummer,re as formatTelefonnummer,ne as formatValuta,g as getComboboxValuePair,Ae as getValuePair,Ce as hasMinimumWords,Se as hasNoIllegalCharacters,Te as initTabListener,M as isBlurTargetOutside,C as isCorrectFormat,Ie as isExactLength,ge as isInteger,de as isValidChassisnummer,fe as isValidDogId,pe as isValidEpost,je as isValidFodselsnummer,he as isValidName,ke as isValidOrganisasjonsnummer,le as isValidRegistreringsnummer,ue as isValidTelefonnummer,S as isWithinLowerBound,T as isWithinUpperBound,ie as mergeProps,me as mergeRefs,v as parseDateString,Ws as parseNumber,Us as registerWithFodselsnummerMask,Hs as registerWithKontonummerMask,Ks as registerWithKortnummerMask,Xs as registerWithMasks,_s as registerWithTelefonnummerMask,ks as tokens,ys as unicode,hs as useAnimatedDetails,Cs as useAnimatedHeight,Ss as useAnimatedHeightBetween,Vs as useAriaLiveRegion,Ts as useAutoAnimatedHeight,As as useBrowserPreferences,ws as useClickOutside,h as useCookieConsent,Os as useElementDimensions,Ns as useFocusOutside,Ps as useId,bs as useIntersectionObserver,xs as useKeyListener,Ds as useListNavigation,Ms as useLocalStorage,qo as useModal,vs as useMutationObserver,Ls as usePreviousValue,Es as useProgressiveImg,Rs as useScreen,Bs as useScrollIntoView,Gs as useSwipeGesture};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as
|
|
1
|
+
import{u as s}from"../../index-DfvUcA5T.js";import{formatNumber as a}from"./formatters/util/formatNumber.js";import{parseNumber as r}from"./formatters/util/parseNumber.js";import{registerWithFodselsnummerMask as m,registerWithKontonummerMask as o,registerWithKortnummerMask as e,registerWithMasks as t,registerWithTelefonnummerMask as i}from"./formatters/util/registerWithMask.js";import{formatAvstand as n}from"./formatters/avstand/formatAvstand.js";import{formatBytes as l}from"./formatters/bytes/formatBytes.js";import{formatDate as f}from"./formatters/date/formatDate.js";import{FODSELSNUMMER_REGEX as u,formatFodselsnummer as d}from"./formatters/fodselsnummer/formatFodselsnummer.js";import{ORGANISASJONSNUMMER_REGEX as g,formatOrganisasjonsnummer as p}from"./formatters/organisasjonsnummer/formatOrganisasjonsnummer.js";import{KONTONUMMER_REGEX as E,formatKontonummer as j}from"./formatters/kontonummer/formatKontonummer.js";import{KORTNUMMER_REGEX as V,formatKortnummer as M}from"./formatters/kortnummer/formatKortnummer.js";import{TELEFONNUMMER_REGEX as h,formatTelefonnummer as N}from"./formatters/telefonnummer/formatTelefonnummer.js";import{formatValuta as R}from"./formatters/valuta/formatValuta.js";import{mergeProps as O}from"./polymorphism/mergeProps.js";import{mergeRefs as v}from"./polymorphism/mergeRefs.js";import{SlotComponent as T}from"./polymorphism/SlotComponent.js";import{isValidEpost as W}from"./validators/isValidEpost/isValidEpost.js";import{isValidTelefonnummer as I}from"./validators/isValidTelefonnummer/isValidTelefonnummer.js";import{isValidRegistreringsnummer as K}from"./validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js";import{isValidChassisnummer as k}from"./validators/isValidChassisnummer/isValidChassisnummer.js";import{isValidDogId as F}from"./validators/isValidDogId/isValidDogId.js";import{isExactLength as S}from"./validators/isExactLength/isExactLength.js";import{isInteger as G}from"./validators/isInteger/isInteger.js";import{isValidFodselsnummer as C}from"./validators/isValidFodselsnummer/isValidFodselsnummer.js";import{isValidOrganisasjonsnummer as L}from"./validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js";import{isValidName as b}from"./validators/isValidName/isValidName.js";import{hasMinimumWords as U}from"./validators/hasMinimumWords/hasMinimumWords.js";import{hasNoIllegalCharacters as X}from"./validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js";import{initTabListener as _}from"./tabListener.js";import{getValuePair as c}from"./valuePair.js";export{u as FODSELSNUMMER_REGEX,E as KONTONUMMER_REGEX,V as KORTNUMMER_REGEX,g as ORGANISASJONSNUMMER_REGEX,T as SlotComponent,h as TELEFONNUMMER_REGEX,n as formatAvstand,l as formatBytes,f as formatDate,d as formatFodselsnummer,j as formatKontonummer,M as formatKortnummer,a as formatNumber,p as formatOrganisasjonsnummer,N as formatTelefonnummer,R as formatValuta,c as getValuePair,U as hasMinimumWords,X as hasNoIllegalCharacters,_ as initTabListener,S as isExactLength,G as isInteger,k as isValidChassisnummer,F as isValidDogId,W as isValidEpost,C as isValidFodselsnummer,b as isValidName,L as isValidOrganisasjonsnummer,K as isValidRegistreringsnummer,I as isValidTelefonnummer,O as mergeProps,v as mergeRefs,r as parseNumber,m as registerWithFodselsnummerMask,o as registerWithKontonummerMask,e as registerWithKortnummerMask,t as registerWithMasks,i as registerWithTelefonnummerMask,s as unicode};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasMinimumWords.js","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 = (value: string, options?: HasMinimumWordsOptions): boolean =>\n value.split(\" \").filter((str) => ![\"\", \" \"].includes(str)).length >= (options?.minimumWords || 2);\n"],"names":["hasMinimumWords","value","options","split","filter","str","includes","length","minimumWords"],"mappings":"AAUa,MAAAA,EAAkB,CAACC,EAAeC,IAC3CD,EAAME,MAAM,KAAKC,QAAQC,IAAS,CAAC,GAAI,KAAKC,SAASD,KAAME,UAAW,MAAAL,OAAAA,EAAAA,EAASM,eAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasNoIllegalCharacters.js","sources":["../../../../../src/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.ts"],"sourcesContent":["const ILLEGAL_CHARS_REGEX = /[[\\]{}%¤/()$@£€^~*?_;:\"]+/;\nexport const ILLEGAL_CHARS_STRING = '[]{}%¤/()$@£€^~*?_;:\"';\n\n/**\n * Sjekker at verdien ikke har spesialtegn som ikke er tillatt.\n * @param value Verdien som skal valideres\n * @returns Om verdien er fri for spesialtegn som ikke er tillatt\n */\nexport const hasNoIllegalCharacters = (value: string): boolean => !ILLEGAL_CHARS_REGEX.test(value);\n"],"names":["ILLEGAL_CHARS_REGEX","ILLEGAL_CHARS_STRING","hasNoIllegalCharacters","value","test"],"mappings":"AAAA,MAAMA,EAAsB,4BACfC,EAAuB,wBAOvBC,EAA0BC,IAA4BH,EAAoBI,KAAKD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{isValidEpost as s}from"./isValidEpost/isValidEpost.js";import{isValidTelefonnummer as i}from"./isValidTelefonnummer/isValidTelefonnummer.js";import{isValidRegistreringsnummer as a}from"./isValidRegistreringsnummer/isValidRegistreringsnummer.js";import{isValidChassisnummer as m}from"./isValidChassisnummer/isValidChassisnummer.js";import{isValidDogId as r}from"./isValidDogId/isValidDogId.js";import{isExactLength as e}from"./isExactLength/isExactLength.js";import{isInteger as o}from"./isInteger/isInteger.js";import{isValidFodselsnummer as l}from"./isValidFodselsnummer/isValidFodselsnummer.js";import{isValidOrganisasjonsnummer as n}from"./isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js";import{isValidName as d}from"./isValidName/isValidName.js";import{hasMinimumWords as t}from"./hasMinimumWords/hasMinimumWords.js";import{hasNoIllegalCharacters as V}from"./hasNoIllegalCharacters/hasNoIllegalCharacters.js";export{t as hasMinimumWords,V as hasNoIllegalCharacters,e as isExactLength,o as isInteger,m as isValidChassisnummer,r as isValidDogId,s as isValidEpost,l as isValidFodselsnummer,d as isValidName,n as isValidOrganisasjonsnummer,a as isValidRegistreringsnummer,i as isValidTelefonnummer};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isExactLength.js","sources":["../../../../../src/utilities/validators/isExactLength/isExactLength.ts"],"sourcesContent":["/**\n * Sjekker om verdien er av eksakt lengde.\n * @param value Verdien som skal valideres\n * @param length Lengden verdien må ha for å anses som gyldig\n * @returns Om verdien er av eksakt lengde\n */\nexport const isExactLength = (value: string, length: number): boolean => {\n if (!length) {\n throw new Error(\"isExactLength must receive length\");\n }\n\n return value.length === length;\n};\n"],"names":["isExactLength","value","length","Error"],"mappings":"AAMa,MAAAA,EAAgB,CAACC,EAAeC,KACzC,IAAKA,EACK,MAAA,IAAIC,MAAM,qCAGpB,OAAOF,EAAMC,SAAWA,CAAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isInteger.js","sources":["../../../../../src/utilities/validators/isInteger/isInteger.ts"],"sourcesContent":["export const INTEGER_REGEX = /^-?[\\s\\d]+$/;\n\n/**\n * Sjekker om verdien er et gyldig heltall.\n * @param value Verdien som skal valideres\n * @returns Om verdien er et gyldig heltall\n */\nexport const isInteger = (value: string | number): boolean => {\n return INTEGER_REGEX.test(String(value));\n};\n"],"names":["INTEGER_REGEX","isInteger","value","test","String"],"mappings":"AAAO,MAAMA,EAAgB,cAOhBC,EAAaC,GACfF,EAAcG,KAAKC,OAAOF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidChassisnummer.js","sources":["../../../../../src/utilities/validators/isValidChassisnummer/isValidChassisnummer.ts"],"sourcesContent":["export const CHASSISNR_REGEX = /^[a-zA-Z0-9]{9,17}$/;\n\n/**\n * Sjekker om verdien validerer som et gyldig chassisnummer.\n * @param value Verdien som skal valideres\n * @returns Om verdien matcher regex for chassisnummer\n */\nexport const isValidChassisnummer = (value: string): boolean => CHASSISNR_REGEX.test(value);\n"],"names":["CHASSISNR_REGEX","isValidChassisnummer","value","test"],"mappings":"AAAO,MAAMA,EAAkB,sBAOlBC,EAAwBC,GAA2BF,EAAgBG,KAAKD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidDogId.js","sources":["../../../../../src/utilities/validators/isValidDogId/isValidDogId.ts"],"sourcesContent":["export const DOGID_REGEX = /^5780[0-9]{11}$/;\n\n/**\n * Validerer at verdien er et gyldig norsk ID-nummer for hund.\n * @deprecated This only validates norwegian id-tags, that is probably more restrictive than you want\n * expect this function to change, use carefully\n */\nexport const isValidDogId = (value: string): boolean => DOGID_REGEX.test(value);\n"],"names":["DOGID_REGEX","isValidDogId","value","test"],"mappings":"AAAO,MAAMA,EAAc,kBAOdC,EAAgBC,GAA2BF,EAAYG,KAAKD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidEpost.js","sources":["../../../../../src/utilities/validators/isValidEpost/isValidEpost.ts"],"sourcesContent":["export const EMAIL_REGEX = /^[a-zA-ZæøåÆØÅ0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-ZæøåÆØÅ0-9-]+(?:\\.[a-zA-Z0-9-]+)+$/;\n\n/**\n * Sjekker om verdien validerer som en gyldig epostadresse.\n * @param value Verdien som skal valideres\n * @returns Om verdien matcher regex for epost\n */\nexport const isValidEpost = (value: string): boolean => EMAIL_REGEX.test(value);\n"],"names":["EMAIL_REGEX","isValidEpost","value","test"],"mappings":"AAAO,MAAMA,EAAc,mFAOdC,EAAgBC,GAA2BF,EAAYG,KAAKD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const r=[3,7,6,1,8,9,4,5,2],e=[5,4,3,2,7,6,5,4,3,2],t=(r,e)=>{const t=11-Array.from(r.substring(0,e.length)).reduce(((r,t,s)=>r+Number(t)*e[s]),0)%11;return 11===t?0:t},s=s=>{const n=t(s,r);return[n,t(s+n,e)]},n=s=>!(!s||11!==s.length||"00000000000"===s||Number(s.charAt(9))!==t(s,r))&&Number(s.charAt(10))===t(s,e);export{s as getChecksumDigits,n as isValidFodselsnummer};
|
|
2
|
+
//# sourceMappingURL=isValidFodselsnummer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidFodselsnummer.js","sources":["../../../../../src/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.ts"],"sourcesContent":["/**\n * MIT License\n *\n * Copyright (c) 2019 Ivar Nilsen\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n// https://github.com/ivarni/ninno\n\nconst K1_FACTORS = [3, 7, 6, 1, 8, 9, 4, 5, 2];\nconst K2_FACTORS = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];\n\nconst getChecksumDigit = (fnr: string, factors: number[]) => {\n const sum =\n 11 -\n (Array.from(fnr.substring(0, factors.length)).reduce((_sum, digit, i) => _sum + Number(digit) * factors[i], 0) %\n 11);\n return sum === 11 ? 0 : sum;\n};\n\nexport const getChecksumDigits = (fnr: string) => {\n const k1 = getChecksumDigit(fnr, K1_FACTORS);\n return [k1, getChecksumDigit(fnr + k1, K2_FACTORS)];\n};\n\n/**\n * Sjekker om verdien validerer som et gyldig fødselsnummer.\n * @param value Verdien som skal valideres\n * @returns Om verdien er et gyldig fødselsnummer\n */\nexport const isValidFodselsnummer = (value: string): boolean => {\n if (!value || value.length !== 11 || value === \"00000000000\") {\n return false;\n }\n\n if (Number(value.charAt(9)) !== getChecksumDigit(value, K1_FACTORS)) {\n return false;\n }\n\n return Number(value.charAt(10)) === getChecksumDigit(value, K2_FACTORS);\n};\n"],"names":["K1_FACTORS","K2_FACTORS","getChecksumDigit","fnr","factors","sum","Array","from","substring","length","reduce","_sum","digit","i","Number","getChecksumDigits","k1","isValidFodselsnummer","value","charAt"],"mappings":"AAyBA,MAAMA,EAAa,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACtCC,EAAa,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEzCC,EAAmB,CAACC,EAAaC,KAC7BC,MAAAA,EACF,GACCC,MAAMC,KAAKJ,EAAIK,UAAU,EAAGJ,EAAQK,SAASC,QAAO,CAACC,EAAMC,EAAOC,IAAMF,EAAOG,OAAOF,GAASR,EAAQS,IAAI,GACxG,GACDR,OAAQ,KAARA,EAAa,EAAIA,CAAAA,EAGfU,EAAqBZ,IACxBa,MAAAA,EAAKd,EAAiBC,EAAKH,GACjC,MAAO,CAACgB,EAAId,EAAiBC,EAAMa,EAAIf,GAAW,EAQzCgB,EAAwBC,MAC5BA,GAA0B,KAAjBA,EAAMT,QAA2B,gBAAVS,GAIjCJ,OAAOI,EAAMC,OAAO,MAAQjB,EAAiBgB,EAAOlB,KAIjDc,OAAOI,EAAMC,OAAO,OAASjB,EAAiBgB,EAAOjB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const t=/^(\d{4}\s?){4}$/,r=t=>{const r=t.replace(/\D/g,"").split("");if(15!==r.length)return null;const e=r.reduce(((t,r,e)=>t+function(t,r){const e=t%2==0?2:1,n=Number.parseInt(r)*e;return Math.floor(n/10)+n%10}(e,r)),0);return Math.abs(e%10-10)},e=e=>{if(!t.test(e))return!1;const n=e.replace(/\D/g,""),s=Number.parseInt(n.slice(-1)),u=n.substring(0,n.length-1);return s===r(u)};export{e as isValidKortnummer};
|
|
2
|
+
//# sourceMappingURL=isValidKortnummer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidKortnummer.js","sources":["../../../../../src/utilities/validators/isValidKortnummer/isValidKortnummer.ts"],"sourcesContent":["const KORTNUMMER_REGEX = /^(\\d{4}\\s?){4}$/;\n\nconst luhn = (input: string) => {\n const inputAsArray = input.replace(/\\D/g, \"\").split(\"\");\n\n if (inputAsArray.length !== 15) {\n return null;\n }\n\n function multiplyDigit(index: number, number: string) {\n // Gang hver andre index med 2 (index 0, 2, 4, etc.)\n const multiplier = index % 2 === 0 ? 2 : 1;\n const rawNumber = Number.parseInt(number) * multiplier;\n // Legg sammen sifrene hvis rawNumber har to sifre\n const crossSum = Math.floor(rawNumber / 10) + (rawNumber % 10);\n\n return crossSum;\n }\n\n const checksum = inputAsArray.reduce((sum, digit, index) => sum + multiplyDigit(index, digit), 0);\n const checkDigit = Math.abs((checksum % 10) - 10);\n\n return checkDigit;\n};\n\n/**\n * Sjekker at verdien er et gyldig kortnummer, mot Luhn-algoritmen (https://en.wikipedia.org/wiki/Luhn_algorithm).\n * @param input Verdien som skal valideres\n * @returns Om verdien validerer som et gyldig kortnummer\n */\nexport const isValidKortnummer = (input: string) => {\n if (!KORTNUMMER_REGEX.test(input)) {\n return false;\n }\n\n const strippedInput = input.replace(/\\D/g, \"\");\n const checkDigit = Number.parseInt(strippedInput.slice(-1));\n const firstFifteen = strippedInput.substring(0, strippedInput.length - 1);\n\n return checkDigit === luhn(firstFifteen);\n};\n"],"names":["KORTNUMMER_REGEX","luhn","input","inputAsArray","replace","split","length","checksum","reduce","sum","digit","index","multiplyDigit","number","multiplier","rawNumber","Number","parseInt","Math","floor","abs","isValidKortnummer","test","strippedInput","checkDigit","slice","firstFifteen","substring"],"mappings":"AAAA,MAAMA,EAAmB,kBAEnBC,EAAQC,IACV,MAAMC,EAAeD,EAAME,QAAQ,MAAO,IAAIC,MAAM,IAEhD,GAAwB,KAAxBF,EAAaG,OACN,OAAA,KAaX,MAAMC,EAAWJ,EAAaK,QAAO,CAACC,EAAKC,EAAOC,IAAUF,EAVnDG,SAAcD,EAAeE,GAE5BC,MAAAA,EAAaH,EAAQ,GAAM,EAAI,EAAI,EACnCI,EAAYC,OAAOC,SAASJ,GAAUC,EAIrC,OAFUI,KAAKC,MAAMJ,EAAY,IAAOA,EAAY,EAG/D,CAEkEH,CAAcD,EAAOD,IAAQ,GAGxF,OAFYQ,KAAKE,IAAKb,EAAW,GAAM,GAAE,EAUvCc,EAAqBnB,IAC1B,IAACF,EAAiBsB,KAAKpB,GAChB,OAAA,EAGLqB,MAAAA,EAAgBrB,EAAME,QAAQ,MAAO,IACrCoB,EAAaR,OAAOC,SAASM,EAAcE,OAAQ,IACnDC,EAAeH,EAAcI,UAAU,EAAGJ,EAAcjB,OAAS,GAEhEkB,OAAAA,IAAevB,EAAKyB,EAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidName.js","sources":["../../../../../src/utilities/validators/isValidName/isValidName.ts"],"sourcesContent":["// https://en.wikipedia.org/wiki/List_of_Unicode_characters\n// Checks for all Punctuation, Symbols or Digits until Unicode position 191, but allows Apostrophe and Minus\nexport const INVALID_NAME_REGEX = /[!-&(-,.-@\\[-`{-¿]+/;\n\n/**\n * Sjekker om verdien inneholder spesialtegn som ikke er vanlige i navn.\n * @param value Verdien som skal valideres\n * @returns Om verdien anses som et gyldig navn\n */\nexport const isValidName = (value: string): boolean => !INVALID_NAME_REGEX.test(value);\n"],"names":["INVALID_NAME_REGEX","isValidName","value","test"],"mappings":"AAEO,MAAMA,EAAqB,sBAOrBC,EAAeC,IAA4BF,EAAmBG,KAAKD"}
|
package/build/es/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const r=r=>{if(!r||9!==r.length)return!1;const[e,...n]=r.split("").map((r=>Number(r))).reverse();return(r=>{const e=11-r.map(((r,e)=>r*(e%6+2))).reduce(((r,e)=>r+e),0)%11;return 11===e?0:e})(n)===e};export{r as isValidOrganisasjonsnummer};
|
|
2
|
+
//# sourceMappingURL=isValidOrganisasjonsnummer.js.map
|
package/build/es/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidOrganisasjonsnummer.js","sources":["../../../../../src/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.ts"],"sourcesContent":["/**\n * This algorithm is called the Modulus 11 algorithm, and produces a checksum\n * based on its input. It's documented very well in Norwegian here:\n * https://no.wikipedia.org/wiki/MOD11\n *\n * It's used here to validate that an organization number is valid.\n */\nconst calculateChecksum = (reversedNumbers: number[]) => {\n const controlSum = reversedNumbers.map((number, i) => number * ((i % 6) + 2)).reduce((a, b) => a + b, 0);\n const result = 11 - (controlSum % 11);\n return result === 11 ? 0 : result;\n};\n\n/**\n * Sjekker om verdien validerer som et gyldig organisasjonsnummer etter Modulus 11-algoritmen (https://no.wikipedia.org/wiki/MOD11).\n * @param value Verdien som skal valideres\n * @returns Om verdien er et gyldig organisasjonsnummer\n */\nexport const isValidOrganisasjonsnummer = (value: string) => {\n if (!value || value.length !== 9) {\n return false;\n }\n\n const [controlDigit, ...numbers] = value\n .split(\"\")\n .map((number) => Number(number))\n .reverse();\n\n return calculateChecksum(numbers) === controlDigit;\n};\n"],"names":["isValidOrganisasjonsnummer","value","length","controlDigit","numbers","split","map","number","Number","reverse","calculateChecksum","reversedNumbers","result","i","reduce","a","b"],"mappings":"AAOA,MAWaA,EAA8BC,IACnC,IAACA,GAA0B,IAAjBA,EAAMC,OACT,OAAA,EAGX,MAAOC,KAAiBC,GAAWH,EAC9BI,MAAM,IACNC,KAAKC,GAAWC,OAAOD,KACvBE,UAEEC,MArBe,CAACC,IAEjB,MAAAC,EAAS,GADID,EAAgBL,KAAI,CAACC,EAAQM,IAAMN,GAAWM,EAAI,EAAK,KAAIC,QAAO,CAACC,EAAGC,IAAMD,EAAIC,GAAG,GACpE,GAC3BJ,OAAW,KAAXA,EAAgB,EAAIA,CAAAA,EAkBpBF,CAAkBN,KAAaD,CAAAA"}
|
package/build/es/utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidRegistreringsnummer.js","sources":["../../../../../src/utilities/validators/isValidRegistreringsnummer/isValidRegistreringsnummer.ts"],"sourcesContent":["export const BIL_REGNR_REGEX = /^[a-zA-Z]{2}\\s?\\d{5}$/;\nexport const MC_MOPED_REGNR_REGEX = /^[a-zA-Z]{2}\\s?\\d{4}$/;\n\nexport interface IsValidRegistreringsnummerOptions {\n vehicle?: \"bil\" | \"mc\" | \"moped\";\n}\n\n/**\n * Validerer om en kandidat er et gyldig registreringsnummer, bestående av to bokstaver, et valgfritt mellomrom, og fem siffer for bil, fire siffer for MC/moped.\n * @param value Kandidat for registreringsnummer\n * @param options Type kjøretøy, default \"bil\". Kan også være \"mc\" eller \"moped\".\n * @returns Om kandidaten er et gyldig registreringsnummer\n */\nexport const isValidRegistreringsnummer = (\n value: string,\n options: IsValidRegistreringsnummerOptions = { vehicle: \"bil\" },\n): boolean => {\n if (options.vehicle === \"bil\") {\n return BIL_REGNR_REGEX.test(value);\n }\n return MC_MOPED_REGNR_REGEX.test(value);\n};\n"],"names":["BIL_REGNR_REGEX","MC_MOPED_REGNR_REGEX","isValidRegistreringsnummer","value","options","vehicle","test"],"mappings":"AAAO,MAAMA,EAAkB,wBAClBC,EAAuB,wBAYvBC,EAA6B,CACtCC,EACAC,EAA6C,CAAEC,QAAS,SAEhC,QAApBD,EAAQC,QACDL,EAAgBM,KAAKH,GAEzBF,EAAqBK,KAAKH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidTelefonnummer.js","sources":["../../../../../src/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.ts"],"sourcesContent":["export const PHONENR_REGEX = /^\\d{8}$/;\n\n/**\n * Validerer om en kandidat er et gyldig (uformatert) telefonnummer uten landkode.\n * @param value Kandidat for telefonnummer\n * @returns Om kandidaten er et gyldig telefonnummer\n */\nexport const isValidTelefonnummer = (value: string): boolean => PHONENR_REGEX.test(value);\n"],"names":["PHONENR_REGEX","isValidTelefonnummer","value","test"],"mappings":"AAAO,MAAMA,EAAgB,UAOhBC,EAAwBC,GAA2BF,EAAcG,KAAKD"}
|