@fremtind/jokul 0.44.7 → 0.45.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 (781) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/accordion/Accordion.cjs.map +1 -1
  3. package/build/cjs/components/accordion/Accordion.d.cts +1 -6
  4. package/build/cjs/components/accordion/AccordionItem.cjs.map +1 -1
  5. package/build/cjs/components/accordion/AccordionItem.d.cts +2 -9
  6. package/build/cjs/components/accordion/index.d.cts +3 -2
  7. package/build/cjs/components/accordion/types.cjs +2 -0
  8. package/build/cjs/components/accordion/types.cjs.map +1 -0
  9. package/build/cjs/components/accordion/types.d.cts +13 -0
  10. package/build/cjs/components/autosuggest/Autosuggest.cjs.map +1 -1
  11. package/build/cjs/components/autosuggest/Autosuggest.d.cts +1 -45
  12. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
  13. package/build/cjs/components/autosuggest/BaseAutosuggest.d.cts +1 -1
  14. package/build/cjs/components/autosuggest/index.d.cts +1 -1
  15. package/build/cjs/components/autosuggest/types.cjs +2 -0
  16. package/build/cjs/components/autosuggest/types.cjs.map +1 -0
  17. package/build/cjs/components/autosuggest/types.d.cts +44 -0
  18. package/build/cjs/components/breadcrumb/Breadcrumb.cjs.map +1 -1
  19. package/build/cjs/components/breadcrumb/Breadcrumb.d.cts +1 -5
  20. package/build/cjs/components/breadcrumb/BreadcrumbItem.cjs.map +1 -1
  21. package/build/cjs/components/breadcrumb/BreadcrumbItem.d.cts +1 -9
  22. package/build/cjs/components/breadcrumb/index.d.cts +3 -2
  23. package/build/cjs/components/breadcrumb/types.cjs +2 -0
  24. package/build/cjs/components/breadcrumb/types.cjs.map +1 -0
  25. package/build/cjs/components/breadcrumb/types.d.cts +13 -0
  26. package/build/cjs/components/card/NavCard.cjs.map +1 -1
  27. package/build/cjs/components/card/NavCard.d.cts +1 -1
  28. package/build/cjs/components/checkbox/Checkbox.cjs.map +1 -1
  29. package/build/cjs/components/checkbox/Checkbox.d.cts +2 -16
  30. package/build/cjs/components/checkbox/index.d.cts +2 -1
  31. package/build/cjs/components/checkbox/types.cjs +2 -0
  32. package/build/cjs/components/checkbox/types.cjs.map +1 -0
  33. package/build/cjs/components/checkbox/types.d.cts +16 -0
  34. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs +2 -0
  35. package/build/cjs/components/checkbox-panel/CheckboxPanel.cjs.map +1 -0
  36. package/build/cjs/components/checkbox-panel/CheckboxPanel.d.cts +3 -0
  37. package/build/cjs/components/checkbox-panel/index.cjs +2 -0
  38. package/build/cjs/components/checkbox-panel/index.d.cts +2 -0
  39. package/build/cjs/components/checkbox-panel/types.cjs +2 -0
  40. package/build/cjs/components/checkbox-panel/types.cjs.map +1 -0
  41. package/build/cjs/components/checkbox-panel/types.d.cts +6 -0
  42. package/build/cjs/components/chip/Chip.cjs.map +1 -1
  43. package/build/cjs/components/chip/Chip.d.cts +2 -13
  44. package/build/cjs/components/chip/index.d.cts +2 -1
  45. package/build/cjs/components/chip/types.cjs +2 -0
  46. package/build/cjs/components/chip/types.cjs.map +1 -0
  47. package/build/cjs/components/chip/types.d.cts +13 -0
  48. package/build/cjs/components/combobox/Combobox.cjs.map +1 -1
  49. package/build/cjs/components/combobox/Combobox.d.cts +2 -38
  50. package/build/cjs/components/combobox/index.d.cts +2 -1
  51. package/build/cjs/components/combobox/types.cjs +2 -0
  52. package/build/cjs/components/combobox/types.cjs.map +1 -0
  53. package/build/cjs/components/combobox/types.d.cts +37 -0
  54. package/build/cjs/components/countdown/Countdown.cjs.map +1 -0
  55. package/build/cjs/components/countdown/Countdown.d.cts +3 -0
  56. package/build/cjs/components/countdown/index.cjs +2 -0
  57. package/build/cjs/components/countdown/index.cjs.map +1 -0
  58. package/build/cjs/components/countdown/index.d.cts +2 -0
  59. package/build/cjs/components/countdown/types.cjs +2 -0
  60. package/build/cjs/components/countdown/types.cjs.map +1 -0
  61. package/build/cjs/components/{progress-bar/Countdown.d.cts → countdown/types.d.cts} +1 -2
  62. package/build/cjs/components/datepicker/types.d.cts +3 -3
  63. package/build/cjs/components/description-list/DescriptionList.cjs.map +1 -1
  64. package/build/cjs/components/description-list/DescriptionList.d.cts +1 -10
  65. package/build/cjs/components/description-list/index.d.cts +2 -1
  66. package/build/cjs/components/description-list/types.cjs +2 -0
  67. package/build/cjs/components/description-list/types.cjs.map +1 -0
  68. package/build/cjs/components/description-list/types.d.cts +10 -0
  69. package/build/cjs/components/feedback/Feedback.cjs.map +1 -1
  70. package/build/cjs/components/feedback/Feedback.d.cts +1 -1
  71. package/build/cjs/components/feedback/FeedbackSuccess.cjs.map +1 -1
  72. package/build/cjs/components/feedback/FeedbackSuccess.d.cts +1 -1
  73. package/build/cjs/components/feedback/feedbackContext.cjs.map +1 -1
  74. package/build/cjs/components/feedback/feedbackContext.d.cts +1 -1
  75. package/build/cjs/components/feedback/types.d.cts +12 -4
  76. package/build/cjs/components/file-input/FileInput.cjs.map +1 -1
  77. package/build/cjs/components/file-input/FileInput.d.cts +1 -1
  78. package/build/cjs/components/flex/Flex.cjs.map +1 -1
  79. package/build/cjs/components/flex/Flex.d.cts +1 -14
  80. package/build/cjs/components/flex/index.d.cts +1 -0
  81. package/build/cjs/components/flex/types.cjs +2 -0
  82. package/build/cjs/components/flex/types.cjs.map +1 -0
  83. package/build/cjs/components/flex/types.d.cts +14 -0
  84. package/build/cjs/components/icon/types.d.cts +2 -1
  85. package/build/cjs/components/icon-button/IconButton.cjs.map +1 -1
  86. package/build/cjs/components/icon-button/IconButton.d.cts +2 -5
  87. package/build/cjs/components/icon-button/index.d.cts +2 -1
  88. package/build/cjs/components/icon-button/types.cjs +2 -0
  89. package/build/cjs/components/icon-button/types.cjs.map +1 -0
  90. package/build/cjs/components/icon-button/types.d.cts +5 -0
  91. package/build/cjs/components/image/Image.cjs.map +1 -1
  92. package/build/cjs/components/image/Image.d.cts +1 -11
  93. package/build/cjs/components/image/index.d.cts +2 -1
  94. package/build/cjs/components/image/types.cjs +2 -0
  95. package/build/cjs/components/image/types.cjs.map +1 -0
  96. package/build/cjs/components/image/types.d.cts +12 -0
  97. package/build/cjs/components/index.cjs +1 -1
  98. package/build/cjs/components/index.d.cts +4 -1
  99. package/build/cjs/components/input-group/FieldGroup.cjs.map +1 -1
  100. package/build/cjs/components/input-group/FieldGroup.d.cts +2 -14
  101. package/build/cjs/components/input-group/InputGroup.cjs.map +1 -1
  102. package/build/cjs/components/input-group/InputGroup.d.cts +11 -33
  103. package/build/cjs/components/input-group/Label.cjs.map +1 -1
  104. package/build/cjs/components/input-group/Label.d.cts +2 -13
  105. package/build/cjs/components/input-group/SupportLabel.cjs.map +1 -1
  106. package/build/cjs/components/input-group/SupportLabel.d.cts +2 -60
  107. package/build/cjs/components/input-group/index.d.cts +5 -4
  108. package/build/cjs/components/input-group/types.cjs +2 -0
  109. package/build/cjs/components/input-group/types.cjs.map +1 -0
  110. package/build/cjs/components/input-group/types.d.cts +101 -0
  111. package/build/cjs/components/link/Link.cjs.map +1 -1
  112. package/build/cjs/components/link/Link.d.cts +4 -6
  113. package/build/cjs/components/link/index.cjs +1 -1
  114. package/build/cjs/components/link/index.d.cts +2 -2
  115. package/build/cjs/components/link/types.cjs +2 -0
  116. package/build/cjs/components/link/types.cjs.map +1 -0
  117. package/build/cjs/components/link/types.d.cts +4 -0
  118. package/build/cjs/components/loader/Loader.cjs.map +1 -1
  119. package/build/cjs/components/loader/Loader.d.cts +1 -15
  120. package/build/cjs/components/loader/index.d.cts +10 -9
  121. package/build/cjs/components/loader/skeletons/SkeletonAnimation.cjs.map +1 -1
  122. package/build/cjs/components/loader/skeletons/SkeletonAnimation.d.cts +2 -15
  123. package/build/cjs/components/loader/skeletons/SkeletonButton.cjs.map +1 -1
  124. package/build/cjs/components/loader/skeletons/SkeletonButton.d.cts +1 -5
  125. package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.cjs.map +1 -1
  126. package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.d.cts +1 -10
  127. package/build/cjs/components/loader/skeletons/SkeletonElement.cjs.map +1 -1
  128. package/build/cjs/components/loader/skeletons/SkeletonElement.d.cts +2 -7
  129. package/build/cjs/components/loader/skeletons/SkeletonInput.cjs.map +1 -1
  130. package/build/cjs/components/loader/skeletons/SkeletonInput.d.cts +1 -9
  131. package/build/cjs/components/loader/skeletons/SkeletonLabel.cjs.map +1 -1
  132. package/build/cjs/components/loader/skeletons/SkeletonLabel.d.cts +1 -6
  133. package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.cjs.map +1 -1
  134. package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.d.cts +1 -10
  135. package/build/cjs/components/loader/skeletons/SkeletonTable.cjs.map +1 -1
  136. package/build/cjs/components/loader/skeletons/SkeletonTable.d.cts +2 -16
  137. package/build/cjs/components/loader/skeletons/SkeletonTextArea.cjs.map +1 -1
  138. package/build/cjs/components/loader/skeletons/SkeletonTextArea.d.cts +1 -9
  139. package/build/cjs/components/loader/types.cjs +2 -0
  140. package/build/cjs/components/loader/types.cjs.map +1 -0
  141. package/build/cjs/components/loader/types.d.cts +82 -0
  142. package/build/cjs/components/logo/Logo.cjs.map +1 -1
  143. package/build/cjs/components/logo/Logo.d.cts +1 -14
  144. package/build/cjs/components/logo/LogoStamp.cjs.map +1 -1
  145. package/build/cjs/components/logo/LogoStamp.d.cts +1 -15
  146. package/build/cjs/components/logo/index.d.cts +3 -2
  147. package/build/cjs/components/logo/types.cjs +2 -0
  148. package/build/cjs/components/logo/types.cjs.map +1 -0
  149. package/build/cjs/components/logo/types.d.cts +28 -0
  150. package/build/cjs/components/menu/Menu.cjs.map +1 -1
  151. package/build/cjs/components/menu/Menu.d.cts +2 -38
  152. package/build/cjs/components/menu/MenuItem.cjs.map +1 -1
  153. package/build/cjs/components/menu/MenuItem.d.cts +2 -22
  154. package/build/cjs/components/menu/MenuItemCheckbox.cjs.map +1 -1
  155. package/build/cjs/components/menu/MenuItemCheckbox.d.cts +2 -10
  156. package/build/cjs/components/menu/index.d.cts +4 -3
  157. package/build/cjs/components/menu/types.cjs +2 -0
  158. package/build/cjs/components/menu/types.cjs.map +1 -0
  159. package/build/cjs/components/menu/types.d.cts +68 -0
  160. package/build/cjs/components/message/FormErrorMessage.cjs.map +1 -1
  161. package/build/cjs/components/message/FormErrorMessage.d.cts +1 -12
  162. package/build/cjs/components/message/Message.cjs.map +1 -1
  163. package/build/cjs/components/message/Message.d.cts +2 -15
  164. package/build/cjs/components/message/index.d.cts +3 -2
  165. package/build/cjs/components/message/types.cjs +2 -0
  166. package/build/cjs/components/message/types.cjs.map +1 -0
  167. package/build/cjs/components/message/types.d.cts +26 -0
  168. package/build/cjs/components/modal/Modal.cjs.map +1 -1
  169. package/build/cjs/components/modal/Modal.d.cts +2 -23
  170. package/build/cjs/components/modal/index.d.cts +3 -2
  171. package/build/cjs/components/modal/types.cjs +2 -0
  172. package/build/cjs/components/modal/types.cjs.map +1 -0
  173. package/build/cjs/components/modal/types.d.cts +42 -0
  174. package/build/cjs/components/modal/useModal.cjs.map +1 -1
  175. package/build/cjs/components/modal/useModal.d.cts +1 -24
  176. package/build/cjs/components/nav-link/NavLink.cjs.map +1 -0
  177. package/build/cjs/components/nav-link/NavLink.d.cts +5 -0
  178. package/build/cjs/components/nav-link/index.cjs +2 -0
  179. package/build/cjs/components/nav-link/index.cjs.map +1 -0
  180. package/build/cjs/components/nav-link/index.d.cts +2 -0
  181. package/build/cjs/components/nav-link/types.cjs +2 -0
  182. package/build/cjs/components/nav-link/types.cjs.map +1 -0
  183. package/build/cjs/components/nav-link/types.d.cts +5 -0
  184. package/build/cjs/components/pagination/Pagination.cjs.map +1 -1
  185. package/build/cjs/components/pagination/Pagination.d.cts +1 -15
  186. package/build/cjs/components/pagination/index.d.cts +2 -1
  187. package/build/cjs/components/pagination/types.cjs +2 -0
  188. package/build/cjs/components/pagination/types.cjs.map +1 -0
  189. package/build/cjs/components/pagination/types.d.cts +15 -0
  190. package/build/cjs/components/popover/Popover.cjs.map +1 -1
  191. package/build/cjs/components/popover/Popover.d.cts +1 -102
  192. package/build/cjs/components/popover/index.d.cts +2 -1
  193. package/build/cjs/components/popover/types.cjs +2 -0
  194. package/build/cjs/components/popover/types.cjs.map +1 -0
  195. package/build/cjs/components/popover/types.d.cts +102 -0
  196. package/build/cjs/components/progress-bar/ProgressBar.cjs.map +1 -1
  197. package/build/cjs/components/progress-bar/ProgressBar.d.cts +2 -20
  198. package/build/cjs/components/progress-bar/index.cjs +1 -1
  199. package/build/cjs/components/progress-bar/index.d.cts +2 -2
  200. package/build/cjs/components/progress-bar/types.cjs +2 -0
  201. package/build/cjs/components/progress-bar/types.cjs.map +1 -0
  202. package/build/cjs/components/progress-bar/types.d.cts +20 -0
  203. package/build/cjs/components/radio-button/BaseRadioButton.cjs.map +1 -1
  204. package/build/cjs/components/radio-button/BaseRadioButton.d.cts +2 -9
  205. package/build/cjs/components/radio-button/RadioButton.cjs.map +1 -1
  206. package/build/cjs/components/radio-button/RadioButton.d.cts +2 -14
  207. package/build/cjs/components/radio-button/RadioButtonGroup.cjs.map +1 -1
  208. package/build/cjs/components/radio-button/RadioButtonGroup.d.cts +2 -23
  209. package/build/cjs/components/radio-button/index.d.cts +4 -3
  210. package/build/cjs/components/radio-button/types.cjs +2 -0
  211. package/build/cjs/components/radio-button/types.cjs.map +1 -0
  212. package/build/cjs/components/radio-button/types.d.cts +41 -0
  213. package/build/cjs/components/radio-panel/RadioPanel.cjs +2 -0
  214. package/build/cjs/components/radio-panel/RadioPanel.cjs.map +1 -0
  215. package/build/cjs/components/radio-panel/RadioPanel.d.cts +3 -0
  216. package/build/cjs/components/radio-panel/RadioPanelGroup.cjs.map +1 -0
  217. package/build/cjs/components/radio-panel/RadioPanelGroup.d.cts +3 -0
  218. package/build/cjs/components/radio-panel/index.cjs +2 -0
  219. package/build/cjs/components/radio-panel/index.cjs.map +1 -0
  220. package/build/cjs/components/radio-panel/index.d.cts +3 -0
  221. package/build/cjs/components/{input-panel → radio-panel}/radioPanelContext.cjs.map +1 -1
  222. package/build/cjs/components/radio-panel/types.cjs +2 -0
  223. package/build/cjs/components/radio-panel/types.cjs.map +1 -0
  224. package/build/cjs/components/radio-panel/types.d.cts +9 -0
  225. package/build/cjs/components/select/NativeSelect.cjs.map +1 -1
  226. package/build/cjs/components/select/NativeSelect.d.cts +2 -18
  227. package/build/cjs/components/select/Select.cjs.map +1 -1
  228. package/build/cjs/components/select/Select.d.cts +2 -53
  229. package/build/cjs/components/select/index.d.cts +3 -2
  230. package/build/cjs/components/select/types.cjs +2 -0
  231. package/build/cjs/components/select/types.cjs.map +1 -0
  232. package/build/cjs/components/select/types.d.cts +67 -0
  233. package/build/cjs/components/summary-table/SummaryTable.cjs.map +1 -1
  234. package/build/cjs/components/summary-table/SummaryTable.d.cts +2 -8
  235. package/build/cjs/components/summary-table/SummaryTableRow.cjs.map +1 -1
  236. package/build/cjs/components/summary-table/SummaryTableRow.d.cts +2 -6
  237. package/build/cjs/components/summary-table/index.d.cts +3 -2
  238. package/build/cjs/components/summary-table/types.cjs +2 -0
  239. package/build/cjs/components/summary-table/types.cjs.map +1 -0
  240. package/build/cjs/components/summary-table/types.d.cts +13 -0
  241. package/build/cjs/components/system-message/SystemMessage.cjs.map +1 -1
  242. package/build/cjs/components/system-message/SystemMessage.d.cts +1 -15
  243. package/build/cjs/components/system-message/index.d.cts +2 -1
  244. package/build/cjs/components/system-message/types.cjs +2 -0
  245. package/build/cjs/components/system-message/types.cjs.map +1 -0
  246. package/build/cjs/components/system-message/types.d.cts +15 -0
  247. package/build/cjs/components/table/DataTable.cjs.map +1 -1
  248. package/build/cjs/components/table/DataTable.d.cts +2 -16
  249. package/build/cjs/components/table/ExpandableTableRow.cjs.map +1 -1
  250. package/build/cjs/components/table/ExpandableTableRow.d.cts +1 -14
  251. package/build/cjs/components/table/ExpandableTableRowController.cjs.map +1 -1
  252. package/build/cjs/components/table/ExpandableTableRowController.d.cts +1 -7
  253. package/build/cjs/components/table/Table.cjs.map +1 -1
  254. package/build/cjs/components/table/Table.d.cts +2 -9
  255. package/build/cjs/components/table/TableBody.cjs.map +1 -1
  256. package/build/cjs/components/table/TableBody.d.cts +2 -3
  257. package/build/cjs/components/table/TableCaption.cjs.map +1 -1
  258. package/build/cjs/components/table/TableCaption.d.cts +2 -5
  259. package/build/cjs/components/table/TableCell.cjs.map +1 -1
  260. package/build/cjs/components/table/TableCell.d.cts +2 -15
  261. package/build/cjs/components/table/TableColumn.cjs.map +1 -1
  262. package/build/cjs/components/table/TableColumn.d.cts +2 -3
  263. package/build/cjs/components/table/TableColumnGroup.cjs.map +1 -1
  264. package/build/cjs/components/table/TableColumnGroup.d.cts +2 -3
  265. package/build/cjs/components/table/TableFooter.cjs.map +1 -1
  266. package/build/cjs/components/table/TableFooter.d.cts +2 -3
  267. package/build/cjs/components/table/TableHead.cjs.map +1 -1
  268. package/build/cjs/components/table/TableHead.d.cts +2 -5
  269. package/build/cjs/components/table/TableHeader.cjs.map +1 -1
  270. package/build/cjs/components/table/TableHeader.d.cts +2 -19
  271. package/build/cjs/components/table/TablePagination.cjs.map +1 -1
  272. package/build/cjs/components/table/TablePagination.d.cts +2 -42
  273. package/build/cjs/components/table/TableRow.cjs.map +1 -1
  274. package/build/cjs/components/table/TableRow.d.cts +2 -13
  275. package/build/cjs/components/table/index.d.cts +1 -16
  276. package/build/cjs/components/table/tableContext.cjs.map +1 -1
  277. package/build/cjs/components/table/tableContext.d.cts +1 -10
  278. package/build/cjs/components/table/tableSectionContext.cjs.map +1 -1
  279. package/build/cjs/components/table/tableSectionContext.d.cts +1 -10
  280. package/build/cjs/components/table/types.cjs +2 -0
  281. package/build/cjs/components/table/types.cjs.map +1 -0
  282. package/build/cjs/components/table/types.d.cts +157 -0
  283. package/build/cjs/components/tabs/NavTab.cjs.map +1 -1
  284. package/build/cjs/components/tabs/NavTab.d.cts +2 -24
  285. package/build/cjs/components/tabs/NavTabs.cjs.map +1 -1
  286. package/build/cjs/components/tabs/NavTabs.d.cts +1 -7
  287. package/build/cjs/components/tabs/Tab.cjs.map +1 -1
  288. package/build/cjs/components/tabs/Tab.d.cts +1 -4
  289. package/build/cjs/components/tabs/TabList.cjs.map +1 -1
  290. package/build/cjs/components/tabs/TabList.d.cts +1 -5
  291. package/build/cjs/components/tabs/TabPanel.cjs.map +1 -1
  292. package/build/cjs/components/tabs/TabPanel.d.cts +1 -4
  293. package/build/cjs/components/tabs/Tabs.cjs.map +1 -1
  294. package/build/cjs/components/tabs/Tabs.d.cts +1 -7
  295. package/build/cjs/components/tabs/index.d.cts +7 -6
  296. package/build/cjs/components/tabs/types.cjs +2 -0
  297. package/build/cjs/components/tabs/types.cjs.map +1 -0
  298. package/build/cjs/components/tabs/types.d.cts +47 -0
  299. package/build/cjs/components/tag/Tag.cjs.map +1 -1
  300. package/build/cjs/components/tag/Tag.d.cts +2 -5
  301. package/build/cjs/components/tag/index.d.cts +2 -1
  302. package/build/cjs/components/tag/types.cjs +2 -0
  303. package/build/cjs/components/tag/types.cjs.map +1 -0
  304. package/build/cjs/components/tag/types.d.cts +5 -0
  305. package/build/cjs/components/text-input/BaseTextArea.cjs.map +1 -1
  306. package/build/cjs/components/text-input/BaseTextArea.d.cts +2 -25
  307. package/build/cjs/components/text-input/BaseTextInput.cjs.map +1 -1
  308. package/build/cjs/components/text-input/BaseTextInput.d.cts +2 -50
  309. package/build/cjs/components/text-input/TextArea.cjs.map +1 -1
  310. package/build/cjs/components/text-input/TextArea.d.cts +1 -4
  311. package/build/cjs/components/text-input/TextInput.cjs.map +1 -1
  312. package/build/cjs/components/text-input/TextInput.d.cts +1 -7
  313. package/build/cjs/components/text-input/index.d.cts +5 -4
  314. package/build/cjs/components/text-input/types.cjs +2 -0
  315. package/build/cjs/components/text-input/types.cjs.map +1 -0
  316. package/build/cjs/components/text-input/types.d.cts +82 -0
  317. package/build/cjs/components/toast/Toast.cjs +1 -1
  318. package/build/cjs/components/toast/Toast.cjs.map +1 -1
  319. package/build/cjs/components/toggle-switch/ToggleSlider.cjs.map +1 -1
  320. package/build/cjs/components/toggle-switch/ToggleSlider.d.cts +1 -9
  321. package/build/cjs/components/toggle-switch/ToggleSwitch.cjs.map +1 -1
  322. package/build/cjs/components/toggle-switch/ToggleSwitch.d.cts +3 -29
  323. package/build/cjs/components/toggle-switch/index.d.cts +3 -2
  324. package/build/cjs/components/toggle-switch/types.cjs +2 -0
  325. package/build/cjs/components/toggle-switch/types.cjs.map +1 -0
  326. package/build/cjs/components/toggle-switch/types.d.cts +26 -0
  327. package/build/cjs/components/tooltip/PopupTip.cjs.map +1 -1
  328. package/build/cjs/components/tooltip/PopupTip.d.cts +2 -12
  329. package/build/cjs/components/tooltip/Tooltip.cjs.map +1 -1
  330. package/build/cjs/components/tooltip/Tooltip.d.cts +2 -30
  331. package/build/cjs/components/tooltip/index.d.cts +3 -2
  332. package/build/cjs/components/tooltip/types.cjs +2 -0
  333. package/build/cjs/components/tooltip/types.cjs.map +1 -0
  334. package/build/cjs/components/tooltip/types.d.cts +41 -0
  335. package/build/cjs/index.cjs +1 -1
  336. package/build/cjs/shared/input-panel/BasePanel.cjs +2 -0
  337. package/build/cjs/shared/input-panel/BasePanel.cjs.map +1 -0
  338. package/build/es/components/accordion/Accordion.d.ts +1 -6
  339. package/build/es/components/accordion/Accordion.js.map +1 -1
  340. package/build/es/components/accordion/AccordionItem.d.ts +2 -9
  341. package/build/es/components/accordion/AccordionItem.js.map +1 -1
  342. package/build/es/components/accordion/index.d.ts +3 -2
  343. package/build/es/components/accordion/types.d.ts +13 -0
  344. package/build/es/components/accordion/types.js +2 -0
  345. package/build/es/components/accordion/types.js.map +1 -0
  346. package/build/es/components/autosuggest/Autosuggest.d.ts +1 -45
  347. package/build/es/components/autosuggest/Autosuggest.js.map +1 -1
  348. package/build/es/components/autosuggest/BaseAutosuggest.d.ts +1 -1
  349. package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
  350. package/build/es/components/autosuggest/index.d.ts +1 -1
  351. package/build/es/components/autosuggest/types.d.ts +44 -0
  352. package/build/es/components/autosuggest/types.js +2 -0
  353. package/build/es/components/autosuggest/types.js.map +1 -0
  354. package/build/es/components/breadcrumb/Breadcrumb.d.ts +1 -5
  355. package/build/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  356. package/build/es/components/breadcrumb/BreadcrumbItem.d.ts +1 -9
  357. package/build/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  358. package/build/es/components/breadcrumb/index.d.ts +3 -2
  359. package/build/es/components/breadcrumb/types.d.ts +13 -0
  360. package/build/es/components/breadcrumb/types.js +2 -0
  361. package/build/es/components/breadcrumb/types.js.map +1 -0
  362. package/build/es/components/card/NavCard.d.ts +1 -1
  363. package/build/es/components/card/NavCard.js.map +1 -1
  364. package/build/es/components/checkbox/Checkbox.d.ts +2 -16
  365. package/build/es/components/checkbox/Checkbox.js.map +1 -1
  366. package/build/es/components/checkbox/index.d.ts +2 -1
  367. package/build/es/components/checkbox/types.d.ts +16 -0
  368. package/build/es/components/checkbox/types.js +2 -0
  369. package/build/es/components/checkbox/types.js.map +1 -0
  370. package/build/es/components/checkbox-panel/CheckboxPanel.d.ts +3 -0
  371. package/build/es/components/checkbox-panel/CheckboxPanel.js +2 -0
  372. package/build/es/components/checkbox-panel/CheckboxPanel.js.map +1 -0
  373. package/build/es/components/checkbox-panel/index.d.ts +2 -0
  374. package/build/es/components/checkbox-panel/index.js +2 -0
  375. package/build/es/components/checkbox-panel/types.d.ts +6 -0
  376. package/build/es/components/checkbox-panel/types.js +2 -0
  377. package/build/es/components/checkbox-panel/types.js.map +1 -0
  378. package/build/es/components/chip/Chip.d.ts +2 -13
  379. package/build/es/components/chip/Chip.js.map +1 -1
  380. package/build/es/components/chip/index.d.ts +2 -1
  381. package/build/es/components/chip/types.d.ts +13 -0
  382. package/build/es/components/chip/types.js +2 -0
  383. package/build/es/components/chip/types.js.map +1 -0
  384. package/build/es/components/combobox/Combobox.d.ts +2 -38
  385. package/build/es/components/combobox/Combobox.js.map +1 -1
  386. package/build/es/components/combobox/index.d.ts +2 -1
  387. package/build/es/components/combobox/types.d.ts +37 -0
  388. package/build/es/components/combobox/types.js +2 -0
  389. package/build/es/components/combobox/types.js.map +1 -0
  390. package/build/es/components/countdown/Countdown.d.ts +3 -0
  391. package/build/es/components/countdown/Countdown.js.map +1 -0
  392. package/build/es/components/countdown/index.d.ts +2 -0
  393. package/build/es/components/countdown/index.js +2 -0
  394. package/build/es/components/countdown/index.js.map +1 -0
  395. package/build/es/components/{progress-bar/Countdown.d.ts → countdown/types.d.ts} +1 -2
  396. package/build/es/components/countdown/types.js +2 -0
  397. package/build/es/components/countdown/types.js.map +1 -0
  398. package/build/es/components/datepicker/types.d.ts +3 -3
  399. package/build/es/components/description-list/DescriptionList.d.ts +1 -10
  400. package/build/es/components/description-list/DescriptionList.js.map +1 -1
  401. package/build/es/components/description-list/index.d.ts +2 -1
  402. package/build/es/components/description-list/types.d.ts +10 -0
  403. package/build/es/components/description-list/types.js +2 -0
  404. package/build/es/components/description-list/types.js.map +1 -0
  405. package/build/es/components/feedback/Feedback.d.ts +1 -1
  406. package/build/es/components/feedback/Feedback.js.map +1 -1
  407. package/build/es/components/feedback/FeedbackSuccess.d.ts +1 -1
  408. package/build/es/components/feedback/FeedbackSuccess.js.map +1 -1
  409. package/build/es/components/feedback/feedbackContext.d.ts +1 -1
  410. package/build/es/components/feedback/feedbackContext.js.map +1 -1
  411. package/build/es/components/feedback/types.d.ts +12 -4
  412. package/build/es/components/file-input/FileInput.d.ts +1 -1
  413. package/build/es/components/file-input/FileInput.js.map +1 -1
  414. package/build/es/components/flex/Flex.d.ts +1 -14
  415. package/build/es/components/flex/Flex.js.map +1 -1
  416. package/build/es/components/flex/index.d.ts +1 -0
  417. package/build/es/components/flex/types.d.ts +14 -0
  418. package/build/es/components/flex/types.js +2 -0
  419. package/build/es/components/flex/types.js.map +1 -0
  420. package/build/es/components/icon/types.d.ts +2 -1
  421. package/build/es/components/icon-button/IconButton.d.ts +2 -5
  422. package/build/es/components/icon-button/IconButton.js.map +1 -1
  423. package/build/es/components/icon-button/index.d.ts +2 -1
  424. package/build/es/components/icon-button/types.d.ts +5 -0
  425. package/build/es/components/icon-button/types.js +2 -0
  426. package/build/es/components/icon-button/types.js.map +1 -0
  427. package/build/es/components/image/Image.d.ts +1 -11
  428. package/build/es/components/image/Image.js.map +1 -1
  429. package/build/es/components/image/index.d.ts +2 -1
  430. package/build/es/components/image/types.d.ts +12 -0
  431. package/build/es/components/image/types.js +2 -0
  432. package/build/es/components/image/types.js.map +1 -0
  433. package/build/es/components/index.d.ts +4 -1
  434. package/build/es/components/index.js +1 -1
  435. package/build/es/components/input-group/FieldGroup.d.ts +2 -14
  436. package/build/es/components/input-group/FieldGroup.js.map +1 -1
  437. package/build/es/components/input-group/InputGroup.d.ts +11 -33
  438. package/build/es/components/input-group/InputGroup.js.map +1 -1
  439. package/build/es/components/input-group/Label.d.ts +2 -13
  440. package/build/es/components/input-group/Label.js.map +1 -1
  441. package/build/es/components/input-group/SupportLabel.d.ts +2 -60
  442. package/build/es/components/input-group/SupportLabel.js.map +1 -1
  443. package/build/es/components/input-group/index.d.ts +5 -4
  444. package/build/es/components/input-group/types.d.ts +101 -0
  445. package/build/es/components/input-group/types.js +2 -0
  446. package/build/es/components/input-group/types.js.map +1 -0
  447. package/build/es/components/link/Link.d.ts +4 -6
  448. package/build/es/components/link/Link.js.map +1 -1
  449. package/build/es/components/link/index.d.ts +2 -2
  450. package/build/es/components/link/index.js +1 -1
  451. package/build/es/components/link/types.d.ts +4 -0
  452. package/build/es/components/link/types.js +2 -0
  453. package/build/es/components/link/types.js.map +1 -0
  454. package/build/es/components/loader/Loader.d.ts +1 -15
  455. package/build/es/components/loader/Loader.js.map +1 -1
  456. package/build/es/components/loader/index.d.ts +10 -9
  457. package/build/es/components/loader/skeletons/SkeletonAnimation.d.ts +2 -15
  458. package/build/es/components/loader/skeletons/SkeletonAnimation.js.map +1 -1
  459. package/build/es/components/loader/skeletons/SkeletonButton.d.ts +1 -5
  460. package/build/es/components/loader/skeletons/SkeletonButton.js.map +1 -1
  461. package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.d.ts +1 -10
  462. package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -1
  463. package/build/es/components/loader/skeletons/SkeletonElement.d.ts +2 -7
  464. package/build/es/components/loader/skeletons/SkeletonElement.js.map +1 -1
  465. package/build/es/components/loader/skeletons/SkeletonInput.d.ts +1 -9
  466. package/build/es/components/loader/skeletons/SkeletonInput.js.map +1 -1
  467. package/build/es/components/loader/skeletons/SkeletonLabel.d.ts +1 -6
  468. package/build/es/components/loader/skeletons/SkeletonLabel.js.map +1 -1
  469. package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.d.ts +1 -10
  470. package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -1
  471. package/build/es/components/loader/skeletons/SkeletonTable.d.ts +2 -16
  472. package/build/es/components/loader/skeletons/SkeletonTable.js.map +1 -1
  473. package/build/es/components/loader/skeletons/SkeletonTextArea.d.ts +1 -9
  474. package/build/es/components/loader/skeletons/SkeletonTextArea.js.map +1 -1
  475. package/build/es/components/loader/types.d.ts +82 -0
  476. package/build/es/components/loader/types.js +2 -0
  477. package/build/es/components/loader/types.js.map +1 -0
  478. package/build/es/components/logo/Logo.d.ts +1 -14
  479. package/build/es/components/logo/Logo.js.map +1 -1
  480. package/build/es/components/logo/LogoStamp.d.ts +1 -15
  481. package/build/es/components/logo/LogoStamp.js.map +1 -1
  482. package/build/es/components/logo/index.d.ts +3 -2
  483. package/build/es/components/logo/types.d.ts +28 -0
  484. package/build/es/components/logo/types.js +2 -0
  485. package/build/es/components/logo/types.js.map +1 -0
  486. package/build/es/components/menu/Menu.d.ts +2 -38
  487. package/build/es/components/menu/Menu.js.map +1 -1
  488. package/build/es/components/menu/MenuItem.d.ts +2 -22
  489. package/build/es/components/menu/MenuItem.js.map +1 -1
  490. package/build/es/components/menu/MenuItemCheckbox.d.ts +2 -10
  491. package/build/es/components/menu/MenuItemCheckbox.js.map +1 -1
  492. package/build/es/components/menu/index.d.ts +4 -3
  493. package/build/es/components/menu/types.d.ts +68 -0
  494. package/build/es/components/menu/types.js +2 -0
  495. package/build/es/components/menu/types.js.map +1 -0
  496. package/build/es/components/message/FormErrorMessage.d.ts +1 -12
  497. package/build/es/components/message/FormErrorMessage.js.map +1 -1
  498. package/build/es/components/message/Message.d.ts +2 -15
  499. package/build/es/components/message/Message.js.map +1 -1
  500. package/build/es/components/message/index.d.ts +3 -2
  501. package/build/es/components/message/types.d.ts +26 -0
  502. package/build/es/components/message/types.js +2 -0
  503. package/build/es/components/message/types.js.map +1 -0
  504. package/build/es/components/modal/Modal.d.ts +2 -23
  505. package/build/es/components/modal/Modal.js.map +1 -1
  506. package/build/es/components/modal/index.d.ts +3 -2
  507. package/build/es/components/modal/types.d.ts +42 -0
  508. package/build/es/components/modal/types.js +2 -0
  509. package/build/es/components/modal/types.js.map +1 -0
  510. package/build/es/components/modal/useModal.d.ts +1 -24
  511. package/build/es/components/modal/useModal.js.map +1 -1
  512. package/build/es/components/nav-link/NavLink.d.ts +5 -0
  513. package/build/es/components/nav-link/NavLink.js.map +1 -0
  514. package/build/es/components/nav-link/index.d.ts +2 -0
  515. package/build/es/components/nav-link/index.js +2 -0
  516. package/build/es/components/nav-link/index.js.map +1 -0
  517. package/build/es/components/nav-link/types.d.ts +5 -0
  518. package/build/es/components/nav-link/types.js +2 -0
  519. package/build/es/components/nav-link/types.js.map +1 -0
  520. package/build/es/components/pagination/Pagination.d.ts +1 -15
  521. package/build/es/components/pagination/Pagination.js.map +1 -1
  522. package/build/es/components/pagination/index.d.ts +2 -1
  523. package/build/es/components/pagination/types.d.ts +15 -0
  524. package/build/es/components/pagination/types.js +2 -0
  525. package/build/es/components/pagination/types.js.map +1 -0
  526. package/build/es/components/popover/Popover.d.ts +1 -102
  527. package/build/es/components/popover/Popover.js.map +1 -1
  528. package/build/es/components/popover/index.d.ts +2 -1
  529. package/build/es/components/popover/types.d.ts +102 -0
  530. package/build/es/components/popover/types.js +2 -0
  531. package/build/es/components/popover/types.js.map +1 -0
  532. package/build/es/components/progress-bar/ProgressBar.d.ts +2 -20
  533. package/build/es/components/progress-bar/ProgressBar.js.map +1 -1
  534. package/build/es/components/progress-bar/index.d.ts +2 -2
  535. package/build/es/components/progress-bar/index.js +1 -1
  536. package/build/es/components/progress-bar/types.d.ts +20 -0
  537. package/build/es/components/progress-bar/types.js +2 -0
  538. package/build/es/components/progress-bar/types.js.map +1 -0
  539. package/build/es/components/radio-button/BaseRadioButton.d.ts +2 -9
  540. package/build/es/components/radio-button/BaseRadioButton.js.map +1 -1
  541. package/build/es/components/radio-button/RadioButton.d.ts +2 -14
  542. package/build/es/components/radio-button/RadioButton.js.map +1 -1
  543. package/build/es/components/radio-button/RadioButtonGroup.d.ts +2 -23
  544. package/build/es/components/radio-button/RadioButtonGroup.js.map +1 -1
  545. package/build/es/components/radio-button/index.d.ts +4 -3
  546. package/build/es/components/radio-button/types.d.ts +41 -0
  547. package/build/es/components/radio-button/types.js +2 -0
  548. package/build/es/components/radio-button/types.js.map +1 -0
  549. package/build/es/components/radio-panel/RadioPanel.d.ts +3 -0
  550. package/build/es/components/radio-panel/RadioPanel.js +2 -0
  551. package/build/es/components/radio-panel/RadioPanel.js.map +1 -0
  552. package/build/es/components/radio-panel/RadioPanelGroup.d.ts +3 -0
  553. package/build/es/components/radio-panel/RadioPanelGroup.js.map +1 -0
  554. package/build/es/components/radio-panel/index.d.ts +3 -0
  555. package/build/es/components/radio-panel/index.js +2 -0
  556. package/build/es/components/radio-panel/index.js.map +1 -0
  557. package/build/es/components/{input-panel → radio-panel}/radioPanelContext.js.map +1 -1
  558. package/build/es/components/radio-panel/types.d.ts +9 -0
  559. package/build/es/components/radio-panel/types.js +2 -0
  560. package/build/es/components/radio-panel/types.js.map +1 -0
  561. package/build/es/components/select/NativeSelect.d.ts +2 -18
  562. package/build/es/components/select/NativeSelect.js.map +1 -1
  563. package/build/es/components/select/Select.d.ts +2 -53
  564. package/build/es/components/select/Select.js.map +1 -1
  565. package/build/es/components/select/index.d.ts +3 -2
  566. package/build/es/components/select/types.d.ts +67 -0
  567. package/build/es/components/select/types.js +2 -0
  568. package/build/es/components/select/types.js.map +1 -0
  569. package/build/es/components/summary-table/SummaryTable.d.ts +2 -8
  570. package/build/es/components/summary-table/SummaryTable.js.map +1 -1
  571. package/build/es/components/summary-table/SummaryTableRow.d.ts +2 -6
  572. package/build/es/components/summary-table/SummaryTableRow.js.map +1 -1
  573. package/build/es/components/summary-table/index.d.ts +3 -2
  574. package/build/es/components/summary-table/types.d.ts +13 -0
  575. package/build/es/components/summary-table/types.js +2 -0
  576. package/build/es/components/summary-table/types.js.map +1 -0
  577. package/build/es/components/system-message/SystemMessage.d.ts +1 -15
  578. package/build/es/components/system-message/SystemMessage.js.map +1 -1
  579. package/build/es/components/system-message/index.d.ts +2 -1
  580. package/build/es/components/system-message/types.d.ts +15 -0
  581. package/build/es/components/system-message/types.js +2 -0
  582. package/build/es/components/system-message/types.js.map +1 -0
  583. package/build/es/components/table/DataTable.d.ts +2 -16
  584. package/build/es/components/table/DataTable.js.map +1 -1
  585. package/build/es/components/table/ExpandableTableRow.d.ts +1 -14
  586. package/build/es/components/table/ExpandableTableRow.js.map +1 -1
  587. package/build/es/components/table/ExpandableTableRowController.d.ts +1 -7
  588. package/build/es/components/table/ExpandableTableRowController.js.map +1 -1
  589. package/build/es/components/table/Table.d.ts +2 -9
  590. package/build/es/components/table/Table.js.map +1 -1
  591. package/build/es/components/table/TableBody.d.ts +2 -3
  592. package/build/es/components/table/TableBody.js.map +1 -1
  593. package/build/es/components/table/TableCaption.d.ts +2 -5
  594. package/build/es/components/table/TableCaption.js.map +1 -1
  595. package/build/es/components/table/TableCell.d.ts +2 -15
  596. package/build/es/components/table/TableCell.js.map +1 -1
  597. package/build/es/components/table/TableColumn.d.ts +2 -3
  598. package/build/es/components/table/TableColumn.js.map +1 -1
  599. package/build/es/components/table/TableColumnGroup.d.ts +2 -3
  600. package/build/es/components/table/TableColumnGroup.js.map +1 -1
  601. package/build/es/components/table/TableFooter.d.ts +2 -3
  602. package/build/es/components/table/TableFooter.js.map +1 -1
  603. package/build/es/components/table/TableHead.d.ts +2 -5
  604. package/build/es/components/table/TableHead.js.map +1 -1
  605. package/build/es/components/table/TableHeader.d.ts +2 -19
  606. package/build/es/components/table/TableHeader.js.map +1 -1
  607. package/build/es/components/table/TablePagination.d.ts +2 -42
  608. package/build/es/components/table/TablePagination.js.map +1 -1
  609. package/build/es/components/table/TableRow.d.ts +2 -13
  610. package/build/es/components/table/TableRow.js.map +1 -1
  611. package/build/es/components/table/index.d.ts +1 -16
  612. package/build/es/components/table/tableContext.d.ts +1 -10
  613. package/build/es/components/table/tableContext.js.map +1 -1
  614. package/build/es/components/table/tableSectionContext.d.ts +1 -10
  615. package/build/es/components/table/tableSectionContext.js.map +1 -1
  616. package/build/es/components/table/types.d.ts +157 -0
  617. package/build/es/components/table/types.js +2 -0
  618. package/build/es/components/table/types.js.map +1 -0
  619. package/build/es/components/tabs/NavTab.d.ts +2 -24
  620. package/build/es/components/tabs/NavTab.js.map +1 -1
  621. package/build/es/components/tabs/NavTabs.d.ts +1 -7
  622. package/build/es/components/tabs/NavTabs.js.map +1 -1
  623. package/build/es/components/tabs/Tab.d.ts +1 -4
  624. package/build/es/components/tabs/Tab.js.map +1 -1
  625. package/build/es/components/tabs/TabList.d.ts +1 -5
  626. package/build/es/components/tabs/TabList.js.map +1 -1
  627. package/build/es/components/tabs/TabPanel.d.ts +1 -4
  628. package/build/es/components/tabs/TabPanel.js.map +1 -1
  629. package/build/es/components/tabs/Tabs.d.ts +1 -7
  630. package/build/es/components/tabs/Tabs.js.map +1 -1
  631. package/build/es/components/tabs/index.d.ts +7 -6
  632. package/build/es/components/tabs/types.d.ts +47 -0
  633. package/build/es/components/tabs/types.js +2 -0
  634. package/build/es/components/tabs/types.js.map +1 -0
  635. package/build/es/components/tag/Tag.d.ts +2 -5
  636. package/build/es/components/tag/Tag.js.map +1 -1
  637. package/build/es/components/tag/index.d.ts +2 -1
  638. package/build/es/components/tag/types.d.ts +5 -0
  639. package/build/es/components/tag/types.js +2 -0
  640. package/build/es/components/tag/types.js.map +1 -0
  641. package/build/es/components/text-input/BaseTextArea.d.ts +2 -25
  642. package/build/es/components/text-input/BaseTextArea.js.map +1 -1
  643. package/build/es/components/text-input/BaseTextInput.d.ts +2 -50
  644. package/build/es/components/text-input/BaseTextInput.js.map +1 -1
  645. package/build/es/components/text-input/TextArea.d.ts +1 -4
  646. package/build/es/components/text-input/TextArea.js.map +1 -1
  647. package/build/es/components/text-input/TextInput.d.ts +1 -7
  648. package/build/es/components/text-input/TextInput.js.map +1 -1
  649. package/build/es/components/text-input/index.d.ts +5 -4
  650. package/build/es/components/text-input/types.d.ts +82 -0
  651. package/build/es/components/text-input/types.js +2 -0
  652. package/build/es/components/text-input/types.js.map +1 -0
  653. package/build/es/components/toast/Toast.js +1 -1
  654. package/build/es/components/toast/Toast.js.map +1 -1
  655. package/build/es/components/toggle-switch/ToggleSlider.d.ts +1 -9
  656. package/build/es/components/toggle-switch/ToggleSlider.js.map +1 -1
  657. package/build/es/components/toggle-switch/ToggleSwitch.d.ts +3 -29
  658. package/build/es/components/toggle-switch/ToggleSwitch.js.map +1 -1
  659. package/build/es/components/toggle-switch/index.d.ts +3 -2
  660. package/build/es/components/toggle-switch/types.d.ts +26 -0
  661. package/build/es/components/toggle-switch/types.js +2 -0
  662. package/build/es/components/toggle-switch/types.js.map +1 -0
  663. package/build/es/components/tooltip/PopupTip.d.ts +2 -12
  664. package/build/es/components/tooltip/PopupTip.js.map +1 -1
  665. package/build/es/components/tooltip/Tooltip.d.ts +2 -30
  666. package/build/es/components/tooltip/Tooltip.js.map +1 -1
  667. package/build/es/components/tooltip/index.d.ts +3 -2
  668. package/build/es/components/tooltip/types.d.ts +41 -0
  669. package/build/es/components/tooltip/types.js +2 -0
  670. package/build/es/components/tooltip/types.js.map +1 -0
  671. package/build/es/index.js +1 -1
  672. package/build/es/shared/input-panel/BasePanel.js +2 -0
  673. package/build/es/shared/input-panel/BasePanel.js.map +1 -0
  674. package/package.json +46 -13
  675. package/styles/components/button/button.css +2 -2
  676. package/styles/components/button/button.min.css +1 -1
  677. package/styles/components/checkbox/checkbox.css +4 -4
  678. package/styles/components/checkbox/checkbox.min.css +1 -1
  679. package/styles/components/{input-panel → checkbox-panel}/_index.scss +0 -1
  680. package/styles/components/{input-panel → checkbox-panel}/checkbox-panel.css +2 -2
  681. package/styles/components/{input-panel → checkbox-panel}/checkbox-panel.min.css +1 -1
  682. package/styles/components/{input-panel → checkbox-panel}/checkbox-panel.scss +2 -2
  683. package/styles/components/countdown/_index.scss +1 -0
  684. package/styles/components/countdown/countdown.css +40 -0
  685. package/styles/components/countdown/countdown.min.css +1 -0
  686. package/styles/components/countdown/countdown.scss +23 -0
  687. package/styles/components/feedback/feedback.css +2 -2
  688. package/styles/components/feedback/feedback.min.css +1 -1
  689. package/styles/components/input-group/input-group.css +2 -2
  690. package/styles/components/input-group/input-group.min.css +1 -1
  691. package/styles/components/link/_index.scss +0 -1
  692. package/styles/components/loader/loader.css +6 -6
  693. package/styles/components/loader/loader.min.css +1 -1
  694. package/styles/components/loader/skeleton-loader.css +5 -5
  695. package/styles/components/loader/skeleton-loader.min.css +1 -1
  696. package/styles/components/message/message.css +2 -2
  697. package/styles/components/message/message.min.css +1 -1
  698. package/styles/components/nav-link/_index.scss +1 -0
  699. package/styles/components/progress-bar/progress-bar.css +5 -15
  700. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  701. package/styles/components/progress-bar/progress-bar.scss +3 -34
  702. package/styles/components/radio-button/radio-button.css +2 -2
  703. package/styles/components/radio-button/radio-button.min.css +1 -1
  704. package/styles/components/radio-panel/_index.scss +1 -0
  705. package/styles/components/radio-panel/development/styles.css +25 -0
  706. package/styles/components/radio-panel/development/styles.min.css +1 -0
  707. package/styles/components/radio-panel/development/styles.scss +27 -0
  708. package/styles/components/{input-panel → radio-panel}/radio-panel.css +2 -2
  709. package/styles/components/{input-panel → radio-panel}/radio-panel.min.css +1 -1
  710. package/styles/components/{input-panel → radio-panel}/radio-panel.scss +1 -1
  711. package/styles/components/system-message/system-message.css +2 -2
  712. package/styles/components/system-message/system-message.min.css +1 -1
  713. package/styles/components/toast/toast.css +4 -4
  714. package/styles/components/toast/toast.min.css +1 -1
  715. package/styles/shared/track/track.css +4 -0
  716. package/styles/shared/track/track.min.css +0 -0
  717. package/styles/shared/track/track.scss +27 -0
  718. package/styles/styles.css +334 -308
  719. package/styles/styles.min.css +1 -1
  720. package/styles/styles.scss +4 -1
  721. package/build/cjs/components/input-panel/BasePanel.cjs +0 -2
  722. package/build/cjs/components/input-panel/BasePanel.cjs.map +0 -1
  723. package/build/cjs/components/input-panel/CheckboxPanel.cjs +0 -2
  724. package/build/cjs/components/input-panel/CheckboxPanel.cjs.map +0 -1
  725. package/build/cjs/components/input-panel/CheckboxPanel.d.cts +0 -7
  726. package/build/cjs/components/input-panel/RadioPanel.cjs +0 -2
  727. package/build/cjs/components/input-panel/RadioPanel.cjs.map +0 -1
  728. package/build/cjs/components/input-panel/RadioPanel.d.cts +0 -8
  729. package/build/cjs/components/input-panel/RadioPanelGroup.cjs.map +0 -1
  730. package/build/cjs/components/input-panel/RadioPanelGroup.d.cts +0 -4
  731. package/build/cjs/components/input-panel/development/checkbox-panel/ControlledExample.d.cts +0 -4
  732. package/build/cjs/components/input-panel/development/checkbox-panel/UncontrolledExample.d.cts +0 -4
  733. package/build/cjs/components/input-panel/development/radio-panel/ControlledExample.d.cts +0 -4
  734. package/build/cjs/components/input-panel/development/radio-panel/UncontrolledExample.d.cts +0 -4
  735. package/build/cjs/components/input-panel/index.cjs +0 -2
  736. package/build/cjs/components/input-panel/index.d.cts +0 -3
  737. package/build/cjs/components/link/NavLink.cjs.map +0 -1
  738. package/build/cjs/components/link/NavLink.d.cts +0 -8
  739. package/build/cjs/components/progress-bar/Countdown.cjs.map +0 -1
  740. package/build/es/components/input-panel/BasePanel.js +0 -2
  741. package/build/es/components/input-panel/BasePanel.js.map +0 -1
  742. package/build/es/components/input-panel/CheckboxPanel.d.ts +0 -7
  743. package/build/es/components/input-panel/CheckboxPanel.js +0 -2
  744. package/build/es/components/input-panel/CheckboxPanel.js.map +0 -1
  745. package/build/es/components/input-panel/RadioPanel.d.ts +0 -8
  746. package/build/es/components/input-panel/RadioPanel.js +0 -2
  747. package/build/es/components/input-panel/RadioPanel.js.map +0 -1
  748. package/build/es/components/input-panel/RadioPanelGroup.d.ts +0 -4
  749. package/build/es/components/input-panel/RadioPanelGroup.js.map +0 -1
  750. package/build/es/components/input-panel/development/checkbox-panel/ControlledExample.d.ts +0 -4
  751. package/build/es/components/input-panel/development/checkbox-panel/UncontrolledExample.d.ts +0 -4
  752. package/build/es/components/input-panel/development/radio-panel/ControlledExample.d.ts +0 -4
  753. package/build/es/components/input-panel/development/radio-panel/UncontrolledExample.d.ts +0 -4
  754. package/build/es/components/input-panel/index.d.ts +0 -3
  755. package/build/es/components/input-panel/index.js +0 -2
  756. package/build/es/components/link/NavLink.d.ts +0 -8
  757. package/build/es/components/link/NavLink.js.map +0 -1
  758. package/build/es/components/progress-bar/Countdown.js.map +0 -1
  759. /package/build/cjs/components/{input-panel → checkbox-panel}/index.cjs.map +0 -0
  760. /package/build/cjs/components/{progress-bar → countdown}/Countdown.cjs +0 -0
  761. /package/build/cjs/components/{link → nav-link}/NavLink.cjs +0 -0
  762. /package/build/cjs/components/{input-panel → radio-panel}/RadioPanelGroup.cjs +0 -0
  763. /package/build/cjs/components/{input-panel → radio-panel}/radioPanelContext.cjs +0 -0
  764. /package/build/cjs/components/{input-panel → radio-panel}/radioPanelContext.d.cts +0 -0
  765. /package/build/cjs/{components → shared}/input-panel/BasePanel.d.cts +0 -0
  766. /package/build/es/components/{input-panel → checkbox-panel}/index.js.map +0 -0
  767. /package/build/es/components/{progress-bar → countdown}/Countdown.js +0 -0
  768. /package/build/es/components/{link → nav-link}/NavLink.js +0 -0
  769. /package/build/es/components/{input-panel → radio-panel}/RadioPanelGroup.js +0 -0
  770. /package/build/es/components/{input-panel → radio-panel}/radioPanelContext.d.ts +0 -0
  771. /package/build/es/components/{input-panel → radio-panel}/radioPanelContext.js +0 -0
  772. /package/build/es/{components → shared}/input-panel/BasePanel.d.ts +0 -0
  773. /package/styles/components/{input-panel → checkbox-panel}/development/styles.css +0 -0
  774. /package/styles/components/{input-panel → checkbox-panel}/development/styles.min.css +0 -0
  775. /package/styles/components/{input-panel → checkbox-panel}/development/styles.scss +0 -0
  776. /package/styles/components/{link → nav-link}/nav-link.css +0 -0
  777. /package/styles/components/{link → nav-link}/nav-link.min.css +0 -0
  778. /package/styles/components/{link → nav-link}/nav-link.scss +0 -0
  779. /package/styles/{components → shared}/input-panel/shared.css +0 -0
  780. /package/styles/{components → shared}/input-panel/shared.min.css +0 -0
  781. /package/styles/{components → shared}/input-panel/shared.scss +0 -0
@@ -1,11 +1,3 @@
1
- import { default as React, HTMLAttributes, ReactNode } from 'react';
2
- import { SwipeChangeHandler } from '../../hooks/useSwipeGesture/useSwipeGesture.js';
3
- export interface MenuItemCheckboxProps extends Omit<HTMLAttributes<HTMLDivElement>, "aria-checked" | "onChange"> {
4
- "aria-checked": boolean;
5
- /**
6
- * Et ikon som vises før innholdet i menypunktet
7
- */
8
- icon?: ReactNode;
9
- onChange?: SwipeChangeHandler<HTMLDivElement> & ((event: React.KeyboardEvent<HTMLDivElement> | React.PointerEvent<HTMLDivElement>, pressed: boolean) => void);
10
- }
1
+ import { default as React } from 'react';
2
+ import { MenuItemCheckboxProps } from './types.js';
11
3
  export declare const MenuItemCheckbox: React.ForwardRefExoticComponent<MenuItemCheckboxProps & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.js","sources":["../../../../src/components/menu/MenuItemCheckbox.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, {\n forwardRef,\n type HTMLAttributes,\n type KeyboardEventHandler,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport {\n SwipeChangeHandler,\n useSwipeGesture,\n} from \"../../hooks/useSwipeGesture/useSwipeGesture.js\";\nimport { CheckIcon } from \"../icon/icons/CheckIcon.js\";\n\nexport interface MenuItemCheckboxProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"aria-checked\" | \"onChange\"> {\n \"aria-checked\": boolean;\n /**\n * Et ikon som vises før innholdet i menypunktet\n */\n icon?: ReactNode;\n onChange?: SwipeChangeHandler<HTMLDivElement> &\n ((\n event:\n | React.KeyboardEvent<HTMLDivElement>\n | React.PointerEvent<HTMLDivElement>,\n pressed: boolean,\n ) => void);\n}\n\nexport const MenuItemCheckbox = forwardRef<\n HTMLDivElement,\n MenuItemCheckboxProps\n>((props, ref) => {\n const {\n \"aria-checked\": checked,\n className,\n children,\n icon,\n onChange,\n onClick,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onKeyDown,\n ...rest\n } = props;\n\n const handleClick: MouseEventHandler<HTMLDivElement> = (event) => {\n event.preventDefault(); // Prevents the menu from closing on toggle\n onChange?.(event, !checked);\n onClick?.(event);\n };\n\n const handleChange: SwipeChangeHandler<HTMLDivElement> = (\n event,\n toggleTo,\n ) => {\n if (toggleTo !== checked) {\n onChange?.(event, toggleTo);\n }\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLDivElement> = (event) => {\n if (event.key === \"Enter\") {\n onChange?.(event, !checked);\n } else if (event.key === \" \") {\n event.preventDefault(); // Prevents the menu from closing on toggle, https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/menuitemcheckbox_role#keyboard_interactions\n onChange?.(event, !checked);\n }\n onKeyDown?.(event);\n };\n\n const { gestureHandlers } = useSwipeGesture({\n onClick: handleClick,\n onChange: handleChange,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n });\n\n return (\n <div\n ref={ref}\n tabIndex={-1}\n {...rest}\n role=\"menuitemcheckbox\"\n aria-checked={checked}\n className={clsx(\n \"jkl-menu-item\",\n \"jkl-menu-item--checkbox\",\n className,\n )}\n {...gestureHandlers}\n onKeyDown={handleKeyDown}\n >\n {icon && <span className=\"jkl-menu-item__icon\">{icon}</span>}\n <div className=\"jkl-menu-item__content\">{children}</div>\n <div className=\"jkl-toggle-switch\">\n <div className=\"jkl-toggle-switch-widget\">\n <div className=\"jkl-toggle-switch-widget__slider\">\n <div className=\"jkl-toggle-switch-widget__knob\" />\n <CheckIcon\n variant=\"small\"\n bold\n className=\"jkl-toggle-switch-widget__indicator\"\n />\n </div>\n </div>\n </div>\n </div>\n );\n});\n\nMenuItemCheckbox.displayName = \"MenuItemCheckbox\";\n"],"names":["MenuItemCheckbox","forwardRef","props","ref","checked","className","children","icon","onChange","onClick","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","onKeyDown","rest","gestureHandlers","useSwipeGesture","event","preventDefault","toggleTo","jsxs","tabIndex","role","clsx","key","jsx","CheckIcon","variant","bold","displayName"],"mappings":"2QA8BO,MAAMA,EAAmBC,GAG9B,CAACC,EAAOC,KACA,MACF,eAAgBC,EAChBC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,EACAC,UAAAA,KACGC,GACHb,GA2BIc,gBAAAA,GAAoBC,EAAgB,CACxCR,QA1BoDS,IACpDA,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,GACnB,MAAAK,GAAAA,EAAUS,EAAAA,EAwBVV,SArBqD,CACrDU,EACAE,KAEIA,IAAahB,IACb,MAAAI,GAAAA,EAAWU,EAAOE,GAAAA,EAiBtBV,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,IAIA,OAAAQ,EAAC,MAAA,CACGlB,IAAAA,EACAmB,UAAU,KACNP,EACJQ,KAAK,mBACL,eAAcnB,EACdC,UAAWmB,EACP,gBACA,0BACAnB,MAEAW,EACJF,UAhCqDI,IACvC,UAAdA,EAAMO,IACK,MAAAjB,GAAAA,EAAAU,GAAQd,GACE,MAAdc,EAAMO,MACbP,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,IAEvB,MAAAU,GAAAA,EAAYI,EAAAA,EA2BPZ,SAAA,CAAAC,GAASmB,EAAA,OAAA,CAAKrB,UAAU,sBAAuBC,SAAKC,IACpDmB,EAAA,MAAA,CAAIrB,UAAU,yBAA0BC,SAAAA,IACzCoB,EAAC,MAAI,CAAArB,UAAU,oBACXC,SAAAoB,EAAC,MAAI,CAAArB,UAAU,2BACXC,SAAAe,EAAC,MAAI,CAAAhB,UAAU,mCACXC,SAAA,CAACoB,EAAA,MAAA,CAAIrB,UAAU,mCACfqB,EAACC,EAAA,CACGC,QAAQ,QACRC,MAAI,EACJxB,UAAU,iDAI1B,IAKZL,EAAiB8B,YAAc"}
1
+ {"version":3,"file":"MenuItemCheckbox.js","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":"2QAaO,MAAMA,EAAmBC,GAG9B,CAACC,EAAOC,KACA,MACF,eAAgBC,EAChBC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,EACAC,UAAAA,KACGC,GACHb,GA2BIc,gBAAAA,GAAoBC,EAAgB,CACxCR,QA1BoDS,IACpDA,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,GACnB,MAAAK,GAAAA,EAAUS,EAAAA,EAwBVV,SArBqD,CACrDU,EACAE,KAEIA,IAAahB,IACb,MAAAI,GAAAA,EAAWU,EAAOE,GAAAA,EAiBtBV,gBAAAA,EACAC,cAAAA,EACAC,cAAAA,EACAC,YAAAA,IAIA,OAAAQ,EAAC,MAAA,CACGlB,IAAAA,EACAmB,UAAU,KACNP,EACJQ,KAAK,mBACL,eAAcnB,EACdC,UAAWmB,EACP,gBACA,0BACAnB,MAEAW,EACJF,UAhCqDI,IACvC,UAAdA,EAAMO,IACK,MAAAjB,GAAAA,EAAAU,GAAQd,GACE,MAAdc,EAAMO,MACbP,EAAMC,iBACK,MAAAX,GAAAA,EAAAU,GAAQd,IAEvB,MAAAU,GAAAA,EAAYI,EAAAA,EA2BPZ,SAAA,CAAAC,GAASmB,EAAA,OAAA,CAAKrB,UAAU,sBAAuBC,SAAKC,IACpDmB,EAAA,MAAA,CAAIrB,UAAU,yBAA0BC,SAAAA,IACzCoB,EAAC,MAAI,CAAArB,UAAU,oBACXC,SAAAoB,EAAC,MAAI,CAAArB,UAAU,2BACXC,SAAAe,EAAC,MAAI,CAAAhB,UAAU,mCACXC,SAAA,CAACoB,EAAA,MAAA,CAAIrB,UAAU,mCACfqB,EAACC,EAAA,CACGC,QAAQ,QACRC,MAAI,EACJxB,UAAU,iDAI1B,IAKZL,EAAiB8B,YAAc"}
@@ -1,4 +1,5 @@
1
- export { Menu, type MenuProps } from './Menu.js';
2
- export { MenuItem, type MenuItemProps } from './MenuItem.js';
3
- export { MenuItemCheckbox, type MenuItemCheckboxProps, } from './MenuItemCheckbox.js';
1
+ export { Menu } from './Menu.js';
2
+ export { MenuItem } from './MenuItem.js';
3
+ export { MenuItemCheckbox } from './MenuItemCheckbox.js';
4
4
  export { MenuDivider } from './MenuDivider.js';
5
+ export type { MenuProps, MenuItemProps, MenuItemCheckboxProps, } from './types.js';
@@ -0,0 +1,68 @@
1
+ import { Placement } from '@floating-ui/react';
2
+ import { HTMLAttributes, ButtonHTMLAttributes, ReactNode } from 'react';
3
+ import { DataTestAutoId, WithChildren } from '../../core/types.js';
4
+ import { SwipeChangeHandler } from '../../hooks/useSwipeGesture/useSwipeGesture.js';
5
+ import { PolymorphicPropsWithRef } from '../../utilities/polymorphism/polymorphism.js';
6
+ export interface MenuProps extends DataTestAutoId, WithChildren, Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
7
+ className?: string;
8
+ /**
9
+ * Initiell plassering av menyen. Dersom det ikke er plass på skjermen der du
10
+ * angir at den skal åpnes vil den slyttes automatisk.
11
+ * @default "bottom-start" på toppnivå, "right-start" for undermenyer
12
+ * */
13
+ initialPlacement?: Placement;
14
+ /**
15
+ * Angir om menyen skal åpnes ved hover (uten å måtte klikke)
16
+ * @default false
17
+ */
18
+ openOnHover?: boolean;
19
+ /**
20
+ * Angir om menyen skal holdes åpen når man klikker utenfor menyen
21
+ * @default false
22
+ */
23
+ keepOpenOnClickOutside?: boolean;
24
+ /**
25
+ * Elementet som fungerer som trigger for menyen. Dersom elementet ikke er en `<button>`
26
+ * eller en `forwardRef<HTMLButtonElement>` vil det bli lagt inne i en knapp
27
+ * med forhåndsdefinert stil. For å komme raskt i gang kan du bruke komponenten
28
+ * `MenuTriggerButton` fra denne pakken.
29
+ */
30
+ triggerElement: ReactNode;
31
+ /**
32
+ * Kan brukes til å styre utenfra om menyen skal være åpen eller ikke.
33
+ * @default false
34
+ */
35
+ isOpen?: boolean;
36
+ /**
37
+ * Callback som kalles når menyen åpnes eller lukkes.
38
+ */
39
+ onToggle?: (isOpen: boolean) => void;
40
+ }
41
+ export type MenuItemProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<ElementType, {
42
+ /**
43
+ * Et ikon som vises før innholdet i menypunktet
44
+ */
45
+ icon?: ReactNode;
46
+ } & ({
47
+ expandable?: never;
48
+ /**
49
+ * Indikerer at menypunktet åpner noe i et nytt vindu eller tab
50
+ * @default false
51
+ */
52
+ external?: boolean;
53
+ } | {
54
+ external?: never;
55
+ /**
56
+ * Indikerer at menypunktet er utvidbart ved å vise en chevron
57
+ * @default false
58
+ */
59
+ expandable?: boolean;
60
+ })>;
61
+ export interface MenuItemCheckboxProps extends Omit<HTMLAttributes<HTMLDivElement>, "aria-checked" | "onChange"> {
62
+ "aria-checked": boolean;
63
+ /**
64
+ * Et ikon som vises før innholdet i menypunktet
65
+ */
66
+ icon?: ReactNode;
67
+ onChange?: SwipeChangeHandler<HTMLDivElement> & ((event: React.KeyboardEvent<HTMLDivElement> | React.PointerEvent<HTMLDivElement>, pressed: boolean) => void);
68
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,14 +1,3 @@
1
1
  import { default as React } from 'react';
2
- import { MessageProps } from './Message.js';
3
- export interface FormErrorMessageProps {
4
- className?: string;
5
- id?: string;
6
- /**
7
- * @default { title: "Feil og mangler i skjemaet" }
8
- */
9
- messageProps?: Partial<MessageProps>;
10
- errors: (string | undefined)[];
11
- isSubmitted: boolean;
12
- isValid: boolean;
13
- }
2
+ import { FormErrorMessageProps } from './types.js';
14
3
  export declare const FormErrorMessage: React.ForwardRefExoticComponent<FormErrorMessageProps & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"FormErrorMessage.js","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 { MessageProps, ErrorMessage } from \"./Message.js\";\n\nexport interface FormErrorMessageProps {\n className?: string;\n id?: string;\n /**\n * @default { title: \"Feil og mangler i skjemaet\" }\n */\n messageProps?: Partial<MessageProps>;\n errors: (string | undefined)[];\n isSubmitted: boolean;\n isValid: boolean;\n}\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":"uRAiBA,MAAMA,EAAsB,CACxBC,MAAO,8BAGEC,EAAmBC,GAG9B,CAACC,EAAOC,KACA,MAAEC,UAAAA,EAAWC,OAAAA,EAAQC,YAAAA,EAAaC,QAAAA,EAASC,aAAAA,KAAiBC,GAC9DP,EAEEQ,EAAcJ,IAAgBC,GAE7BI,GAAcC,EAAkCF,EAAa,CAChEG,QAAS,SAGPC,EAAiBC,EAAkCV,GACzDW,GAAU,KACNF,EAAeG,QAAUZ,CAAAA,GAC1B,CAACA,IACJ,MAAMa,EAAeb,EAAOc,OAASL,EAAeG,QAAQE,OAGxD,OAAAC,EAAC,MAAA,CACGC,IAAKlB,EACLC,UAAWkB,EAAK,yBAA0BlB,MACtCK,EAEJc,SAAAH,EAACI,EAAA,IACO1B,KACAU,EACJa,IAAKV,EACLc,KAAMP,EAAe,QAAU,eAE/BK,SAAAH,EAAC,MAAGhB,UAAU,WACTmB,WACIG,QAAQC,UAAiBA,EAAU,MACnCC,KAAKD,GACDP,EAAA,KAAA,CAAGhB,UAAU,iBACTmB,SAAAI,GAD+BA,UAKpD,IAKZ3B,EAAiB6B,YAAc"}
1
+ {"version":3,"file":"FormErrorMessage.js","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":"uRAMA,MAAMA,EAAsB,CACxBC,MAAO,8BAGEC,EAAmBC,GAG9B,CAACC,EAAOC,KACA,MAAEC,UAAAA,EAAWC,OAAAA,EAAQC,YAAAA,EAAaC,QAAAA,EAASC,aAAAA,KAAiBC,GAC9DP,EAEEQ,EAAcJ,IAAgBC,GAE7BI,GAAcC,EAAkCF,EAAa,CAChEG,QAAS,SAGPC,EAAiBC,EAAkCV,GACzDW,GAAU,KACNF,EAAeG,QAAUZ,CAAAA,GAC1B,CAACA,IACJ,MAAMa,EAAeb,EAAOc,OAASL,EAAeG,QAAQE,OAGxD,OAAAC,EAAC,MAAA,CACGC,IAAKlB,EACLC,UAAWkB,EAAK,yBAA0BlB,MACtCK,EAEJc,SAAAH,EAACI,EAAA,IACO1B,KACAU,EACJa,IAAKV,EACLc,KAAMP,EAAe,QAAU,eAE/BK,SAAAH,EAAC,MAAGhB,UAAU,WACTmB,WACIG,QAAQC,UAAiBA,EAAU,MACnCC,KAAKD,GACDP,EAAA,KAAA,CAAGhB,UAAU,iBACTmB,SAAAI,GAD+BA,UAKpD,IAKZ3B,EAAiB6B,YAAc"}
@@ -1,18 +1,5 @@
1
- import { default as React, AriaRole } from 'react';
2
- import { Density, WithChildren } from '../../core/types.js';
3
- export interface MessageProps extends WithChildren {
4
- id?: string;
5
- title?: string;
6
- fullWidth?: boolean;
7
- density?: Density;
8
- className?: string;
9
- dismissed?: boolean;
10
- dismissAction?: {
11
- handleDismiss: () => void;
12
- buttonTitle?: string;
13
- };
14
- role?: AriaRole;
15
- }
1
+ import { default as React } from 'react';
2
+ import { MessageProps } from './types.js';
16
3
  export declare const InfoMessage: React.ForwardRefExoticComponent<MessageProps & React.RefAttributes<HTMLDivElement>>;
17
4
  export declare const ErrorMessage: React.ForwardRefExoticComponent<MessageProps & React.RefAttributes<HTMLDivElement>>;
18
5
  export declare const WarningMessage: React.ForwardRefExoticComponent<MessageProps & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sources":["../../../../src/components/message/Message.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { AriaRole, forwardRef } from \"react\";\nimport { Density, WithChildren } from \"../../core/types.js\";\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\";\n\nexport interface MessageProps extends WithChildren {\n id?: string;\n title?: string;\n fullWidth?: boolean;\n density?: Density;\n className?: string;\n dismissed?: boolean;\n dismissAction?: {\n handleDismiss: () => void;\n buttonTitle?: string;\n };\n role?: AriaRole;\n}\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":"8cA0BA,MAAMA,EAAWC,IACb,OAAQA,GACJ,IAAK,QACM,OAAAC,EAACC,EAAU,CAAAC,UAAU,sBAChC,IAAK,OACM,OAAAF,EAACG,EAAS,CAAAD,UAAU,sBAC/B,IAAK,UACM,OAAAF,EAACI,EAAY,CAAAF,UAAU,sBAClC,IAAK,UACM,OAAAF,EAACK,EAAY,CAAAH,UAAU,sBAClC,QACW,OAAA,KACf,EAGJ,SAASI,EAAeP,GACpB,MAAMQ,EAAUC,GAAyC,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,EAAMV,GAAM,cAAe,CAAEW,gBAAiBX,IAEtDY,EAAiBC,EAAMC,SAASC,IAClCT,GACCU,GAA2B,iBAAVA,IAEhBC,EAAc,MAAAL,GAAAA,EAAiB,GAAMvB,EAAA,IAAA,CAAGiB,SAAAA,IAAgBA,EAG1D,OAAAY,EAAC,MAAA,IACOV,EACJR,GAAAA,EACAD,IAAAA,EACAR,UAAW4B,EACP,cACA,gBAAkB/B,EAClBG,EACA,CACI,oBAAqBW,EACrB,yBAA0BE,IAGlCG,KAAAA,EACA,eAAcJ,EAEbG,SAAA,CAAAnB,EAAQC,GACR8B,EAAA,MAAA,CAAI3B,UAAU,uBAAuB,aAAW,QAC5Ce,SAAA,CAAAL,GAAUZ,EAAA,IAAA,CAAEE,UAAU,qBAAsBe,SAAML,IAClDZ,EAAA,MAAA,CAAIE,UAAU,uBAAwBe,SAAYW,QAEtD,MAAAZ,OAAA,EAAAA,EAAee,gBACZ/B,EAACgC,EAAA,CACG,aAAW,QACX,gBAAeZ,EACflB,UAAU,8BACV+B,MAAOjB,EAAckB,aAAe,OACpCC,QAASnB,EAAce,kBAC3B,IAMhBxB,OAAAA,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.js","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":"8cAYA,MAAMA,EAAWC,IACb,OAAQA,GACJ,IAAK,QACM,OAAAC,EAACC,EAAU,CAAAC,UAAU,sBAChC,IAAK,OACM,OAAAF,EAACG,EAAS,CAAAD,UAAU,sBAC/B,IAAK,UACM,OAAAF,EAACI,EAAY,CAAAF,UAAU,sBAClC,IAAK,UACM,OAAAF,EAACK,EAAY,CAAAH,UAAU,sBAClC,QACW,OAAA,KACf,EAGJ,SAASI,EAAeP,GACpB,MAAMQ,EAAUC,GAAyC,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,EAAMV,GAAM,cAAe,CAAEW,gBAAiBX,IAEtDY,EAAiBC,EAAMC,SAASC,IAClCT,GACCU,GAA2B,iBAAVA,IAEhBC,EAAc,MAAAL,GAAAA,EAAiB,GAAMvB,EAAA,IAAA,CAAGiB,SAAAA,IAAgBA,EAG1D,OAAAY,EAAC,MAAA,IACOV,EACJR,GAAAA,EACAD,IAAAA,EACAR,UAAW4B,EACP,cACA,gBAAkB/B,EAClBG,EACA,CACI,oBAAqBW,EACrB,yBAA0BE,IAGlCG,KAAAA,EACA,eAAcJ,EAEbG,SAAA,CAAAnB,EAAQC,GACR8B,EAAA,MAAA,CAAI3B,UAAU,uBAAuB,aAAW,QAC5Ce,SAAA,CAAAL,GAAUZ,EAAA,IAAA,CAAEE,UAAU,qBAAsBe,SAAML,IAClDZ,EAAA,MAAA,CAAIE,UAAU,uBAAwBe,SAAYW,QAEtD,MAAAZ,OAAA,EAAAA,EAAee,gBACZ/B,EAACgC,EAAA,CACG,aAAW,QACX,gBAAeZ,EACflB,UAAU,8BACV+B,MAAOjB,EAAckB,aAAe,OACpCC,QAASnB,EAAce,kBAC3B,IAMhBxB,OAAAA,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,2 +1,3 @@
1
- export { InfoMessage, ErrorMessage, SuccessMessage, WarningMessage, type MessageProps, } from './Message.js';
2
- export { FormErrorMessage, type FormErrorMessageProps, } from './FormErrorMessage.js';
1
+ export { InfoMessage, ErrorMessage, SuccessMessage, WarningMessage, } from './Message.js';
2
+ export { FormErrorMessage } from './FormErrorMessage.js';
3
+ export type { MessageProps, FormErrorMessageProps } from './types.js';
@@ -0,0 +1,26 @@
1
+ import { AriaRole } from 'react';
2
+ import { Density, WithChildren } from '../../core/types.js';
3
+ export interface MessageProps extends WithChildren {
4
+ id?: string;
5
+ title?: string;
6
+ fullWidth?: boolean;
7
+ density?: Density;
8
+ className?: string;
9
+ dismissed?: boolean;
10
+ dismissAction?: {
11
+ handleDismiss: () => void;
12
+ buttonTitle?: string;
13
+ };
14
+ role?: AriaRole;
15
+ }
16
+ export interface FormErrorMessageProps {
17
+ className?: string;
18
+ id?: string;
19
+ /**
20
+ * @default { title: "Feil og mangler i skjemaet" }
21
+ */
22
+ messageProps?: Partial<MessageProps>;
23
+ errors: (string | undefined)[];
24
+ isSubmitted: boolean;
25
+ isValid: boolean;
26
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,18 +1,6 @@
1
1
  import { default as React } from 'react';
2
- import { WithOptionalChildren } from '../../core/types.js';
3
- import { IconButtonProps } from '../icon-button/IconButton.js';
4
- import { ModalConfig } from './useModal.js';
5
- export interface ModalProps extends WithOptionalChildren {
6
- id?: string;
7
- className?: string;
8
- component?: React.ElementType;
9
- style?: React.CSSProperties;
10
- /**
11
- * Overstyrer padding på modalen via en CSS-variabel.
12
- */
13
- padding?: 16 | 24 | 40;
14
- }
15
- export type BaseModalProps = Omit<ModalProps, "padding" | "component">;
2
+ import { IconButtonProps } from '../icon-button/types.js';
3
+ import { BaseModalProps, ModalProps } from './types.js';
16
4
  /**
17
5
  * Ment å brukes med `useModal`.
18
6
  */
@@ -24,21 +12,12 @@ export declare const ModalContainer: React.ForwardRefExoticComponent<Omit<{
24
12
  'aria-hidden': boolean;
25
13
  'aria-labelledby': string;
26
14
  } & BaseModalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
27
- export type ModalOverlayProps = ModalConfig["overlay"] & BaseModalProps & {
28
- /**
29
- * Rendre uten bakgrunnsfarge, men med click target for å lukke modalen ved klikk utenfor.
30
- */
31
- transparent?: boolean;
32
- };
33
15
  /**
34
16
  * Ment å brukes med `useModal`.
35
17
  */
36
18
  export declare const ModalOverlay: React.ForwardRefExoticComponent<{
37
19
  onClick?: () => void;
38
20
  } & BaseModalProps & {
39
- /**
40
- * Rendre uten bakgrunnsfarge, men med click target for å lukke modalen ved klikk utenfor.
41
- */
42
21
  transparent?: boolean;
43
22
  } & React.RefAttributes<HTMLDivElement>>;
44
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport { WithOptionalChildren } from \"../../core/types.js\";\nimport { CloseIcon } from \"../icon/icons/CloseIcon.js\";\nimport { IconButton, IconButtonProps } from \"../icon-button/IconButton.js\";\nimport { ModalConfig } from \"./useModal.js\";\n\nexport interface ModalProps extends WithOptionalChildren {\n id?: string;\n className?: string;\n component?: React.ElementType;\n style?: React.CSSProperties;\n /**\n * Overstyrer padding på modalen via en CSS-variabel.\n */\n padding?: 16 | 24 | 40;\n}\n\nexport type BaseModalProps = Omit<ModalProps, \"padding\" | \"component\">;\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\nexport type ModalOverlayProps = ModalConfig[\"overlay\"] &\n BaseModalProps & {\n /**\n * Rendre uten bakgrunnsfarge, men med click target for å lukke modalen ved klikk utenfor.\n */\n transparent?: boolean;\n };\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","ModalHeader","ModalTitle","ModalCloseButton","IconButton","children","CloseIcon","variant","ModalBody","ModalActions"],"mappings":"0OAuBa,MAAAA,EAAiBC,GAG5B,EAAGC,UAAAA,KAAcC,GAAQC,IAGnBC,EAAC,MAAA,CACGH,UAAWI,EAAK,sBAAuBJ,MACnCC,EACJC,IAAAA,EACA,eAAW,MAIvBJ,EAAeO,YAAc,iBAatB,MAAMC,EAAeP,GACxB,EAAGC,UAAAA,EAAWO,YAAAA,KAAgBN,GAAQC,IAClCC,EAAC,MAAA,CACGH,UAAWI,EAAK,oBAAqBJ,EAAW,CAC5C,iCAAkCO,OAElCN,EACJC,IAAAA,MAIZI,EAAaD,YAAc,eAKpB,MAAMG,EAAQT,GACjB,EAAGC,UAAAA,EAAWS,UAAAA,EAAWC,QAAAA,EAASC,MAAAA,KAAUV,GAAQC,IAG5CC,EAFMM,GAAa,MAElB,CACGT,UAAWI,EAAK,gBAAiBJ,GACjCW,MACI,CACI,sBAAuBD,EACjB,qBAAqBA,UACrB,KACHC,MAGPV,EACJC,IAAAA,MAKhBM,EAAMH,YAAc,QAKb,MAAMO,EAAcb,GACvB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAC,MAAA,CACGH,UAAWI,EAAK,mBAAoBJ,MAChCC,EACJC,IAAAA,MAIZU,EAAYP,YAAc,cAKnB,MAAMQ,EAAad,GAGxB,EAAGC,UAAAA,KAAcC,GAAQC,MACtB,IAAE,CAAAF,UAAWI,EAAK,kBAAmBJ,MAAgBC,EAAMC,IAAAA,MAEhEW,EAAWR,YAAc,aAKZ,MAAAS,EAAmBf,GAK9B,EAAGC,UAAAA,KAAcC,GAAQC,IACvBC,EAACY,EAAA,CACGf,UAAWI,EAAK,kBAAmBJ,GACnC,kBAAgB,qBACZC,EACJC,IAAAA,EAEAc,SAAAb,EAACc,EAAU,CAAAC,QAAQ,eAG3BJ,EAAiBT,YAAc,mBAKxB,MAAMc,EAAYpB,GACrB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAC,MAAA,CACGH,UAAWI,EAAK,iBAAkBJ,MAC9BC,EACJC,IAAAA,MAIZiB,EAAUd,YAAc,YAKjB,MAAMe,EAAerB,GACxB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAC,MAAA,CACGH,UAAWI,EAAK,oBAAqBJ,MACjCC,EACJC,IAAAA,MAIZkB,EAAaf,YAAc"}
1
+ {"version":3,"file":"Modal.js","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","ModalHeader","ModalTitle","ModalCloseButton","IconButton","children","CloseIcon","variant","ModalBody","ModalActions"],"mappings":"0OAea,MAAAA,EAAiBC,GAG5B,EAAGC,UAAAA,KAAcC,GAAQC,IAGnBC,EAAC,MAAA,CACGH,UAAWI,EAAK,sBAAuBJ,MACnCC,EACJC,IAAAA,EACA,eAAW,MAIvBJ,EAAeO,YAAc,iBAKtB,MAAMC,EAAeP,GACxB,EAAGC,UAAAA,EAAWO,YAAAA,KAAgBN,GAAQC,IAClCC,EAAC,MAAA,CACGH,UAAWI,EAAK,oBAAqBJ,EAAW,CAC5C,iCAAkCO,OAElCN,EACJC,IAAAA,MAIZI,EAAaD,YAAc,eAKpB,MAAMG,EAAQT,GACjB,EAAGC,UAAAA,EAAWS,UAAAA,EAAWC,QAAAA,EAASC,MAAAA,KAAUV,GAAQC,IAG5CC,EAFMM,GAAa,MAElB,CACGT,UAAWI,EAAK,gBAAiBJ,GACjCW,MACI,CACI,sBAAuBD,EACjB,qBAAqBA,UACrB,KACHC,MAGPV,EACJC,IAAAA,MAKhBM,EAAMH,YAAc,QAKb,MAAMO,EAAcb,GACvB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAC,MAAA,CACGH,UAAWI,EAAK,mBAAoBJ,MAChCC,EACJC,IAAAA,MAIZU,EAAYP,YAAc,cAKnB,MAAMQ,EAAad,GAGxB,EAAGC,UAAAA,KAAcC,GAAQC,MACtB,IAAE,CAAAF,UAAWI,EAAK,kBAAmBJ,MAAgBC,EAAMC,IAAAA,MAEhEW,EAAWR,YAAc,aAKZ,MAAAS,EAAmBf,GAK9B,EAAGC,UAAAA,KAAcC,GAAQC,IACvBC,EAACY,EAAA,CACGf,UAAWI,EAAK,kBAAmBJ,GACnC,kBAAgB,qBACZC,EACJC,IAAAA,EAEAc,SAAAb,EAACc,EAAU,CAAAC,QAAQ,eAG3BJ,EAAiBT,YAAc,mBAKxB,MAAMc,EAAYpB,GACrB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAC,MAAA,CACGH,UAAWI,EAAK,iBAAkBJ,MAC9BC,EACJC,IAAAA,MAIZiB,EAAUd,YAAc,YAKjB,MAAMe,EAAerB,GACxB,EAAGC,UAAAA,KAAcC,GAAQC,IACrBC,EAAC,MAAA,CACGH,UAAWI,EAAK,oBAAqBJ,MACjCC,EACJC,IAAAA,MAIZkB,EAAaf,YAAc"}
@@ -1,2 +1,3 @@
1
- export { ModalContainer, ModalOverlay, Modal, ModalHeader, ModalTitle, ModalCloseButton, ModalBody, ModalActions, type ModalProps, type BaseModalProps, type ModalOverlayProps, } from './Modal.js';
2
- export { useModal, type UseModalOptions, type ModalInstance, type ModalConfig, } from './useModal.js';
1
+ export { ModalContainer, ModalOverlay, Modal, ModalHeader, ModalTitle, ModalCloseButton, ModalBody, ModalActions, } from './Modal.js';
2
+ export { useModal, type ModalInstance } from './useModal.js';
3
+ export type { ModalProps, BaseModalProps, ModalOverlayProps, UseModalOptions, ModalConfig, } from './types.js';
@@ -0,0 +1,42 @@
1
+ import { A11yDialogConfig, A11yDialogProps } from 'react-a11y-dialog';
2
+ import { WithOptionalChildren } from '../../core/types.js';
3
+ export interface UseModalOptions extends Omit<A11yDialogProps, "id" | "closeButtonPosition"> {
4
+ id?: string;
5
+ /**
6
+ * @default "Lukk"
7
+ */
8
+ closeButtonLabel?: string;
9
+ /**
10
+ * Sett til `alertdialog` om du ønsker å slå av muligheten til å lukke med ESC og klikk utenfor.
11
+ *
12
+ * @default "dialog"
13
+ */
14
+ role?: "dialog" | "alertdialog";
15
+ /**
16
+ * Påkrevd for universell utforming. Tittelen kan gjenbrukes som `children` i `<ModalTitle>` med en konstant.
17
+ */
18
+ title: string;
19
+ }
20
+ export interface ModalConfig extends Omit<A11yDialogConfig, "dialog"> {
21
+ modal: A11yDialogConfig["dialog"];
22
+ closeButton: A11yDialogConfig["closeButton"] & {
23
+ "aria-label": string;
24
+ };
25
+ }
26
+ export interface ModalProps extends WithOptionalChildren {
27
+ id?: string;
28
+ className?: string;
29
+ component?: React.ElementType;
30
+ style?: React.CSSProperties;
31
+ /**
32
+ * Overstyrer padding på modalen via en CSS-variabel.
33
+ */
34
+ padding?: 16 | 24 | 40;
35
+ }
36
+ export type BaseModalProps = Omit<ModalProps, "padding" | "component">;
37
+ export type ModalOverlayProps = ModalConfig["overlay"] & BaseModalProps & {
38
+ /**
39
+ * Rendre uten bakgrunnsfarge, men med click target for å lukke modalen ved klikk utenfor.
40
+ */
41
+ transparent?: boolean;
42
+ };
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,28 +1,5 @@
1
- import { A11yDialogConfig, A11yDialogProps } from 'react-a11y-dialog';
2
- export interface UseModalOptions extends Omit<A11yDialogProps, "id" | "closeButtonPosition"> {
3
- id?: string;
4
- /**
5
- * @default "Lukk"
6
- */
7
- closeButtonLabel?: string;
8
- /**
9
- * Sett til `alertdialog` om du ønsker å slå av muligheten til å lukke med ESC og klikk utenfor.
10
- *
11
- * @default "dialog"
12
- */
13
- role?: "dialog" | "alertdialog";
14
- /**
15
- * Påkrevd for universell utforming. Tittelen kan gjenbrukes som `children` i `<ModalTitle>` med en konstant.
16
- */
17
- title: string;
18
- }
1
+ import { ModalConfig, UseModalOptions } from './types.js';
19
2
  export type ModalInstance = ReturnType<typeof useModal>[0];
20
- export interface ModalConfig extends Omit<A11yDialogConfig, "dialog"> {
21
- modal: A11yDialogConfig["dialog"];
22
- closeButton: A11yDialogConfig["closeButton"] & {
23
- "aria-label": string;
24
- };
25
- }
26
3
  /**
27
4
  * @example
28
5
  * ```jsx
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.js","sources":["../../../../src/components/modal/useModal.ts"],"sourcesContent":["import {\n A11yDialogConfig,\n A11yDialogProps,\n useA11yDialog,\n} from \"react-a11y-dialog\";\nimport { useId } from \"../../hooks/useId/useId.js\";\n\nexport interface UseModalOptions\n extends Omit<A11yDialogProps, \"id\" | \"closeButtonPosition\"> {\n id?: string;\n /**\n * @default \"Lukk\"\n */\n closeButtonLabel?: string;\n /**\n * Sett til `alertdialog` om du ønsker å slå av muligheten til å lukke med ESC og klikk utenfor.\n *\n * @default \"dialog\"\n */\n role?: \"dialog\" | \"alertdialog\";\n /**\n * Påkrevd for universell utforming. Tittelen kan gjenbrukes som `children` i `<ModalTitle>` med en konstant.\n */\n title: string;\n}\n\nexport type ModalInstance = ReturnType<typeof useModal>[0];\n\nexport interface ModalConfig extends Omit<A11yDialogConfig, \"dialog\"> {\n modal: A11yDialogConfig[\"dialog\"];\n closeButton: A11yDialogConfig[\"closeButton\"] & {\n \"aria-label\": string;\n };\n}\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":["useModal","props","id","idProp","role","closeButtonLabel","rest","useId","generateSuffix","instance","config","useA11yDialog","dialog","restConfig","modal","closeButton"],"mappings":"qGA8EO,SAASA,EAASC,GACf,MACFC,GAAIC,EACJC,KAAAA,EAAO,SACPC,iBAAAA,EAAmB,UAChBC,GACHL,EAEEC,EAAKK,EAAMJ,GAAU,YAAa,CAAEK,gBAAiBL,KAEpDM,EAAUC,GAAUC,EAAc,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.js","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":["useModal","props","id","idProp","role","closeButtonLabel","rest","useId","generateSuffix","instance","config","useA11yDialog","dialog","restConfig","modal","closeButton"],"mappings":"qGAiDO,SAASA,EAASC,GACf,MACFC,GAAIC,EACJC,KAAAA,EAAO,SACPC,iBAAAA,EAAmB,UAChBC,GACHL,EAEEC,EAAKK,EAAMJ,GAAU,YAAa,CAAEK,gBAAiBL,KAEpDM,EAAUC,GAAUC,EAAc,CACrCT,GAAAA,EACAE,KAAAA,KACGE,KAGCM,OAAAA,KAAWC,GAAeH,EAW3B,MAAA,CAACD,EATyB,CAC7BK,MAAOJ,EAAOE,UACXC,EACHE,YAAa,IACNL,EAAOK,YACV,aAAcV,IAK1B"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { NavLinkProps } from './types.js';
3
+ type LinkComponent = <ElementType extends React.ElementType = "a">(props: NavLinkProps<ElementType>) => React.ReactElement | null;
4
+ export declare const NavLink: LinkComponent;
5
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavLink.js","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","jsxs","clsx","jsx","ArrowLeftIcon","variant","ArrowRightIcon"],"mappings":"ghDAWO,MAAMA,EAAUC,EAAMC,YAAW,SAEtCC,EAAkCC,GAC1B,MACFC,OAAAA,GAAS,EACTC,KAAAA,GAAO,EACPC,UAAAA,EACAC,SAAAA,EACAC,GAAAA,EAAK,OACFC,GACHP,EAIA,OAAAQ,EAHcF,EAGb,CACGL,IAAAA,EACAG,UAAWK,EACP,eACA,CACI,uBAAwBP,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAA,CAAAF,GACIO,EAAAC,EAAA,CAAcC,QAAQ,QAAQR,UAAU,uBAE5CC,GACCF,GACEO,EAACG,EAAA,CACGD,QAAQ,QACRR,UAAU,yBAK9B"}
@@ -0,0 +1,2 @@
1
+ export { NavLink } from './NavLink.js';
2
+ export type { NavLinkProps } from './types.js';
@@ -0,0 +1,2 @@
1
+ import{NavLink as a}from"./NavLink.js";export{a as NavLink};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { PolymorphicPropsWithRef } from '../../utilities/polymorphism/polymorphism.js';
2
+ export type NavLinkProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<ElementType, {
3
+ active?: boolean;
4
+ back?: boolean;
5
+ }>;
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,19 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { PolymorphicPropsWithRef } from '../../utilities/polymorphism/polymorphism.js';
3
- export type PaginationProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<ElementType, {
4
- currentPage: number;
5
- numberOfPages: number;
6
- onPageChange: (toPage: number, fromPage: number) => void;
7
- /**
8
- * Dersom du ønsker å ha custom labels kan du sende inn disse. "next" og "previous"
9
- * brukes som hint til skjermlesere for ikon-knappene til Neste/Forrige side
10
- * @default { previous: "Forrige side", next: "Neste side" }
11
- */
12
- labels?: {
13
- previous: string;
14
- next: string;
15
- };
16
- }>;
2
+ import { PaginationProps } from './types.js';
17
3
  type PaginationComponent = <ElementType extends React.ElementType = "nav">(props: PaginationProps<ElementType>) => React.ReactElement | null;
18
4
  export declare const Pagination: PaginationComponent;
19
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../../src/components/pagination/Pagination.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport {\n PolymorphicPropsWithRef,\n PolymorphicRef,\n} from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ChevronLeftIcon } from \"../icon/icons/ChevronLeftIcon.js\";\nimport { ChevronRightIcon } from \"../icon/icons/ChevronRightIcon.js\";\nimport { IconButton } from \"../icon-button/IconButton.js\";\nimport { PageButton } from \"./PageButton.js\";\n\nexport type PaginationProps<ElementType extends React.ElementType> =\n PolymorphicPropsWithRef<\n ElementType,\n {\n currentPage: number;\n numberOfPages: number;\n onPageChange: (toPage: number, fromPage: number) => void;\n /**\n * Dersom du ønsker å ha custom labels kan du sende inn disse. \"next\" og \"previous\"\n * brukes som hint til skjermlesere for ikon-knappene til Neste/Forrige side\n * @default { previous: \"Forrige side\", next: \"Neste side\" }\n */\n labels?: {\n previous: string;\n next: string;\n };\n }\n >;\n\ntype PaginationComponent = <ElementType extends React.ElementType = \"nav\">(\n props: PaginationProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const Pagination = React.forwardRef(function Pagination<\n ElementType extends React.ElementType = \"nav\",\n>(\n {\n onPageChange,\n currentPage,\n numberOfPages,\n labels = {\n previous: \"Forrige side\",\n next: \"Neste side\",\n },\n as,\n ...rest\n }: PaginationProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n useEffect(() => {\n if (currentPage < 1) {\n console.error(\n \"[Pagination]: currentPage prop should be set to a value larger than 0\",\n );\n }\n if (currentPage > numberOfPages) {\n console.error(\n \"[Pagination]: currentPage prop should not be set to a value larger than numberOfPages\",\n );\n }\n }, [currentPage, numberOfPages]);\n\n const Component = as || \"nav\";\n\n if (numberOfPages <= 7) {\n return (\n <Component ref={ref} {...rest} className=\"jkl-pagination\">\n <IconButton\n className=\"jkl-pagination-button\"\n title={labels.previous}\n onClick={() => onPageChange(currentPage - 1, currentPage)}\n aria-disabled={currentPage === 1}\n tabIndex={currentPage === 1 ? -1 : 0}\n >\n <ChevronLeftIcon />\n </IconButton>\n <ol className=\"jkl-pagination__pages\">\n {Array.from({ length: numberOfPages }).map((_, index) => {\n const page = index + 1;\n return (\n <PageButton\n key={index}\n isActive={currentPage === page}\n number={page}\n total={numberOfPages}\n onClick={() => onPageChange(page, currentPage)}\n />\n );\n })}\n </ol>\n <IconButton\n className=\"jkl-pagination-button\"\n title={labels.next}\n onClick={() => onPageChange(currentPage + 1, currentPage)}\n aria-disabled={currentPage === numberOfPages}\n tabIndex={currentPage === numberOfPages ? -1 : 0}\n >\n <ChevronRightIcon />\n </IconButton>\n </Component>\n );\n }\n\n const showStartEllipsis = currentPage > 4;\n const showEndEllipsis = currentPage < numberOfPages - 3;\n\n const startEllipsis = Math.min(\n Math.max(currentPage - 2, 2),\n numberOfPages - 5,\n );\n const centerPageNumberStart = Math.min(\n startEllipsis + 1,\n numberOfPages - 4,\n );\n const centerPageNumber = Math.min(\n centerPageNumberStart + 1,\n numberOfPages - 3,\n );\n const centerPageNumberEnd = Math.min(\n centerPageNumberStart + 2,\n numberOfPages - 2,\n );\n const endEllipsis = Math.min(centerPageNumberStart + 3, numberOfPages - 1);\n\n return (\n <Component ref={ref} {...rest} className=\"jkl-pagination\">\n <IconButton\n className=\"jkl-pagination-button\"\n title={labels.previous}\n onClick={() => onPageChange(currentPage - 1, currentPage)}\n aria-disabled={currentPage === 1}\n tabIndex={currentPage === 1 ? -1 : 0}\n >\n <ChevronLeftIcon />\n </IconButton>\n <ol className=\"jkl-pagination__pages\">\n <PageButton\n isActive={currentPage === 1}\n number={1}\n total={numberOfPages}\n onClick={() => onPageChange(1, currentPage)}\n />\n {showStartEllipsis ? (\n <span\n aria-hidden\n className=\"jkl-pagination-button--elipsis\"\n >\n {\"...\"}\n </span>\n ) : (\n <PageButton\n isActive={currentPage === startEllipsis}\n number={startEllipsis}\n total={numberOfPages}\n onClick={() => onPageChange(startEllipsis, currentPage)}\n />\n )}\n <PageButton\n isActive={currentPage === centerPageNumberStart}\n number={centerPageNumberStart}\n total={numberOfPages}\n onClick={() =>\n onPageChange(centerPageNumberStart, currentPage)\n }\n />\n <PageButton\n isActive={currentPage === centerPageNumber}\n number={centerPageNumber}\n total={numberOfPages}\n onClick={() => onPageChange(centerPageNumber, currentPage)}\n />\n <PageButton\n isActive={currentPage === centerPageNumberEnd}\n number={centerPageNumberEnd}\n total={numberOfPages}\n onClick={() =>\n onPageChange(centerPageNumberEnd, currentPage)\n }\n />\n {showEndEllipsis ? (\n <span\n aria-hidden\n className=\"jkl-pagination-button--elipsis\"\n >\n {\"...\"}\n </span>\n ) : (\n <PageButton\n isActive={currentPage === endEllipsis}\n number={endEllipsis}\n total={numberOfPages}\n onClick={() => onPageChange(endEllipsis, currentPage)}\n />\n )}\n <PageButton\n isActive={currentPage === numberOfPages}\n number={numberOfPages}\n total={numberOfPages}\n onClick={() => onPageChange(numberOfPages, currentPage)}\n />\n </ol>\n <IconButton\n className=\"jkl-pagination-button\"\n title={labels.next}\n onClick={() => onPageChange(currentPage + 1, currentPage)}\n aria-disabled={currentPage === numberOfPages}\n tabIndex={currentPage === numberOfPages ? -1 : 0}\n >\n <ChevronRightIcon />\n </IconButton>\n </Component>\n );\n}) as PaginationComponent;\n"],"names":["Pagination","React","forwardRef","onPageChange","currentPage","numberOfPages","labels","previous","next","as","rest","ref","useEffect","console","error","Component","className","children","jsx","IconButton","title","onClick","tabIndex","ChevronLeftIcon","from","length","map","_","index","page","PageButton","isActive","number","total","ChevronRightIcon","showStartEllipsis","showEndEllipsis","startEllipsis","Math","min","max","centerPageNumberStart","centerPageNumber","centerPageNumberEnd","endEllipsis","jsxs"],"mappings":"sUAiCO,MAAMA,EAAaC,EAAMC,YAAW,UAInCC,aAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,OAAAA,EAAS,CACLC,SAAU,eACVC,KAAM,cAEVC,GAAAA,KACGC,GAEPC,GAEAC,GAAU,KACFR,EAAc,GACNS,QAAAC,MACJ,yEAGJV,EAAcC,GACNQ,QAAAC,MACJ,wFAAA,GAGT,CAACV,EAAaC,IAEjB,MAAMU,EAAYN,GAAM,MAExB,GAAIJ,GAAiB,WAEZU,EAAU,CAAAJ,IAAAA,KAAcD,EAAMM,UAAU,iBACrCC,SAAA,CAAAC,EAACC,EAAA,CACGH,UAAU,wBACVI,MAAOd,EAAOC,SACdc,QAAS,IAAMlB,EAAaC,EAAc,EAAGA,GAC7C,gBAA+B,IAAhBA,EACfkB,SAA0B,IAAhBlB,GAAyB,EAAA,EAEnCa,WAACM,EAAgB,MAEpBL,EAAA,KAAA,CAAGF,UAAU,wBACTC,eAAMO,KAAK,CAAEC,OAAQpB,IAAiBqB,KAAI,CAACC,EAAGC,KAC3C,MAAMC,EAAOD,EAAQ,EAEjB,OAAAV,EAACY,EAAA,CAEGC,SAAU3B,IAAgByB,EAC1BG,OAAQH,EACRI,MAAO5B,EACPgB,QAAS,IAAMlB,EAAa0B,EAAMzB,IAJ7BwB,EAAA,MASrBV,EAACC,EAAA,CACGH,UAAU,wBACVI,MAAOd,EAAOE,KACda,QAAS,IAAMlB,EAAaC,EAAc,EAAGA,GAC7C,gBAAeA,IAAgBC,EAC/BiB,SAAUlB,IAAgBC,GAAqB,EAAA,EAE/CY,WAACiB,EAAiB,SAM5BC,MAAAA,EAAoB/B,EAAc,EAClCgC,EAAkBhC,EAAcC,EAAgB,EAEhDgC,EAAgBC,KAAKC,IACvBD,KAAKE,IAAIpC,EAAc,EAAG,GAC1BC,EAAgB,GAEdoC,EAAwBH,KAAKC,IAC/BF,EAAgB,EAChBhC,EAAgB,GAEdqC,EAAmBJ,KAAKC,IAC1BE,EAAwB,EACxBpC,EAAgB,GAEdsC,EAAsBL,KAAKC,IAC7BE,EAAwB,EACxBpC,EAAgB,GAEduC,EAAcN,KAAKC,IAAIE,EAAwB,EAAGpC,EAAgB,YAGnEU,EAAU,CAAAJ,IAAAA,KAAcD,EAAMM,UAAU,iBACrCC,SAAA,CAAAC,EAACC,EAAA,CACGH,UAAU,wBACVI,MAAOd,EAAOC,SACdc,QAAS,IAAMlB,EAAaC,EAAc,EAAGA,GAC7C,gBAA+B,IAAhBA,EACfkB,SAA0B,IAAhBlB,GAAyB,EAAA,EAEnCa,WAACM,EAAgB,MAErBsB,EAAC,KAAG,CAAA7B,UAAU,wBACVC,SAAA,CAAAC,EAACY,EAAA,CACGC,SAA0B,IAAhB3B,EACV4B,OAAQ,EACRC,MAAO5B,EACPgB,QAAS,IAAMlB,EAAa,EAAGC,KAElC+B,EACGjB,EAAC,OAAA,CACG,eAAW,EACXF,UAAU,iCAETC,SAAA,QAGLC,EAACY,EAAA,CACGC,SAAU3B,IAAgBiC,EAC1BL,OAAQK,EACRJ,MAAO5B,EACPgB,QAAS,IAAMlB,EAAakC,EAAejC,KAGnDc,EAACY,EAAA,CACGC,SAAU3B,IAAgBqC,EAC1BT,OAAQS,EACRR,MAAO5B,EACPgB,QAAS,IACLlB,EAAasC,EAAuBrC,KAG5Cc,EAACY,EAAA,CACGC,SAAU3B,IAAgBsC,EAC1BV,OAAQU,EACRT,MAAO5B,EACPgB,QAAS,IAAMlB,EAAauC,EAAkBtC,KAElDc,EAACY,EAAA,CACGC,SAAU3B,IAAgBuC,EAC1BX,OAAQW,EACRV,MAAO5B,EACPgB,QAAS,IACLlB,EAAawC,EAAqBvC,KAGzCgC,EACGlB,EAAC,OAAA,CACG,eAAW,EACXF,UAAU,iCAETC,SAAA,QAGLC,EAACY,EAAA,CACGC,SAAU3B,IAAgBwC,EAC1BZ,OAAQY,EACRX,MAAO5B,EACPgB,QAAS,IAAMlB,EAAayC,EAAaxC,KAGjDc,EAACY,EAAA,CACGC,SAAU3B,IAAgBC,EAC1B2B,OAAQ3B,EACR4B,MAAO5B,EACPgB,QAAS,IAAMlB,EAAaE,EAAeD,QAGnDc,EAACC,EAAA,CACGH,UAAU,wBACVI,MAAOd,EAAOE,KACda,QAAS,IAAMlB,EAAaC,EAAc,EAAGA,GAC7C,gBAAeA,IAAgBC,EAC/BiB,SAAUlB,IAAgBC,GAAqB,EAAA,EAE/CY,WAACiB,EAAiB,QAIlC"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../../src/components/pagination/Pagination.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ChevronLeftIcon } from \"../icon/icons/ChevronLeftIcon.js\";\nimport { ChevronRightIcon } from \"../icon/icons/ChevronRightIcon.js\";\nimport { IconButton } from \"../icon-button/IconButton.js\";\nimport { PageButton } from \"./PageButton.js\";\nimport { PaginationProps } from \"./types.js\";\n\ntype PaginationComponent = <ElementType extends React.ElementType = \"nav\">(\n props: PaginationProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const Pagination = React.forwardRef(function Pagination<\n ElementType extends React.ElementType = \"nav\",\n>(\n {\n onPageChange,\n currentPage,\n numberOfPages,\n labels = {\n previous: \"Forrige side\",\n next: \"Neste side\",\n },\n as,\n ...rest\n }: PaginationProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n useEffect(() => {\n if (currentPage < 1) {\n console.error(\n \"[Pagination]: currentPage prop should be set to a value larger than 0\",\n );\n }\n if (currentPage > numberOfPages) {\n console.error(\n \"[Pagination]: currentPage prop should not be set to a value larger than numberOfPages\",\n );\n }\n }, [currentPage, numberOfPages]);\n\n const Component = as || \"nav\";\n\n if (numberOfPages <= 7) {\n return (\n <Component ref={ref} {...rest} className=\"jkl-pagination\">\n <IconButton\n className=\"jkl-pagination-button\"\n title={labels.previous}\n onClick={() => onPageChange(currentPage - 1, currentPage)}\n aria-disabled={currentPage === 1}\n tabIndex={currentPage === 1 ? -1 : 0}\n >\n <ChevronLeftIcon />\n </IconButton>\n <ol className=\"jkl-pagination__pages\">\n {Array.from({ length: numberOfPages }).map((_, index) => {\n const page = index + 1;\n return (\n <PageButton\n key={index}\n isActive={currentPage === page}\n number={page}\n total={numberOfPages}\n onClick={() => onPageChange(page, currentPage)}\n />\n );\n })}\n </ol>\n <IconButton\n className=\"jkl-pagination-button\"\n title={labels.next}\n onClick={() => onPageChange(currentPage + 1, currentPage)}\n aria-disabled={currentPage === numberOfPages}\n tabIndex={currentPage === numberOfPages ? -1 : 0}\n >\n <ChevronRightIcon />\n </IconButton>\n </Component>\n );\n }\n\n const showStartEllipsis = currentPage > 4;\n const showEndEllipsis = currentPage < numberOfPages - 3;\n\n const startEllipsis = Math.min(\n Math.max(currentPage - 2, 2),\n numberOfPages - 5,\n );\n const centerPageNumberStart = Math.min(\n startEllipsis + 1,\n numberOfPages - 4,\n );\n const centerPageNumber = Math.min(\n centerPageNumberStart + 1,\n numberOfPages - 3,\n );\n const centerPageNumberEnd = Math.min(\n centerPageNumberStart + 2,\n numberOfPages - 2,\n );\n const endEllipsis = Math.min(centerPageNumberStart + 3, numberOfPages - 1);\n\n return (\n <Component ref={ref} {...rest} className=\"jkl-pagination\">\n <IconButton\n className=\"jkl-pagination-button\"\n title={labels.previous}\n onClick={() => onPageChange(currentPage - 1, currentPage)}\n aria-disabled={currentPage === 1}\n tabIndex={currentPage === 1 ? -1 : 0}\n >\n <ChevronLeftIcon />\n </IconButton>\n <ol className=\"jkl-pagination__pages\">\n <PageButton\n isActive={currentPage === 1}\n number={1}\n total={numberOfPages}\n onClick={() => onPageChange(1, currentPage)}\n />\n {showStartEllipsis ? (\n <span\n aria-hidden\n className=\"jkl-pagination-button--elipsis\"\n >\n {\"...\"}\n </span>\n ) : (\n <PageButton\n isActive={currentPage === startEllipsis}\n number={startEllipsis}\n total={numberOfPages}\n onClick={() => onPageChange(startEllipsis, currentPage)}\n />\n )}\n <PageButton\n isActive={currentPage === centerPageNumberStart}\n number={centerPageNumberStart}\n total={numberOfPages}\n onClick={() =>\n onPageChange(centerPageNumberStart, currentPage)\n }\n />\n <PageButton\n isActive={currentPage === centerPageNumber}\n number={centerPageNumber}\n total={numberOfPages}\n onClick={() => onPageChange(centerPageNumber, currentPage)}\n />\n <PageButton\n isActive={currentPage === centerPageNumberEnd}\n number={centerPageNumberEnd}\n total={numberOfPages}\n onClick={() =>\n onPageChange(centerPageNumberEnd, currentPage)\n }\n />\n {showEndEllipsis ? (\n <span\n aria-hidden\n className=\"jkl-pagination-button--elipsis\"\n >\n {\"...\"}\n </span>\n ) : (\n <PageButton\n isActive={currentPage === endEllipsis}\n number={endEllipsis}\n total={numberOfPages}\n onClick={() => onPageChange(endEllipsis, currentPage)}\n />\n )}\n <PageButton\n isActive={currentPage === numberOfPages}\n number={numberOfPages}\n total={numberOfPages}\n onClick={() => onPageChange(numberOfPages, currentPage)}\n />\n </ol>\n <IconButton\n className=\"jkl-pagination-button\"\n title={labels.next}\n onClick={() => onPageChange(currentPage + 1, currentPage)}\n aria-disabled={currentPage === numberOfPages}\n tabIndex={currentPage === numberOfPages ? -1 : 0}\n >\n <ChevronRightIcon />\n </IconButton>\n </Component>\n );\n}) as PaginationComponent;\n"],"names":["Pagination","React","forwardRef","onPageChange","currentPage","numberOfPages","labels","previous","next","as","rest","ref","useEffect","console","error","Component","className","children","jsx","IconButton","title","onClick","tabIndex","ChevronLeftIcon","from","length","map","_","index","page","PageButton","isActive","number","total","ChevronRightIcon","showStartEllipsis","showEndEllipsis","startEllipsis","Math","min","max","centerPageNumberStart","centerPageNumber","centerPageNumberEnd","endEllipsis","jsxs"],"mappings":"sUAYO,MAAMA,EAAaC,EAAMC,YAAW,UAInCC,aAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,OAAAA,EAAS,CACLC,SAAU,eACVC,KAAM,cAEVC,GAAAA,KACGC,GAEPC,GAEAC,GAAU,KACFR,EAAc,GACNS,QAAAC,MACJ,yEAGJV,EAAcC,GACNQ,QAAAC,MACJ,wFAAA,GAGT,CAACV,EAAaC,IAEjB,MAAMU,EAAYN,GAAM,MAExB,GAAIJ,GAAiB,WAEZU,EAAU,CAAAJ,IAAAA,KAAcD,EAAMM,UAAU,iBACrCC,SAAA,CAAAC,EAACC,EAAA,CACGH,UAAU,wBACVI,MAAOd,EAAOC,SACdc,QAAS,IAAMlB,EAAaC,EAAc,EAAGA,GAC7C,gBAA+B,IAAhBA,EACfkB,SAA0B,IAAhBlB,GAAyB,EAAA,EAEnCa,WAACM,EAAgB,MAEpBL,EAAA,KAAA,CAAGF,UAAU,wBACTC,eAAMO,KAAK,CAAEC,OAAQpB,IAAiBqB,KAAI,CAACC,EAAGC,KAC3C,MAAMC,EAAOD,EAAQ,EAEjB,OAAAV,EAACY,EAAA,CAEGC,SAAU3B,IAAgByB,EAC1BG,OAAQH,EACRI,MAAO5B,EACPgB,QAAS,IAAMlB,EAAa0B,EAAMzB,IAJ7BwB,EAAA,MASrBV,EAACC,EAAA,CACGH,UAAU,wBACVI,MAAOd,EAAOE,KACda,QAAS,IAAMlB,EAAaC,EAAc,EAAGA,GAC7C,gBAAeA,IAAgBC,EAC/BiB,SAAUlB,IAAgBC,GAAqB,EAAA,EAE/CY,WAACiB,EAAiB,SAM5BC,MAAAA,EAAoB/B,EAAc,EAClCgC,EAAkBhC,EAAcC,EAAgB,EAEhDgC,EAAgBC,KAAKC,IACvBD,KAAKE,IAAIpC,EAAc,EAAG,GAC1BC,EAAgB,GAEdoC,EAAwBH,KAAKC,IAC/BF,EAAgB,EAChBhC,EAAgB,GAEdqC,EAAmBJ,KAAKC,IAC1BE,EAAwB,EACxBpC,EAAgB,GAEdsC,EAAsBL,KAAKC,IAC7BE,EAAwB,EACxBpC,EAAgB,GAEduC,EAAcN,KAAKC,IAAIE,EAAwB,EAAGpC,EAAgB,YAGnEU,EAAU,CAAAJ,IAAAA,KAAcD,EAAMM,UAAU,iBACrCC,SAAA,CAAAC,EAACC,EAAA,CACGH,UAAU,wBACVI,MAAOd,EAAOC,SACdc,QAAS,IAAMlB,EAAaC,EAAc,EAAGA,GAC7C,gBAA+B,IAAhBA,EACfkB,SAA0B,IAAhBlB,GAAyB,EAAA,EAEnCa,WAACM,EAAgB,MAErBsB,EAAC,KAAG,CAAA7B,UAAU,wBACVC,SAAA,CAAAC,EAACY,EAAA,CACGC,SAA0B,IAAhB3B,EACV4B,OAAQ,EACRC,MAAO5B,EACPgB,QAAS,IAAMlB,EAAa,EAAGC,KAElC+B,EACGjB,EAAC,OAAA,CACG,eAAW,EACXF,UAAU,iCAETC,SAAA,QAGLC,EAACY,EAAA,CACGC,SAAU3B,IAAgBiC,EAC1BL,OAAQK,EACRJ,MAAO5B,EACPgB,QAAS,IAAMlB,EAAakC,EAAejC,KAGnDc,EAACY,EAAA,CACGC,SAAU3B,IAAgBqC,EAC1BT,OAAQS,EACRR,MAAO5B,EACPgB,QAAS,IACLlB,EAAasC,EAAuBrC,KAG5Cc,EAACY,EAAA,CACGC,SAAU3B,IAAgBsC,EAC1BV,OAAQU,EACRT,MAAO5B,EACPgB,QAAS,IAAMlB,EAAauC,EAAkBtC,KAElDc,EAACY,EAAA,CACGC,SAAU3B,IAAgBuC,EAC1BX,OAAQW,EACRV,MAAO5B,EACPgB,QAAS,IACLlB,EAAawC,EAAqBvC,KAGzCgC,EACGlB,EAAC,OAAA,CACG,eAAW,EACXF,UAAU,iCAETC,SAAA,QAGLC,EAACY,EAAA,CACGC,SAAU3B,IAAgBwC,EAC1BZ,OAAQY,EACRX,MAAO5B,EACPgB,QAAS,IAAMlB,EAAayC,EAAaxC,KAGjDc,EAACY,EAAA,CACGC,SAAU3B,IAAgBC,EAC1B2B,OAAQ3B,EACR4B,MAAO5B,EACPgB,QAAS,IAAMlB,EAAaE,EAAeD,QAGnDc,EAACC,EAAA,CACGH,UAAU,wBACVI,MAAOd,EAAOE,KACda,QAAS,IAAMlB,EAAaC,EAAc,EAAGA,GAC7C,gBAAeA,IAAgBC,EAC/BiB,SAAUlB,IAAgBC,GAAqB,EAAA,EAE/CY,WAACiB,EAAiB,QAIlC"}
@@ -1 +1,2 @@
1
- export { Pagination, type PaginationProps } from './Pagination.js';
1
+ export { Pagination } from './Pagination.js';
2
+ export type { PaginationProps } from './types.js';
@@ -0,0 +1,15 @@
1
+ import { PolymorphicPropsWithRef } from '../../utilities/polymorphism/polymorphism.js';
2
+ export type PaginationProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<ElementType, {
3
+ currentPage: number;
4
+ numberOfPages: number;
5
+ onPageChange: (toPage: number, fromPage: number) => void;
6
+ /**
7
+ * Dersom du ønsker å ha custom labels kan du sende inn disse. "next" og "previous"
8
+ * brukes som hint til skjermlesere for ikon-knappene til Neste/Forrige side
9
+ * @default { previous: "Forrige side", next: "Neste side" }
10
+ */
11
+ labels?: {
12
+ previous: string;
13
+ next: string;
14
+ };
15
+ }>;
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}