@helsenorge/designsystem-react 13.4.0 → 13.6.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 (497) hide show
  1. package/lib/CHANGELOG.md +40 -0
  2. package/lib/Checkbox.js.map +1 -1
  3. package/lib/Duolist.js +3 -0
  4. package/lib/Duolist.js.map +1 -1
  5. package/lib/Expander.js +6 -2
  6. package/lib/Expander.js.map +1 -1
  7. package/lib/FormGroup.js +4 -3
  8. package/lib/FormGroup.js.map +1 -1
  9. package/lib/HelpTriggerIcon.js.map +1 -1
  10. package/lib/HelpTriggerStandalone.js.map +1 -1
  11. package/lib/InfoTeaser.js +2 -1
  12. package/lib/InfoTeaser.js.map +1 -1
  13. package/lib/Input.js.map +1 -1
  14. package/lib/Label.js.map +1 -1
  15. package/lib/LinkList.js +8 -4
  16. package/lib/LinkList.js.map +1 -1
  17. package/lib/Panel.js +61 -37
  18. package/lib/Panel.js.map +1 -1
  19. package/lib/PanelOld.js.map +1 -1
  20. package/lib/PopOver.js.map +1 -1
  21. package/lib/RadioButton.js.map +1 -1
  22. package/lib/Select.js.map +1 -1
  23. package/lib/Slider.js.map +1 -1
  24. package/lib/Textarea.js.map +1 -1
  25. package/lib/__mocks__/uuid.js +0 -1
  26. package/lib/__mocks__/uuid.js.map +1 -1
  27. package/lib/components/AnchorLink/index.js +0 -13
  28. package/lib/components/AsChildSlot/index.js +0 -1
  29. package/lib/components/Avatar/index.js +0 -4
  30. package/lib/components/Badge/index.js +0 -8
  31. package/lib/components/Button/index.js +0 -17
  32. package/lib/components/Checkbox/index.js +0 -44
  33. package/lib/components/Close/index.js +0 -8
  34. package/lib/components/DictionaryTrigger/index.js +0 -1
  35. package/lib/components/Drawer/index.js +0 -37
  36. package/lib/components/Drawer/styles.module.scss +6 -0
  37. package/lib/components/Dropdown/SingleSelect/index.js +0 -2
  38. package/lib/components/Dropdown/SingleSelect/index.js.map +1 -1
  39. package/lib/components/Dropdown/index.js +0 -37
  40. package/lib/components/Dropdown/index.js.map +1 -1
  41. package/lib/components/DropdownOld/index.js +0 -28
  42. package/lib/components/DropdownOld/index.js.map +1 -1
  43. package/lib/components/Duolist/Duolist.d.ts +3 -1
  44. package/lib/components/Duolist/index.js +0 -4
  45. package/lib/components/ElementHeader/ElementHeaderText/index.js +0 -9
  46. package/lib/components/ElementHeader/ElementHeaderText/index.js.map +1 -1
  47. package/lib/components/ElementHeader/StatusDotList/index.js +0 -34
  48. package/lib/components/ElementHeader/index.js +0 -48
  49. package/lib/components/ElementHeader/index.js.map +1 -1
  50. package/lib/components/ElementHeader/styles.module.scss +1 -1
  51. package/lib/components/EmptyState/index.js +0 -2
  52. package/lib/components/EmptyState/index.js.map +1 -1
  53. package/lib/components/Expander/index.js +0 -24
  54. package/lib/components/Expander/styles.module.scss +16 -7
  55. package/lib/components/Expander/styles.module.scss.d.ts +2 -1
  56. package/lib/components/ExpanderHierarchy/index.js +0 -1
  57. package/lib/components/ExpanderHierarchy/index.js.map +1 -1
  58. package/lib/components/ExpanderList/index.js +0 -46
  59. package/lib/components/ExpanderList/index.js.map +1 -1
  60. package/lib/components/ExpanderList/styles.module.scss +3 -3
  61. package/lib/components/EyebrowHeader/index.js +0 -1
  62. package/lib/components/EyebrowHeader/index.js.map +1 -1
  63. package/lib/components/FavoriteButton/index.js +0 -1
  64. package/lib/components/FavoriteButton/index.js.map +1 -1
  65. package/lib/components/FormFieldTag/index.js +0 -2
  66. package/lib/components/FormGroup/FormGroup.d.ts +5 -0
  67. package/lib/components/FormGroup/index.js +0 -55
  68. package/lib/components/FormGroup/index.js.map +1 -1
  69. package/lib/components/FormLayout/index.js +0 -1
  70. package/lib/components/HelpBubble/index.js +3 -20
  71. package/lib/components/HelpBubble/index.js.map +1 -1
  72. package/lib/components/HelpDrawer/index.js +0 -36
  73. package/lib/components/HelpDrawer/index.js.map +1 -1
  74. package/lib/components/HelpExpanderInline/index.js +0 -2
  75. package/lib/components/HelpExpanderInline/index.js.map +1 -1
  76. package/lib/components/HelpExpanderStandalone/index.js +0 -6
  77. package/lib/components/HelpExpanderStandalone/index.js.map +1 -1
  78. package/lib/components/HelpPanel/index.js +0 -32
  79. package/lib/components/HelpPanel/index.js.map +1 -1
  80. package/lib/components/HelpTeaser/HelpTeaser.d.ts +2 -0
  81. package/lib/components/HelpTeaser/index.js +2 -9
  82. package/lib/components/HelpTeaser/index.js.map +1 -1
  83. package/lib/components/HelpTooltip/index.js +0 -2
  84. package/lib/components/HelpTooltip/index.js.map +1 -1
  85. package/lib/components/HelpTriggerIcon/index.js +0 -4
  86. package/lib/components/HelpTriggerInline/index.js.map +1 -1
  87. package/lib/components/HelpTriggerStandalone/index.js +0 -8
  88. package/lib/components/HighlightPanel/index.js +0 -32
  89. package/lib/components/Highlighter/index.js +0 -8
  90. package/lib/components/HorizontalScroll/index.js +0 -5
  91. package/lib/components/Icons/AlarmClock.js +0 -1
  92. package/lib/components/Icons/AlarmClock.js.map +1 -1
  93. package/lib/components/Icons/AlertSignFill.js +0 -2
  94. package/lib/components/Icons/AlertSignStroke.js +0 -2
  95. package/lib/components/Icons/Archive.js +0 -1
  96. package/lib/components/Icons/Archive.js.map +1 -1
  97. package/lib/components/Icons/ArrowDown.js +0 -2
  98. package/lib/components/Icons/ArrowLeft.js +0 -1
  99. package/lib/components/Icons/ArrowLeft.js.map +1 -1
  100. package/lib/components/Icons/ArrowRight.js +0 -2
  101. package/lib/components/Icons/ArrowUp.js +0 -2
  102. package/lib/components/Icons/ArrowUpRight.js +0 -2
  103. package/lib/components/Icons/Attachment.js +0 -1
  104. package/lib/components/Icons/Attachment.js.map +1 -1
  105. package/lib/components/Icons/Avatar.js +0 -1
  106. package/lib/components/Icons/Avatar.js.map +1 -1
  107. package/lib/components/Icons/Braille.js +0 -1
  108. package/lib/components/Icons/Braille.js.map +1 -1
  109. package/lib/components/Icons/Bus.js +0 -1
  110. package/lib/components/Icons/Bus.js.map +1 -1
  111. package/lib/components/Icons/Calendar.js +0 -2
  112. package/lib/components/Icons/CalendarChange.js +0 -1
  113. package/lib/components/Icons/CalendarChange.js.map +1 -1
  114. package/lib/components/Icons/CalendarCheck.js +0 -1
  115. package/lib/components/Icons/CalendarCheck.js.map +1 -1
  116. package/lib/components/Icons/CalendarSave.js +0 -1
  117. package/lib/components/Icons/CalendarSave.js.map +1 -1
  118. package/lib/components/Icons/Candle.js +0 -1
  119. package/lib/components/Icons/Candle.js.map +1 -1
  120. package/lib/components/Icons/Change.js +0 -1
  121. package/lib/components/Icons/Change.js.map +1 -1
  122. package/lib/components/Icons/Check.js +0 -2
  123. package/lib/components/Icons/CheckFill.js +0 -2
  124. package/lib/components/Icons/ChevronDown.js +0 -2
  125. package/lib/components/Icons/ChevronLeft.js +0 -2
  126. package/lib/components/Icons/ChevronRight.js +0 -2
  127. package/lib/components/Icons/ChevronUp.js +0 -2
  128. package/lib/components/Icons/ChevronsDown.js +0 -1
  129. package/lib/components/Icons/ChevronsDown.js.map +1 -1
  130. package/lib/components/Icons/ChevronsUp.js +0 -1
  131. package/lib/components/Icons/ChevronsUp.js.map +1 -1
  132. package/lib/components/Icons/Contacts.js +0 -1
  133. package/lib/components/Icons/Contacts.js.map +1 -1
  134. package/lib/components/Icons/Copy.js +0 -1
  135. package/lib/components/Icons/Copy.js.map +1 -1
  136. package/lib/components/Icons/DotActive.js +0 -1
  137. package/lib/components/Icons/DotActive.js.map +1 -1
  138. package/lib/components/Icons/DotAlert.js +0 -1
  139. package/lib/components/Icons/DotAlert.js.map +1 -1
  140. package/lib/components/Icons/DotCancelled.js +0 -1
  141. package/lib/components/Icons/DotCancelled.js.map +1 -1
  142. package/lib/components/Icons/DotHalfDisc.js +0 -1
  143. package/lib/components/Icons/DotHalfDisc.js.map +1 -1
  144. package/lib/components/Icons/DotInactive.js +0 -1
  145. package/lib/components/Icons/DotInactive.js.map +1 -1
  146. package/lib/components/Icons/DotInfo.js +0 -1
  147. package/lib/components/Icons/DotInfo.js.map +1 -1
  148. package/lib/components/Icons/DotLookingGlass.js +0 -1
  149. package/lib/components/Icons/DotLookingGlass.js.map +1 -1
  150. package/lib/components/Icons/DotPending.js +0 -1
  151. package/lib/components/Icons/DotPending.js.map +1 -1
  152. package/lib/components/Icons/DotQuestionMark.js +0 -1
  153. package/lib/components/Icons/DotQuestionMark.js.map +1 -1
  154. package/lib/components/Icons/DotSuccess.js +0 -1
  155. package/lib/components/Icons/DotSuccess.js.map +1 -1
  156. package/lib/components/Icons/DotTransparent.js +0 -1
  157. package/lib/components/Icons/DotTransparent.js.map +1 -1
  158. package/lib/components/Icons/DotWarningTriangle.js +0 -1
  159. package/lib/components/Icons/DotWarningTriangle.js.map +1 -1
  160. package/lib/components/Icons/Download.js +0 -1
  161. package/lib/components/Icons/Download.js.map +1 -1
  162. package/lib/components/Icons/Drag.js +0 -1
  163. package/lib/components/Icons/Drag.js.map +1 -1
  164. package/lib/components/Icons/EChat.js +0 -1
  165. package/lib/components/Icons/EChat.js.map +1 -1
  166. package/lib/components/Icons/Ear.js +0 -1
  167. package/lib/components/Icons/Ear.js.map +1 -1
  168. package/lib/components/Icons/EarDeaf.js +0 -1
  169. package/lib/components/Icons/EarDeaf.js.map +1 -1
  170. package/lib/components/Icons/EarHearingAid.js +0 -1
  171. package/lib/components/Icons/EarHearingAid.js.map +1 -1
  172. package/lib/components/Icons/EarVolume.js +0 -1
  173. package/lib/components/Icons/EarVolume.js.map +1 -1
  174. package/lib/components/Icons/Edit.js +0 -1
  175. package/lib/components/Icons/Edit.js.map +1 -1
  176. package/lib/components/Icons/EmergencyCall.js +0 -1
  177. package/lib/components/Icons/EmergencyCall.js.map +1 -1
  178. package/lib/components/Icons/EmoticonAnnoyed.js +0 -1
  179. package/lib/components/Icons/EmoticonAnnoyed.js.map +1 -1
  180. package/lib/components/Icons/EmoticonDelighted.js +0 -1
  181. package/lib/components/Icons/EmoticonDelighted.js.map +1 -1
  182. package/lib/components/Icons/EmoticonDisappointed.js +0 -1
  183. package/lib/components/Icons/EmoticonDisappointed.js.map +1 -1
  184. package/lib/components/Icons/EmoticonHappy.js +0 -1
  185. package/lib/components/Icons/EmoticonHappy.js.map +1 -1
  186. package/lib/components/Icons/EmoticonMeh.js +0 -1
  187. package/lib/components/Icons/EmoticonMeh.js.map +1 -1
  188. package/lib/components/Icons/EnterFullScreen.js +0 -1
  189. package/lib/components/Icons/EnterFullScreen.js.map +1 -1
  190. package/lib/components/Icons/Envelope.js +0 -1
  191. package/lib/components/Icons/Envelope.js.map +1 -1
  192. package/lib/components/Icons/Eraser.js +0 -1
  193. package/lib/components/Icons/Eraser.js.map +1 -1
  194. package/lib/components/Icons/ErrorSignFill.js +0 -2
  195. package/lib/components/Icons/ErrorSignStroke.js +0 -1
  196. package/lib/components/Icons/ErrorSignStroke.js.map +1 -1
  197. package/lib/components/Icons/ExitFullScreen.js +0 -1
  198. package/lib/components/Icons/ExitFullScreen.js.map +1 -1
  199. package/lib/components/Icons/Eye.js +0 -1
  200. package/lib/components/Icons/Eye.js.map +1 -1
  201. package/lib/components/Icons/FallingLeaf.js +0 -1
  202. package/lib/components/Icons/FallingLeaf.js.map +1 -1
  203. package/lib/components/Icons/File.js +0 -1
  204. package/lib/components/Icons/File.js.map +1 -1
  205. package/lib/components/Icons/Filter.js +0 -1
  206. package/lib/components/Icons/Filter.js.map +1 -1
  207. package/lib/components/Icons/Form.js +0 -1
  208. package/lib/components/Icons/Form.js.map +1 -1
  209. package/lib/components/Icons/Forward.js +0 -2
  210. package/lib/components/Icons/Gallery.js +0 -1
  211. package/lib/components/Icons/Gallery.js.map +1 -1
  212. package/lib/components/Icons/Glasses.js +0 -1
  213. package/lib/components/Icons/Glasses.js.map +1 -1
  214. package/lib/components/Icons/Globe.js +0 -1
  215. package/lib/components/Icons/Globe.js.map +1 -1
  216. package/lib/components/Icons/Graph.js +0 -1
  217. package/lib/components/Icons/Graph.js.map +1 -1
  218. package/lib/components/Icons/Group.js +0 -1
  219. package/lib/components/Icons/Group.js.map +1 -1
  220. package/lib/components/Icons/GroupTwins.js +0 -1
  221. package/lib/components/Icons/GroupTwins.js.map +1 -1
  222. package/lib/components/Icons/HTMLFile.js +0 -1
  223. package/lib/components/Icons/HTMLFile.js.map +1 -1
  224. package/lib/components/Icons/HandsAndHeart.js +0 -1
  225. package/lib/components/Icons/HandsAndHeart.js.map +1 -1
  226. package/lib/components/Icons/HealthcarePerson.js +0 -1
  227. package/lib/components/Icons/HealthcarePerson.js.map +1 -1
  228. package/lib/components/Icons/HealthcarePersonell.js +0 -1
  229. package/lib/components/Icons/HealthcarePersonell.js.map +1 -1
  230. package/lib/components/Icons/HearingProtection.js +0 -1
  231. package/lib/components/Icons/HearingProtection.js.map +1 -1
  232. package/lib/components/Icons/Heart.js +0 -1
  233. package/lib/components/Icons/Heart.js.map +1 -1
  234. package/lib/components/Icons/HelpSign.js +0 -1
  235. package/lib/components/Icons/HelpSign.js.map +1 -1
  236. package/lib/components/Icons/History.js +0 -1
  237. package/lib/components/Icons/History.js.map +1 -1
  238. package/lib/components/Icons/Home.js +0 -1
  239. package/lib/components/Icons/Home.js.map +1 -1
  240. package/lib/components/Icons/HomeFill.js +0 -1
  241. package/lib/components/Icons/HomeFill.js.map +1 -1
  242. package/lib/components/Icons/Hospital.js +0 -1
  243. package/lib/components/Icons/Hospital.js.map +1 -1
  244. package/lib/components/Icons/Hourglass.js +0 -1
  245. package/lib/components/Icons/Hourglass.js.map +1 -1
  246. package/lib/components/Icons/InfoSignFill.js +0 -2
  247. package/lib/components/Icons/InfoSignStroke.js +0 -1
  248. package/lib/components/Icons/InfoSignStroke.js.map +1 -1
  249. package/lib/components/Icons/Journal.js +0 -1
  250. package/lib/components/Icons/Journal.js.map +1 -1
  251. package/lib/components/Icons/LegalDocument.js +0 -1
  252. package/lib/components/Icons/LegalDocument.js.map +1 -1
  253. package/lib/components/Icons/List.js +0 -1
  254. package/lib/components/Icons/List.js.map +1 -1
  255. package/lib/components/Icons/Location.js +0 -1
  256. package/lib/components/Icons/Location.js.map +1 -1
  257. package/lib/components/Icons/LocationFill.js +0 -1
  258. package/lib/components/Icons/LocationFill.js.map +1 -1
  259. package/lib/components/Icons/Lock.js +0 -1
  260. package/lib/components/Icons/Lock.js.map +1 -1
  261. package/lib/components/Icons/Login.js +0 -1
  262. package/lib/components/Icons/Login.js.map +1 -1
  263. package/lib/components/Icons/Logout.js +0 -1
  264. package/lib/components/Icons/Logout.js.map +1 -1
  265. package/lib/components/Icons/MaleDoctorCompact.js +0 -1
  266. package/lib/components/Icons/MaleDoctorCompact.js.map +1 -1
  267. package/lib/components/Icons/MaleDoctorCompactFill.js +0 -1
  268. package/lib/components/Icons/MaleDoctorCompactFill.js.map +1 -1
  269. package/lib/components/Icons/Medicine.js +0 -1
  270. package/lib/components/Icons/Medicine.js.map +1 -1
  271. package/lib/components/Icons/Menu.js +0 -1
  272. package/lib/components/Icons/Menu.js.map +1 -1
  273. package/lib/components/Icons/Minus.js +0 -1
  274. package/lib/components/Icons/Minus.js.map +1 -1
  275. package/lib/components/Icons/MobilePhone.js +0 -1
  276. package/lib/components/Icons/MobilePhone.js.map +1 -1
  277. package/lib/components/Icons/NoAccess.js +0 -1
  278. package/lib/components/Icons/NoAccess.js.map +1 -1
  279. package/lib/components/Icons/NoEye.js +0 -1
  280. package/lib/components/Icons/NoEye.js.map +1 -1
  281. package/lib/components/Icons/NoFilter.js +0 -1
  282. package/lib/components/Icons/NoFilter.js.map +1 -1
  283. package/lib/components/Icons/PaperPlane.js +0 -1
  284. package/lib/components/Icons/PaperPlane.js.map +1 -1
  285. package/lib/components/Icons/Pause.js +0 -1
  286. package/lib/components/Icons/Pause.js.map +1 -1
  287. package/lib/components/Icons/Pencil.js +0 -2
  288. package/lib/components/Icons/PersonCancel.js +0 -1
  289. package/lib/components/Icons/PersonCancel.js.map +1 -1
  290. package/lib/components/Icons/PersonalPlan.js +0 -1
  291. package/lib/components/Icons/PersonalPlan.js.map +1 -1
  292. package/lib/components/Icons/Play.js +0 -1
  293. package/lib/components/Icons/Play.js.map +1 -1
  294. package/lib/components/Icons/PlusLarge.js +0 -1
  295. package/lib/components/Icons/PlusLarge.js.map +1 -1
  296. package/lib/components/Icons/PlusSmall.js +0 -2
  297. package/lib/components/Icons/Printer.js +0 -1
  298. package/lib/components/Icons/Printer.js.map +1 -1
  299. package/lib/components/Icons/QrCode.js +0 -1
  300. package/lib/components/Icons/QrCode.js.map +1 -1
  301. package/lib/components/Icons/Receptionist.js +0 -1
  302. package/lib/components/Icons/Receptionist.js.map +1 -1
  303. package/lib/components/Icons/Referral.js +0 -1
  304. package/lib/components/Icons/Referral.js.map +1 -1
  305. package/lib/components/Icons/Refresh.js +0 -1
  306. package/lib/components/Icons/Refresh.js.map +1 -1
  307. package/lib/components/Icons/Reply.js +0 -1
  308. package/lib/components/Icons/Reply.js.map +1 -1
  309. package/lib/components/Icons/Save.js +0 -1
  310. package/lib/components/Icons/Save.js.map +1 -1
  311. package/lib/components/Icons/ScreenReader.js +0 -1
  312. package/lib/components/Icons/ScreenReader.js.map +1 -1
  313. package/lib/components/Icons/Search.js +0 -1
  314. package/lib/components/Icons/Search.js.map +1 -1
  315. package/lib/components/Icons/SectionSign.js +0 -1
  316. package/lib/components/Icons/SectionSign.js.map +1 -1
  317. package/lib/components/Icons/Settings.js +0 -1
  318. package/lib/components/Icons/Settings.js.map +1 -1
  319. package/lib/components/Icons/SettingsFill.js +0 -1
  320. package/lib/components/Icons/SettingsFill.js.map +1 -1
  321. package/lib/components/Icons/Share.js +0 -1
  322. package/lib/components/Icons/Share.js.map +1 -1
  323. package/lib/components/Icons/SortDown.js +0 -1
  324. package/lib/components/Icons/SortDown.js.map +1 -1
  325. package/lib/components/Icons/SortUp.js +0 -1
  326. package/lib/components/Icons/SortUp.js.map +1 -1
  327. package/lib/components/Icons/SpeechBubble.js +0 -1
  328. package/lib/components/Icons/SpeechBubble.js.map +1 -1
  329. package/lib/components/Icons/Stopwatch.js +0 -1
  330. package/lib/components/Icons/Stopwatch.js.map +1 -1
  331. package/lib/components/Icons/Sun.js +0 -1
  332. package/lib/components/Icons/Sun.js.map +1 -1
  333. package/lib/components/Icons/SupportingPerson.js +0 -1
  334. package/lib/components/Icons/SupportingPerson.js.map +1 -1
  335. package/lib/components/Icons/TimePassing.js +0 -1
  336. package/lib/components/Icons/TimePassing.js.map +1 -1
  337. package/lib/components/Icons/Tombstone.js +0 -1
  338. package/lib/components/Icons/Tombstone.js.map +1 -1
  339. package/lib/components/Icons/Toolbox.js +0 -1
  340. package/lib/components/Icons/Toolbox.js.map +1 -1
  341. package/lib/components/Icons/TrashCan.js +0 -1
  342. package/lib/components/Icons/TrashCan.js.map +1 -1
  343. package/lib/components/Icons/TreatmentAids.js +0 -1
  344. package/lib/components/Icons/TreatmentAids.js.map +1 -1
  345. package/lib/components/Icons/TriangleX.js +0 -2
  346. package/lib/components/Icons/Undo.js +0 -2
  347. package/lib/components/Icons/Upload.js +0 -1
  348. package/lib/components/Icons/Upload.js.map +1 -1
  349. package/lib/components/Icons/Vaccine.js +0 -1
  350. package/lib/components/Icons/Vaccine.js.map +1 -1
  351. package/lib/components/Icons/VerticalDots.js +0 -2
  352. package/lib/components/Icons/VideoCamera.js +0 -1
  353. package/lib/components/Icons/VideoCamera.js.map +1 -1
  354. package/lib/components/Icons/VideoChat.js +0 -1
  355. package/lib/components/Icons/VideoChat.js.map +1 -1
  356. package/lib/components/Icons/Wallet.js +0 -1
  357. package/lib/components/Icons/Wallet.js.map +1 -1
  358. package/lib/components/Icons/Watch.js +0 -2
  359. package/lib/components/Icons/X.js +0 -2
  360. package/lib/components/Icons/Zoom.js +0 -1
  361. package/lib/components/Icons/Zoom.js.map +1 -1
  362. package/lib/components/Icons/ZoomInLeft.js +0 -1
  363. package/lib/components/Icons/ZoomInLeft.js.map +1 -1
  364. package/lib/components/Icons/ZoomOutLeft.js +0 -1
  365. package/lib/components/Icons/ZoomOutLeft.js.map +1 -1
  366. package/lib/components/Illustration/index.js +0 -2
  367. package/lib/components/Illustrations/BabyMobile.js +0 -2
  368. package/lib/components/Illustrations/BabyMobile.js.map +1 -1
  369. package/lib/components/Illustrations/BabyMobileMedium.js +0 -3
  370. package/lib/components/Illustrations/Child.js +0 -2
  371. package/lib/components/Illustrations/Child.js.map +1 -1
  372. package/lib/components/Illustrations/ChildMedium.js +0 -3
  373. package/lib/components/Illustrations/FacialRecognitionFingerprint.js +0 -2
  374. package/lib/components/Illustrations/FacialRecognitionFingerprint.js.map +1 -1
  375. package/lib/components/Illustrations/FacialRecognitionFingerprintMedium.js +0 -3
  376. package/lib/components/Illustrations/GiveBabyFood.js +0 -2
  377. package/lib/components/Illustrations/GiveBabyFood.js.map +1 -1
  378. package/lib/components/Illustrations/GiveBabyFoodMedium.js +0 -3
  379. package/lib/components/Illustrations/ReadLetters.js +0 -2
  380. package/lib/components/Illustrations/ReadLetters.js.map +1 -1
  381. package/lib/components/Illustrations/ReadLettersMedium.js +0 -3
  382. package/lib/components/Illustrations/Stroller.js +0 -2
  383. package/lib/components/Illustrations/Stroller.js.map +1 -1
  384. package/lib/components/Illustrations/StrollerMedium.js +0 -3
  385. package/lib/components/Illustrations/Support2.js +0 -2
  386. package/lib/components/Illustrations/Support2.js.map +1 -1
  387. package/lib/components/Illustrations/Support2Medium.js +0 -3
  388. package/lib/components/InfoTeaser/InfoTeaser.d.ts +2 -0
  389. package/lib/components/InfoTeaser/index.js +0 -8
  390. package/lib/components/InfoTeaser/styles.module.scss +0 -2
  391. package/lib/components/Input/Input.d.ts +2 -2
  392. package/lib/components/Input/index.js +0 -44
  393. package/lib/components/Label/Label.d.ts +1 -1
  394. package/lib/components/Label/index.js +0 -38
  395. package/lib/components/LazyIcon/index.js +0 -4
  396. package/lib/components/LazyIllustration/index.js +0 -6
  397. package/lib/components/LinkList/LinkList.d.ts +4 -3
  398. package/lib/components/LinkList/index.js +0 -53
  399. package/lib/components/LinkList/styles.module.scss +1 -0
  400. package/lib/components/List/index.js +0 -1
  401. package/lib/components/ListEditMode/index.js +0 -4
  402. package/lib/components/Loader/index.js +0 -1
  403. package/lib/components/Loader/index.js.map +1 -1
  404. package/lib/components/Logo/index.js +0 -4
  405. package/lib/components/Logo/index.js.map +1 -1
  406. package/lib/components/Modal/index.js +0 -21
  407. package/lib/components/Modal/index.js.map +1 -1
  408. package/lib/components/NotificationPanel/index.js +0 -28
  409. package/lib/components/NotificationPanel/index.js.map +1 -1
  410. package/lib/components/Panel/PanelTitle/index.js +0 -11
  411. package/lib/components/Panel/PanelTitle/styles.module.scss +0 -1
  412. package/lib/components/Panel/index.js +0 -31
  413. package/lib/components/Panel/index.js.map +1 -1
  414. package/lib/components/PanelList/PanelList.d.ts +6 -0
  415. package/lib/components/PanelList/index.js +3 -53
  416. package/lib/components/PanelList/index.js.map +1 -1
  417. package/lib/components/PanelListOld/index.js +0 -34
  418. package/lib/components/PanelListOld/index.js.map +1 -1
  419. package/lib/components/PanelOld/index.js +0 -35
  420. package/lib/components/PopMenu/index.js +0 -50
  421. package/lib/components/PopMenu/index.js.map +1 -1
  422. package/lib/components/PopOver/PopOver.d.ts +1 -1
  423. package/lib/components/PopOver/index.js +0 -3
  424. package/lib/components/Portal/index.js +0 -1
  425. package/lib/components/PromoPanel/index.js +0 -10
  426. package/lib/components/PromoPanel/index.js.map +1 -1
  427. package/lib/components/RadioButton/index.js +0 -43
  428. package/lib/components/Select/index.js +0 -43
  429. package/lib/components/Select/styles.module.scss +2 -0
  430. package/lib/components/ServiceMessage/index.js +0 -43
  431. package/lib/components/ServiceMessage/index.js.map +1 -1
  432. package/lib/components/Slider/index.js +0 -10
  433. package/lib/components/Spacer/index.js +0 -1
  434. package/lib/components/StatusDot/index.js +0 -33
  435. package/lib/components/StepButtons/index.js +0 -1
  436. package/lib/components/Stepper/index.js +0 -1
  437. package/lib/components/Stepper/index.js.map +1 -1
  438. package/lib/components/StickyNote/index.js +0 -3
  439. package/lib/components/StickyNote/index.js.map +1 -1
  440. package/lib/components/Table/TableBody/index.js +0 -13
  441. package/lib/components/Table/TableCell/index.js +0 -13
  442. package/lib/components/Table/TableExpandedRow/index.js +0 -29
  443. package/lib/components/Table/TableExpanderCell/index.js +0 -30
  444. package/lib/components/Table/TableHead/index.js +0 -13
  445. package/lib/components/Table/TableHeadCell/index.js +0 -16
  446. package/lib/components/Table/TableRow/index.js +0 -30
  447. package/lib/components/Table/index.js +0 -31
  448. package/lib/components/Table/index.js.map +1 -1
  449. package/lib/components/Tabs/TabList/index.js +0 -14
  450. package/lib/components/Tabs/index.js +0 -13
  451. package/lib/components/Tabs/index.js.map +1 -1
  452. package/lib/components/Tag/index.js +0 -2
  453. package/lib/components/Tag/index.js.map +1 -1
  454. package/lib/components/Textarea/Textarea.d.ts +1 -1
  455. package/lib/components/Textarea/index.js +0 -43
  456. package/lib/components/Tile/index.js +0 -2
  457. package/lib/components/Tile/index.js.map +1 -1
  458. package/lib/components/Title/index.js +0 -1
  459. package/lib/components/Toast/index.js +0 -10
  460. package/lib/components/Toast/index.js.map +1 -1
  461. package/lib/components/ToastList/index.js +0 -9
  462. package/lib/components/ToastList/index.js.map +1 -1
  463. package/lib/components/Toggle/index.js +1 -1
  464. package/lib/components/Toggle/index.js.map +1 -1
  465. package/lib/components/Validation/index.js +0 -51
  466. package/lib/components/Validation/index.js.map +1 -1
  467. package/lib/constants.d.ts +2 -1
  468. package/lib/constants2.js +1 -0
  469. package/lib/constants2.js.map +1 -1
  470. package/lib/floating-ui.react.js +65 -61
  471. package/lib/floating-ui.react.js.map +1 -1
  472. package/lib/hoc/withBreakpoint/index.js +0 -2
  473. package/lib/hoc/withBreakpoint/index.js.map +1 -1
  474. package/lib/hoc/withBreakpoint/withBreakpoint.js +0 -2
  475. package/lib/hooks/useBreakpoint.js +0 -1
  476. package/lib/hooks/useExpand.js +0 -1
  477. package/lib/hooks/useFocusToggle.js +0 -2
  478. package/lib/hooks/useFocusTrap.js +0 -3
  479. package/lib/hooks/useFocusableElements.js +0 -1
  480. package/lib/hooks/useIcons.js +0 -6
  481. package/lib/hooks/useIsMobileBreakpoint.js +0 -2
  482. package/lib/hooks/useIsVisible.js +0 -1
  483. package/lib/hooks/useLayoutEvent.js +0 -1
  484. package/lib/hooks/useReturnFocusOnUnmount.js +0 -2
  485. package/lib/hooks/useRovingFocus.js +0 -2
  486. package/lib/hooks/useSize.js +0 -1
  487. package/lib/hooks/useToggle.js +0 -1
  488. package/lib/index.js +0 -9
  489. package/lib/theme/currys/color.js +0 -4
  490. package/lib/theme/currys/index.js +0 -5
  491. package/lib/theme/currys/spacing.js +0 -1
  492. package/lib/theme/index.js +0 -3
  493. package/lib/utils/uuid.js +0 -1
  494. package/lib/uuid.js +1 -1
  495. package/package.json +4 -9
  496. package/lib/scss/_figma-tokens.scss +0 -68
  497. package/scss/_figma-tokens.scss +0 -68
@@ -40,7 +40,8 @@ export type Styles = {
40
40
  'expander__content--icon': string;
41
41
  'expander__content--kiwi': string;
42
42
  'expander__content--large': string;
43
- 'expander__content--nested-line': string;
43
+ 'expander__content--nested-line--inner': string;
44
+ 'expander__content--nested-line--outer': string;
44
45
  'expander__content--neutral': string;
45
46
  'expander__content--plum': string;
46
47
  'expander__content--small': string;
@@ -2,7 +2,6 @@ import { a as IconSize, n as AnalyticsId } from "../../constants2.js";
2
2
  import { t as usePseudoClasses } from "../../usePseudoClasses.js";
3
3
  import { t as Icon_default } from "../../Icon.js";
4
4
  import { t as isComponent } from "../../component.js";
5
- import "../../usePrevious.js";
6
5
  import { t as ChevronDown_default } from "../../ChevronDown.js";
7
6
  import { t as ChevronUp_default } from "../../ChevronUp.js";
8
7
  import { t as useExpand } from "../../useExpand.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ExpanderButton: React.FC<ExpanderButtonProps>","Expander: ExpanderType","ExpanderHierarchy: ExpanderHierarchyCompound"],"sources":["../../../src/components/ExpanderHierarchy/ExpanderButton.tsx","../../../src/components/ExpanderHierarchy/utils.ts","../../../src/components/ExpanderHierarchy/Expander.tsx","../../../src/components/ExpanderHierarchy/ExpanderHierarchy.tsx","../../../src/components/ExpanderHierarchy/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { ExpanderHierarchyCommonProps } from '../ExpanderHierarchy';\nimport Icon, { IconSize } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\n\nimport styles from './expander.module.scss';\n\ninterface ExpanderButtonProps extends ExpanderHierarchyCommonProps {\n expanded: boolean;\n onExpand?: (isExpanded: boolean) => void;\n children: string;\n testId?: string;\n}\n\nconst ExpanderButton: React.FC<ExpanderButtonProps> = ({ htmlMarkup = 'h2', level = 1, print, expanded, onExpand, children, testId }) => {\n const { refObject, isHovered } = usePseudoClasses<HTMLButtonElement>();\n const [isExpanded, setIsExpanded] = useExpand(expanded, onExpand);\n\n const handleClick = (): void => {\n setIsExpanded(!isExpanded);\n };\n\n const CustomTag = htmlMarkup;\n\n const buttonClasses = classNames(\n styles.expander__button,\n level > 1 && styles[`expander__button--2-and-lower`],\n print && styles['expander__button--print']\n );\n\n const titleClasses = classNames(\n styles.expander__title,\n (level === 1 || level === 2 || level === 3) && styles[`expander__title--${level}`],\n level > 3 && styles[`expander__title--4-and-lower`],\n isExpanded && styles['expander__title--expanded'],\n print && styles['expander__title--print']\n );\n\n const iconClasses = classNames(\n styles.expander__icon,\n level > 1 && styles[`expander__icon--2-and-lower`],\n level > 2 && styles[`expander__icon--3-and-lower`]\n );\n\n return (\n <CustomTag className={titleClasses}>\n <button\n type=\"button\"\n onClick={handleClick}\n className={buttonClasses}\n aria-expanded={isExpanded}\n ref={refObject}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderHierarchyExpander}\n >\n {children}\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} isHovered={isHovered} className={iconClasses} size={IconSize.XSmall} />\n </button>\n </CustomTag>\n );\n};\n\nexport default ExpanderButton;\n","export type HeadingTags = 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport const getHeadingTag = (htmlMarkup?: HeadingTags): HeadingTags => {\n switch (htmlMarkup) {\n case 'h2':\n return 'h3';\n case 'h3':\n return 'h4';\n case 'h4':\n return 'h5';\n case 'h5':\n return 'h6';\n case 'h6':\n return 'h6';\n default:\n return 'h2';\n }\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport ExpanderButton from './ExpanderButton';\nimport ExpanderHierarchy, { ExpanderHierarchyCommonProps, ExpanderHierarchyProps } from './ExpanderHierarchy';\nimport { getHeadingTag } from './utils';\nimport { isComponent } from '../../utils/component';\n\nimport styles from './expander.module.scss';\n\nexport interface ExpanderProps extends ExpanderHierarchyCommonProps {\n /** Sets the trigger title */\n title: string;\n /** Opens or closes the expander */\n expanded?: boolean;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Sets the expanded content */\n children?: React.ReactNode;\n /** Sets the data-testid attribute on the expander button. */\n testId?: string;\n /** Adds custom classes to the element. */\n className?: string;\n}\n\nexport type ExpanderType = React.FC<ExpanderProps>;\n\nconst Expander: ExpanderType = ({\n title,\n htmlMarkup = 'h2',\n level = 1,\n print,\n expanded = false,\n onExpand,\n children,\n testId,\n className,\n}: ExpanderProps) => {\n const contentClasses = classNames(\n styles.expander__content,\n (level === 1 || level === 2) && styles[`expander__content--${level}`],\n level > 2 && styles[`expander__content--3-and-lower`]\n );\n\n return (\n <li className={classNames(styles.expander, className)}>\n <ExpanderButton htmlMarkup={htmlMarkup} level={level} print={print} expanded={expanded} onExpand={onExpand} testId={testId}>\n {title}\n </ExpanderButton>\n <div className={contentClasses}>\n {React.Children.map(children, child =>\n isComponent<ExpanderHierarchyProps>(child, ExpanderHierarchy)\n ? React.cloneElement(child, { htmlMarkup: getHeadingTag(htmlMarkup), level: level + 1, print })\n : child\n )}\n </div>\n </li>\n );\n};\n\nexport default Expander;\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport Expander, { ExpanderProps, ExpanderType } from './Expander';\nimport { HeadingTags } from './utils';\nimport { AnalyticsId } from '../../constants';\nimport { isComponent } from '../../utils/component';\n\nimport styles from './styles.module.scss';\n\nexport interface ExpanderHierarchyCommonProps {\n /** Changes the underlying element of the expander title. Default: h2. */\n htmlMarkup?: HeadingTags;\n /** Expand all children when printing. */\n print?: boolean;\n /** Expander nesting level. Should not be set manually. */\n level?: number;\n}\n\nexport interface ExpanderHierarchyProps extends ExpanderHierarchyCommonProps {\n children: React.ReactNode;\n /** Sets the data-testid attribute on the expander list. */\n testId?: string;\n}\n\nexport interface ExpanderHierarchyCompound extends React.FC<ExpanderHierarchyProps> {\n Expander: ExpanderType;\n}\n\nconst ExpanderHierarchy: ExpanderHierarchyCompound = ({\n htmlMarkup = 'h2',\n level = 1,\n print,\n children,\n testId,\n}: ExpanderHierarchyProps) => {\n const listClasses = classNames(\n styles.expanderhierarchy,\n level === 2 && styles[`expanderhierarchy--${level}`],\n level > 2 && styles[`expanderhierarchy--3-and-lower`]\n );\n\n return (\n <ul className={listClasses} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderHierarchy}>\n {React.Children.map(children, child =>\n isComponent<ExpanderProps>(child, Expander) ? React.cloneElement(child, { htmlMarkup, level, print }) : child\n )}\n </ul>\n );\n};\n\nExpanderHierarchy.Expander = Expander;\n\nexport default ExpanderHierarchy;\n","import ExpanderHierarchy from './ExpanderHierarchy';\nexport * from './ExpanderHierarchy';\nexport default ExpanderHierarchy;\n"],"mappings":";;;;;;;;;;;;;AAqBA,IAAMA,kBAAiD,EAAE,aAAa,MAAM,QAAQ,GAAG,OAAO,UAAU,UAAU,UAAU,aAAa;CACvI,MAAM,EAAE,WAAW,cAAc,kBAAqC;CACtE,MAAM,CAAC,YAAY,iBAAiB,UAAU,UAAU,SAAS;CAEjE,MAAM,oBAA0B;AAC9B,gBAAc,CAAC,WAAW;;CAG5B,MAAM,YAAY;CAElB,MAAM,gBAAgB,WACpB,OAAO,kBACP,QAAQ,KAAK,OAAO,kCACpB,SAAS,OAAO,2BACjB;CAED,MAAM,eAAe,WACnB,OAAO,kBACN,UAAU,KAAK,UAAU,KAAK,UAAU,MAAM,OAAO,oBAAoB,UAC1E,QAAQ,KAAK,OAAO,iCACpB,cAAc,OAAO,8BACrB,SAAS,OAAO,0BACjB;CAED,MAAM,cAAc,WAClB,OAAO,gBACP,QAAQ,KAAK,OAAO,gCACpB,QAAQ,KAAK,OAAO,+BACrB;AAED,QACE,oBAAC,WAAA;EAAU,WAAW;YACpB,qBAAC,UAAA;GACC,MAAK;GACL,SAAS;GACT,WAAW;GACX,iBAAe;GACf,KAAK;GACL,eAAa;GACb,oBAAkB,YAAY;cAE7B,UACD,oBAAC,cAAA;IAAK,SAAS,aAAa,oBAAY;IAAwB;IAAW,WAAW;IAAa,MAAM,SAAS;KAAU,CAAA;IACrH;GACC;;AAIhB,IAAA,yBAAe;ACnEf,MAAa,iBAAiB,eAA0C;AACtE,SAAQ,YAAR;EACE,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,QACE,QAAO;;;ACab,IAAMC,YAA0B,EAC9B,OACA,aAAa,MACb,QAAQ,GACR,OACA,WAAW,OACX,UACA,UACA,QACA,gBACmB;CACnB,MAAM,iBAAiB,WACrB,OAAO,oBACN,UAAU,KAAK,UAAU,MAAM,OAAO,sBAAsB,UAC7D,QAAQ,KAAK,OAAO,kCACrB;AAED,QACE,qBAAC,MAAA;EAAG,WAAW,WAAW,OAAO,UAAU,UAAU;aACnD,oBAAC,wBAAA;GAA2B;GAAmB;GAAc;GAAiB;GAAoB;GAAkB;aACjH;IACc,EACjB,oBAAC,OAAA;GAAI,WAAW;aACb,MAAM,SAAS,IAAI,WAAU,UAC5B,YAAoC,OAAO,4BAAkB,GACzD,MAAM,aAAa,OAAO;IAAE,YAAY,cAAc,WAAW;IAAE,OAAO,QAAQ;IAAG;IAAO,CAAC,GAC7F,MACL;IACG,CAAA;GACH;;AAIT,IAAA,mBAAe;AC/Bf,IAAMC,qBAAgD,EACpD,aAAa,MACb,QAAQ,GACR,OACA,UACA,aAC4B;AAO5B,QACE,oBAAC,MAAA;EAAG,WAPc,WAClB,SAAO,mBACP,UAAU,KAAK,SAAO,sBAAsB,UAC5C,QAAQ,KAAK,SAAO,kCACrB;EAG6B,eAAa;EAAQ,oBAAkB,YAAY;YAC5E,MAAM,SAAS,IAAI,WAAU,UAC5B,YAA2B,OAAO,iBAAS,GAAG,MAAM,aAAa,OAAO;GAAE;GAAY;GAAO;GAAO,CAAC,GAAG,MACzG;GACE;;AAIT,kBAAkB,WAAW;AAE7B,IAAA,8BAAe;ACpDf,IAAA,4BAAe"}
1
+ {"version":3,"file":"index.js","names":["ExpanderButton: React.FC<ExpanderButtonProps>","Expander: ExpanderType","ExpanderHierarchy: ExpanderHierarchyCompound"],"sources":["../../../src/components/ExpanderHierarchy/ExpanderButton.tsx","../../../src/components/ExpanderHierarchy/utils.ts","../../../src/components/ExpanderHierarchy/Expander.tsx","../../../src/components/ExpanderHierarchy/ExpanderHierarchy.tsx","../../../src/components/ExpanderHierarchy/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { ExpanderHierarchyCommonProps } from '../ExpanderHierarchy';\nimport Icon, { IconSize } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\n\nimport styles from './expander.module.scss';\n\ninterface ExpanderButtonProps extends ExpanderHierarchyCommonProps {\n expanded: boolean;\n onExpand?: (isExpanded: boolean) => void;\n children: string;\n testId?: string;\n}\n\nconst ExpanderButton: React.FC<ExpanderButtonProps> = ({ htmlMarkup = 'h2', level = 1, print, expanded, onExpand, children, testId }) => {\n const { refObject, isHovered } = usePseudoClasses<HTMLButtonElement>();\n const [isExpanded, setIsExpanded] = useExpand(expanded, onExpand);\n\n const handleClick = (): void => {\n setIsExpanded(!isExpanded);\n };\n\n const CustomTag = htmlMarkup;\n\n const buttonClasses = classNames(\n styles.expander__button,\n level > 1 && styles[`expander__button--2-and-lower`],\n print && styles['expander__button--print']\n );\n\n const titleClasses = classNames(\n styles.expander__title,\n (level === 1 || level === 2 || level === 3) && styles[`expander__title--${level}`],\n level > 3 && styles[`expander__title--4-and-lower`],\n isExpanded && styles['expander__title--expanded'],\n print && styles['expander__title--print']\n );\n\n const iconClasses = classNames(\n styles.expander__icon,\n level > 1 && styles[`expander__icon--2-and-lower`],\n level > 2 && styles[`expander__icon--3-and-lower`]\n );\n\n return (\n <CustomTag className={titleClasses}>\n <button\n type=\"button\"\n onClick={handleClick}\n className={buttonClasses}\n aria-expanded={isExpanded}\n ref={refObject}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderHierarchyExpander}\n >\n {children}\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} isHovered={isHovered} className={iconClasses} size={IconSize.XSmall} />\n </button>\n </CustomTag>\n );\n};\n\nexport default ExpanderButton;\n","export type HeadingTags = 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport const getHeadingTag = (htmlMarkup?: HeadingTags): HeadingTags => {\n switch (htmlMarkup) {\n case 'h2':\n return 'h3';\n case 'h3':\n return 'h4';\n case 'h4':\n return 'h5';\n case 'h5':\n return 'h6';\n case 'h6':\n return 'h6';\n default:\n return 'h2';\n }\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport ExpanderButton from './ExpanderButton';\nimport ExpanderHierarchy, { ExpanderHierarchyCommonProps, ExpanderHierarchyProps } from './ExpanderHierarchy';\nimport { getHeadingTag } from './utils';\nimport { isComponent } from '../../utils/component';\n\nimport styles from './expander.module.scss';\n\nexport interface ExpanderProps extends ExpanderHierarchyCommonProps {\n /** Sets the trigger title */\n title: string;\n /** Opens or closes the expander */\n expanded?: boolean;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Sets the expanded content */\n children?: React.ReactNode;\n /** Sets the data-testid attribute on the expander button. */\n testId?: string;\n /** Adds custom classes to the element. */\n className?: string;\n}\n\nexport type ExpanderType = React.FC<ExpanderProps>;\n\nconst Expander: ExpanderType = ({\n title,\n htmlMarkup = 'h2',\n level = 1,\n print,\n expanded = false,\n onExpand,\n children,\n testId,\n className,\n}: ExpanderProps) => {\n const contentClasses = classNames(\n styles.expander__content,\n (level === 1 || level === 2) && styles[`expander__content--${level}`],\n level > 2 && styles[`expander__content--3-and-lower`]\n );\n\n return (\n <li className={classNames(styles.expander, className)}>\n <ExpanderButton htmlMarkup={htmlMarkup} level={level} print={print} expanded={expanded} onExpand={onExpand} testId={testId}>\n {title}\n </ExpanderButton>\n <div className={contentClasses}>\n {React.Children.map(children, child =>\n isComponent<ExpanderHierarchyProps>(child, ExpanderHierarchy)\n ? React.cloneElement(child, { htmlMarkup: getHeadingTag(htmlMarkup), level: level + 1, print })\n : child\n )}\n </div>\n </li>\n );\n};\n\nexport default Expander;\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport Expander, { ExpanderProps, ExpanderType } from './Expander';\nimport { HeadingTags } from './utils';\nimport { AnalyticsId } from '../../constants';\nimport { isComponent } from '../../utils/component';\n\nimport styles from './styles.module.scss';\n\nexport interface ExpanderHierarchyCommonProps {\n /** Changes the underlying element of the expander title. Default: h2. */\n htmlMarkup?: HeadingTags;\n /** Expand all children when printing. */\n print?: boolean;\n /** Expander nesting level. Should not be set manually. */\n level?: number;\n}\n\nexport interface ExpanderHierarchyProps extends ExpanderHierarchyCommonProps {\n children: React.ReactNode;\n /** Sets the data-testid attribute on the expander list. */\n testId?: string;\n}\n\nexport interface ExpanderHierarchyCompound extends React.FC<ExpanderHierarchyProps> {\n Expander: ExpanderType;\n}\n\nconst ExpanderHierarchy: ExpanderHierarchyCompound = ({\n htmlMarkup = 'h2',\n level = 1,\n print,\n children,\n testId,\n}: ExpanderHierarchyProps) => {\n const listClasses = classNames(\n styles.expanderhierarchy,\n level === 2 && styles[`expanderhierarchy--${level}`],\n level > 2 && styles[`expanderhierarchy--3-and-lower`]\n );\n\n return (\n <ul className={listClasses} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderHierarchy}>\n {React.Children.map(children, child =>\n isComponent<ExpanderProps>(child, Expander) ? React.cloneElement(child, { htmlMarkup, level, print }) : child\n )}\n </ul>\n );\n};\n\nExpanderHierarchy.Expander = Expander;\n\nexport default ExpanderHierarchy;\n","import ExpanderHierarchy from './ExpanderHierarchy';\nexport * from './ExpanderHierarchy';\nexport default ExpanderHierarchy;\n"],"mappings":";;;;;;;;;;;;AAqBA,IAAMA,kBAAiD,EAAE,aAAa,MAAM,QAAQ,GAAG,OAAO,UAAU,UAAU,UAAU,aAAa;CACvI,MAAM,EAAE,WAAW,cAAc,kBAAqC;CACtE,MAAM,CAAC,YAAY,iBAAiB,UAAU,UAAU,SAAS;CAEjE,MAAM,oBAA0B;AAC9B,gBAAc,CAAC,WAAW;;CAG5B,MAAM,YAAY;CAElB,MAAM,gBAAgB,WACpB,OAAO,kBACP,QAAQ,KAAK,OAAO,kCACpB,SAAS,OAAO,2BACjB;CAED,MAAM,eAAe,WACnB,OAAO,kBACN,UAAU,KAAK,UAAU,KAAK,UAAU,MAAM,OAAO,oBAAoB,UAC1E,QAAQ,KAAK,OAAO,iCACpB,cAAc,OAAO,8BACrB,SAAS,OAAO,0BACjB;CAED,MAAM,cAAc,WAClB,OAAO,gBACP,QAAQ,KAAK,OAAO,gCACpB,QAAQ,KAAK,OAAO,+BACrB;AAED,QACE,oBAAC,WAAA;EAAU,WAAW;YACpB,qBAAC,UAAA;GACC,MAAK;GACL,SAAS;GACT,WAAW;GACX,iBAAe;GACf,KAAK;GACL,eAAa;GACb,oBAAkB,YAAY;cAE7B,UACD,oBAAC,cAAA;IAAK,SAAS,aAAa,oBAAY;IAAwB;IAAW,WAAW;IAAa,MAAM,SAAS;KAAU,CAAA;IACrH;GACC;;AAIhB,IAAA,yBAAe;ACnEf,MAAa,iBAAiB,eAA0C;AACtE,SAAQ,YAAR;EACE,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,QACE,QAAO;;;ACab,IAAMC,YAA0B,EAC9B,OACA,aAAa,MACb,QAAQ,GACR,OACA,WAAW,OACX,UACA,UACA,QACA,gBACmB;CACnB,MAAM,iBAAiB,WACrB,OAAO,oBACN,UAAU,KAAK,UAAU,MAAM,OAAO,sBAAsB,UAC7D,QAAQ,KAAK,OAAO,kCACrB;AAED,QACE,qBAAC,MAAA;EAAG,WAAW,WAAW,OAAO,UAAU,UAAU;aACnD,oBAAC,wBAAA;GAA2B;GAAmB;GAAc;GAAiB;GAAoB;GAAkB;aACjH;IACc,EACjB,oBAAC,OAAA;GAAI,WAAW;aACb,MAAM,SAAS,IAAI,WAAU,UAC5B,YAAoC,OAAO,4BAAkB,GACzD,MAAM,aAAa,OAAO;IAAE,YAAY,cAAc,WAAW;IAAE,OAAO,QAAQ;IAAG;IAAO,CAAC,GAC7F,MACL;IACG,CAAA;GACH;;AAIT,IAAA,mBAAe;AC/Bf,IAAMC,qBAAgD,EACpD,aAAa,MACb,QAAQ,GACR,OACA,UACA,aAC4B;AAO5B,QACE,oBAAC,MAAA;EAAG,WAPc,WAClB,SAAO,mBACP,UAAU,KAAK,SAAO,sBAAsB,UAC5C,QAAQ,KAAK,SAAO,kCACrB;EAG6B,eAAa;EAAQ,oBAAkB,YAAY;YAC5E,MAAM,SAAS,IAAI,WAAU,UAC5B,YAA2B,OAAO,iBAAS,GAAG,MAAM,aAAa,OAAO;GAAE;GAAY;GAAO;GAAO,CAAC,GAAG,MACzG;GACE;;AAIT,kBAAkB,WAAW;AAE7B,IAAA,8BAAe;ACpDf,IAAA,4BAAe"}
@@ -1,55 +1,9 @@
1
- import "../../uuid.js";
2
- import "../../environment.js";
3
1
  import { n as AnalyticsId } from "../../constants2.js";
4
2
  import { t as usePseudoClasses } from "../../usePseudoClasses.js";
5
- import "../../grid.js";
6
- import "../../palette.js";
7
- import "../../spacers.js";
8
- import "../../theme.js";
9
- import "../../color.js";
10
- import "../../spacing.js";
11
- import "../../currys.js";
12
3
  import { n as mergeRefs } from "../../refs.js";
13
- import "../../Icon.js";
14
- import "../../Check.js";
15
- import "../../Avatar.js";
16
- import "../../CheckFill.js";
17
- import "../../ErrorSignFill.js";
18
- import "../../InfoSignFill.js";
19
- import "../../TriangleX.js";
20
- import "../../NotificationBadge.js";
21
- import "../../Badge.js";
22
- import "../../_rolldown_dynamic_import_helper.js";
23
- import "../../useIsServerSide.js";
24
- import "../../LazyIcon.js";
25
- import "../../component.js";
26
- import "../../useBreakpoint.js";
27
- import "../../Spacer.js";
28
- import "../../useElementList.js";
29
- import "../../useFocusableElements.js";
30
- import "../../useFocusToggle.js";
31
- import "../../focus.js";
32
- import "../../useFocusTrap.js";
33
- import "../../useIntersectionObserver.js";
34
- import "../../useIsVisible.js";
35
- import "../../debounce.js";
36
- import "../../useLayoutEvent.js";
37
- import "../../usePrevious.js";
38
- import "../../useSize.js";
39
- import "../../useResizeObserver.js";
40
- import "../../useToggle.js";
41
- import "../../useKeyboardEvent.js";
42
- import "../../useOutsideEvent.js";
43
- import "../../mobile.js";
44
- import "../../src.js";
45
- import "../../StatusDot.js";
46
- import "../../X.js";
47
4
  import { t as ChevronDown_default } from "../../ChevronDown.js";
48
5
  import { t as ChevronUp_default } from "../../ChevronUp.js";
49
- import "../../Duolist.js";
50
6
  import { t as Highlighter_default } from "../../Highlighter.js";
51
- import "../../ElementHeaderText.js";
52
- import "../../StatusDotList.js";
53
7
  import { i as renderElementHeader } from "../../ElementHeader.js";
54
8
  import { t as useExpand } from "../../useExpand.js";
55
9
  import { t as isElementInViewport } from "../../viewport.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Expander: ExpanderType","highlightTextChild: string | undefined"],"sources":["../../../src/components/ExpanderList/ExpanderList.tsx","../../../src/components/ExpanderList/index.ts"],"sourcesContent":["import React, { useEffect, useId, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { PaletteNames } from '../../theme/palette';\nimport { mergeRefs } from '../../utils/refs';\nimport { isElementInViewport } from '../../utils/viewport';\nimport { ElementHeaderType, renderElementHeader } from '../ElementHeader/ElementHeader';\nimport Highlighter from '../Highlighter';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport ListEditModeItem, { ListEditModeItemProps, listEditModeWrapperClassnames } from '../ListEditMode';\nimport { TitleTags } from '../Title';\n\nimport expanderListStyles from './styles.module.scss';\n\nexport type ExpanderListColors = Extract<PaletteNames, 'white' | 'blueberry' | 'cherry' | 'neutral'>;\nexport interface ExpanderType extends React.ForwardRefExoticComponent<ExpanderProps & React.RefAttributes<HTMLLIElement>> {\n ElementHeader?: ElementHeaderType;\n}\n\nexport interface ExpanderListCompound extends React.ForwardRefExoticComponent<ExpanderListProps & React.RefAttributes<HTMLUListElement>> {\n Expander: ExpanderType;\n}\n\nexport type ExpanderListVariant = 'line' | 'outline' | 'fill' | 'fill-negative';\n\nexport type ExpanderListStatus = 'none' | 'new';\n\ninterface ExpanderListProps {\n /** Toggles accordion functionality for the expanders. */\n accordion?: boolean;\n /** Items in the ExpanderList */\n children: React.ReactNode;\n /** Toggles padding of child elements */\n childPadding?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n /** Changes the colors of the list. */\n color?: ExpanderListColors;\n /** Changes the font size. */\n large?: boolean;\n /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */\n renderChildrenWhenClosed?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets visual priority */\n variant?: ExpanderListVariant;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n /** Highlights text in title and content. Used for search results */\n highlightText?: string;\n /**\n * @experimental This prop is experimental and may change in the future.\n * Enables ListEditMode\n */\n editMode?: boolean;\n}\n\ntype Modify<T, R> = Omit<T, keyof R> & R;\n\ntype ExpanderProps = Modify<\n React.HTMLAttributes<HTMLButtonElement>,\n {\n id?: string;\n title: JSX.Element | string;\n /** Changes the underlying element of the title. Default: span*/\n titleHtmlMarkup?: TitleTags;\n children: React.ReactNode;\n className?: string;\n color?: ExpanderListColors;\n icon?: React.ReactElement;\n padding?: boolean;\n expanded?: boolean;\n large?: boolean;\n testId?: string;\n handleExpanderClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n /** Highlights text in title and content. Override if different from list. */\n highlightText?: string;\n /** Displays a status on the left side: default none */\n status?: ExpanderListStatus;\n }\n> &\n Pick<ExpanderListProps, 'renderChildrenWhenClosed' | 'variant'> &\n ListEditModeItemProps;\n\nexport const Expander: ExpanderType = React.forwardRef<HTMLLIElement, ExpanderProps>((props, ref) => {\n const {\n id,\n children,\n padding = true,\n color = 'neutral',\n className = '',\n icon,\n large = false,\n title,\n titleHtmlMarkup = 'span',\n expanded = false,\n testId,\n handleExpanderClick,\n onExpand,\n renderChildrenWhenClosed,\n variant = 'line',\n zIndex = 0,\n highlightText,\n status = 'none',\n editMode = false,\n } = props;\n const [isExpanded] = useExpand(expanded, onExpand);\n const expanderRef = useRef<HTMLLIElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const { isHovered, isFocused } = usePseudoClasses(triggerRef);\n\n const isFill = variant === 'fill';\n const isFillNegative = variant === 'fill-negative';\n const isOutline = variant === 'outline';\n const isLine = variant === 'line';\n\n const itemClasses = classNames(className, expanderListStyles['expander-list__item'], {\n [expanderListStyles[`expander-list__item--fill`]]: isFill,\n [expanderListStyles[`expander-list__item--fill--${color}`]]: isFill,\n [expanderListStyles[`expander-list__item--fill-negative`]]: isFillNegative,\n [expanderListStyles[`expander-list__item--fill-negative--${color}`]]: isFillNegative,\n [expanderListStyles['expander-list__item--outline']]: isOutline,\n [expanderListStyles[`expander-list__item--outline--${color}`]]: isOutline,\n [expanderListStyles['expander-list__item--line']]: isLine,\n [expanderListStyles[`expander-list__item--line--${color}`]]: isLine,\n [expanderListStyles[`expander-list__item--new`]]: status === 'new',\n });\n\n const expanderClasses = classNames(expanderListStyles['expander-list-link'], expanderListStyles[`expander-list-link--${color}`], {\n [expanderListStyles[`expander-list-link--fill--${color}`]]: isFill,\n [expanderListStyles[`expander-list-link--fill-negative`]]: isFillNegative,\n [expanderListStyles[`expander-list-link--fill-negative--${color}`]]: isFillNegative,\n [expanderListStyles['expander-list-link--outline']]: isOutline,\n [expanderListStyles[`expander-list-link--outline--${color}`]]: isOutline,\n [expanderListStyles[`expander-list-link--line--${color}`]]: isLine,\n [expanderListStyles['expander-list-link--open']]: isExpanded,\n [expanderListStyles['expander-list-link--large']]: large,\n [expanderListStyles[`expander-list-link--new`]]: status === 'new',\n });\n\n const renderContent = (): React.ReactNode => {\n if (!renderChildrenWhenClosed && !isExpanded) {\n return null;\n }\n\n const mainContentClasses = classNames(expanderListStyles['expander-list-link__main-content'], {\n [expanderListStyles['expander-list-link__main-content--expanded']]: isExpanded,\n [expanderListStyles['expander-list-link__main-content--padding']]: padding,\n [expanderListStyles[`expander-list-link__main-content--outline--${color}`]]: isOutline,\n [expanderListStyles[`expander-list-link__main-content--new`]]: status === 'new',\n });\n\n return (\n <div className={mainContentClasses} data-state={isExpanded ? 'open' : 'closed'}>\n <Highlighter searchText={highlightText}>{children}</Highlighter>\n </div>\n );\n };\n\n const statusMarkerClasses = classNames(expanderListStyles['expander-list__item__status-marker'], {\n [expanderListStyles['expander-list__item__status-marker--new']]: status === 'new',\n });\n\n return (\n <>\n {editMode ? (\n <div className={itemClasses}>\n {status !== 'none' && <div className={statusMarkerClasses}></div>}\n <div id={id} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderListExpander} className={expanderClasses}>\n {renderElementHeader(title, {\n titleHtmlMarkup,\n isHovered: false,\n size: large ? 'large' : 'medium',\n parentType: 'expanderlist',\n chevronIcon: undefined,\n icon,\n highlightText,\n })}\n </div>\n </div>\n ) : (\n <li className={itemClasses} ref={mergeRefs([ref, expanderRef])}>\n {status !== 'none' && <div className={statusMarkerClasses}></div>}\n <button\n type=\"button\"\n id={id}\n onClick={handleExpanderClick}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderListExpander}\n className={expanderClasses}\n ref={triggerRef}\n aria-expanded={isExpanded}\n style={{\n zIndex: isFocused ? zIndex + 1 : zIndex,\n }}\n >\n {renderElementHeader(title, {\n titleHtmlMarkup,\n isHovered: isHovered || isFocused,\n size: large ? 'large' : 'medium',\n parentType: 'expanderlist',\n chevronIcon: isExpanded ? ChevronUp : ChevronDown,\n icon,\n highlightText,\n })}\n </button>\n {renderContent()}\n </li>\n )}\n </>\n );\n});\n\ntype ActiveExpander = Record<string, boolean>;\n\nconst isExpanderComponent = (element: unknown | null | undefined): element is React.ReactElement<ExpanderProps> =>\n React.isValidElement<ExpanderProps>(element) && (element as React.ReactElement).type === Expander;\n\nexport const ExpanderList = React.forwardRef((props: ExpanderListProps, ref: React.Ref<HTMLUListElement>) => {\n const {\n children,\n childPadding = true,\n large,\n renderChildrenWhenClosed = false,\n color = 'white',\n className = '',\n accordion = false,\n testId,\n variant,\n zIndex,\n highlightText,\n editMode = false,\n } = props;\n const [activeExpander, setActiveExpander] = useState<ActiveExpander>();\n const [latestExpander, setLatestExpander] = useState<HTMLElement>();\n const expanderIdBase = useId();\n const expanderListClasses = classNames(expanderListStyles['expander-list'], className, {\n [expanderListStyles[`expander-list--outline--${color}`]]: variant === 'outline',\n [expanderListStyles[`expander-list--fill`]]: variant === 'fill' || variant === 'fill-negative',\n [listEditModeWrapperClassnames]: editMode,\n });\n\n function handleExpanderClick(event: React.MouseEvent<HTMLElement, MouseEvent>, id: string): void {\n setActiveExpander(prevState => (accordion ? { [id]: !prevState?.[id] } : { ...prevState, [id]: !prevState?.[id] }));\n setLatestExpander(event.currentTarget);\n }\n\n const getExpanderId = (index: number): string => `${expanderIdBase}-${index}`;\n\n useEffect(() => {\n if (accordion && latestExpander && !isElementInViewport(latestExpander)) {\n latestExpander.scrollIntoView();\n }\n }, [accordion, latestExpander]);\n\n useEffect(() => {\n const newActiveExpander = React.Children.map(children, child => {\n if (isExpanderComponent(child)) {\n return child;\n }\n })?.reduce((acc, child, index) => {\n // Expanded-status skal bare settes dersom prop er satt av den som bruker komponenten\n if (typeof child.props.expanded !== 'undefined') {\n acc[getExpanderId(index)] = child.props.expanded;\n }\n return acc;\n }, {} as ActiveExpander);\n\n setActiveExpander({ ...activeExpander, ...newActiveExpander });\n }, [children]);\n\n return (\n <ul className={expanderListClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderList}>\n {React.Children.map(children, (child, index) => {\n if (isExpanderComponent(child)) {\n const id = getExpanderId(index);\n const expanded = activeExpander?.[id];\n const highlightTextChild: string | undefined = child.props.highlightText || highlightText;\n\n if (editMode) {\n return (\n <ListEditModeItem color={color} variant={variant} onDelete={child.props.onDelete}>\n {React.cloneElement(child, {\n id,\n key: index,\n expanded,\n padding: childPadding,\n color,\n large,\n 'aria-expanded': false,\n className: expanderListStyles['expander-list__item'],\n renderChildrenWhenClosed: false,\n variant,\n zIndex: zIndex,\n highlightText: highlightTextChild,\n editMode: true,\n })}\n </ListEditModeItem>\n );\n } else {\n return React.cloneElement(child as React.ReactElement<ExpanderProps>, {\n id,\n key: index,\n expanded,\n padding: childPadding,\n color,\n large,\n 'aria-expanded': expanded,\n className: expanderListStyles['expander-list__item'],\n handleExpanderClick: (event: React.MouseEvent<HTMLElement>) => handleExpanderClick(event, `${expanderIdBase}-${index}`),\n renderChildrenWhenClosed,\n variant,\n zIndex: zIndex,\n highlightText: highlightTextChild,\n });\n }\n }\n return child;\n })}\n </ul>\n );\n}) as ExpanderListCompound;\n\nExpanderList.displayName = 'ExpanderList';\nExpanderList.Expander = Expander;\nExpander.displayName = 'ExpanderList.Expander';\n\nexport default ExpanderList;\n","import ExpanderList from './ExpanderList';\nexport * from './ExpanderList';\nexport default ExpanderList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Expander: ExpanderType","highlightTextChild: string | undefined"],"sources":["../../../src/components/ExpanderList/ExpanderList.tsx","../../../src/components/ExpanderList/index.ts"],"sourcesContent":["import React, { useEffect, useId, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { PaletteNames } from '../../theme/palette';\nimport { mergeRefs } from '../../utils/refs';\nimport { isElementInViewport } from '../../utils/viewport';\nimport { ElementHeaderType, renderElementHeader } from '../ElementHeader/ElementHeader';\nimport Highlighter from '../Highlighter';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport ListEditModeItem, { ListEditModeItemProps, listEditModeWrapperClassnames } from '../ListEditMode';\nimport { TitleTags } from '../Title';\n\nimport expanderListStyles from './styles.module.scss';\n\nexport type ExpanderListColors = Extract<PaletteNames, 'white' | 'blueberry' | 'cherry' | 'neutral'>;\nexport interface ExpanderType extends React.ForwardRefExoticComponent<ExpanderProps & React.RefAttributes<HTMLLIElement>> {\n ElementHeader?: ElementHeaderType;\n}\n\nexport interface ExpanderListCompound extends React.ForwardRefExoticComponent<ExpanderListProps & React.RefAttributes<HTMLUListElement>> {\n Expander: ExpanderType;\n}\n\nexport type ExpanderListVariant = 'line' | 'outline' | 'fill' | 'fill-negative';\n\nexport type ExpanderListStatus = 'none' | 'new';\n\ninterface ExpanderListProps {\n /** Toggles accordion functionality for the expanders. */\n accordion?: boolean;\n /** Items in the ExpanderList */\n children: React.ReactNode;\n /** Toggles padding of child elements */\n childPadding?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n /** Changes the colors of the list. */\n color?: ExpanderListColors;\n /** Changes the font size. */\n large?: boolean;\n /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */\n renderChildrenWhenClosed?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets visual priority */\n variant?: ExpanderListVariant;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n /** Highlights text in title and content. Used for search results */\n highlightText?: string;\n /**\n * @experimental This prop is experimental and may change in the future.\n * Enables ListEditMode\n */\n editMode?: boolean;\n}\n\ntype Modify<T, R> = Omit<T, keyof R> & R;\n\ntype ExpanderProps = Modify<\n React.HTMLAttributes<HTMLButtonElement>,\n {\n id?: string;\n title: JSX.Element | string;\n /** Changes the underlying element of the title. Default: span*/\n titleHtmlMarkup?: TitleTags;\n children: React.ReactNode;\n className?: string;\n color?: ExpanderListColors;\n icon?: React.ReactElement;\n padding?: boolean;\n expanded?: boolean;\n large?: boolean;\n testId?: string;\n handleExpanderClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n /** Highlights text in title and content. Override if different from list. */\n highlightText?: string;\n /** Displays a status on the left side: default none */\n status?: ExpanderListStatus;\n }\n> &\n Pick<ExpanderListProps, 'renderChildrenWhenClosed' | 'variant'> &\n ListEditModeItemProps;\n\nexport const Expander: ExpanderType = React.forwardRef<HTMLLIElement, ExpanderProps>((props, ref) => {\n const {\n id,\n children,\n padding = true,\n color = 'neutral',\n className = '',\n icon,\n large = false,\n title,\n titleHtmlMarkup = 'span',\n expanded = false,\n testId,\n handleExpanderClick,\n onExpand,\n renderChildrenWhenClosed,\n variant = 'line',\n zIndex = 0,\n highlightText,\n status = 'none',\n editMode = false,\n } = props;\n const [isExpanded] = useExpand(expanded, onExpand);\n const expanderRef = useRef<HTMLLIElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const { isHovered, isFocused } = usePseudoClasses(triggerRef);\n\n const isFill = variant === 'fill';\n const isFillNegative = variant === 'fill-negative';\n const isOutline = variant === 'outline';\n const isLine = variant === 'line';\n\n const itemClasses = classNames(className, expanderListStyles['expander-list__item'], {\n [expanderListStyles[`expander-list__item--fill`]]: isFill,\n [expanderListStyles[`expander-list__item--fill--${color}`]]: isFill,\n [expanderListStyles[`expander-list__item--fill-negative`]]: isFillNegative,\n [expanderListStyles[`expander-list__item--fill-negative--${color}`]]: isFillNegative,\n [expanderListStyles['expander-list__item--outline']]: isOutline,\n [expanderListStyles[`expander-list__item--outline--${color}`]]: isOutline,\n [expanderListStyles['expander-list__item--line']]: isLine,\n [expanderListStyles[`expander-list__item--line--${color}`]]: isLine,\n [expanderListStyles[`expander-list__item--new`]]: status === 'new',\n });\n\n const expanderClasses = classNames(expanderListStyles['expander-list-link'], expanderListStyles[`expander-list-link--${color}`], {\n [expanderListStyles[`expander-list-link--fill--${color}`]]: isFill,\n [expanderListStyles[`expander-list-link--fill-negative`]]: isFillNegative,\n [expanderListStyles[`expander-list-link--fill-negative--${color}`]]: isFillNegative,\n [expanderListStyles['expander-list-link--outline']]: isOutline,\n [expanderListStyles[`expander-list-link--outline--${color}`]]: isOutline,\n [expanderListStyles[`expander-list-link--line--${color}`]]: isLine,\n [expanderListStyles['expander-list-link--open']]: isExpanded,\n [expanderListStyles['expander-list-link--large']]: large,\n [expanderListStyles[`expander-list-link--new`]]: status === 'new',\n });\n\n const renderContent = (): React.ReactNode => {\n if (!renderChildrenWhenClosed && !isExpanded) {\n return null;\n }\n\n const mainContentClasses = classNames(expanderListStyles['expander-list-link__main-content'], {\n [expanderListStyles['expander-list-link__main-content--expanded']]: isExpanded,\n [expanderListStyles['expander-list-link__main-content--padding']]: padding,\n [expanderListStyles[`expander-list-link__main-content--outline--${color}`]]: isOutline,\n [expanderListStyles[`expander-list-link__main-content--new`]]: status === 'new',\n });\n\n return (\n <div className={mainContentClasses} data-state={isExpanded ? 'open' : 'closed'}>\n <Highlighter searchText={highlightText}>{children}</Highlighter>\n </div>\n );\n };\n\n const statusMarkerClasses = classNames(expanderListStyles['expander-list__item__status-marker'], {\n [expanderListStyles['expander-list__item__status-marker--new']]: status === 'new',\n });\n\n return (\n <>\n {editMode ? (\n <div className={itemClasses}>\n {status !== 'none' && <div className={statusMarkerClasses}></div>}\n <div id={id} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderListExpander} className={expanderClasses}>\n {renderElementHeader(title, {\n titleHtmlMarkup,\n isHovered: false,\n size: large ? 'large' : 'medium',\n parentType: 'expanderlist',\n chevronIcon: undefined,\n icon,\n highlightText,\n })}\n </div>\n </div>\n ) : (\n <li className={itemClasses} ref={mergeRefs([ref, expanderRef])}>\n {status !== 'none' && <div className={statusMarkerClasses}></div>}\n <button\n type=\"button\"\n id={id}\n onClick={handleExpanderClick}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderListExpander}\n className={expanderClasses}\n ref={triggerRef}\n aria-expanded={isExpanded}\n style={{\n zIndex: isFocused ? zIndex + 1 : zIndex,\n }}\n >\n {renderElementHeader(title, {\n titleHtmlMarkup,\n isHovered: isHovered || isFocused,\n size: large ? 'large' : 'medium',\n parentType: 'expanderlist',\n chevronIcon: isExpanded ? ChevronUp : ChevronDown,\n icon,\n highlightText,\n })}\n </button>\n {renderContent()}\n </li>\n )}\n </>\n );\n});\n\ntype ActiveExpander = Record<string, boolean>;\n\nconst isExpanderComponent = (element: unknown | null | undefined): element is React.ReactElement<ExpanderProps> =>\n React.isValidElement<ExpanderProps>(element) && (element as React.ReactElement).type === Expander;\n\nexport const ExpanderList = React.forwardRef((props: ExpanderListProps, ref: React.Ref<HTMLUListElement>) => {\n const {\n children,\n childPadding = true,\n large,\n renderChildrenWhenClosed = false,\n color = 'white',\n className = '',\n accordion = false,\n testId,\n variant,\n zIndex,\n highlightText,\n editMode = false,\n } = props;\n const [activeExpander, setActiveExpander] = useState<ActiveExpander>();\n const [latestExpander, setLatestExpander] = useState<HTMLElement>();\n const expanderIdBase = useId();\n const expanderListClasses = classNames(expanderListStyles['expander-list'], className, {\n [expanderListStyles[`expander-list--outline--${color}`]]: variant === 'outline',\n [expanderListStyles[`expander-list--fill`]]: variant === 'fill' || variant === 'fill-negative',\n [listEditModeWrapperClassnames]: editMode,\n });\n\n function handleExpanderClick(event: React.MouseEvent<HTMLElement, MouseEvent>, id: string): void {\n setActiveExpander(prevState => (accordion ? { [id]: !prevState?.[id] } : { ...prevState, [id]: !prevState?.[id] }));\n setLatestExpander(event.currentTarget);\n }\n\n const getExpanderId = (index: number): string => `${expanderIdBase}-${index}`;\n\n useEffect(() => {\n if (accordion && latestExpander && !isElementInViewport(latestExpander)) {\n latestExpander.scrollIntoView();\n }\n }, [accordion, latestExpander]);\n\n useEffect(() => {\n const newActiveExpander = React.Children.map(children, child => {\n if (isExpanderComponent(child)) {\n return child;\n }\n })?.reduce((acc, child, index) => {\n // Expanded-status skal bare settes dersom prop er satt av den som bruker komponenten\n if (typeof child.props.expanded !== 'undefined') {\n acc[getExpanderId(index)] = child.props.expanded;\n }\n return acc;\n }, {} as ActiveExpander);\n\n setActiveExpander({ ...activeExpander, ...newActiveExpander });\n }, [children]);\n\n return (\n <ul className={expanderListClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderList}>\n {React.Children.map(children, (child, index) => {\n if (isExpanderComponent(child)) {\n const id = getExpanderId(index);\n const expanded = activeExpander?.[id];\n const highlightTextChild: string | undefined = child.props.highlightText || highlightText;\n\n if (editMode) {\n return (\n <ListEditModeItem color={color} variant={variant} onDelete={child.props.onDelete}>\n {React.cloneElement(child, {\n id,\n key: index,\n expanded,\n padding: childPadding,\n color,\n large,\n 'aria-expanded': false,\n className: expanderListStyles['expander-list__item'],\n renderChildrenWhenClosed: false,\n variant,\n zIndex: zIndex,\n highlightText: highlightTextChild,\n editMode: true,\n })}\n </ListEditModeItem>\n );\n } else {\n return React.cloneElement(child as React.ReactElement<ExpanderProps>, {\n id,\n key: index,\n expanded,\n padding: childPadding,\n color,\n large,\n 'aria-expanded': expanded,\n className: expanderListStyles['expander-list__item'],\n handleExpanderClick: (event: React.MouseEvent<HTMLElement>) => handleExpanderClick(event, `${expanderIdBase}-${index}`),\n renderChildrenWhenClosed,\n variant,\n zIndex: zIndex,\n highlightText: highlightTextChild,\n });\n }\n }\n return child;\n })}\n </ul>\n );\n}) as ExpanderListCompound;\n\nExpanderList.displayName = 'ExpanderList';\nExpanderList.Expander = Expander;\nExpander.displayName = 'ExpanderList.Expander';\n\nexport default ExpanderList;\n","import ExpanderList from './ExpanderList';\nexport * from './ExpanderList';\nexport default ExpanderList;\n"],"mappings":";;;;;;;;;;;;;;AA6FA,MAAaA,WAAyB,MAAM,YAA0C,OAAO,QAAQ;CACnG,MAAM,EACJ,IACA,UACA,UAAU,MACV,QAAQ,WACR,YAAY,IACZ,MACA,QAAQ,OACR,OACA,kBAAkB,QAClB,WAAW,OACX,QACA,qBACA,UACA,0BACA,UAAU,QACV,SAAS,GACT,eACA,SAAS,QACT,WAAW,UACT;CACJ,MAAM,CAAC,cAAc,UAAU,UAAU,SAAS;CAClD,MAAM,cAAc,OAAsB,KAAK;CAC/C,MAAM,aAAa,OAA0B,KAAK;CAClD,MAAM,EAAE,WAAW,cAAc,iBAAiB,WAAW;CAE7D,MAAM,SAAS,YAAY;CAC3B,MAAM,iBAAiB,YAAY;CACnC,MAAM,YAAY,YAAY;CAC9B,MAAM,SAAS,YAAY;CAE3B,MAAM,cAAc,WAAW,WAAW,mBAAmB,wBAAwB;GAClF,mBAAmB,+BAA+B;GAClD,mBAAmB,8BAA8B,WAAW;GAC5D,mBAAmB,wCAAwC;GAC3D,mBAAmB,uCAAuC,WAAW;GACrE,mBAAmB,kCAAkC;GACrD,mBAAmB,iCAAiC,WAAW;GAC/D,mBAAmB,+BAA+B;GAClD,mBAAmB,8BAA8B,WAAW;GAC5D,mBAAmB,8BAA8B,WAAW;EAC9D,CAAC;CAEF,MAAM,kBAAkB,WAAW,mBAAmB,uBAAuB,mBAAmB,uBAAuB,UAAU;GAC9H,mBAAmB,6BAA6B,WAAW;GAC3D,mBAAmB,uCAAuC;GAC1D,mBAAmB,sCAAsC,WAAW;GACpE,mBAAmB,iCAAiC;GACpD,mBAAmB,gCAAgC,WAAW;GAC9D,mBAAmB,6BAA6B,WAAW;GAC3D,mBAAmB,8BAA8B;GACjD,mBAAmB,+BAA+B;GAClD,mBAAmB,6BAA6B,WAAW;EAC7D,CAAC;CAEF,MAAM,sBAAuC;AAC3C,MAAI,CAAC,4BAA4B,CAAC,WAChC,QAAO;AAUT,SACE,oBAAC,OAAA;GAAI,WARoB,WAAW,mBAAmB,qCAAqC;KAC3F,mBAAmB,gDAAgD;KACnE,mBAAmB,+CAA+C;KAClE,mBAAmB,8CAA8C,WAAW;KAC5E,mBAAmB,2CAA2C,WAAW;IAC3E,CAAC;GAGoC,cAAY,aAAa,SAAS;aACpE,oBAAC,qBAAA;IAAY,YAAY;IAAgB;KAAuB;IAC5D;;CAIV,MAAM,sBAAsB,WAAW,mBAAmB,uCAAuC,GAC9F,mBAAmB,6CAA6C,WAAW,OAC7E,CAAC;AAEF,QACE,oBAAA,UAAA,EAAA,UACG,WACC,qBAAC,OAAA;EAAI,WAAW;aACb,WAAW,UAAU,oBAAC,OAAA,EAAI,WAAW,qBAAA,CAA2B,EACjE,oBAAC,OAAA;GAAQ;GAAI,eAAa;GAAQ,oBAAkB,YAAY;GAAsB,WAAW;aAC9F,oBAAoB,OAAO;IAC1B;IACA,WAAW;IACX,MAAM,QAAQ,UAAU;IACxB,YAAY;IACZ,aAAa,KAAA;IACb;IACA;IACD,CAAC;IACE,CAAA;GACF,GAEN,qBAAC,MAAA;EAAG,WAAW;EAAa,KAAK,UAAU,CAAC,KAAK,YAAY,CAAC;;GAC3D,WAAW,UAAU,oBAAC,OAAA,EAAI,WAAW,qBAAA,CAA2B;GACjE,oBAAC,UAAA;IACC,MAAK;IACD;IACJ,SAAS;IACT,eAAa;IACb,oBAAkB,YAAY;IAC9B,WAAW;IACX,KAAK;IACL,iBAAe;IACf,OAAO,EACL,QAAQ,YAAY,SAAS,IAAI,QAClC;cAEA,oBAAoB,OAAO;KAC1B;KACA,WAAW,aAAa;KACxB,MAAM,QAAQ,UAAU;KACxB,YAAY;KACZ,aAAa,aAAa,oBAAY;KACtC;KACA;KACD,CAAC;KACK;GACR,eAAe;;GACb,EAAA,CAEN;EAEL;AAIF,IAAM,uBAAuB,YAC3B,MAAM,eAA8B,QAAQ,IAAK,QAA+B,SAAS;AAE3F,MAAa,eAAe,MAAM,YAAY,OAA0B,QAAqC;CAC3G,MAAM,EACJ,UACA,eAAe,MACf,OACA,2BAA2B,OAC3B,QAAQ,SACR,YAAY,IACZ,YAAY,OACZ,QACA,SACA,QACA,eACA,WAAW,UACT;CACJ,MAAM,CAAC,gBAAgB,qBAAqB,UAA0B;CACtE,MAAM,CAAC,gBAAgB,qBAAqB,UAAuB;CACnE,MAAM,iBAAiB,OAAO;CAC9B,MAAM,sBAAsB,WAAW,mBAAmB,kBAAkB,WAAW;GACpF,mBAAmB,2BAA2B,WAAW,YAAY;GACrE,mBAAmB,yBAAyB,YAAY,UAAU,YAAY;GAC9E,gCAAgC;EAClC,CAAC;CAEF,SAAS,oBAAoB,OAAkD,IAAkB;AAC/F,qBAAkB,cAAc,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,GAAG;GAAE,GAAG;IAAY,KAAK,CAAC,YAAY;GAAK,CAAE;AACnH,oBAAkB,MAAM,cAAc;;CAGxC,MAAM,iBAAiB,UAA0B,GAAG,eAAe,GAAG;AAEtE,iBAAgB;AACd,MAAI,aAAa,kBAAkB,CAAC,oBAAoB,eAAe,CACrE,gBAAe,gBAAgB;IAEhC,CAAC,WAAW,eAAe,CAAC;AAE/B,iBAAgB;EACd,MAAM,oBAAoB,MAAM,SAAS,IAAI,WAAU,UAAS;AAC9D,OAAI,oBAAoB,MAAM,CAC5B,QAAO;IAET,EAAE,QAAQ,KAAK,OAAO,UAAU;AAEhC,OAAI,OAAO,MAAM,MAAM,aAAa,YAClC,KAAI,cAAc,MAAM,IAAI,MAAM,MAAM;AAE1C,UAAO;KACN,EAAE,CAAmB;AAExB,oBAAkB;GAAE,GAAG;GAAgB,GAAG;GAAmB,CAAC;IAC7D,CAAC,SAAS,CAAC;AAEd,QACE,oBAAC,MAAA;EAAG,WAAW;EAA0B;EAAK,eAAa;EAAQ,oBAAkB,YAAY;YAC9F,MAAM,SAAS,IAAI,WAAW,OAAO,UAAU;AAC9C,OAAI,oBAAoB,MAAM,EAAE;IAC9B,MAAM,KAAK,cAAc,MAAM;IAC/B,MAAM,WAAW,iBAAiB;IAClC,MAAMC,qBAAyC,MAAM,MAAM,iBAAiB;AAE5E,QAAI,SACF,QACE,oBAAC,sBAAA;KAAwB;KAAgB;KAAS,UAAU,MAAM,MAAM;eACrE,MAAM,aAAa,OAAO;MACzB;MACA,KAAK;MACL;MACA,SAAS;MACT;MACA;MACA,iBAAiB;MACjB,WAAW,mBAAmB;MAC9B,0BAA0B;MAC1B;MACQ;MACR,eAAe;MACf,UAAU;MACX,CAAC;MACe;QAGrB,QAAO,MAAM,aAAa,OAA4C;KACpE;KACA,KAAK;KACL;KACA,SAAS;KACT;KACA;KACA,iBAAiB;KACjB,WAAW,mBAAmB;KAC9B,sBAAsB,UAAyC,oBAAoB,OAAO,GAAG,eAAe,GAAG,QAAQ;KACvH;KACA;KACQ;KACR,eAAe;KAChB,CAAC;;AAGN,UAAO;IACP;GACC;EAEP;AAEF,aAAa,cAAc;AAC3B,aAAa,WAAW;AACxB,SAAS,cAAc;AC5UvB,IAAA,uBD8Ue"}
@@ -5,7 +5,7 @@
5
5
  @import '../../scss/supernova/styles/colors.css';
6
6
 
7
7
  .expander-list {
8
- --statusmarker-left-space: 6px;
8
+ --statusmarker-left-space: 8px;
9
9
 
10
10
  list-style: none;
11
11
  padding: 0;
@@ -46,7 +46,7 @@
46
46
  'statusmarker header' auto
47
47
  'statusmarker content' auto / 6px auto;
48
48
 
49
- --statusmarker-left-space: 0px;
49
+ --statusmarker-left-space: 2px;
50
50
  }
51
51
 
52
52
  &--line {
@@ -155,7 +155,7 @@
155
155
  }
156
156
 
157
157
  &__status-marker {
158
- width: 8px;
158
+ width: 6px;
159
159
  height: 100%;
160
160
  grid-area: statusmarker;
161
161
  background-color: transparent;
@@ -1,5 +1,4 @@
1
1
  import { n as AnalyticsId } from "../../constants2.js";
2
- import "../../Title.js";
3
2
  import { t as Title_default } from "../../Title2.js";
4
3
  import React from "react";
5
4
  import { jsx } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Subtitle: React.FC<SubtitleProps>"],"sources":["../../../src/components/EyebrowHeader/EyebrowHeader.tsx","../../../src/components/EyebrowHeader/index.ts"],"sourcesContent":["import React from 'react';\n\nimport { AnalyticsId } from '../../constants';\nimport Title from '../Title';\n\nimport styles from './styles.module.scss';\n\nexport interface SubtitleProps {\n children?: React.ReactNode;\n}\n\nconst Subtitle: React.FC<SubtitleProps> = props => {\n return <p className={styles.subtitle}>{props.children}</p>;\n};\n\nexport interface EyebrowHeaderProps {\n children?: React.ReactNode;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nexport interface EyebrowHeaderType extends React.FC<EyebrowHeaderProps> {\n Subtitle: typeof Subtitle;\n Title: typeof Title;\n}\n\nconst EyebrowHeader = ((props: EyebrowHeaderProps): React.JSX.Element => (\n <div data-testid={props.testId} data-analyticsid={AnalyticsId.EyebrowHeader}>\n {props.children}\n </div>\n)) as EyebrowHeaderType;\n\nEyebrowHeader.Subtitle = Subtitle;\nEyebrowHeader.Title = Title;\nEyebrowHeader.displayName = 'EyebrowHeader';\n\nexport default EyebrowHeader;\n","import EyebrowHeader from './EyebrowHeader';\nexport * from './EyebrowHeader';\nexport default EyebrowHeader;\n"],"mappings":";;;;;;AAWA,IAAMA,YAAoC,UAAS;AACjD,QAAO,oBAAC,KAAA;EAAE,WAAW,OAAO;YAAW,MAAM;GAAa;;AAc5D,IAAM,kBAAkB,UACtB,oBAAC,OAAA;CAAI,eAAa,MAAM;CAAQ,oBAAkB,YAAY;WAC3D,MAAM;EACH;AAGR,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,cAAc;AChC5B,IAAA,wBDkCe"}
1
+ {"version":3,"file":"index.js","names":["Subtitle: React.FC<SubtitleProps>"],"sources":["../../../src/components/EyebrowHeader/EyebrowHeader.tsx","../../../src/components/EyebrowHeader/index.ts"],"sourcesContent":["import React from 'react';\n\nimport { AnalyticsId } from '../../constants';\nimport Title from '../Title';\n\nimport styles from './styles.module.scss';\n\nexport interface SubtitleProps {\n children?: React.ReactNode;\n}\n\nconst Subtitle: React.FC<SubtitleProps> = props => {\n return <p className={styles.subtitle}>{props.children}</p>;\n};\n\nexport interface EyebrowHeaderProps {\n children?: React.ReactNode;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nexport interface EyebrowHeaderType extends React.FC<EyebrowHeaderProps> {\n Subtitle: typeof Subtitle;\n Title: typeof Title;\n}\n\nconst EyebrowHeader = ((props: EyebrowHeaderProps): React.JSX.Element => (\n <div data-testid={props.testId} data-analyticsid={AnalyticsId.EyebrowHeader}>\n {props.children}\n </div>\n)) as EyebrowHeaderType;\n\nEyebrowHeader.Subtitle = Subtitle;\nEyebrowHeader.Title = Title;\nEyebrowHeader.displayName = 'EyebrowHeader';\n\nexport default EyebrowHeader;\n","import EyebrowHeader from './EyebrowHeader';\nexport * from './EyebrowHeader';\nexport default EyebrowHeader;\n"],"mappings":";;;;;AAWA,IAAMA,YAAoC,UAAS;AACjD,QAAO,oBAAC,KAAA;EAAE,WAAW,OAAO;YAAW,MAAM;GAAa;;AAc5D,IAAM,kBAAkB,UACtB,oBAAC,OAAA;CAAI,eAAa,MAAM;CAAQ,oBAAkB,YAAY;WAC3D,MAAM;EACH;AAGR,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,cAAc;AChC5B,IAAA,wBDkCe"}
@@ -1,6 +1,5 @@
1
1
  import { n as AnalyticsId, s as LanguageLocales } from "../../constants2.js";
2
2
  import { t as usePseudoClasses } from "../../usePseudoClasses.js";
3
- import "../../grid.js";
4
3
  import { t as isMutableRefObject } from "../../refs.js";
5
4
  import { r as useLanguage } from "../../language.js";
6
5
  import { n as useBreakpoint, t as Breakpoint } from "../../useBreakpoint.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["mergedResources: HNDesignsystemFavoriteButton"],"sources":["../../../src/resources/HN.Designsystem.FavoriteButton.nb-NO.json","../../../src/components/FavoriteButton/resourceHelper.ts","../../../src/components/FavoriteButton/StarIcon.tsx","../../../src/components/FavoriteButton/FavoriteButton.tsx","../../../src/components/FavoriteButton/index.ts"],"sourcesContent":["{\n \"ariaLabel\": \"Favorittmarkering\"\n}\n","import { LanguageLocales } from '../../constants';\nimport nbNO from '../../resources/HN.Designsystem.FavoriteButton.nb-NO.json';\nimport { HNDesignsystemFavoriteButton } from '../../resources/Resources';\n\nexport const getResources = (language: LanguageLocales): HNDesignsystemFavoriteButton => {\n switch (language) {\n case LanguageLocales.NORWEGIAN:\n default:\n return nbNO;\n }\n};\n","import styles from './styles.module.scss';\n\nconst normalStroke = 'var(--color-action-graphics-onlight)';\nconst normalFill = 'transparent';\nconst hoverFill = 'var(--color-action-graphics-onlight-hover)';\nconst hoverStroke = 'var(--color-action-graphics-onlight-hover)';\nconst activeStroke = 'var(--core-color-blueberry-800)';\n\nconst fillColor = (isChecked: boolean, isActive: boolean, isHovered: boolean): string => {\n if (isChecked) {\n if (isActive) {\n return activeStroke;\n } else {\n if (isHovered) {\n return hoverStroke;\n } else {\n return normalStroke;\n }\n }\n } else {\n if (isHovered) {\n return hoverFill;\n } else {\n return normalFill;\n }\n }\n};\n\nconst strokeColor = (isActive: boolean, isHovered: boolean): string => {\n if (isActive) {\n return activeStroke;\n } else {\n if (isHovered) {\n return hoverStroke;\n } else {\n return normalStroke;\n }\n }\n};\n\nexport const starIconNormalMobile = (isChecked: boolean, isActive: boolean): React.JSX.Element => {\n return (\n <>\n <path\n d=\"M20.1026 31.1787L13.4007 34.7023C10.833 36.0523 7.83185 33.8719 8.32233 31.0126L9.60261 23.5492L4.17653 18.2675C2.09656 16.2428 3.24317 12.712 6.11581 12.2956L13.5982 11.2112L16.9493 4.42107C18.2332 1.81969 21.9426 1.81969 23.2265 4.42107L26.5776 11.2112L34.06 12.2956C36.9326 12.712 38.0792 16.2428 35.9993 18.2675L30.5732 23.5492L31.852 31.0044C32.3428 33.8651 29.3386 36.0456 26.7708 34.6925L20.1026 31.1787Z\"\n stroke=\"black\"\n fill=\"transparent\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n className={styles['favoritebutton__star-icon--focus']}\n display=\"block\"\n />\n <path\n d=\"M20.0961 26.5515L12.6372 30.4731L14.0621 22.1671L8.01953 16.2853L16.3582 15.0768L20.0877 7.52002L23.8171 15.0768L32.1558 16.2853L26.1133 22.1671L27.5381 30.4731L20.0961 26.5515Z\"\n stroke={strokeColor(isActive, false)}\n fill={fillColor(isChecked, isActive, false)}\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </>\n );\n};\n\nexport const starIconHoverMobile = (isChecked: boolean, isActive: boolean): React.JSX.Element => (\n <>\n <path\n d=\"M22.2128 31.4832L16.2246 36.117C13.9303 37.8924 10.5961 36.2662 10.5826 33.3653L10.5475 25.7929L4.28665 21.5336C1.88672 19.9009 2.40278 16.2246 5.15948 15.3158L12.3399 12.9486L14.461 5.67964C15.2736 2.89484 18.9267 2.2507 20.6428 4.58962L25.1221 10.6947L32.6791 10.4633C35.5804 10.3745 37.3227 13.6526 35.6259 16.0077L31.1994 22.1514L33.7534 29.2712C34.7335 32.0033 32.1536 34.6724 29.3898 33.7857L22.2128 31.4832Z\"\n stroke=\"black\"\n fill=\"transparent\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n className={styles['favoritebutton__star-icon--focus']}\n />\n <path\n d=\"M21.4079 26.8365L14.7433 31.9937L14.7041 23.5664L7.73204 18.8233L15.7342 16.1851L18.0947 8.09555L23.0798 14.8899L31.5016 14.6321L26.5722 21.4738L29.4178 29.4062L21.4079 26.8365Z\"\n stroke={strokeColor(isActive, true)}\n fill={fillColor(isChecked, isActive, true)}\n fillOpacity={isChecked ? '1' : '0.13'}\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </>\n);\nexport const starIconNormalDesktop = (isChecked: boolean, isActive: boolean): React.JSX.Element => (\n <>\n <path\n d=\"M30.1061 44.1854L20.3139 49.3338C17.7461 50.6838 14.745 48.5034 15.2355 45.6441L17.1061 34.7394L9.17653 27.0207C7.09656 24.9961 8.24318 21.4653 11.1158 21.0489L22.053 19.4638L26.9493 9.54278C28.2331 6.9414 31.9426 6.94139 33.2265 9.54278L38.1227 19.4638L49.06 21.0489C51.9326 21.4653 53.0792 24.9961 50.9993 27.0207L43.0697 34.7394L44.9389 45.6359C45.4296 48.4966 42.4254 50.6772 39.8576 49.324L30.1061 44.1854Z\"\n stroke=\"black\"\n fill=\"transparent\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n className={styles['favoritebutton__star-icon--focus']}\n />\n <path\n d=\"M30.0998 39.4723L19.5927 44.9966L21.5998 33.2961L13.0879 25.0106L24.8343 23.3082L30.0879 12.6632L35.3414 23.3082L47.0879 25.0106L38.576 33.2961L40.5831 44.9966L30.0998 39.4723Z\"\n stroke={strokeColor(isActive, false)}\n fill={fillColor(isChecked, isActive, false)}\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </>\n);\n\nexport const starIconHoverDesktop = (isChecked: boolean, isActive: boolean): React.JSX.Element => (\n <>\n <path\n d=\"M33.1609 44.7458L24.4114 51.5164C22.1171 53.2918 18.783 51.6656 18.7695 48.7646L18.7181 37.7007L9.56864 31.4763C7.1687 29.8436 7.68476 26.1672 10.4415 25.2584L20.9373 21.7982L24.0364 11.1776C24.849 8.39281 28.5021 7.74867 30.2182 10.0876L36.7629 19.0077L47.8092 18.6695C50.7105 18.5807 52.4528 21.8588 50.756 24.2138L44.2872 33.1922L48.0201 43.5985C49.0002 46.3306 46.4203 48.9997 43.6565 48.113L33.1609 44.7458Z\"\n stroke=\"black\"\n fill=\"transparent\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n className={styles['favoritebutton__star-icon--focus']}\n />\n <path\n d=\"M32.3991 40.1029L23.0108 47.3678L22.9557 35.4965L13.1343 28.815L24.4067 25.0987L27.732 13.7031L34.7542 23.2741L46.6178 22.9109L39.674 32.5486L43.6823 43.7228L32.3991 40.1029Z\"\n stroke={strokeColor(isActive, true)}\n fill={fillColor(isChecked, isActive, true)}\n fillOpacity={isChecked ? '1' : '0.13'}\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </>\n);\n","import React, { AriaAttributes } from 'react';\n\nimport classNames from 'classnames';\n\nimport { getResources } from './resourceHelper';\nimport { starIconHoverDesktop, starIconHoverMobile, starIconNormalDesktop, starIconNormalMobile } from './StarIcon';\nimport { AnalyticsId, HTMLButtonProps, LanguageLocales } from '../../constants';\nimport { Breakpoint, useBreakpoint } from '../../hooks/useBreakpoint';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { HNDesignsystemFavoriteButton } from '../../resources/Resources';\nimport { useLanguage } from '../../utils/language';\nimport { isMutableRefObject } from '../../utils/refs';\n\nimport styles from './styles.module.scss';\n\nexport interface FavoriteButtonProps extends Omit<HTMLButtonProps, 'type'>, AriaAttributes {\n /** Determines if the FavoriteButton is checked */\n checked: boolean;\n /** Gives a unique id to the button */\n id?: string;\n /** Function that is called when clicked */\n onClick: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n /** Resources for component */\n resources?: Partial<HNDesignsystemFavoriteButton>;\n /** Specifies the focus order relative to the other buttons or controls on the page */\n tabIndex?: number;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nexport const FavoriteButton = React.forwardRef(function FavoriteButtonForwardedRef(\n props: FavoriteButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n) {\n const { checked, id, onClick, resources, tabIndex, testId, ...other } = props;\n\n const buttonWrapperClasses = classNames(styles.favoritebutton);\n const { refObject, isHovered, isActive } = usePseudoClasses<HTMLButtonElement>(isMutableRefObject(ref) ? ref : null);\n const breakpoint = useBreakpoint();\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n const defaultResources = getResources(language);\n\n const mergedResources: HNDesignsystemFavoriteButton = {\n ...defaultResources,\n ...resources,\n ariaLabel: other['aria-label'] || resources?.ariaLabel || defaultResources.ariaLabel,\n };\n\n const isMobile = breakpoint <= Breakpoint.sm;\n\n const starIcon = ((): React.JSX.Element => {\n if (isMobile) {\n if (isHovered) {\n return starIconHoverMobile(checked, isActive);\n } else {\n return starIconNormalMobile(checked, isActive);\n }\n } else {\n if (isHovered) {\n return starIconHoverDesktop(checked, isActive);\n } else {\n return starIconNormalDesktop(checked, isActive);\n }\n }\n })();\n\n return (\n <button\n id={id}\n onClick={onClick}\n data-testid={testId}\n data-analyticsid={AnalyticsId.FavoriteButton}\n className={buttonWrapperClasses}\n ref={refObject}\n tabIndex={tabIndex}\n role=\"switch\"\n aria-checked={checked}\n type=\"button\"\n aria-label={mergedResources.ariaLabel}\n {...other}\n >\n <svg focusable={false} overflow=\"visible\" role=\"presentation\" viewBox={isMobile ? '0 0 41 41' : '0 0 61 61'}>\n {starIcon}\n </svg>\n </button>\n );\n});\n\nFavoriteButton.displayName = 'FavoriteButton';\n\nexport default FavoriteButton;\n","export * from './FavoriteButton';\n\nimport { FavoriteButton } from './FavoriteButton';\nexport default FavoriteButton;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["mergedResources: HNDesignsystemFavoriteButton"],"sources":["../../../src/resources/HN.Designsystem.FavoriteButton.nb-NO.json","../../../src/components/FavoriteButton/resourceHelper.ts","../../../src/components/FavoriteButton/StarIcon.tsx","../../../src/components/FavoriteButton/FavoriteButton.tsx","../../../src/components/FavoriteButton/index.ts"],"sourcesContent":["{\n \"ariaLabel\": \"Favorittmarkering\"\n}\n","import { LanguageLocales } from '../../constants';\nimport nbNO from '../../resources/HN.Designsystem.FavoriteButton.nb-NO.json';\nimport { HNDesignsystemFavoriteButton } from '../../resources/Resources';\n\nexport const getResources = (language: LanguageLocales): HNDesignsystemFavoriteButton => {\n switch (language) {\n case LanguageLocales.NORWEGIAN:\n default:\n return nbNO;\n }\n};\n","import styles from './styles.module.scss';\n\nconst normalStroke = 'var(--color-action-graphics-onlight)';\nconst normalFill = 'transparent';\nconst hoverFill = 'var(--color-action-graphics-onlight-hover)';\nconst hoverStroke = 'var(--color-action-graphics-onlight-hover)';\nconst activeStroke = 'var(--core-color-blueberry-800)';\n\nconst fillColor = (isChecked: boolean, isActive: boolean, isHovered: boolean): string => {\n if (isChecked) {\n if (isActive) {\n return activeStroke;\n } else {\n if (isHovered) {\n return hoverStroke;\n } else {\n return normalStroke;\n }\n }\n } else {\n if (isHovered) {\n return hoverFill;\n } else {\n return normalFill;\n }\n }\n};\n\nconst strokeColor = (isActive: boolean, isHovered: boolean): string => {\n if (isActive) {\n return activeStroke;\n } else {\n if (isHovered) {\n return hoverStroke;\n } else {\n return normalStroke;\n }\n }\n};\n\nexport const starIconNormalMobile = (isChecked: boolean, isActive: boolean): React.JSX.Element => {\n return (\n <>\n <path\n d=\"M20.1026 31.1787L13.4007 34.7023C10.833 36.0523 7.83185 33.8719 8.32233 31.0126L9.60261 23.5492L4.17653 18.2675C2.09656 16.2428 3.24317 12.712 6.11581 12.2956L13.5982 11.2112L16.9493 4.42107C18.2332 1.81969 21.9426 1.81969 23.2265 4.42107L26.5776 11.2112L34.06 12.2956C36.9326 12.712 38.0792 16.2428 35.9993 18.2675L30.5732 23.5492L31.852 31.0044C32.3428 33.8651 29.3386 36.0456 26.7708 34.6925L20.1026 31.1787Z\"\n stroke=\"black\"\n fill=\"transparent\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n className={styles['favoritebutton__star-icon--focus']}\n display=\"block\"\n />\n <path\n d=\"M20.0961 26.5515L12.6372 30.4731L14.0621 22.1671L8.01953 16.2853L16.3582 15.0768L20.0877 7.52002L23.8171 15.0768L32.1558 16.2853L26.1133 22.1671L27.5381 30.4731L20.0961 26.5515Z\"\n stroke={strokeColor(isActive, false)}\n fill={fillColor(isChecked, isActive, false)}\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </>\n );\n};\n\nexport const starIconHoverMobile = (isChecked: boolean, isActive: boolean): React.JSX.Element => (\n <>\n <path\n d=\"M22.2128 31.4832L16.2246 36.117C13.9303 37.8924 10.5961 36.2662 10.5826 33.3653L10.5475 25.7929L4.28665 21.5336C1.88672 19.9009 2.40278 16.2246 5.15948 15.3158L12.3399 12.9486L14.461 5.67964C15.2736 2.89484 18.9267 2.2507 20.6428 4.58962L25.1221 10.6947L32.6791 10.4633C35.5804 10.3745 37.3227 13.6526 35.6259 16.0077L31.1994 22.1514L33.7534 29.2712C34.7335 32.0033 32.1536 34.6724 29.3898 33.7857L22.2128 31.4832Z\"\n stroke=\"black\"\n fill=\"transparent\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n className={styles['favoritebutton__star-icon--focus']}\n />\n <path\n d=\"M21.4079 26.8365L14.7433 31.9937L14.7041 23.5664L7.73204 18.8233L15.7342 16.1851L18.0947 8.09555L23.0798 14.8899L31.5016 14.6321L26.5722 21.4738L29.4178 29.4062L21.4079 26.8365Z\"\n stroke={strokeColor(isActive, true)}\n fill={fillColor(isChecked, isActive, true)}\n fillOpacity={isChecked ? '1' : '0.13'}\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </>\n);\nexport const starIconNormalDesktop = (isChecked: boolean, isActive: boolean): React.JSX.Element => (\n <>\n <path\n d=\"M30.1061 44.1854L20.3139 49.3338C17.7461 50.6838 14.745 48.5034 15.2355 45.6441L17.1061 34.7394L9.17653 27.0207C7.09656 24.9961 8.24318 21.4653 11.1158 21.0489L22.053 19.4638L26.9493 9.54278C28.2331 6.9414 31.9426 6.94139 33.2265 9.54278L38.1227 19.4638L49.06 21.0489C51.9326 21.4653 53.0792 24.9961 50.9993 27.0207L43.0697 34.7394L44.9389 45.6359C45.4296 48.4966 42.4254 50.6772 39.8576 49.324L30.1061 44.1854Z\"\n stroke=\"black\"\n fill=\"transparent\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n className={styles['favoritebutton__star-icon--focus']}\n />\n <path\n d=\"M30.0998 39.4723L19.5927 44.9966L21.5998 33.2961L13.0879 25.0106L24.8343 23.3082L30.0879 12.6632L35.3414 23.3082L47.0879 25.0106L38.576 33.2961L40.5831 44.9966L30.0998 39.4723Z\"\n stroke={strokeColor(isActive, false)}\n fill={fillColor(isChecked, isActive, false)}\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </>\n);\n\nexport const starIconHoverDesktop = (isChecked: boolean, isActive: boolean): React.JSX.Element => (\n <>\n <path\n d=\"M33.1609 44.7458L24.4114 51.5164C22.1171 53.2918 18.783 51.6656 18.7695 48.7646L18.7181 37.7007L9.56864 31.4763C7.1687 29.8436 7.68476 26.1672 10.4415 25.2584L20.9373 21.7982L24.0364 11.1776C24.849 8.39281 28.5021 7.74867 30.2182 10.0876L36.7629 19.0077L47.8092 18.6695C50.7105 18.5807 52.4528 21.8588 50.756 24.2138L44.2872 33.1922L48.0201 43.5985C49.0002 46.3306 46.4203 48.9997 43.6565 48.113L33.1609 44.7458Z\"\n stroke=\"black\"\n fill=\"transparent\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n className={styles['favoritebutton__star-icon--focus']}\n />\n <path\n d=\"M32.3991 40.1029L23.0108 47.3678L22.9557 35.4965L13.1343 28.815L24.4067 25.0987L27.732 13.7031L34.7542 23.2741L46.6178 22.9109L39.674 32.5486L43.6823 43.7228L32.3991 40.1029Z\"\n stroke={strokeColor(isActive, true)}\n fill={fillColor(isChecked, isActive, true)}\n fillOpacity={isChecked ? '1' : '0.13'}\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </>\n);\n","import React, { AriaAttributes } from 'react';\n\nimport classNames from 'classnames';\n\nimport { getResources } from './resourceHelper';\nimport { starIconHoverDesktop, starIconHoverMobile, starIconNormalDesktop, starIconNormalMobile } from './StarIcon';\nimport { AnalyticsId, HTMLButtonProps, LanguageLocales } from '../../constants';\nimport { Breakpoint, useBreakpoint } from '../../hooks/useBreakpoint';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { HNDesignsystemFavoriteButton } from '../../resources/Resources';\nimport { useLanguage } from '../../utils/language';\nimport { isMutableRefObject } from '../../utils/refs';\n\nimport styles from './styles.module.scss';\n\nexport interface FavoriteButtonProps extends Omit<HTMLButtonProps, 'type'>, AriaAttributes {\n /** Determines if the FavoriteButton is checked */\n checked: boolean;\n /** Gives a unique id to the button */\n id?: string;\n /** Function that is called when clicked */\n onClick: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n /** Resources for component */\n resources?: Partial<HNDesignsystemFavoriteButton>;\n /** Specifies the focus order relative to the other buttons or controls on the page */\n tabIndex?: number;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nexport const FavoriteButton = React.forwardRef(function FavoriteButtonForwardedRef(\n props: FavoriteButtonProps,\n ref: React.ForwardedRef<HTMLButtonElement>\n) {\n const { checked, id, onClick, resources, tabIndex, testId, ...other } = props;\n\n const buttonWrapperClasses = classNames(styles.favoritebutton);\n const { refObject, isHovered, isActive } = usePseudoClasses<HTMLButtonElement>(isMutableRefObject(ref) ? ref : null);\n const breakpoint = useBreakpoint();\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n const defaultResources = getResources(language);\n\n const mergedResources: HNDesignsystemFavoriteButton = {\n ...defaultResources,\n ...resources,\n ariaLabel: other['aria-label'] || resources?.ariaLabel || defaultResources.ariaLabel,\n };\n\n const isMobile = breakpoint <= Breakpoint.sm;\n\n const starIcon = ((): React.JSX.Element => {\n if (isMobile) {\n if (isHovered) {\n return starIconHoverMobile(checked, isActive);\n } else {\n return starIconNormalMobile(checked, isActive);\n }\n } else {\n if (isHovered) {\n return starIconHoverDesktop(checked, isActive);\n } else {\n return starIconNormalDesktop(checked, isActive);\n }\n }\n })();\n\n return (\n <button\n id={id}\n onClick={onClick}\n data-testid={testId}\n data-analyticsid={AnalyticsId.FavoriteButton}\n className={buttonWrapperClasses}\n ref={refObject}\n tabIndex={tabIndex}\n role=\"switch\"\n aria-checked={checked}\n type=\"button\"\n aria-label={mergedResources.ariaLabel}\n {...other}\n >\n <svg focusable={false} overflow=\"visible\" role=\"presentation\" viewBox={isMobile ? '0 0 41 41' : '0 0 61 61'}>\n {starIcon}\n </svg>\n </button>\n );\n});\n\nFavoriteButton.displayName = 'FavoriteButton';\n\nexport default FavoriteButton;\n","export * from './FavoriteButton';\n\nimport { FavoriteButton } from './FavoriteButton';\nexport default FavoriteButton;\n"],"mappings":"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"}
@@ -1,4 +1,2 @@
1
- import "../../constants2.js";
2
- import "../../language.js";
3
1
  import { t as FormFieldTag_default } from "../../FormFieldTag.js";
4
2
  export { FormFieldTag_default as default };
@@ -1,5 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { FormOnColor, FormSize } from '../../constants';
3
+ import { TitleTags } from '../Title';
3
4
  export type FormGroupTags = 'fieldset' | 'div';
4
5
  export interface FormGroupProps {
5
6
  /** Can be used as a replacement text for legend in cases where the group title already exists externally */
@@ -38,6 +39,10 @@ export interface FormGroupProps {
38
39
  fieldsetName?: string;
39
40
  /** Sets div instead of fieldset tag */
40
41
  htmlMarkup?: FormGroupTags;
42
+ /** Markup for legend if formgroup htmlMarkup is div*/
43
+ legendHtmlMarkup?: TitleTags;
44
+ /** Markup for title */
45
+ titleHtmlMarkup?: TitleTags;
41
46
  /** Renders the error component (Default: true) */
42
47
  renderError?: boolean;
43
48
  }
@@ -1,58 +1,3 @@
1
- import "../../uuid.js";
2
- import "../../environment.js";
3
- import "../../constants2.js";
4
- import "../../usePseudoClasses.js";
5
- import "../../grid.js";
6
- import "../../palette.js";
7
- import "../../spacers.js";
8
- import "../../theme.js";
9
- import "../../color.js";
10
- import "../../spacing.js";
11
- import "../../currys.js";
12
- import "../../refs.js";
13
- import "../../Icon.js";
14
- import "../../language.js";
15
- import "../../Check.js";
16
- import "../../_rolldown_dynamic_import_helper.js";
17
- import "../../useIsServerSide.js";
18
- import "../../LazyIcon.js";
19
- import "../../component.js";
20
- import "../../useBreakpoint.js";
21
- import "../../useIdWithFallback.js";
22
- import "../../accessibility.js";
23
- import "../../ErrorWrapper.js";
24
- import "../../Spacer.js";
25
- import "../../Label.js";
26
- import "../../FormFieldTag.js";
27
- import "../../useElementList.js";
28
- import "../../useFocusableElements.js";
29
- import "../../useFocusToggle.js";
30
- import "../../focus.js";
31
- import "../../useFocusTrap.js";
32
- import "../../useIntersectionObserver.js";
33
- import "../../useIsVisible.js";
34
- import "../../debounce.js";
35
- import "../../useLayoutEvent.js";
36
- import "../../usePrevious.js";
37
- import "../../useSize.js";
38
- import "../../useResizeObserver.js";
39
- import "../../useToggle.js";
40
- import "../../useKeyboardEvent.js";
41
- import "../../useOutsideEvent.js";
42
- import "../../mobile.js";
43
- import "../../src.js";
44
- import "../../StatusDot.js";
45
- import "../../Checkbox.js";
46
- import "../../Title.js";
47
- import "../../Title2.js";
48
- import "../../ChevronDown.js";
49
- import "../../FormLayout.js";
50
- import "../../Input.js";
51
- import "../../MaxCharacters.js";
52
- import "../../RadioButton.js";
53
- import "../../Select.js";
54
- import "../../Slider.js";
55
- import "../../Textarea.js";
56
1
  import { n as FormGroup_default$1, t as FormGroup } from "../../FormGroup.js";
57
2
  var FormGroup_default = FormGroup_default$1;
58
3
  export { FormGroup, FormGroup_default as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/FormGroup/index.ts"],"sourcesContent":["import FormGroup from './FormGroup';\nexport * from './FormGroup';\nexport default FormGroup;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAA,oBAAe"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/FormGroup/index.ts"],"sourcesContent":["import FormGroup from './FormGroup';\nexport * from './FormGroup';\nexport default FormGroup;\n"],"mappings":";AAEA,IAAA,oBAAe"}
@@ -1,3 +1,2 @@
1
- import "../../constants2.js";
2
1
  import { n as FormLayout, r as FormLayoutColumns, t as FormLayout_default } from "../../FormLayout.js";
3
2
  export { FormLayout, FormLayoutColumns, FormLayout_default as default };
@@ -1,24 +1,7 @@
1
1
  import { n as AnalyticsId, s as LanguageLocales } from "../../constants2.js";
2
- import "../../usePseudoClasses.js";
3
- import "../../grid.js";
4
- import "../../palette.js";
5
- import "../../spacers.js";
6
- import "../../theme.js";
7
- import "../../color.js";
8
- import "../../spacing.js";
9
- import "../../currys.js";
10
- import "../../refs.js";
11
- import "../../AsChildSlot.js";
12
- import "../../Icon.js";
13
- import "../../ArrowUpRight.js";
14
2
  import { t as AnchorLink_default } from "../../AnchorLink.js";
15
3
  import { r as useLanguage } from "../../language.js";
16
- import "../../useBreakpoint.js";
17
- import "../../useIsMobileBreakpoint.js";
18
- import "../../accessibility.js";
19
- import "../../X.js";
20
4
  import { t as Close_default } from "../../Close.js";
21
- import "../../floating-ui.react.js";
22
5
  import { n as PopOverVariant, t as PopOver_default } from "../../PopOver.js";
23
6
  import React from "react";
24
7
  import classNames from "classnames";
@@ -73,17 +56,17 @@ var HelpBubble = React.forwardRef((props, ref) => {
73
56
  id: helpBubbleId,
74
57
  variant,
75
58
  controllerRef,
76
- role: "dialog",
59
+ role: "group",
77
60
  ref,
78
61
  show: showBubble,
79
62
  testId,
80
63
  children: /* @__PURE__ */ jsxs("div", {
81
64
  className: helpBubbleClasses,
82
65
  "data-analyticsid": AnalyticsId.HelpBubble,
83
- children: [renderCloseButton(), /* @__PURE__ */ jsxs("div", {
66
+ children: [/* @__PURE__ */ jsxs("div", {
84
67
  className: contentClasses,
85
68
  children: [children, renderLink()]
86
- })]
69
+ }), renderCloseButton()]
87
70
  })
88
71
  });
89
72
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["mergedResources: HNDesignsystemHelpBubble"],"sources":["../../../src/resources/HN.Designsystem.HelpBubble.nb-NO.json","../../../src/components/HelpBubble/resourceHelper.ts","../../../src/components/HelpBubble/HelpBubble.tsx","../../../src/components/HelpBubble/index.ts"],"sourcesContent":["{\n \"ariaLabel\": \"Hjelpetekst\"\n}\n","import { LanguageLocales } from '../../constants';\nimport nbNO from '../../resources/HN.Designsystem.HelpBubble.nb-NO.json';\nimport { HNDesignsystemHelpBubble } from '../../resources/Resources';\n\nexport const getResources = (language: LanguageLocales): HNDesignsystemHelpBubble => {\n switch (language) {\n case LanguageLocales.NORWEGIAN:\n default:\n return nbNO;\n }\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, LanguageLocales } from '../../constants';\nimport { HNDesignsystemHelpBubble } from '../../resources/Resources';\nimport { useLanguage } from '../../utils/language';\nimport AnchorLink, { AnchorLinkTargets } from '../AnchorLink';\nimport Close from '../Close';\nimport PopOver, { PopOverProps, PopOverVariant } from '../PopOver';\nimport { getResources } from './resourceHelper';\n\nimport styles from './styles.module.scss';\n\nexport const HelpBubbleVariant = PopOverVariant;\n\nexport interface HelpBubbleProps extends Pick<PopOverProps, 'children' | 'variant' | 'controllerRef' | 'role'> {\n /** Sets aria-label of the bubble. */\n ariaLabel?: string;\n /** Sets aria-labelledby of the bubble. */\n ariaLabelledById?: string;\n /** Id of the HelpBubble */\n helpBubbleId?: string;\n /** Content shown inside HelpBubble. */\n children: React.ReactNode;\n /** Ref for the element the HelpBubble is placed upon */\n controllerRef: React.RefObject<HTMLElement | SVGSVGElement>;\n /** Adds custom classes to the element. */\n className?: string;\n /** Determines the placement of the helpbubble. Default: automatic positioning. */\n variant?: keyof typeof HelpBubbleVariant;\n /** Show the bubble. Default: false. */\n showBubble?: boolean;\n /** Hide the close button in the bubble. */\n noCloseButton?: boolean;\n /** Visible text on the link. */\n linkText?: string;\n /** Url the link leads to */\n linkUrl?: string;\n /** Sets the target type of the link. _blank adds an arrow icon at the end of the link */\n linkTarget?: AnchorLinkTargets;\n /** Function is called when link is clicked */\n onLinkClick?: () => void;\n /** Function is called when user clicks the button */\n onClose?: () => void;\n /** aria-label to be passed onto Close */\n closeAriaLabel?: string;\n /** Resources for the component */\n resources?: Partial<HNDesignsystemHelpBubble>;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst HelpBubble = React.forwardRef<HTMLDivElement | SVGSVGElement, HelpBubbleProps>((props, ref) => {\n const {\n ariaLabelledById,\n children,\n className = '',\n noCloseButton,\n linkText = 'Mer hjelp',\n linkUrl,\n linkTarget,\n onLinkClick,\n onClose,\n closeAriaLabel,\n // Props passed on to PopOver\n showBubble,\n helpBubbleId,\n variant,\n controllerRef,\n resources,\n testId,\n } = props;\n\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n\n if (!showBubble) {\n return null;\n }\n\n const defaultResources = getResources(language);\n const mergedResources: HNDesignsystemHelpBubble = {\n ...defaultResources,\n ...resources,\n ariaLabel: props.ariaLabel ?? resources?.ariaLabel ?? defaultResources.ariaLabel,\n };\n\n const helpBubbleClasses = classNames(styles.helpbubble, className);\n const contentClasses = classNames(styles.helpbubble__content);\n\n const renderLink = (): JSX.Element | undefined => {\n if (onLinkClick && linkText) {\n return (\n <button className={styles.helpbubble__link} onClick={onLinkClick} type=\"button\">\n {linkText}\n </button>\n );\n } else if (linkUrl && linkText) {\n return (\n <AnchorLink href={linkUrl} target={linkTarget}>\n {linkText}\n </AnchorLink>\n );\n }\n };\n\n const renderCloseButton = (): JSX.Element | undefined => {\n if (noCloseButton) {\n return;\n }\n return <Close small color=\"plum\" onClick={onClose} ariaLabel={closeAriaLabel} className={styles.helpbubble__close} />;\n };\n\n return (\n <PopOver\n ariaLabel={mergedResources.ariaLabel}\n ariaLabelledById={ariaLabelledById}\n id={helpBubbleId}\n variant={variant}\n controllerRef={controllerRef}\n role=\"dialog\"\n ref={ref}\n show={showBubble}\n testId={testId}\n >\n <div className={helpBubbleClasses} data-analyticsid={AnalyticsId.HelpBubble}>\n {renderCloseButton()}\n <div className={contentClasses}>\n {children}\n {renderLink()}\n </div>\n </div>\n </PopOver>\n );\n});\n\nHelpBubble.displayName = 'HelpBubble';\n\nexport default HelpBubble;\n","import HelpBubble from './HelpBubble';\nexport * from './HelpBubble';\nexport default HelpBubble;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;ACIA,MAAa,gBAAgB,aAAwD;AACnF,SAAQ,UAAR;EACE,KAAK,gBAAgB;EACrB,QACE,QAAO;;;ACMb,MAAa,oBAAoB;AAuCjC,IAAM,aAAa,MAAM,YAA6D,OAAO,QAAQ;CACnG,MAAM,EACJ,kBACA,UACA,YAAY,IACZ,eACA,WAAW,aACX,SACA,YACA,aACA,SACA,gBAEA,YACA,cACA,SACA,eACA,WACA,WACE;CAEJ,MAAM,EAAE,aAAa,YAA6B,gBAAgB,UAAU;AAE5E,KAAI,CAAC,WACH,QAAO;CAGT,MAAM,mBAAmB,aAAa,SAAS;CAC/C,MAAMA,kBAA4C;EAChD,GAAG;EACH,GAAG;EACH,WAAW,MAAM,aAAa,WAAW,aAAa,iBAAiB;EACxE;CAED,MAAM,oBAAoB,WAAW,OAAO,YAAY,UAAU;CAClE,MAAM,iBAAiB,WAAW,OAAO,oBAAoB;CAE7D,MAAM,mBAA4C;AAChD,MAAI,eAAe,SACjB,QACE,oBAAC,UAAA;GAAO,WAAW,OAAO;GAAkB,SAAS;GAAa,MAAK;aACpE;IACM;WAEF,WAAW,SACpB,QACE,oBAAC,oBAAA;GAAW,MAAM;GAAS,QAAQ;aAChC;IACU;;CAKnB,MAAM,0BAAmD;AACvD,MAAI,cACF;AAEF,SAAO,oBAAC,eAAA;GAAM,OAAA;GAAM,OAAM;GAAO,SAAS;GAAS,WAAW;GAAgB,WAAW,OAAO;IAAqB;;AAGvH,QACE,oBAAC,iBAAA;EACC,WAAW,gBAAgB;EACT;EAClB,IAAI;EACK;EACM;EACf,MAAK;EACA;EACL,MAAM;EACE;YAER,qBAAC,OAAA;GAAI,WAAW;GAAmB,oBAAkB,YAAY;cAC9D,mBAAmB,EACpB,qBAAC,OAAA;IAAI,WAAW;eACb,UACA,YAAY,CAAA;KACT,CAAA;IACF;GACE;EAEZ;AAEF,WAAW,cAAc;ACtIzB,IAAA,qBDwIe"}
1
+ {"version":3,"file":"index.js","names":["mergedResources: HNDesignsystemHelpBubble"],"sources":["../../../src/resources/HN.Designsystem.HelpBubble.nb-NO.json","../../../src/components/HelpBubble/resourceHelper.ts","../../../src/components/HelpBubble/HelpBubble.tsx","../../../src/components/HelpBubble/index.ts"],"sourcesContent":["{\n \"ariaLabel\": \"Hjelpetekst\"\n}\n","import { LanguageLocales } from '../../constants';\nimport nbNO from '../../resources/HN.Designsystem.HelpBubble.nb-NO.json';\nimport { HNDesignsystemHelpBubble } from '../../resources/Resources';\n\nexport const getResources = (language: LanguageLocales): HNDesignsystemHelpBubble => {\n switch (language) {\n case LanguageLocales.NORWEGIAN:\n default:\n return nbNO;\n }\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, LanguageLocales } from '../../constants';\nimport { HNDesignsystemHelpBubble } from '../../resources/Resources';\nimport { useLanguage } from '../../utils/language';\nimport AnchorLink, { AnchorLinkTargets } from '../AnchorLink';\nimport Close from '../Close';\nimport PopOver, { PopOverProps, PopOverVariant } from '../PopOver';\nimport { getResources } from './resourceHelper';\n\nimport styles from './styles.module.scss';\n\nexport const HelpBubbleVariant = PopOverVariant;\n\nexport interface HelpBubbleProps extends Pick<PopOverProps, 'children' | 'variant' | 'controllerRef' | 'role'> {\n /** Sets aria-label of the bubble. */\n ariaLabel?: string;\n /** Sets aria-labelledby of the bubble. */\n ariaLabelledById?: string;\n /** Id of the HelpBubble */\n helpBubbleId?: string;\n /** Content shown inside HelpBubble. */\n children: React.ReactNode;\n /** Ref for the element the HelpBubble is placed upon */\n controllerRef: React.RefObject<HTMLElement | SVGSVGElement>;\n /** Adds custom classes to the element. */\n className?: string;\n /** Determines the placement of the helpbubble. Default: automatic positioning. */\n variant?: keyof typeof HelpBubbleVariant;\n /** Show the bubble. Default: false. */\n showBubble?: boolean;\n /** Hide the close button in the bubble. */\n noCloseButton?: boolean;\n /** Visible text on the link. */\n linkText?: string;\n /** Url the link leads to */\n linkUrl?: string;\n /** Sets the target type of the link. _blank adds an arrow icon at the end of the link */\n linkTarget?: AnchorLinkTargets;\n /** Function is called when link is clicked */\n onLinkClick?: () => void;\n /** Function is called when user clicks the button */\n onClose?: () => void;\n /** aria-label to be passed onto Close */\n closeAriaLabel?: string;\n /** Resources for the component */\n resources?: Partial<HNDesignsystemHelpBubble>;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst HelpBubble = React.forwardRef<HTMLDivElement | SVGSVGElement, HelpBubbleProps>((props, ref) => {\n const {\n ariaLabelledById,\n children,\n className = '',\n noCloseButton,\n linkText = 'Mer hjelp',\n linkUrl,\n linkTarget,\n onLinkClick,\n onClose,\n closeAriaLabel,\n // Props passed on to PopOver\n showBubble,\n helpBubbleId,\n variant,\n controllerRef,\n resources,\n testId,\n } = props;\n\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n\n if (!showBubble) {\n return null;\n }\n\n const defaultResources = getResources(language);\n const mergedResources: HNDesignsystemHelpBubble = {\n ...defaultResources,\n ...resources,\n ariaLabel: props.ariaLabel ?? resources?.ariaLabel ?? defaultResources.ariaLabel,\n };\n\n const helpBubbleClasses = classNames(styles.helpbubble, className);\n const contentClasses = classNames(styles.helpbubble__content);\n\n const renderLink = (): JSX.Element | undefined => {\n if (onLinkClick && linkText) {\n return (\n <button className={styles.helpbubble__link} onClick={onLinkClick} type=\"button\">\n {linkText}\n </button>\n );\n } else if (linkUrl && linkText) {\n return (\n <AnchorLink href={linkUrl} target={linkTarget}>\n {linkText}\n </AnchorLink>\n );\n }\n };\n\n const renderCloseButton = (): JSX.Element | undefined => {\n if (noCloseButton) {\n return;\n }\n return <Close small color=\"plum\" onClick={onClose} ariaLabel={closeAriaLabel} className={styles.helpbubble__close} />;\n };\n\n return (\n <PopOver\n ariaLabel={mergedResources.ariaLabel}\n ariaLabelledById={ariaLabelledById}\n id={helpBubbleId}\n variant={variant}\n controllerRef={controllerRef}\n role=\"group\"\n ref={ref}\n show={showBubble}\n testId={testId}\n >\n <div className={helpBubbleClasses} data-analyticsid={AnalyticsId.HelpBubble}>\n <div className={contentClasses}>\n {children}\n {renderLink()}\n </div>\n {renderCloseButton()}\n </div>\n </PopOver>\n );\n});\n\nHelpBubble.displayName = 'HelpBubble';\n\nexport default HelpBubble;\n","import HelpBubble from './HelpBubble';\nexport * from './HelpBubble';\nexport default HelpBubble;\n"],"mappings":";;;;;;;;;;ACIA,MAAa,gBAAgB,aAAwD;AACnF,SAAQ,UAAR;EACE,KAAK,gBAAgB;EACrB,QACE,QAAO;;;ACMb,MAAa,oBAAoB;AAuCjC,IAAM,aAAa,MAAM,YAA6D,OAAO,QAAQ;CACnG,MAAM,EACJ,kBACA,UACA,YAAY,IACZ,eACA,WAAW,aACX,SACA,YACA,aACA,SACA,gBAEA,YACA,cACA,SACA,eACA,WACA,WACE;CAEJ,MAAM,EAAE,aAAa,YAA6B,gBAAgB,UAAU;AAE5E,KAAI,CAAC,WACH,QAAO;CAGT,MAAM,mBAAmB,aAAa,SAAS;CAC/C,MAAMA,kBAA4C;EAChD,GAAG;EACH,GAAG;EACH,WAAW,MAAM,aAAa,WAAW,aAAa,iBAAiB;EACxE;CAED,MAAM,oBAAoB,WAAW,OAAO,YAAY,UAAU;CAClE,MAAM,iBAAiB,WAAW,OAAO,oBAAoB;CAE7D,MAAM,mBAA4C;AAChD,MAAI,eAAe,SACjB,QACE,oBAAC,UAAA;GAAO,WAAW,OAAO;GAAkB,SAAS;GAAa,MAAK;aACpE;IACM;WAEF,WAAW,SACpB,QACE,oBAAC,oBAAA;GAAW,MAAM;GAAS,QAAQ;aAChC;IACU;;CAKnB,MAAM,0BAAmD;AACvD,MAAI,cACF;AAEF,SAAO,oBAAC,eAAA;GAAM,OAAA;GAAM,OAAM;GAAO,SAAS;GAAS,WAAW;GAAgB,WAAW,OAAO;IAAqB;;AAGvH,QACE,oBAAC,iBAAA;EACC,WAAW,gBAAgB;EACT;EAClB,IAAI;EACK;EACM;EACf,MAAK;EACA;EACL,MAAM;EACE;YAER,qBAAC,OAAA;GAAI,WAAW;GAAmB,oBAAkB,YAAY;cAC/D,qBAAC,OAAA;IAAI,WAAW;eACb,UACA,YAAY,CAAA;KACT,EACL,mBAAmB,CAAA;IAChB;GACE;EAEZ;AAEF,WAAW,cAAc;ACtIzB,IAAA,qBDwIe"}
@@ -1,42 +1,6 @@
1
- import "../../uuid.js";
2
- import "../../environment.js";
3
1
  import { s as LanguageLocales } from "../../constants2.js";
4
- import "../../usePseudoClasses.js";
5
- import "../../grid.js";
6
- import "../../palette.js";
7
- import "../../spacers.js";
8
- import "../../theme.js";
9
- import "../../color.js";
10
- import "../../refs.js";
11
- import "../../Icon.js";
12
2
  import { r as useLanguage } from "../../language.js";
13
- import "../../_rolldown_dynamic_import_helper.js";
14
- import "../../useIsServerSide.js";
15
- import "../../LazyIcon.js";
16
- import "../../component.js";
17
- import "../../useIcons.js";
18
- import "../../useBreakpoint.js";
19
- import "../../useIsMobileBreakpoint.js";
20
- import "../../ArrowRight.js";
21
- import "../../Button.js";
22
- import "../../accessibility.js";
23
- import "../../useElementList.js";
24
- import "../../useFocusableElements.js";
25
- import "../../focus.js";
26
- import "../../useFocusTrap.js";
27
- import "../../useIntersectionObserver.js";
28
- import "../../useIsVisible.js";
29
- import "../../useKeyboardEvent.js";
30
- import "../../useOutsideEvent.js";
31
- import "../../X.js";
32
- import "../../Close.js";
33
3
  import { t as Drawer_default } from "../../Drawer.js";
34
- import "../../deepContains.js";
35
- import "../../useReturnFocusOnUnmount.js";
36
- import "../../scroll.js";
37
- import "../../Title.js";
38
- import "../../Title2.js";
39
- import React from "react";
40
4
  import { jsx } from "react/jsx-runtime";
41
5
  import styles from "./styles.module.scss";
42
6
  var HN_Designsystem_HelpDrawer_nb_NO_default = { ariaLabel: "Hjelpetekst" };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["HelpDrawer: React.FC<HelpDrawerProps>","mergedResources: HNDesignsystemHelpDrawer"],"sources":["../../../src/resources/HN.Designsystem.HelpDrawer.nb-NO.json","../../../src/components/HelpDrawer/resourceHelper.ts","../../../src/components/HelpDrawer/HelpDrawer.tsx","../../../src/components/HelpDrawer/index.ts"],"sourcesContent":["{\n \"ariaLabel\": \"Hjelpetekst\"\n}\n","import { LanguageLocales } from '../../constants';\nimport nbNO from '../../resources/HN.Designsystem.HelpDrawer.nb-NO.json';\nimport { HNDesignsystemHelpDrawer } from '../../resources/Resources';\n\nexport const getResources = (language: LanguageLocales): HNDesignsystemHelpDrawer => {\n switch (language) {\n case LanguageLocales.NORWEGIAN:\n default:\n return nbNO;\n }\n};\n","import React from 'react';\n\nimport { getResources } from './resourceHelper';\nimport { LanguageLocales } from '../../constants';\nimport { HNDesignsystemHelpDrawer } from '../../resources/Resources';\nimport { useLanguage } from '../../utils/language';\nimport Drawer, { DrawerProps } from '../Drawer';\n\nimport styles from './styles.module.scss';\n\nexport interface HelpDrawerProps\n extends Pick<\n DrawerProps,\n | 'ariaLabel'\n | 'ariaLabelledBy'\n | 'ariaLabelCloseBtn'\n | 'children'\n | 'isOpen'\n | 'onRequestClose'\n | 'title'\n | 'titleHtmlMarkup'\n | 'titleId'\n | 'zIndex'\n > {\n /** Resources for the component */\n resources?: Partial<HNDesignsystemHelpDrawer>;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst HelpDrawer: React.FC<HelpDrawerProps> = props => {\n const { resources, ...drawerProps } = props;\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n const defaultResources = getResources(language);\n const mergedResources: HNDesignsystemHelpDrawer = {\n ...defaultResources,\n ...resources,\n ariaLabel: props.ariaLabel ?? props.resources?.ariaLabel ?? defaultResources.ariaLabel,\n };\n\n return (\n <Drawer\n {...drawerProps}\n closeColor={'plum'}\n headerClasses={styles['help-drawer']}\n desktopDirection={'left'}\n ariaLabel={mergedResources.ariaLabel}\n />\n );\n};\n\nexport default HelpDrawer;\n","import HelpDrawer from './HelpDrawer';\nexport * from './HelpDrawer';\nexport default HelpDrawer;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIA,MAAa,gBAAgB,aAAwD;AACnF,SAAQ,UAAR;EACE,KAAK,gBAAgB;EACrB,QACE,QAAO;;;ACsBb,IAAMA,cAAwC,UAAS;CACrD,MAAM,EAAE,WAAW,GAAG,gBAAgB;CACtC,MAAM,EAAE,aAAa,YAA6B,gBAAgB,UAAU;CAC5E,MAAM,mBAAmB,aAAa,SAAS;CAC/C,MAAMC,kBAA4C;EAChD,GAAG;EACH,GAAG;EACH,WAAW,MAAM,aAAa,MAAM,WAAW,aAAa,iBAAiB;EAC9E;AAED,QACE,oBAAC,gBAAA;EACC,GAAI;EACJ,YAAY;EACZ,eAAe,OAAO;EACtB,kBAAkB;EAClB,WAAW,gBAAgB;GAC3B;;AC7CN,IAAA,qBDiDe"}
1
+ {"version":3,"file":"index.js","names":["HelpDrawer: React.FC<HelpDrawerProps>","mergedResources: HNDesignsystemHelpDrawer"],"sources":["../../../src/resources/HN.Designsystem.HelpDrawer.nb-NO.json","../../../src/components/HelpDrawer/resourceHelper.ts","../../../src/components/HelpDrawer/HelpDrawer.tsx","../../../src/components/HelpDrawer/index.ts"],"sourcesContent":["{\n \"ariaLabel\": \"Hjelpetekst\"\n}\n","import { LanguageLocales } from '../../constants';\nimport nbNO from '../../resources/HN.Designsystem.HelpDrawer.nb-NO.json';\nimport { HNDesignsystemHelpDrawer } from '../../resources/Resources';\n\nexport const getResources = (language: LanguageLocales): HNDesignsystemHelpDrawer => {\n switch (language) {\n case LanguageLocales.NORWEGIAN:\n default:\n return nbNO;\n }\n};\n","import type React from 'react';\n\nimport type { HNDesignsystemHelpDrawer } from '../../resources/Resources';\n\nimport { getResources } from './resourceHelper';\nimport { LanguageLocales } from '../../constants';\nimport { useLanguage } from '../../utils/language';\nimport Drawer, { type DrawerProps } from '../Drawer';\n\nimport styles from './styles.module.scss';\n\nexport interface HelpDrawerProps extends Pick<\n DrawerProps,\n | 'ariaLabel'\n | 'ariaLabelledBy'\n | 'ariaLabelCloseBtn'\n | 'children'\n | 'isOpen'\n | 'onRequestClose'\n | 'title'\n | 'titleHtmlMarkup'\n | 'titleId'\n | 'zIndex'\n> {\n /** Resources for the component */\n resources?: Partial<HNDesignsystemHelpDrawer>;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst HelpDrawer: React.FC<HelpDrawerProps> = props => {\n const { resources, ...drawerProps } = props;\n const { language } = useLanguage<LanguageLocales>(LanguageLocales.NORWEGIAN);\n const defaultResources = getResources(language);\n const mergedResources: HNDesignsystemHelpDrawer = {\n ...defaultResources,\n ...resources,\n ariaLabel: props.ariaLabel ?? props.resources?.ariaLabel ?? defaultResources.ariaLabel,\n };\n\n return (\n <Drawer\n {...drawerProps}\n closeColor={'plum'}\n headerClasses={styles['help-drawer']}\n desktopDirection={'left'}\n ariaLabel={mergedResources.ariaLabel}\n />\n );\n};\n\nexport default HelpDrawer;\n","import HelpDrawer from './HelpDrawer';\nexport * from './HelpDrawer';\nexport default HelpDrawer;\n"],"mappings":";;;;;;ACIA,MAAa,gBAAgB,aAAwD;AACnF,SAAQ,UAAR;EACE,KAAK,gBAAgB;EACrB,QACE,QAAO;;;ACsBb,IAAMA,cAAwC,UAAS;CACrD,MAAM,EAAE,WAAW,GAAG,gBAAgB;CACtC,MAAM,EAAE,aAAa,YAA6B,gBAAgB,UAAU;CAC5E,MAAM,mBAAmB,aAAa,SAAS;CAC/C,MAAMC,kBAA4C;EAChD,GAAG;EACH,GAAG;EACH,WAAW,MAAM,aAAa,MAAM,WAAW,aAAa,iBAAiB;EAC9E;AAED,QACE,oBAAC,gBAAA;EACC,GAAI;EACJ,YAAY;EACZ,eAAe,OAAO;EACtB,kBAAkB;EAClB,WAAW,gBAAgB;GAC3B;;AC7CN,IAAA,qBDiDe"}
@@ -1,6 +1,4 @@
1
1
  import { n as AnalyticsId } from "../../constants2.js";
2
- import "../../usePrevious.js";
3
- import "../../floating-ui.react.js";
4
2
  import { t as useExpand } from "../../useExpand.js";
5
3
  import { t as HelpDetails_default } from "../../HelpDetails.js";
6
4
  import React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/HelpExpanderInline/HelpExpanderInline.tsx","../../../src/components/HelpExpanderInline/index.ts"],"sourcesContent":["import React from 'react';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport HelpDetails from '../HelpDetails/HelpDetails';\n\nexport interface HelpExpanderInlineProps {\n /** Sets the text content of the help text that appears when expanded. */\n children: React.ReactNode;\n /** Ref for the element that triggers the HelpExpanderInline */\n controllerRef?: React.RefObject<HTMLButtonElement>;\n /** Expands the component */\n expanded?: boolean;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Classname will be applied to the button element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst HelpExpanderInline = React.forwardRef<HTMLDivElement, HelpExpanderInlineProps>(\n ({ children, className, controllerRef, expanded = false, onExpand, testId }, ref) => {\n const [isExpanded] = useExpand(expanded, onExpand);\n\n return (\n isExpanded && (\n <div className={className} data-testid={testId} data-analyticsid={AnalyticsId.HelpExpanderInline} ref={ref}>\n <HelpDetails controllerRef={controllerRef}>{children}</HelpDetails>\n </div>\n )\n );\n }\n);\n\nHelpExpanderInline.displayName = 'HelpExpanderInline';\n\nexport default HelpExpanderInline;\n","import HelpExpanderInline from './HelpExpanderInline';\nexport * from './HelpExpanderInline';\nexport default HelpExpanderInline;\n"],"mappings":";;;;;;;AAqBA,IAAM,qBAAqB,MAAM,YAC9B,EAAE,UAAU,WAAW,eAAe,WAAW,OAAO,UAAU,UAAU,QAAQ;CACnF,MAAM,CAAC,cAAc,UAAU,UAAU,SAAS;AAElD,QACE,cACE,oBAAC,OAAA;EAAe;EAAW,eAAa;EAAQ,oBAAkB,YAAY;EAAyB;YACrG,oBAAC,qBAAA;GAA2B;GAAgB;IAAuB;GAC/D;EAIb;AAED,mBAAmB,cAAc;ACjCjC,IAAA,6BDmCe"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/HelpExpanderInline/HelpExpanderInline.tsx","../../../src/components/HelpExpanderInline/index.ts"],"sourcesContent":["import React from 'react';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport HelpDetails from '../HelpDetails/HelpDetails';\n\nexport interface HelpExpanderInlineProps {\n /** Sets the text content of the help text that appears when expanded. */\n children: React.ReactNode;\n /** Ref for the element that triggers the HelpExpanderInline */\n controllerRef?: React.RefObject<HTMLButtonElement>;\n /** Expands the component */\n expanded?: boolean;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Classname will be applied to the button element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst HelpExpanderInline = React.forwardRef<HTMLDivElement, HelpExpanderInlineProps>(\n ({ children, className, controllerRef, expanded = false, onExpand, testId }, ref) => {\n const [isExpanded] = useExpand(expanded, onExpand);\n\n return (\n isExpanded && (\n <div className={className} data-testid={testId} data-analyticsid={AnalyticsId.HelpExpanderInline} ref={ref}>\n <HelpDetails controllerRef={controllerRef}>{children}</HelpDetails>\n </div>\n )\n );\n }\n);\n\nHelpExpanderInline.displayName = 'HelpExpanderInline';\n\nexport default HelpExpanderInline;\n","import HelpExpanderInline from './HelpExpanderInline';\nexport * from './HelpExpanderInline';\nexport default HelpExpanderInline;\n"],"mappings":";;;;;AAqBA,IAAM,qBAAqB,MAAM,YAC9B,EAAE,UAAU,WAAW,eAAe,WAAW,OAAO,UAAU,UAAU,QAAQ;CACnF,MAAM,CAAC,cAAc,UAAU,UAAU,SAAS;AAElD,QACE,cACE,oBAAC,OAAA;EAAe;EAAW,eAAa;EAAQ,oBAAkB,YAAY;EAAyB;YACrG,oBAAC,qBAAA;GAA2B;GAAgB;IAAuB;GAC/D;EAIb;AAED,mBAAmB,cAAc;ACjCjC,IAAA,6BDmCe"}