@fremtind/jokul 0.64.1 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) 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/autosuggest/Autosuggest.cjs.map +1 -1
  6. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
  7. package/build/cjs/components/autosuggest/ControllerButton.cjs +1 -1
  8. package/build/cjs/components/autosuggest/ControllerButton.cjs.map +1 -1
  9. package/build/cjs/components/autosuggest/Menu.cjs +1 -1
  10. package/build/cjs/components/autosuggest/Menu.cjs.map +1 -1
  11. package/build/cjs/components/breadcrumb/Breadcrumb.cjs.map +1 -1
  12. package/build/cjs/components/breadcrumb/BreadcrumbItem.cjs.map +1 -1
  13. package/build/cjs/components/button/Button.cjs +1 -1
  14. package/build/cjs/components/button/Button.cjs.map +1 -1
  15. package/build/cjs/components/button/types.cjs.map +1 -1
  16. package/build/cjs/components/card/Card.cjs.map +1 -1
  17. package/build/cjs/components/card/CardImage.cjs.map +1 -1
  18. package/build/cjs/components/card/InfoCard.cjs.map +1 -1
  19. package/build/cjs/components/card/NavCard.cjs.map +1 -1
  20. package/build/cjs/components/card/TaskCard.cjs.map +1 -1
  21. package/build/cjs/components/card/development/examples/FakturainfoExample.d.cts +1 -1
  22. package/build/cjs/components/card/development/examples/InfoCardExample.d.cts +1 -1
  23. package/build/cjs/components/card/development/examples/NavCardExample.d.cts +1 -1
  24. package/build/cjs/components/card/development/examples/StatuskortExample.d.cts +1 -1
  25. package/build/cjs/components/card/development/examples/TaskCardExample.d.cts +1 -1
  26. package/build/cjs/components/card/development/examples/TopExample.d.cts +1 -1
  27. package/build/cjs/components/card/types.cjs.map +1 -1
  28. package/build/cjs/components/card/utils.cjs.map +1 -1
  29. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  30. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs +1 -1
  31. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs.map +1 -1
  32. package/build/cjs/components/chip/Chip.cjs.map +1 -1
  33. package/build/cjs/components/combobox/Combobox.cjs +1 -1
  34. package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
  35. package/build/cjs/components/combobox/stories/Combobox.stories.cjs.map +1 -1
  36. package/build/cjs/components/cookie-consent/CookieConsent.cjs +1 -1
  37. package/build/cjs/components/cookie-consent/CookieConsent.cjs.map +1 -1
  38. package/build/cjs/components/cookie-consent/CookieConsentContext.cjs.map +1 -1
  39. package/build/cjs/components/cookie-consent/RequirementCheckbox.cjs.map +1 -1
  40. package/build/cjs/components/cookie-consent/cookieConsentUtils.cjs +1 -1
  41. package/build/cjs/components/cookie-consent/cookieConsentUtils.cjs.map +1 -1
  42. package/build/cjs/components/cookie-consent/stories/CookieConsent.stories.cjs.map +1 -1
  43. package/build/cjs/components/countdown/Countdown.cjs +1 -1
  44. package/build/cjs/components/countdown/Countdown.cjs.map +1 -1
  45. package/build/cjs/components/countdown/stories/Countdown.stories.cjs.map +1 -1
  46. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  47. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  48. package/build/cjs/components/datepicker/index.d.cts +1 -1
  49. package/build/cjs/components/datepicker/internal/Calendar.cjs +1 -1
  50. package/build/cjs/components/datepicker/internal/Calendar.cjs.map +1 -1
  51. package/build/cjs/components/datepicker/internal/calendarReducer.cjs.map +1 -1
  52. package/build/cjs/components/datepicker/internal/useCalendar.cjs.map +1 -1
  53. package/build/cjs/components/datepicker/internal/useCalendar.d.cts +1 -1
  54. package/build/cjs/components/datepicker/internal/utils.cjs +1 -1
  55. package/build/cjs/components/datepicker/internal/utils.cjs.map +1 -1
  56. package/build/cjs/components/datepicker/utils.cjs +1 -1
  57. package/build/cjs/components/datepicker/utils.cjs.map +1 -1
  58. package/build/cjs/components/datepicker/validation.cjs.map +1 -1
  59. package/build/cjs/components/description-list/DescriptionList.cjs.map +1 -1
  60. package/build/cjs/components/description-list/stories/DescriptionList.stories.cjs.map +1 -1
  61. package/build/cjs/components/expander/ExpandablePanel.cjs +1 -1
  62. package/build/cjs/components/expander/ExpandablePanel.cjs.map +1 -1
  63. package/build/cjs/components/expander/ExpandablePanelContent.cjs.map +1 -1
  64. package/build/cjs/components/expander/Expander.cjs +1 -1
  65. package/build/cjs/components/expander/Expander.cjs.map +1 -1
  66. package/build/cjs/components/expander/context.cjs.map +1 -1
  67. package/build/cjs/components/expander/deprecated/ExpandSection.cjs.map +1 -1
  68. package/build/cjs/components/expander/deprecated/Expander.cjs +1 -1
  69. package/build/cjs/components/expander/deprecated/Expander.cjs.map +1 -1
  70. package/build/cjs/components/expander/index.d.cts +1 -1
  71. package/build/cjs/components/expander/stories/Expander.stories.cjs.map +1 -1
  72. package/build/cjs/components/expander/stories/ExpanderPanel.stories.cjs.map +1 -1
  73. package/build/cjs/components/feedback/Feedback.cjs.map +1 -1
  74. package/build/cjs/components/feedback/FeedbackSuccess.cjs.map +1 -1
  75. package/build/cjs/components/feedback/FeedbackValues.cjs.map +1 -1
  76. package/build/cjs/components/feedback/feedbackContext.cjs.map +1 -1
  77. package/build/cjs/components/feedback/followup/Followup.cjs +1 -1
  78. package/build/cjs/components/feedback/followup/Followup.cjs.map +1 -1
  79. package/build/cjs/components/feedback/followup/followupContext.cjs.map +1 -1
  80. package/build/cjs/components/feedback/followup/useFollowup.cjs.map +1 -1
  81. package/build/cjs/components/feedback/index.d.cts +1 -1
  82. package/build/cjs/components/feedback/main-question/MainQuestion.cjs +1 -1
  83. package/build/cjs/components/feedback/main-question/MainQuestion.cjs.map +1 -1
  84. package/build/cjs/components/feedback/main-question/mainQuestionContext.cjs.map +1 -1
  85. package/build/cjs/components/feedback/main-question/useMainQuestion.cjs.map +1 -1
  86. package/build/cjs/components/feedback/main-question/useMainQuestion.d.cts +2 -2
  87. package/build/cjs/components/feedback/presets.cjs.map +1 -1
  88. package/build/cjs/components/feedback/questions/AddonQuestion.cjs.map +1 -1
  89. package/build/cjs/components/feedback/questions/CheckboxQuestion.cjs +1 -1
  90. package/build/cjs/components/feedback/questions/CheckboxQuestion.cjs.map +1 -1
  91. package/build/cjs/components/feedback/questions/ContactQuestion.cjs +1 -1
  92. package/build/cjs/components/feedback/questions/ContactQuestion.cjs.map +1 -1
  93. package/build/cjs/components/feedback/questions/RadioQuestion.cjs +1 -1
  94. package/build/cjs/components/feedback/questions/RadioQuestion.cjs.map +1 -1
  95. package/build/cjs/components/feedback/questions/SmileyQuestion.cjs.map +1 -1
  96. package/build/cjs/components/feedback/questions/TextQuestion.cjs +1 -1
  97. package/build/cjs/components/feedback/questions/TextQuestion.cjs.map +1 -1
  98. package/build/cjs/components/feedback/questions/smileyUtils.cjs.map +1 -1
  99. package/build/cjs/components/feedback/utils.cjs.map +1 -1
  100. package/build/cjs/components/file-input/File.cjs +1 -1
  101. package/build/cjs/components/file-input/File.cjs.map +1 -1
  102. package/build/cjs/components/file-input/FileInput.cjs +1 -1
  103. package/build/cjs/components/file-input/FileInput.cjs.map +1 -1
  104. package/build/cjs/components/file-input/internal/Dropzone.cjs.map +1 -1
  105. package/build/cjs/components/file-input/internal/Input.cjs +1 -1
  106. package/build/cjs/components/file-input/internal/Input.cjs.map +1 -1
  107. package/build/cjs/components/file-input/internal/MaxSize.cjs.map +1 -1
  108. package/build/cjs/components/file-input/internal/Thumbnail.cjs.map +1 -1
  109. package/build/cjs/components/file-input/internal/fileInputContext.cjs.map +1 -1
  110. package/build/cjs/components/file-input/internal/validateFile.cjs.map +1 -1
  111. package/build/cjs/components/file-input/utils.cjs +1 -1
  112. package/build/cjs/components/file-input/utils.cjs.map +1 -1
  113. package/build/cjs/components/flex/Flex.cjs.map +1 -1
  114. package/build/cjs/components/flex/stories/Flex.stories.cjs.map +1 -1
  115. package/build/cjs/components/icon/Icon.cjs.map +1 -1
  116. package/build/cjs/components/icon/icons/ArrowDownIcon.cjs.map +1 -1
  117. package/build/cjs/components/icon/icons/ArrowLeftIcon.cjs.map +1 -1
  118. package/build/cjs/components/icon/icons/ArrowNorthEastIcon.cjs.map +1 -1
  119. package/build/cjs/components/icon/icons/ArrowRightIcon.cjs.map +1 -1
  120. package/build/cjs/components/icon/icons/ArrowUpIcon.cjs.map +1 -1
  121. package/build/cjs/components/icon/icons/CalendarIcon.cjs.map +1 -1
  122. package/build/cjs/components/icon/icons/CheckIcon.cjs.map +1 -1
  123. package/build/cjs/components/icon/icons/ChevronDownIcon.cjs.map +1 -1
  124. package/build/cjs/components/icon/icons/ChevronLeftIcon.cjs.map +1 -1
  125. package/build/cjs/components/icon/icons/ChevronRightIcon.cjs.map +1 -1
  126. package/build/cjs/components/icon/icons/ChevronUpIcon.cjs.map +1 -1
  127. package/build/cjs/components/icon/icons/CloseIcon.cjs.map +1 -1
  128. package/build/cjs/components/icon/icons/CopyIcon.cjs.map +1 -1
  129. package/build/cjs/components/icon/icons/DotsIcon.cjs.map +1 -1
  130. package/build/cjs/components/icon/icons/DragIcon.cjs.map +1 -1
  131. package/build/cjs/components/icon/icons/ErrorIcon.cjs.map +1 -1
  132. package/build/cjs/components/icon/icons/GreenCheckIcon.cjs.map +1 -1
  133. package/build/cjs/components/icon/icons/HamburgerIcon.cjs.map +1 -1
  134. package/build/cjs/components/icon/icons/InfoIcon.cjs.map +1 -1
  135. package/build/cjs/components/icon/icons/LinkIcon.cjs.map +1 -1
  136. package/build/cjs/components/icon/icons/MinusIcon.cjs.map +1 -1
  137. package/build/cjs/components/icon/icons/OpenInNewIcon.cjs.map +1 -1
  138. package/build/cjs/components/icon/icons/PenIcon.cjs.map +1 -1
  139. package/build/cjs/components/icon/icons/PlusIcon.cjs.map +1 -1
  140. package/build/cjs/components/icon/icons/QuestionIcon.cjs.map +1 -1
  141. package/build/cjs/components/icon/icons/RedCrossIcon.cjs.map +1 -1
  142. package/build/cjs/components/icon/icons/SearchIcon.cjs.map +1 -1
  143. package/build/cjs/components/icon/icons/SuccessIcon.cjs.map +1 -1
  144. package/build/cjs/components/icon/icons/ThumbDownIcon.cjs.map +1 -1
  145. package/build/cjs/components/icon/icons/ThumbUpIcon.cjs.map +1 -1
  146. package/build/cjs/components/icon/icons/TrashCanIcon.cjs.map +1 -1
  147. package/build/cjs/components/icon/icons/WarningIcon.cjs.map +1 -1
  148. package/build/cjs/components/icon/icons/animated/ArrowHorizontalAnimated.cjs.map +1 -1
  149. package/build/cjs/components/icon/icons/animated/ArrowVerticalAnimated.cjs.map +1 -1
  150. package/build/cjs/components/icon/icons/animated/PlusRemoveAnimated.cjs.map +1 -1
  151. package/build/cjs/components/icon/stories/Icons.stories.cjs.map +1 -1
  152. package/build/cjs/components/icon/stories/internal/AnimatedIcon.cjs +2 -0
  153. package/build/cjs/components/icon/stories/internal/AnimatedIcon.cjs.map +1 -0
  154. package/build/cjs/components/icon/stories/internal/IconExample.cjs +2 -0
  155. package/build/cjs/components/icon/stories/internal/IconExample.cjs.map +1 -0
  156. package/build/cjs/components/icon/stories/internal/IconsExampleGrid.cjs +2 -0
  157. package/build/cjs/components/icon/stories/internal/IconsExampleGrid.cjs.map +1 -0
  158. package/build/cjs/components/icon-button/IconButton.cjs.map +1 -1
  159. package/build/cjs/components/icon-button/stories/IconButton.stories.cjs.map +1 -1
  160. package/build/cjs/components/image/Image.cjs.map +1 -1
  161. package/build/cjs/components/image/stories/Image.stories.cjs.map +1 -1
  162. package/build/cjs/components/image/useImageLoadingStatus.cjs.map +1 -1
  163. package/build/cjs/components/input-group/FieldGroup.cjs.map +1 -1
  164. package/build/cjs/components/input-group/InputGroup.cjs.map +1 -1
  165. package/build/cjs/components/input-group/Label.cjs.map +1 -1
  166. package/build/cjs/components/input-group/SupportLabel.cjs.map +1 -1
  167. package/build/cjs/components/input-group/stories/FieldGroup.stories.cjs.map +1 -1
  168. package/build/cjs/components/input-group/stories/InputGroup.stories.cjs.map +1 -1
  169. package/build/cjs/components/input-group/stories/Label.stories.cjs.map +1 -1
  170. package/build/cjs/components/input-group/stories/SupportLabel.stories.cjs.map +1 -1
  171. package/build/cjs/components/link/Link.cjs.map +1 -1
  172. package/build/cjs/components/link/stories/Link.stories.cjs.map +1 -1
  173. package/build/cjs/components/link-list/LinkList.cjs.map +1 -1
  174. package/build/cjs/components/link-list/index.d.cts +1 -1
  175. package/build/cjs/components/link-list/stories/LinkList.stories.cjs.map +1 -1
  176. package/build/cjs/components/list/List.cjs.map +1 -1
  177. package/build/cjs/components/list/ListItem.cjs.map +1 -1
  178. package/build/cjs/components/loader/Loader.cjs.map +1 -1
  179. package/build/cjs/components/loader/skeletons/SkeletonAnimation.cjs.map +1 -1
  180. package/build/cjs/components/loader/skeletons/SkeletonButton.cjs.map +1 -1
  181. package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.cjs.map +1 -1
  182. package/build/cjs/components/loader/skeletons/SkeletonElement.cjs.map +1 -1
  183. package/build/cjs/components/loader/skeletons/SkeletonInput.cjs.map +1 -1
  184. package/build/cjs/components/loader/skeletons/SkeletonLabel.cjs.map +1 -1
  185. package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.cjs.map +1 -1
  186. package/build/cjs/components/loader/skeletons/SkeletonTable.cjs.map +1 -1
  187. package/build/cjs/components/loader/skeletons/SkeletonTextArea.cjs.map +1 -1
  188. package/build/cjs/components/loader/stories/Skeleton.stories.cjs.map +1 -1
  189. package/build/cjs/components/loader/useDelayedRender.cjs +1 -1
  190. package/build/cjs/components/loader/useDelayedRender.cjs.map +1 -1
  191. package/build/cjs/components/logo/Logo.cjs.map +1 -1
  192. package/build/cjs/components/logo/LogoStamp.cjs.map +1 -1
  193. package/build/cjs/components/logo/stories/Logo.stories.cjs.map +1 -1
  194. package/build/cjs/components/logo/stories/LogoStamp.stories.cjs.map +1 -1
  195. package/build/cjs/components/logo/text-paths/ForsikringLevertAvFremtind.cjs.map +1 -1
  196. package/build/cjs/components/logo/text-paths/FraSB1ogDNB.cjs.map +1 -1
  197. package/build/cjs/components/logo/text-paths/InnovasjonFraFremtind.cjs.map +1 -1
  198. package/build/cjs/components/logo/text-paths/TeknologiFraFremtind.cjs.map +1 -1
  199. package/build/cjs/components/logo/text-paths/VartEgetForsikringsselskap.cjs.map +1 -1
  200. package/build/cjs/components/logo/text-paths/VartForsikringsselskap.cjs.map +1 -1
  201. package/build/cjs/components/menu/Menu.cjs.map +1 -1
  202. package/build/cjs/components/menu/MenuItem.cjs.map +1 -1
  203. package/build/cjs/components/menu/MenuItemCheckbox.cjs.map +1 -1
  204. package/build/cjs/components/menu/stories/Menu.stories.cjs.map +1 -1
  205. package/build/cjs/components/menu/stories/MenuDivider.stories.cjs.map +1 -1
  206. package/build/cjs/components/menu/stories/MenuItem.stories.cjs.map +1 -1
  207. package/build/cjs/components/menu/stories/MenuItemCheckbox.stories.cjs.map +1 -1
  208. package/build/cjs/components/menu/types.d.cts +2 -2
  209. package/build/cjs/components/menu/useMenuWideEvents.cjs +1 -1
  210. package/build/cjs/components/menu/useMenuWideEvents.cjs.map +1 -1
  211. package/build/cjs/components/message/DismissButton.cjs.map +1 -1
  212. package/build/cjs/components/message/FormErrorMessage.cjs.map +1 -1
  213. package/build/cjs/components/message/Message.cjs +1 -1
  214. package/build/cjs/components/message/Message.cjs.map +1 -1
  215. package/build/cjs/components/message/stories/ErrorMessage.stories.cjs.map +1 -1
  216. package/build/cjs/components/message/stories/FormErrorMessage.stories.cjs.map +1 -1
  217. package/build/cjs/components/message/stories/InfoMessage.stories.cjs.map +1 -1
  218. package/build/cjs/components/message/stories/SuccessMessage.stories.cjs.map +1 -1
  219. package/build/cjs/components/message/stories/WarningMessage.stories.cjs.map +1 -1
  220. package/build/cjs/components/modal/Modal.cjs +1 -1
  221. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  222. package/build/cjs/components/modal/stories/CompleteModal.stories.cjs.map +1 -1
  223. package/build/cjs/components/modal/stories/ModalCloseButton.stories.cjs +1 -1
  224. package/build/cjs/components/modal/stories/ModalCloseButton.stories.cjs.map +1 -1
  225. package/build/cjs/components/modal/stories/ModalOverlay.stories.cjs.map +1 -1
  226. package/build/cjs/components/modal/useModal.cjs.map +1 -1
  227. package/build/cjs/components/nav-link/NavLink.cjs.map +1 -1
  228. package/build/cjs/components/nav-link/stories/NavLink.stories.cjs.map +1 -1
  229. package/build/cjs/components/pagination/PageButton.cjs.map +1 -1
  230. package/build/cjs/components/pagination/Pagination.cjs +1 -1
  231. package/build/cjs/components/pagination/Pagination.cjs.map +1 -1
  232. package/build/cjs/components/pagination/stories/Pagination.stories.cjs.map +1 -1
  233. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  234. package/build/cjs/components/popover/stories/PopoverControlled.stories.cjs.map +1 -1
  235. package/build/cjs/components/popover/stories/PopoverUncontrolled.stories.cjs.map +1 -1
  236. package/build/cjs/components/popover/types.d.cts +1 -1
  237. package/build/cjs/components/progress-bar/ProgressBar.cjs +1 -1
  238. package/build/cjs/components/progress-bar/ProgressBar.cjs.map +1 -1
  239. package/build/cjs/components/progress-bar/stories/ProgressBar.stories.cjs.map +1 -1
  240. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  241. package/build/cjs/components/radio-button/RadioButton.cjs.map +1 -1
  242. package/build/cjs/components/radio-button/RadioButtonGroup.cjs.map +1 -1
  243. package/build/cjs/components/radio-button/radioGroupContext.cjs.map +1 -1
  244. package/build/cjs/components/radio-button/stories/BaseRadioButton.stories.cjs.map +1 -1
  245. package/build/cjs/components/radio-button/stories/RadioButton.stories.cjs.map +1 -1
  246. package/build/cjs/components/radio-button/stories/RadioButtonGroup.stories.cjs.map +1 -1
  247. package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -1
  248. package/build/cjs/components/radio-panel/RadioPanelGroup.cjs.map +1 -1
  249. package/build/cjs/components/select/NativeSelect.cjs.map +1 -1
  250. package/build/cjs/components/select/Select.cjs +1 -1
  251. package/build/cjs/components/select/Select.cjs.map +1 -1
  252. package/build/cjs/components/select/stories/select.stories.cjs.map +1 -1
  253. package/build/cjs/components/summary-table/SummaryTable.cjs.map +1 -1
  254. package/build/cjs/components/summary-table/SummaryTableRow.cjs.map +1 -1
  255. package/build/cjs/components/summary-table/stories/summary-table.stories.cjs.map +1 -1
  256. package/build/cjs/components/system-message/SystemMessage.cjs +1 -1
  257. package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
  258. package/build/cjs/components/system-message/common/DismissButton.cjs.map +1 -1
  259. package/build/cjs/components/system-message/common/MessageIcon.cjs.map +1 -1
  260. package/build/cjs/components/table/DataTable.cjs.map +1 -1
  261. package/build/cjs/components/table/ExpandableTableRow.cjs +1 -1
  262. package/build/cjs/components/table/ExpandableTableRow.cjs.map +1 -1
  263. package/build/cjs/components/table/ExpandableTableRowController.cjs.map +1 -1
  264. package/build/cjs/components/table/Table.cjs.map +1 -1
  265. package/build/cjs/components/table/TableBody.cjs.map +1 -1
  266. package/build/cjs/components/table/TableCaption.cjs.map +1 -1
  267. package/build/cjs/components/table/TableCell.cjs.map +1 -1
  268. package/build/cjs/components/table/TableColumn.cjs.map +1 -1
  269. package/build/cjs/components/table/TableColumnGroup.cjs.map +1 -1
  270. package/build/cjs/components/table/TableFooter.cjs.map +1 -1
  271. package/build/cjs/components/table/TableHead.cjs.map +1 -1
  272. package/build/cjs/components/table/TableHeader.cjs.map +1 -1
  273. package/build/cjs/components/table/TablePagination.cjs +1 -1
  274. package/build/cjs/components/table/TablePagination.cjs.map +1 -1
  275. package/build/cjs/components/table/TableRow.cjs.map +1 -1
  276. package/build/cjs/components/table/tableContext.cjs.map +1 -1
  277. package/build/cjs/components/table/tableSectionContext.cjs.map +1 -1
  278. package/build/cjs/components/table/utils.cjs.map +1 -1
  279. package/build/cjs/components/tabs/NavTab.cjs.map +1 -1
  280. package/build/cjs/components/tabs/NavTabs.cjs.map +1 -1
  281. package/build/cjs/components/tabs/Tab.cjs.map +1 -1
  282. package/build/cjs/components/tabs/TabList.cjs.map +1 -1
  283. package/build/cjs/components/tabs/TabPanel.cjs.map +1 -1
  284. package/build/cjs/components/tabs/Tabs.cjs.map +1 -1
  285. package/build/cjs/components/tabs/stories/Tabs.stories.cjs.map +1 -1
  286. package/build/cjs/components/tabs/tabsContext.cjs.map +1 -1
  287. package/build/cjs/components/tabs/types.d.cts +1 -1
  288. package/build/cjs/components/tag/Tag.cjs.map +1 -1
  289. package/build/cjs/components/tag/index.d.cts +1 -1
  290. package/build/cjs/components/tag/stories/Tag.stories.cjs.map +1 -1
  291. package/build/cjs/components/text-area/BaseTextArea.cjs.map +1 -1
  292. package/build/cjs/components/text-area/TextArea.cjs.map +1 -1
  293. package/build/cjs/components/text-area/stories/TextArea.stories.cjs.map +1 -1
  294. package/build/cjs/components/text-input/BaseTextInput.cjs.map +1 -1
  295. package/build/cjs/components/text-input/TextInput.cjs.map +1 -1
  296. package/build/cjs/components/toast/Toast.cjs +1 -1
  297. package/build/cjs/components/toast/Toast.cjs.map +1 -1
  298. package/build/cjs/components/toast/ToastRegion.cjs +1 -1
  299. package/build/cjs/components/toast/ToastRegion.cjs.map +1 -1
  300. package/build/cjs/components/toast/index.d.cts +1 -1
  301. package/build/cjs/components/toast/toastContext.cjs.map +1 -1
  302. package/build/cjs/components/toggle-switch/ToggleSlider.cjs.map +1 -1
  303. package/build/cjs/components/toggle-switch/ToggleSwitch.cjs.map +1 -1
  304. package/build/cjs/components/toggle-switch/stories/ToggleSwitch.stories.cjs.map +1 -1
  305. package/build/cjs/components/toggle-switch/usePillStyles.cjs +1 -1
  306. package/build/cjs/components/toggle-switch/usePillStyles.cjs.map +1 -1
  307. package/build/cjs/components/tooltip/PopupTip.cjs.map +1 -1
  308. package/build/cjs/components/tooltip/Tooltip.cjs +1 -1
  309. package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
  310. package/build/cjs/components/tooltip/TooltipContent.cjs.map +1 -1
  311. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs +1 -1
  312. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.cjs.map +1 -1
  313. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs +1 -1
  314. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.cjs.map +1 -1
  315. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs +1 -1
  316. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.cjs.map +1 -1
  317. package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.cjs.map +1 -1
  318. package/build/cjs/hooks/useClickOutside/useClickOutside.cjs +1 -1
  319. package/build/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
  320. package/build/cjs/hooks/useElementDimensions/useElementDimensions.cjs.map +1 -1
  321. package/build/cjs/hooks/useFocusOutside/useFocusOutside.cjs +1 -1
  322. package/build/cjs/hooks/useFocusOutside/useFocusOutside.cjs.map +1 -1
  323. package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +1 -1
  324. package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
  325. package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.d.cts +1 -1
  326. package/build/cjs/hooks/useKeyListener/useKeyListener.cjs +1 -1
  327. package/build/cjs/hooks/useKeyListener/useKeyListener.cjs.map +1 -1
  328. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs +1 -1
  329. package/build/cjs/hooks/useListNavigation/useListNavigation.cjs.map +1 -1
  330. package/build/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
  331. package/build/cjs/hooks/useProgressiveImg/useProgressiveImg.cjs.map +1 -1
  332. package/build/cjs/hooks/useScreen/index.d.cts +1 -1
  333. package/build/cjs/hooks/useScreen/useScreen.cjs +1 -1
  334. package/build/cjs/hooks/useScreen/useScreen.cjs.map +1 -1
  335. package/build/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs.map +1 -1
  336. package/build/cjs/hooks/useSwipeGesture/useSwipeGesture.cjs.map +1 -1
  337. package/build/cjs/hooks/useSwipeGesture/useSwipeGesture.d.cts +1 -1
  338. package/build/cjs/shared/input-panel/BasePanel.cjs.map +1 -1
  339. package/build/cjs/utilities/formatters/avstand/formatAvstand.cjs.map +1 -1
  340. package/build/cjs/utilities/formatters/bytes/formatBytes.cjs.map +1 -1
  341. package/build/cjs/utilities/formatters/util/parseNumber.cjs.map +1 -1
  342. package/build/cjs/utilities/formatters/valuta/formatValuta.cjs +1 -1
  343. package/build/cjs/utilities/formatters/valuta/formatValuta.cjs.map +1 -1
  344. package/build/cjs/utilities/getThemeAndDensity.cjs +1 -1
  345. package/build/cjs/utilities/getThemeAndDensity.cjs.map +1 -1
  346. package/build/cjs/utilities/polymorphism/mergeRefs.cjs +1 -1
  347. package/build/cjs/utilities/polymorphism/mergeRefs.cjs.map +1 -1
  348. package/build/cjs/utilities/tabListener.cjs +1 -1
  349. package/build/cjs/utilities/tabListener.cjs.map +1 -1
  350. package/build/es/components/ScreenReaderOnly.js.map +1 -1
  351. package/build/es/components/accordion/Accordion.js.map +1 -1
  352. package/build/es/components/accordion/AccordionItem.js.map +1 -1
  353. package/build/es/components/autosuggest/Autosuggest.js.map +1 -1
  354. package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
  355. package/build/es/components/autosuggest/ControllerButton.js +1 -1
  356. package/build/es/components/autosuggest/ControllerButton.js.map +1 -1
  357. package/build/es/components/autosuggest/Menu.js +1 -1
  358. package/build/es/components/autosuggest/Menu.js.map +1 -1
  359. package/build/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  360. package/build/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  361. package/build/es/components/button/Button.js +1 -1
  362. package/build/es/components/button/Button.js.map +1 -1
  363. package/build/es/components/button/types.js.map +1 -1
  364. package/build/es/components/card/Card.js.map +1 -1
  365. package/build/es/components/card/CardImage.js.map +1 -1
  366. package/build/es/components/card/InfoCard.js.map +1 -1
  367. package/build/es/components/card/NavCard.js.map +1 -1
  368. package/build/es/components/card/TaskCard.js.map +1 -1
  369. package/build/es/components/card/development/examples/FakturainfoExample.d.ts +1 -1
  370. package/build/es/components/card/development/examples/InfoCardExample.d.ts +1 -1
  371. package/build/es/components/card/development/examples/NavCardExample.d.ts +1 -1
  372. package/build/es/components/card/development/examples/StatuskortExample.d.ts +1 -1
  373. package/build/es/components/card/development/examples/TaskCardExample.d.ts +1 -1
  374. package/build/es/components/card/development/examples/TopExample.d.ts +1 -1
  375. package/build/es/components/card/types.js.map +1 -1
  376. package/build/es/components/card/utils.js.map +1 -1
  377. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  378. package/build/es/components/checkbox-panel/CheckboxPanel.js +1 -1
  379. package/build/es/components/checkbox-panel/CheckboxPanel.js.map +1 -1
  380. package/build/es/components/chip/Chip.js.map +1 -1
  381. package/build/es/components/combobox/Combobox.js +1 -1
  382. package/build/es/components/combobox/Combobox.js.map +1 -1
  383. package/build/es/components/combobox/stories/Combobox.stories.js.map +1 -1
  384. package/build/es/components/cookie-consent/CookieConsent.js +1 -1
  385. package/build/es/components/cookie-consent/CookieConsent.js.map +1 -1
  386. package/build/es/components/cookie-consent/CookieConsentContext.js.map +1 -1
  387. package/build/es/components/cookie-consent/RequirementCheckbox.js.map +1 -1
  388. package/build/es/components/cookie-consent/cookieConsentUtils.js +1 -1
  389. package/build/es/components/cookie-consent/cookieConsentUtils.js.map +1 -1
  390. package/build/es/components/cookie-consent/stories/CookieConsent.stories.js.map +1 -1
  391. package/build/es/components/countdown/Countdown.js +1 -1
  392. package/build/es/components/countdown/Countdown.js.map +1 -1
  393. package/build/es/components/countdown/stories/Countdown.stories.js.map +1 -1
  394. package/build/es/components/datepicker/DatePicker.js +1 -1
  395. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  396. package/build/es/components/datepicker/index.d.ts +1 -1
  397. package/build/es/components/datepicker/internal/Calendar.js +1 -1
  398. package/build/es/components/datepicker/internal/Calendar.js.map +1 -1
  399. package/build/es/components/datepicker/internal/calendarReducer.js.map +1 -1
  400. package/build/es/components/datepicker/internal/useCalendar.d.ts +1 -1
  401. package/build/es/components/datepicker/internal/useCalendar.js.map +1 -1
  402. package/build/es/components/datepicker/internal/utils.js +1 -1
  403. package/build/es/components/datepicker/internal/utils.js.map +1 -1
  404. package/build/es/components/datepicker/utils.js +1 -1
  405. package/build/es/components/datepicker/utils.js.map +1 -1
  406. package/build/es/components/datepicker/validation.js.map +1 -1
  407. package/build/es/components/description-list/DescriptionList.js.map +1 -1
  408. package/build/es/components/description-list/stories/DescriptionList.stories.js.map +1 -1
  409. package/build/es/components/expander/ExpandablePanel.js +1 -1
  410. package/build/es/components/expander/ExpandablePanel.js.map +1 -1
  411. package/build/es/components/expander/ExpandablePanelContent.js.map +1 -1
  412. package/build/es/components/expander/Expander.js +1 -1
  413. package/build/es/components/expander/Expander.js.map +1 -1
  414. package/build/es/components/expander/context.js.map +1 -1
  415. package/build/es/components/expander/deprecated/ExpandSection.js.map +1 -1
  416. package/build/es/components/expander/deprecated/Expander.js +1 -1
  417. package/build/es/components/expander/deprecated/Expander.js.map +1 -1
  418. package/build/es/components/expander/index.d.ts +1 -1
  419. package/build/es/components/expander/stories/Expander.stories.js.map +1 -1
  420. package/build/es/components/expander/stories/ExpanderPanel.stories.js.map +1 -1
  421. package/build/es/components/feedback/Feedback.js.map +1 -1
  422. package/build/es/components/feedback/FeedbackSuccess.js.map +1 -1
  423. package/build/es/components/feedback/FeedbackValues.js.map +1 -1
  424. package/build/es/components/feedback/feedbackContext.js.map +1 -1
  425. package/build/es/components/feedback/followup/Followup.js +1 -1
  426. package/build/es/components/feedback/followup/Followup.js.map +1 -1
  427. package/build/es/components/feedback/followup/followupContext.js.map +1 -1
  428. package/build/es/components/feedback/followup/useFollowup.js.map +1 -1
  429. package/build/es/components/feedback/index.d.ts +1 -1
  430. package/build/es/components/feedback/main-question/MainQuestion.js +1 -1
  431. package/build/es/components/feedback/main-question/MainQuestion.js.map +1 -1
  432. package/build/es/components/feedback/main-question/mainQuestionContext.js.map +1 -1
  433. package/build/es/components/feedback/main-question/useMainQuestion.d.ts +2 -2
  434. package/build/es/components/feedback/main-question/useMainQuestion.js.map +1 -1
  435. package/build/es/components/feedback/presets.js.map +1 -1
  436. package/build/es/components/feedback/questions/AddonQuestion.js.map +1 -1
  437. package/build/es/components/feedback/questions/CheckboxQuestion.js +1 -1
  438. package/build/es/components/feedback/questions/CheckboxQuestion.js.map +1 -1
  439. package/build/es/components/feedback/questions/ContactQuestion.js +1 -1
  440. package/build/es/components/feedback/questions/ContactQuestion.js.map +1 -1
  441. package/build/es/components/feedback/questions/RadioQuestion.js +1 -1
  442. package/build/es/components/feedback/questions/RadioQuestion.js.map +1 -1
  443. package/build/es/components/feedback/questions/SmileyQuestion.js.map +1 -1
  444. package/build/es/components/feedback/questions/TextQuestion.js +1 -1
  445. package/build/es/components/feedback/questions/TextQuestion.js.map +1 -1
  446. package/build/es/components/feedback/questions/smileyUtils.js.map +1 -1
  447. package/build/es/components/feedback/utils.js.map +1 -1
  448. package/build/es/components/file-input/File.js +1 -1
  449. package/build/es/components/file-input/File.js.map +1 -1
  450. package/build/es/components/file-input/FileInput.js +1 -1
  451. package/build/es/components/file-input/FileInput.js.map +1 -1
  452. package/build/es/components/file-input/internal/Dropzone.js.map +1 -1
  453. package/build/es/components/file-input/internal/Input.js +1 -1
  454. package/build/es/components/file-input/internal/Input.js.map +1 -1
  455. package/build/es/components/file-input/internal/MaxSize.js.map +1 -1
  456. package/build/es/components/file-input/internal/Thumbnail.js.map +1 -1
  457. package/build/es/components/file-input/internal/fileInputContext.js.map +1 -1
  458. package/build/es/components/file-input/internal/validateFile.js.map +1 -1
  459. package/build/es/components/file-input/utils.js +1 -1
  460. package/build/es/components/file-input/utils.js.map +1 -1
  461. package/build/es/components/flex/Flex.js.map +1 -1
  462. package/build/es/components/flex/stories/Flex.stories.js.map +1 -1
  463. package/build/es/components/icon/Icon.js.map +1 -1
  464. package/build/es/components/icon/icons/ArrowDownIcon.js.map +1 -1
  465. package/build/es/components/icon/icons/ArrowLeftIcon.js.map +1 -1
  466. package/build/es/components/icon/icons/ArrowNorthEastIcon.js.map +1 -1
  467. package/build/es/components/icon/icons/ArrowRightIcon.js.map +1 -1
  468. package/build/es/components/icon/icons/ArrowUpIcon.js.map +1 -1
  469. package/build/es/components/icon/icons/CalendarIcon.js.map +1 -1
  470. package/build/es/components/icon/icons/CheckIcon.js.map +1 -1
  471. package/build/es/components/icon/icons/ChevronDownIcon.js.map +1 -1
  472. package/build/es/components/icon/icons/ChevronLeftIcon.js.map +1 -1
  473. package/build/es/components/icon/icons/ChevronRightIcon.js.map +1 -1
  474. package/build/es/components/icon/icons/ChevronUpIcon.js.map +1 -1
  475. package/build/es/components/icon/icons/CloseIcon.js.map +1 -1
  476. package/build/es/components/icon/icons/CopyIcon.js.map +1 -1
  477. package/build/es/components/icon/icons/DotsIcon.js.map +1 -1
  478. package/build/es/components/icon/icons/DragIcon.js.map +1 -1
  479. package/build/es/components/icon/icons/ErrorIcon.js.map +1 -1
  480. package/build/es/components/icon/icons/GreenCheckIcon.js.map +1 -1
  481. package/build/es/components/icon/icons/HamburgerIcon.js.map +1 -1
  482. package/build/es/components/icon/icons/InfoIcon.js.map +1 -1
  483. package/build/es/components/icon/icons/LinkIcon.js.map +1 -1
  484. package/build/es/components/icon/icons/MinusIcon.js.map +1 -1
  485. package/build/es/components/icon/icons/OpenInNewIcon.js.map +1 -1
  486. package/build/es/components/icon/icons/PenIcon.js.map +1 -1
  487. package/build/es/components/icon/icons/PlusIcon.js.map +1 -1
  488. package/build/es/components/icon/icons/QuestionIcon.js.map +1 -1
  489. package/build/es/components/icon/icons/RedCrossIcon.js.map +1 -1
  490. package/build/es/components/icon/icons/SearchIcon.js.map +1 -1
  491. package/build/es/components/icon/icons/SuccessIcon.js.map +1 -1
  492. package/build/es/components/icon/icons/ThumbDownIcon.js.map +1 -1
  493. package/build/es/components/icon/icons/ThumbUpIcon.js.map +1 -1
  494. package/build/es/components/icon/icons/TrashCanIcon.js.map +1 -1
  495. package/build/es/components/icon/icons/WarningIcon.js.map +1 -1
  496. package/build/es/components/icon/icons/animated/ArrowHorizontalAnimated.js.map +1 -1
  497. package/build/es/components/icon/icons/animated/ArrowVerticalAnimated.js.map +1 -1
  498. package/build/es/components/icon/icons/animated/PlusRemoveAnimated.js.map +1 -1
  499. package/build/es/components/icon/stories/Icons.stories.js.map +1 -1
  500. package/build/es/components/icon/stories/internal/AnimatedIcon.js +2 -0
  501. package/build/es/components/icon/stories/internal/AnimatedIcon.js.map +1 -0
  502. package/build/es/components/icon/stories/internal/IconExample.js +2 -0
  503. package/build/es/components/icon/stories/internal/IconExample.js.map +1 -0
  504. package/build/es/components/icon/stories/internal/IconsExampleGrid.js +2 -0
  505. package/build/es/components/icon/stories/internal/IconsExampleGrid.js.map +1 -0
  506. package/build/es/components/icon-button/IconButton.js.map +1 -1
  507. package/build/es/components/icon-button/stories/IconButton.stories.js.map +1 -1
  508. package/build/es/components/image/Image.js.map +1 -1
  509. package/build/es/components/image/stories/Image.stories.js.map +1 -1
  510. package/build/es/components/image/useImageLoadingStatus.js.map +1 -1
  511. package/build/es/components/input-group/FieldGroup.js.map +1 -1
  512. package/build/es/components/input-group/InputGroup.js.map +1 -1
  513. package/build/es/components/input-group/Label.js.map +1 -1
  514. package/build/es/components/input-group/SupportLabel.js.map +1 -1
  515. package/build/es/components/input-group/stories/FieldGroup.stories.js.map +1 -1
  516. package/build/es/components/input-group/stories/InputGroup.stories.js.map +1 -1
  517. package/build/es/components/input-group/stories/Label.stories.js.map +1 -1
  518. package/build/es/components/input-group/stories/SupportLabel.stories.js.map +1 -1
  519. package/build/es/components/link/Link.js.map +1 -1
  520. package/build/es/components/link/stories/Link.stories.js.map +1 -1
  521. package/build/es/components/link-list/LinkList.js.map +1 -1
  522. package/build/es/components/link-list/index.d.ts +1 -1
  523. package/build/es/components/link-list/stories/LinkList.stories.js.map +1 -1
  524. package/build/es/components/list/List.js.map +1 -1
  525. package/build/es/components/list/ListItem.js.map +1 -1
  526. package/build/es/components/loader/Loader.js.map +1 -1
  527. package/build/es/components/loader/skeletons/SkeletonAnimation.js.map +1 -1
  528. package/build/es/components/loader/skeletons/SkeletonButton.js.map +1 -1
  529. package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -1
  530. package/build/es/components/loader/skeletons/SkeletonElement.js.map +1 -1
  531. package/build/es/components/loader/skeletons/SkeletonInput.js.map +1 -1
  532. package/build/es/components/loader/skeletons/SkeletonLabel.js.map +1 -1
  533. package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -1
  534. package/build/es/components/loader/skeletons/SkeletonTable.js.map +1 -1
  535. package/build/es/components/loader/skeletons/SkeletonTextArea.js.map +1 -1
  536. package/build/es/components/loader/stories/Skeleton.stories.js.map +1 -1
  537. package/build/es/components/loader/useDelayedRender.js +1 -1
  538. package/build/es/components/loader/useDelayedRender.js.map +1 -1
  539. package/build/es/components/logo/Logo.js.map +1 -1
  540. package/build/es/components/logo/LogoStamp.js.map +1 -1
  541. package/build/es/components/logo/stories/Logo.stories.js.map +1 -1
  542. package/build/es/components/logo/stories/LogoStamp.stories.js.map +1 -1
  543. package/build/es/components/logo/text-paths/ForsikringLevertAvFremtind.js.map +1 -1
  544. package/build/es/components/logo/text-paths/FraSB1ogDNB.js.map +1 -1
  545. package/build/es/components/logo/text-paths/InnovasjonFraFremtind.js.map +1 -1
  546. package/build/es/components/logo/text-paths/TeknologiFraFremtind.js.map +1 -1
  547. package/build/es/components/logo/text-paths/VartEgetForsikringsselskap.js.map +1 -1
  548. package/build/es/components/logo/text-paths/VartForsikringsselskap.js.map +1 -1
  549. package/build/es/components/menu/Menu.js.map +1 -1
  550. package/build/es/components/menu/MenuItem.js.map +1 -1
  551. package/build/es/components/menu/MenuItemCheckbox.js.map +1 -1
  552. package/build/es/components/menu/stories/Menu.stories.js.map +1 -1
  553. package/build/es/components/menu/stories/MenuDivider.stories.js.map +1 -1
  554. package/build/es/components/menu/stories/MenuItem.stories.js.map +1 -1
  555. package/build/es/components/menu/stories/MenuItemCheckbox.stories.js.map +1 -1
  556. package/build/es/components/menu/types.d.ts +2 -2
  557. package/build/es/components/menu/useMenuWideEvents.js +1 -1
  558. package/build/es/components/menu/useMenuWideEvents.js.map +1 -1
  559. package/build/es/components/message/DismissButton.js.map +1 -1
  560. package/build/es/components/message/FormErrorMessage.js.map +1 -1
  561. package/build/es/components/message/Message.js +1 -1
  562. package/build/es/components/message/Message.js.map +1 -1
  563. package/build/es/components/message/stories/ErrorMessage.stories.js.map +1 -1
  564. package/build/es/components/message/stories/FormErrorMessage.stories.js.map +1 -1
  565. package/build/es/components/message/stories/InfoMessage.stories.js.map +1 -1
  566. package/build/es/components/message/stories/SuccessMessage.stories.js.map +1 -1
  567. package/build/es/components/message/stories/WarningMessage.stories.js.map +1 -1
  568. package/build/es/components/modal/Modal.js +1 -1
  569. package/build/es/components/modal/Modal.js.map +1 -1
  570. package/build/es/components/modal/stories/CompleteModal.stories.js.map +1 -1
  571. package/build/es/components/modal/stories/ModalCloseButton.stories.js +1 -1
  572. package/build/es/components/modal/stories/ModalCloseButton.stories.js.map +1 -1
  573. package/build/es/components/modal/stories/ModalOverlay.stories.js.map +1 -1
  574. package/build/es/components/modal/useModal.js.map +1 -1
  575. package/build/es/components/nav-link/NavLink.js.map +1 -1
  576. package/build/es/components/nav-link/stories/NavLink.stories.js.map +1 -1
  577. package/build/es/components/pagination/PageButton.js.map +1 -1
  578. package/build/es/components/pagination/Pagination.js +1 -1
  579. package/build/es/components/pagination/Pagination.js.map +1 -1
  580. package/build/es/components/pagination/stories/Pagination.stories.js.map +1 -1
  581. package/build/es/components/popover/Popover.js.map +1 -1
  582. package/build/es/components/popover/stories/PopoverControlled.stories.js.map +1 -1
  583. package/build/es/components/popover/stories/PopoverUncontrolled.stories.js.map +1 -1
  584. package/build/es/components/popover/types.d.ts +1 -1
  585. package/build/es/components/progress-bar/ProgressBar.js +1 -1
  586. package/build/es/components/progress-bar/ProgressBar.js.map +1 -1
  587. package/build/es/components/progress-bar/stories/ProgressBar.stories.js.map +1 -1
  588. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  589. package/build/es/components/radio-button/RadioButton.js.map +1 -1
  590. package/build/es/components/radio-button/RadioButtonGroup.js.map +1 -1
  591. package/build/es/components/radio-button/radioGroupContext.js.map +1 -1
  592. package/build/es/components/radio-button/stories/BaseRadioButton.stories.js.map +1 -1
  593. package/build/es/components/radio-button/stories/RadioButton.stories.js.map +1 -1
  594. package/build/es/components/radio-button/stories/RadioButtonGroup.stories.js.map +1 -1
  595. package/build/es/components/radio-panel/RadioPanel.js.map +1 -1
  596. package/build/es/components/radio-panel/RadioPanelGroup.js.map +1 -1
  597. package/build/es/components/select/NativeSelect.js.map +1 -1
  598. package/build/es/components/select/Select.js +1 -1
  599. package/build/es/components/select/Select.js.map +1 -1
  600. package/build/es/components/select/stories/select.stories.js.map +1 -1
  601. package/build/es/components/summary-table/SummaryTable.js.map +1 -1
  602. package/build/es/components/summary-table/SummaryTableRow.js.map +1 -1
  603. package/build/es/components/summary-table/stories/summary-table.stories.js.map +1 -1
  604. package/build/es/components/system-message/SystemMessage.js +1 -1
  605. package/build/es/components/system-message/SystemMessage.js.map +1 -1
  606. package/build/es/components/system-message/common/DismissButton.js.map +1 -1
  607. package/build/es/components/system-message/common/MessageIcon.js.map +1 -1
  608. package/build/es/components/table/DataTable.js.map +1 -1
  609. package/build/es/components/table/ExpandableTableRow.js +1 -1
  610. package/build/es/components/table/ExpandableTableRow.js.map +1 -1
  611. package/build/es/components/table/ExpandableTableRowController.js.map +1 -1
  612. package/build/es/components/table/Table.js.map +1 -1
  613. package/build/es/components/table/TableBody.js.map +1 -1
  614. package/build/es/components/table/TableCaption.js.map +1 -1
  615. package/build/es/components/table/TableCell.js.map +1 -1
  616. package/build/es/components/table/TableColumn.js.map +1 -1
  617. package/build/es/components/table/TableColumnGroup.js.map +1 -1
  618. package/build/es/components/table/TableFooter.js.map +1 -1
  619. package/build/es/components/table/TableHead.js.map +1 -1
  620. package/build/es/components/table/TableHeader.js.map +1 -1
  621. package/build/es/components/table/TablePagination.js +1 -1
  622. package/build/es/components/table/TablePagination.js.map +1 -1
  623. package/build/es/components/table/TableRow.js.map +1 -1
  624. package/build/es/components/table/tableContext.js.map +1 -1
  625. package/build/es/components/table/tableSectionContext.js.map +1 -1
  626. package/build/es/components/table/utils.js.map +1 -1
  627. package/build/es/components/tabs/NavTab.js.map +1 -1
  628. package/build/es/components/tabs/NavTabs.js.map +1 -1
  629. package/build/es/components/tabs/Tab.js.map +1 -1
  630. package/build/es/components/tabs/TabList.js.map +1 -1
  631. package/build/es/components/tabs/TabPanel.js.map +1 -1
  632. package/build/es/components/tabs/Tabs.js.map +1 -1
  633. package/build/es/components/tabs/stories/Tabs.stories.js.map +1 -1
  634. package/build/es/components/tabs/tabsContext.js.map +1 -1
  635. package/build/es/components/tabs/types.d.ts +1 -1
  636. package/build/es/components/tag/Tag.js.map +1 -1
  637. package/build/es/components/tag/index.d.ts +1 -1
  638. package/build/es/components/tag/stories/Tag.stories.js.map +1 -1
  639. package/build/es/components/text-area/BaseTextArea.js.map +1 -1
  640. package/build/es/components/text-area/TextArea.js.map +1 -1
  641. package/build/es/components/text-area/stories/TextArea.stories.js.map +1 -1
  642. package/build/es/components/text-input/BaseTextInput.js.map +1 -1
  643. package/build/es/components/text-input/TextInput.js.map +1 -1
  644. package/build/es/components/toast/Toast.js +1 -1
  645. package/build/es/components/toast/Toast.js.map +1 -1
  646. package/build/es/components/toast/ToastRegion.js +1 -1
  647. package/build/es/components/toast/ToastRegion.js.map +1 -1
  648. package/build/es/components/toast/index.d.ts +1 -1
  649. package/build/es/components/toast/toastContext.js.map +1 -1
  650. package/build/es/components/toggle-switch/ToggleSlider.js.map +1 -1
  651. package/build/es/components/toggle-switch/ToggleSwitch.js.map +1 -1
  652. package/build/es/components/toggle-switch/stories/ToggleSwitch.stories.js.map +1 -1
  653. package/build/es/components/toggle-switch/usePillStyles.js +1 -1
  654. package/build/es/components/toggle-switch/usePillStyles.js.map +1 -1
  655. package/build/es/components/tooltip/PopupTip.js.map +1 -1
  656. package/build/es/components/tooltip/Tooltip.js +1 -1
  657. package/build/es/components/tooltip/Tooltip.js.map +1 -1
  658. package/build/es/components/tooltip/TooltipContent.js.map +1 -1
  659. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js +1 -1
  660. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -1
  661. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js +1 -1
  662. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -1
  663. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js +1 -1
  664. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -1
  665. package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.js.map +1 -1
  666. package/build/es/hooks/useClickOutside/useClickOutside.js +1 -1
  667. package/build/es/hooks/useClickOutside/useClickOutside.js.map +1 -1
  668. package/build/es/hooks/useElementDimensions/useElementDimensions.js.map +1 -1
  669. package/build/es/hooks/useFocusOutside/useFocusOutside.js +1 -1
  670. package/build/es/hooks/useFocusOutside/useFocusOutside.js.map +1 -1
  671. package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +1 -1
  672. package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.js +1 -1
  673. package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  674. package/build/es/hooks/useKeyListener/useKeyListener.js +1 -1
  675. package/build/es/hooks/useKeyListener/useKeyListener.js.map +1 -1
  676. package/build/es/hooks/useListNavigation/useListNavigation.js +1 -1
  677. package/build/es/hooks/useListNavigation/useListNavigation.js.map +1 -1
  678. package/build/es/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  679. package/build/es/hooks/useProgressiveImg/useProgressiveImg.js.map +1 -1
  680. package/build/es/hooks/useScreen/index.d.ts +1 -1
  681. package/build/es/hooks/useScreen/useScreen.js +1 -1
  682. package/build/es/hooks/useScreen/useScreen.js.map +1 -1
  683. package/build/es/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -1
  684. package/build/es/hooks/useSwipeGesture/useSwipeGesture.d.ts +1 -1
  685. package/build/es/hooks/useSwipeGesture/useSwipeGesture.js.map +1 -1
  686. package/build/es/shared/input-panel/BasePanel.js.map +1 -1
  687. package/build/es/utilities/formatters/avstand/formatAvstand.js.map +1 -1
  688. package/build/es/utilities/formatters/bytes/formatBytes.js.map +1 -1
  689. package/build/es/utilities/formatters/util/parseNumber.js.map +1 -1
  690. package/build/es/utilities/formatters/valuta/formatValuta.js +1 -1
  691. package/build/es/utilities/formatters/valuta/formatValuta.js.map +1 -1
  692. package/build/es/utilities/getThemeAndDensity.js +1 -1
  693. package/build/es/utilities/getThemeAndDensity.js.map +1 -1
  694. package/build/es/utilities/polymorphism/mergeRefs.js +1 -1
  695. package/build/es/utilities/polymorphism/mergeRefs.js.map +1 -1
  696. package/build/es/utilities/tabListener.js +1 -1
  697. package/build/es/utilities/tabListener.js.map +1 -1
  698. package/build/style.css +1 -1
  699. package/package.json +2 -2
  700. package/styles/components/button/button.css +3 -31
  701. package/styles/components/button/button.min.css +1 -1
  702. package/styles/components/button/button.scss +6 -67
  703. package/styles/components/button/development/public/fonts/_index.scss +1 -0
  704. package/styles/components/button/development/public/fonts/webfonts.css +108 -0
  705. package/styles/components/button/development/public/fonts/webfonts.min.css +1 -0
  706. package/styles/components/button/development/public/fonts/webfonts.scss +137 -0
  707. package/styles/components/checkbox/checkbox.css +4 -4
  708. package/styles/components/checkbox/checkbox.min.css +1 -1
  709. package/styles/components/checkbox-panel/checkbox-panel.css +2 -2
  710. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  711. package/styles/components/countdown/countdown.css +2 -2
  712. package/styles/components/countdown/countdown.min.css +1 -1
  713. package/styles/components/feedback/feedback.css +2 -2
  714. package/styles/components/feedback/feedback.min.css +1 -1
  715. package/styles/components/input-group/input-group.css +2 -2
  716. package/styles/components/input-group/input-group.min.css +1 -1
  717. package/styles/components/loader/loader.css +6 -6
  718. package/styles/components/loader/loader.min.css +1 -1
  719. package/styles/components/loader/skeleton-loader.css +5 -5
  720. package/styles/components/loader/skeleton-loader.min.css +1 -1
  721. package/styles/components/message/message.css +2 -2
  722. package/styles/components/message/message.min.css +1 -1
  723. package/styles/components/progress-bar/progress-bar.css +1 -1
  724. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  725. package/styles/components/radio-button/radio-button.css +2 -2
  726. package/styles/components/radio-button/radio-button.min.css +1 -1
  727. package/styles/components/radio-panel/development/public/fonts/_index.scss +1 -0
  728. package/styles/components/radio-panel/development/public/fonts/webfonts.css +108 -0
  729. package/styles/components/radio-panel/development/public/fonts/webfonts.min.css +1 -0
  730. package/styles/components/radio-panel/development/public/fonts/webfonts.scss +137 -0
  731. package/styles/components/radio-panel/radio-panel.css +2 -2
  732. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  733. package/styles/components/system-message/system-message.css +2 -2
  734. package/styles/components/system-message/system-message.min.css +1 -1
  735. package/styles/components/tabs/tabs.css +0 -2
  736. package/styles/components/tabs/tabs.scss +0 -2
  737. package/styles/components/toast/toast.css +4 -4
  738. package/styles/components/toast/toast.min.css +1 -1
  739. package/styles/styles.css +39 -69
  740. package/styles/styles.min.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.cjs","sources":["../../../../src/components/menu/Menu.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n Side,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFloatingTree,\n useHover,\n useInteractions,\n useListNavigation,\n useMergeRefs,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport React, { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { isForwardRef } from \"react-is\";\nimport { useBrowserPreferences } from \"../../hooks/index.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { getThemeAndDensity } from \"../../utilities/getThemeAndDensity.js\";\nimport { MenuProps } from \"./types.js\";\nimport { useMenuWideEvents } from \"./useMenuWideEvents.js\";\n\nfunction getTranslation(side: Side, value: number = 0) {\n switch (side) {\n case \"top\":\n return `0 ${value}px`;\n case \"left\":\n return `${value}px 0`;\n case \"bottom\":\n return `0 ${-value}px`;\n case \"right\":\n return `${-value}px 0`;\n\n default:\n return `0 ${value}px`;\n }\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 { prefersReducedMotion } = useBrowserPreferences();\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 { refs, placement, context, floatingStyles } = 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 const { isMounted, styles: animationStyles } = useTransitionStyles(\n context,\n {\n duration: {\n open: prefersReducedMotion ? 0 : 250,\n close: prefersReducedMotion ? 0 : 150,\n },\n initial: ({ side }) => ({\n opacity: 0,\n translate: getTranslation(side, 5),\n }),\n open: ({ side }) => ({\n opacity: 1,\n translate: getTranslation(side, 0),\n }),\n close: ({ side }) => ({\n opacity: 0,\n translate: getTranslation(side, 5),\n }),\n },\n );\n\n return (\n <FloatingNode id={nodeId}>\n {React.isValidElement(triggerElement) &&\n (triggerElement.type === \"button\" ||\n 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 {isMounted && (\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 <div\n className={clsx(\"jkl jkl-menu\", className)}\n data-theme={theme}\n data-layout-density={density}\n role=\"menu\"\n data-placement={placement}\n aria-live=\"assertive\"\n aria-hidden={!isOpen}\n ref={refs.setFloating}\n {...getFloatingProps({\n id: MenuId,\n style: {\n ...floatingStyles,\n ...animationStyles,\n },\n })}\n >\n {React.Children.map(\n children,\n (child, index) => {\n if (\n React.isValidElement(child) &&\n isForwardRef(child)\n ) {\n return React.cloneElement(\n child,\n getItemProps({\n ...child.props,\n tabIndex:\n activeIndex === 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.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(false);\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 </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\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":["getTranslation","side","value","MenuComponent","forwardRef","props","forwardedRef","children","className","initialPlacement","openOnHover","keepOpenOnClickOutside","triggerElement","isOpen","isOpenOverride","onToggle","triggerProps","MenuId","useId","prefersReducedMotion","useBrowserPreferences","tree","useFloatingTree","nodeId","useFloatingNodeId","parentId","useFloatingParentNodeId","isNested","listItemsRef","useRef","activeIndex","setActiveIndex","useState","allowHover","isOpenDefault","setIsOpen","useMenuWideEvents","useEffect","refs","placement","context","floatingStyles","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","isMounted","styles","animationStyles","useTransitionStyles","duration","close","initial","opacity","translate","jsxs","FloatingNode","id","React","isValidElement","type","isForwardRef","cloneElement","ref","onClick","stopPropagation","FloatingPortal","jsx","FloatingFocusManager","modal","initialFocus","returnFocus","clsx","setFloating","style","Children","map","child","index","reactIsExports","tabIndex","node","_b","_a","call","defaultPrevented","events","emit","onKeyDown","currentTarget","key","onMouseEnter","displayName","Menu","FloatingTree"],"mappings":"yfAiCA,SAASA,EAAeC,EAAYC,EAAgB,GAChD,OAAQD,GACJ,IAAK,MASL,QACI,MAAO,KAAKC,MARhB,IAAK,OACD,MAAO,GAAGA,QACd,IAAK,SACM,MAAA,MAAMA,MACjB,IAAK,QACM,OAAIA,EAAJ,OAKnB,CAEA,MAAMC,EAAgBC,EAAAA,YAClB,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,QAAM,aAEbC,qBAAAA,GAAyBC,EAAAA,wBAE3BC,EAAOC,EAAAA,kBACPC,EAASC,EAAAA,oBACTC,EAAWC,EAAAA,0BACXC,EAAuB,MAAZF,EAEXG,EAAeC,SAAwC,KACtDC,EAAaC,GAAkBC,WAAwB,OAE1DC,WAAAA,EACApB,OAAQqB,EACRC,UAAAA,GACAC,oBAAkBf,EAAME,EAAQE,GAE9BZ,OACiB,IAAnBC,EAA+BA,EAAiBoB,EAEpDG,EAAAA,WAAU,IAAM,MAAAtB,OAAAA,EAAAA,EAAWF,IAAS,CAACA,EAAQE,IAE7C,MAAQuB,KAAAA,EAAMC,UAAAA,EAAWC,QAAAA,EAASC,eAAAA,GAAmBC,EAAAA,YAAY,CAC7DnB,OAAAA,EACAoB,KAAM9B,EACN+B,aAAcT,EACdI,UACI9B,IAAqBkB,EAAW,cAAgB,gBACpDkB,WAAY,CACRC,EAAAA,OAAO,GACPC,OAAK,CACDC,0BAA2B,MAC3BC,WAAW,IAEfC,QAAM,CAAEC,QAAS,KAErBC,qBAAsBC,EAAAA,cAGlBC,kBAAAA,EAAmBC,iBAAAA,EAAkBC,aAAAA,GACzCC,EAAAA,gBAAgB,CACZC,EAAAA,SAASlB,EAAS,CACdmB,QAASjD,GAAeuB,EACxB2B,MAAO,CAAEjB,KAAM,IACfkB,YAAaC,EAAAA,YAAY,CACrBC,eAAe,EACfC,oBAAoB,MAG5BC,EAAAA,SAASzB,EAAS,CACd0B,MAAO,cAEXC,EAAAA,WAAW3B,EAAS,CAAE4B,cAAezD,IACrC0D,EAAAA,QAAQ7B,EAAS,CAAE8B,KAAM,SACzBC,EAAAA,kBAAkB/B,EAAS,CACvBgC,QAAS5C,EACTE,YAAAA,EACA2C,OAAQ9C,EACR+C,WAAY3C,MAIlB4C,EAAeC,EAAAA,aAAa,CAACtC,EAAKuC,aAAcvE,KAI9CwE,MAAAA,EAAOC,QAAAA,GAAYC,EAAAA,mBACvB1C,EAAK2C,UAAUC,UAGXC,UAAAA,EAAWC,OAAQC,GAAoBC,EAAAA,oBAC3C9C,EACA,CACI+C,SAAU,CACN5C,KAAMxB,EAAuB,EAAI,IACjCqE,MAAOrE,EAAuB,EAAI,KAEtCsE,QAAS,EAAGxF,KAAAA,OACRyF,QAAS,EACTC,UAAW3F,EAAeC,EAAM,KAEpC0C,KAAM,EAAG1C,KAAAA,MAAY,CACjByF,QAAS,EACTC,UAAW3F,EAAeC,EAAM,KAEpCuF,MAAO,EAAGvF,KAAAA,OACNyF,QAAS,EACTC,UAAW3F,EAAeC,EAAM,OAMxC,OAAA2F,EAAAA,KAACC,EAAaA,aAAA,CAAAC,GAAIvE,EACbhB,SAAA,CAAAwF,EAAMC,eAAepF,KACG,WAAxBA,EAAeqF,MACZC,8BAAatF,IAEXmF,EAAMI,aAAavF,EAAgB,IAC5B0C,EAAkB,IACdtC,EACHoF,IAAKzB,EACLL,KAAM3C,EAAW,gBAAa,EAC9B,gBAAiBV,EACjBoF,QAAQnC,GACJA,EAAMoC,iBACV,MAIR1F,EACLuE,SACIoB,iBACG,CAAAhG,SAAAiG,EAAAA,IAACC,EAAAA,qBAAA,CACGjE,QAAAA,EAEAkE,OAAO,EAEPC,aAAchF,GAAgB,EAAA,EAE9BiF,aAAcjF,EAEdpB,SAAAiG,EAAAA,IAAC,MAAA,CACGhG,UAAWqG,EAAAA,KAAK,eAAgBrG,GAChC,aAAYsE,EACZ,sBAAqBC,EACrBT,KAAK,OACL,iBAAgB/B,EAChB,YAAU,YACV,eAAc1B,EACduF,IAAK9D,EAAKwE,eACNvD,EAAiB,CACjBuC,GAAI7E,EACJ8F,MAAO,IACAtE,KACA4C,KAIV9E,WAAMyG,SAASC,IACZ1G,GACA,CAAC2G,EAAOC,IAEApB,EAAMC,eAAekB,IACrBhB,EAAAkB,eAAAlB,aAAagB,GAENnB,EAAMI,aACTe,EACA1D,EAAa,IACN0D,EAAM7G,MACTgH,SACIvF,IAAgBqF,EACV,KAEV7C,KAAM,WACN8B,IACIkB,GAEa1F,EAAAsD,QACTiC,GACAG,CACR,EACAjB,QAAQnC,WACJ,OAAAqD,GAAAC,EAAAN,EAAM7G,OAAMgG,UAAZkB,EAAAE,KAAAD,EACItD,IAGAA,EAAMwD,mBAIV,MAAArG,GAAAA,EAAMsG,OAAOC,KACT,SAER,EACAC,UAAU3D,WACN,OAAAqD,GAAAC,EAAAN,EAAM7G,OAAMwH,YAAZN,EAAAE,KAAAD,EACItD,IAGAA,EAAMwD,mBAIV,MAAArG,GAAAA,EAAMsG,OAAOC,KACT,WAKI,qBAFJ1D,EAAM4D,cACDxD,MAGD,UADJJ,EAAM6D,KAIN5F,GAAU,GAElB,EACA6F,eAEQ/F,GACApB,GAEAkB,EACIoF,EAGZ,KAKLD,YAOnC,IAIZ/G,EAAc8H,YAAc,gBAErB,MAAMC,EAAO9H,EAAAA,YAAyC,CAACC,EAAO+F,IAGhD,OAFA1E,EAAAA,gCAIRyG,EAAAA,aACG,CAAA5H,SAAAiG,EAAAA,IAACrG,GAAciG,IAAAA,KAAc/F,MAKjCmG,EAAAA,IAAArG,EAAA,CAAciG,IAAAA,KAAc/F,MAExC6H,EAAKD,YAAc"}
1
+ {"version":3,"file":"Menu.cjs","sources":["../../../../src/components/menu/Menu.tsx"],"sourcesContent":["import {\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n type Side,\n autoUpdate,\n flip,\n offset,\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 useTransitionStyles,\n} from \"@floating-ui/react\";\nimport clsx from \"clsx\";\nimport React, { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { isForwardRef } from \"react-is\";\nimport { useBrowserPreferences } from \"../../hooks/index.js\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { getThemeAndDensity } from \"../../utilities/getThemeAndDensity.js\";\nimport type { MenuProps } from \"./types.js\";\nimport { useMenuWideEvents } from \"./useMenuWideEvents.js\";\n\nfunction getTranslation(side: Side, value = 0) {\n switch (side) {\n case \"top\":\n return `0 ${value}px`;\n case \"left\":\n return `${value}px 0`;\n case \"bottom\":\n return `0 ${-value}px`;\n case \"right\":\n return `${-value}px 0`;\n\n default:\n return `0 ${value}px`;\n }\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 { prefersReducedMotion } = useBrowserPreferences();\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 { refs, placement, context, floatingStyles } = 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 const { isMounted, styles: animationStyles } = useTransitionStyles(\n context,\n {\n duration: {\n open: prefersReducedMotion ? 0 : 250,\n close: prefersReducedMotion ? 0 : 150,\n },\n initial: ({ side }) => ({\n opacity: 0,\n translate: getTranslation(side, 5),\n }),\n open: ({ side }) => ({\n opacity: 1,\n translate: getTranslation(side, 0),\n }),\n close: ({ side }) => ({\n opacity: 0,\n translate: getTranslation(side, 5),\n }),\n },\n );\n\n return (\n <FloatingNode id={nodeId}>\n {React.isValidElement(triggerElement) &&\n (triggerElement.type === \"button\" ||\n 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 {isMounted && (\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 <div\n className={clsx(\"jkl jkl-menu\", className)}\n data-theme={theme}\n data-layout-density={density}\n role=\"menu\"\n data-placement={placement}\n aria-live=\"assertive\"\n aria-hidden={!isOpen}\n ref={refs.setFloating}\n {...getFloatingProps({\n id: MenuId,\n style: {\n ...floatingStyles,\n ...animationStyles,\n },\n })}\n >\n {React.Children.map(\n children,\n (child, index) => {\n if (\n React.isValidElement(child) &&\n isForwardRef(child)\n ) {\n return React.cloneElement(\n child,\n getItemProps({\n ...child.props,\n tabIndex:\n activeIndex === 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.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(false);\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 </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\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":["getTranslation","side","value","MenuComponent","forwardRef","props","forwardedRef","children","className","initialPlacement","openOnHover","keepOpenOnClickOutside","triggerElement","isOpen","isOpenOverride","onToggle","triggerProps","MenuId","useId","prefersReducedMotion","useBrowserPreferences","tree","useFloatingTree","nodeId","useFloatingNodeId","parentId","useFloatingParentNodeId","isNested","listItemsRef","useRef","activeIndex","setActiveIndex","useState","allowHover","isOpenDefault","setIsOpen","useMenuWideEvents","useEffect","refs","placement","context","floatingStyles","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","isMounted","styles","animationStyles","useTransitionStyles","duration","close","initial","opacity","translate","jsxs","FloatingNode","id","React","isValidElement","type","isForwardRef","cloneElement","ref","onClick","stopPropagation","FloatingPortal","jsx","FloatingFocusManager","modal","initialFocus","returnFocus","clsx","setFloating","style","Children","map","child","index","reactIsExports","tabIndex","node","_b","_a","call","defaultPrevented","events","emit","onKeyDown","currentTarget","key","onMouseEnter","displayName","Menu","FloatingTree"],"mappings":"yfAiCA,SAASA,EAAeC,EAAYC,EAAQ,GACxC,OAAQD,GACJ,IAAK,MASL,QACI,MAAO,KAAKC,MARhB,IAAK,OACD,MAAO,GAAGA,QACd,IAAK,SACM,MAAA,MAAMA,MACjB,IAAK,QACM,OAAIA,EAAJ,OAKnB,CAEA,MAAMC,EAAgBC,EAAAA,YAClB,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,QAAM,aAEbC,qBAAAA,GAAyBC,EAAAA,wBAE3BC,EAAOC,EAAAA,kBACPC,EAASC,EAAAA,oBACTC,EAAWC,EAAAA,0BACXC,EAAuB,MAAZF,EAEXG,EAAeC,SAAwC,KACtDC,EAAaC,GAAkBC,WAAwB,OAE1DC,WAAAA,EACApB,OAAQqB,EACRC,UAAAA,GACAC,oBAAkBf,EAAME,EAAQE,GAE9BZ,OACiB,IAAnBC,EAA+BA,EAAiBoB,EAEpDG,EAAAA,WAAU,IAAM,MAAAtB,OAAAA,EAAAA,EAAWF,IAAS,CAACA,EAAQE,IAE7C,MAAQuB,KAAAA,EAAMC,UAAAA,EAAWC,QAAAA,EAASC,eAAAA,GAAmBC,EAAAA,YAAY,CAC7DnB,OAAAA,EACAoB,KAAM9B,EACN+B,aAAcT,EACdI,UACI9B,IAAqBkB,EAAW,cAAgB,gBACpDkB,WAAY,CACRC,EAAAA,OAAO,GACPC,OAAK,CACDC,0BAA2B,MAC3BC,WAAW,IAEfC,QAAM,CAAEC,QAAS,KAErBC,qBAAsBC,EAAAA,cAGlBC,kBAAAA,EAAmBC,iBAAAA,EAAkBC,aAAAA,GACzCC,EAAAA,gBAAgB,CACZC,EAAAA,SAASlB,EAAS,CACdmB,QAASjD,GAAeuB,EACxB2B,MAAO,CAAEjB,KAAM,IACfkB,YAAaC,EAAAA,YAAY,CACrBC,eAAe,EACfC,oBAAoB,MAG5BC,EAAAA,SAASzB,EAAS,CACd0B,MAAO,cAEXC,EAAAA,WAAW3B,EAAS,CAAE4B,cAAezD,IACrC0D,EAAAA,QAAQ7B,EAAS,CAAE8B,KAAM,SACzBC,EAAAA,kBAAkB/B,EAAS,CACvBgC,QAAS5C,EACTE,YAAAA,EACA2C,OAAQ9C,EACR+C,WAAY3C,MAIlB4C,EAAeC,EAAAA,aAAa,CAACtC,EAAKuC,aAAcvE,KAI9CwE,MAAAA,EAAOC,QAAAA,GAAYC,EAAAA,mBACvB1C,EAAK2C,UAAUC,UAGXC,UAAAA,EAAWC,OAAQC,GAAoBC,EAAAA,oBAC3C9C,EACA,CACI+C,SAAU,CACN5C,KAAMxB,EAAuB,EAAI,IACjCqE,MAAOrE,EAAuB,EAAI,KAEtCsE,QAAS,EAAGxF,KAAAA,OACRyF,QAAS,EACTC,UAAW3F,EAAeC,EAAM,KAEpC0C,KAAM,EAAG1C,KAAAA,MAAY,CACjByF,QAAS,EACTC,UAAW3F,EAAeC,EAAM,KAEpCuF,MAAO,EAAGvF,KAAAA,OACNyF,QAAS,EACTC,UAAW3F,EAAeC,EAAM,OAMxC,OAAA2F,EAAAA,KAACC,EAAaA,aAAA,CAAAC,GAAIvE,EACbhB,SAAA,CAAAwF,EAAMC,eAAepF,KACG,WAAxBA,EAAeqF,MACZC,8BAAatF,IAEXmF,EAAMI,aAAavF,EAAgB,IAC5B0C,EAAkB,IACdtC,EACHoF,IAAKzB,EACLL,KAAM3C,EAAW,gBAAa,EAC9B,gBAAiBV,EACjBoF,QAAQnC,GACJA,EAAMoC,iBACV,MAIR1F,EACLuE,SACIoB,iBACG,CAAAhG,SAAAiG,EAAAA,IAACC,EAAAA,qBAAA,CACGjE,QAAAA,EAEAkE,OAAO,EAEPC,aAAchF,GAAgB,EAAA,EAE9BiF,aAAcjF,EAEdpB,SAAAiG,EAAAA,IAAC,MAAA,CACGhG,UAAWqG,EAAAA,KAAK,eAAgBrG,GAChC,aAAYsE,EACZ,sBAAqBC,EACrBT,KAAK,OACL,iBAAgB/B,EAChB,YAAU,YACV,eAAc1B,EACduF,IAAK9D,EAAKwE,eACNvD,EAAiB,CACjBuC,GAAI7E,EACJ8F,MAAO,IACAtE,KACA4C,KAIV9E,WAAMyG,SAASC,IACZ1G,GACA,CAAC2G,EAAOC,IAEApB,EAAMC,eAAekB,IACrBhB,EAAAkB,eAAAlB,aAAagB,GAENnB,EAAMI,aACTe,EACA1D,EAAa,IACN0D,EAAM7G,MACTgH,SACIvF,IAAgBqF,EACV,KAEV7C,KAAM,WACN8B,IACIkB,GAEa1F,EAAAsD,QACTiC,GACAG,CACR,EACAjB,QAAQnC,WACJ,OAAAqD,GAAAC,EAAAN,EAAM7G,OAAMgG,UAAZkB,EAAAE,KAAAD,EACItD,IAGAA,EAAMwD,mBAIV,MAAArG,GAAAA,EAAMsG,OAAOC,KACT,SAER,EACAC,UAAU3D,WACN,OAAAqD,GAAAC,EAAAN,EAAM7G,OAAMwH,YAAZN,EAAAE,KAAAD,EACItD,IAGAA,EAAMwD,mBAIV,MAAArG,GAAAA,EAAMsG,OAAOC,KACT,WAKI,qBAFJ1D,EAAM4D,cACDxD,MAGD,UADJJ,EAAM6D,KAIN5F,GAAU,GAElB,EACA6F,eAEQ/F,GACApB,GAEAkB,EACIoF,EAGZ,KAKLD,YAOnC,IAIZ/G,EAAc8H,YAAc,gBAErB,MAAMC,EAAO9H,EAAAA,YAAyC,CAACC,EAAO+F,IAGhD,OAFA1E,EAAAA,gCAIRyG,EAAAA,aACG,CAAA5H,SAAAiG,EAAAA,IAACrG,GAAciG,IAAAA,KAAc/F,MAKjCmG,EAAAA,IAAArG,EAAA,CAAciG,IAAAA,KAAc/F,MAExC6H,EAAKD,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.cjs","sources":["../../../../src/components/menu/MenuItem.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ChevronRightIcon } from \"../icon/icons/ChevronRightIcon.js\";\nimport { OpenInNewIcon } from \"../icon/icons/OpenInNewIcon.js\";\nimport { MenuItemProps } from \"./types.js\";\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 <OpenInNewIcon />\n </div>\n )}\n </div>\n {expandable && <ChevronRightIcon />}\n </Component>\n );\n}) as MenuItemComponent;\n"],"names":["MenuItem","forwardRef","props","ref","as","className","children","icon","expandable","external","rest","Component","type","jsxs","role","clsx","jsx","OpenInNewIcon","ChevronRightIcon"],"mappings":"6QAWaA,EAAWC,EAAAA,YAAW,SAEjCC,EAAmCC,GAC3B,MACFC,GAAAA,EAAK,SACLC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,WAAAA,GAAa,EACbC,SAAAA,GAAW,KACRC,GACHR,EACES,EAAYP,EACZQ,EAAqB,WAAdD,EAAyB,cAAW,EAG7C,OAAAE,EAAAA,KAACF,EAAA,CACGR,IAAAA,EACAS,KAAAA,EACAE,KAAK,WACLT,UAAWU,EAAAA,KAAK,gBAAiBV,MAC7BK,EAEHJ,SAAA,CAAAC,GAASS,EAAAA,IAAA,OAAA,CAAKX,UAAU,sBAAuBC,SAAKC,IACrDM,EAAAA,KAAC,MAAI,CAAAR,UAAU,yBACVC,SAAA,CAAAA,EACAG,GACIO,EAAAA,IAAA,MAAA,CAAIX,UAAW,uBACZC,SAAAU,MAACC,EAAAA,eAAc,QAI1BT,SAAeU,EAAiBA,iBAAA,MAG7C"}
1
+ {"version":3,"file":"MenuItem.cjs","sources":["../../../../src/components/menu/MenuItem.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport type { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ChevronRightIcon } from \"../icon/icons/ChevronRightIcon.js\";\nimport { OpenInNewIcon } from \"../icon/icons/OpenInNewIcon.js\";\nimport type { MenuItemProps } from \"./types.js\";\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 <OpenInNewIcon />\n </div>\n )}\n </div>\n {expandable && <ChevronRightIcon />}\n </Component>\n );\n}) as MenuItemComponent;\n"],"names":["MenuItem","forwardRef","props","ref","as","className","children","icon","expandable","external","rest","Component","type","jsxs","role","clsx","jsx","OpenInNewIcon","ChevronRightIcon"],"mappings":"6QAWaA,EAAWC,EAAAA,YAAW,SAEjCC,EAAmCC,GAC3B,MACFC,GAAAA,EAAK,SACLC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,WAAAA,GAAa,EACbC,SAAAA,GAAW,KACRC,GACHR,EACES,EAAYP,EACZQ,EAAqB,WAAdD,EAAyB,cAAW,EAG7C,OAAAE,EAAAA,KAACF,EAAA,CACGR,IAAAA,EACAS,KAAAA,EACAE,KAAK,WACLT,UAAWU,EAAAA,KAAK,gBAAiBV,MAC7BK,EAEHJ,SAAA,CAAAC,GAASS,EAAAA,IAAA,OAAA,CAAKX,UAAU,sBAAuBC,SAAKC,IACrDM,EAAAA,KAAC,MAAI,CAAAR,UAAU,yBACVC,SAAA,CAAAA,EACAG,GACIO,EAAAA,IAAA,MAAA,CAAIX,UAAW,uBACZC,SAAAU,MAACC,EAAAA,eAAc,QAI1BT,SAAeU,EAAiBA,iBAAA,MAG7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.cjs","sources":["../../../../src/components/menu/MenuItemCheckbox.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {\n forwardRef,\n type KeyboardEventHandler,\n type MouseEventHandler,\n} from \"react\";\nimport {\n SwipeChangeHandler,\n useSwipeGesture,\n} from \"../../hooks/useSwipeGesture/useSwipeGesture.js\";\nimport { CheckIcon } from \"../icon/icons/CheckIcon.js\";\nimport { MenuItemCheckboxProps } from \"./types.js\";\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":"sRAaaA,EAAmBC,EAAAA,YAG9B,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,kBAAgB,CACxCR,QA1BoDS,IACpDA,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,GACnB,MAAAK,GAAAA,EAAUS,EAAK,EAwBfV,SArBqD,CACrDU,EACAE,KAEIA,IAAahB,IACb,MAAAI,GAAAA,EAAWU,EAAOE,GAAAA,EAiBtBV,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,IAIA,OAAAQ,EAAAA,KAAC,MAAA,CACGlB,IAAAA,EACAmB,UAAU,KACNP,EACJQ,KAAK,mBACL,eAAcnB,EACdC,UAAWmB,EAAAA,KACP,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,EAAK,EA2BZZ,SAAA,CAAAC,GAASmB,EAAAA,IAAA,OAAA,CAAKrB,UAAU,sBAAuBC,SAAKC,IACpDmB,EAAAA,IAAA,MAAA,CAAIrB,UAAU,yBAA0BC,SAAAA,IACzCoB,EAAAA,IAAC,MAAI,CAAArB,UAAU,oBACXC,SAAAoB,EAAAA,IAAC,MAAI,CAAArB,UAAU,2BACXC,SAAAe,OAAC,MAAI,CAAAhB,UAAU,mCACXC,SAAA,CAACoB,EAAAA,IAAA,MAAA,CAAIrB,UAAU,mCACfqB,EAAAA,IAACC,EAAAA,UAAA,CACGC,QAAQ,QACRC,MAAI,EACJxB,UAAU,iDAI1B,IAKZL,EAAiB8B,YAAc"}
1
+ {"version":3,"file":"MenuItemCheckbox.cjs","sources":["../../../../src/components/menu/MenuItemCheckbox.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {\n forwardRef,\n type KeyboardEventHandler,\n type MouseEventHandler,\n} from \"react\";\nimport {\n type SwipeChangeHandler,\n useSwipeGesture,\n} from \"../../hooks/useSwipeGesture/useSwipeGesture.js\";\nimport { CheckIcon } from \"../icon/icons/CheckIcon.js\";\nimport type { MenuItemCheckboxProps } from \"./types.js\";\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":"sRAaaA,EAAmBC,EAAAA,YAG9B,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,kBAAgB,CACxCR,QA1BoDS,IACpDA,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,GACnB,MAAAK,GAAAA,EAAUS,EAAK,EAwBfV,SArBqD,CACrDU,EACAE,KAEIA,IAAahB,IACb,MAAAI,GAAAA,EAAWU,EAAOE,GAAAA,EAiBtBV,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,IAIA,OAAAQ,EAAAA,KAAC,MAAA,CACGlB,IAAAA,EACAmB,UAAU,KACNP,EACJQ,KAAK,mBACL,eAAcnB,EACdC,UAAWmB,EAAAA,KACP,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,EAAK,EA2BZZ,SAAA,CAAAC,GAASmB,EAAAA,IAAA,OAAA,CAAKrB,UAAU,sBAAuBC,SAAKC,IACpDmB,EAAAA,IAAA,MAAA,CAAIrB,UAAU,yBAA0BC,SAAAA,IACzCoB,EAAAA,IAAC,MAAI,CAAArB,UAAU,oBACXC,SAAAoB,EAAAA,IAAC,MAAI,CAAArB,UAAU,2BACXC,SAAAe,OAAC,MAAI,CAAAhB,UAAU,mCACXC,SAAA,CAACoB,EAAAA,IAAA,MAAA,CAAIrB,UAAU,mCACfqB,EAAAA,IAACC,EAAAA,UAAA,CACGC,QAAQ,QACRC,MAAI,EACJxB,UAAU,iDAI1B,IAKZL,EAAiB8B,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.stories.cjs","sources":["../../../../../src/components/menu/stories/Menu.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport React from \"react\";\nimport { GhostButton } from \"../../button/Button.js\";\nimport { ChevronDownIcon, ErrorIcon } from \"../../icon/index.js\";\nimport { Menu as MenuComponent } from \"../Menu.js\";\nimport { MenuItem } from \"../MenuItem.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Menu/Menu\",\n component: MenuComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MenuComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Menu: Story = {\n args: {\n triggerElement: (\n <GhostButton\n icon={<ChevronDownIcon bold />}\n iconPosition=\"right\"\n data-testid=\"open-menu\"\n >\n Ola Nordmann\n </GhostButton>\n ),\n keepOpenOnClickOutside: false,\n children: (\n <>\n <MenuItem>Forsikringsprofil</MenuItem>\n <MenuComponent\n triggerElement={\n <MenuItem expandable={true}>Dokumenter</MenuItem>\n }\n >\n {\" \"}\n <MenuItem as=\"a\" href=\"https://jokul.fremtind.no/\">\n Jøkuls hjemmeside\n </MenuItem>\n <MenuItem as=\"a\" href=\"https://fremtind.no/\">\n Fremtind Forsikring\n </MenuItem>\n </MenuComponent>\n\n <MenuItem icon={<ErrorIcon />}>Skadesaker</MenuItem>\n </>\n ),\n isOpen: false,\n },\n render: ({ ...args }) => <MenuComponent {...args} />,\n};\n"],"names":["meta","title","component","MenuComponent","Menu","parameters","layout","tags","args","triggerElement","jsx","GhostButton","icon","ChevronDownIcon","bold","iconPosition","children","keepOpenOnClickOutside","jsxs","Fragment","MenuItem","expandable","as","href","ErrorIcon","isOpen","render"],"mappings":"m5DAQA,MAAMA,EAAO,CACTC,MAAO,wBACPC,UAAWC,EAAAC,KACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAc,CACvBI,KAAM,CACFC,eACIC,EAAAA,IAACC,EAAAA,YAAA,CACGC,KAAMF,EAAAA,IAACG,EAAAA,gBAAgB,CAAAC,MAAI,IAC3BC,aAAa,QACb,cAAY,YACfC,SAAA,iBAILC,wBAAwB,EACxBD,SAEQE,EAAAA,KAAAC,WAAA,CAAAH,SAAA,CAAAN,EAAAA,IAACU,YAASJ,SAAiB,sBAC3BE,EAAAA,KAACf,EAAAC,KAAA,CACGK,eACIC,EAAAA,IAACU,WAAS,CAAAC,YAAY,EAAML,SAAU,eAGzCA,SAAA,CAAA,UACAI,EAAAA,SAAS,CAAAE,GAAG,IAAIC,KAAK,6BAA6BP,SAEnD,4BACCI,EAAAA,SAAS,CAAAE,GAAG,IAAIC,KAAK,uBAAuBP,SAE7C,iCAGHI,EAAAA,SAAS,CAAAR,KAAOF,EAAAA,IAAAc,EAAAA,UAAA,IAAcR,SAAU,kBAGjDS,QAAQ,GAEZC,OAAQ,KAAMlB,KAAWE,EAAAA,IAACP,OAAe,IAAGK"}
1
+ {"version":3,"file":"Menu.stories.cjs","sources":["../../../../../src/components/menu/stories/Menu.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport React from \"react\";\nimport { GhostButton } from \"../../button/Button.js\";\nimport { ChevronDownIcon, ErrorIcon } from \"../../icon/index.js\";\nimport { Menu as MenuComponent } from \"../Menu.js\";\nimport { MenuItem } from \"../MenuItem.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Menu/Menu\",\n component: MenuComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MenuComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Menu: Story = {\n args: {\n triggerElement: (\n <GhostButton\n icon={<ChevronDownIcon bold />}\n iconPosition=\"right\"\n data-testid=\"open-menu\"\n >\n Ola Nordmann\n </GhostButton>\n ),\n keepOpenOnClickOutside: false,\n children: (\n <>\n <MenuItem>Forsikringsprofil</MenuItem>\n <MenuComponent\n triggerElement={\n <MenuItem expandable={true}>Dokumenter</MenuItem>\n }\n >\n {\" \"}\n <MenuItem as=\"a\" href=\"https://jokul.fremtind.no/\">\n Jøkuls hjemmeside\n </MenuItem>\n <MenuItem as=\"a\" href=\"https://fremtind.no/\">\n Fremtind Forsikring\n </MenuItem>\n </MenuComponent>\n\n <MenuItem icon={<ErrorIcon />}>Skadesaker</MenuItem>\n </>\n ),\n isOpen: false,\n },\n render: ({ ...args }) => <MenuComponent {...args} />,\n};\n"],"names":["meta","title","component","MenuComponent","Menu","parameters","layout","tags","args","triggerElement","jsx","GhostButton","icon","ChevronDownIcon","bold","iconPosition","children","keepOpenOnClickOutside","jsxs","Fragment","MenuItem","expandable","as","href","ErrorIcon","isOpen","render"],"mappings":"m5DAQA,MAAMA,EAAO,CACTC,MAAO,wBACPC,UAAWC,EAAAC,KACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAc,CACvBI,KAAM,CACFC,eACIC,EAAAA,IAACC,EAAAA,YAAA,CACGC,KAAMF,EAAAA,IAACG,EAAAA,gBAAgB,CAAAC,MAAI,IAC3BC,aAAa,QACb,cAAY,YACfC,SAAA,iBAILC,wBAAwB,EACxBD,SAEQE,EAAAA,KAAAC,WAAA,CAAAH,SAAA,CAAAN,EAAAA,IAACU,YAASJ,SAAiB,sBAC3BE,EAAAA,KAACf,EAAAC,KAAA,CACGK,eACIC,EAAAA,IAACU,WAAS,CAAAC,YAAY,EAAML,SAAU,eAGzCA,SAAA,CAAA,UACAI,EAAAA,SAAS,CAAAE,GAAG,IAAIC,KAAK,6BAA6BP,SAEnD,4BACCI,EAAAA,SAAS,CAAAE,GAAG,IAAIC,KAAK,uBAAuBP,SAE7C,iCAGHI,EAAAA,SAAS,CAAAR,KAAOF,EAAAA,IAAAc,EAAAA,UAAA,IAAcR,SAAU,kBAGjDS,QAAQ,GAEZC,OAAQ,KAAMlB,KAAWE,EAAAA,IAACP,OAAe,IAAGK"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuDivider.stories.cjs","sources":["../../../../../src/components/menu/stories/MenuDivider.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport React from \"react\";\nimport { MenuDivider as MenuDividerComponent } from \"../MenuDivider.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Menu/MenuDivider\",\n component: MenuDividerComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MenuDividerComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const MenuDivider: Story = {\n render: () => <MenuDividerComponent />,\n};\n"],"names":["meta","title","component","MenuDividerComponent","MenuDivider","parameters","layout","tags","render","jsx"],"mappings":"4NAKA,MAAMA,EAAO,CACTC,MAAO,+BACPC,UAAWC,EAAAC,YACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAqB,CAC9BI,OAAQ,IAAMC,EAAAA,IAACN,EAAqBC,YAAA"}
1
+ {"version":3,"file":"MenuDivider.stories.cjs","sources":["../../../../../src/components/menu/stories/MenuDivider.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport React from \"react\";\nimport { MenuDivider as MenuDividerComponent } from \"../MenuDivider.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Menu/MenuDivider\",\n component: MenuDividerComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MenuDividerComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const MenuDivider: Story = {\n render: () => <MenuDividerComponent />,\n};\n"],"names":["meta","title","component","MenuDividerComponent","MenuDivider","parameters","layout","tags","render","jsx"],"mappings":"4NAKA,MAAMA,EAAO,CACTC,MAAO,+BACPC,UAAWC,EAAAC,YACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAqB,CAC9BI,OAAQ,IAAMC,EAAAA,IAACN,EAAqBC,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.stories.cjs","sources":["../../../../../src/components/menu/stories/MenuItem.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport React from \"react\";\nimport { InfoIcon } from \"../../icon/index.js\";\nimport { MenuItem as MenuItemComponent } from \"../MenuItem.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Menu/MenuItem\",\n component: MenuItemComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MenuItemComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const MenuItem: Story = {\n args: {\n icon: false,\n expandable: false,\n },\n render: ({ icon, ...props }) => (\n <MenuItemComponent icon={icon ? <InfoIcon /> : undefined} {...props}>\n Hei, jeg er et MenuItem\n </MenuItemComponent>\n ),\n};\n"],"names":["meta","title","component","MenuItemComponent","MenuItem","parameters","layout","tags","args","icon","expandable","render","props","jsx","InfoIcon","children"],"mappings":"60DAMA,MAAMA,EAAO,CACTC,MAAO,4BACPC,UAAWC,EAAAC,SACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAkB,CAC3BI,KAAM,CACFC,MAAM,EACNC,YAAY,GAEhBC,OAAQ,EAAGF,KAAAA,KAASG,KAChBC,MAACV,EAAAA,SAAkB,CAAAM,KAAMA,EAAQI,EAAAA,IAAAC,EAAAA,SAAA,CAAS,QAAK,KAAeF,EAAOG,SAErE"}
1
+ {"version":3,"file":"MenuItem.stories.cjs","sources":["../../../../../src/components/menu/stories/MenuItem.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport React from \"react\";\nimport { InfoIcon } from \"../../icon/index.js\";\nimport { MenuItem as MenuItemComponent } from \"../MenuItem.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Menu/MenuItem\",\n component: MenuItemComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MenuItemComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const MenuItem: Story = {\n args: {\n icon: false,\n expandable: false,\n },\n render: ({ icon, ...props }) => (\n <MenuItemComponent icon={icon ? <InfoIcon /> : undefined} {...props}>\n Hei, jeg er et MenuItem\n </MenuItemComponent>\n ),\n};\n"],"names":["meta","title","component","MenuItemComponent","MenuItem","parameters","layout","tags","args","icon","expandable","render","props","jsx","InfoIcon","children"],"mappings":"60DAMA,MAAMA,EAAO,CACTC,MAAO,4BACPC,UAAWC,EAAAC,SACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAkB,CAC3BI,KAAM,CACFC,MAAM,EACNC,YAAY,GAEhBC,OAAQ,EAAGF,KAAAA,KAASG,KAChBC,MAACV,EAAAA,SAAkB,CAAAM,KAAMA,EAAQI,EAAAA,IAAAC,EAAAA,SAAA,CAAS,QAAK,KAAeF,EAAOG,SAErE"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.stories.cjs","sources":["../../../../../src/components/menu/stories/MenuItemCheckbox.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport { MenuItemCheckbox as MenuItemCheckboxComponent } from \"../MenuItemCheckbox.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Menu/MenuItemCheckbox\",\n component: MenuItemCheckboxComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MenuItemCheckboxComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const MenuItemCheckbox: Story = {\n args: {\n \"aria-checked\": false,\n },\n};\n"],"names":["meta","title","component","MenuItemCheckboxComponent","MenuItemCheckbox","parameters","layout","tags","args"],"mappings":"kMAIA,MAAMA,EAAO,CACTC,MAAO,oCACPC,UAAWC,EAAAC,iBACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,sCAM4B,CACnCC,KAAM,CACF,gBAAgB"}
1
+ {"version":3,"file":"MenuItemCheckbox.stories.cjs","sources":["../../../../../src/components/menu/stories/MenuItemCheckbox.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { MenuItemCheckbox as MenuItemCheckboxComponent } from \"../MenuItemCheckbox.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Menu/MenuItemCheckbox\",\n component: MenuItemCheckboxComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MenuItemCheckboxComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const MenuItemCheckbox: Story = {\n args: {\n \"aria-checked\": false,\n },\n};\n"],"names":["meta","title","component","MenuItemCheckboxComponent","MenuItemCheckbox","parameters","layout","tags","args"],"mappings":"kMAIA,MAAMA,EAAO,CACTC,MAAO,oCACPC,UAAWC,EAAAC,iBACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,sCAM4B,CACnCC,KAAM,CACF,gBAAgB"}
@@ -1,5 +1,5 @@
1
1
  import { Placement } from '@floating-ui/react';
2
- import { HTMLAttributes, ButtonHTMLAttributes, ReactNode } from 'react';
2
+ import { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from 'react';
3
3
  import { DataTestAutoId, WithChildren } from '../../core/types.cjs';
4
4
  import { SwipeChangeHandler } from '../../hooks/useSwipeGesture/useSwipeGesture.cjs';
5
5
  import { PolymorphicPropsWithRef } from '../../utilities/polymorphism/polymorphism.cjs';
@@ -22,7 +22,7 @@ export interface MenuProps extends DataTestAutoId, WithChildren, Omit<ButtonHTML
22
22
  */
23
23
  keepOpenOnClickOutside?: boolean;
24
24
  /**
25
- * Elementet som fungerer som trigger for menyen. Dersom elementet ikke er en `<button>`
25
+ * Elementet som fungerer som trigger for menyen. Dersom elementet ikke er en `<button type="button">`
26
26
  * eller en `forwardRef<HTMLButtonElement>` vil det bli lagt inne i en knapp
27
27
  * med forhåndsdefinert stil. For å komme raskt i gang kan du bruke komponenten
28
28
  * `MenuTriggerButton` fra denne pakken.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react");exports.useMenuWideEvents=(n,t,o)=>{const[r,i]=e.useState(!1),[s,u]=e.useState(!1);return e.useEffect((()=>{if(n)return n.events.on("click",e),n.events.on("menuopen",r),()=>{n.events.off("click",e),n.events.off("menuopen",r)};function e(){u(!1)}function r(e){e.nodeId!==t&&e.parentId===o&&u(!1)}}),[n,t,o,u]),e.useEffect((()=>{s&&n&&n.events.emit("menuopen",{parentId:o,nodeId:t})}),[n,s,t,o]),e.useEffect((()=>{function e({pointerType:e}){"touch"!==e&&i(!0)}function n(){i(!1)}return window.addEventListener("pointermove",e,{once:!0,capture:!0}),window.addEventListener("keydown",n,!0),()=>{window.removeEventListener("pointermove",e,{capture:!0}),window.removeEventListener("keydown",n,!0)}}),[r]),{allowHover:r,isOpen:s,setIsOpen:u}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react");exports.useMenuWideEvents=(n,t,o)=>{const[r,i]=e.useState(!1),[s,u]=e.useState(!1);return e.useEffect((()=>{if(n)return n.events.on("click",e),n.events.on("menuopen",r),()=>{n.events.off("click",e),n.events.off("menuopen",r)};function e(){u(!1)}function r(e){e.nodeId!==t&&e.parentId===o&&u(!1)}}),[n,t,o]),e.useEffect((()=>{s&&n&&n.events.emit("menuopen",{parentId:o,nodeId:t})}),[n,s,t,o]),e.useEffect((()=>{function e({pointerType:e}){"touch"!==e&&i(!0)}function n(){i(!1)}return window.addEventListener("pointermove",e,{once:!0,capture:!0}),window.addEventListener("keydown",n,!0),()=>{window.removeEventListener("pointermove",e,{capture:!0}),window.removeEventListener("keydown",n,!0)}}),[r]),{allowHover:r,isOpen:s,setIsOpen:u}};
2
2
  //# sourceMappingURL=useMenuWideEvents.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuWideEvents.cjs","sources":["../../../../src/components/menu/useMenuWideEvents.ts"],"sourcesContent":["import { FloatingTreeType } from \"@floating-ui/react\";\nimport { useEffect, useState } from \"react\";\n\nexport const useMenuWideEvents = (\n tree: FloatingTreeType | null,\n nodeId: string,\n parentId: string | null,\n): {\n allowHover: boolean;\n isOpen: boolean;\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n} => {\n const [allowHover, setAllowHover] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n\n // Event emitter allows you to communicate across tree components.\n // This effect closes all menus when an item gets clicked anywhere\n // in the tree.\n useEffect(() => {\n if (!tree) return;\n\n function handleTreeClick() {\n setIsOpen(false);\n }\n\n function onSubMenuOpen(event: { nodeId: string; parentId: string }) {\n if (event.nodeId !== nodeId && event.parentId === parentId) {\n setIsOpen(false);\n }\n }\n\n tree.events.on(\"click\", handleTreeClick);\n tree.events.on(\"menuopen\", onSubMenuOpen);\n\n return () => {\n tree.events.off(\"click\", handleTreeClick);\n tree.events.off(\"menuopen\", onSubMenuOpen);\n };\n }, [tree, nodeId, parentId, setIsOpen]);\n\n useEffect(() => {\n if (isOpen && tree) {\n tree.events.emit(\"menuopen\", { parentId, nodeId });\n }\n }, [tree, isOpen, nodeId, parentId]);\n\n // Determine if \"hover\" logic can run based on the modality of input. This\n // prevents unwanted focus synchronization as menus open and close with\n // keyboard navigation and the cursor is resting on the menu.\n useEffect(() => {\n function onPointerMove({ pointerType }: PointerEvent) {\n if (pointerType !== \"touch\") {\n setAllowHover(true);\n }\n }\n\n function onKeyDown() {\n setAllowHover(false);\n }\n\n window.addEventListener(\"pointermove\", onPointerMove, {\n once: true,\n capture: true,\n });\n window.addEventListener(\"keydown\", onKeyDown, true);\n return () => {\n window.removeEventListener(\"pointermove\", onPointerMove, {\n capture: true,\n });\n window.removeEventListener(\"keydown\", onKeyDown, true);\n };\n }, [allowHover]);\n\n return { allowHover, isOpen, setIsOpen };\n};\n"],"names":["tree","nodeId","parentId","allowHover","setAllowHover","useState","isOpen","setIsOpen","useEffect","events","on","handleTreeClick","onSubMenuOpen","off","event","emit","onPointerMove","pointerType","onKeyDown","addEventListener","once","capture","window","removeEventListener"],"mappings":"mIAGiC,CAC7BA,EACAC,EACAC,KAMA,MAAOC,EAAYC,GAAiBC,YAAS,IACtCC,EAAQC,GAAaF,YAAS,GAKrCG,OAAAA,EAAAA,WAAU,KACN,GAAKR,EAYA,OAAAA,EAAAS,OAAOC,GAAG,QAASC,GACnBX,EAAAS,OAAOC,GAAG,WAAYE,GAEpB,KACEZ,EAAAS,OAAOI,IAAI,QAASF,GACpBX,EAAAS,OAAOI,IAAI,WAAYD,EAAa,EAf7C,SAASD,IACLJ,GAAU,EACd,CAEA,SAASK,EAAcE,GACfA,EAAMb,SAAWA,GAAUa,EAAMZ,WAAaA,GAC9CK,GAAU,EAElB,CAO6C,GAE9C,CAACP,EAAMC,EAAQC,EAAUK,IAE5BC,EAAAA,WAAU,KACFF,GAAUN,GACVA,EAAKS,OAAOM,KAAK,WAAY,CAAEb,SAAAA,EAAUD,OAAAA,GAAQ,GAEtD,CAACD,EAAMM,EAAQL,EAAQC,IAK1BM,EAAAA,WAAU,KACG,SAAAQ,GAAgBC,YAAAA,IACD,UAAhBA,GACAb,GAAc,EAEtB,CAEA,SAASc,IACLd,GAAc,EAClB,CAEO,cAAAe,iBAAiB,cAAeH,EAAe,CAClDI,MAAM,EACNC,SAAS,IAENC,OAAAH,iBAAiB,UAAWD,GAAW,GACvC,KACII,OAAAC,oBAAoB,cAAeP,EAAe,CACrDK,SAAS,IAENC,OAAAC,oBAAoB,UAAWL,GAAW,EAAI,CAAA,GAE1D,CAACf,IAEG,CAAEA,WAAAA,EAAYG,OAAAA,EAAQC,UAAAA"}
1
+ {"version":3,"file":"useMenuWideEvents.cjs","sources":["../../../../src/components/menu/useMenuWideEvents.ts"],"sourcesContent":["import type { FloatingTreeType } from \"@floating-ui/react\";\nimport { useEffect, useState } from \"react\";\n\nexport const useMenuWideEvents = (\n tree: FloatingTreeType | null,\n nodeId: string,\n parentId: string | null,\n): {\n allowHover: boolean;\n isOpen: boolean;\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n} => {\n const [allowHover, setAllowHover] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n\n // Event emitter allows you to communicate across tree components.\n // This effect closes all menus when an item gets clicked anywhere\n // in the tree.\n useEffect(() => {\n if (!tree) return;\n\n function handleTreeClick() {\n setIsOpen(false);\n }\n\n function onSubMenuOpen(event: { nodeId: string; parentId: string }) {\n if (event.nodeId !== nodeId && event.parentId === parentId) {\n setIsOpen(false);\n }\n }\n\n tree.events.on(\"click\", handleTreeClick);\n tree.events.on(\"menuopen\", onSubMenuOpen);\n\n return () => {\n tree.events.off(\"click\", handleTreeClick);\n tree.events.off(\"menuopen\", onSubMenuOpen);\n };\n }, [tree, nodeId, parentId]);\n\n useEffect(() => {\n if (isOpen && tree) {\n tree.events.emit(\"menuopen\", { parentId, nodeId });\n }\n }, [tree, isOpen, nodeId, parentId]);\n\n // Determine if \"hover\" logic can run based on the modality of input. This\n // prevents unwanted focus synchronization as menus open and close with\n // keyboard navigation and the cursor is resting on the menu.\n // biome-ignore lint/correctness/useExhaustiveDependencies:\n useEffect(() => {\n function onPointerMove({ pointerType }: PointerEvent) {\n if (pointerType !== \"touch\") {\n setAllowHover(true);\n }\n }\n\n function onKeyDown() {\n setAllowHover(false);\n }\n\n window.addEventListener(\"pointermove\", onPointerMove, {\n once: true,\n capture: true,\n });\n window.addEventListener(\"keydown\", onKeyDown, true);\n return () => {\n window.removeEventListener(\"pointermove\", onPointerMove, {\n capture: true,\n });\n window.removeEventListener(\"keydown\", onKeyDown, true);\n };\n }, [allowHover]);\n\n return { allowHover, isOpen, setIsOpen };\n};\n"],"names":["tree","nodeId","parentId","allowHover","setAllowHover","useState","isOpen","setIsOpen","useEffect","events","on","handleTreeClick","onSubMenuOpen","off","event","emit","onPointerMove","pointerType","onKeyDown","addEventListener","once","capture","window","removeEventListener"],"mappings":"mIAGiC,CAC7BA,EACAC,EACAC,KAMA,MAAOC,EAAYC,GAAiBC,YAAS,IACtCC,EAAQC,GAAaF,YAAS,GAKrCG,OAAAA,EAAAA,WAAU,KACN,GAAKR,EAYA,OAAAA,EAAAS,OAAOC,GAAG,QAASC,GACnBX,EAAAS,OAAOC,GAAG,WAAYE,GAEpB,KACEZ,EAAAS,OAAOI,IAAI,QAASF,GACpBX,EAAAS,OAAOI,IAAI,WAAYD,EAAa,EAf7C,SAASD,IACLJ,GAAU,EACd,CAEA,SAASK,EAAcE,GACfA,EAAMb,SAAWA,GAAUa,EAAMZ,WAAaA,GAC9CK,GAAU,EAElB,CAO6C,GAE9C,CAACP,EAAMC,EAAQC,IAElBM,EAAAA,WAAU,KACFF,GAAUN,GACVA,EAAKS,OAAOM,KAAK,WAAY,CAAEb,SAAAA,EAAUD,OAAAA,GAAQ,GAEtD,CAACD,EAAMM,EAAQL,EAAQC,IAM1BM,EAAAA,WAAU,KACG,SAAAQ,GAAgBC,YAAAA,IACD,UAAhBA,GACAb,GAAc,EAEtB,CAEA,SAASc,IACLd,GAAc,EAClB,CAEO,cAAAe,iBAAiB,cAAeH,EAAe,CAClDI,MAAM,EACNC,SAAS,IAENC,OAAAH,iBAAiB,UAAWD,GAAW,GACvC,KACII,OAAAC,oBAAoB,cAAeP,EAAe,CACrDK,SAAS,IAENC,OAAAC,oBAAoB,UAAWL,GAAW,EAAI,CAAA,GAE1D,CAACf,IAEG,CAAEA,WAAAA,EAAYG,OAAAA,EAAQC,UAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"DismissButton.cjs","sources":["../../../../src/components/message/DismissButton.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes, forwardRef } from \"react\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.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":"iLAQaA,EAAgBC,EAAAA,YACzB,EAAGC,MAAAA,EAAQ,UAAWC,GAAQC,IAEtBC,OAAC,UAAOD,IAAAA,EAAUE,KAAK,SAASC,MAAOL,KAAWC,EAC9CK,SAAA,CAAAC,EAAAA,IAACC,EAAUA,UAAA,CAAAC,QAAQ,QAAQC,MAAI,IAC9BH,EAAAA,IAAA,OAAA,CAAKI,UAAU,cAAeL,SAAMN,SAMrDF,EAAcc,YAAc"}
1
+ {"version":3,"file":"DismissButton.cjs","sources":["../../../../src/components/message/DismissButton.tsx"],"sourcesContent":["import React, { type ButtonHTMLAttributes, forwardRef } from \"react\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.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":"iLAQaA,EAAgBC,EAAAA,YACzB,EAAGC,MAAAA,EAAQ,UAAWC,GAAQC,IAEtBC,OAAC,UAAOD,IAAAA,EAAUE,KAAK,SAASC,MAAOL,KAAWC,EAC9CK,SAAA,CAAAC,EAAAA,IAACC,EAAUA,UAAA,CAAAC,QAAQ,QAAQC,MAAI,IAC9BH,EAAAA,IAAA,OAAA,CAAKI,UAAU,cAAeL,SAAMN,SAMrDF,EAAcc,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormErrorMessage.cjs","sources":["../../../../src/components/message/FormErrorMessage.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, useEffect, useRef } from \"react\";\nimport { useAnimatedHeight } from \"../../hooks/useAnimatedHeight/useAnimatedHeight.js\";\nimport { ErrorMessage } from \"./Message.js\";\nimport { FormErrorMessageProps } from \"./types.js\";\n\nconst defaultMessageProps = {\n title: \"Feil og mangler i skjemaet\",\n};\n\nexport const FormErrorMessage = forwardRef<\n HTMLDivElement,\n FormErrorMessageProps\n>((props, forwardedRef): JSX.Element | null => {\n const { className, errors, isSubmitted, isValid, messageProps, ...rest } =\n props;\n\n const showSummary = isSubmitted && !isValid;\n\n const [messageRef] = useAnimatedHeight<HTMLDivElement>(showSummary, {\n display: \"grid\",\n });\n\n const previousErrors = useRef<Array<string | undefined>>(errors);\n useEffect(() => {\n previousErrors.current = errors;\n }, [errors]);\n const hasNewErrors = errors.length > previousErrors.current.length;\n\n return (\n <div\n ref={forwardedRef}\n className={clsx(\"jkl-form-error-message\", className)}\n {...rest}\n >\n <ErrorMessage\n {...defaultMessageProps}\n {...messageProps}\n ref={messageRef}\n role={hasNewErrors ? \"alert\" : \"presentation\"} // Unngå å repetere hele oppsummeringen etter hvert som feilene rettes\n >\n <ul className=\"jkl-list\">\n {errors\n .filter((error) => typeof error !== \"undefined\")\n .map((error) => (\n <li className=\"jkl-list__item\" key={error}>\n {error}\n </li>\n ))}\n </ul>\n </ErrorMessage>\n </div>\n );\n});\n\nFormErrorMessage.displayName = \"FormErrorMessage\";\n"],"names":["defaultMessageProps","title","FormErrorMessage","forwardRef","props","forwardedRef","className","errors","isSubmitted","isValid","messageProps","rest","showSummary","messageRef","useAnimatedHeight","display","previousErrors","useRef","useEffect","current","hasNewErrors","length","jsx","ref","clsx","children","ErrorMessage","role","filter","error","map","displayName"],"mappings":"4QAMMA,EAAsB,CACxBC,MAAO,8BAGEC,EAAmBC,EAAAA,YAG9B,CAACC,EAAOC,KACA,MAAEC,UAAAA,EAAWC,OAAAA,EAAQC,YAAAA,EAAaC,QAAAA,EAASC,aAAAA,KAAiBC,GAC9DP,EAEEQ,EAAcJ,IAAgBC,GAE7BI,GAAcC,EAAAA,kBAAkCF,EAAa,CAChEG,QAAS,SAGPC,EAAiBC,SAAkCV,GACzDW,EAAAA,WAAU,KACNF,EAAeG,QAAUZ,IAC1B,CAACA,IACJ,MAAMa,EAAeb,EAAOc,OAASL,EAAeG,QAAQE,OAGxD,OAAAC,EAAAA,IAAC,MAAA,CACGC,IAAKlB,EACLC,UAAWkB,EAAAA,KAAK,yBAA0BlB,MACtCK,EAEJc,SAAAH,EAAAA,IAACI,EAAAA,aAAA,IACO1B,KACAU,EACJa,IAAKV,EACLc,KAAMP,EAAe,QAAU,eAE/BK,SAAAH,EAAAA,IAAC,MAAGhB,UAAU,WACTmB,WACIG,QAAQC,UAAiBA,EAAU,MACnCC,KAAKD,GACDP,EAAAA,IAAA,KAAA,CAAGhB,UAAU,iBACTmB,SAAAI,GAD+BA,UAKpD,IAKZ3B,EAAiB6B,YAAc"}
1
+ {"version":3,"file":"FormErrorMessage.cjs","sources":["../../../../src/components/message/FormErrorMessage.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef, useEffect, useRef } from \"react\";\nimport { useAnimatedHeight } from \"../../hooks/useAnimatedHeight/useAnimatedHeight.js\";\nimport { ErrorMessage } from \"./Message.js\";\nimport type { FormErrorMessageProps } from \"./types.js\";\n\nconst defaultMessageProps = {\n title: \"Feil og mangler i skjemaet\",\n};\n\nexport const FormErrorMessage = forwardRef<\n HTMLDivElement,\n FormErrorMessageProps\n>((props, forwardedRef): JSX.Element | null => {\n const { className, errors, isSubmitted, isValid, messageProps, ...rest } =\n props;\n\n const showSummary = isSubmitted && !isValid;\n\n const [messageRef] = useAnimatedHeight<HTMLDivElement>(showSummary, {\n display: \"grid\",\n });\n\n const previousErrors = useRef<Array<string | undefined>>(errors);\n useEffect(() => {\n previousErrors.current = errors;\n }, [errors]);\n const hasNewErrors = errors.length > previousErrors.current.length;\n\n return (\n <div\n ref={forwardedRef}\n className={clsx(\"jkl-form-error-message\", className)}\n {...rest}\n >\n <ErrorMessage\n {...defaultMessageProps}\n {...messageProps}\n ref={messageRef}\n role={hasNewErrors ? \"alert\" : \"presentation\"} // Unngå å repetere hele oppsummeringen etter hvert som feilene rettes\n >\n <ul className=\"jkl-list\">\n {errors\n .filter((error) => typeof error !== \"undefined\")\n .map((error) => (\n <li className=\"jkl-list__item\" key={error}>\n {error}\n </li>\n ))}\n </ul>\n </ErrorMessage>\n </div>\n );\n});\n\nFormErrorMessage.displayName = \"FormErrorMessage\";\n"],"names":["defaultMessageProps","title","FormErrorMessage","forwardRef","props","forwardedRef","className","errors","isSubmitted","isValid","messageProps","rest","showSummary","messageRef","useAnimatedHeight","display","previousErrors","useRef","useEffect","current","hasNewErrors","length","jsx","ref","clsx","children","ErrorMessage","role","filter","error","map","displayName"],"mappings":"4QAMMA,EAAsB,CACxBC,MAAO,8BAGEC,EAAmBC,EAAAA,YAG9B,CAACC,EAAOC,KACA,MAAEC,UAAAA,EAAWC,OAAAA,EAAQC,YAAAA,EAAaC,QAAAA,EAASC,aAAAA,KAAiBC,GAC9DP,EAEEQ,EAAcJ,IAAgBC,GAE7BI,GAAcC,EAAAA,kBAAkCF,EAAa,CAChEG,QAAS,SAGPC,EAAiBC,SAAkCV,GACzDW,EAAAA,WAAU,KACNF,EAAeG,QAAUZ,IAC1B,CAACA,IACJ,MAAMa,EAAeb,EAAOc,OAASL,EAAeG,QAAQE,OAGxD,OAAAC,EAAAA,IAAC,MAAA,CACGC,IAAKlB,EACLC,UAAWkB,EAAAA,KAAK,yBAA0BlB,MACtCK,EAEJc,SAAAH,EAAAA,IAACI,EAAAA,aAAA,IACO1B,KACAU,EACJa,IAAKV,EACLc,KAAMP,EAAe,QAAU,eAE/BK,SAAAH,EAAAA,IAAC,MAAGhB,UAAU,WACTmB,WACIG,QAAQC,UAAiBA,EAAU,MACnCC,KAAKD,GACDP,EAAAA,IAAA,KAAA,CAAGhB,UAAU,iBACTmB,SAAAI,GAD+BA,UAKpD,IAKZ3B,EAAiB6B,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),e=require("../../../clsx-E3yX_9sL.cjs"),r=require("react"),a=require("../../hooks/useId/useId.cjs"),i=require("../icon/icons/ErrorIcon.cjs"),n=require("../icon/icons/InfoIcon.cjs"),c=require("../icon/icons/SuccessIcon.cjs"),o=require("../icon/icons/WarningIcon.cjs"),l=require("./DismissButton.cjs"),t=e=>{switch(e){case"error":return s.jsx(i.ErrorIcon,{className:"jkl-message__icon"});case"info":return s.jsx(n.InfoIcon,{className:"jkl-message__icon"});case"success":return s.jsx(c.SuccessIcon,{className:"jkl-message__icon"});case"warning":return s.jsx(o.WarningIcon,{className:"jkl-message__icon"});default:return null}};function m(i){const n=r.forwardRef(((n,c)=>{const{id:o,title:m,fullWidth:u,density:d,className:g="",dismissed:j,dismissAction:x,children:f,role:k,...h}=n,_=a.useId(o||"jkl-message",{generateSuffix:!o}),p=r.Children.map(f,(s=>"string"==typeof s)),I=null!=p&&p[0]?s.jsx("p",{children:f}):f;return s.jsxs("div",{...h,id:o,ref:c,className:e.clsx("jkl-message","jkl-message--"+i,g,{"jkl-message--full":u,"jkl-message--dismissed":j}),role:k,"data-density":d,children:[t(i),s.jsxs("div",{className:"jkl-message__content","data-theme":"light",children:[m&&s.jsx("p",{className:"jkl-message__title",children:m}),s.jsx("div",{className:"jkl-message__message",children:I})]}),(null==x?void 0:x.handleDismiss)&&s.jsx(l.DismissButton,{"data-theme":"light","aria-controls":_,className:"jkl-message__dismiss-button",label:x.buttonTitle||"Lukk",onClick:x.handleDismiss})]})}));return n.displayName="Message",n}const u=m("info");u.displayName="InfoMessage";const d=m("error");d.displayName="ErrorMessage";const g=m("warning");g.displayName="WarningMessage";const j=m("success");j.displayName="SuccessMessage",exports.ErrorMessage=d,exports.InfoMessage=u,exports.SuccessMessage=j,exports.WarningMessage=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),e=require("../../../clsx-E3yX_9sL.cjs"),r=require("react"),a=require("../../hooks/useId/useId.cjs"),i=require("../icon/icons/ErrorIcon.cjs"),n=require("../icon/icons/InfoIcon.cjs"),c=require("../icon/icons/SuccessIcon.cjs"),o=require("../icon/icons/WarningIcon.cjs"),l=require("./DismissButton.cjs"),t=e=>{switch(e){case"error":return s.jsx(i.ErrorIcon,{className:"jkl-message__icon"});case"info":return s.jsx(n.InfoIcon,{className:"jkl-message__icon"});case"success":return s.jsx(c.SuccessIcon,{className:"jkl-message__icon"});case"warning":return s.jsx(o.WarningIcon,{className:"jkl-message__icon"});default:return null}};function m(i){const n=r.forwardRef(((n,c)=>{const{id:o,title:m,fullWidth:u,density:d,className:g="",dismissed:j,dismissAction:x,children:f,role:k,...h}=n,_=a.useId(o||"jkl-message",{generateSuffix:!o}),p=r.Children.map(f,(s=>"string"==typeof s)),I=null!=p&&p[0]?s.jsx("p",{children:f}):f;return s.jsxs("div",{...h,id:o,ref:c,className:e.clsx("jkl-message",`jkl-message--${i}`,g,{"jkl-message--full":u,"jkl-message--dismissed":j}),role:k,"data-density":d,children:[t(i),s.jsxs("div",{className:"jkl-message__content","data-theme":"light",children:[m&&s.jsx("p",{className:"jkl-message__title",children:m}),s.jsx("div",{className:"jkl-message__message",children:I})]}),(null==x?void 0:x.handleDismiss)&&s.jsx(l.DismissButton,{"data-theme":"light","aria-controls":_,className:"jkl-message__dismiss-button",label:x.buttonTitle||"Lukk",onClick:x.handleDismiss})]})}));return n.displayName="Message",n}const u=m("info");u.displayName="InfoMessage";const d=m("error");d.displayName="ErrorMessage";const g=m("warning");g.displayName="WarningMessage";const j=m("success");j.displayName="SuccessMessage",exports.ErrorMessage=d,exports.InfoMessage=u,exports.SuccessMessage=j,exports.WarningMessage=g;
2
2
  //# sourceMappingURL=Message.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Message.cjs","sources":["../../../../src/components/message/Message.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { ErrorIcon } from \"../icon/icons/ErrorIcon.js\";\nimport { InfoIcon } from \"../icon/icons/InfoIcon.js\";\nimport { SuccessIcon } from \"../icon/icons/SuccessIcon.js\";\nimport { WarningIcon } from \"../icon/icons/WarningIcon.js\";\nimport { DismissButton } from \"./DismissButton.js\";\nimport { MessageProps } from \"./types.js\";\n\ntype messageTypes = \"info\" | \"error\" | \"success\" | \"warning\";\n\nconst getIcon = (messageType: messageTypes) => {\n switch (messageType) {\n case \"error\":\n return <ErrorIcon className=\"jkl-message__icon\" />;\n case \"info\":\n return <InfoIcon className=\"jkl-message__icon\" />;\n case \"success\":\n return <SuccessIcon className=\"jkl-message__icon\" />;\n case \"warning\":\n return <WarningIcon className=\"jkl-message__icon\" />;\n default:\n return null;\n }\n};\n\nfunction messageFactory(messageType: messageTypes) {\n const Message = forwardRef<HTMLDivElement, MessageProps>((props, ref) => {\n const {\n id,\n title,\n fullWidth,\n density,\n className = \"\",\n dismissed,\n dismissAction,\n children,\n role,\n ...rest\n } = props;\n\n const boxId = useId(id || \"jkl-message\", { generateSuffix: !id });\n\n const hasStringChild = React.Children.map(\n children,\n (child) => typeof child === \"string\",\n );\n const newChildren = hasStringChild?.[0] ? <p>{children}</p> : children;\n\n return (\n <div\n {...rest}\n id={id}\n ref={ref}\n className={clsx(\n \"jkl-message\",\n \"jkl-message--\" + messageType,\n className,\n {\n \"jkl-message--full\": fullWidth,\n \"jkl-message--dismissed\": dismissed,\n },\n )}\n role={role}\n data-density={density}\n >\n {getIcon(messageType)}\n <div className=\"jkl-message__content\" data-theme=\"light\">\n {title && <p className=\"jkl-message__title\">{title}</p>}\n <div className=\"jkl-message__message\">{newChildren}</div>\n </div>\n {dismissAction?.handleDismiss && (\n <DismissButton\n data-theme=\"light\"\n aria-controls={boxId}\n className=\"jkl-message__dismiss-button\"\n label={dismissAction.buttonTitle || \"Lukk\"}\n onClick={dismissAction.handleDismiss}\n />\n )}\n </div>\n );\n });\n\n Message.displayName = \"Message\";\n\n return Message;\n}\n\nexport const InfoMessage = messageFactory(\"info\");\nInfoMessage.displayName = \"InfoMessage\";\nexport const ErrorMessage = messageFactory(\"error\");\nErrorMessage.displayName = \"ErrorMessage\";\nexport const WarningMessage = messageFactory(\"warning\");\nWarningMessage.displayName = \"WarningMessage\";\nexport const SuccessMessage = messageFactory(\"success\");\nSuccessMessage.displayName = \"SuccessMessage\";\n"],"names":["getIcon","messageType","jsx","ErrorIcon","className","InfoIcon","SuccessIcon","WarningIcon","messageFactory","Message","forwardRef","props","ref","id","title","fullWidth","density","dismissed","dismissAction","children","role","rest","boxId","useId","generateSuffix","hasStringChild","React","Children","map","child","newChildren","jsxs","clsx","handleDismiss","DismissButton","label","buttonTitle","onClick","displayName","InfoMessage","ErrorMessage","WarningMessage","SuccessMessage"],"mappings":"iaAYMA,EAAWC,IACb,OAAQA,GACJ,IAAK,QACM,OAAAC,EAAAA,IAACC,EAAUA,UAAA,CAAAC,UAAU,sBAChC,IAAK,OACM,OAAAF,EAAAA,IAACG,EAASA,SAAA,CAAAD,UAAU,sBAC/B,IAAK,UACM,OAAAF,EAAAA,IAACI,EAAYA,YAAA,CAAAF,UAAU,sBAClC,IAAK,UACM,OAAAF,EAAAA,IAACK,EAAYA,YAAA,CAAAH,UAAU,sBAClC,QACW,OAAA,KACf,EAGJ,SAASI,EAAeP,GACpB,MAAMQ,EAAUC,EAAAA,YAAyC,CAACC,EAAOC,KACvD,MACFC,GAAAA,EACAC,MAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAZ,UAAAA,EAAY,GACZa,UAAAA,EACAC,cAAAA,EACAC,SAAAA,EACAC,KAAAA,KACGC,GACHV,EAEEW,EAAQC,QAAMV,GAAM,cAAe,CAAEW,gBAAiBX,IAEtDY,EAAiBC,EAAMC,SAASC,IAClCT,GACCU,GAA2B,iBAAVA,IAEhBC,EAAc,MAAAL,GAAAA,EAAiB,GAAMvB,EAAAA,IAAA,IAAA,CAAGiB,SAAAA,IAAgBA,EAG1D,OAAAY,EAAAA,KAAC,MAAA,IACOV,EACJR,GAAAA,EACAD,IAAAA,EACAR,UAAW4B,EAAAA,KACP,cACA,gBAAkB/B,EAClBG,EACA,CACI,oBAAqBW,EACrB,yBAA0BE,IAGlCG,KAAAA,EACA,eAAcJ,EAEbG,SAAA,CAAAnB,EAAQC,GACR8B,EAAAA,KAAA,MAAA,CAAI3B,UAAU,uBAAuB,aAAW,QAC5Ce,SAAA,CAAAL,GAAUZ,EAAAA,IAAA,IAAA,CAAEE,UAAU,qBAAsBe,SAAML,IAClDZ,EAAAA,IAAA,MAAA,CAAIE,UAAU,uBAAwBe,SAAYW,QAEtD,MAAAZ,OAAA,EAAAA,EAAee,gBACZ/B,EAAAA,IAACgC,EAAAA,cAAA,CACG,aAAW,QACX,gBAAeZ,EACflB,UAAU,8BACV+B,MAAOjB,EAAckB,aAAe,OACpCC,QAASnB,EAAce,kBAC3B,IAMhB,OAAAxB,EAAQ6B,YAAc,UAEf7B,CACX,CAEa,MAAA8B,EAAc/B,EAAe,QAC1C+B,EAAYD,YAAc,cACb,MAAAE,EAAehC,EAAe,SAC3CgC,EAAaF,YAAc,eACd,MAAAG,EAAiBjC,EAAe,WAC7CiC,EAAeH,YAAc,iBAChB,MAAAI,EAAiBlC,EAAe,WAC7CkC,EAAeJ,YAAc"}
1
+ {"version":3,"file":"Message.cjs","sources":["../../../../src/components/message/Message.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { ErrorIcon } from \"../icon/icons/ErrorIcon.js\";\nimport { InfoIcon } from \"../icon/icons/InfoIcon.js\";\nimport { SuccessIcon } from \"../icon/icons/SuccessIcon.js\";\nimport { WarningIcon } from \"../icon/icons/WarningIcon.js\";\nimport { DismissButton } from \"./DismissButton.js\";\nimport type { MessageProps } from \"./types.js\";\n\ntype messageTypes = \"info\" | \"error\" | \"success\" | \"warning\";\n\nconst getIcon = (messageType: messageTypes) => {\n switch (messageType) {\n case \"error\":\n return <ErrorIcon className=\"jkl-message__icon\" />;\n case \"info\":\n return <InfoIcon className=\"jkl-message__icon\" />;\n case \"success\":\n return <SuccessIcon className=\"jkl-message__icon\" />;\n case \"warning\":\n return <WarningIcon className=\"jkl-message__icon\" />;\n default:\n return null;\n }\n};\n\nfunction messageFactory(messageType: messageTypes) {\n const Message = forwardRef<HTMLDivElement, MessageProps>((props, ref) => {\n const {\n id,\n title,\n fullWidth,\n density,\n className = \"\",\n dismissed,\n dismissAction,\n children,\n role,\n ...rest\n } = props;\n\n const boxId = useId(id || \"jkl-message\", { generateSuffix: !id });\n\n const hasStringChild = React.Children.map(\n children,\n (child) => typeof child === \"string\",\n );\n const newChildren = hasStringChild?.[0] ? <p>{children}</p> : children;\n\n return (\n <div\n {...rest}\n id={id}\n ref={ref}\n className={clsx(\n \"jkl-message\",\n `jkl-message--${messageType}`,\n className,\n {\n \"jkl-message--full\": fullWidth,\n \"jkl-message--dismissed\": dismissed,\n },\n )}\n role={role}\n data-density={density}\n >\n {getIcon(messageType)}\n <div className=\"jkl-message__content\" data-theme=\"light\">\n {title && <p className=\"jkl-message__title\">{title}</p>}\n <div className=\"jkl-message__message\">{newChildren}</div>\n </div>\n {dismissAction?.handleDismiss && (\n <DismissButton\n data-theme=\"light\"\n aria-controls={boxId}\n className=\"jkl-message__dismiss-button\"\n label={dismissAction.buttonTitle || \"Lukk\"}\n onClick={dismissAction.handleDismiss}\n />\n )}\n </div>\n );\n });\n\n Message.displayName = \"Message\";\n\n return Message;\n}\n\nexport const InfoMessage = messageFactory(\"info\");\nInfoMessage.displayName = \"InfoMessage\";\nexport const ErrorMessage = messageFactory(\"error\");\nErrorMessage.displayName = \"ErrorMessage\";\nexport const WarningMessage = messageFactory(\"warning\");\nWarningMessage.displayName = \"WarningMessage\";\nexport const SuccessMessage = messageFactory(\"success\");\nSuccessMessage.displayName = \"SuccessMessage\";\n"],"names":["getIcon","messageType","jsx","ErrorIcon","className","InfoIcon","SuccessIcon","WarningIcon","messageFactory","Message","forwardRef","props","ref","id","title","fullWidth","density","dismissed","dismissAction","children","role","rest","boxId","useId","generateSuffix","hasStringChild","React","Children","map","child","newChildren","jsxs","clsx","handleDismiss","DismissButton","label","buttonTitle","onClick","displayName","InfoMessage","ErrorMessage","WarningMessage","SuccessMessage"],"mappings":"iaAYMA,EAAWC,IACb,OAAQA,GACJ,IAAK,QACM,OAAAC,EAAAA,IAACC,EAAUA,UAAA,CAAAC,UAAU,sBAChC,IAAK,OACM,OAAAF,EAAAA,IAACG,EAASA,SAAA,CAAAD,UAAU,sBAC/B,IAAK,UACM,OAAAF,EAAAA,IAACI,EAAYA,YAAA,CAAAF,UAAU,sBAClC,IAAK,UACM,OAAAF,EAAAA,IAACK,EAAYA,YAAA,CAAAH,UAAU,sBAClC,QACW,OAAA,KACf,EAGJ,SAASI,EAAeP,GACpB,MAAMQ,EAAUC,EAAAA,YAAyC,CAACC,EAAOC,KACvD,MACFC,GAAAA,EACAC,MAAAA,EACAC,UAAAA,EACAC,QAAAA,EACAZ,UAAAA,EAAY,GACZa,UAAAA,EACAC,cAAAA,EACAC,SAAAA,EACAC,KAAAA,KACGC,GACHV,EAEEW,EAAQC,QAAMV,GAAM,cAAe,CAAEW,gBAAiBX,IAEtDY,EAAiBC,EAAMC,SAASC,IAClCT,GACCU,GAA2B,iBAAVA,IAEhBC,EAAc,MAAAL,GAAAA,EAAiB,GAAMvB,EAAAA,IAAA,IAAA,CAAGiB,SAAAA,IAAgBA,EAG1D,OAAAY,EAAAA,KAAC,MAAA,IACOV,EACJR,GAAAA,EACAD,IAAAA,EACAR,UAAW4B,EAAAA,KACP,cACA,gBAAgB/B,IAChBG,EACA,CACI,oBAAqBW,EACrB,yBAA0BE,IAGlCG,KAAAA,EACA,eAAcJ,EAEbG,SAAA,CAAAnB,EAAQC,GACR8B,EAAAA,KAAA,MAAA,CAAI3B,UAAU,uBAAuB,aAAW,QAC5Ce,SAAA,CAAAL,GAAUZ,EAAAA,IAAA,IAAA,CAAEE,UAAU,qBAAsBe,SAAML,IAClDZ,EAAAA,IAAA,MAAA,CAAIE,UAAU,uBAAwBe,SAAYW,QAEtD,MAAAZ,OAAA,EAAAA,EAAee,gBACZ/B,EAAAA,IAACgC,EAAAA,cAAA,CACG,aAAW,QACX,gBAAeZ,EACflB,UAAU,8BACV+B,MAAOjB,EAAckB,aAAe,OACpCC,QAASnB,EAAce,kBAC3B,IAMhB,OAAAxB,EAAQ6B,YAAc,UAEf7B,CACX,CAEa,MAAA8B,EAAc/B,EAAe,QAC1C+B,EAAYD,YAAc,cACb,MAAAE,EAAehC,EAAe,SAC3CgC,EAAaF,YAAc,eACd,MAAAG,EAAiBjC,EAAe,WAC7CiC,EAAeH,YAAc,iBAChB,MAAAI,EAAiBlC,EAAe,WAC7CkC,EAAeJ,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorMessage.stories.cjs","sources":["../../../../../src/components/message/stories/ErrorMessage.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport { ErrorMessage as MessageComponent } from \"../Message.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const ErrorMessage: Story = {\n args: {\n children: \"Hei, jeg er en melding av typen error\",\n title: \"Error\",\n dismissAction: { handleDismiss() {} },\n },\n};\n"],"names":["meta","title","component","MessageComponent","ErrorMessage","parameters","layout","tags","args","children","dismissAction","handleDismiss"],"mappings":"yLAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,aACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAsB,CAC/BI,KAAM,CACFC,SAAU,wCACVR,MAAO,QACPS,cAAe,CAAEC,gBAAgB"}
1
+ {"version":3,"file":"ErrorMessage.stories.cjs","sources":["../../../../../src/components/message/stories/ErrorMessage.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { ErrorMessage as MessageComponent } from \"../Message.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const ErrorMessage: Story = {\n args: {\n children: \"Hei, jeg er en melding av typen error\",\n title: \"Error\",\n dismissAction: { handleDismiss() {} },\n },\n};\n"],"names":["meta","title","component","MessageComponent","ErrorMessage","parameters","layout","tags","args","children","dismissAction","handleDismiss"],"mappings":"yLAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,aACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAsB,CAC/BI,KAAM,CACFC,SAAU,wCACVR,MAAO,QACPS,cAAe,CAAEC,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormErrorMessage.stories.cjs","sources":["../../../../../src/components/message/stories/FormErrorMessage.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport { FormErrorMessage as MessageComponent } from \"../FormErrorMessage.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const FormErrorMessage: Story = {\n args: {\n errors: [\"Du må oppgi fornavn\", \"Du må oppgi etternavn\"],\n isSubmitted: true,\n isValid: false,\n },\n};\n"],"names":["meta","title","component","MessageComponent","FormErrorMessage","parameters","layout","tags","args","errors","isSubmitted","isValid"],"mappings":"kMAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,iBACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,sCAM4B,CACnCC,KAAM,CACFC,OAAQ,CAAC,sBAAuB,yBAChCC,aAAa,EACbC,SAAS"}
1
+ {"version":3,"file":"FormErrorMessage.stories.cjs","sources":["../../../../../src/components/message/stories/FormErrorMessage.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { FormErrorMessage as MessageComponent } from \"../FormErrorMessage.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const FormErrorMessage: Story = {\n args: {\n errors: [\"Du må oppgi fornavn\", \"Du må oppgi etternavn\"],\n isSubmitted: true,\n isValid: false,\n },\n};\n"],"names":["meta","title","component","MessageComponent","FormErrorMessage","parameters","layout","tags","args","errors","isSubmitted","isValid"],"mappings":"kMAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,iBACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,sCAM4B,CACnCC,KAAM,CACFC,OAAQ,CAAC,sBAAuB,yBAChCC,aAAa,EACbC,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"InfoMessage.stories.cjs","sources":["../../../../../src/components/message/stories/InfoMessage.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport { InfoMessage as MessageComponent } from \"../Message.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const InfoMessage: Story = {\n args: {\n children: `Hei, jeg er en melding av typen info`,\n title: \"Info\",\n dismissAction: { handleDismiss() {} },\n },\n};\n"],"names":["meta","title","component","MessageComponent","InfoMessage","parameters","layout","tags","args","children","dismissAction","handleDismiss"],"mappings":"yLAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,YACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAqB,CAC9BI,KAAM,CACFC,SAAU,uCACVR,MAAO,OACPS,cAAe,CAAEC,gBAAgB"}
1
+ {"version":3,"file":"InfoMessage.stories.cjs","sources":["../../../../../src/components/message/stories/InfoMessage.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { InfoMessage as MessageComponent } from \"../Message.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const InfoMessage: Story = {\n args: {\n children: \"Hei, jeg er en melding av typen info\",\n title: \"Info\",\n dismissAction: { handleDismiss() {} },\n },\n};\n"],"names":["meta","title","component","MessageComponent","InfoMessage","parameters","layout","tags","args","children","dismissAction","handleDismiss"],"mappings":"yLAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,YACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAqB,CAC9BI,KAAM,CACFC,SAAU,uCACVR,MAAO,OACPS,cAAe,CAAEC,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SuccessMessage.stories.cjs","sources":["../../../../../src/components/message/stories/SuccessMessage.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport { SuccessMessage as MessageComponent } from \"../Message.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const SuccessMessage: Story = {\n args: {\n children: \"Hei, jeg er en melding av typen success\",\n title: \"Success\",\n dismissAction: { handleDismiss() {} },\n },\n};\n"],"names":["meta","title","component","MessageComponent","SuccessMessage","parameters","layout","tags","args","children","dismissAction","handleDismiss"],"mappings":"yLAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,eACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAwB,CACjCI,KAAM,CACFC,SAAU,0CACVR,MAAO,UACPS,cAAe,CAAEC,gBAAgB"}
1
+ {"version":3,"file":"SuccessMessage.stories.cjs","sources":["../../../../../src/components/message/stories/SuccessMessage.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { SuccessMessage as MessageComponent } from \"../Message.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const SuccessMessage: Story = {\n args: {\n children: \"Hei, jeg er en melding av typen success\",\n title: \"Success\",\n dismissAction: { handleDismiss() {} },\n },\n};\n"],"names":["meta","title","component","MessageComponent","SuccessMessage","parameters","layout","tags","args","children","dismissAction","handleDismiss"],"mappings":"yLAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,eACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAwB,CACjCI,KAAM,CACFC,SAAU,0CACVR,MAAO,UACPS,cAAe,CAAEC,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"WarningMessage.stories.cjs","sources":["../../../../../src/components/message/stories/WarningMessage.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport { WarningMessage as MessageComponent } from \"../Message.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const WarningMessage: Story = {\n args: {\n children: \"Hei, jeg er en melding av typen warning\",\n title: \"Warning\",\n dismissAction: { handleDismiss() {} },\n },\n};\n"],"names":["meta","title","component","MessageComponent","WarningMessage","parameters","layout","tags","args","children","dismissAction","handleDismiss"],"mappings":"yLAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,eACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAwB,CACjCI,KAAM,CACFC,SAAU,0CACVR,MAAO,UACPS,cAAe,CAAEC,gBAAgB"}
1
+ {"version":3,"file":"WarningMessage.stories.cjs","sources":["../../../../../src/components/message/stories/WarningMessage.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { WarningMessage as MessageComponent } from \"../Message.js\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Message\",\n component: MessageComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof MessageComponent>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const WarningMessage: Story = {\n args: {\n children: \"Hei, jeg er en melding av typen warning\",\n title: \"Warning\",\n dismissAction: { handleDismiss() {} },\n },\n};\n"],"names":["meta","title","component","MessageComponent","WarningMessage","parameters","layout","tags","args","children","dismissAction","handleDismiss"],"mappings":"yLAIA,MAAMA,EAAO,CACTC,MAAO,sBACPC,UAAWC,EAAAC,eACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAMEH,EAAwB,CACjCI,KAAM,CACFC,SAAU,0CACVR,MAAO,UACPS,cAAe,CAAEC,gBAAgB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("../../../clsx-E3yX_9sL.cjs"),s=require("react"),l=require("../icon/icons/CloseIcon.cjs"),o=require("../icon-button/IconButton.cjs"),r=s.forwardRef((({className:s,...l},o)=>a.jsx("div",{className:e.clsx("jkl-modal-container",s),...l,ref:o,"data-portal":!0})));r.displayName="ModalContainer";const d=s.forwardRef((({className:s,transparent:l,...o},r)=>a.jsx("div",{className:e.clsx("jkl-modal-overlay",s,{"jkl-modal-overlay--transparent":l}),...o,ref:r})));d.displayName="ModalOverlay";const t=s.forwardRef((({className:s,component:l,padding:o,style:r,...d},t)=>{const c=l||"div";return a.jsx(c,{className:e.clsx("jkl jkl-modal",s),style:{"--jkl-modal-padding":o?`var(--jkl-spacing-${o})`:void 0,...r},...d,ref:t})}));t.displayName="Modal";const c=s.forwardRef((({className:s,...l},o)=>a.jsx("div",{className:e.clsx("jkl-modal-header",s),...l,ref:o})));c.displayName="ModalHeader";const n=s.forwardRef((({className:s,...l},o)=>a.jsx("p",{className:e.clsx("jkl-modal-title",s),...l,ref:o})));n.displayName="ModalTitle";const i=s.forwardRef((({className:s,...r},d)=>a.jsx(o.IconButton,{className:e.clsx("jkl-modal-close",s),"data-testautoid":"jkl-modal-close",...r,ref:d,children:a.jsx(l.CloseIcon,{variant:"medium"})})));i.displayName="ModalCloseButton";const m=s.forwardRef((({className:s,...l},o)=>a.jsx("div",{className:e.clsx("jkl-modal-body",s),...l,ref:o})));m.displayName="ModalBody";const x=s.forwardRef((({className:s,...l},o)=>a.jsx("div",{className:e.clsx("jkl-modal-actions",s),...l,ref:o})));x.displayName="ModalActions",exports.Modal=t,exports.ModalActions=x,exports.ModalBody=m,exports.ModalCloseButton=i,exports.ModalContainer=r,exports.ModalHeader=c,exports.ModalOverlay=d,exports.ModalTitle=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("../../../clsx-E3yX_9sL.cjs"),s=require("react"),l=require("../icon-button/IconButton.cjs"),o=require("../icon/icons/CloseIcon.cjs"),r=s.forwardRef((({className:s,...l},o)=>a.jsx("div",{className:e.clsx("jkl-modal-container",s),...l,ref:o,"data-portal":!0})));r.displayName="ModalContainer";const d=s.forwardRef((({className:s,transparent:l,...o},r)=>a.jsx("div",{className:e.clsx("jkl-modal-overlay",s,{"jkl-modal-overlay--transparent":l}),...o,ref:r})));d.displayName="ModalOverlay";const t=s.forwardRef((({className:s,component:l,padding:o,style:r,...d},t)=>{const c=l||"div";return a.jsx(c,{className:e.clsx("jkl jkl-modal",s),style:{"--jkl-modal-padding":o?`var(--jkl-spacing-${o})`:void 0,...r},...d,ref:t})}));t.displayName="Modal";const c=s.forwardRef((({className:s,...l},o)=>a.jsx("div",{className:e.clsx("jkl-modal-header",s),...l,ref:o})));c.displayName="ModalHeader";const n=s.forwardRef((({className:s,...l},o)=>a.jsx("p",{className:e.clsx("jkl-modal-title",s),...l,ref:o})));n.displayName="ModalTitle";const i=s.forwardRef((({className:s,...r},d)=>a.jsx(l.IconButton,{className:e.clsx("jkl-modal-close",s),"data-testautoid":"jkl-modal-close",...r,ref:d,children:a.jsx(o.CloseIcon,{variant:"medium"})})));i.displayName="ModalCloseButton";const m=s.forwardRef((({className:s,...l},o)=>a.jsx("div",{className:e.clsx("jkl-modal-body",s),...l,ref:o})));m.displayName="ModalBody";const x=s.forwardRef((({className:s,...l},o)=>a.jsx("div",{className:e.clsx("jkl-modal-actions",s),...l,ref:o})));x.displayName="ModalActions",exports.Modal=t,exports.ModalActions=x,exports.ModalBody=m,exports.ModalCloseButton=i,exports.ModalContainer=r,exports.ModalHeader=c,exports.ModalOverlay=d,exports.ModalTitle=n;
2
2
  //# sourceMappingURL=Modal.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.cjs","sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.js\";\nimport { IconButton } from \"../icon-button/IconButton.js\";\nimport { IconButtonProps } from \"../icon-button/types.js\";\nimport {\n BaseModalProps,\n ModalConfig,\n ModalOverlayProps,\n ModalProps,\n} from \"./types.js\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalContainer = forwardRef<\n HTMLDivElement,\n ModalConfig[\"container\"] & BaseModalProps\n>(({ className, ...rest }, ref) => {\n // TODO: 'data-portal' fjernes når modalen tar i bruk Popover komponenten. Issue: https://github.com/fremtind/jokul/issues/4356\n return (\n <div\n className={clsx(\"jkl-modal-container\", className)}\n {...rest}\n ref={ref}\n data-portal\n />\n );\n});\nModalContainer.displayName = \"ModalContainer\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalOverlay = forwardRef<HTMLDivElement, ModalOverlayProps>(\n ({ className, transparent, ...rest }, ref) => (\n <div\n className={clsx(\"jkl-modal-overlay\", className, {\n \"jkl-modal-overlay--transparent\": transparent,\n })}\n {...rest}\n ref={ref}\n />\n ),\n);\nModalOverlay.displayName = \"ModalOverlay\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const Modal = forwardRef<HTMLElement, ModalConfig[\"modal\"] & ModalProps>(\n ({ className, component, padding, style, ...rest }, ref) => {\n const C = component || \"div\";\n return (\n <C\n className={clsx(\"jkl jkl-modal\", className)}\n style={\n {\n \"--jkl-modal-padding\": padding\n ? `var(--jkl-spacing-${padding})`\n : undefined,\n ...style,\n } as React.CSSProperties\n }\n {...rest}\n ref={ref}\n />\n );\n },\n);\nModal.displayName = \"Modal\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalHeader = forwardRef<HTMLDivElement, BaseModalProps>(\n ({ className, ...rest }, ref) => (\n <div\n className={clsx(\"jkl-modal-header\", className)}\n {...rest}\n ref={ref}\n />\n ),\n);\nModalHeader.displayName = \"ModalHeader\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalTitle = forwardRef<\n HTMLParagraphElement,\n ModalConfig[\"title\"] & BaseModalProps\n>(({ className, ...rest }, ref) => (\n <p className={clsx(\"jkl-modal-title\", className)} {...rest} ref={ref} />\n));\nModalTitle.displayName = \"ModalTitle\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalCloseButton = forwardRef<\n HTMLButtonElement,\n Omit<ModalConfig[\"closeButton\"], \"onClick\"> &\n BaseModalProps &\n IconButtonProps\n>(({ className, ...rest }, ref) => (\n <IconButton\n className={clsx(\"jkl-modal-close\", className)}\n data-testautoid=\"jkl-modal-close\"\n {...rest}\n ref={ref}\n >\n <CloseIcon variant=\"medium\" />\n </IconButton>\n));\nModalCloseButton.displayName = \"ModalCloseButton\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalBody = forwardRef<HTMLDivElement, BaseModalProps>(\n ({ className, ...rest }, ref) => (\n <div\n className={clsx(\"jkl-modal-body\", className)}\n {...rest}\n ref={ref}\n />\n ),\n);\nModalBody.displayName = \"ModalBody\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalActions = forwardRef<HTMLDivElement, BaseModalProps>(\n ({ className, ...rest }, ref) => (\n <div\n className={clsx(\"jkl-modal-actions\", className)}\n {...rest}\n ref={ref}\n />\n ),\n);\nModalActions.displayName = \"ModalActions\";\n"],"names":["ModalContainer","forwardRef","className","rest","ref","jsx","clsx","displayName","ModalOverlay","transparent","Modal","component","padding","style","C","ModalHeader","ModalTitle","ModalCloseButton","IconButton","children","CloseIcon","variant","ModalBody","ModalActions"],"mappings":"oQAeaA,EAAiBC,cAG5B,EAAGC,UAAAA,KAAcC,GAAQC,IAGnBC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,sBAAuBJ,MACnCC,EACJC,IAAAA,EACA,eAAW,MAIvBJ,EAAeO,YAAc,iBAKtB,MAAMC,EAAeP,EAAAA,YACxB,EAAGC,UAAAA,EAAWO,YAAAA,KAAgBN,GAAQC,IAClCC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,oBAAqBJ,EAAW,CAC5C,iCAAkCO,OAElCN,EACJC,IAAAA,MAIZI,EAAaD,YAAc,eAKpB,MAAMG,EAAQT,EAAAA,YACjB,EAAGC,UAAAA,EAAWS,UAAAA,EAAWC,QAAAA,EAASC,MAAAA,KAAUV,GAAQC,KAChD,MAAMU,EAAIH,GAAa,MAEnB,OAAAN,EAAAA,IAACS,EAAA,CACGZ,UAAWI,EAAAA,KAAK,gBAAiBJ,GACjCW,MACI,CACI,sBAAuBD,EACjB,qBAAqBA,UACrB,KACHC,MAGPV,EACJC,IAAAA,GAAA,IAKhBM,EAAMH,YAAc,QAKb,MAAMQ,EAAcd,EAAAA,YACvB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,mBAAoBJ,MAChCC,EACJC,IAAAA,MAIZW,EAAYR,YAAc,cAKnB,MAAMS,EAAaf,EAGxBA,YAAA,EAAGC,UAAAA,KAAcC,GAAQC,UACtB,IAAE,CAAAF,UAAWI,OAAK,kBAAmBJ,MAAgBC,EAAMC,IAAAA,MAEhEY,EAAWT,YAAc,aAKZ,MAAAU,EAAmBhB,cAK9B,EAAGC,UAAAA,KAAcC,GAAQC,IACvBC,EAAAA,IAACa,EAAAA,WAAA,CACGhB,UAAWI,EAAAA,KAAK,kBAAmBJ,GACnC,kBAAgB,qBACZC,EACJC,IAAAA,EAEAe,SAAAd,EAAAA,IAACe,EAAAA,UAAU,CAAAC,QAAQ,eAG3BJ,EAAiBV,YAAc,mBAKxB,MAAMe,EAAYrB,EAAAA,YACrB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,iBAAkBJ,MAC9BC,EACJC,IAAAA,MAIZkB,EAAUf,YAAc,YAKjB,MAAMgB,EAAetB,EAAAA,YACxB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,oBAAqBJ,MACjCC,EACJC,IAAAA,MAIZmB,EAAahB,YAAc"}
1
+ {"version":3,"file":"Modal.cjs","sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { IconButton } from \"../icon-button/IconButton.js\";\nimport type { IconButtonProps } from \"../icon-button/types.js\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.js\";\nimport type {\n BaseModalProps,\n ModalConfig,\n ModalOverlayProps,\n ModalProps,\n} from \"./types.js\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalContainer = forwardRef<\n HTMLDivElement,\n ModalConfig[\"container\"] & BaseModalProps\n>(({ className, ...rest }, ref) => {\n // TODO: 'data-portal' fjernes når modalen tar i bruk Popover komponenten. Issue: https://github.com/fremtind/jokul/issues/4356\n return (\n <div\n className={clsx(\"jkl-modal-container\", className)}\n {...rest}\n ref={ref}\n data-portal\n />\n );\n});\nModalContainer.displayName = \"ModalContainer\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalOverlay = forwardRef<HTMLDivElement, ModalOverlayProps>(\n ({ className, transparent, ...rest }, ref) => (\n <div\n className={clsx(\"jkl-modal-overlay\", className, {\n \"jkl-modal-overlay--transparent\": transparent,\n })}\n {...rest}\n ref={ref}\n />\n ),\n);\nModalOverlay.displayName = \"ModalOverlay\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const Modal = forwardRef<HTMLElement, ModalConfig[\"modal\"] & ModalProps>(\n ({ className, component, padding, style, ...rest }, ref) => {\n const C = component || \"div\";\n return (\n <C\n className={clsx(\"jkl jkl-modal\", className)}\n style={\n {\n \"--jkl-modal-padding\": padding\n ? `var(--jkl-spacing-${padding})`\n : undefined,\n ...style,\n } as React.CSSProperties\n }\n {...rest}\n ref={ref}\n />\n );\n },\n);\nModal.displayName = \"Modal\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalHeader = forwardRef<HTMLDivElement, BaseModalProps>(\n ({ className, ...rest }, ref) => (\n <div\n className={clsx(\"jkl-modal-header\", className)}\n {...rest}\n ref={ref}\n />\n ),\n);\nModalHeader.displayName = \"ModalHeader\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalTitle = forwardRef<\n HTMLParagraphElement,\n ModalConfig[\"title\"] & BaseModalProps\n>(({ className, ...rest }, ref) => (\n <p className={clsx(\"jkl-modal-title\", className)} {...rest} ref={ref} />\n));\nModalTitle.displayName = \"ModalTitle\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalCloseButton = forwardRef<\n HTMLButtonElement,\n Omit<ModalConfig[\"closeButton\"], \"onClick\"> &\n BaseModalProps &\n IconButtonProps\n>(({ className, ...rest }, ref) => (\n <IconButton\n className={clsx(\"jkl-modal-close\", className)}\n data-testautoid=\"jkl-modal-close\"\n {...rest}\n ref={ref}\n >\n <CloseIcon variant=\"medium\" />\n </IconButton>\n));\nModalCloseButton.displayName = \"ModalCloseButton\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalBody = forwardRef<HTMLDivElement, BaseModalProps>(\n ({ className, ...rest }, ref) => (\n <div\n className={clsx(\"jkl-modal-body\", className)}\n {...rest}\n ref={ref}\n />\n ),\n);\nModalBody.displayName = \"ModalBody\";\n\n/**\n * Ment å brukes med `useModal`.\n */\nexport const ModalActions = forwardRef<HTMLDivElement, BaseModalProps>(\n ({ className, ...rest }, ref) => (\n <div\n className={clsx(\"jkl-modal-actions\", className)}\n {...rest}\n ref={ref}\n />\n ),\n);\nModalActions.displayName = \"ModalActions\";\n"],"names":["ModalContainer","forwardRef","className","rest","ref","jsx","clsx","displayName","ModalOverlay","transparent","Modal","component","padding","style","C","ModalHeader","ModalTitle","ModalCloseButton","IconButton","children","CloseIcon","variant","ModalBody","ModalActions"],"mappings":"oQAeaA,EAAiBC,cAG5B,EAAGC,UAAAA,KAAcC,GAAQC,IAGnBC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,sBAAuBJ,MACnCC,EACJC,IAAAA,EACA,eAAW,MAIvBJ,EAAeO,YAAc,iBAKtB,MAAMC,EAAeP,EAAAA,YACxB,EAAGC,UAAAA,EAAWO,YAAAA,KAAgBN,GAAQC,IAClCC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,oBAAqBJ,EAAW,CAC5C,iCAAkCO,OAElCN,EACJC,IAAAA,MAIZI,EAAaD,YAAc,eAKpB,MAAMG,EAAQT,EAAAA,YACjB,EAAGC,UAAAA,EAAWS,UAAAA,EAAWC,QAAAA,EAASC,MAAAA,KAAUV,GAAQC,KAChD,MAAMU,EAAIH,GAAa,MAEnB,OAAAN,EAAAA,IAACS,EAAA,CACGZ,UAAWI,EAAAA,KAAK,gBAAiBJ,GACjCW,MACI,CACI,sBAAuBD,EACjB,qBAAqBA,UACrB,KACHC,MAGPV,EACJC,IAAAA,GAAA,IAKhBM,EAAMH,YAAc,QAKb,MAAMQ,EAAcd,EAAAA,YACvB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,mBAAoBJ,MAChCC,EACJC,IAAAA,MAIZW,EAAYR,YAAc,cAKnB,MAAMS,EAAaf,EAGxBA,YAAA,EAAGC,UAAAA,KAAcC,GAAQC,UACtB,IAAE,CAAAF,UAAWI,OAAK,kBAAmBJ,MAAgBC,EAAMC,IAAAA,MAEhEY,EAAWT,YAAc,aAKZ,MAAAU,EAAmBhB,cAK9B,EAAGC,UAAAA,KAAcC,GAAQC,IACvBC,EAAAA,IAACa,EAAAA,WAAA,CACGhB,UAAWI,EAAAA,KAAK,kBAAmBJ,GACnC,kBAAgB,qBACZC,EACJC,IAAAA,EAEAe,SAAAd,EAAAA,IAACe,EAAAA,UAAU,CAAAC,QAAQ,eAG3BJ,EAAiBV,YAAc,mBAKxB,MAAMe,EAAYrB,EAAAA,YACrB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,iBAAkBJ,MAC9BC,EACJC,IAAAA,MAIZkB,EAAUf,YAAc,YAKjB,MAAMgB,EAAetB,EAAAA,YACxB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAAA,IAAC,MAAA,CACGH,UAAWI,EAAAA,KAAK,oBAAqBJ,MACjCC,EACJC,IAAAA,MAIZmB,EAAahB,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompleteModal.stories.cjs","sources":["../../../../../src/components/modal/stories/CompleteModal.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport React from \"react\";\nimport { Button } from \"../../button/Button.js\";\nimport {\n Modal,\n ModalActions,\n ModalBody,\n ModalCloseButton,\n ModalContainer,\n ModalHeader,\n ModalOverlay,\n ModalTitle,\n} from \"../Modal.js\";\nimport \"../../button/styles/_index.scss\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Modal/CompleteModal\",\n component: ModalContainer,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof ModalContainer>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const CompleteModal: Story = {\n args: {\n id: \"modal-container\",\n role: \"document\",\n \"aria-hidden\": false,\n \"aria-modal\": true,\n \"aria-labelledby\": \"modal-title\",\n },\n render: (args) => (\n <ModalContainer {...args}>\n <ModalOverlay />\n <Modal role=\"document\">\n <ModalHeader>\n <ModalTitle aria-level={1} role=\"heading\" id={\"\"}>\n Tittel\n </ModalTitle>\n <ModalCloseButton type=\"button\" aria-label=\"close\" />\n </ModalHeader>\n <ModalBody>\n Er du sikker på at du vil slette Foo Bar Baz?\n </ModalBody>\n <ModalActions>\n <Button variant=\"primary\" data-testid=\"confirm-modal\">\n Slett\n </Button>\n <Button>Avbryt</Button>\n </ModalActions>\n </Modal>\n </ModalContainer>\n ),\n};\n"],"names":["meta","title","component","ModalContainer","parameters","layout","tags","CompleteModal","args","id","role","render","jsxs","children","jsx","ModalOverlay","Modal","ModalHeader","ModalTitle","ModalCloseButton","type","ModalBody","ModalActions","Button","variant"],"mappings":"sSAgBA,MAAMA,EAAO,CACTC,MAAO,kCACPC,UAAWC,EAAAA,eACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAOEC,EAAuB,CAChCC,KAAM,CACFC,GAAI,kBACJC,KAAM,WACN,eAAe,EACf,cAAc,EACd,kBAAmB,eAEvBC,OAASH,GACJI,EAAAA,KAAAT,EAAAA,eAAA,IAAmBK,EAChBK,SAAA,CAAAC,EAAAA,IAACC,EAAaA,aAAA,IACdH,EAAAA,KAACI,EAAAA,MAAM,CAAAN,KAAK,WACRG,SAAA,CAAAD,OAACK,EAAAA,YACG,CAAAJ,SAAA,CAAAC,EAAAA,IAACI,cAAW,aAAY,EAAGR,KAAK,UAAUD,GAAI,GAAII,SAElD,WACCC,EAAAA,IAAAK,EAAAA,iBAAA,CAAiBC,KAAK,SAAS,aAAW,aAE/CN,EAAAA,IAACO,aAAUR,SAEX,yDACCS,EAAAA,aACG,CAAAT,SAAA,CAAAC,MAACS,EAAAA,OAAO,CAAAC,QAAQ,UAAU,cAAY,gBAAgBX,SAEtD,UACAC,EAAAA,IAACS,UAAOV,SAAM"}
1
+ {"version":3,"file":"CompleteModal.stories.cjs","sources":["../../../../../src/components/modal/stories/CompleteModal.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport React from \"react\";\nimport { Button } from \"../../button/Button.js\";\nimport {\n Modal,\n ModalActions,\n ModalBody,\n ModalCloseButton,\n ModalContainer,\n ModalHeader,\n ModalOverlay,\n ModalTitle,\n} from \"../Modal.js\";\nimport \"../../button/styles/_index.scss\";\nimport \"../styles/_index.scss\";\n\nconst meta = {\n title: \"Komponenter/Modal/CompleteModal\",\n component: ModalContainer,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof ModalContainer>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const CompleteModal: Story = {\n args: {\n id: \"modal-container\",\n role: \"document\",\n \"aria-hidden\": false,\n \"aria-modal\": true,\n \"aria-labelledby\": \"modal-title\",\n },\n render: (args) => (\n <ModalContainer {...args}>\n <ModalOverlay />\n <Modal role=\"document\">\n <ModalHeader>\n {/* biome-ignore lint/a11y/useSemanticElements: Dette fikser vi på en bedre måte ved refaktorering av komponenten */}\n <ModalTitle aria-level={1} role=\"heading\" id={\"\"}>\n Tittel\n </ModalTitle>\n <ModalCloseButton type=\"button\" aria-label=\"close\" />\n </ModalHeader>\n <ModalBody>\n Er du sikker på at du vil slette Foo Bar Baz?\n </ModalBody>\n <ModalActions>\n <Button variant=\"primary\" data-testid=\"confirm-modal\">\n Slett\n </Button>\n <Button>Avbryt</Button>\n </ModalActions>\n </Modal>\n </ModalContainer>\n ),\n};\n"],"names":["meta","title","component","ModalContainer","parameters","layout","tags","CompleteModal","args","id","role","render","jsxs","children","jsx","ModalOverlay","Modal","ModalHeader","ModalTitle","ModalCloseButton","type","ModalBody","ModalActions","Button","variant"],"mappings":"sSAgBA,MAAMA,EAAO,CACTC,MAAO,kCACPC,UAAWC,EAAAA,eACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAOEC,EAAuB,CAChCC,KAAM,CACFC,GAAI,kBACJC,KAAM,WACN,eAAe,EACf,cAAc,EACd,kBAAmB,eAEvBC,OAASH,GACJI,EAAAA,KAAAT,EAAAA,eAAA,IAAmBK,EAChBK,SAAA,CAAAC,EAAAA,IAACC,EAAaA,aAAA,IACdH,EAAAA,KAACI,EAAAA,MAAM,CAAAN,KAAK,WACRG,SAAA,CAAAD,OAACK,EAAAA,YAEG,CAAAJ,SAAA,CAAAC,EAAAA,IAACI,cAAW,aAAY,EAAGR,KAAK,UAAUD,GAAI,GAAII,SAElD,WACCC,EAAAA,IAAAK,EAAAA,iBAAA,CAAiBC,KAAK,SAAS,aAAW,aAE/CN,EAAAA,IAACO,aAAUR,SAEX,yDACCS,EAAAA,aACG,CAAAT,SAAA,CAAAC,MAACS,EAAAA,OAAO,CAAAC,QAAQ,UAAU,cAAY,gBAAgBX,SAEtD,UACAC,EAAAA,IAACS,UAAOV,SAAM"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime");;/* empty css */const o=require("../../icon/icons/CloseIcon.cjs"),t=require("../../icon-button/IconButton.cjs"),n=require("../Modal.cjs"),r={title:"Komponenter/Modal/ModalCloseButton",component:n.ModalCloseButton,parameters:{layout:"centered"},tags:["autodocs"]},s={args:{type:"button","aria-label":"close"},render:r=>e.jsx(n.ModalCloseButton,{...r,children:e.jsx(t.IconButton,{children:e.jsx(o.CloseIcon,{variant:"medium"})})})};exports.ModalCloseButton=s,exports.default=r;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime");;/* empty css */const o=require("../../icon-button/IconButton.cjs"),t=require("../../icon/icons/CloseIcon.cjs"),n=require("../Modal.cjs"),r={title:"Komponenter/Modal/ModalCloseButton",component:n.ModalCloseButton,parameters:{layout:"centered"},tags:["autodocs"]},s={args:{type:"button","aria-label":"close"},render:r=>e.jsx(n.ModalCloseButton,{...r,children:e.jsx(o.IconButton,{children:e.jsx(t.CloseIcon,{variant:"medium"})})})};exports.ModalCloseButton=s,exports.default=r;
2
2
  //# sourceMappingURL=ModalCloseButton.stories.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalCloseButton.stories.cjs","sources":["../../../../../src/components/modal/stories/ModalCloseButton.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport \"../styles/_index.scss\";\nimport React from \"react\";\nimport { CloseIcon } from \"../../icon/icons/CloseIcon.js\";\nimport { IconButton } from \"../../icon-button/IconButton.js\";\nimport { ModalCloseButton as ModalCloseButtonComponent } from \"../Modal.js\";\n\nconst meta = {\n title: \"Komponenter/Modal/ModalCloseButton\",\n component: ModalCloseButtonComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof ModalCloseButtonComponent>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const ModalCloseButton: Story = {\n args: {\n type: \"button\",\n \"aria-label\": \"close\",\n },\n render: (args) => (\n <ModalCloseButtonComponent {...args}>\n <IconButton>\n <CloseIcon variant=\"medium\" />\n </IconButton>\n </ModalCloseButtonComponent>\n ),\n};\n"],"names":["meta","title","component","ModalCloseButtonComponent","ModalCloseButton","parameters","layout","tags","args","type","render","jsx","children","IconButton","CloseIcon","variant"],"mappings":"sTAOMA,EAAO,CACTC,MAAO,qCACPC,UAAWC,EAAAC,iBACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAOEH,EAA0B,CACnCI,KAAM,CACFC,KAAM,SACN,aAAc,SAElBC,OAASF,GACLG,EAAAA,IAACR,uBAA8BK,EAC3BI,SAACD,EAAAA,IAAAE,EAAAA,WAAA,CACGD,SAACD,EAAAA,IAAAG,YAAA,CAAUC,QAAQ"}
1
+ {"version":3,"file":"ModalCloseButton.stories.cjs","sources":["../../../../../src/components/modal/stories/ModalCloseButton.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport \"../styles/_index.scss\";\nimport React from \"react\";\nimport { IconButton } from \"../../icon-button/IconButton.js\";\nimport { CloseIcon } from \"../../icon/icons/CloseIcon.js\";\nimport { ModalCloseButton as ModalCloseButtonComponent } from \"../Modal.js\";\n\nconst meta = {\n title: \"Komponenter/Modal/ModalCloseButton\",\n component: ModalCloseButtonComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<typeof ModalCloseButtonComponent>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const ModalCloseButton: Story = {\n args: {\n type: \"button\",\n \"aria-label\": \"close\",\n },\n render: (args) => (\n <ModalCloseButtonComponent {...args}>\n <IconButton>\n <CloseIcon variant=\"medium\" />\n </IconButton>\n </ModalCloseButtonComponent>\n ),\n};\n"],"names":["meta","title","component","ModalCloseButtonComponent","ModalCloseButton","parameters","layout","tags","args","type","render","jsx","children","IconButton","CloseIcon","variant"],"mappings":"sTAOMA,EAAO,CACTC,MAAO,qCACPC,UAAWC,EAAAC,iBACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAOEH,EAA0B,CACnCI,KAAM,CACFC,KAAM,SACN,aAAc,SAElBC,OAASF,GACLG,EAAAA,IAACR,uBAA8BK,EAC3BI,SAACD,EAAAA,IAAAE,EAAAA,WAAA,CACGD,SAACD,EAAAA,IAAAG,YAAA,CAAUC,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModalOverlay.stories.cjs","sources":["../../../../../src/components/modal/stories/ModalOverlay.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport \"../styles/_index.scss\";\nimport { ModalOverlay as ModalOverlayComponent } from \"../Modal.js\";\nimport { ModalInstance } from \"../useModal.js\";\n\ninterface ExtendedModalComponentProps {\n dialogRef: React.RefCallback<ModalInstance>;\n onClick?: () => void;\n onCancel?: () => void;\n}\n\nconst meta = {\n title: \"Komponenter/Modal/ModalOverlay\",\n component: ModalOverlayComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<ExtendedModalComponentProps>;\n\nexport default meta;\n\ntype Story = StoryObj<ExtendedModalComponentProps>;\n\nlet modalRef: ModalInstance | null = null;\n\nexport const ModalOverlay: Story = {\n args: {\n dialogRef: (instance: ModalInstance | null) => {\n modalRef = instance;\n },\n onCancel: () => {\n console.log(\"❌ Cancel\");\n modalRef?.hide();\n },\n onClick: () => {\n ModalOverlay.args?.onCancel?.();\n },\n },\n};\n"],"names":["meta","title","component","ModalOverlay","parameters","layout","tags","modalRef","args","dialogRef","instance","onCancel","console","log","hide","onClick","_b","_a","call"],"mappings":"6JAWMA,EAAO,CACTC,MAAO,iCACPC,kCAAWC,aACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAOX,IAAIC,EAAiC,KAE9B,MAAMJ,EAAsB,CAC/BK,KAAM,CACFC,UAAYC,IACGH,EAAAG,GAEfC,SAAU,KACNC,QAAQC,IAAI,YACZ,MAAAN,GAAAA,EAAUO,QAEdC,QAAS,aACL,OAAAC,EAAA,OAAAC,EAAAd,EAAaK,aAAbS,EAAmBN,WAAnBK,EAAAE,KAAAD"}
1
+ {"version":3,"file":"ModalOverlay.stories.cjs","sources":["../../../../../src/components/modal/stories/ModalOverlay.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport \"../styles/_index.scss\";\nimport { ModalOverlay as ModalOverlayComponent } from \"../Modal.js\";\nimport type { ModalInstance } from \"../useModal.js\";\n\ninterface ExtendedModalComponentProps {\n dialogRef: React.RefCallback<ModalInstance>;\n onClick?: () => void;\n onCancel?: () => void;\n}\n\nconst meta = {\n title: \"Komponenter/Modal/ModalOverlay\",\n component: ModalOverlayComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n} satisfies Meta<ExtendedModalComponentProps>;\n\nexport default meta;\n\ntype Story = StoryObj<ExtendedModalComponentProps>;\n\nlet modalRef: ModalInstance | null = null;\n\nexport const ModalOverlay: Story = {\n args: {\n dialogRef: (instance: ModalInstance | null) => {\n modalRef = instance;\n },\n onCancel: () => {\n console.log(\"❌ Cancel\");\n modalRef?.hide();\n },\n onClick: () => {\n ModalOverlay.args?.onCancel?.();\n },\n },\n};\n"],"names":["meta","title","component","ModalOverlay","parameters","layout","tags","modalRef","args","dialogRef","instance","onCancel","console","log","hide","onClick","_b","_a","call"],"mappings":"6JAWMA,EAAO,CACTC,MAAO,iCACPC,kCAAWC,aACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,aAOX,IAAIC,EAAiC,KAE9B,MAAMJ,EAAsB,CAC/BK,KAAM,CACFC,UAAYC,IACGH,EAAAG,GAEfC,SAAU,KACNC,QAAQC,IAAI,YACZ,MAAAN,GAAAA,EAAUO,QAEdC,QAAS,aACL,OAAAC,EAAA,OAAAC,EAAAd,EAAaK,aAAbS,EAAmBN,WAAnBK,EAAAE,KAAAD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.cjs","sources":["../../../../src/components/modal/useModal.ts"],"sourcesContent":["import { useA11yDialog } from \"react-a11y-dialog\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport { ModalConfig, UseModalOptions } from \"./types.js\";\n\nexport type ModalInstance = ReturnType<typeof useModal>[0];\n\n/**\n * @example\n * ```jsx\n * const heading = \"Bekreft sletting\";\n * const [instance, { title, overlay, container, modal, closeButton }] = useModal({ title: heading });\n *\n * useEffect(() => {\n * if (!instance) {\n * return;\n * }\n * instance.show();\n * }, [instance]);\n *\n * return ReactDOM.createPortal(\n * <ModalContainer {...container}>\n * <ModalOverlay {...overlay} />\n * <Modal {...modal}>\n * <ModalHeader>\n * <ModalTitle {...title}>{heading}</ModalTitle>\n * <ModalCloseButton {...closeButton} />\n * </ModalHeader>\n * <ModalBody>\n * Er du sikker på at du vil slette Foo Bar Baz?\n * </ModalBody>\n * <ModalActions>\n * <PrimaryButton\n * onClick={() => {\n * // Do the thing\n * instance?.hide()\n * }}\n * >\n * Bekreft\n * </PrimaryButton>\n * <TertiaryButton onClick={() => instance?.hide()}>\n * Avbryt\n * </TertiaryButton>\n * </ModalActions>\n * </Modal>\n * </ModalContainer>,\n * document.body,\n * );\n * ```\n */\nexport function useModal(props: UseModalOptions) {\n const {\n id: idProp,\n role = \"dialog\",\n closeButtonLabel = \"Lukk\",\n ...rest\n } = props;\n\n const id = useId(idProp || \"jkl-modal\", { generateSuffix: !idProp });\n\n const [instance, config] = useA11yDialog({\n id,\n role,\n ...rest,\n });\n\n const { dialog, ...restConfig } = config;\n\n const modalConfig: ModalConfig = {\n modal: config.dialog,\n ...restConfig,\n closeButton: {\n ...config.closeButton,\n \"aria-label\": closeButtonLabel,\n },\n };\n\n return [instance, modalConfig] as const;\n}\n"],"names":["props","id","idProp","role","closeButtonLabel","rest","useId","generateSuffix","instance","config","useA11yDialog","dialog","restConfig","modal","closeButton"],"mappings":"+KAiDO,SAAkBA,GACf,MACFC,GAAIC,EACJC,KAAAA,EAAO,SACPC,iBAAAA,EAAmB,UAChBC,GACHL,EAEEC,EAAKK,QAAMJ,GAAU,YAAa,CAAEK,gBAAiBL,KAEpDM,EAAUC,GAAUC,gBAAc,CACrCT,GAAAA,EACAE,KAAAA,KACGE,KAGCM,OAAAA,KAAWC,GAAeH,EAW3B,MAAA,CAACD,EATyB,CAC7BK,MAAOJ,EAAOE,UACXC,EACHE,YAAa,IACNL,EAAOK,YACV,aAAcV,IAK1B"}
1
+ {"version":3,"file":"useModal.cjs","sources":["../../../../src/components/modal/useModal.ts"],"sourcesContent":["import { useA11yDialog } from \"react-a11y-dialog\";\nimport { useId } from \"../../hooks/useId/useId.js\";\nimport type { ModalConfig, UseModalOptions } from \"./types.js\";\n\nexport type ModalInstance = ReturnType<typeof useModal>[0];\n\n/**\n * @example\n * ```jsx\n * const heading = \"Bekreft sletting\";\n * const [instance, { title, overlay, container, modal, closeButton }] = useModal({ title: heading });\n *\n * useEffect(() => {\n * if (!instance) {\n * return;\n * }\n * instance.show();\n * }, [instance]);\n *\n * return ReactDOM.createPortal(\n * <ModalContainer {...container}>\n * <ModalOverlay {...overlay} />\n * <Modal {...modal}>\n * <ModalHeader>\n * <ModalTitle {...title}>{heading}</ModalTitle>\n * <ModalCloseButton {...closeButton} />\n * </ModalHeader>\n * <ModalBody>\n * Er du sikker på at du vil slette Foo Bar Baz?\n * </ModalBody>\n * <ModalActions>\n * <PrimaryButton\n * onClick={() => {\n * // Do the thing\n * instance?.hide()\n * }}\n * >\n * Bekreft\n * </PrimaryButton>\n * <TertiaryButton onClick={() => instance?.hide()}>\n * Avbryt\n * </TertiaryButton>\n * </ModalActions>\n * </Modal>\n * </ModalContainer>,\n * document.body,\n * );\n * ```\n */\nexport function useModal(props: UseModalOptions) {\n const {\n id: idProp,\n role = \"dialog\",\n closeButtonLabel = \"Lukk\",\n ...rest\n } = props;\n\n const id = useId(idProp || \"jkl-modal\", { generateSuffix: !idProp });\n\n const [instance, config] = useA11yDialog({\n id,\n role,\n ...rest,\n });\n\n const { dialog, ...restConfig } = config;\n\n const modalConfig: ModalConfig = {\n modal: config.dialog,\n ...restConfig,\n closeButton: {\n ...config.closeButton,\n \"aria-label\": closeButtonLabel,\n },\n };\n\n return [instance, modalConfig] as const;\n}\n"],"names":["props","id","idProp","role","closeButtonLabel","rest","useId","generateSuffix","instance","config","useA11yDialog","dialog","restConfig","modal","closeButton"],"mappings":"+KAiDO,SAAkBA,GACf,MACFC,GAAIC,EACJC,KAAAA,EAAO,SACPC,iBAAAA,EAAmB,UAChBC,GACHL,EAEEC,EAAKK,QAAMJ,GAAU,YAAa,CAAEK,gBAAiBL,KAEpDM,EAAUC,GAAUC,gBAAc,CACrCT,GAAAA,EACAE,KAAAA,KACGE,KAGCM,OAAAA,KAAWC,GAAeH,EAW3B,MAAA,CAACD,EATyB,CAC7BK,MAAOJ,EAAOE,UACXC,EACHE,YAAa,IACNL,EAAOK,YACV,aAAcV,IAK1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavLink.cjs","sources":["../../../../src/components/nav-link/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ArrowRightIcon } from \"../icon/icons/ArrowRightIcon.js\";\nimport { ArrowLeftIcon } from \"../icon/index.js\";\nimport { NavLinkProps } from \"./types.js\";\n\ntype 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 {back && (\n <ArrowLeftIcon variant=\"small\" className=\"jkl-nav-link__icon\" />\n )}\n {children}\n {!back && (\n <ArrowRightIcon\n variant=\"small\"\n className=\"jkl-nav-link__icon\"\n />\n )}\n </Component>\n );\n}) as LinkComponent;\n"],"names":["NavLink","React","forwardRef","props","ref","active","back","className","children","as","rest","Component","jsxs","clsx","jsx","ArrowLeftIcon","variant","ArrowRightIcon"],"mappings":"orDAWO,MAAMA,EAAUC,EAAMC,YAAW,SAEtCC,EAAkCC,GAC1B,MACFC,OAAAA,GAAS,EACTC,KAAAA,GAAO,EACPC,UAAAA,EACAC,SAAAA,EACAC,GAAAA,EAAK,OACFC,GACHP,EACEQ,EAAYF,EAGd,OAAAG,EAAAA,KAACD,EAAA,CACGP,IAAAA,EACAG,UAAWM,EAAAA,KACP,eACA,CACI,uBAAwBR,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAA,CAAAF,GACIQ,EAAAA,IAAAC,gBAAA,CAAcC,QAAQ,QAAQT,UAAU,uBAE5CC,GACCF,GACEQ,EAAAA,IAACG,EAAAA,eAAA,CACGD,QAAQ,QACRT,UAAU,yBAK9B"}
1
+ {"version":3,"file":"NavLink.cjs","sources":["../../../../src/components/nav-link/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport type { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ArrowRightIcon } from \"../icon/icons/ArrowRightIcon.js\";\nimport { ArrowLeftIcon } from \"../icon/index.js\";\nimport type { NavLinkProps } from \"./types.js\";\n\ntype 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 {back && (\n <ArrowLeftIcon variant=\"small\" className=\"jkl-nav-link__icon\" />\n )}\n {children}\n {!back && (\n <ArrowRightIcon\n variant=\"small\"\n className=\"jkl-nav-link__icon\"\n />\n )}\n </Component>\n );\n}) as LinkComponent;\n"],"names":["NavLink","React","forwardRef","props","ref","active","back","className","children","as","rest","Component","jsxs","clsx","jsx","ArrowLeftIcon","variant","ArrowRightIcon"],"mappings":"orDAWO,MAAMA,EAAUC,EAAMC,YAAW,SAEtCC,EAAkCC,GAC1B,MACFC,OAAAA,GAAS,EACTC,KAAAA,GAAO,EACPC,UAAAA,EACAC,SAAAA,EACAC,GAAAA,EAAK,OACFC,GACHP,EACEQ,EAAYF,EAGd,OAAAG,EAAAA,KAACD,EAAA,CACGP,IAAAA,EACAG,UAAWM,EAAAA,KACP,eACA,CACI,uBAAwBR,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAA,CAAAF,GACIQ,EAAAA,IAAAC,gBAAA,CAAcC,QAAQ,QAAQT,UAAU,uBAE5CC,GACCF,GACEQ,EAAAA,IAACG,EAAAA,eAAA,CACGD,QAAQ,QACRT,UAAU,yBAK9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavLink.stories.cjs","sources":["../../../../../src/components/nav-link/stories/NavLink.stories.tsx"],"sourcesContent":["import { Meta, StoryObj } from \"@storybook/react\";\nimport { NavLink as NavLinkComponent } from \"../NavLink.js\";\nimport \"../styles/_index.scss\";\n\nconst meta: Meta = {\n title: \"Komponenter/NavLink\",\n component: NavLinkComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n argTypes: {\n href: {\n control: \"text\",\n defaultValue: \"https://www.fremtind.no\",\n },\n },\n} satisfies Meta<typeof NavLinkComponent>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof NavLinkComponent>;\n\nexport const NavLink: Story = {\n args: {\n children: \"NavLink\",\n href: \"https://www.fremtind.no\",\n },\n};\n"],"names":["meta","title","component","NavLink","parameters","layout","tags","argTypes","href","control","defaultValue","args","children"],"mappings":"kHAIMA,EAAa,CACfC,MAAO,sBACPC,oCAAWC,QACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,YACPC,SAAU,CACNC,KAAM,CACFC,QAAS,OACTC,aAAc,6CASI,CAC1BC,KAAM,CACFC,SAAU,UACVJ,KAAM"}
1
+ {"version":3,"file":"NavLink.stories.cjs","sources":["../../../../../src/components/nav-link/stories/NavLink.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { NavLink as NavLinkComponent } from \"../NavLink.js\";\nimport \"../styles/_index.scss\";\n\nconst meta: Meta = {\n title: \"Komponenter/NavLink\",\n component: NavLinkComponent,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n argTypes: {\n href: {\n control: \"text\",\n defaultValue: \"https://www.fremtind.no\",\n },\n },\n} satisfies Meta<typeof NavLinkComponent>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof NavLinkComponent>;\n\nexport const NavLink: Story = {\n args: {\n children: \"NavLink\",\n href: \"https://www.fremtind.no\",\n },\n};\n"],"names":["meta","title","component","NavLink","parameters","layout","tags","argTypes","href","control","defaultValue","args","children"],"mappings":"kHAIMA,EAAa,CACfC,MAAO,sBACPC,oCAAWC,QACXC,WAAY,CACRC,OAAQ,YAEZC,KAAM,CAAC,YACPC,SAAU,CACNC,KAAM,CACFC,QAAS,OACTC,aAAc,6CASI,CAC1BC,KAAM,CACFC,SAAU,UACVJ,KAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageButton.cjs","sources":["../../../../src/components/pagination/PageButton.tsx"],"sourcesContent":["import React, { clsx } from \"clsx\";\nimport { FC, MouseEventHandler } from \"react\";\n\nexport const PageButton: FC<{\n isActive: boolean;\n number: number;\n onClick: MouseEventHandler;\n total: number;\n}> = ({ isActive, number, onClick, total }) => (\n <li aria-setsize={total} aria-posinset={number}>\n <button\n className={clsx(\"jkl-pagination-button\", {\n \"jkl-pagination-button--current\": isActive,\n })}\n aria-current={isActive}\n type=\"button\"\n onClick={onClick}\n tabIndex={isActive ? -1 : 0}\n aria-disabled={isActive}\n title={`side ${number}`}\n >\n <span aria-hidden={true}>{number}</span>\n </button>\n </li>\n);\n"],"names":["isActive","number","onClick","total","jsx","children","className","clsx","type","tabIndex","title"],"mappings":"gLAQK,EAAGA,SAAAA,EAAUC,OAAAA,EAAQC,QAAAA,EAASC,MAAAA,KAC9BC,EAAAA,IAAA,KAAA,CAAG,eAAcD,EAAO,gBAAeF,EACpCI,SAAAD,EAAAA,IAAC,SAAA,CACGE,UAAWC,OAAK,wBAAyB,CACrC,iCAAkCP,IAEtC,eAAcA,EACdQ,KAAK,SACLN,QAAAA,EACAO,SAAUT,GAAW,EAAK,EAC1B,gBAAeA,EACfU,MAAO,QAAQT,IAEfI,SAACD,EAAAA,IAAA,OAAA,CAAK,eAAa,EAAOC,SAAOJ"}
1
+ {"version":3,"file":"PageButton.cjs","sources":["../../../../src/components/pagination/PageButton.tsx"],"sourcesContent":["import React, { clsx } from \"clsx\";\nimport type { FC, MouseEventHandler } from \"react\";\n\nexport const PageButton: FC<{\n isActive: boolean;\n number: number;\n onClick: MouseEventHandler;\n total: number;\n}> = ({ isActive, number, onClick, total }) => (\n <li aria-setsize={total} aria-posinset={number}>\n <button\n className={clsx(\"jkl-pagination-button\", {\n \"jkl-pagination-button--current\": isActive,\n })}\n aria-current={isActive}\n type=\"button\"\n onClick={onClick}\n tabIndex={isActive ? -1 : 0}\n aria-disabled={isActive}\n title={`side ${number}`}\n >\n <span aria-hidden={true}>{number}</span>\n </button>\n </li>\n);\n"],"names":["isActive","number","onClick","total","jsx","children","className","clsx","type","tabIndex","title"],"mappings":"gLAQK,EAAGA,SAAAA,EAAUC,OAAAA,EAAQC,QAAAA,EAASC,MAAAA,KAC9BC,EAAAA,IAAA,KAAA,CAAG,eAAcD,EAAO,gBAAeF,EACpCI,SAAAD,EAAAA,IAAC,SAAA,CACGE,UAAWC,OAAK,wBAAyB,CACrC,iCAAkCP,IAEtC,eAAcA,EACdQ,KAAK,SACLN,QAAAA,EACAO,SAAUT,GAAW,EAAK,EAC1B,gBAAeA,EACfU,MAAO,QAAQT,IAEfI,SAACD,EAAAA,IAAA,OAAA,CAAK,eAAa,EAAOC,SAAOJ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("../../../clsx-E3yX_9sL.cjs"),t=require("react"),a=require("../icon/icons/ChevronLeftIcon.cjs"),i=require("../icon/icons/ChevronRightIcon.cjs"),o=require("../icon-button/IconButton.cjs"),s=require("./PageButton.cjs"),r=t.forwardRef((function({onPageChange:r,currentPage:c,numberOfPages:l,labels:u={previous:"Forrige side",next:"Neste side"},as:g,className:j,...x},d){t.useEffect((()=>{c<1&&console.error("[Pagination]: currentPage prop should be set to a value larger than 0"),c>l&&console.error("[Pagination]: currentPage prop should not be set to a value larger than numberOfPages")}),[c,l]);const h=g||"nav";if(l<=7)return e.jsxs(h,{ref:d,...x,className:n.clsx("jkl-pagination",j),children:[e.jsx(o.IconButton,{className:"jkl-pagination-button",title:u.previous,onClick:()=>r(c-1,c),"aria-disabled":1===c,tabIndex:1===c?-1:0,children:e.jsx(a.ChevronLeftIcon,{})}),e.jsx("ol",{className:"jkl-pagination__pages",children:Array.from({length:l}).map(((n,t)=>{const a=t+1;return e.jsx(s.PageButton,{isActive:c===a,number:a,total:l,onClick:()=>r(a,c)},t)}))}),e.jsx(o.IconButton,{className:"jkl-pagination-button",title:u.next,onClick:()=>r(c+1,c),"aria-disabled":c===l,tabIndex:c===l?-1:0,children:e.jsx(i.ChevronRightIcon,{})})]});const m=c>4,b=c<l-3,p=Math.min(Math.max(c-2,2),l-5),k=Math.min(p+1,l-4),v=Math.min(k+1,l-3),C=Math.min(k+2,l-2),P=Math.min(k+3,l-1);return e.jsxs(h,{ref:d,...x,className:"jkl-pagination",children:[e.jsx(o.IconButton,{className:"jkl-pagination-button",title:u.previous,onClick:()=>r(c-1,c),"aria-disabled":1===c,tabIndex:1===c?-1:0,children:e.jsx(a.ChevronLeftIcon,{})}),e.jsxs("ol",{className:"jkl-pagination__pages",children:[e.jsx(s.PageButton,{isActive:1===c,number:1,total:l,onClick:()=>r(1,c)}),m?e.jsx("span",{"aria-hidden":!0,className:"jkl-pagination-button--elipsis",children:"..."}):e.jsx(s.PageButton,{isActive:c===p,number:p,total:l,onClick:()=>r(p,c)}),e.jsx(s.PageButton,{isActive:c===k,number:k,total:l,onClick:()=>r(k,c)}),e.jsx(s.PageButton,{isActive:c===v,number:v,total:l,onClick:()=>r(v,c)}),e.jsx(s.PageButton,{isActive:c===C,number:C,total:l,onClick:()=>r(C,c)}),b?e.jsx("span",{"aria-hidden":!0,className:"jkl-pagination-button--elipsis",children:"..."}):e.jsx(s.PageButton,{isActive:c===P,number:P,total:l,onClick:()=>r(P,c)}),e.jsx(s.PageButton,{isActive:c===l,number:l,total:l,onClick:()=>r(l,c)})]}),e.jsx(o.IconButton,{className:"jkl-pagination-button",title:u.next,onClick:()=>r(c+1,c),"aria-disabled":c===l,tabIndex:c===l?-1:0,children:e.jsx(i.ChevronRightIcon,{})})]})}));exports.Pagination=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("../../../clsx-E3yX_9sL.cjs"),t=require("react"),a=require("../icon-button/IconButton.cjs"),i=require("../icon/icons/ChevronLeftIcon.cjs"),o=require("../icon/icons/ChevronRightIcon.cjs"),s=require("./PageButton.cjs"),r=t.forwardRef((function({onPageChange:r,currentPage:c,numberOfPages:l,labels:u={previous:"Forrige side",next:"Neste side"},as:g,className:j,...x},d){t.useEffect((()=>{c<1&&console.error("[Pagination]: currentPage prop should be set to a value larger than 0"),c>l&&console.error("[Pagination]: currentPage prop should not be set to a value larger than numberOfPages")}),[c,l]);const h=g||"nav";if(l<=7)return e.jsxs(h,{ref:d,...x,className:n.clsx("jkl-pagination",j),children:[e.jsx(a.IconButton,{className:"jkl-pagination-button",title:u.previous,onClick:()=>r(c-1,c),"aria-disabled":1===c,tabIndex:1===c?-1:0,children:e.jsx(i.ChevronLeftIcon,{})}),e.jsx("ol",{className:"jkl-pagination__pages",children:Array.from({length:l}).map(((n,t)=>{const a=t+1;return e.jsx(s.PageButton,{isActive:c===a,number:a,total:l,onClick:()=>r(a,c)},t)}))}),e.jsx(a.IconButton,{className:"jkl-pagination-button",title:u.next,onClick:()=>r(c+1,c),"aria-disabled":c===l,tabIndex:c===l?-1:0,children:e.jsx(o.ChevronRightIcon,{})})]});const m=c>4,b=c<l-3,p=Math.min(Math.max(c-2,2),l-5),k=Math.min(p+1,l-4),v=Math.min(k+1,l-3),C=Math.min(k+2,l-2),P=Math.min(k+3,l-1);return e.jsxs(h,{ref:d,...x,className:"jkl-pagination",children:[e.jsx(a.IconButton,{className:"jkl-pagination-button",title:u.previous,onClick:()=>r(c-1,c),"aria-disabled":1===c,tabIndex:1===c?-1:0,children:e.jsx(i.ChevronLeftIcon,{})}),e.jsxs("ol",{className:"jkl-pagination__pages",children:[e.jsx(s.PageButton,{isActive:1===c,number:1,total:l,onClick:()=>r(1,c)}),m?e.jsx("span",{"aria-hidden":!0,className:"jkl-pagination-button--elipsis",children:"..."}):e.jsx(s.PageButton,{isActive:c===p,number:p,total:l,onClick:()=>r(p,c)}),e.jsx(s.PageButton,{isActive:c===k,number:k,total:l,onClick:()=>r(k,c)}),e.jsx(s.PageButton,{isActive:c===v,number:v,total:l,onClick:()=>r(v,c)}),e.jsx(s.PageButton,{isActive:c===C,number:C,total:l,onClick:()=>r(C,c)}),b?e.jsx("span",{"aria-hidden":!0,className:"jkl-pagination-button--elipsis",children:"..."}):e.jsx(s.PageButton,{isActive:c===P,number:P,total:l,onClick:()=>r(P,c)}),e.jsx(s.PageButton,{isActive:c===l,number:l,total:l,onClick:()=>r(l,c)})]}),e.jsx(a.IconButton,{className:"jkl-pagination-button",title:u.next,onClick:()=>r(c+1,c),"aria-disabled":c===l,tabIndex:c===l?-1:0,children:e.jsx(o.ChevronRightIcon,{})})]})}));exports.Pagination=r;
2
2
  //# sourceMappingURL=Pagination.cjs.map