@fremtind/jokul 0.27.1 → 0.27.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/build-stats.html +1 -1
- package/build/cjs/components/ScreenReaderOnly.cjs.map +1 -1
- package/build/cjs/components/accordion/Accordion.cjs.map +1 -1
- package/build/cjs/components/accordion/AccordionItem.cjs.map +1 -1
- package/build/cjs/components/breadcrumb/Breadcrumb.cjs.map +1 -1
- package/build/cjs/components/breadcrumb/BreadcrumbItem.cjs.map +1 -1
- package/build/cjs/components/button/Button.cjs.map +1 -1
- package/build/cjs/components/button/index.d.cts +1 -1
- package/build/cjs/components/button/types.cjs.map +1 -1
- package/build/cjs/components/card/Card.cjs.map +1 -1
- package/build/cjs/components/card/CardImage.cjs.map +1 -1
- package/build/cjs/components/card/InfoCard.cjs.map +1 -1
- package/build/cjs/components/card/NavCard.cjs.map +1 -1
- package/build/cjs/components/card/TaskCard.cjs.map +1 -1
- package/build/cjs/components/card/documentation/examples/FakturainfoExample.d.cts +1 -1
- package/build/cjs/components/card/documentation/examples/StatuskortExample.d.cts +1 -1
- package/build/cjs/components/card/types.cjs.map +1 -1
- package/build/cjs/components/card/utils.cjs.map +1 -1
- package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
- package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
- package/build/cjs/components/combobox/index.d.cts +1 -1
- package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
- package/build/cjs/components/cookie-consent/CookieConsentContext.cjs.map +1 -1
- package/build/cjs/components/cookie-consent/CookieConsentModal.cjs.map +1 -1
- package/build/cjs/components/cookie-consent/consents/CustomConsents.cjs.map +1 -1
- package/build/cjs/components/cookie-consent/consents/DefaultConsents.cjs.map +1 -1
- package/build/cjs/components/cookie-consent/consents/RequirementCheckbox.cjs.map +1 -1
- package/build/cjs/components/cookie-consent/consents/RequirementCheckbox.d.cts +1 -1
- package/build/cjs/components/cookie-consent/cookieConsentUtils.cjs.map +1 -1
- package/build/cjs/components/cookie-consent/cookieConsentUtils.d.cts +1 -1
- package/build/cjs/components/cookie-consent/index.d.cts +1 -1
- package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/calendarReducer.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/useCalendar.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/utils.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/utils.d.cts +2 -2
- package/build/cjs/components/datepicker/utils.cjs.map +1 -1
- package/build/cjs/components/description-list/DescriptionList.cjs.map +1 -1
- package/build/cjs/components/expander/ExpandSection.cjs.map +1 -1
- package/build/cjs/components/expander/Expander.cjs.map +1 -1
- package/build/cjs/components/feedback/Feedback.cjs.map +1 -1
- package/build/cjs/components/feedback/FeedbackSuccess.cjs.map +1 -1
- package/build/cjs/components/feedback/FeedbackValues.cjs.map +1 -1
- package/build/cjs/components/feedback/feedbackContext.cjs.map +1 -1
- package/build/cjs/components/feedback/followup/Followup.cjs.map +1 -1
- package/build/cjs/components/feedback/followup/followupContext.cjs.map +1 -1
- package/build/cjs/components/feedback/followup/useFollowup.cjs.map +1 -1
- package/build/cjs/components/feedback/main-question/MainQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/main-question/mainQuestionContext.cjs.map +1 -1
- package/build/cjs/components/feedback/main-question/useMainQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/presets.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/AddonQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/CheckboxQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/ContactQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/RadioQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/SmileyQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/TextQuestion.cjs.map +1 -1
- package/build/cjs/components/feedback/questions/smileyUtils.cjs.map +1 -1
- package/build/cjs/components/feedback/utils.cjs.map +1 -1
- package/build/cjs/components/flex/Flex.cjs.map +1 -1
- package/build/cjs/components/icon/Icon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ArrowDownIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ArrowLeftIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ArrowNorthEastIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ArrowRightIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ArrowUpIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/CalendarIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/CheckIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ChevronDownIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ChevronLeftIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ChevronRightIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ChevronUpIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/CloseIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/CopyIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/DotsIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/DragIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/GreenCheckIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/HamburgerIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/LinkIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/MinusIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/PenIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/PlusIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/QuestionIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/RedCrossIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/SearchIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ThumbDownIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/ThumbUpIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/TrashCanIcon.cjs.map +1 -1
- package/build/cjs/components/icon/icons/animated/ArrowHorizontalAnimated.cjs.map +1 -1
- package/build/cjs/components/icon/icons/animated/ArrowVerticalAnimated.cjs.map +1 -1
- package/build/cjs/components/icon/icons/animated/PlusRemoveAnimated.cjs.map +1 -1
- package/build/cjs/components/icon-button/IconButton.cjs.map +1 -1
- package/build/cjs/components/image/Image.cjs.map +1 -1
- package/build/cjs/components/image/useImageLoadingStatus.cjs.map +1 -1
- package/build/cjs/components/index.d.cts +1 -1
- package/build/cjs/components/input-group/FieldGroup.cjs.map +1 -1
- package/build/cjs/components/input-group/InputGroup.cjs.map +1 -1
- package/build/cjs/components/input-group/Label.cjs.map +1 -1
- package/build/cjs/components/input-group/SupportLabel.cjs.map +1 -1
- package/build/cjs/components/input-group/index.d.cts +2 -2
- package/build/cjs/components/link/Link.cjs.map +1 -1
- package/build/cjs/components/link/NavLink.cjs.map +1 -1
- package/build/cjs/components/link-list/LinkList.cjs.map +1 -1
- package/build/cjs/components/loader/index.d.cts +2 -2
- package/build/cjs/components/loader/skeletons/SkeletonAnimation.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonButton.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonElement.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonInput.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonLabel.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonTable.cjs.map +1 -1
- package/build/cjs/components/loader/skeletons/SkeletonTextArea.cjs.map +1 -1
- package/build/cjs/components/loader/useDelayedRender.cjs.map +1 -1
- package/build/cjs/components/logo/Logo.cjs.map +1 -1
- package/build/cjs/components/logo/LogoStamp.cjs.map +1 -1
- package/build/cjs/components/logo/useTextSpinner.cjs.map +1 -1
- package/build/cjs/components/menu/Menu.cjs.map +1 -1
- package/build/cjs/components/menu/MenuItem.cjs.map +1 -1
- package/build/cjs/components/menu/MenuItemCheckbox.cjs.map +1 -1
- package/build/cjs/components/menu/index.d.cts +1 -1
- package/build/cjs/components/message/DismissButton.cjs.map +1 -1
- package/build/cjs/components/message/FormErrorMessage.cjs.map +1 -1
- package/build/cjs/components/message/Message.cjs.map +1 -1
- package/build/cjs/components/message/index.d.cts +2 -2
- package/build/cjs/components/modal/Modal.cjs.map +1 -1
- package/build/cjs/components/modal/index.d.cts +1 -1
- package/build/cjs/components/modal/useModal.cjs.map +1 -1
- package/build/cjs/components/pagination/Pagination.cjs.map +1 -1
- package/build/cjs/components/popover/Popover.cjs.map +1 -1
- package/build/cjs/components/progress-bar/Countdown.cjs.map +1 -1
- package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
- package/build/cjs/components/radio-button/RadioButton.cjs.map +1 -1
- package/build/cjs/components/radio-button/RadioButtonGroup.cjs.map +1 -1
- package/build/cjs/components/radio-button/radioGroupContext.cjs.map +1 -1
- package/build/cjs/components/radio-panel/RadioPanel.cjs +1 -1
- package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -1
- package/build/cjs/components/radio-panel/RadioPanel.d.cts +1 -1
- package/build/cjs/components/select/NativeSelect.cjs.map +1 -1
- package/build/cjs/components/select/Select.cjs.map +1 -1
- package/build/cjs/components/select/select-utils.cjs.map +1 -1
- package/build/cjs/components/summary-table/SummaryTable.cjs.map +1 -1
- package/build/cjs/components/summary-table/SummaryTableRow.cjs.map +1 -1
- package/build/cjs/components/summary-table/mocks.cjs.map +1 -1
- package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
- package/build/cjs/components/system-message/common/DismissButton.cjs.map +1 -1
- package/build/cjs/components/system-message/common/MessageIcon.cjs.map +1 -1
- package/build/cjs/components/system-message/index.d.cts +1 -1
- package/build/cjs/components/table/DataTable.cjs.map +1 -1
- package/build/cjs/components/table/ExpandableTableRow.cjs.map +1 -1
- package/build/cjs/components/table/ExpandableTableRowController.cjs.map +1 -1
- package/build/cjs/components/table/Table.cjs.map +1 -1
- package/build/cjs/components/table/TableBody.cjs.map +1 -1
- package/build/cjs/components/table/TableCaption.cjs.map +1 -1
- package/build/cjs/components/table/TableCell.cjs.map +1 -1
- package/build/cjs/components/table/TableColumn.cjs.map +1 -1
- package/build/cjs/components/table/TableColumnGroup.cjs.map +1 -1
- package/build/cjs/components/table/TableFooter.cjs.map +1 -1
- package/build/cjs/components/table/TableHead.cjs.map +1 -1
- package/build/cjs/components/table/TableHeader.cjs.map +1 -1
- package/build/cjs/components/table/TablePagination.cjs.map +1 -1
- package/build/cjs/components/table/TableRow.cjs.map +1 -1
- package/build/cjs/components/table/index.d.cts +1 -1
- package/build/cjs/components/table/tableContext.cjs.map +1 -1
- package/build/cjs/components/table/tableSectionContext.cjs.map +1 -1
- package/build/cjs/components/table/utils.cjs.map +1 -1
- package/build/cjs/components/tabs/NavTab.cjs.map +1 -1
- package/build/cjs/components/tabs/NavTabs.cjs.map +1 -1
- package/build/cjs/components/tabs/Tab.cjs.map +1 -1
- package/build/cjs/components/tabs/TabList.cjs.map +1 -1
- package/build/cjs/components/tabs/Tabs.cjs.map +1 -1
- package/build/cjs/components/tag/Tag.cjs.map +1 -1
- package/build/cjs/components/text-input/BaseTextArea.cjs.map +1 -1
- package/build/cjs/components/text-input/BaseTextInput.cjs.map +1 -1
- package/build/cjs/components/text-input/TextArea.cjs.map +1 -1
- package/build/cjs/components/text-input/TextInput.cjs.map +1 -1
- package/build/cjs/components/toast/Toast.cjs.map +1 -1
- package/build/cjs/components/toast/ToastRegion.cjs.map +1 -1
- package/build/cjs/components/toast/ToastRegion.d.cts +1 -1
- package/build/cjs/components/toast/toastContext.cjs.map +1 -1
- package/build/cjs/components/toggle-switch/ToggleSlider.cjs.map +1 -1
- package/build/cjs/components/toggle-switch/ToggleSwitch.cjs.map +1 -1
- package/build/cjs/components/toggle-switch/usePillStyles.cjs.map +1 -1
- package/build/cjs/components/tooltip/PopupTip.cjs.map +1 -1
- package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
- package/build/cjs/components/tooltip/TooltipContent.cjs.map +1 -1
- package/build/cjs/components/tooltip/TooltipTrigger.cjs.map +1 -1
- package/build/cjs/components/tooltip/index.d.cts +1 -1
- package/build/cjs/hooks/index.d.cts +5 -5
- package/build/cjs/hooks/mediaQueryUtils.cjs.map +1 -1
- package/build/cjs/hooks/useAnimatedDetails/useAnimatedDetails.cjs.map +1 -1
- package/build/cjs/hooks/useAnimatedHeight/index.d.cts +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs.map +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs.map +1 -1
- package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs.map +1 -1
- package/build/cjs/hooks/useAriaLiveRegion/index.d.cts +1 -1
- package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.cjs.map +1 -1
- package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.cjs.map +1 -1
- package/build/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
- package/build/cjs/hooks/useElementDimensions/index.d.cts +1 -1
- package/build/cjs/hooks/useElementDimensions/useElementDimensions.cjs.map +1 -1
- package/build/cjs/hooks/useFocusOutside/useFocusOutside.cjs.map +1 -1
- package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
- package/build/cjs/hooks/useListNavigation/useListNavigation.cjs.map +1 -1
- package/build/cjs/hooks/useListNavigation/useListNavigation.d.cts +1 -1
- package/build/cjs/hooks/useLocalStorage/useLocalStorage.cjs.map +1 -1
- package/build/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
- package/build/cjs/hooks/useProgressiveImg/index.d.cts +1 -1
- package/build/cjs/hooks/useProgressiveImg/useProgressiveImg.cjs.map +1 -1
- package/build/cjs/hooks/useProgressiveImg/useProgressiveImg.d.cts +1 -1
- package/build/cjs/hooks/useScreen/state.cjs.map +1 -1
- package/build/cjs/hooks/useScreen/useScreen.cjs.map +1 -1
- package/build/cjs/hooks/useScrollIntoView/index.d.cts +1 -1
- package/build/cjs/hooks/useSwipeGesture/useSwipeGesture.cjs.map +1 -1
- package/build/cjs/utilities/formatters/avstand/formatAvstand.cjs.map +1 -1
- package/build/cjs/utilities/formatters/bytes/formatBytes.cjs.map +1 -1
- package/build/cjs/utilities/formatters/date/formatDate.cjs.map +1 -1
- package/build/cjs/utilities/formatters/fodselsnummer/formatFodselsnummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/index.d.cts +5 -5
- package/build/cjs/utilities/formatters/kontonummer/formatKontonummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/kortnummer/formatKortnummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/telefonnummer/formatTelefonnummer.cjs.map +1 -1
- package/build/cjs/utilities/formatters/util/formatNumber.cjs.map +1 -1
- package/build/cjs/utilities/formatters/util/parseNumber.cjs.map +1 -1
- package/build/cjs/utilities/formatters/util/registerWithMask.cjs.map +1 -1
- package/build/cjs/utilities/formatters/valuta/formatValuta.cjs.map +1 -1
- package/build/cjs/utilities/getThemeAndDensity.cjs.map +1 -1
- package/build/cjs/utilities/polymorphism/SlotComponent.cjs.map +1 -1
- package/build/cjs/utilities/polymorphism/index.d.cts +1 -1
- package/build/cjs/utilities/polymorphism/mergeProps.cjs.map +1 -1
- package/build/cjs/utilities/polymorphism/mergeRefs.cjs.map +1 -1
- package/build/cjs/utilities/tabListener.cjs.map +1 -1
- package/build/cjs/utilities/validators/hasMinimumWords/hasMinimumWords.cjs.map +1 -1
- package/build/cjs/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.cjs.map +1 -1
- package/build/cjs/utilities/validators/isValidChassisnummer/isValidChassisnummer.cjs.map +1 -1
- package/build/cjs/utilities/validators/isValidEpost/isValidEpost.cjs.map +1 -1
- package/build/cjs/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.cjs.map +1 -1
- package/build/cjs/utilities/validators/isValidKortnummer/isValidKortnummer.cjs.map +1 -1
- package/build/cjs/utilities/validators/isValidName/isValidName.cjs.map +1 -1
- package/build/cjs/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.cjs.map +1 -1
- package/build/cjs/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.cjs.map +1 -1
- package/build/es/components/ScreenReaderOnly.js.map +1 -1
- package/build/es/components/accordion/Accordion.js.map +1 -1
- package/build/es/components/accordion/AccordionItem.js.map +1 -1
- package/build/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/build/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
- package/build/es/components/button/Button.js.map +1 -1
- package/build/es/components/button/index.d.ts +1 -1
- package/build/es/components/button/types.js.map +1 -1
- package/build/es/components/card/Card.js.map +1 -1
- package/build/es/components/card/CardImage.js.map +1 -1
- package/build/es/components/card/InfoCard.js.map +1 -1
- package/build/es/components/card/NavCard.js.map +1 -1
- package/build/es/components/card/TaskCard.js.map +1 -1
- package/build/es/components/card/documentation/examples/FakturainfoExample.d.ts +1 -1
- package/build/es/components/card/documentation/examples/StatuskortExample.d.ts +1 -1
- package/build/es/components/card/types.js.map +1 -1
- package/build/es/components/card/utils.js.map +1 -1
- package/build/es/components/checkbox/Checkbox.js.map +1 -1
- package/build/es/components/combobox/Combobox.js.map +1 -1
- package/build/es/components/combobox/index.d.ts +1 -1
- package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
- package/build/es/components/cookie-consent/CookieConsentContext.js.map +1 -1
- package/build/es/components/cookie-consent/CookieConsentModal.js.map +1 -1
- package/build/es/components/cookie-consent/consents/CustomConsents.js.map +1 -1
- package/build/es/components/cookie-consent/consents/DefaultConsents.js.map +1 -1
- package/build/es/components/cookie-consent/consents/RequirementCheckbox.d.ts +1 -1
- package/build/es/components/cookie-consent/consents/RequirementCheckbox.js.map +1 -1
- package/build/es/components/cookie-consent/cookieConsentUtils.d.ts +1 -1
- package/build/es/components/cookie-consent/cookieConsentUtils.js.map +1 -1
- package/build/es/components/cookie-consent/index.d.ts +1 -1
- package/build/es/components/datepicker/DatePicker.js.map +1 -1
- package/build/es/components/datepicker/internal/Calendar.js.map +1 -1
- package/build/es/components/datepicker/internal/calendarReducer.js.map +1 -1
- package/build/es/components/datepicker/internal/useCalendar.js.map +1 -1
- package/build/es/components/datepicker/internal/utils.d.ts +2 -2
- package/build/es/components/datepicker/internal/utils.js.map +1 -1
- package/build/es/components/datepicker/utils.js.map +1 -1
- package/build/es/components/description-list/DescriptionList.js.map +1 -1
- package/build/es/components/expander/ExpandSection.js.map +1 -1
- package/build/es/components/expander/Expander.js.map +1 -1
- package/build/es/components/feedback/Feedback.js.map +1 -1
- package/build/es/components/feedback/FeedbackSuccess.js.map +1 -1
- package/build/es/components/feedback/FeedbackValues.js.map +1 -1
- package/build/es/components/feedback/feedbackContext.js.map +1 -1
- package/build/es/components/feedback/followup/Followup.js.map +1 -1
- package/build/es/components/feedback/followup/followupContext.js.map +1 -1
- package/build/es/components/feedback/followup/useFollowup.js.map +1 -1
- package/build/es/components/feedback/main-question/MainQuestion.js.map +1 -1
- package/build/es/components/feedback/main-question/mainQuestionContext.js.map +1 -1
- package/build/es/components/feedback/main-question/useMainQuestion.js.map +1 -1
- package/build/es/components/feedback/presets.js.map +1 -1
- package/build/es/components/feedback/questions/AddonQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/CheckboxQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/ContactQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/RadioQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/SmileyQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/TextQuestion.js.map +1 -1
- package/build/es/components/feedback/questions/smileyUtils.js.map +1 -1
- package/build/es/components/feedback/utils.js.map +1 -1
- package/build/es/components/flex/Flex.js.map +1 -1
- package/build/es/components/icon/Icon.js.map +1 -1
- package/build/es/components/icon/icons/ArrowDownIcon.js.map +1 -1
- package/build/es/components/icon/icons/ArrowLeftIcon.js.map +1 -1
- package/build/es/components/icon/icons/ArrowNorthEastIcon.js.map +1 -1
- package/build/es/components/icon/icons/ArrowRightIcon.js.map +1 -1
- package/build/es/components/icon/icons/ArrowUpIcon.js.map +1 -1
- package/build/es/components/icon/icons/CalendarIcon.js.map +1 -1
- package/build/es/components/icon/icons/CheckIcon.js.map +1 -1
- package/build/es/components/icon/icons/ChevronDownIcon.js.map +1 -1
- package/build/es/components/icon/icons/ChevronLeftIcon.js.map +1 -1
- package/build/es/components/icon/icons/ChevronRightIcon.js.map +1 -1
- package/build/es/components/icon/icons/ChevronUpIcon.js.map +1 -1
- package/build/es/components/icon/icons/CloseIcon.js.map +1 -1
- package/build/es/components/icon/icons/CopyIcon.js.map +1 -1
- package/build/es/components/icon/icons/DotsIcon.js.map +1 -1
- package/build/es/components/icon/icons/DragIcon.js.map +1 -1
- package/build/es/components/icon/icons/GreenCheckIcon.js.map +1 -1
- package/build/es/components/icon/icons/HamburgerIcon.js.map +1 -1
- package/build/es/components/icon/icons/LinkIcon.js.map +1 -1
- package/build/es/components/icon/icons/MinusIcon.js.map +1 -1
- package/build/es/components/icon/icons/PenIcon.js.map +1 -1
- package/build/es/components/icon/icons/PlusIcon.js.map +1 -1
- package/build/es/components/icon/icons/QuestionIcon.js.map +1 -1
- package/build/es/components/icon/icons/RedCrossIcon.js.map +1 -1
- package/build/es/components/icon/icons/SearchIcon.js.map +1 -1
- package/build/es/components/icon/icons/ThumbDownIcon.js.map +1 -1
- package/build/es/components/icon/icons/ThumbUpIcon.js.map +1 -1
- package/build/es/components/icon/icons/TrashCanIcon.js.map +1 -1
- package/build/es/components/icon/icons/animated/ArrowHorizontalAnimated.js.map +1 -1
- package/build/es/components/icon/icons/animated/ArrowVerticalAnimated.js.map +1 -1
- package/build/es/components/icon/icons/animated/PlusRemoveAnimated.js.map +1 -1
- package/build/es/components/icon-button/IconButton.js.map +1 -1
- package/build/es/components/image/Image.js.map +1 -1
- package/build/es/components/image/useImageLoadingStatus.js.map +1 -1
- package/build/es/components/index.d.ts +1 -1
- package/build/es/components/input-group/FieldGroup.js.map +1 -1
- package/build/es/components/input-group/InputGroup.js.map +1 -1
- package/build/es/components/input-group/Label.js.map +1 -1
- package/build/es/components/input-group/SupportLabel.js.map +1 -1
- package/build/es/components/input-group/index.d.ts +2 -2
- package/build/es/components/link/Link.js.map +1 -1
- package/build/es/components/link/NavLink.js.map +1 -1
- package/build/es/components/link-list/LinkList.js.map +1 -1
- package/build/es/components/loader/index.d.ts +2 -2
- package/build/es/components/loader/skeletons/SkeletonAnimation.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonButton.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonElement.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonInput.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonLabel.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonTable.js.map +1 -1
- package/build/es/components/loader/skeletons/SkeletonTextArea.js.map +1 -1
- package/build/es/components/loader/useDelayedRender.js.map +1 -1
- package/build/es/components/logo/Logo.js.map +1 -1
- package/build/es/components/logo/LogoStamp.js.map +1 -1
- package/build/es/components/logo/useTextSpinner.js.map +1 -1
- package/build/es/components/menu/Menu.js.map +1 -1
- package/build/es/components/menu/MenuItem.js.map +1 -1
- package/build/es/components/menu/MenuItemCheckbox.js.map +1 -1
- package/build/es/components/menu/index.d.ts +1 -1
- package/build/es/components/message/DismissButton.js.map +1 -1
- package/build/es/components/message/FormErrorMessage.js.map +1 -1
- package/build/es/components/message/Message.js.map +1 -1
- package/build/es/components/message/index.d.ts +2 -2
- package/build/es/components/modal/Modal.js.map +1 -1
- package/build/es/components/modal/index.d.ts +1 -1
- package/build/es/components/modal/useModal.js.map +1 -1
- package/build/es/components/pagination/Pagination.js.map +1 -1
- package/build/es/components/popover/Popover.js.map +1 -1
- package/build/es/components/progress-bar/Countdown.js.map +1 -1
- package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
- package/build/es/components/radio-button/RadioButton.js.map +1 -1
- package/build/es/components/radio-button/RadioButtonGroup.js.map +1 -1
- package/build/es/components/radio-button/radioGroupContext.js.map +1 -1
- package/build/es/components/radio-panel/RadioPanel.d.ts +1 -1
- package/build/es/components/radio-panel/RadioPanel.js +1 -1
- package/build/es/components/radio-panel/RadioPanel.js.map +1 -1
- package/build/es/components/select/NativeSelect.js.map +1 -1
- package/build/es/components/select/Select.js.map +1 -1
- package/build/es/components/select/select-utils.js.map +1 -1
- package/build/es/components/summary-table/SummaryTable.js.map +1 -1
- package/build/es/components/summary-table/SummaryTableRow.js.map +1 -1
- package/build/es/components/summary-table/mocks.js.map +1 -1
- package/build/es/components/system-message/SystemMessage.js.map +1 -1
- package/build/es/components/system-message/common/DismissButton.js.map +1 -1
- package/build/es/components/system-message/common/MessageIcon.js.map +1 -1
- package/build/es/components/system-message/index.d.ts +1 -1
- package/build/es/components/table/DataTable.js.map +1 -1
- package/build/es/components/table/ExpandableTableRow.js.map +1 -1
- package/build/es/components/table/ExpandableTableRowController.js.map +1 -1
- package/build/es/components/table/Table.js.map +1 -1
- package/build/es/components/table/TableBody.js.map +1 -1
- package/build/es/components/table/TableCaption.js.map +1 -1
- package/build/es/components/table/TableCell.js.map +1 -1
- package/build/es/components/table/TableColumn.js.map +1 -1
- package/build/es/components/table/TableColumnGroup.js.map +1 -1
- package/build/es/components/table/TableFooter.js.map +1 -1
- package/build/es/components/table/TableHead.js.map +1 -1
- package/build/es/components/table/TableHeader.js.map +1 -1
- package/build/es/components/table/TablePagination.js.map +1 -1
- package/build/es/components/table/TableRow.js.map +1 -1
- package/build/es/components/table/index.d.ts +1 -1
- package/build/es/components/table/tableContext.js.map +1 -1
- package/build/es/components/table/tableSectionContext.js.map +1 -1
- package/build/es/components/table/utils.js.map +1 -1
- package/build/es/components/tabs/NavTab.js.map +1 -1
- package/build/es/components/tabs/NavTabs.js.map +1 -1
- package/build/es/components/tabs/Tab.js.map +1 -1
- package/build/es/components/tabs/TabList.js.map +1 -1
- package/build/es/components/tabs/Tabs.js.map +1 -1
- package/build/es/components/tag/Tag.js.map +1 -1
- package/build/es/components/text-input/BaseTextArea.js.map +1 -1
- package/build/es/components/text-input/BaseTextInput.js.map +1 -1
- package/build/es/components/text-input/TextArea.js.map +1 -1
- package/build/es/components/text-input/TextInput.js.map +1 -1
- package/build/es/components/toast/Toast.js.map +1 -1
- package/build/es/components/toast/ToastRegion.d.ts +1 -1
- package/build/es/components/toast/ToastRegion.js.map +1 -1
- package/build/es/components/toast/toastContext.js.map +1 -1
- package/build/es/components/toggle-switch/ToggleSlider.js.map +1 -1
- package/build/es/components/toggle-switch/ToggleSwitch.js.map +1 -1
- package/build/es/components/toggle-switch/usePillStyles.js.map +1 -1
- package/build/es/components/tooltip/PopupTip.js.map +1 -1
- package/build/es/components/tooltip/Tooltip.js.map +1 -1
- package/build/es/components/tooltip/TooltipContent.js.map +1 -1
- package/build/es/components/tooltip/TooltipTrigger.js.map +1 -1
- package/build/es/components/tooltip/index.d.ts +1 -1
- package/build/es/hooks/index.d.ts +5 -5
- package/build/es/hooks/mediaQueryUtils.js.map +1 -1
- package/build/es/hooks/useAnimatedDetails/useAnimatedDetails.js.map +1 -1
- package/build/es/hooks/useAnimatedHeight/index.d.ts +1 -1
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -1
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -1
- package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -1
- package/build/es/hooks/useAriaLiveRegion/index.d.ts +1 -1
- package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.js.map +1 -1
- package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.js.map +1 -1
- package/build/es/hooks/useClickOutside/useClickOutside.js.map +1 -1
- package/build/es/hooks/useElementDimensions/index.d.ts +1 -1
- package/build/es/hooks/useElementDimensions/useElementDimensions.js.map +1 -1
- package/build/es/hooks/useFocusOutside/useFocusOutside.js.map +1 -1
- package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- package/build/es/hooks/useListNavigation/useListNavigation.d.ts +1 -1
- package/build/es/hooks/useListNavigation/useListNavigation.js.map +1 -1
- package/build/es/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
- package/build/es/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
- package/build/es/hooks/useProgressiveImg/index.d.ts +1 -1
- package/build/es/hooks/useProgressiveImg/useProgressiveImg.d.ts +1 -1
- package/build/es/hooks/useProgressiveImg/useProgressiveImg.js.map +1 -1
- package/build/es/hooks/useScreen/state.js.map +1 -1
- package/build/es/hooks/useScreen/useScreen.js.map +1 -1
- package/build/es/hooks/useScrollIntoView/index.d.ts +1 -1
- package/build/es/hooks/useSwipeGesture/useSwipeGesture.js.map +1 -1
- package/build/es/utilities/formatters/avstand/formatAvstand.js.map +1 -1
- package/build/es/utilities/formatters/bytes/formatBytes.js.map +1 -1
- package/build/es/utilities/formatters/date/formatDate.js.map +1 -1
- package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js.map +1 -1
- package/build/es/utilities/formatters/index.d.ts +5 -5
- package/build/es/utilities/formatters/kontonummer/formatKontonummer.js.map +1 -1
- package/build/es/utilities/formatters/kortnummer/formatKortnummer.js.map +1 -1
- package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js.map +1 -1
- package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js.map +1 -1
- package/build/es/utilities/formatters/util/formatNumber.js.map +1 -1
- package/build/es/utilities/formatters/util/parseNumber.js.map +1 -1
- package/build/es/utilities/formatters/util/registerWithMask.js.map +1 -1
- package/build/es/utilities/formatters/valuta/formatValuta.js.map +1 -1
- package/build/es/utilities/getThemeAndDensity.js.map +1 -1
- package/build/es/utilities/polymorphism/SlotComponent.js.map +1 -1
- package/build/es/utilities/polymorphism/index.d.ts +1 -1
- package/build/es/utilities/polymorphism/mergeProps.js.map +1 -1
- package/build/es/utilities/polymorphism/mergeRefs.js.map +1 -1
- package/build/es/utilities/tabListener.js.map +1 -1
- package/build/es/utilities/validators/hasMinimumWords/hasMinimumWords.js.map +1 -1
- package/build/es/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js.map +1 -1
- package/build/es/utilities/validators/isValidChassisnummer/isValidChassisnummer.js.map +1 -1
- package/build/es/utilities/validators/isValidEpost/isValidEpost.js.map +1 -1
- package/build/es/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js.map +1 -1
- package/build/es/utilities/validators/isValidKortnummer/isValidKortnummer.js.map +1 -1
- package/build/es/utilities/validators/isValidName/isValidName.js.map +1 -1
- package/build/es/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js.map +1 -1
- package/build/es/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js.map +1 -1
- package/package.json +2 -2
- package/styles/components/button/button.css +2 -2
- package/styles/components/button/button.min.css +1 -1
- package/styles/components/checkbox/checkbox.css +4 -4
- package/styles/components/checkbox/checkbox.min.css +1 -1
- package/styles/components/feedback/feedback.css +2 -2
- package/styles/components/feedback/feedback.min.css +1 -1
- package/styles/components/input-group/input-group.css +2 -2
- package/styles/components/input-group/input-group.min.css +1 -1
- package/styles/components/loader/loader.css +6 -6
- package/styles/components/loader/loader.min.css +1 -1
- package/styles/components/loader/skeleton-loader.css +5 -5
- package/styles/components/loader/skeleton-loader.min.css +1 -1
- package/styles/components/message/message.css +2 -2
- package/styles/components/message/message.min.css +1 -1
- package/styles/components/progress-bar/progress-bar.css +2 -2
- package/styles/components/progress-bar/progress-bar.min.css +1 -1
- package/styles/components/radio-button/radio-button.css +2 -2
- package/styles/components/radio-button/radio-button.min.css +1 -1
- package/styles/components/radio-panel/radio-panel.css +2 -637
- package/styles/components/radio-panel/radio-panel.min.css +1 -1
- package/styles/components/radio-panel/radio-panel.scss +0 -10
- package/styles/components/system-message/system-message.css +2 -2
- package/styles/components/system-message/system-message.min.css +1 -1
- package/styles/components/toast/toast.css +4 -4
- package/styles/components/toast/toast.min.css +1 -1
- package/styles/styles.css +35 -42
- package/styles/styles.min.css +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.cjs","sources":["../../../../src/components/image/Image.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { FC } from \"react\";\nimport { useElementDimensions } from \"../../hooks/useElementDimensions/useElementDimensions.js\";\nimport { useImageLoadingStatus } from \"./useImageLoadingStatus.js\";\n\nexport interface ImageProps {\n src: string;\n srcSet?: string;\n placeholder?: string;\n /**\n * Send inn en tom streng hvis bildet kun er dekorativt. Sannsynligvis bør du beskrive innholdet i bildet så en person med nedsatt syn får en fullgod opplevelse av siden.\n * Les mer på https://jokul.fremtind.no/universell-utforming/guide#uu/dekorativt-innhold\n */\n alt: string;\n className?: string;\n}\n\nexport const Image: FC<ImageProps> = ({
|
|
1
|
+
{"version":3,"file":"Image.cjs","sources":["../../../../src/components/image/Image.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { FC } from \"react\";\nimport { useElementDimensions } from \"../../hooks/useElementDimensions/useElementDimensions.js\";\nimport { useImageLoadingStatus } from \"./useImageLoadingStatus.js\";\n\nexport interface ImageProps {\n src: string;\n srcSet?: string;\n placeholder?: string;\n /**\n * Send inn en tom streng hvis bildet kun er dekorativt. Sannsynligvis bør du beskrive innholdet i bildet så en person med nedsatt syn får en fullgod opplevelse av siden.\n * Les mer på https://jokul.fremtind.no/universell-utforming/guide#uu/dekorativt-innhold\n */\n alt: string;\n className?: string;\n}\n\nexport const Image: FC<ImageProps> = ({\n className,\n placeholder,\n alt,\n ...imageProperties\n}) => {\n const [imageRef, imageLoaded] = useImageLoadingStatus();\n const [containerRef, dimensions] =\n useElementDimensions<HTMLDivElement>(400);\n\n return (\n <div\n ref={containerRef}\n className={clsx(\"jkl-image\", className, {\n \"jkl-image--loading\": !imageLoaded,\n })}\n >\n {/* Placeholder er bevisst uten loading og decoding for å vises umiddelbart */}\n <img\n className=\"jkl-image__placeholder\"\n alt={alt}\n src={placeholder || imageProperties.src}\n />\n <img\n alt={alt}\n className=\"jkl-image__image\"\n data-testid=\"jkl-image__image\"\n ref={imageRef}\n sizes={`${dimensions.width}px`}\n loading=\"lazy\"\n decoding=\"async\"\n {...imageProperties}\n />\n </div>\n );\n};\n"],"names":["className","placeholder","alt","imageProperties","imageRef","imageLoaded","useImageLoadingStatus","containerRef","dimensions","useElementDimensions","jsxs","ref","clsx","children","jsx","src","sizes","width","loading","decoding"],"mappings":"2RAiBqC,EACjCA,UAAAA,EACAC,YAAAA,EACAC,IAAAA,KACGC,MAEH,MAAOC,EAAUC,GAAeC,EAAsBA,yBAC/CC,EAAcC,GACjBC,uBAAqC,KAGrC,OAAAC,EAAAA,KAAC,MAAA,CACGC,IAAKJ,EACLP,UAAWY,EAAAA,KAAK,YAAaZ,EAAW,CACpC,sBAAuBK,IAI3BQ,SAAA,CAAAC,EAAAA,IAAC,MAAA,CACGd,UAAU,yBACVE,IAAAA,EACAa,IAAKd,GAAeE,EAAgBY,MAExCD,EAAAA,IAAC,MAAA,CACGZ,IAAAA,EACAF,UAAU,mBACV,cAAY,mBACZW,IAAKP,EACLY,MAAO,GAAGR,EAAWS,UACrBC,QAAQ,OACRC,SAAS,WACLhB,MACR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImageLoadingStatus.cjs","sources":["../../../../src/components/image/useImageLoadingStatus.ts"],"sourcesContent":["import { RefObject, useEffect, useRef, useState } from \"react\";\n\nconst doWhenImageLoaded = (image: HTMLImageElement, callback?: () => void) => {\n let timeout: number | undefined;\n\n function checkLoaded() {\n if (image.complete) {\n clearTimeout(timeout);\n callback?.();\n return;\n }\n timeout = window.setTimeout(checkLoaded, 50);\n }\n\n checkLoaded();\n};\n\nexport const useImageLoadingStatus = (callback?: () => void): [RefObject<HTMLImageElement>, boolean] => {\n const imageRef = useRef<HTMLImageElement>(null);\n const [imageLoaded, setImageLoaded] = useState(false);\n\n useEffect(() => {\n imageRef.current &&\n doWhenImageLoaded(imageRef.current, () => {\n setImageLoaded(true);\n callback?.();\n });\n }, [callback]);\n\n return [imageRef, imageLoaded];\n};\n"],"names":["callback","imageRef","useRef","imageLoaded","setImageLoaded","useState","useEffect","current","image","timeout","checkLoaded","complete","clearTimeout","window","setTimeout","doWhenImageLoaded"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useImageLoadingStatus.cjs","sources":["../../../../src/components/image/useImageLoadingStatus.ts"],"sourcesContent":["import { RefObject, useEffect, useRef, useState } from \"react\";\n\nconst doWhenImageLoaded = (image: HTMLImageElement, callback?: () => void) => {\n let timeout: number | undefined;\n\n function checkLoaded() {\n if (image.complete) {\n clearTimeout(timeout);\n callback?.();\n return;\n }\n timeout = window.setTimeout(checkLoaded, 50);\n }\n\n checkLoaded();\n};\n\nexport const useImageLoadingStatus = (\n callback?: () => void,\n): [RefObject<HTMLImageElement>, boolean] => {\n const imageRef = useRef<HTMLImageElement>(null);\n const [imageLoaded, setImageLoaded] = useState(false);\n\n useEffect(() => {\n imageRef.current &&\n doWhenImageLoaded(imageRef.current, () => {\n setImageLoaded(true);\n callback?.();\n });\n }, [callback]);\n\n return [imageRef, imageLoaded];\n};\n"],"names":["callback","imageRef","useRef","imageLoaded","setImageLoaded","useState","useEffect","current","image","timeout","checkLoaded","complete","clearTimeout","window","setTimeout","doWhenImageLoaded"],"mappings":"uIAkBIA,IAEM,MAAAC,EAAWC,SAAyB,OACnCC,EAAaC,GAAkBC,YAAS,GAE/CC,OAAAA,EAAAA,WAAU,KACNL,EAASM,SAtBS,EAACC,EAAyBR,KAC5C,IAAAS,GAEJ,SAASC,IACL,GAAIF,EAAMG,SAGN,OAFAC,aAAaH,QACF,MAAAT,GAAAA,KAGLS,EAAAI,OAAOC,WAAWJ,EAAa,GAC7C,CAEYA,IAWJK,CAAkBd,EAASM,SAAS,KAChCH,GAAe,GACJ,MAAAJ,GAAAA,MACd,GACN,CAACA,IAEG,CAACC,EAAUE,EAAW"}
|
|
@@ -37,4 +37,4 @@ export * from './text-input/index.cjs';
|
|
|
37
37
|
export * from './toast/index.cjs';
|
|
38
38
|
export * from './toggle-switch/index.cjs';
|
|
39
39
|
export * from './tooltip/index.cjs';
|
|
40
|
-
export { ScreenReaderOnly, type ScreenReaderOnlyProps } from './ScreenReaderOnly.cjs';
|
|
40
|
+
export { ScreenReaderOnly, type ScreenReaderOnlyProps, } from './ScreenReaderOnly.cjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroup.cjs","sources":["../../../../src/components/input-group/FieldGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { FC, FieldsetHTMLAttributes } from \"react\";\nimport { DataTestAutoId, Density } from \"../../core/types.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { PopupTip, PopupTipProps } from \"../tooltip/PopupTip.js\";\nimport { Label, LabelProps } from \"./Label.js\";\nimport { SupportLabel, SupportLabelProps } from \"./SupportLabel.js\";\n\nexport interface FieldGroupProps
|
|
1
|
+
{"version":3,"file":"FieldGroup.cjs","sources":["../../../../src/components/input-group/FieldGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { FC, FieldsetHTMLAttributes } from \"react\";\nimport { DataTestAutoId, Density } from \"../../core/types.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { PopupTip, PopupTipProps } from \"../tooltip/PopupTip.js\";\nimport { Label, LabelProps } from \"./Label.js\";\nimport { SupportLabel, SupportLabelProps } from \"./SupportLabel.js\";\n\nexport interface FieldGroupProps\n extends DataTestAutoId,\n FieldsetHTMLAttributes<HTMLFieldSetElement> {\n legend: string;\n labelProps?: Omit<LabelProps, \"children\" | \"density\">;\n supportLabelProps?: Omit<\n SupportLabelProps,\n \"id\" | \"errorLabel\" | \"helpLabel\" | \"density\"\n >;\n tooltipProps?: PopupTipProps;\n className?: string;\n helpLabel?: string;\n errorLabel?: string;\n density?: Density;\n}\n\nexport const FieldGroup: FC<FieldGroupProps> = (props) => {\n const {\n id,\n legend,\n labelProps,\n supportLabelProps,\n tooltipProps,\n className,\n children,\n helpLabel,\n errorLabel,\n density,\n \"data-testautoid\": testAutoId,\n ...rest\n } = props;\n\n const uid = useId(id || \"jkl-field-group\", { generateSuffix: !id });\n const supportId = `${uid}_support-label`;\n\n const supportText = errorLabel || helpLabel;\n const supportTextType = errorLabel\n ? \"error\"\n : helpLabel\n ? \"help\"\n : undefined;\n\n const describedBy = supportText ? supportId : undefined;\n\n return (\n <fieldset\n id={uid}\n className={clsx(\"jkl-field-group\", className)}\n data-testautoid={testAutoId}\n {...rest}\n aria-describedby={describedBy}\n data-density={density}\n >\n <legend className=\"jkl-field-group__legend\">\n <Label {...labelProps} density={density}>\n {!tooltipProps && legend}\n {tooltipProps && (\n <>\n <span style={{ whiteSpace: \"normal\" }}>\n {legend}\n </span>\n {`\\u00A0`}\n <PopupTip {...tooltipProps} />\n </>\n )}\n </Label>\n </legend>\n {children}\n {(helpLabel || errorLabel) && (\n <SupportLabel\n {...supportLabelProps}\n label={supportText}\n labelType={supportTextType}\n id={supportId}\n density={density}\n />\n )}\n </fieldset>\n );\n};\n"],"names":["props","id","legend","labelProps","supportLabelProps","tooltipProps","className","children","helpLabel","errorLabel","density","testAutoId","rest","uid","useId","generateSuffix","supportId","supportText","supportTextType","describedBy","jsxs","clsx","jsx","Label","Fragment","style","whiteSpace","PopupTip","SupportLabel","label","labelType"],"mappings":"uTAwBgDA,IACtC,MACFC,GAAAA,EACAC,OAAAA,EACAC,WAAAA,EACAC,kBAAAA,EACAC,aAAAA,EACAC,UAAAA,EACAC,SAAAA,EACAC,UAAAA,EACAC,WAAAA,EACAC,QAAAA,EACA,kBAAmBC,KAChBC,GACHZ,EAEEa,EAAMC,QAAMb,GAAM,kBAAmB,CAAEc,gBAAiBd,IACxDe,EAAY,GAAGH,kBAEfI,EAAcR,GAAcD,EAC5BU,EAAkBT,EAClB,QACAD,EACA,YACA,EAEAW,EAAcF,EAAcD,OAAY,EAG1C,OAAAI,EAAAA,KAAC,WAAA,CACGnB,GAAIY,EACJP,UAAWe,EAAAA,KAAK,kBAAmBf,GACnC,kBAAiBK,KACbC,EACJ,mBAAkBO,EAClB,eAAcT,EAEdH,SAAA,CAAAe,EAAAA,IAAC,UAAOhB,UAAU,0BACdC,gBAACgB,EAAAA,MAAO,IAAGpB,EAAYO,QAAAA,EAClBH,SAAA,EAACF,GAAgBH,EACjBG,GAEOe,EAAAA,KAAAI,WAAA,CAAAjB,SAAA,CAAAe,MAAC,QAAKG,MAAO,CAAEC,WAAY,UACtBnB,SACLL,IACC,IACDoB,EAAAA,IAACK,EAAUA,SAAA,IAAGtB,YAK7BE,GACCC,GAAaC,IACXa,EAAAA,IAACM,EAAAA,aAAA,IACOxB,EACJyB,MAAOZ,EACPa,UAAWZ,EACXjB,GAAIe,EACJN,QAAAA,MACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputGroup.cjs","sources":["../../../../src/components/input-group/InputGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, type CSSProperties, type ReactNode } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"InputGroup.cjs","sources":["../../../../src/components/input-group/InputGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, type CSSProperties, type ReactNode } from \"react\";\nimport {\n DataTestAutoId,\n Density,\n WithOptionalChildren,\n} from \"../../core/types.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { PopupTip, PopupTipProps } from \"../tooltip/PopupTip.js\";\nimport { Label, LabelProps } from \"./Label.js\";\nimport { SupportLabel, SupportLabelProps } from \"./SupportLabel.js\";\n\nexport interface InputProps {\n \"aria-describedby\"?: string;\n \"aria-invalid\"?: boolean;\n id?: string;\n}\n\nexport type InputGroupProps = WithOptionalChildren &\n DataTestAutoId & {\n id?: string;\n className?: string;\n \"data-testid\"?: string;\n density?: Density;\n errorLabel?: ReactNode;\n helpLabel?: ReactNode;\n inline?: boolean;\n label: ReactNode;\n labelProps?: Omit<LabelProps, \"children\" | \"density\">;\n supportLabelProps?: Omit<\n SupportLabelProps,\n \"id\" | \"errorLabel\" | \"helpLabel\" | \"density\"\n >;\n tooltipProps?: PopupTipProps;\n style?: CSSProperties;\n render?: (props: InputProps) => JSX.Element;\n };\n\nexport const InputGroup = forwardRef<HTMLDivElement, InputGroupProps>(\n (props, ref) => {\n const {\n className,\n children,\n density,\n errorLabel,\n helpLabel,\n inline,\n label,\n labelProps,\n render,\n supportLabelProps,\n tooltipProps,\n id,\n ...rest\n } = props;\n\n const uid = useId(id || \"jkl-input\", { generateSuffix: !id });\n const supportId = useId(\"jkl-support-label\");\n\n const supportText = errorLabel || helpLabel;\n const supportTextType = errorLabel\n ? \"error\"\n : helpLabel\n ? \"help\"\n : undefined;\n\n const describedBy = supportText ? supportId : undefined;\n\n const inputProps: InputProps = {\n \"aria-describedby\": describedBy,\n \"aria-invalid\": Boolean(errorLabel) ? true : undefined,\n id: uid,\n };\n\n const renderInput = render\n ? () => render(inputProps)\n : () => {\n const input = React.Children.toArray(props.children)[0];\n\n if (!React.isValidElement<InputProps>(input)) return;\n\n return React.cloneElement<InputProps>(input, {\n ...inputProps,\n ...input.props,\n });\n };\n\n return (\n <div\n ref={ref}\n className={clsx(className, \"jkl-input-group\", {\n \"jkl-input-group--inline\": inline,\n })}\n data-density={density}\n {...rest}\n >\n <Label\n standAlone\n htmlFor={uid}\n srOnly={inline}\n {...labelProps}\n style={{\n whiteSpace: tooltipProps ? \"nowrap\" : undefined,\n ...labelProps?.style,\n }}\n density={density}\n >\n {!tooltipProps && label}\n {tooltipProps && (\n <>\n <span style={{ whiteSpace: \"normal\" }}>\n {label}\n </span>\n {`\\u00A0`}\n <PopupTip {...tooltipProps} />\n </>\n )}\n </Label>\n {renderInput()}\n <SupportLabel\n srOnly={inline}\n {...supportLabelProps}\n label={supportText}\n labelType={supportTextType}\n id={supportId}\n density={density}\n />\n </div>\n );\n },\n);\n\nInputGroup.displayName = \"InputGroup\";\n"],"names":["InputGroup","forwardRef","props","ref","className","children","density","errorLabel","helpLabel","inline","label","labelProps","render","supportLabelProps","tooltipProps","id","rest","uid","useId","generateSuffix","supportId","supportText","supportTextType","inputProps","renderInput","input","React","Children","toArray","isValidElement","cloneElement","jsxs","clsx","Label","standAlone","htmlFor","srOnly","style","whiteSpace","Fragment","jsx","PopupTip","SupportLabel","labelType","displayName"],"mappings":"uTAsCaA,EAAaC,EAAAA,YACtB,CAACC,EAAOC,KACE,MACFC,UAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,WAAAA,EACAC,OAAAA,EACAC,kBAAAA,EACAC,aAAAA,EACAC,GAAAA,KACGC,GACHd,EAEEe,EAAMC,QAAMH,GAAM,YAAa,CAAEI,gBAAiBJ,IAClDK,EAAYF,QAAM,qBAElBG,EAAcd,GAAcC,EAC5Bc,EAAkBf,EAClB,QACAC,EACA,YACA,EAIAe,EAAyB,CAC3B,mBAHgBF,EAAcD,OAAY,EAI1C,iBAAwBb,QAAqB,EAC7CQ,GAAIE,GAGFO,EAAcZ,EACd,IAAMA,EAAOW,GACb,KACI,MAAME,EAAQC,EAAMC,SAASC,QAAQ1B,EAAMG,UAAU,GAErD,GAAKqB,EAAMG,eAA2BJ,GAE/B,OAAAC,EAAMI,aAAyBL,EAAO,IACtCF,KACAE,EAAMvB,OACZ,EAIP,OAAA6B,EAAAA,KAAC,MAAA,CACG5B,IAAAA,EACAC,UAAW4B,EAAAA,KAAK5B,EAAW,kBAAmB,CAC1C,0BAA2BK,IAE/B,eAAcH,KACVU,EAEJX,SAAA,CAAA0B,EAAAA,KAACE,EAAAA,MAAA,CACGC,YAAU,EACVC,QAASlB,EACTmB,OAAQ3B,KACJE,EACJ0B,MAAO,CACHC,WAAYxB,EAAe,cAAW,KACnC,MAAAH,OAAAA,EAAAA,EAAY0B,OAEnB/B,QAAAA,EAECD,SAAA,EAACS,GAAgBJ,EACjBI,GAEOiB,EAAAA,KAAAQ,WAAA,CAAAlC,SAAA,CAAAmC,MAAC,QAAKH,MAAO,CAAEC,WAAY,UACtBjC,SACLK,IACC,IACD8B,EAAAA,IAACC,EAAUA,SAAA,IAAG3B,UAIzBU,IACDgB,EAAAA,IAACE,EAAAA,aAAA,CACGN,OAAQ3B,KACJI,EACJH,MAAOW,EACPsB,UAAWrB,EACXP,GAAIK,EACJd,QAAAA,MACJ,IAMhBN,EAAW4C,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.cjs","sources":["../../../../src/components/input-group/Label.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { type CSSProperties, type FC } from \"react\";\nimport { Density, WithChildren } from \"../../core/types.js\";\n\nexport type LabelVariant = \"small\" | \"medium\" | \"large\";\n\nexport interface LabelProps extends WithChildren {\n id?: string;\n variant?: LabelVariant;\n density?: Density;\n srOnly?: boolean;\n standAlone?: boolean;\n htmlFor?: string;\n className?: string;\n style?: CSSProperties;\n}\n\nexport const Label: FC<LabelProps> = ({\n variant = \"small\",\n density,\n srOnly,\n children,\n standAlone,\n htmlFor,\n className = \"\",\n ...rest\n}) => {\n const labelClassNames = clsx(\"jkl-label\", className, {\n [`jkl-label--${variant}`]: variant,\n \"jkl-label--sr-only\": srOnly,\n });\n\n const C = standAlone ? \"label\" : \"span\";\n\n if (!standAlone && htmlFor) {\n htmlFor = undefined;\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n \"WARNING: The standard Label component renders as a <span> element, which does not take a htmlFor prop. If you want the Label to belong to a specific input, use the standAlone prop, which renders as a <label> element instead. In most cases the Label component should not be used directly, as it is part of all our input components.\",\n );\n }\n }\n\n return (\n <C
|
|
1
|
+
{"version":3,"file":"Label.cjs","sources":["../../../../src/components/input-group/Label.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { type CSSProperties, type FC } from \"react\";\nimport { Density, WithChildren } from \"../../core/types.js\";\n\nexport type LabelVariant = \"small\" | \"medium\" | \"large\";\n\nexport interface LabelProps extends WithChildren {\n id?: string;\n variant?: LabelVariant;\n density?: Density;\n srOnly?: boolean;\n standAlone?: boolean;\n htmlFor?: string;\n className?: string;\n style?: CSSProperties;\n}\n\nexport const Label: FC<LabelProps> = ({\n variant = \"small\",\n density,\n srOnly,\n children,\n standAlone,\n htmlFor,\n className = \"\",\n ...rest\n}) => {\n const labelClassNames = clsx(\"jkl-label\", className, {\n [`jkl-label--${variant}`]: variant,\n \"jkl-label--sr-only\": srOnly,\n });\n\n const C = standAlone ? \"label\" : \"span\";\n\n if (!standAlone && htmlFor) {\n htmlFor = undefined;\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n \"WARNING: The standard Label component renders as a <span> element, which does not take a htmlFor prop. If you want the Label to belong to a specific input, use the standAlone prop, which renders as a <label> element instead. In most cases the Label component should not be used directly, as it is part of all our input components.\",\n );\n }\n }\n\n return (\n <C\n {...rest}\n className={labelClassNames}\n htmlFor={htmlFor}\n data-density={density}\n >\n {children}\n </C>\n );\n};\n"],"names":["variant","density","srOnly","children","standAlone","htmlFor","className","rest","labelClassNames","clsx","C","process","env","NODE_ENV","console","warn","jsx"],"mappings":"2KAiBqC,EACjCA,QAAAA,EAAU,QACVC,QAAAA,EACAC,OAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,QAAAA,EACAC,UAAAA,EAAY,MACTC,MAEG,MAAAC,EAAkBC,EAAAA,KAAK,YAAaH,EAAW,CACjD,CAAC,cAAcN,KAAYA,EAC3B,qBAAsBE,IAGpBQ,EAAIN,EAAa,QAAU,OAE7B,OAACA,GAAcC,IACLA,OAAA,EACmB,eAAzBM,QAAQC,IAAIC,UACJC,QAAAC,KACJ,+UAMRC,EAAAA,IAACN,EAAA,IACOH,EACJD,UAAWE,EACXH,QAAAA,EACA,eAAcJ,EAEbE,SAAAA,GAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupportLabel.cjs","sources":["../../../../src/components/input-group/SupportLabel.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { type FC, type ReactNode } from \"react\";\nimport { Density } from \"../../core/types.js\";\nimport { ErrorIcon, SuccessIcon, WarningIcon } from \"../icon/index.js\";\n\nexport type SupportLabelType = \"help\" | \"error\" | \"warning\" | \"success\";\n\nexport interface SupportLabelProps {\n /**\n * En ID er påkrevd for å kunne referere til SupportLabel med aria-describedby.\n *\n * @example\n * ```tsx\n * const uid = useId();\n * const supportId = useId();\n * const hasSupportText = helpLabel || errorLabel;\n * const describedBy = hasSupportText ? supportId : undefined;\n *\n * return (\n * <div>\n * <Label standAlone htmlFor={uid}>\n * Velg en tekst\n * </Label>\n * <select\n * id={uid}\n * aria-describedby={describedBy}\n * >\n * <option value=\"e\">Example</option>\n * </select>\n * <SupportLabel\n * id={supportId}\n * label={errorLabel}\n * labelType=\"error\"\n * density={density}\n * />\n * </div>\n * );\n * ```\n */\n id: string;\n /**\n * @deprecated Bruk `label` for å få samme resultat.\n */\n helpLabel?: ReactNode;\n /**\n * @deprecated Bruk `label` og `labelType=\"warning\"` for å få samme resultat.\n */\n errorLabel?: ReactNode;\n label?: ReactNode;\n /**\n * Bestemmer hvilket ikon som skal vises:\n *\n * - \"help\" viser ikke noe ikon\n * - \"warning\" viser WarningIcon, det som tidligere ble vist med `errorLabel`\n * - \"error\" viser ErrorIcon\n * - \"success\" viser SuccessIcon\n *\n * @default \"help\"\n */\n labelType?: SupportLabelType;\n density?: Density;\n className?: string;\n srOnly?: boolean;\n}\n\nexport const SupportLabel: FC<SupportLabelProps> = ({\n id,\n helpLabel,\n errorLabel,\n label,\n labelType = \"help\",\n density,\n className,\n srOnly,\n ...rest\n}) => {\n const hasLabel = errorLabel || helpLabel || label;\n\n const isHelp = labelType === \"help\" || (helpLabel && !errorLabel);\n const isWarning = labelType === \"warning\" || errorLabel;\n const isError = labelType === \"error\";\n const isSuccess = labelType === \"success\";\n\n const componentClassName = hasLabel\n ? clsx(\"jkl-form-support-label\", className, {\n \"jkl-form-support-label--sr-only\": srOnly,\n \"jkl-form-support-label--help\": isHelp,\n \"jkl-form-support-label--error\": isError,\n \"jkl-form-support-label--warning\": isWarning,\n \"jkl-form-support-label--success\": isSuccess,\n })\n : \"jkl-dormant-form-support-label\";\n\n const restProps = hasLabel ? rest : {};\n\n const Icon = isError ? ErrorIcon : isSuccess ? SuccessIcon : WarningIcon;\n\n return (\n <span
|
|
1
|
+
{"version":3,"file":"SupportLabel.cjs","sources":["../../../../src/components/input-group/SupportLabel.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { type FC, type ReactNode } from \"react\";\nimport { Density } from \"../../core/types.js\";\nimport { ErrorIcon, SuccessIcon, WarningIcon } from \"../icon/index.js\";\n\nexport type SupportLabelType = \"help\" | \"error\" | \"warning\" | \"success\";\n\nexport interface SupportLabelProps {\n /**\n * En ID er påkrevd for å kunne referere til SupportLabel med aria-describedby.\n *\n * @example\n * ```tsx\n * const uid = useId();\n * const supportId = useId();\n * const hasSupportText = helpLabel || errorLabel;\n * const describedBy = hasSupportText ? supportId : undefined;\n *\n * return (\n * <div>\n * <Label standAlone htmlFor={uid}>\n * Velg en tekst\n * </Label>\n * <select\n * id={uid}\n * aria-describedby={describedBy}\n * >\n * <option value=\"e\">Example</option>\n * </select>\n * <SupportLabel\n * id={supportId}\n * label={errorLabel}\n * labelType=\"error\"\n * density={density}\n * />\n * </div>\n * );\n * ```\n */\n id: string;\n /**\n * @deprecated Bruk `label` for å få samme resultat.\n */\n helpLabel?: ReactNode;\n /**\n * @deprecated Bruk `label` og `labelType=\"warning\"` for å få samme resultat.\n */\n errorLabel?: ReactNode;\n label?: ReactNode;\n /**\n * Bestemmer hvilket ikon som skal vises:\n *\n * - \"help\" viser ikke noe ikon\n * - \"warning\" viser WarningIcon, det som tidligere ble vist med `errorLabel`\n * - \"error\" viser ErrorIcon\n * - \"success\" viser SuccessIcon\n *\n * @default \"help\"\n */\n labelType?: SupportLabelType;\n density?: Density;\n className?: string;\n srOnly?: boolean;\n}\n\nexport const SupportLabel: FC<SupportLabelProps> = ({\n id,\n helpLabel,\n errorLabel,\n label,\n labelType = \"help\",\n density,\n className,\n srOnly,\n ...rest\n}) => {\n const hasLabel = errorLabel || helpLabel || label;\n\n const isHelp = labelType === \"help\" || (helpLabel && !errorLabel);\n const isWarning = labelType === \"warning\" || errorLabel;\n const isError = labelType === \"error\";\n const isSuccess = labelType === \"success\";\n\n const componentClassName = hasLabel\n ? clsx(\"jkl-form-support-label\", className, {\n \"jkl-form-support-label--sr-only\": srOnly,\n \"jkl-form-support-label--help\": isHelp,\n \"jkl-form-support-label--error\": isError,\n \"jkl-form-support-label--warning\": isWarning,\n \"jkl-form-support-label--success\": isSuccess,\n })\n : \"jkl-dormant-form-support-label\";\n\n const restProps = hasLabel ? rest : {};\n\n const Icon = isError ? ErrorIcon : isSuccess ? SuccessIcon : WarningIcon;\n\n return (\n <span\n id={id}\n className={componentClassName}\n {...restProps}\n data-density={density}\n >\n <Icon variant=\"small\" className=\"jkl-form-support-label__icon\" />\n <span>{errorLabel || helpLabel || label}</span>\n </span>\n );\n};\n"],"names":["id","helpLabel","errorLabel","label","labelType","density","className","srOnly","rest","hasLabel","isHelp","isWarning","isError","isSuccess","componentClassName","clsx","restProps","Icon","ErrorIcon","SuccessIcon","WarningIcon","jsxs","children","jsx","variant"],"mappings":"mpDAiEmD,EAC/CA,GAAAA,EACAC,UAAAA,EACAC,WAAAA,EACAC,MAAAA,EACAC,UAAAA,EAAY,OACZC,QAAAA,EACAC,UAAAA,EACAC,OAAAA,KACGC,MAEG,MAAAC,EAAWP,GAAcD,GAAaE,EAEtCO,EAAuB,SAAdN,GAAyBH,IAAcC,EAChDS,EAA0B,YAAdP,GAA2BF,EACvCU,EAAwB,UAAdR,EACVS,EAA0B,YAAdT,EAEZU,EAAqBL,EACrBM,OAAK,yBAA0BT,EAAW,CACtC,kCAAmCC,EACnC,+BAAgCG,EAChC,gCAAiCE,EACjC,kCAAmCD,EACnC,kCAAmCE,IAEvC,iCAEAG,EAAYP,EAAWD,EAAO,GAE9BS,EAAOL,EAAUM,EAAAA,UAAYL,EAAYM,EAAAA,YAAcC,EAAAA,YAGzD,OAAAC,EAAAA,KAAC,OAAA,CACGrB,GAAAA,EACAM,UAAWQ,KACPE,EACJ,eAAcX,EAEdiB,SAAA,CAAAC,EAAAA,IAACN,EAAK,CAAAO,QAAQ,QAAQlB,UAAU,iCAC/BiB,EAAAA,IAAA,OAAA,CAAMD,SAAcpB,GAAAD,GAAaE,MAAM"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { FieldGroup, type FieldGroupProps } from './FieldGroup.cjs';
|
|
2
|
-
export { InputGroup, type InputGroupProps, type InputProps } from './InputGroup.cjs';
|
|
2
|
+
export { InputGroup, type InputGroupProps, type InputProps, } from './InputGroup.cjs';
|
|
3
3
|
export { Label, type LabelProps, type LabelVariant } from './Label.cjs';
|
|
4
|
-
export { SupportLabel, type SupportLabelProps, type SupportLabelType } from './SupportLabel.cjs';
|
|
4
|
+
export { SupportLabel, type SupportLabelProps, type SupportLabelType, } from './SupportLabel.cjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.cjs","sources":["../../../../src/components/link/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"Link.cjs","sources":["../../../../src/components/link/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport {\n PolymorphicPropsWithRef,\n PolymorphicRef,\n} from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport type LinkProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<\n ElementType,\n {\n external?: boolean;\n }\n >;\n\nexport type LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: LinkProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const Link = React.forwardRef(function Link<\n ElementType extends React.ElementType = \"a\",\n>(props: LinkProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n external = false,\n className = \"\",\n children,\n as = \"a\",\n ...rest\n } = props;\n const Component = as;\n\n return (\n <Component\n ref={ref}\n className={clsx(\"jkl-link\", className, {\n \"jkl-link--external\": external,\n })}\n {...rest}\n >\n {children}\n </Component>\n );\n});\n"],"names":["Link","forwardRef","props","ref","external","className","children","as","rest","Component","jsx","clsx"],"mappings":"6JAmBaA,mBAAaC,YAAW,SAEnCC,EAA+BC,GACvB,MACFC,SAAAA,GAAW,EACXC,UAAAA,EAAY,GACZC,SAAAA,EACAC,GAAAA,EAAK,OACFC,GACHN,EACEO,EAAYF,EAGd,OAAAG,EAAAA,IAACD,EAAA,CACGN,IAAAA,EACAE,UAAWM,EAAAA,KAAK,WAAYN,EAAW,CACnC,qBAAsBD,OAEtBI,EAEHF,SAAAA,GAGb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavLink.cjs","sources":["../../../../src/components/link/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"NavLink.cjs","sources":["../../../../src/components/link/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport {\n PolymorphicPropsWithRef,\n PolymorphicRef,\n} from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport type NavLinkProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<\n ElementType,\n {\n active?: boolean;\n back?: boolean;\n }\n >;\n\nexport type LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: NavLinkProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const NavLink = React.forwardRef(function NavLink<\n ElementType extends React.ElementType = \"a\",\n>(props: NavLinkProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const {\n active = false,\n back = false,\n className,\n children,\n as = \"a\",\n ...rest\n } = props;\n const Component = as;\n\n return (\n <Component\n ref={ref}\n className={clsx(\n \"jkl-nav-link\",\n {\n \"jkl-nav-link--active\": active,\n \"jkl-nav-link--back\": back,\n },\n className,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n});\n"],"names":["NavLink","forwardRef","props","ref","active","back","className","children","as","rest","Component","jsx","clsx"],"mappings":"6JAoBaA,mBAAgBC,YAAW,SAEtCC,EAAkCC,GAC1B,MACFC,OAAAA,GAAS,EACTC,KAAAA,GAAO,EACPC,UAAAA,EACAC,SAAAA,EACAC,GAAAA,EAAK,OACFC,GACHP,EACEQ,EAAYF,EAGd,OAAAG,EAAAA,IAACD,EAAA,CACGP,IAAAA,EACAG,UAAWM,EAAAA,KACP,eACA,CACI,uBAAwBR,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAAA,GAGb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkList.cjs","sources":["../../../../src/components/link-list/LinkList.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { ComponentProps, FC } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"LinkList.cjs","sources":["../../../../src/components/link-list/LinkList.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { ComponentProps, FC } from \"react\";\nimport {\n PolymorphicPropsWithRef,\n PolymorphicRef,\n} from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ArrowRightIcon } from \"../icon/index.js\";\n\nconst Item: FC<ComponentProps<\"li\">> = ({ className, ...rest }) => {\n return (\n <li className={clsx(\"jkl-link-list-item\", className)} {...rest}></li>\n );\n};\n\ntype LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: PolymorphicPropsWithRef<ElementType>,\n) => React.ReactElement | null;\n\nconst Link = React.forwardRef(function LinkListLink<\n ElementType extends React.ElementType = \"a\",\n>(\n props: PolymorphicPropsWithRef<ElementType>,\n ref: PolymorphicRef<ElementType>,\n) {\n const { as: Component = \"a\", children, className, ...rest } = props;\n\n return (\n <Component\n className={clsx(\"jkl-link-list-link\", className)}\n ref={ref}\n {...rest}\n >\n {children}\n <ArrowRightIcon className=\"jkl-link-list-link__arrow\" />\n </Component>\n );\n}) as LinkComponent;\n\ntype UnorderedLinkListProps = React.HTMLAttributes<HTMLUListElement> & {\n variant: \"unordered\";\n};\n\ntype OrderedLinkListProps = React.HTMLAttributes<HTMLOListElement> & {\n variant: \"ordered\";\n};\n\ntype LinkListProps = UnorderedLinkListProps | OrderedLinkListProps;\n\nexport const LinkList = ({\n variant,\n className,\n ...rest\n}: LinkListProps): React.JSX.Element => {\n const Component = variant === \"ordered\" ? \"ol\" : \"ul\";\n\n return (\n <Component\n className={clsx(\"jkl-link-list\", className, {\n \"jkl-link-list--ordered\": variant === \"ordered\",\n \"jkl-link-list--unordered\": variant === \"unordered\",\n })}\n {...rest}\n />\n );\n};\n\nLinkList.Link = Link;\nLinkList.Item = Item;\n"],"names":["Link","React","forwardRef","props","ref","as","Component","children","className","rest","jsxs","clsx","jsx","ArrowRightIcon","LinkList","variant","Item"],"mappings":"uoDAQA,MAUMA,EAAOC,EAAMC,YAAW,SAG1BC,EACAC,GAEM,MAAEC,GAAIC,EAAY,IAAKC,SAAAA,EAAUC,UAAAA,KAAcC,GAASN,EAG1D,OAAAO,EAAAA,KAACJ,EAAA,CACGE,UAAWG,EAAAA,KAAK,qBAAsBH,GACtCJ,IAAAA,KACIK,EAEHF,SAAA,CAAAA,EACDK,EAAAA,IAACC,EAAeA,eAAA,CAAAL,UAAU,gCAGtC,IAYaM,EAAW,EACpBC,QAAAA,EACAP,UAAAA,KACGC,MAEG,MAAAH,EAAwB,YAAZS,EAAwB,KAAO,KAG7C,OAAAH,EAAAA,IAACN,EAAA,CACGE,UAAWG,EAAAA,KAAK,gBAAiBH,EAAW,CACxC,yBAAsC,YAAZO,EAC1B,2BAAwC,cAAZA,OAE5BN,GAAA,EAKhBK,EAASd,KAAOA,EAChBc,EAASE,KA3D8B,EAAGR,UAAAA,KAAcC,KAEhDG,EAAAA,IAAC,MAAGJ,UAAWG,EAAAA,KAAK,qBAAsBH,MAAgBC"}
|
|
@@ -12,7 +12,7 @@ export type { SkeletonInputProps } from './skeletons/SkeletonInput.cjs';
|
|
|
12
12
|
export { SkeletonInput } from './skeletons/SkeletonInput.cjs';
|
|
13
13
|
export type { SkeletonRadioButtonGroupProps } from './skeletons/SkeletonRadioButtonGroup.cjs';
|
|
14
14
|
export { SkeletonRadioButtonGroup } from './skeletons/SkeletonRadioButtonGroup.cjs';
|
|
15
|
-
export type { SkeletonTableProps, SkeletonTableHeaderProps, SkeletonTableRowProps } from './skeletons/SkeletonTable.cjs';
|
|
16
|
-
export { SkeletonTable, SkeletonTableHeader, SkeletonTableRow } from './skeletons/SkeletonTable.cjs';
|
|
15
|
+
export type { SkeletonTableProps, SkeletonTableHeaderProps, SkeletonTableRowProps, } from './skeletons/SkeletonTable.cjs';
|
|
16
|
+
export { SkeletonTable, SkeletonTableHeader, SkeletonTableRow, } from './skeletons/SkeletonTable.cjs';
|
|
17
17
|
export type { SkeletonTextAreaProps } from './skeletons/SkeletonTextArea.cjs';
|
|
18
18
|
export { SkeletonTextArea } from './skeletons/SkeletonTextArea.cjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonAnimation.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonAnimation.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { AriaRole, HTMLProps, ReactNode } from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { useDelayedRender } from \"../useDelayedRender.js\";\n\nexport interface SkeletonAnimationProps
|
|
1
|
+
{"version":3,"file":"SkeletonAnimation.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonAnimation.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { AriaRole, HTMLProps, ReactNode } from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { useDelayedRender } from \"../useDelayedRender.js\";\n\nexport interface SkeletonAnimationProps\n extends Pick<HTMLProps<HTMLDivElement>, \"style\"> {\n className?: string;\n children: ReactNode;\n density?: Density;\n /** @default \"Vennligst vent\" */\n textDescription?: string;\n role?: AriaRole;\n /**\n * Antall millisekunder komponenten vil vente før den rendrer\n * @default 0\n */\n delay?: number;\n}\n\nexport const SkeletonAnimation = ({\n className,\n delay = 0,\n density,\n textDescription = \"Vennligst vent\",\n ...rest\n}: SkeletonAnimationProps) => {\n const renderComponent = useDelayedRender(delay);\n\n if (delay && !renderComponent) {\n return null;\n }\n\n return (\n <div\n className={clsx(\"jkl-skeleton-animation\", className)}\n aria-busy=\"true\"\n aria-label={textDescription}\n {...rest}\n data-density={density}\n />\n );\n};\n"],"names":["className","delay","density","textDescription","rest","renderComponent","useDelayedRender","jsx","clsx"],"mappings":"+NAoBiC,EAC7BA,UAAAA,EACAC,MAAAA,EAAQ,EACRC,QAAAA,EACAC,gBAAAA,EAAkB,oBACfC,MAEG,MAAAC,EAAkBC,mBAAiBL,GAErC,OAAAA,IAAUI,EACH,KAIPE,EAAAA,IAAC,MAAA,CACGP,UAAWQ,EAAAA,KAAK,yBAA0BR,GAC1C,YAAU,OACV,aAAYG,KACRC,EACJ,eAAcF,GAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonButton.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\n\nexport interface SkeletonButtonProps
|
|
1
|
+
{"version":3,"file":"SkeletonButton.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\n\nexport interface SkeletonButtonProps\n extends Omit<SkeletonElementProps, \"height\"> {\n density?: Density;\n}\n\nexport const SkeletonButton = ({\n style,\n density,\n ...rest\n}: SkeletonButtonProps) => {\n return (\n <SkeletonElement\n {...rest}\n height={density === \"compact\" ? 24 : 40}\n style={{ borderRadius: \"999px\", ...style }}\n />\n );\n};\n"],"names":["style","density","rest","jsx","SkeletonElement","height","borderRadius"],"mappings":"+KAS8B,EAC1BA,MAAAA,EACAC,QAAAA,KACGC,KAGCC,EAAAA,IAACC,EAAAA,gBAAA,IACOF,EACJG,OAAoB,YAAZJ,EAAwB,GAAK,GACrCD,MAAO,CAAEM,aAAc,WAAYN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonCheckboxGroup.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonCheckboxGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\nimport { SkeletonLabel, SkeletonLabelProps } from \"./SkeletonLabel.js\";\n\nexport interface SkeletonCheckboxGroupProps {\n className?: string;\n checkboxes: number;\n density?: Density;\n labelProps?: SkeletonLabelProps;\n inputProps?: SkeletonElementProps;\n}\n\nexport const SkeletonCheckboxGroup = ({\n className,\n checkboxes,\n density,\n labelProps,\n inputProps,\n ...rest\n}: SkeletonCheckboxGroupProps) => {\n const compact = density === \"compact\";\n return (\n <div className={clsx(\"jkl-skeleton-input\", className)} {...rest}>\n <SkeletonLabel density={density} {...labelProps} />\n {Array.from(Array(checkboxes)).map((_, index) => (\n <div
|
|
1
|
+
{"version":3,"file":"SkeletonCheckboxGroup.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonCheckboxGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\nimport { SkeletonLabel, SkeletonLabelProps } from \"./SkeletonLabel.js\";\n\nexport interface SkeletonCheckboxGroupProps {\n className?: string;\n checkboxes: number;\n density?: Density;\n labelProps?: SkeletonLabelProps;\n inputProps?: SkeletonElementProps;\n}\n\nexport const SkeletonCheckboxGroup = ({\n className,\n checkboxes,\n density,\n labelProps,\n inputProps,\n ...rest\n}: SkeletonCheckboxGroupProps) => {\n const compact = density === \"compact\";\n return (\n <div className={clsx(\"jkl-skeleton-input\", className)} {...rest}>\n <SkeletonLabel density={density} {...labelProps} />\n {Array.from(Array(checkboxes)).map((_, index) => (\n <div\n key={`jkl-skeleton-checkbox-${index}`}\n className=\"jkl-skeleton-input__checkbox\"\n >\n <SkeletonElement\n width={compact ? 22 : 24}\n height={compact ? 22 : 24}\n />\n <SkeletonElement\n width={compact ? 201 : 216}\n height={compact ? 22 : 24}\n {...inputProps}\n />\n </div>\n ))}\n </div>\n );\n};\n"],"names":["className","checkboxes","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","Array","from","map","_","index","SkeletonElement","width","height"],"mappings":"kQAcqC,EACjCA,UAAAA,EACAC,WAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAAA,KAAC,OAAIP,UAAWQ,EAAAA,KAAK,qBAAsBR,MAAgBK,EACvDI,SAAA,CAACC,EAAAA,IAAAC,EAAAA,cAAA,CAAcT,QAAAA,KAAsBC,IACpCS,MAAMC,KAAKD,MAAMX,IAAaa,KAAI,CAACC,EAAGC,IACnCT,EAAAA,KAAC,MAAA,CAEGP,UAAU,+BAEVS,SAAA,CAAAC,EAAAA,IAACO,EAAAA,gBAAA,CACGC,MAAOZ,EAAU,GAAK,GACtBa,OAAQb,EAAU,GAAK,KAE3BI,EAAAA,IAACO,EAAAA,gBAAA,CACGC,MAAOZ,EAAU,IAAM,IACvBa,OAAQb,EAAU,GAAK,MACnBF,MAVH,yBAAyBY,SAc1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonElement.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonElement.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { HTMLProps } from \"react\";\n\nexport interface SkeletonElementProps
|
|
1
|
+
{"version":3,"file":"SkeletonElement.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonElement.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { HTMLProps } from \"react\";\n\nexport interface SkeletonElementProps\n extends Pick<HTMLProps<HTMLDivElement>, \"style\"> {\n className?: string;\n shape?: \"rect\" | \"circle\";\n width: number | string;\n height: number | string;\n}\n\nexport const SkeletonElement = ({\n shape = \"rect\",\n width,\n height,\n style,\n className,\n ...rest\n}: SkeletonElementProps) => {\n return (\n <div\n className={clsx(\n \"jkl-skeleton-element\",\n `jkl-skeleton-element--${shape}`,\n className,\n )}\n style={{ width, height, ...style }}\n {...rest}\n />\n );\n};\n"],"names":["shape","width","height","style","className","rest","jsx","clsx"],"mappings":"wLAW+B,EAC3BA,MAAAA,EAAQ,OACRC,MAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,UAAAA,KACGC,KAGCC,EAAAA,IAAC,MAAA,CACGF,UAAWG,EAAAA,KACP,uBACA,yBAAyBP,IACzBI,GAEJD,MAAO,CAAEF,MAAAA,EAAOC,OAAAA,KAAWC,MACvBE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonInput.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonInput.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { SkeletonElementProps } from \"packages/loader-react/build/index.js\";\nimport React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement } from \"./SkeletonElement.js\";\nimport { SkeletonLabel, SkeletonLabelProps } from \"./SkeletonLabel.js\";\n\nexport interface SkeletonInputProps {\n className?: string;\n density?: Density;\n labelProps?: SkeletonLabelProps;\n inputProps?: SkeletonElementProps;\n}\n\nexport const SkeletonInput = ({
|
|
1
|
+
{"version":3,"file":"SkeletonInput.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonInput.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { SkeletonElementProps } from \"packages/loader-react/build/index.js\";\nimport React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement } from \"./SkeletonElement.js\";\nimport { SkeletonLabel, SkeletonLabelProps } from \"./SkeletonLabel.js\";\n\nexport interface SkeletonInputProps {\n className?: string;\n density?: Density;\n labelProps?: SkeletonLabelProps;\n inputProps?: SkeletonElementProps;\n}\n\nexport const SkeletonInput = ({\n className,\n density,\n labelProps,\n inputProps,\n ...rest\n}: SkeletonInputProps) => {\n const compact = density === \"compact\";\n return (\n <div className={clsx(\"jkl-skeleton-input\", className)} {...rest}>\n <SkeletonLabel density={density} {...labelProps} />\n <SkeletonElement\n width={compact ? 301 : 316}\n height={compact ? 32 : 48}\n {...inputProps}\n />\n </div>\n );\n};\n"],"names":["className","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","SkeletonElement","width","height"],"mappings":"0PAc6B,EACzBA,UAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAAA,KAAC,OAAIN,UAAWO,EAAAA,KAAK,qBAAsBP,MAAgBI,EACvDI,SAAA,CAACC,EAAAA,IAAAC,EAAAA,cAAA,CAAcT,QAAAA,KAAsBC,IACrCO,EAAAA,IAACE,EAAAA,gBAAA,CACGC,MAAOP,EAAU,IAAM,IACvBQ,OAAQR,EAAU,GAAK,MACnBF,MAEZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonLabel.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonLabel.tsx"],"sourcesContent":["import React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\n\nexport interface SkeletonLabelProps
|
|
1
|
+
{"version":3,"file":"SkeletonLabel.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonLabel.tsx"],"sourcesContent":["import React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\n\nexport interface SkeletonLabelProps\n extends Omit<SkeletonElementProps, \"width\" | \"height\"> {\n className?: string;\n density?: Density;\n}\n\nexport const SkeletonLabel = ({ density, ...rest }: SkeletonLabelProps) => {\n const compact = density === \"compact\";\n return (\n <SkeletonElement\n {...rest}\n width={compact ? 100 : 115}\n height={compact ? 12 : 16}\n />\n );\n};\n"],"names":["density","rest","compact","jsx","SkeletonElement","width","height"],"mappings":"8KAU6B,EAAGA,QAAAA,KAAYC,MACxC,MAAMC,EAAsB,YAAZF,EAEZ,OAAAG,EAAAA,IAACC,EAAAA,gBAAA,IACOH,EACJI,MAAOH,EAAU,IAAM,IACvBI,OAAQJ,EAAU,GAAK,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonRadioButtonGroup.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonRadioButtonGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\nimport { SkeletonLabel, SkeletonLabelProps } from \"./SkeletonLabel.js\";\n\nexport interface SkeletonRadioButtonGroupProps {\n className?: string;\n density?: Density;\n labelProps?: SkeletonLabelProps;\n inputProps?: SkeletonElementProps;\n radioButtons: number;\n}\n\nexport const SkeletonRadioButtonGroup = ({\n className,\n radioButtons,\n density,\n labelProps,\n inputProps,\n ...rest\n}: SkeletonRadioButtonGroupProps) => {\n const compact = density === \"compact\";\n return (\n <div className={clsx(\"jkl-skeleton-input\", className)} {...rest}>\n <SkeletonLabel density={density} {...labelProps} />\n {Array.from(Array(radioButtons)).map((_, index) => (\n <div
|
|
1
|
+
{"version":3,"file":"SkeletonRadioButtonGroup.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonRadioButtonGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\nimport { SkeletonLabel, SkeletonLabelProps } from \"./SkeletonLabel.js\";\n\nexport interface SkeletonRadioButtonGroupProps {\n className?: string;\n density?: Density;\n labelProps?: SkeletonLabelProps;\n inputProps?: SkeletonElementProps;\n radioButtons: number;\n}\n\nexport const SkeletonRadioButtonGroup = ({\n className,\n radioButtons,\n density,\n labelProps,\n inputProps,\n ...rest\n}: SkeletonRadioButtonGroupProps) => {\n const compact = density === \"compact\";\n return (\n <div className={clsx(\"jkl-skeleton-input\", className)} {...rest}>\n <SkeletonLabel density={density} {...labelProps} />\n {Array.from(Array(radioButtons)).map((_, index) => (\n <div\n key={`jkl-skeleton-checkbox-${index}`}\n className=\"jkl-skeleton-input__checkbox\"\n >\n <SkeletonElement\n width={compact ? 22 : 24}\n height={compact ? 22 : 24}\n style={{ borderRadius: \"50%\" }}\n />\n <SkeletonElement\n width={compact ? 201 : 216}\n height={compact ? 22 : 24}\n {...inputProps}\n />\n </div>\n ))}\n </div>\n );\n};\n"],"names":["className","radioButtons","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","Array","from","map","_","index","SkeletonElement","width","height","style","borderRadius"],"mappings":"qQAcwC,EACpCA,UAAAA,EACAC,aAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAAA,KAAC,OAAIP,UAAWQ,EAAAA,KAAK,qBAAsBR,MAAgBK,EACvDI,SAAA,CAACC,EAAAA,IAAAC,EAAAA,cAAA,CAAcT,QAAAA,KAAsBC,IACpCS,MAAMC,KAAKD,MAAMX,IAAea,KAAI,CAACC,EAAGC,IACrCT,EAAAA,KAAC,MAAA,CAEGP,UAAU,+BAEVS,SAAA,CAAAC,EAAAA,IAACO,EAAAA,gBAAA,CACGC,MAAOZ,EAAU,GAAK,GACtBa,OAAQb,EAAU,GAAK,GACvBc,MAAO,CAAEC,aAAc,SAE3BX,EAAAA,IAACO,EAAAA,gBAAA,CACGC,MAAOZ,EAAU,IAAM,IACvBa,OAAQb,EAAU,GAAK,MACnBF,MAXH,yBAAyBY,SAe1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonTable.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonTable.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { HTMLProps, ReactNode } from \"react\";\nimport { Density } from \"../../../core/types.js\";\n\nexport interface SkeletonTableProps
|
|
1
|
+
{"version":3,"file":"SkeletonTable.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonTable.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { HTMLProps, ReactNode } from \"react\";\nimport { Density } from \"../../../core/types.js\";\n\nexport interface SkeletonTableProps\n extends Pick<HTMLProps<HTMLDivElement>, \"style\"> {\n className?: string;\n children: ReactNode;\n density?: Density;\n width?: number | string;\n}\n\nexport const SkeletonTable = ({\n className,\n density,\n width,\n style,\n ...rest\n}: SkeletonTableProps) => {\n return (\n <div\n className={clsx(\"jkl-skeleton-table\", className)}\n style={{ width, ...style }}\n {...rest}\n data-density={density}\n />\n );\n};\n\nexport interface SkeletonTableHeaderProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const SkeletonTableHeader = ({\n className,\n ...rest\n}: SkeletonTableHeaderProps) => {\n return (\n <div\n className={clsx(\"jkl-skeleton-table__header\", className)}\n {...rest}\n />\n );\n};\n\nexport interface SkeletonTableRowProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const SkeletonTableRow = ({\n className,\n ...rest\n}: SkeletonTableRowProps) => {\n return (\n <div className={clsx(\"jkl-skeleton-table__row\", className)} {...rest} />\n );\n};\n"],"names":["className","density","width","style","rest","jsx","clsx"],"mappings":"sLAY6B,EACzBA,UAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,MAAAA,KACGC,KAGCC,EAAAA,IAAC,MAAA,CACGL,UAAWM,EAAAA,KAAK,qBAAsBN,GACtCG,MAAO,CAAED,MAAAA,KAAUC,MACfC,EACJ,eAAcH,gCAUS,EAC/BD,UAAAA,KACGI,KAGCC,EAAAA,IAAC,MAAA,CACGL,UAAWM,EAAAA,KAAK,6BAA8BN,MAC1CI,6BAUgB,EAC5BJ,UAAAA,KACGI,KAGCC,EAAAA,IAAC,OAAIL,UAAWM,EAAAA,KAAK,0BAA2BN,MAAgBI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonTextArea.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonTextArea.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\nimport { SkeletonLabel, SkeletonLabelProps } from \"./SkeletonLabel.js\";\n\nexport interface SkeletonTextAreaProps {\n className?: string;\n labelProps?: SkeletonLabelProps;\n inputProps?: SkeletonElementProps;\n density?: Density;\n}\n\nexport const SkeletonTextArea = ({
|
|
1
|
+
{"version":3,"file":"SkeletonTextArea.cjs","sources":["../../../../../src/components/loader/skeletons/SkeletonTextArea.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { Density } from \"../../../core/types.js\";\nimport { SkeletonElement, SkeletonElementProps } from \"./SkeletonElement.js\";\nimport { SkeletonLabel, SkeletonLabelProps } from \"./SkeletonLabel.js\";\n\nexport interface SkeletonTextAreaProps {\n className?: string;\n labelProps?: SkeletonLabelProps;\n inputProps?: SkeletonElementProps;\n density?: Density;\n}\n\nexport const SkeletonTextArea = ({\n className,\n density,\n labelProps,\n inputProps,\n ...rest\n}: SkeletonTextAreaProps) => {\n const compact = density === \"compact\";\n return (\n <div\n className={clsx(\"jkl-skeleton-input\", className)}\n {...rest}\n data-density={density}\n >\n <SkeletonLabel density={density} {...labelProps} />\n <SkeletonElement\n width={compact ? 301 : 316}\n height={compact ? 148 : 168}\n {...inputProps}\n />\n </div>\n );\n};\n"],"names":["className","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","SkeletonElement","width","height"],"mappings":"6PAagC,EAC5BA,UAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAAA,KAAC,MAAA,CACGN,UAAWO,EAAAA,KAAK,qBAAsBP,MAClCI,EACJ,eAAcH,EAEdO,SAAA,CAACC,EAAAA,IAAAC,EAAAA,cAAA,CAAcT,QAAAA,KAAsBC,IACrCO,EAAAA,IAACE,EAAAA,gBAAA,CACGC,MAAOP,EAAU,IAAM,IACvBQ,OAAQR,EAAU,IAAM,OACpBF,MACR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDelayedRender.cjs","sources":["../../../../src/components/loader/useDelayedRender.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nexport function useDelayedRender(delayMilliseconds: number) {\n const [renderComponent, setRenderComponent] = useState(delayMilliseconds === 0 ? true : false);\n\n useEffect(() => {\n if (delayMilliseconds === 0) {\n return;\n }\n\n const timeout = setTimeout(() => setRenderComponent(true)
|
|
1
|
+
{"version":3,"file":"useDelayedRender.cjs","sources":["../../../../src/components/loader/useDelayedRender.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nexport function useDelayedRender(delayMilliseconds: number) {\n const [renderComponent, setRenderComponent] = useState(\n delayMilliseconds === 0 ? true : false,\n );\n\n useEffect(() => {\n if (delayMilliseconds === 0) {\n return;\n }\n\n const timeout = setTimeout(\n () => setRenderComponent(true),\n delayMilliseconds,\n );\n return () => clearTimeout(timeout);\n }, [delayMilliseconds, setRenderComponent]);\n\n return renderComponent;\n}\n"],"names":["delayMilliseconds","renderComponent","setRenderComponent","useState","useEffect","timeout","setTimeout","clearTimeout"],"mappings":"kIAEO,SAA0BA,GACvB,MAACC,EAAiBC,GAAsBC,EAAAA,SACpB,IAAtBH,GAGJI,OAAAA,EAAAA,WAAU,KACN,GAA0B,IAAtBJ,EACA,OAGJ,MAAMK,EAAUC,YACZ,IAAMJ,GAAmB,IACzBF,GAEG,MAAA,IAAMO,aAAaF,EAAO,GAClC,CAACL,EAAmBE,IAEhBD,CACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logo.cjs","sources":["../../../../src/components/logo/Logo.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { CSSProperties } from \"react\";\nimport { useId } from \"../../hooks/useId/useId.js\";\n\nexport interface LogoProps {\n className?: string;\n id?: string;\n style?: CSSProperties;\n /** Sentrerer logosymbolet i viewboksen i stedet for den vanlige venstrejusteringen */\n centered?: boolean;\n /** Animerer overgangen mellom logo og logosymbol */\n animated?: boolean;\n /** Vis logosymbol i stedet for logo */\n isSymbol?: boolean;\n /** Beskrivelse av logoen tilgjengelig for skjermlesere */\n title?: string;\n}\n\nexport const Logo = ({\n className,\n id,\n centered = true,\n isSymbol = false,\n animated = false,\n title = \"Fremtind\",\n ...rest\n}: LogoProps): JSX.Element => {\n const uniqueId = useId(id || \"jkl-logo\", { generateSuffix: !id });\n\n return (\n <svg\n {...rest}\n className={clsx(\"jkl-logo\", className, {\n \"jkl-logo--animated\": animated,\n \"jkl-logo--symbol-only\": isSymbol,\n \"jkl-logo--centered\": centered && isSymbol,\n })}\n aria-labelledby={uniqueId}\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n viewBox={!animated && isSymbol && !centered
|
|
1
|
+
{"version":3,"file":"Logo.cjs","sources":["../../../../src/components/logo/Logo.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { CSSProperties } from \"react\";\nimport { useId } from \"../../hooks/useId/useId.js\";\n\nexport interface LogoProps {\n className?: string;\n id?: string;\n style?: CSSProperties;\n /** Sentrerer logosymbolet i viewboksen i stedet for den vanlige venstrejusteringen */\n centered?: boolean;\n /** Animerer overgangen mellom logo og logosymbol */\n animated?: boolean;\n /** Vis logosymbol i stedet for logo */\n isSymbol?: boolean;\n /** Beskrivelse av logoen tilgjengelig for skjermlesere */\n title?: string;\n}\n\nexport const Logo = ({\n className,\n id,\n centered = true,\n isSymbol = false,\n animated = false,\n title = \"Fremtind\",\n ...rest\n}: LogoProps): JSX.Element => {\n const uniqueId = useId(id || \"jkl-logo\", { generateSuffix: !id });\n\n return (\n <svg\n {...rest}\n className={clsx(\"jkl-logo\", className, {\n \"jkl-logo--animated\": animated,\n \"jkl-logo--symbol-only\": isSymbol,\n \"jkl-logo--centered\": centered && isSymbol,\n })}\n aria-labelledby={uniqueId}\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n viewBox={\n !animated && isSymbol && !centered\n ? \"31 60 150 83\"\n : \"32 27 581 120\"\n }\n >\n <title id={uniqueId}>{title}</title>\n <g\n fill=\"none\"\n className=\"jkl-logo__F\"\n strokeWidth=\"8\"\n transform={`${isSymbol ? \"rotate(45) translate(90, -70)\" : \"\"}`}\n >\n <line\n x1=\"34.3\"\n x2=\"104.846844\"\n y1=\"32.563024\"\n y2=\"32.563024\"\n className=\"jkl-logo__F-line\"\n transform={\n isSymbol ? \"scale(1.45, 1) translate(-10, 6)\" : \"\"\n }\n />\n <line\n x1=\"35.12226\"\n x2=\"91.504088\"\n y1=\"80.105318\"\n y2=\"80.105318\"\n />\n <line\n x1=\"-10.820058\"\n x2=\"87.38984\"\n y1=\"84.219561\"\n y2=\"84.219561\"\n transform=\"rotate(90, 38.2849, 84.2196)\"\n />\n </g>\n {!(isSymbol && !animated) && (\n <path\n strokeWidth=\".57975\"\n d=\"M145.752 58.979c-10.21 0-20.201 6.854-23.793 16.133l-.157-15.179-.002-.224h-6.907v73.723h7.782V98.038c0-11.791 2.998-31.572 23.077-31.572 2.89 0 5.153.23 7.12.724l.283.07v-7.806l-.187-.035c-2.363-.44-4.831-.44-7.216-.44M170.88 91.357c.1-15.2 10.325-26.21 24.387-26.21 15.08 0 23.29 13.146 23.658 26.21H170.88zm24.387-33.554c-10.228 0-18.904 4.44-25.092 12.84-4.925 6.7-7.22 15.031-7.22 26.218 0 11.088 3.262 20.766 9.433 27.99 6.099 6.954 13.994 10.481 23.466 10.481 8.097 0 15.596-3.04 21.115-8.559 4.522-4.364 7.305-9.583 8.269-15.515l.044-.262h-8.075l-.038.182c-.77 3.876-2.52 7.146-5.503 10.292-3.968 4.11-9.583 6.375-15.812 6.375-7.332 0-13.239-2.586-17.557-7.684-4.619-5.48-7.37-13.341-7.563-21.602h55.97v-.227c0-.877.038-1.659.074-2.415.037-.758.076-1.543.076-2.426 0-9.44-2.952-18.247-8.313-24.797-5.831-7.126-13.88-10.891-23.274-10.891h0zM324.782 57.803c-10.833 0-19.176 5.465-23.558 15.41-2.377-7.168-8.339-15.41-23.183-15.41-9.606 0-17.811 5.162-22.111 13.86l-.813-11.743-.016-.211h-6.89v73.723h7.78V96.568c0-12.182 2.933-21.098 8.72-26.501 3.425-3.265 7.76-4.92 12.885-4.92 11.845 0 17.362 6.4 17.362 20.142v48.143h7.923V91.736c0-8.853 2.965-16.346 8.573-21.666 3.682-3.36 7.777-4.924 12.89-4.924 11.741 0 17.21 6.4 17.21 20.143v48.143h7.783V84.844c0-17.438-8.721-27.041-24.555-27.041M387.105 37.665l-7.782 1.873v20.17h-14.656v7.195h14.656v45.933c0 14.145 6.615 21.622 19.133 21.622 3.964 0 7.73-.804 11.72-1.657l.668-.142v-6.91l-.267.05c-3.606.666-7.465 1.315-11.54 1.315-8.364 0-11.932-4.357-11.932-14.571v-45.64h43.533v66.529h8.22V59.709h-51.753V37.665M499.748 57.803c-10.364 0-20.339 5.951-24.596 14.576l-.83-12.67h-6.893v73.723h7.781V96.568c0-6.054.932-14.697 5.367-21.487 4.18-6.398 10.483-9.64 18.734-9.64 12.565 0 18.674 6.492 18.674 19.848v48.143h7.781V84.844c0-17.185-9.482-27.041-26.018-27.041M434.672 28.547a5.9 5.9 0 0 0-5.894 5.893 5.9 5.9 0 0 0 5.894 5.895 5.9 5.9 0 0 0 5.895-5.895 5.9 5.9 0 0 0-5.895-5.893M592.914 121.901c-4.007 3.85-8.984 5.801-14.793 5.801-5.777 0-10.472-1.658-14.354-5.068-6.188-5.519-9.597-14.775-9.597-26.066 0-10.31 2.89-19.102 8.139-24.751 4.135-4.291 9.212-6.376 15.52-6.376 6.202 0 11.324 1.9 15.23 5.653 6.251 5.846 9.164 13.941 9.164 25.474 0 10.765-3.132 19.29-9.309 25.333zm9.157-94.721v44.113c-4.264-7.988-14.077-13.49-24.243-13.49-8.072 0-14.828 2.585-20.081 7.682-7.309 6.897-11.5 18.281-11.5 31.234 0 13.6 4.294 24.848 12.091 31.673 5.234 4.605 11.841 6.94 19.64 6.94 10.115 0 20.112-5.893 24.154-14.127l.835 12.227h6.886V27.18h-7.782 0z\"\n className=\"jkl-logo__remtind\"\n />\n )}\n </svg>\n );\n};\n"],"names":["className","id","centered","isSymbol","animated","title","rest","uniqueId","useId","generateSuffix","jsxs","clsx","role","xmlns","fill","stroke","viewBox","children","jsx","strokeWidth","transform","x1","x2","y1","y2","d"],"mappings":"mNAkBoB,EAChBA,UAAAA,EACAC,GAAAA,EACAC,SAAAA,GAAW,EACXC,SAAAA,GAAW,EACXC,SAAAA,GAAW,EACXC,MAAAA,EAAQ,cACLC,MAEG,MAAAC,EAAWC,QAAMP,GAAM,WAAY,CAAEQ,gBAAiBR,IAGxD,OAAAS,EAAAA,KAAC,MAAA,IACOJ,EACJN,UAAWW,EAAAA,KAAK,WAAYX,EAAW,CACnC,qBAAsBI,EACtB,wBAAyBD,EACzB,qBAAsBD,GAAYC,IAEtC,kBAAiBI,EACjBK,KAAK,MACLC,MAAM,6BACNC,KAAK,eACLC,OAAO,eACPC,QACKZ,IAAYD,GAAaD,EAEpB,gBADA,eAIVe,SAAA,CAACC,EAAAA,IAAA,QAAA,CAAMjB,GAAIM,EAAWU,SAAMZ,IAC5BK,EAAAA,KAAC,IAAA,CACGI,KAAK,OACLd,UAAU,cACVmB,YAAY,IACZC,UAAW,IAAGjB,EAAW,gCAAkC,IAE3Dc,SAAA,CAAAC,EAAAA,IAAC,OAAA,CACGG,GAAG,OACHC,GAAG,aACHC,GAAG,YACHC,GAAG,YACHxB,UAAU,mBACVoB,UACIjB,EAAW,mCAAqC,KAGxDe,EAAAA,IAAC,OAAA,CACGG,GAAG,WACHC,GAAG,YACHC,GAAG,YACHC,GAAG,cAEPN,EAAAA,IAAC,OAAA,CACGG,GAAG,aACHC,GAAG,WACHC,GAAG,YACHC,GAAG,YACHJ,UAAU,sCAGfjB,IAAaC,IACZc,EAAAA,IAAC,OAAA,CACGC,YAAY,SACZM,EAAE,w8EACFzB,UAAU,wBACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogoStamp.cjs","sources":["../../../../src/components/logo/LogoStamp.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { CSSProperties, useRef } from \"react\";\nimport { WithChildren } from \"../../core/types.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { useTextSpinner } from \"./useTextSpinner.js\";\n\nexport interface LogoStampProps extends WithChildren {\n className?: string;\n id?: string;\n style?: CSSProperties;\n /**\n * Beskrivelse av logostempelet tilgjengelig for skjermlesere.\n * Teksten i logostempelet er en path, og ikke tilgjengelig for skjermlesere.\n * @default \"Forsikring levert av Fremtind\"\n */\n title?: string;\n /** Roterer teksten rundt logostempelet første gangen stempelet kommer til syne */\n animated?: boolean;\n}\n\nexport const LogoStamp = ({\n children,\n className,\n id,\n animated = false,\n title,\n ...rest\n}: LogoStampProps): JSX.Element => {\n const uniqueId = useId(id || \"jkl-logo-stamp\", { generateSuffix: !id });\n const stampRef = useRef<SVGSVGElement>(null);\n const { hasAnimated, visible } = useTextSpinner(stampRef);\n\n return (\n <svg\n {...rest}\n ref={stampRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n aria-labelledby={uniqueId}\n className={clsx(\"jkl-logo-stamp\", className, {\n \"jkl-logo-stamp--animated\": animated,\n })}\n data-rotate={animated && (visible || hasAnimated)}\n role=\"img\"\n >\n <title id={uniqueId}
|
|
1
|
+
{"version":3,"file":"LogoStamp.cjs","sources":["../../../../src/components/logo/LogoStamp.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { CSSProperties, useRef } from \"react\";\nimport { WithChildren } from \"../../core/types.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { useTextSpinner } from \"./useTextSpinner.js\";\n\nexport interface LogoStampProps extends WithChildren {\n className?: string;\n id?: string;\n style?: CSSProperties;\n /**\n * Beskrivelse av logostempelet tilgjengelig for skjermlesere.\n * Teksten i logostempelet er en path, og ikke tilgjengelig for skjermlesere.\n * @default \"Forsikring levert av Fremtind\"\n */\n title?: string;\n /** Roterer teksten rundt logostempelet første gangen stempelet kommer til syne */\n animated?: boolean;\n}\n\nexport const LogoStamp = ({\n children,\n className,\n id,\n animated = false,\n title,\n ...rest\n}: LogoStampProps): JSX.Element => {\n const uniqueId = useId(id || \"jkl-logo-stamp\", { generateSuffix: !id });\n const stampRef = useRef<SVGSVGElement>(null);\n const { hasAnimated, visible } = useTextSpinner(stampRef);\n\n return (\n <svg\n {...rest}\n ref={stampRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n aria-labelledby={uniqueId}\n className={clsx(\"jkl-logo-stamp\", className, {\n \"jkl-logo-stamp--animated\": animated,\n })}\n data-rotate={animated && (visible || hasAnimated)}\n role=\"img\"\n >\n <title id={uniqueId}>\n {title || \"Forsikring levert av Fremtind\"}\n </title>\n <g className=\"jkl-logo-stamp__logo\">\n <path\n fill=\"currentColor\"\n d=\"M256 177.2L146.4 286.8l8.5 8.4 51.4-51.4 51.4 51.4 8.2-8.1-51.5-51.5 41.9-41.8L357.5 295l8.1-8.2z\"\n />\n </g>\n <g className=\"jkl-logo-stamp__text\">{children}</g>\n </svg>\n );\n};\n"],"names":["children","className","id","animated","title","rest","uniqueId","useId","generateSuffix","stampRef","useRef","hasAnimated","visible","useTextSpinner","jsxs","ref","xmlns","viewBox","clsx","role","jsx","fill","d"],"mappings":"6QAoByB,EACrBA,SAAAA,EACAC,UAAAA,EACAC,GAAAA,EACAC,SAAAA,GAAW,EACXC,MAAAA,KACGC,MAEG,MAAAC,EAAWC,QAAML,GAAM,iBAAkB,CAAEM,gBAAiBN,IAC5DO,EAAWC,SAAsB,OAC/BC,YAAAA,EAAaC,QAAAA,GAAYC,iBAAeJ,GAG5C,OAAAK,EAAAA,KAAC,MAAA,IACOT,EACJU,IAAKN,EACLO,MAAM,6BACNC,QAAQ,cACR,kBAAiBX,EACjBL,UAAWiB,EAAAA,KAAK,iBAAkBjB,EAAW,CACzC,2BAA4BE,IAEhC,cAAaA,IAAaS,GAAWD,GACrCQ,KAAK,MAELnB,SAAA,CAAAoB,EAAAA,IAAC,QAAM,CAAAlB,GAAII,EACNN,SAAAI,GAAS,kCAEdgB,EAAAA,IAAC,IAAE,CAAAnB,UAAU,uBACTD,SAAAoB,EAAAA,IAAC,OAAA,CACGC,KAAK,eACLC,EAAE,wGAGTF,EAAAA,IAAA,IAAA,CAAEnB,UAAU,uBAAwBD,SAAAA,MAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTextSpinner.cjs","sources":["../../../../src/components/logo/useTextSpinner.ts"],"sourcesContent":["import React, { useState } from \"react\";\nimport { useIntersectionObserver } from \"../../hooks/useIntersectionObserver/useIntersectionObserver.js\";\nexport function useTextSpinner<T extends HTMLElement | SVGElement>(ref: React.RefObject<T
|
|
1
|
+
{"version":3,"file":"useTextSpinner.cjs","sources":["../../../../src/components/logo/useTextSpinner.ts"],"sourcesContent":["import React, { useState } from \"react\";\nimport { useIntersectionObserver } from \"../../hooks/useIntersectionObserver/useIntersectionObserver.js\";\nexport function useTextSpinner<T extends HTMLElement | SVGElement>(\n ref: React.RefObject<T>,\n) {\n const [hasAnimated, setHasAnimated] = useState(false);\n const [visible, setVisible] = useState(false);\n\n const onIntersect = (entries: IntersectionObserverEntry[]) => {\n const intersecting = entries.some((entry) => entry.isIntersecting);\n setVisible(intersecting);\n if (intersecting) {\n setHasAnimated(true);\n }\n };\n useIntersectionObserver(ref, onIntersect, () => setVisible(true), {\n rootMargin: \"50% 0% 0% 0%\",\n threshold: 0.5,\n });\n\n return { hasAnimated, visible };\n}\n"],"names":["ref","hasAnimated","setHasAnimated","useState","visible","setVisible","useIntersectionObserver","entries","intersecting","some","entry","isIntersecting","rootMargin","threshold"],"mappings":"6MAEO,SACHA,GAEA,MAAOC,EAAaC,GAAkBC,YAAS,IACxCC,EAASC,GAAcF,YAAS,GASvCG,OAAAA,EAAAA,wBAAwBN,GAPHO,IACjB,MAAMC,EAAeD,EAAQE,MAAMC,GAAUA,EAAMC,iBACnDN,EAAWG,GACPA,GACAN,GAAe,EAAI,IAGe,IAAMG,GAAW,IAAO,CAC9DO,WAAY,eACZC,UAAW,KAGR,CAAEZ,YAAAA,EAAaG,QAAAA,EAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.cjs","sources":["../../../../src/components/menu/Menu.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n type Placement,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFloatingTree,\n useHover,\n useInteractions,\n useListNavigation,\n useMergeRefs,\n useRole,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React, { type ButtonHTMLAttributes, forwardRef, type ReactNode, useEffect, useRef, useState } from \"react\";\nimport * as ReactIs from \"react-is\";\nimport { DataTestAutoId, WithChildren } from \"../../core/types.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { getThemeAndDensity } from \"../../utilities/getThemeAndDensity.js\";\nimport { useMenuWideEvents } from \"./useMenuWideEvents.js\";\n\nexport interface MenuProps\n extends DataTestAutoId,\n WithChildren,\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n className?: string;\n /**\n * Initiell plassering av menyen. Dersom det ikke er plass på skjermen der du\n * angir at den skal åpnes vil den slyttes automatisk.\n * @default \"bottom-start\" på toppnivå, \"right-start\" for undermenyer\n * */\n initialPlacement?: Placement;\n /**\n * Angir om menyen skal åpnes ved hover (uten å måtte klikke)\n * @default false\n */\n openOnHover?: boolean;\n /**\n * Angir om menyen skal holdes åpen når man klikker utenfor menyen\n * @default false\n */\n keepOpenOnClickOutside?: boolean;\n /**\n * Elementet som fungerer som trigger for menyen. Dersom elementet ikke er en `<button>`\n * eller en `forwardRef<HTMLButtonElement>` vil det bli lagt inne i en knapp\n * med forhåndsdefinert stil. For å komme raskt i gang kan du bruke komponenten\n * `MenuTriggerButton` fra denne pakken.\n */\n triggerElement: ReactNode;\n /**\n * Kan brukes til å styre utenfra om menyen skal være åpen eller ikke.\n * @default false\n */\n isOpen?: boolean;\n /**\n * Callback som kalles når menyen åpnes eller lukkes.\n */\n onToggle?: (isOpen: boolean) => void;\n}\n\nconst MenuComponent = forwardRef<HTMLButtonElement, MenuProps>((props, forwardedRef) => {\n const {\n children,\n className,\n initialPlacement,\n openOnHover = false,\n keepOpenOnClickOutside = false,\n triggerElement,\n isOpen: isOpenOverride,\n onToggle,\n ...triggerProps\n } = props;\n\n const MenuId = useId(\"jkl-menu\");\n\n const tree = useFloatingTree();\n const nodeId = useFloatingNodeId();\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n\n const listItemsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const { allowHover, isOpen: isOpenDefault, setIsOpen } = useMenuWideEvents(tree, nodeId, parentId);\n\n const isOpen = isOpenOverride !== undefined ? isOpenOverride : isOpenDefault;\n\n useEffect(() => onToggle?.(isOpen), [isOpen, onToggle]);\n\n const { x, y, refs, placement, strategy, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange: setIsOpen,\n placement: initialPlacement || (isNested ? \"right-start\" : \"bottom-start\"),\n middleware: [\n offset(2),\n flip({\n fallbackAxisSideDirection: \"end\", // Allow bottom placement in narrow viewports (https://floating-ui.com/docs/flip#fallbackaxissidedirection)\n crossAxis: false, // See https://floating-ui.com/docs/flip#combining-with-shift\n }),\n shift({ padding: 8 }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { getReferenceProps, getFloatingProps, getItemProps } = useInteractions([\n useHover(context, {\n enabled: openOnHover && allowHover,\n delay: { open: 75 },\n handleClose: safePolygon({\n requireIntent: true,\n blockPointerEvents: true,\n }),\n }),\n useClick(context, {\n event: \"mousedown\",\n }),\n useDismiss(context, { outsidePress: !keepOpenOnClickOutside }),\n useRole(context, { role: \"menu\" }),\n useListNavigation(context, {\n listRef: listItemsRef,\n activeIndex,\n nested: isNested,\n onNavigate: setActiveIndex,\n }),\n ]);\n\n const referenceRef = useMergeRefs([refs.setReference, forwardedRef]);\n\n // Siden menyen 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 const { theme, density } = getThemeAndDensity(refs.reference.current as HTMLElement);\n\n return (\n <FloatingNode id={nodeId}>\n {React.isValidElement(triggerElement) &&\n (triggerElement.type === \"button\" || ReactIs.isForwardRef(triggerElement))\n ? // Dersom trigger-elementet er en knapp, sett riktige egenskaper på det\n React.cloneElement(triggerElement, {\n ...getReferenceProps({\n ...triggerProps,\n ref: referenceRef,\n role: isNested ? \"menuitem\" : undefined,\n \"aria-controls\": MenuId,\n onClick(event) {\n event.stopPropagation();\n },\n }),\n })\n : // Ellers, rendre elementet as-is, uten interaktivitet. Krev en ferdig brukbar button for å åpne menyen.\n triggerElement}\n <AnimatePresence>\n {isOpen && (\n <FloatingPortal>\n <FloatingFocusManager\n context={context}\n // Prevent outside content interference.\n modal={false}\n // Only initially focus the root floating menu.\n initialFocus={isNested ? -1 : 0}\n // Only return focus to the root menu's reference when menus close.\n returnFocus={!isNested}\n >\n <motion.div\n className={clsx(\"jkl jkl-menu\", className)}\n data-theme={theme}\n data-layout-density={density}\n role=\"menu\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ ease: \"easeIn\", duration: 0.1 }}\n data-placement={placement}\n aria-live=\"assertive\"\n aria-hidden={!isOpen}\n ref={refs.setFloating}\n {...getFloatingProps({\n id: MenuId,\n style: {\n position: strategy,\n top: y ?? \"\",\n left: x ?? \"\",\n },\n })}\n >\n {React.Children.map(children, (child, index) => {\n if (React.isValidElement(child) && ReactIs.isForwardRef(child)) {\n return React.cloneElement(\n child,\n getItemProps({\n ...child.props,\n tabIndex: activeIndex === index ? 0 : -1,\n role: \"menuitem\",\n ref(node: HTMLButtonElement) {\n listItemsRef.current[index] = node;\n },\n onClick(event) {\n child.props.onClick?.(event as React.MouseEvent<HTMLButtonElement>);\n if (event.defaultPrevented) {\n return;\n }\n tree?.events.emit(\"click\");\n },\n onKeyDown(event) {\n child.props.onKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n tree?.events.emit(\"keydown\");\n if (\n event.currentTarget.role === \"menuitemcheckbox\" &&\n event.key === \"Enter\"\n ) {\n // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/menuitemcheckbox_role#keyboard_interactions\n setIsOpen(false);\n }\n },\n onMouseEnter() {\n if (allowHover && isOpen) {\n setActiveIndex(index);\n }\n },\n }),\n );\n }\n\n return child;\n })}\n </motion.div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </AnimatePresence>\n </FloatingNode>\n );\n});\nMenuComponent.displayName = \"MenuComponent\";\n\nexport const Menu = forwardRef<HTMLButtonElement, MenuProps>((props, ref) => {\n const parentId = useFloatingParentNodeId();\n\n if (parentId === null) {\n return (\n <FloatingTree>\n <MenuComponent ref={ref} {...props} />\n </FloatingTree>\n );\n }\n\n return <MenuComponent ref={ref} {...props} />;\n});\nMenu.displayName = \"Menu\";\n"],"names":["MenuComponent","forwardRef","props","forwardedRef","children","className","initialPlacement","openOnHover","keepOpenOnClickOutside","triggerElement","isOpen","isOpenOverride","onToggle","triggerProps","MenuId","useId","tree","useFloatingTree","nodeId","useFloatingNodeId","parentId","useFloatingParentNodeId","isNested","listItemsRef","useRef","activeIndex","setActiveIndex","useState","allowHover","isOpenDefault","setIsOpen","useMenuWideEvents","useEffect","x","y","refs","placement","strategy","context","useFloating","open","onOpenChange","middleware","offset","flip","fallbackAxisSideDirection","crossAxis","shift","padding","whileElementsMounted","autoUpdate","getReferenceProps","getFloatingProps","getItemProps","useInteractions","useHover","enabled","delay","handleClose","safePolygon","requireIntent","blockPointerEvents","useClick","event","useDismiss","outsidePress","useRole","role","useListNavigation","listRef","nested","onNavigate","referenceRef","useMergeRefs","setReference","theme","density","getThemeAndDensity","reference","current","jsxs","FloatingNode","id","React","isValidElement","type","ReactIs","isForwardRef","cloneElement","ref","onClick","stopPropagation","jsx","AnimatePresence","FloatingPortal","FloatingFocusManager","modal","initialFocus","returnFocus","motion","div","clsx","initial","opacity","animate","exit","transition","ease","duration","setFloating","style","position","top","left","Children","map","child","index","tabIndex","node","_b","_a","call","defaultPrevented","events","emit","onKeyDown","currentTarget","key","onMouseEnter","displayName","Menu","FloatingTree"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.cjs","sources":["../../../../src/components/menu/Menu.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n type Placement,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFloatingTree,\n useHover,\n useInteractions,\n useListNavigation,\n useMergeRefs,\n useRole,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React, {\n type ButtonHTMLAttributes,\n forwardRef,\n type ReactNode,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport * as ReactIs from \"react-is\";\nimport { DataTestAutoId, WithChildren } from \"../../core/types.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { getThemeAndDensity } from \"../../utilities/getThemeAndDensity.js\";\nimport { useMenuWideEvents } from \"./useMenuWideEvents.js\";\n\nexport interface MenuProps\n extends DataTestAutoId,\n WithChildren,\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n className?: string;\n /**\n * Initiell plassering av menyen. Dersom det ikke er plass på skjermen der du\n * angir at den skal åpnes vil den slyttes automatisk.\n * @default \"bottom-start\" på toppnivå, \"right-start\" for undermenyer\n * */\n initialPlacement?: Placement;\n /**\n * Angir om menyen skal åpnes ved hover (uten å måtte klikke)\n * @default false\n */\n openOnHover?: boolean;\n /**\n * Angir om menyen skal holdes åpen når man klikker utenfor menyen\n * @default false\n */\n keepOpenOnClickOutside?: boolean;\n /**\n * Elementet som fungerer som trigger for menyen. Dersom elementet ikke er en `<button>`\n * eller en `forwardRef<HTMLButtonElement>` vil det bli lagt inne i en knapp\n * med forhåndsdefinert stil. For å komme raskt i gang kan du bruke komponenten\n * `MenuTriggerButton` fra denne pakken.\n */\n triggerElement: ReactNode;\n /**\n * Kan brukes til å styre utenfra om menyen skal være åpen eller ikke.\n * @default false\n */\n isOpen?: boolean;\n /**\n * Callback som kalles når menyen åpnes eller lukkes.\n */\n onToggle?: (isOpen: boolean) => void;\n}\n\nconst MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (props, forwardedRef) => {\n const {\n children,\n className,\n initialPlacement,\n openOnHover = false,\n keepOpenOnClickOutside = false,\n triggerElement,\n isOpen: isOpenOverride,\n onToggle,\n ...triggerProps\n } = props;\n\n const MenuId = useId(\"jkl-menu\");\n\n const tree = useFloatingTree();\n const nodeId = useFloatingNodeId();\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n\n const listItemsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const {\n allowHover,\n isOpen: isOpenDefault,\n setIsOpen,\n } = useMenuWideEvents(tree, nodeId, parentId);\n\n const isOpen =\n isOpenOverride !== undefined ? isOpenOverride : isOpenDefault;\n\n useEffect(() => onToggle?.(isOpen), [isOpen, onToggle]);\n\n const { x, y, refs, placement, strategy, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange: setIsOpen,\n placement:\n initialPlacement || (isNested ? \"right-start\" : \"bottom-start\"),\n middleware: [\n offset(2),\n flip({\n fallbackAxisSideDirection: \"end\", // Allow bottom placement in narrow viewports (https://floating-ui.com/docs/flip#fallbackaxissidedirection)\n crossAxis: false, // See https://floating-ui.com/docs/flip#combining-with-shift\n }),\n shift({ padding: 8 }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { getReferenceProps, getFloatingProps, getItemProps } =\n useInteractions([\n useHover(context, {\n enabled: openOnHover && allowHover,\n delay: { open: 75 },\n handleClose: safePolygon({\n requireIntent: true,\n blockPointerEvents: true,\n }),\n }),\n useClick(context, {\n event: \"mousedown\",\n }),\n useDismiss(context, { outsidePress: !keepOpenOnClickOutside }),\n useRole(context, { role: \"menu\" }),\n useListNavigation(context, {\n listRef: listItemsRef,\n activeIndex,\n nested: isNested,\n onNavigate: setActiveIndex,\n }),\n ]);\n\n const referenceRef = useMergeRefs([refs.setReference, forwardedRef]);\n\n // Siden menyen 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 const { theme, density } = getThemeAndDensity(\n refs.reference.current as HTMLElement,\n );\n\n return (\n <FloatingNode id={nodeId}>\n {React.isValidElement(triggerElement) &&\n (triggerElement.type === \"button\" ||\n ReactIs.isForwardRef(triggerElement))\n ? // Dersom trigger-elementet er en knapp, sett riktige egenskaper på det\n React.cloneElement(triggerElement, {\n ...getReferenceProps({\n ...triggerProps,\n ref: referenceRef,\n role: isNested ? \"menuitem\" : undefined,\n \"aria-controls\": MenuId,\n onClick(event) {\n event.stopPropagation();\n },\n }),\n })\n : // Ellers, rendre elementet as-is, uten interaktivitet. Krev en ferdig brukbar button for å åpne menyen.\n triggerElement}\n <AnimatePresence>\n {isOpen && (\n <FloatingPortal>\n <FloatingFocusManager\n context={context}\n // Prevent outside content interference.\n modal={false}\n // Only initially focus the root floating menu.\n initialFocus={isNested ? -1 : 0}\n // Only return focus to the root menu's reference when menus close.\n returnFocus={!isNested}\n >\n <motion.div\n className={clsx(\"jkl jkl-menu\", className)}\n data-theme={theme}\n data-layout-density={density}\n role=\"menu\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{\n ease: \"easeIn\",\n duration: 0.1,\n }}\n data-placement={placement}\n aria-live=\"assertive\"\n aria-hidden={!isOpen}\n ref={refs.setFloating}\n {...getFloatingProps({\n id: MenuId,\n style: {\n position: strategy,\n top: y ?? \"\",\n left: x ?? \"\",\n },\n })}\n >\n {React.Children.map(\n children,\n (child, index) => {\n if (\n React.isValidElement(child) &&\n ReactIs.isForwardRef(child)\n ) {\n return React.cloneElement(\n child,\n getItemProps({\n ...child.props,\n tabIndex:\n activeIndex ===\n index\n ? 0\n : -1,\n role: \"menuitem\",\n ref(\n node: HTMLButtonElement,\n ) {\n listItemsRef.current[\n index\n ] = node;\n },\n onClick(event) {\n child.props.onClick?.(\n event as React.MouseEvent<HTMLButtonElement>,\n );\n if (\n event.defaultPrevented\n ) {\n return;\n }\n tree?.events.emit(\n \"click\",\n );\n },\n onKeyDown(event) {\n child.props.onKeyDown?.(\n event,\n );\n if (\n event.defaultPrevented\n ) {\n return;\n }\n tree?.events.emit(\n \"keydown\",\n );\n if (\n event\n .currentTarget\n .role ===\n \"menuitemcheckbox\" &&\n event.key ===\n \"Enter\"\n ) {\n // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/menuitemcheckbox_role#keyboard_interactions\n setIsOpen(\n false,\n );\n }\n },\n onMouseEnter() {\n if (\n allowHover &&\n isOpen\n ) {\n setActiveIndex(\n index,\n );\n }\n },\n }),\n );\n }\n\n return child;\n },\n )}\n </motion.div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </AnimatePresence>\n </FloatingNode>\n );\n },\n);\nMenuComponent.displayName = \"MenuComponent\";\n\nexport const Menu = forwardRef<HTMLButtonElement, MenuProps>((props, ref) => {\n const parentId = useFloatingParentNodeId();\n\n if (parentId === null) {\n return (\n <FloatingTree>\n <MenuComponent ref={ref} {...props} />\n </FloatingTree>\n );\n }\n\n return <MenuComponent ref={ref} {...props} />;\n});\nMenu.displayName = \"Menu\";\n"],"names":["MenuComponent","forwardRef","props","forwardedRef","children","className","initialPlacement","openOnHover","keepOpenOnClickOutside","triggerElement","isOpen","isOpenOverride","onToggle","triggerProps","MenuId","useId","tree","useFloatingTree","nodeId","useFloatingNodeId","parentId","useFloatingParentNodeId","isNested","listItemsRef","useRef","activeIndex","setActiveIndex","useState","allowHover","isOpenDefault","setIsOpen","useMenuWideEvents","useEffect","x","y","refs","placement","strategy","context","useFloating","open","onOpenChange","middleware","offset","flip","fallbackAxisSideDirection","crossAxis","shift","padding","whileElementsMounted","autoUpdate","getReferenceProps","getFloatingProps","getItemProps","useInteractions","useHover","enabled","delay","handleClose","safePolygon","requireIntent","blockPointerEvents","useClick","event","useDismiss","outsidePress","useRole","role","useListNavigation","listRef","nested","onNavigate","referenceRef","useMergeRefs","setReference","theme","density","getThemeAndDensity","reference","current","jsxs","FloatingNode","id","React","isValidElement","type","ReactIs","isForwardRef","cloneElement","ref","onClick","stopPropagation","jsx","AnimatePresence","FloatingPortal","FloatingFocusManager","modal","initialFocus","returnFocus","motion","div","clsx","initial","opacity","animate","exit","transition","ease","duration","setFloating","style","position","top","left","Children","map","child","index","tabIndex","node","_b","_a","call","defaultPrevented","events","emit","onKeyDown","currentTarget","key","onMouseEnter","displayName","Menu","FloatingTree"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.cjs","sources":["../../../../src/components/menu/MenuItem.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, ReactNode } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"MenuItem.cjs","sources":["../../../../src/components/menu/MenuItem.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, ReactNode } from \"react\";\nimport {\n PolymorphicPropsWithRef,\n PolymorphicRef,\n} from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ArrowNorthEastIcon, ChevronRightIcon } from \"../icon/index.js\";\n\nexport type MenuItemProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<\n ElementType,\n {\n /**\n * Et ikon som vises før innholdet i menypunktet\n */\n icon?: ReactNode;\n } & (\n | {\n expandable?: never;\n /**\n * Indikerer at menypunktet åpner noe i et nytt vindu eller tab\n * @default false\n */\n external?: boolean;\n }\n | {\n external?: never;\n /**\n * Indikerer at menypunktet er utvidbart ved å vise en chevron\n * @default false\n */\n expandable?: boolean;\n }\n )\n >;\n\ntype MenuItemComponent = <ElementType extends React.ElementType = \"button\">(\n props: MenuItemProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const MenuItem = forwardRef(function MenuItem<\n ElementType extends React.ElementType = \"button\",\n>(props: MenuItemProps<ElementType>, ref: PolymorphicRef<ElementType>) {\n const {\n as = \"button\",\n className,\n children,\n icon,\n expandable = false,\n external = false,\n ...rest\n } = props;\n const Component = as;\n const type = Component === \"button\" ? \"button\" : undefined;\n\n return (\n <Component\n ref={ref}\n type={type}\n role=\"menuitem\"\n className={clsx(\"jkl-menu-item\", className)}\n {...rest}\n >\n {icon && <span className=\"jkl-menu-item__icon\">{icon}</span>}\n <div className=\"jkl-menu-item__content\">\n {children}\n {external && (\n <div className={\"jkl-menu-item__arrow\"}>\n <ArrowNorthEastIcon />\n </div>\n )}\n </div>\n {expandable && (\n <ChevronRightIcon className=\"jkl-menu-item__chevron\" bold />\n )}\n </Component>\n );\n}) as MenuItemComponent;\n"],"names":["MenuItem","forwardRef","props","ref","as","className","children","icon","expandable","external","rest","Component","type","jsxs","role","clsx","jsx","ArrowNorthEastIcon","ChevronRightIcon","bold"],"mappings":"+oDAwCO,MAAMA,EAAWC,EAAAA,YAAW,SAEjCC,EAAmCC,GAC3B,MACFC,GAAAA,EAAK,SACLC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,WAAAA,GAAa,EACbC,SAAAA,GAAW,KACRC,GACHR,EACES,EAAYP,EACZQ,EAAqB,WAAdD,EAAyB,cAAW,EAG7C,OAAAE,EAAAA,KAACF,EAAA,CACGR,IAAAA,EACAS,KAAAA,EACAE,KAAK,WACLT,UAAWU,EAAAA,KAAK,gBAAiBV,MAC7BK,EAEHJ,SAAA,CAAAC,GAASS,EAAAA,IAAA,OAAA,CAAKX,UAAU,sBAAuBC,SAAKC,IACrDM,EAAAA,KAAC,MAAI,CAAAR,UAAU,yBACVC,SAAA,CAAAA,EACAG,GACIO,EAAAA,IAAA,MAAA,CAAIX,UAAW,uBACZC,SAAAU,MAACC,EAAAA,oBAAmB,QAI/BT,GACIQ,EAAAA,IAAAE,mBAAA,CAAiBb,UAAU,yBAAyBc,MAAI,MAIzE"}
|