@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.
Files changed (513) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/ScreenReaderOnly.cjs.map +1 -1
  3. package/build/cjs/components/accordion/Accordion.cjs.map +1 -1
  4. package/build/cjs/components/accordion/AccordionItem.cjs.map +1 -1
  5. package/build/cjs/components/breadcrumb/Breadcrumb.cjs.map +1 -1
  6. package/build/cjs/components/breadcrumb/BreadcrumbItem.cjs.map +1 -1
  7. package/build/cjs/components/button/Button.cjs.map +1 -1
  8. package/build/cjs/components/button/index.d.cts +1 -1
  9. package/build/cjs/components/button/types.cjs.map +1 -1
  10. package/build/cjs/components/card/Card.cjs.map +1 -1
  11. package/build/cjs/components/card/CardImage.cjs.map +1 -1
  12. package/build/cjs/components/card/InfoCard.cjs.map +1 -1
  13. package/build/cjs/components/card/NavCard.cjs.map +1 -1
  14. package/build/cjs/components/card/TaskCard.cjs.map +1 -1
  15. package/build/cjs/components/card/documentation/examples/FakturainfoExample.d.cts +1 -1
  16. package/build/cjs/components/card/documentation/examples/StatuskortExample.d.cts +1 -1
  17. package/build/cjs/components/card/types.cjs.map +1 -1
  18. package/build/cjs/components/card/utils.cjs.map +1 -1
  19. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  20. package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
  21. package/build/cjs/components/combobox/index.d.cts +1 -1
  22. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  23. package/build/cjs/components/cookie-consent/CookieConsentContext.cjs.map +1 -1
  24. package/build/cjs/components/cookie-consent/CookieConsentModal.cjs.map +1 -1
  25. package/build/cjs/components/cookie-consent/consents/CustomConsents.cjs.map +1 -1
  26. package/build/cjs/components/cookie-consent/consents/DefaultConsents.cjs.map +1 -1
  27. package/build/cjs/components/cookie-consent/consents/RequirementCheckbox.cjs.map +1 -1
  28. package/build/cjs/components/cookie-consent/consents/RequirementCheckbox.d.cts +1 -1
  29. package/build/cjs/components/cookie-consent/cookieConsentUtils.cjs.map +1 -1
  30. package/build/cjs/components/cookie-consent/cookieConsentUtils.d.cts +1 -1
  31. package/build/cjs/components/cookie-consent/index.d.cts +1 -1
  32. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  33. package/build/cjs/components/datepicker/internal/Calendar.cjs.map +1 -1
  34. package/build/cjs/components/datepicker/internal/calendarReducer.cjs.map +1 -1
  35. package/build/cjs/components/datepicker/internal/useCalendar.cjs.map +1 -1
  36. package/build/cjs/components/datepicker/internal/utils.cjs.map +1 -1
  37. package/build/cjs/components/datepicker/internal/utils.d.cts +2 -2
  38. package/build/cjs/components/datepicker/utils.cjs.map +1 -1
  39. package/build/cjs/components/description-list/DescriptionList.cjs.map +1 -1
  40. package/build/cjs/components/expander/ExpandSection.cjs.map +1 -1
  41. package/build/cjs/components/expander/Expander.cjs.map +1 -1
  42. package/build/cjs/components/feedback/Feedback.cjs.map +1 -1
  43. package/build/cjs/components/feedback/FeedbackSuccess.cjs.map +1 -1
  44. package/build/cjs/components/feedback/FeedbackValues.cjs.map +1 -1
  45. package/build/cjs/components/feedback/feedbackContext.cjs.map +1 -1
  46. package/build/cjs/components/feedback/followup/Followup.cjs.map +1 -1
  47. package/build/cjs/components/feedback/followup/followupContext.cjs.map +1 -1
  48. package/build/cjs/components/feedback/followup/useFollowup.cjs.map +1 -1
  49. package/build/cjs/components/feedback/main-question/MainQuestion.cjs.map +1 -1
  50. package/build/cjs/components/feedback/main-question/mainQuestionContext.cjs.map +1 -1
  51. package/build/cjs/components/feedback/main-question/useMainQuestion.cjs.map +1 -1
  52. package/build/cjs/components/feedback/presets.cjs.map +1 -1
  53. package/build/cjs/components/feedback/questions/AddonQuestion.cjs.map +1 -1
  54. package/build/cjs/components/feedback/questions/CheckboxQuestion.cjs.map +1 -1
  55. package/build/cjs/components/feedback/questions/ContactQuestion.cjs.map +1 -1
  56. package/build/cjs/components/feedback/questions/RadioQuestion.cjs.map +1 -1
  57. package/build/cjs/components/feedback/questions/SmileyQuestion.cjs.map +1 -1
  58. package/build/cjs/components/feedback/questions/TextQuestion.cjs.map +1 -1
  59. package/build/cjs/components/feedback/questions/smileyUtils.cjs.map +1 -1
  60. package/build/cjs/components/feedback/utils.cjs.map +1 -1
  61. package/build/cjs/components/flex/Flex.cjs.map +1 -1
  62. package/build/cjs/components/icon/Icon.cjs.map +1 -1
  63. package/build/cjs/components/icon/icons/ArrowDownIcon.cjs.map +1 -1
  64. package/build/cjs/components/icon/icons/ArrowLeftIcon.cjs.map +1 -1
  65. package/build/cjs/components/icon/icons/ArrowNorthEastIcon.cjs.map +1 -1
  66. package/build/cjs/components/icon/icons/ArrowRightIcon.cjs.map +1 -1
  67. package/build/cjs/components/icon/icons/ArrowUpIcon.cjs.map +1 -1
  68. package/build/cjs/components/icon/icons/CalendarIcon.cjs.map +1 -1
  69. package/build/cjs/components/icon/icons/CheckIcon.cjs.map +1 -1
  70. package/build/cjs/components/icon/icons/ChevronDownIcon.cjs.map +1 -1
  71. package/build/cjs/components/icon/icons/ChevronLeftIcon.cjs.map +1 -1
  72. package/build/cjs/components/icon/icons/ChevronRightIcon.cjs.map +1 -1
  73. package/build/cjs/components/icon/icons/ChevronUpIcon.cjs.map +1 -1
  74. package/build/cjs/components/icon/icons/CloseIcon.cjs.map +1 -1
  75. package/build/cjs/components/icon/icons/CopyIcon.cjs.map +1 -1
  76. package/build/cjs/components/icon/icons/DotsIcon.cjs.map +1 -1
  77. package/build/cjs/components/icon/icons/DragIcon.cjs.map +1 -1
  78. package/build/cjs/components/icon/icons/GreenCheckIcon.cjs.map +1 -1
  79. package/build/cjs/components/icon/icons/HamburgerIcon.cjs.map +1 -1
  80. package/build/cjs/components/icon/icons/LinkIcon.cjs.map +1 -1
  81. package/build/cjs/components/icon/icons/MinusIcon.cjs.map +1 -1
  82. package/build/cjs/components/icon/icons/PenIcon.cjs.map +1 -1
  83. package/build/cjs/components/icon/icons/PlusIcon.cjs.map +1 -1
  84. package/build/cjs/components/icon/icons/QuestionIcon.cjs.map +1 -1
  85. package/build/cjs/components/icon/icons/RedCrossIcon.cjs.map +1 -1
  86. package/build/cjs/components/icon/icons/SearchIcon.cjs.map +1 -1
  87. package/build/cjs/components/icon/icons/ThumbDownIcon.cjs.map +1 -1
  88. package/build/cjs/components/icon/icons/ThumbUpIcon.cjs.map +1 -1
  89. package/build/cjs/components/icon/icons/TrashCanIcon.cjs.map +1 -1
  90. package/build/cjs/components/icon/icons/animated/ArrowHorizontalAnimated.cjs.map +1 -1
  91. package/build/cjs/components/icon/icons/animated/ArrowVerticalAnimated.cjs.map +1 -1
  92. package/build/cjs/components/icon/icons/animated/PlusRemoveAnimated.cjs.map +1 -1
  93. package/build/cjs/components/icon-button/IconButton.cjs.map +1 -1
  94. package/build/cjs/components/image/Image.cjs.map +1 -1
  95. package/build/cjs/components/image/useImageLoadingStatus.cjs.map +1 -1
  96. package/build/cjs/components/index.d.cts +1 -1
  97. package/build/cjs/components/input-group/FieldGroup.cjs.map +1 -1
  98. package/build/cjs/components/input-group/InputGroup.cjs.map +1 -1
  99. package/build/cjs/components/input-group/Label.cjs.map +1 -1
  100. package/build/cjs/components/input-group/SupportLabel.cjs.map +1 -1
  101. package/build/cjs/components/input-group/index.d.cts +2 -2
  102. package/build/cjs/components/link/Link.cjs.map +1 -1
  103. package/build/cjs/components/link/NavLink.cjs.map +1 -1
  104. package/build/cjs/components/link-list/LinkList.cjs.map +1 -1
  105. package/build/cjs/components/loader/index.d.cts +2 -2
  106. package/build/cjs/components/loader/skeletons/SkeletonAnimation.cjs.map +1 -1
  107. package/build/cjs/components/loader/skeletons/SkeletonButton.cjs.map +1 -1
  108. package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.cjs.map +1 -1
  109. package/build/cjs/components/loader/skeletons/SkeletonElement.cjs.map +1 -1
  110. package/build/cjs/components/loader/skeletons/SkeletonInput.cjs.map +1 -1
  111. package/build/cjs/components/loader/skeletons/SkeletonLabel.cjs.map +1 -1
  112. package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.cjs.map +1 -1
  113. package/build/cjs/components/loader/skeletons/SkeletonTable.cjs.map +1 -1
  114. package/build/cjs/components/loader/skeletons/SkeletonTextArea.cjs.map +1 -1
  115. package/build/cjs/components/loader/useDelayedRender.cjs.map +1 -1
  116. package/build/cjs/components/logo/Logo.cjs.map +1 -1
  117. package/build/cjs/components/logo/LogoStamp.cjs.map +1 -1
  118. package/build/cjs/components/logo/useTextSpinner.cjs.map +1 -1
  119. package/build/cjs/components/menu/Menu.cjs.map +1 -1
  120. package/build/cjs/components/menu/MenuItem.cjs.map +1 -1
  121. package/build/cjs/components/menu/MenuItemCheckbox.cjs.map +1 -1
  122. package/build/cjs/components/menu/index.d.cts +1 -1
  123. package/build/cjs/components/message/DismissButton.cjs.map +1 -1
  124. package/build/cjs/components/message/FormErrorMessage.cjs.map +1 -1
  125. package/build/cjs/components/message/Message.cjs.map +1 -1
  126. package/build/cjs/components/message/index.d.cts +2 -2
  127. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  128. package/build/cjs/components/modal/index.d.cts +1 -1
  129. package/build/cjs/components/modal/useModal.cjs.map +1 -1
  130. package/build/cjs/components/pagination/Pagination.cjs.map +1 -1
  131. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  132. package/build/cjs/components/progress-bar/Countdown.cjs.map +1 -1
  133. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  134. package/build/cjs/components/radio-button/RadioButton.cjs.map +1 -1
  135. package/build/cjs/components/radio-button/RadioButtonGroup.cjs.map +1 -1
  136. package/build/cjs/components/radio-button/radioGroupContext.cjs.map +1 -1
  137. package/build/cjs/components/radio-panel/RadioPanel.cjs +1 -1
  138. package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -1
  139. package/build/cjs/components/radio-panel/RadioPanel.d.cts +1 -1
  140. package/build/cjs/components/select/NativeSelect.cjs.map +1 -1
  141. package/build/cjs/components/select/Select.cjs.map +1 -1
  142. package/build/cjs/components/select/select-utils.cjs.map +1 -1
  143. package/build/cjs/components/summary-table/SummaryTable.cjs.map +1 -1
  144. package/build/cjs/components/summary-table/SummaryTableRow.cjs.map +1 -1
  145. package/build/cjs/components/summary-table/mocks.cjs.map +1 -1
  146. package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
  147. package/build/cjs/components/system-message/common/DismissButton.cjs.map +1 -1
  148. package/build/cjs/components/system-message/common/MessageIcon.cjs.map +1 -1
  149. package/build/cjs/components/system-message/index.d.cts +1 -1
  150. package/build/cjs/components/table/DataTable.cjs.map +1 -1
  151. package/build/cjs/components/table/ExpandableTableRow.cjs.map +1 -1
  152. package/build/cjs/components/table/ExpandableTableRowController.cjs.map +1 -1
  153. package/build/cjs/components/table/Table.cjs.map +1 -1
  154. package/build/cjs/components/table/TableBody.cjs.map +1 -1
  155. package/build/cjs/components/table/TableCaption.cjs.map +1 -1
  156. package/build/cjs/components/table/TableCell.cjs.map +1 -1
  157. package/build/cjs/components/table/TableColumn.cjs.map +1 -1
  158. package/build/cjs/components/table/TableColumnGroup.cjs.map +1 -1
  159. package/build/cjs/components/table/TableFooter.cjs.map +1 -1
  160. package/build/cjs/components/table/TableHead.cjs.map +1 -1
  161. package/build/cjs/components/table/TableHeader.cjs.map +1 -1
  162. package/build/cjs/components/table/TablePagination.cjs.map +1 -1
  163. package/build/cjs/components/table/TableRow.cjs.map +1 -1
  164. package/build/cjs/components/table/index.d.cts +1 -1
  165. package/build/cjs/components/table/tableContext.cjs.map +1 -1
  166. package/build/cjs/components/table/tableSectionContext.cjs.map +1 -1
  167. package/build/cjs/components/table/utils.cjs.map +1 -1
  168. package/build/cjs/components/tabs/NavTab.cjs.map +1 -1
  169. package/build/cjs/components/tabs/NavTabs.cjs.map +1 -1
  170. package/build/cjs/components/tabs/Tab.cjs.map +1 -1
  171. package/build/cjs/components/tabs/TabList.cjs.map +1 -1
  172. package/build/cjs/components/tabs/Tabs.cjs.map +1 -1
  173. package/build/cjs/components/tag/Tag.cjs.map +1 -1
  174. package/build/cjs/components/text-input/BaseTextArea.cjs.map +1 -1
  175. package/build/cjs/components/text-input/BaseTextInput.cjs.map +1 -1
  176. package/build/cjs/components/text-input/TextArea.cjs.map +1 -1
  177. package/build/cjs/components/text-input/TextInput.cjs.map +1 -1
  178. package/build/cjs/components/toast/Toast.cjs.map +1 -1
  179. package/build/cjs/components/toast/ToastRegion.cjs.map +1 -1
  180. package/build/cjs/components/toast/ToastRegion.d.cts +1 -1
  181. package/build/cjs/components/toast/toastContext.cjs.map +1 -1
  182. package/build/cjs/components/toggle-switch/ToggleSlider.cjs.map +1 -1
  183. package/build/cjs/components/toggle-switch/ToggleSwitch.cjs.map +1 -1
  184. package/build/cjs/components/toggle-switch/usePillStyles.cjs.map +1 -1
  185. package/build/cjs/components/tooltip/PopupTip.cjs.map +1 -1
  186. package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
  187. package/build/cjs/components/tooltip/TooltipContent.cjs.map +1 -1
  188. package/build/cjs/components/tooltip/TooltipTrigger.cjs.map +1 -1
  189. package/build/cjs/components/tooltip/index.d.cts +1 -1
  190. package/build/cjs/hooks/index.d.cts +5 -5
  191. package/build/cjs/hooks/mediaQueryUtils.cjs.map +1 -1
  192. package/build/cjs/hooks/useAnimatedDetails/useAnimatedDetails.cjs.map +1 -1
  193. package/build/cjs/hooks/useAnimatedHeight/index.d.cts +1 -1
  194. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs.map +1 -1
  195. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs.map +1 -1
  196. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs.map +1 -1
  197. package/build/cjs/hooks/useAriaLiveRegion/index.d.cts +1 -1
  198. package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.cjs.map +1 -1
  199. package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.cjs.map +1 -1
  200. package/build/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
  201. package/build/cjs/hooks/useElementDimensions/index.d.cts +1 -1
  202. package/build/cjs/hooks/useElementDimensions/useElementDimensions.cjs.map +1 -1
  203. package/build/cjs/hooks/useFocusOutside/useFocusOutside.cjs.map +1 -1
  204. package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
  205. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs.map +1 -1
  206. package/build/cjs/hooks/useListNavigation/useListNavigation.d.cts +1 -1
  207. package/build/cjs/hooks/useLocalStorage/useLocalStorage.cjs.map +1 -1
  208. package/build/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
  209. package/build/cjs/hooks/useProgressiveImg/index.d.cts +1 -1
  210. package/build/cjs/hooks/useProgressiveImg/useProgressiveImg.cjs.map +1 -1
  211. package/build/cjs/hooks/useProgressiveImg/useProgressiveImg.d.cts +1 -1
  212. package/build/cjs/hooks/useScreen/state.cjs.map +1 -1
  213. package/build/cjs/hooks/useScreen/useScreen.cjs.map +1 -1
  214. package/build/cjs/hooks/useScrollIntoView/index.d.cts +1 -1
  215. package/build/cjs/hooks/useSwipeGesture/useSwipeGesture.cjs.map +1 -1
  216. package/build/cjs/utilities/formatters/avstand/formatAvstand.cjs.map +1 -1
  217. package/build/cjs/utilities/formatters/bytes/formatBytes.cjs.map +1 -1
  218. package/build/cjs/utilities/formatters/date/formatDate.cjs.map +1 -1
  219. package/build/cjs/utilities/formatters/fodselsnummer/formatFodselsnummer.cjs.map +1 -1
  220. package/build/cjs/utilities/formatters/index.d.cts +5 -5
  221. package/build/cjs/utilities/formatters/kontonummer/formatKontonummer.cjs.map +1 -1
  222. package/build/cjs/utilities/formatters/kortnummer/formatKortnummer.cjs.map +1 -1
  223. package/build/cjs/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.cjs.map +1 -1
  224. package/build/cjs/utilities/formatters/telefonnummer/formatTelefonnummer.cjs.map +1 -1
  225. package/build/cjs/utilities/formatters/util/formatNumber.cjs.map +1 -1
  226. package/build/cjs/utilities/formatters/util/parseNumber.cjs.map +1 -1
  227. package/build/cjs/utilities/formatters/util/registerWithMask.cjs.map +1 -1
  228. package/build/cjs/utilities/formatters/valuta/formatValuta.cjs.map +1 -1
  229. package/build/cjs/utilities/getThemeAndDensity.cjs.map +1 -1
  230. package/build/cjs/utilities/polymorphism/SlotComponent.cjs.map +1 -1
  231. package/build/cjs/utilities/polymorphism/index.d.cts +1 -1
  232. package/build/cjs/utilities/polymorphism/mergeProps.cjs.map +1 -1
  233. package/build/cjs/utilities/polymorphism/mergeRefs.cjs.map +1 -1
  234. package/build/cjs/utilities/tabListener.cjs.map +1 -1
  235. package/build/cjs/utilities/validators/hasMinimumWords/hasMinimumWords.cjs.map +1 -1
  236. package/build/cjs/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.cjs.map +1 -1
  237. package/build/cjs/utilities/validators/isValidChassisnummer/isValidChassisnummer.cjs.map +1 -1
  238. package/build/cjs/utilities/validators/isValidEpost/isValidEpost.cjs.map +1 -1
  239. package/build/cjs/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.cjs.map +1 -1
  240. package/build/cjs/utilities/validators/isValidKortnummer/isValidKortnummer.cjs.map +1 -1
  241. package/build/cjs/utilities/validators/isValidName/isValidName.cjs.map +1 -1
  242. package/build/cjs/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.cjs.map +1 -1
  243. package/build/cjs/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.cjs.map +1 -1
  244. package/build/es/components/ScreenReaderOnly.js.map +1 -1
  245. package/build/es/components/accordion/Accordion.js.map +1 -1
  246. package/build/es/components/accordion/AccordionItem.js.map +1 -1
  247. package/build/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  248. package/build/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  249. package/build/es/components/button/Button.js.map +1 -1
  250. package/build/es/components/button/index.d.ts +1 -1
  251. package/build/es/components/button/types.js.map +1 -1
  252. package/build/es/components/card/Card.js.map +1 -1
  253. package/build/es/components/card/CardImage.js.map +1 -1
  254. package/build/es/components/card/InfoCard.js.map +1 -1
  255. package/build/es/components/card/NavCard.js.map +1 -1
  256. package/build/es/components/card/TaskCard.js.map +1 -1
  257. package/build/es/components/card/documentation/examples/FakturainfoExample.d.ts +1 -1
  258. package/build/es/components/card/documentation/examples/StatuskortExample.d.ts +1 -1
  259. package/build/es/components/card/types.js.map +1 -1
  260. package/build/es/components/card/utils.js.map +1 -1
  261. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  262. package/build/es/components/combobox/Combobox.js.map +1 -1
  263. package/build/es/components/combobox/index.d.ts +1 -1
  264. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  265. package/build/es/components/cookie-consent/CookieConsentContext.js.map +1 -1
  266. package/build/es/components/cookie-consent/CookieConsentModal.js.map +1 -1
  267. package/build/es/components/cookie-consent/consents/CustomConsents.js.map +1 -1
  268. package/build/es/components/cookie-consent/consents/DefaultConsents.js.map +1 -1
  269. package/build/es/components/cookie-consent/consents/RequirementCheckbox.d.ts +1 -1
  270. package/build/es/components/cookie-consent/consents/RequirementCheckbox.js.map +1 -1
  271. package/build/es/components/cookie-consent/cookieConsentUtils.d.ts +1 -1
  272. package/build/es/components/cookie-consent/cookieConsentUtils.js.map +1 -1
  273. package/build/es/components/cookie-consent/index.d.ts +1 -1
  274. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  275. package/build/es/components/datepicker/internal/Calendar.js.map +1 -1
  276. package/build/es/components/datepicker/internal/calendarReducer.js.map +1 -1
  277. package/build/es/components/datepicker/internal/useCalendar.js.map +1 -1
  278. package/build/es/components/datepicker/internal/utils.d.ts +2 -2
  279. package/build/es/components/datepicker/internal/utils.js.map +1 -1
  280. package/build/es/components/datepicker/utils.js.map +1 -1
  281. package/build/es/components/description-list/DescriptionList.js.map +1 -1
  282. package/build/es/components/expander/ExpandSection.js.map +1 -1
  283. package/build/es/components/expander/Expander.js.map +1 -1
  284. package/build/es/components/feedback/Feedback.js.map +1 -1
  285. package/build/es/components/feedback/FeedbackSuccess.js.map +1 -1
  286. package/build/es/components/feedback/FeedbackValues.js.map +1 -1
  287. package/build/es/components/feedback/feedbackContext.js.map +1 -1
  288. package/build/es/components/feedback/followup/Followup.js.map +1 -1
  289. package/build/es/components/feedback/followup/followupContext.js.map +1 -1
  290. package/build/es/components/feedback/followup/useFollowup.js.map +1 -1
  291. package/build/es/components/feedback/main-question/MainQuestion.js.map +1 -1
  292. package/build/es/components/feedback/main-question/mainQuestionContext.js.map +1 -1
  293. package/build/es/components/feedback/main-question/useMainQuestion.js.map +1 -1
  294. package/build/es/components/feedback/presets.js.map +1 -1
  295. package/build/es/components/feedback/questions/AddonQuestion.js.map +1 -1
  296. package/build/es/components/feedback/questions/CheckboxQuestion.js.map +1 -1
  297. package/build/es/components/feedback/questions/ContactQuestion.js.map +1 -1
  298. package/build/es/components/feedback/questions/RadioQuestion.js.map +1 -1
  299. package/build/es/components/feedback/questions/SmileyQuestion.js.map +1 -1
  300. package/build/es/components/feedback/questions/TextQuestion.js.map +1 -1
  301. package/build/es/components/feedback/questions/smileyUtils.js.map +1 -1
  302. package/build/es/components/feedback/utils.js.map +1 -1
  303. package/build/es/components/flex/Flex.js.map +1 -1
  304. package/build/es/components/icon/Icon.js.map +1 -1
  305. package/build/es/components/icon/icons/ArrowDownIcon.js.map +1 -1
  306. package/build/es/components/icon/icons/ArrowLeftIcon.js.map +1 -1
  307. package/build/es/components/icon/icons/ArrowNorthEastIcon.js.map +1 -1
  308. package/build/es/components/icon/icons/ArrowRightIcon.js.map +1 -1
  309. package/build/es/components/icon/icons/ArrowUpIcon.js.map +1 -1
  310. package/build/es/components/icon/icons/CalendarIcon.js.map +1 -1
  311. package/build/es/components/icon/icons/CheckIcon.js.map +1 -1
  312. package/build/es/components/icon/icons/ChevronDownIcon.js.map +1 -1
  313. package/build/es/components/icon/icons/ChevronLeftIcon.js.map +1 -1
  314. package/build/es/components/icon/icons/ChevronRightIcon.js.map +1 -1
  315. package/build/es/components/icon/icons/ChevronUpIcon.js.map +1 -1
  316. package/build/es/components/icon/icons/CloseIcon.js.map +1 -1
  317. package/build/es/components/icon/icons/CopyIcon.js.map +1 -1
  318. package/build/es/components/icon/icons/DotsIcon.js.map +1 -1
  319. package/build/es/components/icon/icons/DragIcon.js.map +1 -1
  320. package/build/es/components/icon/icons/GreenCheckIcon.js.map +1 -1
  321. package/build/es/components/icon/icons/HamburgerIcon.js.map +1 -1
  322. package/build/es/components/icon/icons/LinkIcon.js.map +1 -1
  323. package/build/es/components/icon/icons/MinusIcon.js.map +1 -1
  324. package/build/es/components/icon/icons/PenIcon.js.map +1 -1
  325. package/build/es/components/icon/icons/PlusIcon.js.map +1 -1
  326. package/build/es/components/icon/icons/QuestionIcon.js.map +1 -1
  327. package/build/es/components/icon/icons/RedCrossIcon.js.map +1 -1
  328. package/build/es/components/icon/icons/SearchIcon.js.map +1 -1
  329. package/build/es/components/icon/icons/ThumbDownIcon.js.map +1 -1
  330. package/build/es/components/icon/icons/ThumbUpIcon.js.map +1 -1
  331. package/build/es/components/icon/icons/TrashCanIcon.js.map +1 -1
  332. package/build/es/components/icon/icons/animated/ArrowHorizontalAnimated.js.map +1 -1
  333. package/build/es/components/icon/icons/animated/ArrowVerticalAnimated.js.map +1 -1
  334. package/build/es/components/icon/icons/animated/PlusRemoveAnimated.js.map +1 -1
  335. package/build/es/components/icon-button/IconButton.js.map +1 -1
  336. package/build/es/components/image/Image.js.map +1 -1
  337. package/build/es/components/image/useImageLoadingStatus.js.map +1 -1
  338. package/build/es/components/index.d.ts +1 -1
  339. package/build/es/components/input-group/FieldGroup.js.map +1 -1
  340. package/build/es/components/input-group/InputGroup.js.map +1 -1
  341. package/build/es/components/input-group/Label.js.map +1 -1
  342. package/build/es/components/input-group/SupportLabel.js.map +1 -1
  343. package/build/es/components/input-group/index.d.ts +2 -2
  344. package/build/es/components/link/Link.js.map +1 -1
  345. package/build/es/components/link/NavLink.js.map +1 -1
  346. package/build/es/components/link-list/LinkList.js.map +1 -1
  347. package/build/es/components/loader/index.d.ts +2 -2
  348. package/build/es/components/loader/skeletons/SkeletonAnimation.js.map +1 -1
  349. package/build/es/components/loader/skeletons/SkeletonButton.js.map +1 -1
  350. package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -1
  351. package/build/es/components/loader/skeletons/SkeletonElement.js.map +1 -1
  352. package/build/es/components/loader/skeletons/SkeletonInput.js.map +1 -1
  353. package/build/es/components/loader/skeletons/SkeletonLabel.js.map +1 -1
  354. package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -1
  355. package/build/es/components/loader/skeletons/SkeletonTable.js.map +1 -1
  356. package/build/es/components/loader/skeletons/SkeletonTextArea.js.map +1 -1
  357. package/build/es/components/loader/useDelayedRender.js.map +1 -1
  358. package/build/es/components/logo/Logo.js.map +1 -1
  359. package/build/es/components/logo/LogoStamp.js.map +1 -1
  360. package/build/es/components/logo/useTextSpinner.js.map +1 -1
  361. package/build/es/components/menu/Menu.js.map +1 -1
  362. package/build/es/components/menu/MenuItem.js.map +1 -1
  363. package/build/es/components/menu/MenuItemCheckbox.js.map +1 -1
  364. package/build/es/components/menu/index.d.ts +1 -1
  365. package/build/es/components/message/DismissButton.js.map +1 -1
  366. package/build/es/components/message/FormErrorMessage.js.map +1 -1
  367. package/build/es/components/message/Message.js.map +1 -1
  368. package/build/es/components/message/index.d.ts +2 -2
  369. package/build/es/components/modal/Modal.js.map +1 -1
  370. package/build/es/components/modal/index.d.ts +1 -1
  371. package/build/es/components/modal/useModal.js.map +1 -1
  372. package/build/es/components/pagination/Pagination.js.map +1 -1
  373. package/build/es/components/popover/Popover.js.map +1 -1
  374. package/build/es/components/progress-bar/Countdown.js.map +1 -1
  375. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  376. package/build/es/components/radio-button/RadioButton.js.map +1 -1
  377. package/build/es/components/radio-button/RadioButtonGroup.js.map +1 -1
  378. package/build/es/components/radio-button/radioGroupContext.js.map +1 -1
  379. package/build/es/components/radio-panel/RadioPanel.d.ts +1 -1
  380. package/build/es/components/radio-panel/RadioPanel.js +1 -1
  381. package/build/es/components/radio-panel/RadioPanel.js.map +1 -1
  382. package/build/es/components/select/NativeSelect.js.map +1 -1
  383. package/build/es/components/select/Select.js.map +1 -1
  384. package/build/es/components/select/select-utils.js.map +1 -1
  385. package/build/es/components/summary-table/SummaryTable.js.map +1 -1
  386. package/build/es/components/summary-table/SummaryTableRow.js.map +1 -1
  387. package/build/es/components/summary-table/mocks.js.map +1 -1
  388. package/build/es/components/system-message/SystemMessage.js.map +1 -1
  389. package/build/es/components/system-message/common/DismissButton.js.map +1 -1
  390. package/build/es/components/system-message/common/MessageIcon.js.map +1 -1
  391. package/build/es/components/system-message/index.d.ts +1 -1
  392. package/build/es/components/table/DataTable.js.map +1 -1
  393. package/build/es/components/table/ExpandableTableRow.js.map +1 -1
  394. package/build/es/components/table/ExpandableTableRowController.js.map +1 -1
  395. package/build/es/components/table/Table.js.map +1 -1
  396. package/build/es/components/table/TableBody.js.map +1 -1
  397. package/build/es/components/table/TableCaption.js.map +1 -1
  398. package/build/es/components/table/TableCell.js.map +1 -1
  399. package/build/es/components/table/TableColumn.js.map +1 -1
  400. package/build/es/components/table/TableColumnGroup.js.map +1 -1
  401. package/build/es/components/table/TableFooter.js.map +1 -1
  402. package/build/es/components/table/TableHead.js.map +1 -1
  403. package/build/es/components/table/TableHeader.js.map +1 -1
  404. package/build/es/components/table/TablePagination.js.map +1 -1
  405. package/build/es/components/table/TableRow.js.map +1 -1
  406. package/build/es/components/table/index.d.ts +1 -1
  407. package/build/es/components/table/tableContext.js.map +1 -1
  408. package/build/es/components/table/tableSectionContext.js.map +1 -1
  409. package/build/es/components/table/utils.js.map +1 -1
  410. package/build/es/components/tabs/NavTab.js.map +1 -1
  411. package/build/es/components/tabs/NavTabs.js.map +1 -1
  412. package/build/es/components/tabs/Tab.js.map +1 -1
  413. package/build/es/components/tabs/TabList.js.map +1 -1
  414. package/build/es/components/tabs/Tabs.js.map +1 -1
  415. package/build/es/components/tag/Tag.js.map +1 -1
  416. package/build/es/components/text-input/BaseTextArea.js.map +1 -1
  417. package/build/es/components/text-input/BaseTextInput.js.map +1 -1
  418. package/build/es/components/text-input/TextArea.js.map +1 -1
  419. package/build/es/components/text-input/TextInput.js.map +1 -1
  420. package/build/es/components/toast/Toast.js.map +1 -1
  421. package/build/es/components/toast/ToastRegion.d.ts +1 -1
  422. package/build/es/components/toast/ToastRegion.js.map +1 -1
  423. package/build/es/components/toast/toastContext.js.map +1 -1
  424. package/build/es/components/toggle-switch/ToggleSlider.js.map +1 -1
  425. package/build/es/components/toggle-switch/ToggleSwitch.js.map +1 -1
  426. package/build/es/components/toggle-switch/usePillStyles.js.map +1 -1
  427. package/build/es/components/tooltip/PopupTip.js.map +1 -1
  428. package/build/es/components/tooltip/Tooltip.js.map +1 -1
  429. package/build/es/components/tooltip/TooltipContent.js.map +1 -1
  430. package/build/es/components/tooltip/TooltipTrigger.js.map +1 -1
  431. package/build/es/components/tooltip/index.d.ts +1 -1
  432. package/build/es/hooks/index.d.ts +5 -5
  433. package/build/es/hooks/mediaQueryUtils.js.map +1 -1
  434. package/build/es/hooks/useAnimatedDetails/useAnimatedDetails.js.map +1 -1
  435. package/build/es/hooks/useAnimatedHeight/index.d.ts +1 -1
  436. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -1
  437. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -1
  438. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -1
  439. package/build/es/hooks/useAriaLiveRegion/index.d.ts +1 -1
  440. package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.js.map +1 -1
  441. package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.js.map +1 -1
  442. package/build/es/hooks/useClickOutside/useClickOutside.js.map +1 -1
  443. package/build/es/hooks/useElementDimensions/index.d.ts +1 -1
  444. package/build/es/hooks/useElementDimensions/useElementDimensions.js.map +1 -1
  445. package/build/es/hooks/useFocusOutside/useFocusOutside.js.map +1 -1
  446. package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  447. package/build/es/hooks/useListNavigation/useListNavigation.d.ts +1 -1
  448. package/build/es/hooks/useListNavigation/useListNavigation.js.map +1 -1
  449. package/build/es/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  450. package/build/es/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  451. package/build/es/hooks/useProgressiveImg/index.d.ts +1 -1
  452. package/build/es/hooks/useProgressiveImg/useProgressiveImg.d.ts +1 -1
  453. package/build/es/hooks/useProgressiveImg/useProgressiveImg.js.map +1 -1
  454. package/build/es/hooks/useScreen/state.js.map +1 -1
  455. package/build/es/hooks/useScreen/useScreen.js.map +1 -1
  456. package/build/es/hooks/useScrollIntoView/index.d.ts +1 -1
  457. package/build/es/hooks/useSwipeGesture/useSwipeGesture.js.map +1 -1
  458. package/build/es/utilities/formatters/avstand/formatAvstand.js.map +1 -1
  459. package/build/es/utilities/formatters/bytes/formatBytes.js.map +1 -1
  460. package/build/es/utilities/formatters/date/formatDate.js.map +1 -1
  461. package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js.map +1 -1
  462. package/build/es/utilities/formatters/index.d.ts +5 -5
  463. package/build/es/utilities/formatters/kontonummer/formatKontonummer.js.map +1 -1
  464. package/build/es/utilities/formatters/kortnummer/formatKortnummer.js.map +1 -1
  465. package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js.map +1 -1
  466. package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js.map +1 -1
  467. package/build/es/utilities/formatters/util/formatNumber.js.map +1 -1
  468. package/build/es/utilities/formatters/util/parseNumber.js.map +1 -1
  469. package/build/es/utilities/formatters/util/registerWithMask.js.map +1 -1
  470. package/build/es/utilities/formatters/valuta/formatValuta.js.map +1 -1
  471. package/build/es/utilities/getThemeAndDensity.js.map +1 -1
  472. package/build/es/utilities/polymorphism/SlotComponent.js.map +1 -1
  473. package/build/es/utilities/polymorphism/index.d.ts +1 -1
  474. package/build/es/utilities/polymorphism/mergeProps.js.map +1 -1
  475. package/build/es/utilities/polymorphism/mergeRefs.js.map +1 -1
  476. package/build/es/utilities/tabListener.js.map +1 -1
  477. package/build/es/utilities/validators/hasMinimumWords/hasMinimumWords.js.map +1 -1
  478. package/build/es/utilities/validators/hasNoIllegalCharacters/hasNoIllegalCharacters.js.map +1 -1
  479. package/build/es/utilities/validators/isValidChassisnummer/isValidChassisnummer.js.map +1 -1
  480. package/build/es/utilities/validators/isValidEpost/isValidEpost.js.map +1 -1
  481. package/build/es/utilities/validators/isValidFodselsnummer/isValidFodselsnummer.js.map +1 -1
  482. package/build/es/utilities/validators/isValidKortnummer/isValidKortnummer.js.map +1 -1
  483. package/build/es/utilities/validators/isValidName/isValidName.js.map +1 -1
  484. package/build/es/utilities/validators/isValidOrganisasjonsnummer/isValidOrganisasjonsnummer.js.map +1 -1
  485. package/build/es/utilities/validators/isValidTelefonnummer/isValidTelefonnummer.js.map +1 -1
  486. package/package.json +2 -2
  487. package/styles/components/button/button.css +2 -2
  488. package/styles/components/button/button.min.css +1 -1
  489. package/styles/components/checkbox/checkbox.css +4 -4
  490. package/styles/components/checkbox/checkbox.min.css +1 -1
  491. package/styles/components/feedback/feedback.css +2 -2
  492. package/styles/components/feedback/feedback.min.css +1 -1
  493. package/styles/components/input-group/input-group.css +2 -2
  494. package/styles/components/input-group/input-group.min.css +1 -1
  495. package/styles/components/loader/loader.css +6 -6
  496. package/styles/components/loader/loader.min.css +1 -1
  497. package/styles/components/loader/skeleton-loader.css +5 -5
  498. package/styles/components/loader/skeleton-loader.min.css +1 -1
  499. package/styles/components/message/message.css +2 -2
  500. package/styles/components/message/message.min.css +1 -1
  501. package/styles/components/progress-bar/progress-bar.css +2 -2
  502. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  503. package/styles/components/radio-button/radio-button.css +2 -2
  504. package/styles/components/radio-button/radio-button.min.css +1 -1
  505. package/styles/components/radio-panel/radio-panel.css +2 -637
  506. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  507. package/styles/components/radio-panel/radio-panel.scss +0 -10
  508. package/styles/components/system-message/system-message.css +2 -2
  509. package/styles/components/system-message/system-message.min.css +1 -1
  510. package/styles/components/toast/toast.css +4 -4
  511. package/styles/components/toast/toast.min.css +1 -1
  512. package/styles/styles.css +35 -42
  513. package/styles/styles.min.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FieldGroup.js","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 extends DataTestAutoId, FieldsetHTMLAttributes<HTMLFieldSetElement> {\n legend: string;\n labelProps?: Omit<LabelProps, \"children\" | \"density\">;\n supportLabelProps?: Omit<SupportLabelProps, \"id\" | \"errorLabel\" | \"helpLabel\" | \"density\">;\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 ? \"error\" : helpLabel ? \"help\" : 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\" }}>{legend}</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":["FieldGroup","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":"uSAmBa,MAAAA,EAAmCC,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,EAAMb,GAAM,kBAAmB,CAAEc,gBAAiBd,IACxDe,EAAY,GAAGH,kBAEfI,EAAcR,GAAcD,EAC5BU,EAAkBT,EAAa,QAAUD,EAAY,YAAS,EAE9DW,EAAcF,EAAcD,OAAY,EAG1C,OAAAI,EAAC,WAAA,CACGnB,GAAIY,EACJP,UAAWe,EAAK,kBAAmBf,GACnC,kBAAiBK,KACbC,EACJ,mBAAkBO,EAClB,eAAcT,EAEdH,SAAA,CAAAe,EAAC,UAAOhB,UAAU,0BACdC,WAACgB,EAAO,IAAGpB,EAAYO,QAAAA,EAClBH,SAAA,EAACF,GAAgBH,EACjBG,GAEOe,EAAAI,EAAA,CAAAjB,SAAA,CAAAe,EAAC,QAAKG,MAAO,CAAEC,WAAY,UAAanB,SAAOL,IAC9C,IACDoB,EAACK,EAAU,IAAGtB,YAK7BE,GACCC,GAAaC,IACXa,EAACM,EAAA,IACOxB,EACJyB,MAAOZ,EACPa,UAAWZ,EACXjB,GAAIe,EACJN,QAAAA,MACJ"}
1
+ {"version":3,"file":"FieldGroup.js","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":["FieldGroup","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":"uSAwBa,MAAAA,EAAmCC,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,EAAMb,GAAM,kBAAmB,CAAEc,gBAAiBd,IACxDe,EAAY,GAAGH,kBAEfI,EAAcR,GAAcD,EAC5BU,EAAkBT,EAClB,QACAD,EACA,YACA,EAEAW,EAAcF,EAAcD,OAAY,EAG1C,OAAAI,EAAC,WAAA,CACGnB,GAAIY,EACJP,UAAWe,EAAK,kBAAmBf,GACnC,kBAAiBK,KACbC,EACJ,mBAAkBO,EAClB,eAAcT,EAEdH,SAAA,CAAAe,EAAC,UAAOhB,UAAU,0BACdC,WAACgB,EAAO,IAAGpB,EAAYO,QAAAA,EAClBH,SAAA,EAACF,GAAgBH,EACjBG,GAEOe,EAAAI,EAAA,CAAAjB,SAAA,CAAAe,EAAC,QAAKG,MAAO,CAAEC,WAAY,UACtBnB,SACLL,IACC,IACDoB,EAACK,EAAU,IAAGtB,YAK7BE,GACCC,GAAaC,IACXa,EAACM,EAAA,IACOxB,EACJyB,MAAOZ,EACPa,UAAWZ,EACXjB,GAAIe,EACJN,QAAAA,MACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroup.js","sources":["../../../../src/components/input-group/InputGroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, type CSSProperties, type ReactNode } from \"react\";\nimport { DataTestAutoId, Density, WithOptionalChildren } 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<SupportLabelProps, \"id\" | \"errorLabel\" | \"helpLabel\" | \"density\">;\n tooltipProps?: PopupTipProps;\n style?: CSSProperties;\n render?: (props: InputProps) => JSX.Element;\n };\n\nexport const InputGroup = forwardRef<HTMLDivElement, InputGroupProps>((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 ? \"error\" : helpLabel ? \"help\" : 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={{ whiteSpace: tooltipProps ? \"nowrap\" : undefined, ...labelProps?.style }}\n density={density}\n >\n {!tooltipProps && label}\n {tooltipProps && (\n <>\n <span style={{ whiteSpace: \"normal\" }}>{label}</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\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":"6UA+BO,MAAMA,EAAaC,GAA4C,CAACC,EAAOC,KACpE,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,EAAMH,GAAM,YAAa,CAAEI,gBAAiBJ,IAClDK,EAAYF,EAAM,qBAElBG,EAAcd,GAAcC,EAC5Bc,EAAkBf,EAAa,QAAUC,EAAY,YAAS,EAI9De,EAAyB,CAC3B,mBAHgBF,EAAcD,OAAY,EAI1C,iBAAwBb,QAAqB,EAC7CQ,GAAIE,GAGFO,EAAcZ,EACd,IAAMA,EAAOW,GACb,KACI,MAAME,EAAQC,EAAMC,SAASC,QAAQ1B,EAAMG,UAAU,GAEhDqB,GAAAA,EAAMG,eAA2BJ,GAE/BC,OAAAA,EAAMI,aAAyBL,EAAO,IACtCF,KACAE,EAAMvB,OACZ,EAIP,OAAA6B,EAAC,MAAA,CACG5B,IAAAA,EACAC,UAAW4B,EAAK5B,EAAW,kBAAmB,CAC1C,0BAA2BK,IAE/B,eAAcH,KACVU,EAEJX,SAAA,CAAA0B,EAACE,EAAA,CACGC,YAAU,EACVC,QAASlB,EACTmB,OAAQ3B,KACJE,EACJ0B,MAAO,CAAEC,WAAYxB,EAAe,cAAW,KAAc,MAAAH,OAAAA,EAAAA,EAAY0B,OACzE/B,QAAAA,EAECD,SAAA,EAACS,GAAgBJ,EACjBI,GAEOiB,EAAAQ,EAAA,CAAAlC,SAAA,CAAAmC,EAAC,QAAKH,MAAO,CAAEC,WAAY,UAAajC,SAAMK,IAC7C,IACD8B,EAACC,EAAU,IAAG3B,UAIzBU,IACDgB,EAACE,EAAA,CACGN,OAAQ3B,KACJI,EACJH,MAAOW,EACPsB,UAAWrB,EACXP,GAAIK,EACJd,QAAAA,MACJ,IAKZN,EAAW4C,YAAc"}
1
+ {"version":3,"file":"InputGroup.js","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":"6UAsCO,MAAMA,EAAaC,GACtB,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,EAAMH,GAAM,YAAa,CAAEI,gBAAiBJ,IAClDK,EAAYF,EAAM,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,GAEhDqB,GAAAA,EAAMG,eAA2BJ,GAE/BC,OAAAA,EAAMI,aAAyBL,EAAO,IACtCF,KACAE,EAAMvB,OACZ,EAIP,OAAA6B,EAAC,MAAA,CACG5B,IAAAA,EACAC,UAAW4B,EAAK5B,EAAW,kBAAmB,CAC1C,0BAA2BK,IAE/B,eAAcH,KACVU,EAEJX,SAAA,CAAA0B,EAACE,EAAA,CACGC,YAAU,EACVC,QAASlB,EACTmB,OAAQ3B,KACJE,EACJ0B,MAAO,CACHC,WAAYxB,EAAe,cAAW,KACnC,MAAAH,OAAA,EAAAA,EAAY0B,OAEnB/B,QAAAA,EAECD,SAAA,EAACS,GAAgBJ,EACjBI,GAEOiB,EAAAQ,EAAA,CAAAlC,SAAA,CAAAmC,EAAC,QAAKH,MAAO,CAAEC,WAAY,UACtBjC,SACLK,IACC,IACD8B,EAACC,EAAU,IAAG3B,UAIzBU,IACDgB,EAACE,EAAA,CACGN,OAAQ3B,KACJI,EACJH,MAAOW,EACPsB,UAAWrB,EACXP,GAAIK,EACJd,QAAAA,MACJ,IAMhBN,EAAW4C,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","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 {...rest} className={labelClassNames} htmlFor={htmlFor} data-density={density}>\n {children}\n </C>\n );\n};\n"],"names":["Label","variant","density","srOnly","children","standAlone","htmlFor","className","rest","labelClassNames","clsx","C","process","env","NODE_ENV","console","warn","jsx"],"mappings":"sFAiBO,MAAMA,EAAwB,EACjCC,QAAAA,EAAU,QACVC,QAAAA,EACAC,OAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,QAAAA,EACAC,UAAAA,EAAY,MACTC,MAEGC,MAAAA,EAAkBC,EAAK,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,EAACN,MAAMH,EAAMD,UAAWE,EAAiBH,QAAAA,EAAkB,eAAcJ,EACpEE,SAAAA,GACL"}
1
+ {"version":3,"file":"Label.js","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":["Label","variant","density","srOnly","children","standAlone","htmlFor","className","rest","labelClassNames","clsx","C","process","env","NODE_ENV","console","warn","jsx"],"mappings":"sFAiBO,MAAMA,EAAwB,EACjCC,QAAAA,EAAU,QACVC,QAAAA,EACAC,OAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,QAAAA,EACAC,UAAAA,EAAY,MACTC,MAEGC,MAAAA,EAAkBC,EAAK,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,EAACN,EAAA,IACOH,EACJD,UAAWE,EACXH,QAAAA,EACA,eAAcJ,EAEbE,SAAAA,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SupportLabel.js","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 id={id} className={componentClassName} {...restProps} data-density={density}>\n <Icon variant=\"small\" className=\"jkl-form-support-label__icon\" />\n <span>{errorLabel || helpLabel || label}</span>\n </span>\n );\n};\n"],"names":["SupportLabel","id","helpLabel","errorLabel","label","labelType","density","className","srOnly","rest","hasLabel","isError","isSuccess","componentClassName","clsx","jsxs","children","jsx","ErrorIcon","SuccessIcon","WarningIcon","variant"],"mappings":"m+CAiEO,MAAMA,EAAsC,EAC/CC,GAAAA,EACAC,UAAAA,EACAC,WAAAA,EACAC,MAAAA,EACAC,UAAAA,EAAY,OACZC,QAAAA,EACAC,UAAAA,EACAC,OAAAA,KACGC,MAEGC,MAAAA,EAAWP,GAAcD,GAAaE,EAItCO,EAAwB,UAAdN,EACVO,EAA0B,YAAdP,EAEZQ,EAAqBH,EACrBI,EAAK,yBAA0BP,EAAW,CACtC,kCAAmCC,EACnC,+BARmB,SAAdH,GAAyBH,IAAcC,EAS5C,gCAAiCQ,EACjC,kCATsB,YAAdN,GAA2BF,EAUnC,kCAAmCS,IAEvC,iCAOF,OAAAG,EAAC,QAAKd,GAAAA,EAAQM,UAAWM,KALXH,EAAWD,EAAO,GAK4B,eAAcH,EACtEU,SAAA,CAAAC,EAJKN,EAAUO,EAAYN,EAAYO,EAAcC,EAI/C,CAAAC,QAAQ,QAAQd,UAAU,iCAC/BU,EAAA,OAAA,CAAMD,SAAcb,GAAAD,GAAaE,MACtC"}
1
+ {"version":3,"file":"SupportLabel.js","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":["SupportLabel","id","helpLabel","errorLabel","label","labelType","density","className","srOnly","rest","hasLabel","isError","isSuccess","componentClassName","clsx","jsxs","children","jsx","ErrorIcon","SuccessIcon","WarningIcon","variant"],"mappings":"m+CAiEO,MAAMA,EAAsC,EAC/CC,GAAAA,EACAC,UAAAA,EACAC,WAAAA,EACAC,MAAAA,EACAC,UAAAA,EAAY,OACZC,QAAAA,EACAC,UAAAA,EACAC,OAAAA,KACGC,MAEGC,MAAAA,EAAWP,GAAcD,GAAaE,EAItCO,EAAwB,UAAdN,EACVO,EAA0B,YAAdP,EAEZQ,EAAqBH,EACrBI,EAAK,yBAA0BP,EAAW,CACtC,kCAAmCC,EACnC,+BARmB,SAAdH,GAAyBH,IAAcC,EAS5C,gCAAiCQ,EACjC,kCATsB,YAAdN,GAA2BF,EAUnC,kCAAmCS,IAEvC,iCAOF,OAAAG,EAAC,OAAA,CACGd,GAAAA,EACAM,UAAWM,KAPDH,EAAWD,EAAO,GAS5B,eAAcH,EAEdU,SAAA,CAAAC,EATKN,EAAUO,EAAYN,EAAYO,EAAcC,EAS/C,CAAAC,QAAQ,QAAQd,UAAU,iCAC/BU,EAAA,OAAA,CAAMD,SAAcb,GAAAD,GAAaE,MAAM"}
@@ -1,4 +1,4 @@
1
1
  export { FieldGroup, type FieldGroupProps } from './FieldGroup.js';
2
- export { InputGroup, type InputGroupProps, type InputProps } from './InputGroup.js';
2
+ export { InputGroup, type InputGroupProps, type InputProps, } from './InputGroup.js';
3
3
  export { Label, type LabelProps, type LabelVariant } from './Label.js';
4
- export { SupportLabel, type SupportLabelProps, type SupportLabelType } from './SupportLabel.js';
4
+ export { SupportLabel, type SupportLabelProps, type SupportLabelType, } from './SupportLabel.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sources":["../../../../src/components/link/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport type LinkProps<ElementType extends React.ElementType> = 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<ElementType extends React.ElementType = \"a\">(\n props: LinkProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n const { external = false, className = \"\", children, as = \"a\", ...rest } = 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","React","forwardRef","props","ref","external","className","children","as","rest","jsx","clsx"],"mappings":"2GAeO,MAAMA,EAAOC,EAAMC,YAAW,SACjCC,EACAC,GAEM,MAAEC,SAAAA,GAAW,EAAOC,UAAAA,EAAY,GAAIC,SAAAA,EAAUC,GAAAA,EAAK,OAAQC,GAASN,EAItE,OAAAO,EAHcF,EAGb,CACGJ,IAAAA,EACAE,UAAWK,EAAK,WAAYL,EAAW,CACnC,qBAAsBD,OAEtBI,EAEHF,SAAAA,GAGb"}
1
+ {"version":3,"file":"Link.js","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","React","forwardRef","props","ref","external","className","children","as","rest","jsx","clsx"],"mappings":"2GAmBO,MAAMA,EAAOC,EAAMC,YAAW,SAEnCC,EAA+BC,GACvB,MACFC,SAAAA,GAAW,EACXC,UAAAA,EAAY,GACZC,SAAAA,EACAC,GAAAA,EAAK,OACFC,GACHN,EAIA,OAAAO,EAHcF,EAGb,CACGJ,IAAAA,EACAE,UAAWK,EAAK,WAAYL,EAAW,CACnC,qBAAsBD,OAEtBI,EAEHF,SAAAA,GAGb"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavLink.js","sources":["../../../../src/components/link/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\n\nexport type NavLinkProps<ElementType extends React.ElementType> = 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<ElementType extends React.ElementType = \"a\">(\n props: NavLinkProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n const { active = false, back = false, className, children, as = \"a\", ...rest } = 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","React","forwardRef","props","ref","active","back","className","children","as","rest","jsx","clsx"],"mappings":"2GAgBO,MAAMA,EAAUC,EAAMC,YAAW,SACpCC,EACAC,GAEM,MAAEC,OAAAA,GAAS,EAAOC,KAAAA,GAAO,EAAOC,UAAAA,EAAWC,SAAAA,EAAUC,GAAAA,EAAK,OAAQC,GAASP,EAI7E,OAAAQ,EAHcF,EAGb,CACGL,IAAAA,EACAG,UAAWK,EACP,eACA,CACI,uBAAwBP,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAAA,GAGb"}
1
+ {"version":3,"file":"NavLink.js","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","React","forwardRef","props","ref","active","back","className","children","as","rest","jsx","clsx"],"mappings":"2GAoBO,MAAMA,EAAUC,EAAMC,YAAW,SAEtCC,EAAkCC,GAC1B,MACFC,OAAAA,GAAS,EACTC,KAAAA,GAAO,EACPC,UAAAA,EACAC,SAAAA,EACAC,GAAAA,EAAK,OACFC,GACHP,EAIA,OAAAQ,EAHcF,EAGb,CACGL,IAAAA,EACAG,UAAWK,EACP,eACA,CACI,uBAAwBP,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAAA,GAGb"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkList.js","sources":["../../../../src/components/link-list/LinkList.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { ComponentProps, FC } from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ArrowRightIcon } from \"../icon/index.js\";\n\nconst Item: FC<ComponentProps<\"li\">> = ({ className, ...rest }) => {\n return <li className={clsx(\"jkl-link-list-item\", className)} {...rest}></li>;\n};\n\ntype LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: PolymorphicPropsWithRef<ElementType>,\n) => React.ReactElement | null;\n\nconst Link = React.forwardRef(function LinkListLink<ElementType extends React.ElementType = \"a\">(\n props: PolymorphicPropsWithRef<ElementType>,\n ref: PolymorphicRef<ElementType>,\n) {\n const { as: Component = \"a\", children, className, ...rest } = props;\n\n return (\n <Component className={clsx(\"jkl-link-list-link\", className)} ref={ref} {...rest}>\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 = ({ variant, className, ...rest }: 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":"i9CAKA,MAQMA,EAAOC,EAAMC,YAAW,SAC1BC,EACAC,GAEM,MAAEC,GAAIC,EAAY,IAAKC,SAAAA,EAAUC,UAAAA,KAAcC,GAASN,EAG1D,OAAAO,EAACJ,GAAUE,UAAWG,EAAK,qBAAsBH,GAAYJ,IAAAA,KAAcK,EACtEF,SAAA,CAAAA,EACDK,EAACC,EAAe,CAAAL,UAAU,gCAGtC,IAYaM,EAAW,EAAGC,QAAAA,EAASP,UAAAA,KAAcC,KAI1CG,EAH0B,YAAZG,EAAwB,KAAO,KAG5C,CACGP,UAAWG,EAAK,gBAAiBH,EAAW,CACxC,yBAAsC,YAAZO,EAC1B,2BAAwC,cAAZA,OAE5BN,IAKhBK,EAASd,KAAOA,EAChBc,EAASE,KA/C8B,EAAGR,UAAAA,KAAcC,KAC7CG,EAAC,MAAGJ,UAAWG,EAAK,qBAAsBH,MAAgBC"}
1
+ {"version":3,"file":"LinkList.js","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":"i9CAQA,MAUMA,EAAOC,EAAMC,YAAW,SAG1BC,EACAC,GAEM,MAAEC,GAAIC,EAAY,IAAKC,SAAAA,EAAUC,UAAAA,KAAcC,GAASN,EAG1D,OAAAO,EAACJ,EAAA,CACGE,UAAWG,EAAK,qBAAsBH,GACtCJ,IAAAA,KACIK,EAEHF,SAAA,CAAAA,EACDK,EAACC,EAAe,CAAAL,UAAU,gCAGtC,IAYaM,EAAW,EACpBC,QAAAA,EACAP,UAAAA,KACGC,KAKCG,EAH0B,YAAZG,EAAwB,KAAO,KAG5C,CACGP,UAAWG,EAAK,gBAAiBH,EAAW,CACxC,yBAAsC,YAAZO,EAC1B,2BAAwC,cAAZA,OAE5BN,IAKhBK,EAASd,KAAOA,EAChBc,EAASE,KA3D8B,EAAGR,UAAAA,KAAcC,KAEhDG,EAAC,MAAGJ,UAAWG,EAAK,qBAAsBH,MAAgBC"}
@@ -12,7 +12,7 @@ export type { SkeletonInputProps } from './skeletons/SkeletonInput.js';
12
12
  export { SkeletonInput } from './skeletons/SkeletonInput.js';
13
13
  export type { SkeletonRadioButtonGroupProps } from './skeletons/SkeletonRadioButtonGroup.js';
14
14
  export { SkeletonRadioButtonGroup } from './skeletons/SkeletonRadioButtonGroup.js';
15
- export type { SkeletonTableProps, SkeletonTableHeaderProps, SkeletonTableRowProps } from './skeletons/SkeletonTable.js';
16
- export { SkeletonTable, SkeletonTableHeader, SkeletonTableRow } from './skeletons/SkeletonTable.js';
15
+ export type { SkeletonTableProps, SkeletonTableHeaderProps, SkeletonTableRowProps, } from './skeletons/SkeletonTable.js';
16
+ export { SkeletonTable, SkeletonTableHeader, SkeletonTableRow, } from './skeletons/SkeletonTable.js';
17
17
  export type { SkeletonTextAreaProps } from './skeletons/SkeletonTextArea.js';
18
18
  export { SkeletonTextArea } from './skeletons/SkeletonTextArea.js';
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonAnimation.js","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 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":["SkeletonAnimation","className","delay","density","textDescription","rest","renderComponent","useDelayedRender","jsx","clsx"],"mappings":"mJAmBO,MAAMA,EAAoB,EAC7BC,UAAAA,EACAC,MAAAA,EAAQ,EACRC,QAAAA,EACAC,gBAAAA,EAAkB,oBACfC,MAEGC,MAAAA,EAAkBC,EAAiBL,GAErC,OAAAA,IAAUI,EACH,KAIPE,EAAC,MAAA,CACGP,UAAWQ,EAAK,yBAA0BR,GAC1C,YAAU,OACV,aAAYG,KACRC,EACJ,eAAcF,GAAA"}
1
+ {"version":3,"file":"SkeletonAnimation.js","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":["SkeletonAnimation","className","delay","density","textDescription","rest","renderComponent","useDelayedRender","jsx","clsx"],"mappings":"mJAoBO,MAAMA,EAAoB,EAC7BC,UAAAA,EACAC,MAAAA,EAAQ,EACRC,QAAAA,EACAC,gBAAAA,EAAkB,oBACfC,MAEGC,MAAAA,EAAkBC,EAAiBL,GAErC,OAAAA,IAAUI,EACH,KAIPE,EAAC,MAAA,CACGP,UAAWQ,EAAK,yBAA0BR,GAC1C,YAAU,OACV,aAAYG,KACRC,EACJ,eAAcF,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonButton.js","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 extends Omit<SkeletonElementProps, \"height\"> {\n density?: Density;\n}\n\nexport const SkeletonButton = ({ style, density, ...rest }: SkeletonButtonProps) => {\n return (\n <SkeletonElement\n {...rest}\n height={density === \"compact\" ? 24 : 40}\n style={{ borderRadius: \"999px\", ...style }}\n />\n );\n};\n"],"names":["SkeletonButton","style","density","rest","jsx","SkeletonElement","height","borderRadius"],"mappings":"+FAQO,MAAMA,EAAiB,EAAGC,MAAAA,EAAOC,QAAAA,KAAYC,KAE5CC,EAACC,EAAA,IACOF,EACJG,OAAoB,YAAZJ,EAAwB,GAAK,GACrCD,MAAO,CAAEM,aAAc,WAAYN"}
1
+ {"version":3,"file":"SkeletonButton.js","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":["SkeletonButton","style","density","rest","jsx","SkeletonElement","height","borderRadius"],"mappings":"+FASO,MAAMA,EAAiB,EAC1BC,MAAAA,EACAC,QAAAA,KACGC,KAGCC,EAACC,EAAA,IACOF,EACJG,OAAoB,YAAZJ,EAAwB,GAAK,GACrCD,MAAO,CAAEM,aAAc,WAAYN"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonCheckboxGroup.js","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 key={`jkl-skeleton-checkbox-${index}`} className=\"jkl-skeleton-input__checkbox\">\n <SkeletonElement width={compact ? 22 : 24} height={compact ? 22 : 24} />\n <SkeletonElement width={compact ? 201 : 216} height={compact ? 22 : 24} {...inputProps} />\n </div>\n ))}\n </div>\n );\n};\n"],"names":["SkeletonCheckboxGroup","className","checkboxes","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","Array","from","map","_","index","SkeletonElement","width","height"],"mappings":"6MAcO,MAAMA,EAAwB,EACjCC,UAAAA,EACAC,WAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAC,OAAIP,UAAWQ,EAAK,qBAAsBR,MAAgBK,EACvDI,SAAA,CAACC,EAAAC,EAAA,CAAcT,QAAAA,KAAsBC,IACpCS,MAAMC,KAAKD,MAAMX,IAAaa,KAAI,CAACC,EAAGC,IAClCT,EAAA,MAAA,CAA2CP,UAAU,+BAClDS,SAAA,CAACC,EAAAO,EAAA,CAAgBC,MAAOZ,EAAU,GAAK,GAAIa,OAAQb,EAAU,GAAK,KAClEI,EAACO,EAAgB,CAAAC,MAAOZ,EAAU,IAAM,IAAKa,OAAQb,EAAU,GAAK,MAAQF,MAFtE,yBAAyBY,SAK3C"}
1
+ {"version":3,"file":"SkeletonCheckboxGroup.js","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":["SkeletonCheckboxGroup","className","checkboxes","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","Array","from","map","_","index","SkeletonElement","width","height"],"mappings":"6MAcO,MAAMA,EAAwB,EACjCC,UAAAA,EACAC,WAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAC,OAAIP,UAAWQ,EAAK,qBAAsBR,MAAgBK,EACvDI,SAAA,CAACC,EAAAC,EAAA,CAAcT,QAAAA,KAAsBC,IACpCS,MAAMC,KAAKD,MAAMX,IAAaa,KAAI,CAACC,EAAGC,IACnCT,EAAC,MAAA,CAEGP,UAAU,+BAEVS,SAAA,CAAAC,EAACO,EAAA,CACGC,MAAOZ,EAAU,GAAK,GACtBa,OAAQb,EAAU,GAAK,KAE3BI,EAACO,EAAA,CACGC,MAAOZ,EAAU,IAAM,IACvBa,OAAQb,EAAU,GAAK,MACnBF,MAVH,yBAAyBY,SAc1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonElement.js","sources":["../../../../../src/components/loader/skeletons/SkeletonElement.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { HTMLProps } from \"react\";\n\nexport interface SkeletonElementProps 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 = ({ shape = \"rect\", width, height, style, className, ...rest }: SkeletonElementProps) => {\n return (\n <div\n className={clsx(\"jkl-skeleton-element\", `jkl-skeleton-element--${shape}`, className)}\n style={{ width, height, ...style }}\n {...rest}\n />\n );\n};\n"],"names":["SkeletonElement","shape","width","height","style","className","rest","jsx","clsx"],"mappings":"yFAUa,MAAAA,EAAkB,EAAGC,MAAAA,EAAQ,OAAQC,MAAAA,EAAOC,OAAAA,EAAQC,MAAAA,EAAOC,UAAAA,KAAcC,KAE9EC,EAAC,MAAA,CACGF,UAAWG,EAAK,uBAAwB,yBAAyBP,IAASI,GAC1ED,MAAO,CAAEF,MAAAA,EAAOC,OAAAA,KAAWC,MACvBE"}
1
+ {"version":3,"file":"SkeletonElement.js","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":["SkeletonElement","shape","width","height","style","className","rest","jsx","clsx"],"mappings":"yFAWO,MAAMA,EAAkB,EAC3BC,MAAAA,EAAQ,OACRC,MAAAA,EACAC,OAAAA,EACAC,MAAAA,EACAC,UAAAA,KACGC,KAGCC,EAAC,MAAA,CACGF,UAAWG,EACP,uBACA,yBAAyBP,IACzBI,GAEJD,MAAO,CAAEF,MAAAA,EAAOC,OAAAA,KAAWC,MACvBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonInput.js","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 = ({ className, density, labelProps, inputProps, ...rest }: SkeletonInputProps) => {\n const compact = density === \"compact\";\n return (\n <div className={clsx(\"jkl-skeleton-input\", className)} {...rest}>\n <SkeletonLabel density={density} {...labelProps} />\n <SkeletonElement width={compact ? 301 : 316} height={compact ? 32 : 48} {...inputProps} />\n </div>\n );\n};\n"],"names":["SkeletonInput","className","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","SkeletonElement","width","height"],"mappings":"6MAca,MAAAA,EAAgB,EAAGC,UAAAA,EAAWC,QAAAA,EAASC,WAAAA,EAAYC,WAAAA,KAAeC,MAC3E,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAC,OAAIN,UAAWO,EAAK,qBAAsBP,MAAgBI,EACvDI,SAAA,CAACC,EAAAC,EAAA,CAAcT,QAAAA,KAAsBC,IACrCO,EAACE,EAAgB,CAAAC,MAAOP,EAAU,IAAM,IAAKQ,OAAQR,EAAU,GAAK,MAAQF,MAChF"}
1
+ {"version":3,"file":"SkeletonInput.js","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":["SkeletonInput","className","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","SkeletonElement","width","height"],"mappings":"6MAcO,MAAMA,EAAgB,EACzBC,UAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAC,OAAIN,UAAWO,EAAK,qBAAsBP,MAAgBI,EACvDI,SAAA,CAACC,EAAAC,EAAA,CAAcT,QAAAA,KAAsBC,IACrCO,EAACE,EAAA,CACGC,MAAOP,EAAU,IAAM,IACvBQ,OAAQR,EAAU,GAAK,MACnBF,MAEZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonLabel.js","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 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 <SkeletonElement {...rest} width={compact ? 100 : 115} height={compact ? 12 : 16} />;\n};\n"],"names":["SkeletonLabel","density","rest","compact","jsx","SkeletonElement","width","height"],"mappings":"+FASO,MAAMA,EAAgB,EAAGC,QAAAA,KAAYC,MACxC,MAAMC,EAAsB,YAAZF,EACT,OAAAG,EAACC,EAAiB,IAAGH,EAAMI,MAAOH,EAAU,IAAM,IAAKI,OAAQJ,EAAU,GAAK,IAAI"}
1
+ {"version":3,"file":"SkeletonLabel.js","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":["SkeletonLabel","density","rest","compact","jsx","SkeletonElement","width","height"],"mappings":"+FAUO,MAAMA,EAAgB,EAAGC,QAAAA,KAAYC,MACxC,MAAMC,EAAsB,YAAZF,EAEZ,OAAAG,EAACC,EAAA,IACOH,EACJI,MAAOH,EAAU,IAAM,IACvBI,OAAQJ,EAAU,GAAK,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonRadioButtonGroup.js","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 key={`jkl-skeleton-checkbox-${index}`} className=\"jkl-skeleton-input__checkbox\">\n <SkeletonElement\n width={compact ? 22 : 24}\n height={compact ? 22 : 24}\n style={{ borderRadius: \"50%\" }}\n />\n <SkeletonElement width={compact ? 201 : 216} height={compact ? 22 : 24} {...inputProps} />\n </div>\n ))}\n </div>\n );\n};\n"],"names":["SkeletonRadioButtonGroup","className","radioButtons","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","Array","from","map","_","index","SkeletonElement","width","height","style","borderRadius"],"mappings":"6MAcO,MAAMA,EAA2B,EACpCC,UAAAA,EACAC,aAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAC,OAAIP,UAAWQ,EAAK,qBAAsBR,MAAgBK,EACvDI,SAAA,CAACC,EAAAC,EAAA,CAAcT,QAAAA,KAAsBC,IACpCS,MAAMC,KAAKD,MAAMX,IAAea,KAAI,CAACC,EAAGC,IACpCT,EAAA,MAAA,CAA2CP,UAAU,+BAClDS,SAAA,CAAAC,EAACO,EAAA,CACGC,MAAOZ,EAAU,GAAK,GACtBa,OAAQb,EAAU,GAAK,GACvBc,MAAO,CAAEC,aAAc,SAE3BX,EAACO,EAAgB,CAAAC,MAAOZ,EAAU,IAAM,IAAKa,OAAQb,EAAU,GAAK,MAAQF,MANtE,yBAAyBY,SAS3C"}
1
+ {"version":3,"file":"SkeletonRadioButtonGroup.js","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":["SkeletonRadioButtonGroup","className","radioButtons","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","Array","from","map","_","index","SkeletonElement","width","height","style","borderRadius"],"mappings":"6MAcO,MAAMA,EAA2B,EACpCC,UAAAA,EACAC,aAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAC,OAAIP,UAAWQ,EAAK,qBAAsBR,MAAgBK,EACvDI,SAAA,CAACC,EAAAC,EAAA,CAAcT,QAAAA,KAAsBC,IACpCS,MAAMC,KAAKD,MAAMX,IAAea,KAAI,CAACC,EAAGC,IACrCT,EAAC,MAAA,CAEGP,UAAU,+BAEVS,SAAA,CAAAC,EAACO,EAAA,CACGC,MAAOZ,EAAU,GAAK,GACtBa,OAAQb,EAAU,GAAK,GACvBc,MAAO,CAAEC,aAAc,SAE3BX,EAACO,EAAA,CACGC,MAAOZ,EAAU,IAAM,IACvBa,OAAQb,EAAU,GAAK,MACnBF,MAXH,yBAAyBY,SAe1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonTable.js","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 extends Pick<HTMLProps<HTMLDivElement>, \"style\"> {\n className?: string;\n children: ReactNode;\n density?: Density;\n width?: number | string;\n}\n\nexport const SkeletonTable = ({ className, density, width, style, ...rest }: 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 = ({ className, ...rest }: SkeletonTableHeaderProps) => {\n return <div className={clsx(\"jkl-skeleton-table__header\", className)} {...rest} />;\n};\n\nexport interface SkeletonTableRowProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const SkeletonTableRow = ({ className, ...rest }: SkeletonTableRowProps) => {\n return <div className={clsx(\"jkl-skeleton-table__row\", className)} {...rest} />;\n};\n"],"names":["SkeletonTable","className","density","width","style","rest","jsx","clsx","SkeletonTableHeader","SkeletonTableRow"],"mappings":"yFAWa,MAAAA,EAAgB,EAAGC,UAAAA,EAAWC,QAAAA,EAASC,MAAAA,EAAOC,MAAAA,KAAUC,KAE7DC,EAAC,MAAA,CACGL,UAAWM,EAAK,qBAAsBN,GACtCG,MAAO,CAAED,MAAAA,KAAUC,MACfC,EACJ,eAAcH,IAUbM,EAAsB,EAAGP,UAAAA,KAAcI,KACzCC,EAAC,OAAIL,UAAWM,EAAK,6BAA8BN,MAAgBI,IAQjEI,EAAmB,EAAGR,UAAAA,KAAcI,KACtCC,EAAC,OAAIL,UAAWM,EAAK,0BAA2BN,MAAgBI"}
1
+ {"version":3,"file":"SkeletonTable.js","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":["SkeletonTable","className","density","width","style","rest","jsx","clsx","SkeletonTableHeader","SkeletonTableRow"],"mappings":"yFAYO,MAAMA,EAAgB,EACzBC,UAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,MAAAA,KACGC,KAGCC,EAAC,MAAA,CACGL,UAAWM,EAAK,qBAAsBN,GACtCG,MAAO,CAAED,MAAAA,KAAUC,MACfC,EACJ,eAAcH,IAUbM,EAAsB,EAC/BP,UAAAA,KACGI,KAGCC,EAAC,MAAA,CACGL,UAAWM,EAAK,6BAA8BN,MAC1CI,IAUHI,EAAmB,EAC5BR,UAAAA,KACGI,KAGCC,EAAC,OAAIL,UAAWM,EAAK,0BAA2BN,MAAgBI"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonTextArea.js","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 = ({ className, density, labelProps, inputProps, ...rest }: SkeletonTextAreaProps) => {\n const compact = density === \"compact\";\n return (\n <div className={clsx(\"jkl-skeleton-input\", className)} {...rest} data-density={density}>\n <SkeletonLabel density={density} {...labelProps} />\n <SkeletonElement width={compact ? 301 : 316} height={compact ? 148 : 168} {...inputProps} />\n </div>\n );\n};\n"],"names":["SkeletonTextArea","className","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","SkeletonElement","width","height"],"mappings":"6MAaa,MAAAA,EAAmB,EAAGC,UAAAA,EAAWC,QAAAA,EAASC,WAAAA,EAAYC,WAAAA,KAAeC,MAC9E,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAC,MAAI,CAAAN,UAAWO,EAAK,qBAAsBP,MAAgBI,EAAM,eAAcH,EAC3EO,SAAA,CAACC,EAAAC,EAAA,CAAcT,QAAAA,KAAsBC,IACrCO,EAACE,EAAgB,CAAAC,MAAOP,EAAU,IAAM,IAAKQ,OAAQR,EAAU,IAAM,OAASF,MAClF"}
1
+ {"version":3,"file":"SkeletonTextArea.js","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":["SkeletonTextArea","className","density","labelProps","inputProps","rest","compact","jsxs","clsx","children","jsx","SkeletonLabel","SkeletonElement","width","height"],"mappings":"6MAaO,MAAMA,EAAmB,EAC5BC,UAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAC,WAAAA,KACGC,MAEH,MAAMC,EAAsB,YAAZJ,EAEZ,OAAAK,EAAC,MAAA,CACGN,UAAWO,EAAK,qBAAsBP,MAClCI,EACJ,eAAcH,EAEdO,SAAA,CAACC,EAAAC,EAAA,CAAcT,QAAAA,KAAsBC,IACrCO,EAACE,EAAA,CACGC,MAAOP,EAAU,IAAM,IACvBQ,OAAQR,EAAU,IAAM,OACpBF,MACR"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDelayedRender.js","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), delayMilliseconds);\n return () => clearTimeout(timeout);\n }, [delayMilliseconds, setRenderComponent]);\n\n return renderComponent;\n}\n"],"names":["useDelayedRender","delayMilliseconds","renderComponent","setRenderComponent","useState","useEffect","timeout","setTimeout","clearTimeout"],"mappings":"gDAEO,SAASA,EAAiBC,GACvB,MAACC,EAAiBC,GAAsBC,EAA+B,IAAtBH,GAEvD,OAAAI,GAAU,KACN,GAA0B,IAAtBJ,EACA,OAGJ,MAAMK,EAAUC,YAAW,IAAMJ,GAAmB,IAAOF,GACpD,MAAA,IAAMO,aAAaF,EAAO,GAClC,CAACL,EAAmBE,IAEhBD,CACX"}
1
+ {"version":3,"file":"useDelayedRender.js","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":["useDelayedRender","delayMilliseconds","renderComponent","setRenderComponent","useState","useEffect","timeout","setTimeout","clearTimeout"],"mappings":"gDAEO,SAASA,EAAiBC,GACvB,MAACC,EAAiBC,GAAsBC,EACpB,IAAtBH,GAGJ,OAAAI,GAAU,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.js","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 ? \"31 60 150 83\" : \"32 27 581 120\"}\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={isSymbol ? \"scale(1.45, 1) translate(-10, 6)\" : \"\"}\n />\n <line x1=\"35.12226\" x2=\"91.504088\" y1=\"80.105318\" y2=\"80.105318\" />\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":["Logo","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":"mJAkBO,MAAMA,EAAO,EAChBC,UAAAA,EACAC,GAAAA,EACAC,SAAAA,GAAW,EACXC,SAAAA,GAAW,EACXC,SAAAA,GAAW,EACXC,MAAAA,EAAQ,cACLC,MAEGC,MAAAA,EAAWC,EAAMP,GAAM,WAAY,CAAEQ,gBAAiBR,IAGxD,OAAAS,EAAC,MAAA,IACOJ,EACJN,UAAWW,EAAK,WAAYX,EAAW,CACnC,qBAAsBI,EACtB,wBAAyBD,EACzB,qBAAsBD,GAAYC,IAEtC,kBAAiBI,EACjBK,KAAK,MACLC,MAAM,6BACNC,KAAK,eACLC,OAAO,eACPC,QAAUZ,IAAYD,GAAaD,EAA4B,gBAAjB,eAE9Ce,SAAA,CAACC,EAAA,QAAA,CAAMjB,GAAIM,EAAWU,SAAMZ,IAC5BK,EAAC,IAAA,CACGI,KAAK,OACLd,UAAU,cACVmB,YAAY,IACZC,UAAW,IAAGjB,EAAW,gCAAkC,IAE3Dc,SAAA,CAAAC,EAAC,OAAA,CACGG,GAAG,OACHC,GAAG,aACHC,GAAG,YACHC,GAAG,YACHxB,UAAU,mBACVoB,UAAWjB,EAAW,mCAAqC,KAE/De,EAAC,QAAKG,GAAG,WAAWC,GAAG,YAAYC,GAAG,YAAYC,GAAG,cACrDN,EAAC,OAAA,CACGG,GAAG,aACHC,GAAG,WACHC,GAAG,YACHC,GAAG,YACHJ,UAAU,sCAGfjB,IAAaC,IACZc,EAAC,OAAA,CACGC,YAAY,SACZM,EAAE,w8EACFzB,UAAU,wBACd"}
1
+ {"version":3,"file":"Logo.js","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":["Logo","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":"mJAkBO,MAAMA,EAAO,EAChBC,UAAAA,EACAC,GAAAA,EACAC,SAAAA,GAAW,EACXC,SAAAA,GAAW,EACXC,SAAAA,GAAW,EACXC,MAAAA,EAAQ,cACLC,MAEGC,MAAAA,EAAWC,EAAMP,GAAM,WAAY,CAAEQ,gBAAiBR,IAGxD,OAAAS,EAAC,MAAA,IACOJ,EACJN,UAAWW,EAAK,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,EAAA,QAAA,CAAMjB,GAAIM,EAAWU,SAAMZ,IAC5BK,EAAC,IAAA,CACGI,KAAK,OACLd,UAAU,cACVmB,YAAY,IACZC,UAAW,IAAGjB,EAAW,gCAAkC,IAE3Dc,SAAA,CAAAC,EAAC,OAAA,CACGG,GAAG,OACHC,GAAG,aACHC,GAAG,YACHC,GAAG,YACHxB,UAAU,mBACVoB,UACIjB,EAAW,mCAAqC,KAGxDe,EAAC,OAAA,CACGG,GAAG,WACHC,GAAG,YACHC,GAAG,YACHC,GAAG,cAEPN,EAAC,OAAA,CACGG,GAAG,aACHC,GAAG,WACHC,GAAG,YACHC,GAAG,YACHJ,UAAU,sCAGfjB,IAAaC,IACZc,EAAC,OAAA,CACGC,YAAY,SACZM,EAAE,w8EACFzB,UAAU,wBACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogoStamp.js","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}>{title || \"Forsikring levert av Fremtind\"}</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":["LogoStamp","children","className","id","animated","title","rest","uniqueId","useId","generateSuffix","stampRef","useRef","hasAnimated","visible","useTextSpinner","jsxs","ref","xmlns","viewBox","clsx","role","jsx","fill","d"],"mappings":"uOAoBO,MAAMA,EAAY,EACrBC,SAAAA,EACAC,UAAAA,EACAC,GAAAA,EACAC,SAAAA,GAAW,EACXC,MAAAA,KACGC,MAEGC,MAAAA,EAAWC,EAAML,GAAM,iBAAkB,CAAEM,gBAAiBN,IAC5DO,EAAWC,EAAsB,OAC/BC,YAAAA,EAAaC,QAAAA,GAAYC,EAAeJ,GAG5C,OAAAK,EAAC,MAAA,IACOT,EACJU,IAAKN,EACLO,MAAM,6BACNC,QAAQ,cACR,kBAAiBX,EACjBL,UAAWiB,EAAK,iBAAkBjB,EAAW,CACzC,2BAA4BE,IAEhC,cAAaA,IAAaS,GAAWD,GACrCQ,KAAK,MAELnB,SAAA,CAAAoB,EAAC,QAAM,CAAAlB,GAAII,EAAWN,SAAAI,GAAS,kCAC/BgB,EAAC,IAAE,CAAAnB,UAAU,uBACTD,SAAAoB,EAAC,OAAA,CACGC,KAAK,eACLC,EAAE,wGAGTF,EAAA,IAAA,CAAEnB,UAAU,uBAAwBD,SAAAA,MAAS"}
1
+ {"version":3,"file":"LogoStamp.js","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":["LogoStamp","children","className","id","animated","title","rest","uniqueId","useId","generateSuffix","stampRef","useRef","hasAnimated","visible","useTextSpinner","jsxs","ref","xmlns","viewBox","clsx","role","jsx","fill","d"],"mappings":"uOAoBO,MAAMA,EAAY,EACrBC,SAAAA,EACAC,UAAAA,EACAC,GAAAA,EACAC,SAAAA,GAAW,EACXC,MAAAA,KACGC,MAEGC,MAAAA,EAAWC,EAAML,GAAM,iBAAkB,CAAEM,gBAAiBN,IAC5DO,EAAWC,EAAsB,OAC/BC,YAAAA,EAAaC,QAAAA,GAAYC,EAAeJ,GAG5C,OAAAK,EAAC,MAAA,IACOT,EACJU,IAAKN,EACLO,MAAM,6BACNC,QAAQ,cACR,kBAAiBX,EACjBL,UAAWiB,EAAK,iBAAkBjB,EAAW,CACzC,2BAA4BE,IAEhC,cAAaA,IAAaS,GAAWD,GACrCQ,KAAK,MAELnB,SAAA,CAAAoB,EAAC,QAAM,CAAAlB,GAAII,EACNN,SAAAI,GAAS,kCAEdgB,EAAC,IAAE,CAAAnB,UAAU,uBACTD,SAAAoB,EAAC,OAAA,CACGC,KAAK,eACLC,EAAE,wGAGTF,EAAA,IAAA,CAAEnB,UAAU,uBAAwBD,SAAAA,MAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTextSpinner.js","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>) {\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":["useTextSpinner","ref","hasAnimated","setHasAnimated","useState","visible","setVisible","useIntersectionObserver","entries","intersecting","some","entry","isIntersecting","rootMargin","threshold"],"mappings":"0IAEO,SAASA,EAAmDC,GAC/D,MAAOC,EAAaC,GAAkBC,GAAS,IACxCC,EAASC,GAAcF,GAAS,GASvCG,OAAAA,EAAwBN,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
+ {"version":3,"file":"useTextSpinner.js","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":["useTextSpinner","ref","hasAnimated","setHasAnimated","useState","visible","setVisible","useIntersectionObserver","entries","intersecting","some","entry","isIntersecting","rootMargin","threshold"],"mappings":"0IAEO,SAASA,EACZC,GAEA,MAAOC,EAAaC,GAAkBC,GAAS,IACxCC,EAASC,GAAcF,GAAS,GASvCG,OAAAA,EAAwBN,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.js","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":"o0BAuEA,MAAMA,EAAgBC,GAAyC,CAACC,EAAOC,KAC7D,MACFC,SAAAA,EACAC,UAAAA,EACAC,iBAAAA,EACAC,YAAAA,GAAc,EACdC,uBAAAA,GAAyB,EACzBC,eAAAA,EACAC,OAAQC,EACRC,SAAAA,KACGC,GACHX,EAEEY,EAASC,EAAM,YAEfC,EAAOC,IACPC,EAASC,IACTC,EAAWC,IACXC,EAAuB,MAAZF,EAEXG,EAAeC,EAAwC,KACtDC,EAAaC,GAAkBC,EAAwB,OACtDC,WAAAA,EAAYlB,OAAQmB,EAAeC,UAAAA,GAAcC,EAAkBf,EAAME,EAAQE,GAEnFV,QAA4B,IAAnBC,EAA+BA,EAAiBkB,EAE/DG,GAAU,IAAM,MAAApB,OAAA,EAAAA,EAAWF,KAAS,CAACA,GAAQE,IAEvC,MAAEqB,EAAAA,GAAGC,EAAAA,GAAGC,KAAAA,GAAMC,UAAAA,GAAWC,SAAAA,GAAUC,QAAAA,IAAYC,EAAY,CAC7DrB,OAAAA,EACAsB,KAAM9B,GACN+B,aAAcX,EACdM,UAAW9B,IAAqBgB,EAAW,cAAgB,gBAC3DoB,WAAY,CACRC,EAAO,GACPC,EAAK,CACDC,0BAA2B,MAC3BC,WAAW,IAEfC,EAAM,CAAEC,QAAS,KAErBC,qBAAsBC,KAGlBC,kBAAAA,GAAmBC,iBAAAA,GAAkBC,aAAAA,IAAiBC,EAAgB,CAC1EC,EAASjB,GAAS,CACdkB,QAASjD,GAAeqB,EACxB6B,MAAO,CAAEjB,KAAM,IACfkB,YAAaC,EAAY,CACrBC,eAAe,EACfC,oBAAoB,MAG5BC,EAASxB,GAAS,CACdyB,MAAO,cAEXC,EAAW1B,GAAS,CAAE2B,cAAezD,IACrC0D,EAAQ5B,GAAS,CAAE6B,KAAM,SACzBC,EAAkB9B,GAAS,CACvB+B,QAAS9C,EACTE,YAAAA,EACA6C,OAAQhD,EACRiD,WAAY7C,MAId8C,GAAeC,EAAa,CAACtC,GAAKuC,aAAcvE,KAI9CwE,MAAAA,GAAOC,QAAAA,IAAYC,EAAmB1C,GAAK2C,UAAUC,SAGzD,OAAAC,EAACC,EAAa,CAAAC,GAAIhE,EACbd,SAAA,CAAM+E,EAAAC,eAAe3E,KACG,WAAxBA,EAAe4E,MAAqBC,EAAQC,aAAa9E,IAEpD0E,EAAMK,aAAa/E,EAAgB,IAC5B0C,GAAkB,IACdtC,EACH4E,IAAKjB,GACLL,KAAM7C,EAAW,gBAAa,EAC9B,gBAAiBR,EACjB4E,QAAQ3B,GACJA,EAAM4B,iBACV,MAEP,EAGNC,EAAAC,EAAA,CACIzF,SACGM,IAAAkF,EAACE,EACG,CAAA1F,SAAAwF,EAACG,EAAA,CACGzD,QAAAA,GAEA0D,OAAO,EAEPC,aAAc3E,GAAgB,EAAA,EAE9B4E,aAAc5E,EAEdlB,SAAAwF,EAACO,EAAOC,IAAP,CACG/F,UAAWgG,EAAK,eAAgBhG,GAChC,aAAYsE,GACZ,sBAAqBC,GACrBT,KAAK,OACLmC,QAAS,CAAEC,QAAS,GACpBC,QAAS,CAAED,QAAS,GACpBE,KAAM,CAAEF,QAAS,GACjBG,WAAY,CAAEC,KAAM,SAAUC,SAAU,IACxC,iBAAgBxE,GAChB,YAAU,YACV,eAAc1B,GACd+E,IAAKtD,GAAK0E,eACNzD,GAAiB,CACjB8B,GAAIpE,EACJgG,MAAO,CACHC,SAAU1E,GACV2E,IAAK9E,IAAK,GACV+E,KAAMhF,IAAK,MAIlB7B,WAAM8G,SAASC,IAAI/G,GAAU,CAACgH,EAAOC,IAC9BlC,EAAMC,eAAegC,IAAU9B,EAAQC,aAAa6B,GAC7CjC,EAAMK,aACT4B,EACA/D,GAAa,IACN+D,EAAMlH,MACToH,SAAU7F,IAAgB4F,EAAQ,GAAI,EACtClD,KAAM,WACNsB,IAAI8B,GACahG,EAAAwD,QAAQsC,GAASE,CAClC,EACA7B,QAAQ3B,WACE,OAAAyD,GAAAC,EAAAL,EAAAlH,OAAMwF,UAAN8B,EAAAE,KAAAD,EAAgB1D,IAClBA,EAAM4D,mBAGJ,MAAA3G,GAAAA,EAAA4G,OAAOC,KAAK,SACtB,EACAC,UAAU/D,WACA,OAAAyD,GAAAC,EAAAL,EAAAlH,OAAM4H,YAANN,EAAAE,KAAAD,EAAkB1D,IACpBA,EAAM4D,mBAGJ,MAAA3G,GAAAA,EAAA4G,OAAOC,KAAK,WAEe,qBAA7B9D,EAAMgE,cAAc5D,MACN,UAAdJ,EAAMiE,KAGNlG,GAAU,GAElB,EACAmG,eACQrG,GAAclB,IACdgB,EAAe2F,EAEvB,KAKLD,cAOnC,IAGRpH,EAAckI,YAAc,gBAErB,MAAMC,EAAOlI,GAAyC,CAACC,EAAOuF,IAGhD,OAFApE,MAIR+G,EACG,CAAAhI,SAAAwF,EAAC5F,GAAcyF,IAAAA,KAAcvF,MAKjC0F,EAAA5F,EAAA,CAAcyF,IAAAA,KAAcvF,MAExCiI,EAAKD,YAAc"}
1
+ {"version":3,"file":"Menu.js","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":"o0BA8EA,MAAMA,EAAgBC,GAClB,CAACC,EAAOC,KACE,MACFC,SAAAA,EACAC,UAAAA,EACAC,iBAAAA,EACAC,YAAAA,GAAc,EACdC,uBAAAA,GAAyB,EACzBC,eAAAA,EACAC,OAAQC,EACRC,SAAAA,KACGC,GACHX,EAEEY,EAASC,EAAM,YAEfC,EAAOC,IACPC,EAASC,IACTC,EAAWC,IACXC,EAAuB,MAAZF,EAEXG,EAAeC,EAAwC,KACtDC,EAAaC,GAAkBC,EAAwB,OAE1DC,WAAAA,EACAlB,OAAQmB,EACRC,UAAAA,GACAC,EAAkBf,EAAME,EAAQE,GAE9BV,QACiB,IAAnBC,EAA+BA,EAAiBkB,EAEpDG,GAAU,IAAM,MAAApB,OAAA,EAAAA,EAAWF,KAAS,CAACA,GAAQE,IAEvC,MAAEqB,EAAAA,GAAGC,EAAAA,GAAGC,KAAAA,GAAMC,UAAAA,GAAWC,SAAAA,GAAUC,QAAAA,IAAYC,EAAY,CAC7DrB,OAAAA,EACAsB,KAAM9B,GACN+B,aAAcX,EACdM,UACI9B,IAAqBgB,EAAW,cAAgB,gBACpDoB,WAAY,CACRC,EAAO,GACPC,EAAK,CACDC,0BAA2B,MAC3BC,WAAW,IAEfC,EAAM,CAAEC,QAAS,KAErBC,qBAAsBC,KAGlBC,kBAAAA,GAAmBC,iBAAAA,GAAkBC,aAAAA,IACzCC,EAAgB,CACZC,EAASjB,GAAS,CACdkB,QAASjD,GAAeqB,EACxB6B,MAAO,CAAEjB,KAAM,IACfkB,YAAaC,EAAY,CACrBC,eAAe,EACfC,oBAAoB,MAG5BC,EAASxB,GAAS,CACdyB,MAAO,cAEXC,EAAW1B,GAAS,CAAE2B,cAAezD,IACrC0D,EAAQ5B,GAAS,CAAE6B,KAAM,SACzBC,EAAkB9B,GAAS,CACvB+B,QAAS9C,EACTE,YAAAA,EACA6C,OAAQhD,EACRiD,WAAY7C,MAIlB8C,GAAeC,EAAa,CAACtC,GAAKuC,aAAcvE,KAI9CwE,MAAAA,GAAOC,QAAAA,IAAYC,EACvB1C,GAAK2C,UAAUC,SAIf,OAAAC,EAACC,EAAa,CAAAC,GAAIhE,EACbd,SAAA,CAAM+E,EAAAC,eAAe3E,KACG,WAAxBA,EAAe4E,MACZC,EAAQC,aAAa9E,IAEnB0E,EAAMK,aAAa/E,EAAgB,IAC5B0C,GAAkB,IACdtC,EACH4E,IAAKjB,GACLL,KAAM7C,EAAW,gBAAa,EAC9B,gBAAiBR,EACjB4E,QAAQ3B,GACJA,EAAM4B,iBACV,MAEP,EAGNC,EAAAC,EAAA,CACIzF,SACGM,IAAAkF,EAACE,EACG,CAAA1F,SAAAwF,EAACG,EAAA,CACGzD,QAAAA,GAEA0D,OAAO,EAEPC,aAAc3E,GAAgB,EAAA,EAE9B4E,aAAc5E,EAEdlB,SAAAwF,EAACO,EAAOC,IAAP,CACG/F,UAAWgG,EAAK,eAAgBhG,GAChC,aAAYsE,GACZ,sBAAqBC,GACrBT,KAAK,OACLmC,QAAS,CAAEC,QAAS,GACpBC,QAAS,CAAED,QAAS,GACpBE,KAAM,CAAEF,QAAS,GACjBG,WAAY,CACRC,KAAM,SACNC,SAAU,IAEd,iBAAgBxE,GAChB,YAAU,YACV,eAAc1B,GACd+E,IAAKtD,GAAK0E,eACNzD,GAAiB,CACjB8B,GAAIpE,EACJgG,MAAO,CACHC,SAAU1E,GACV2E,IAAK9E,IAAK,GACV+E,KAAMhF,IAAK,MAIlB7B,WAAM8G,SAASC,IACZ/G,GACA,CAACgH,EAAOC,IAEAlC,EAAMC,eAAegC,IACrB9B,EAAQC,aAAa6B,GAEdjC,EAAMK,aACT4B,EACA/D,GAAa,IACN+D,EAAMlH,MACToH,SACI7F,IACA4F,EACM,GACA,EACVlD,KAAM,WACNsB,IACI8B,GAEahG,EAAAwD,QACTsC,GACAE,CACR,EACA7B,QAAQ3B,WACJ,OAAAyD,GAAAC,EAAAL,EAAMlH,OAAMwF,UAAZ8B,EAAAE,KAAAD,EACI1D,IAGAA,EAAM4D,mBAIV,MAAA3G,GAAAA,EAAM4G,OAAOC,KACT,SAER,EACAC,UAAU/D,WACN,OAAAyD,GAAAC,EAAAL,EAAMlH,OAAM4H,YAAZN,EAAAE,KAAAD,EACI1D,IAGAA,EAAM4D,mBAIV,MAAA3G,GAAAA,EAAM4G,OAAOC,KACT,WAMI,qBAHJ9D,EACKgE,cACA5D,MAGD,UADJJ,EAAMiE,KAINlG,GACI,GAGZ,EACAmG,eAEQrG,GACAlB,IAEAgB,EACI2F,EAGZ,KAKLD,cAQvC,IAIZpH,EAAckI,YAAc,gBAErB,MAAMC,EAAOlI,GAAyC,CAACC,EAAOuF,IAGhD,OAFApE,MAIR+G,EACG,CAAAhI,SAAAwF,EAAC5F,GAAcyF,IAAAA,KAAcvF,MAKjC0F,EAAA5F,EAAA,CAAcyF,IAAAA,KAAcvF,MAExCiI,EAAKD,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sources":["../../../../src/components/menu/MenuItem.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, ReactNode } from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ArrowNorthEastIcon, ChevronRightIcon } from \"../icon/index.js\";\n\nexport type MenuItemProps<ElementType extends React.ElementType> = 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<ElementType extends React.ElementType = \"button\">(\n props: MenuItemProps<ElementType>,\n ref: PolymorphicRef<ElementType>,\n) {\n const { as = \"button\", className, children, icon, expandable = false, external = false, ...rest } = props;\n const Component = as;\n const type = Component === \"button\" ? \"button\" : undefined;\n\n return (\n <Component ref={ref} type={type} role=\"menuitem\" className={clsx(\"jkl-menu-item\", className)} {...rest}>\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 && <ChevronRightIcon className=\"jkl-menu-item__chevron\" bold />}\n </Component>\n );\n}) as MenuItemComponent;\n"],"names":["MenuItem","forwardRef","props","ref","as","className","children","icon","expandable","external","rest","jsxs","type","role","clsx","jsx","ArrowNorthEastIcon","ChevronRightIcon","bold"],"mappings":"8/CAoCO,MAAMA,EAAWC,GAAW,SAC/BC,EACAC,GAEM,MAAEC,GAAAA,EAAK,SAAUC,UAAAA,EAAWC,SAAAA,EAAUC,KAAAA,EAAMC,WAAAA,GAAa,EAAOC,SAAAA,GAAW,KAAUC,GAASR,EAK/F,OAAAS,EAJaP,EAIb,CAAUD,IAAAA,EAAUS,KAHE,WADTR,EACoB,cAAW,EAGZS,KAAK,WAAWR,UAAWS,EAAK,gBAAiBT,MAAgBK,EAC7FJ,SAAA,CAAAC,GAASQ,EAAA,OAAA,CAAKV,UAAU,sBAAuBC,SAAKC,IACrDI,EAAC,MAAI,CAAAN,UAAU,yBACVC,SAAA,CAAAA,EACAG,GACIM,EAAA,MAAA,CAAIV,UAAW,uBACZC,SAAAS,EAACC,GAAmB,QAI/BR,GAAeO,EAAAE,EAAA,CAAiBZ,UAAU,yBAAyBa,MAAI,MAGpF"}
1
+ {"version":3,"file":"MenuItem.js","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","jsxs","type","role","clsx","jsx","ArrowNorthEastIcon","ChevronRightIcon","bold"],"mappings":"8/CAwCO,MAAMA,EAAWC,GAAW,SAEjCC,EAAmCC,GAC3B,MACFC,GAAAA,EAAK,SACLC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,WAAAA,GAAa,EACbC,SAAAA,GAAW,KACRC,GACHR,EAKA,OAAAS,EAJcP,EAIb,CACGD,IAAAA,EACAS,KALmB,WADTR,EACoB,cAAW,EAMzCS,KAAK,WACLR,UAAWS,EAAK,gBAAiBT,MAC7BK,EAEHJ,SAAA,CAAAC,GAASQ,EAAA,OAAA,CAAKV,UAAU,sBAAuBC,SAAKC,IACrDI,EAAC,MAAI,CAAAN,UAAU,yBACVC,SAAA,CAAAA,EACAG,GACIM,EAAA,MAAA,CAAIV,UAAW,uBACZC,SAAAS,EAACC,GAAmB,QAI/BR,GACIO,EAAAE,EAAA,CAAiBZ,UAAU,yBAAyBa,MAAI,MAIzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.js","sources":["../../../../src/components/menu/MenuItemCheckbox.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {\n forwardRef,\n type HTMLAttributes,\n type KeyboardEventHandler,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport { SwipeChangeHandler, useSwipeGesture } from \"../../hooks/useSwipeGesture/useSwipeGesture.js\";\nimport { CheckIcon } from \"../icon/index.js\";\n\nexport interface MenuItemCheckboxProps extends Omit<HTMLAttributes<HTMLDivElement>, \"aria-checked\" | \"onChange\"> {\n \"aria-checked\": boolean;\n /**\n * Et ikon som vises før innholdet i menypunktet\n */\n icon?: ReactNode;\n onChange?: SwipeChangeHandler<HTMLDivElement> &\n ((event: React.KeyboardEvent<HTMLDivElement> | React.PointerEvent<HTMLDivElement>, pressed: boolean) => void);\n}\n\nexport const MenuItemCheckbox = forwardRef<HTMLDivElement, MenuItemCheckboxProps>((props, ref) => {\n const {\n \"aria-checked\": checked,\n className,\n children,\n icon,\n onChange,\n onClick,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onKeyDown,\n ...rest\n } = props;\n\n const handleClick: MouseEventHandler<HTMLDivElement> = (event) => {\n event.preventDefault(); // Prevents the menu from closing on toggle\n onChange?.(event, !checked);\n onClick?.(event);\n };\n\n const handleChange: SwipeChangeHandler<HTMLDivElement> = (event, toggleTo) => {\n if (toggleTo !== checked) {\n onChange?.(event, toggleTo);\n }\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLDivElement> = (event) => {\n if (event.key === \"Enter\") {\n onChange?.(event, !checked);\n } else if (event.key === \" \") {\n event.preventDefault(); // Prevents the menu from closing on toggle, https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/menuitemcheckbox_role#keyboard_interactions\n onChange?.(event, !checked);\n }\n onKeyDown?.(event);\n };\n\n const { gestureHandlers } = useSwipeGesture({\n onClick: handleClick,\n onChange: handleChange,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n });\n\n return (\n <div\n ref={ref}\n tabIndex={-1}\n {...rest}\n role=\"menuitemcheckbox\"\n aria-checked={checked}\n className={clsx(\"jkl-menu-item\", \"jkl-menu-item--checkbox\", className)}\n {...gestureHandlers}\n onKeyDown={handleKeyDown}\n >\n {icon && <span className=\"jkl-menu-item__icon\">{icon}</span>}\n <div className=\"jkl-menu-item__content\">{children}</div>\n <div className=\"jkl-toggle-switch\">\n <div className=\"jkl-toggle-switch-widget\">\n <div className=\"jkl-toggle-switch-widget__slider\">\n <div className=\"jkl-toggle-switch-widget__knob\" />\n <CheckIcon variant=\"small\" bold className=\"jkl-toggle-switch-widget__indicator\" />\n </div>\n </div>\n </div>\n </div>\n );\n});\n\nMenuItemCheckbox.displayName = \"MenuItemCheckbox\";\n"],"names":["MenuItemCheckbox","forwardRef","props","ref","checked","className","children","icon","onChange","onClick","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","onKeyDown","rest","gestureHandlers","useSwipeGesture","event","preventDefault","toggleTo","jsxs","tabIndex","role","clsx","key","jsx","CheckIcon","variant","bold","displayName"],"mappings":"2iDAqBO,MAAMA,EAAmBC,GAAkD,CAACC,EAAOC,KAChF,MACF,eAAgBC,EAChBC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,EACAC,UAAAA,KACGC,GACHb,GAwBIc,gBAAAA,GAAoBC,EAAgB,CACxCR,QAvBoDS,IACpDA,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,GACnB,MAAAK,GAAAA,EAAUS,EAAAA,EAqBVV,SAlBqD,CAACU,EAAOE,KACzDA,IAAahB,IACb,MAAAI,GAAAA,EAAWU,EAAOE,GAAAA,EAiBtBV,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,IAIA,OAAAQ,EAAC,MAAA,CACGlB,IAAAA,EACAmB,UAAU,KACNP,EACJQ,KAAK,mBACL,eAAcnB,EACdC,UAAWmB,EAAK,gBAAiB,0BAA2BnB,MACxDW,EACJF,UA5BqDI,IACvC,UAAdA,EAAMO,IACK,MAAAjB,GAAAA,EAAAU,GAAQd,GACE,MAAdc,EAAMO,MACbP,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,IAEvB,MAAAU,GAAAA,EAAYI,EAAAA,EAuBPZ,SAAA,CAAAC,GAASmB,EAAA,OAAA,CAAKrB,UAAU,sBAAuBC,SAAKC,IACpDmB,EAAA,MAAA,CAAIrB,UAAU,yBAA0BC,SAAAA,IACzCoB,EAAC,MAAI,CAAArB,UAAU,oBACXC,SAAAoB,EAAC,MAAI,CAAArB,UAAU,2BACXC,SAAAe,EAAC,MAAI,CAAAhB,UAAU,mCACXC,SAAA,CAACoB,EAAA,MAAA,CAAIrB,UAAU,qCACdsB,EAAU,CAAAC,QAAQ,QAAQC,MAAI,EAACxB,UAAU,iDAGtD,IAKZL,EAAiB8B,YAAc"}
1
+ {"version":3,"file":"MenuItemCheckbox.js","sources":["../../../../src/components/menu/MenuItemCheckbox.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {\n forwardRef,\n type HTMLAttributes,\n type KeyboardEventHandler,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport {\n SwipeChangeHandler,\n useSwipeGesture,\n} from \"../../hooks/useSwipeGesture/useSwipeGesture.js\";\nimport { CheckIcon } from \"../icon/index.js\";\n\nexport interface MenuItemCheckboxProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"aria-checked\" | \"onChange\"> {\n \"aria-checked\": boolean;\n /**\n * Et ikon som vises før innholdet i menypunktet\n */\n icon?: ReactNode;\n onChange?: SwipeChangeHandler<HTMLDivElement> &\n ((\n event:\n | React.KeyboardEvent<HTMLDivElement>\n | React.PointerEvent<HTMLDivElement>,\n pressed: boolean,\n ) => void);\n}\n\nexport const MenuItemCheckbox = forwardRef<\n HTMLDivElement,\n MenuItemCheckboxProps\n>((props, ref) => {\n const {\n \"aria-checked\": checked,\n className,\n children,\n icon,\n onChange,\n onClick,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onKeyDown,\n ...rest\n } = props;\n\n const handleClick: MouseEventHandler<HTMLDivElement> = (event) => {\n event.preventDefault(); // Prevents the menu from closing on toggle\n onChange?.(event, !checked);\n onClick?.(event);\n };\n\n const handleChange: SwipeChangeHandler<HTMLDivElement> = (\n event,\n toggleTo,\n ) => {\n if (toggleTo !== checked) {\n onChange?.(event, toggleTo);\n }\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLDivElement> = (event) => {\n if (event.key === \"Enter\") {\n onChange?.(event, !checked);\n } else if (event.key === \" \") {\n event.preventDefault(); // Prevents the menu from closing on toggle, https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/menuitemcheckbox_role#keyboard_interactions\n onChange?.(event, !checked);\n }\n onKeyDown?.(event);\n };\n\n const { gestureHandlers } = useSwipeGesture({\n onClick: handleClick,\n onChange: handleChange,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n });\n\n return (\n <div\n ref={ref}\n tabIndex={-1}\n {...rest}\n role=\"menuitemcheckbox\"\n aria-checked={checked}\n className={clsx(\n \"jkl-menu-item\",\n \"jkl-menu-item--checkbox\",\n className,\n )}\n {...gestureHandlers}\n onKeyDown={handleKeyDown}\n >\n {icon && <span className=\"jkl-menu-item__icon\">{icon}</span>}\n <div className=\"jkl-menu-item__content\">{children}</div>\n <div className=\"jkl-toggle-switch\">\n <div className=\"jkl-toggle-switch-widget\">\n <div className=\"jkl-toggle-switch-widget__slider\">\n <div className=\"jkl-toggle-switch-widget__knob\" />\n <CheckIcon\n variant=\"small\"\n bold\n className=\"jkl-toggle-switch-widget__indicator\"\n />\n </div>\n </div>\n </div>\n </div>\n );\n});\n\nMenuItemCheckbox.displayName = \"MenuItemCheckbox\";\n"],"names":["MenuItemCheckbox","forwardRef","props","ref","checked","className","children","icon","onChange","onClick","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","onKeyDown","rest","gestureHandlers","useSwipeGesture","event","preventDefault","toggleTo","jsxs","tabIndex","role","clsx","key","jsx","CheckIcon","variant","bold","displayName"],"mappings":"2iDA8BO,MAAMA,EAAmBC,GAG9B,CAACC,EAAOC,KACA,MACF,eAAgBC,EAChBC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,EACAC,UAAAA,KACGC,GACHb,GA2BIc,gBAAAA,GAAoBC,EAAgB,CACxCR,QA1BoDS,IACpDA,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,GACnB,MAAAK,GAAAA,EAAUS,EAAAA,EAwBVV,SArBqD,CACrDU,EACAE,KAEIA,IAAahB,IACb,MAAAI,GAAAA,EAAWU,EAAOE,GAAAA,EAiBtBV,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,IAIA,OAAAQ,EAAC,MAAA,CACGlB,IAAAA,EACAmB,UAAU,KACNP,EACJQ,KAAK,mBACL,eAAcnB,EACdC,UAAWmB,EACP,gBACA,0BACAnB,MAEAW,EACJF,UAhCqDI,IACvC,UAAdA,EAAMO,IACK,MAAAjB,GAAAA,EAAAU,GAAQd,GACE,MAAdc,EAAMO,MACbP,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,IAEvB,MAAAU,GAAAA,EAAYI,EAAAA,EA2BPZ,SAAA,CAAAC,GAASmB,EAAA,OAAA,CAAKrB,UAAU,sBAAuBC,SAAKC,IACpDmB,EAAA,MAAA,CAAIrB,UAAU,yBAA0BC,SAAAA,IACzCoB,EAAC,MAAI,CAAArB,UAAU,oBACXC,SAAAoB,EAAC,MAAI,CAAArB,UAAU,2BACXC,SAAAe,EAAC,MAAI,CAAAhB,UAAU,mCACXC,SAAA,CAACoB,EAAA,MAAA,CAAIrB,UAAU,mCACfqB,EAACC,EAAA,CACGC,QAAQ,QACRC,MAAI,EACJxB,UAAU,iDAI1B,IAKZL,EAAiB8B,YAAc"}
@@ -1,4 +1,4 @@
1
1
  export { Menu, type MenuProps } from './Menu.js';
2
2
  export { MenuItem, type MenuItemProps } from './MenuItem.js';
3
- export { MenuItemCheckbox, type MenuItemCheckboxProps } from './MenuItemCheckbox.js';
3
+ export { MenuItemCheckbox, type MenuItemCheckboxProps, } from './MenuItemCheckbox.js';
4
4
  export { MenuDivider } from './MenuDivider.js';
@@ -1 +1 @@
1
- {"version":3,"file":"DismissButton.js","sources":["../../../../src/components/message/DismissButton.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes, forwardRef } from \"react\";\nimport { CloseIcon } from \"../icon/index.js\";\n\nexport interface DismissButtonProps extends Exclude<ButtonHTMLAttributes<HTMLButtonElement>, \"disabled\"> {\n label?: string;\n}\n\nexport const DismissButton = forwardRef<HTMLButtonElement, DismissButtonProps>(({ label = \"Lukk\", ...rest }, ref) => {\n return (\n <button ref={ref} type=\"button\" title={label} {...rest}>\n <CloseIcon variant=\"small\" bold />\n <span className=\"jkl-sr-only\">{label}</span>\n </button>\n );\n});\n\nDismissButton.displayName = \"DismissButton\";\n"],"names":["DismissButton","forwardRef","label","rest","ref","jsxs","type","title","children","jsx","CloseIcon","variant","bold","className","displayName"],"mappings":"46CAOa,MAAAA,EAAgBC,GAAkD,EAAGC,MAAAA,EAAQ,UAAWC,GAAQC,IAErGC,EAAC,UAAOD,IAAAA,EAAUE,KAAK,SAASC,MAAOL,KAAWC,EAC9CK,SAAA,CAAAC,EAACC,EAAU,CAAAC,QAAQ,QAAQC,MAAI,IAC9BH,EAAA,OAAA,CAAKI,UAAU,cAAeL,SAAMN,SAKjDF,EAAcc,YAAc"}
1
+ {"version":3,"file":"DismissButton.js","sources":["../../../../src/components/message/DismissButton.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes, forwardRef } from \"react\";\nimport { CloseIcon } from \"../icon/index.js\";\n\nexport interface DismissButtonProps\n extends Exclude<ButtonHTMLAttributes<HTMLButtonElement>, \"disabled\"> {\n label?: string;\n}\n\nexport const DismissButton = forwardRef<HTMLButtonElement, DismissButtonProps>(\n ({ label = \"Lukk\", ...rest }, ref) => {\n return (\n <button ref={ref} type=\"button\" title={label} {...rest}>\n <CloseIcon variant=\"small\" bold />\n <span className=\"jkl-sr-only\">{label}</span>\n </button>\n );\n },\n);\n\nDismissButton.displayName = \"DismissButton\";\n"],"names":["DismissButton","forwardRef","label","rest","ref","jsxs","type","title","children","jsx","CloseIcon","variant","bold","className","displayName"],"mappings":"46CAQO,MAAMA,EAAgBC,GACzB,EAAGC,MAAAA,EAAQ,UAAWC,GAAQC,IAEtBC,EAAC,UAAOD,IAAAA,EAAUE,KAAK,SAASC,MAAOL,KAAWC,EAC9CK,SAAA,CAAAC,EAACC,EAAU,CAAAC,QAAQ,QAAQC,MAAI,IAC9BH,EAAA,OAAA,CAAKI,UAAU,cAAeL,SAAMN,SAMrDF,EAAcc,YAAc"}