@helsenorge/designsystem-react 13.5.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 (583) hide show
  1. package/lib/AnchorLink.js +2 -2
  2. package/lib/AnchorLink.js.map +1 -1
  3. package/lib/Avatar.js +2 -2
  4. package/lib/Avatar.js.map +1 -1
  5. package/lib/Badge.js +2 -2
  6. package/lib/Badge.js.map +1 -1
  7. package/lib/Button.js +6 -6
  8. package/lib/Button.js.map +1 -1
  9. package/lib/CHANGELOG.md +24 -1
  10. package/lib/Checkbox.js +6 -6
  11. package/lib/Checkbox.js.map +1 -1
  12. package/lib/Close.js +3 -3
  13. package/lib/Close.js.map +1 -1
  14. package/lib/DictionaryTrigger.js +2 -2
  15. package/lib/DictionaryTrigger.js.map +1 -1
  16. package/lib/Drawer.js +5 -5
  17. package/lib/Drawer.js.map +1 -1
  18. package/lib/Duolist.js +8 -5
  19. package/lib/Duolist.js.map +1 -1
  20. package/lib/ElementHeader.js +9 -9
  21. package/lib/ElementHeader.js.map +1 -1
  22. package/lib/ElementHeaderText.js +4 -4
  23. package/lib/ElementHeaderText.js.map +1 -1
  24. package/lib/ErrorWrapper.js +2 -2
  25. package/lib/ErrorWrapper.js.map +1 -1
  26. package/lib/Expander.js +12 -8
  27. package/lib/Expander.js.map +1 -1
  28. package/lib/FormFieldTag.js +2 -2
  29. package/lib/FormFieldTag.js.map +1 -1
  30. package/lib/FormGroup.js +9 -8
  31. package/lib/FormGroup.js.map +1 -1
  32. package/lib/FormLayout.js +3 -3
  33. package/lib/FormLayout.js.map +1 -1
  34. package/lib/HelpDetails.js +3 -3
  35. package/lib/HelpDetails.js.map +1 -1
  36. package/lib/HelpTriggerIcon.js +2 -2
  37. package/lib/HelpTriggerIcon.js.map +1 -1
  38. package/lib/HelpTriggerStandalone.js +2 -2
  39. package/lib/HelpTriggerStandalone.js.map +1 -1
  40. package/lib/HighlightPanel.js +3 -3
  41. package/lib/HighlightPanel.js.map +1 -1
  42. package/lib/HorizontalScroll.js +4 -4
  43. package/lib/HorizontalScroll.js.map +1 -1
  44. package/lib/Icon.js +2 -2
  45. package/lib/Icon.js.map +1 -1
  46. package/lib/InfoTeaser.js +5 -4
  47. package/lib/InfoTeaser.js.map +1 -1
  48. package/lib/Input.js +4 -4
  49. package/lib/Input.js.map +1 -1
  50. package/lib/Label.js +5 -5
  51. package/lib/Label.js.map +1 -1
  52. package/lib/LinkList.js +5 -5
  53. package/lib/LinkList.js.map +1 -1
  54. package/lib/List.js +2 -2
  55. package/lib/List.js.map +1 -1
  56. package/lib/ListEditMode.js +4 -4
  57. package/lib/ListEditMode.js.map +1 -1
  58. package/lib/MaxCharacters.js +2 -2
  59. package/lib/MaxCharacters.js.map +1 -1
  60. package/lib/Panel.js +63 -39
  61. package/lib/Panel.js.map +1 -1
  62. package/lib/PanelOld.js +14 -14
  63. package/lib/PanelOld.js.map +1 -1
  64. package/lib/PanelTitle.js +2 -2
  65. package/lib/PanelTitle.js.map +1 -1
  66. package/lib/PopOver.js +2 -2
  67. package/lib/PopOver.js.map +1 -1
  68. package/lib/RadioButton.js +5 -5
  69. package/lib/RadioButton.js.map +1 -1
  70. package/lib/Select.js +4 -4
  71. package/lib/Select.js.map +1 -1
  72. package/lib/SingleSelectItem.js +3 -3
  73. package/lib/SingleSelectItem.js.map +1 -1
  74. package/lib/Slider.js +4 -4
  75. package/lib/Slider.js.map +1 -1
  76. package/lib/Spacer.js +2 -2
  77. package/lib/Spacer.js.map +1 -1
  78. package/lib/StatusDot.js +4 -4
  79. package/lib/StatusDot.js.map +1 -1
  80. package/lib/StatusDotList.js +2 -2
  81. package/lib/StatusDotList.js.map +1 -1
  82. package/lib/StepButtons.js +5 -5
  83. package/lib/StepButtons.js.map +1 -1
  84. package/lib/TabList.js +8 -8
  85. package/lib/TabList.js.map +1 -1
  86. package/lib/TabPanel.js +2 -2
  87. package/lib/TabPanel.js.map +1 -1
  88. package/lib/Table.js +2 -2
  89. package/lib/Table.js.map +1 -1
  90. package/lib/TableBody.js +2 -2
  91. package/lib/TableBody.js.map +1 -1
  92. package/lib/TableCell.js +2 -2
  93. package/lib/TableCell.js.map +1 -1
  94. package/lib/TableExpandedRow.js +4 -4
  95. package/lib/TableExpandedRow.js.map +1 -1
  96. package/lib/TableExpanderCell.js +2 -2
  97. package/lib/TableExpanderCell.js.map +1 -1
  98. package/lib/TableHead.js +2 -2
  99. package/lib/TableHead.js.map +1 -1
  100. package/lib/TableHeadCell.js +3 -3
  101. package/lib/TableHeadCell.js.map +1 -1
  102. package/lib/TableRow.js +3 -3
  103. package/lib/TableRow.js.map +1 -1
  104. package/lib/Textarea.js +4 -4
  105. package/lib/Textarea.js.map +1 -1
  106. package/lib/Title.js +2 -2
  107. package/lib/Title.js.map +1 -1
  108. package/lib/Toast.js +3 -3
  109. package/lib/Toast.js.map +1 -1
  110. package/lib/__mocks__/uuid.js +0 -1
  111. package/lib/__mocks__/uuid.js.map +1 -1
  112. package/lib/components/AnchorLink/index.js +0 -13
  113. package/lib/components/ArticleTeaser/index.js +4 -4
  114. package/lib/components/ArticleTeaser/index.js.map +1 -1
  115. package/lib/components/AsChildSlot/index.js +0 -1
  116. package/lib/components/Avatar/index.js +0 -4
  117. package/lib/components/Badge/index.js +0 -8
  118. package/lib/components/Button/index.js +0 -17
  119. package/lib/components/Checkbox/index.js +0 -44
  120. package/lib/components/Chip/index.js +2 -2
  121. package/lib/components/Chip/index.js.map +1 -1
  122. package/lib/components/Close/index.js +0 -8
  123. package/lib/components/DictionaryTrigger/index.js +0 -1
  124. package/lib/components/Drawer/index.js +0 -37
  125. package/lib/components/Drawer/styles.module.scss +6 -0
  126. package/lib/components/Dropdown/SingleSelect/index.js +0 -2
  127. package/lib/components/Dropdown/SingleSelect/index.js.map +1 -1
  128. package/lib/components/Dropdown/index.js +5 -42
  129. package/lib/components/Dropdown/index.js.map +1 -1
  130. package/lib/components/DropdownOld/index.js +3 -31
  131. package/lib/components/DropdownOld/index.js.map +1 -1
  132. package/lib/components/Duolist/Duolist.d.ts +3 -1
  133. package/lib/components/Duolist/index.js +0 -4
  134. package/lib/components/ElementHeader/ElementHeaderText/index.js +0 -9
  135. package/lib/components/ElementHeader/ElementHeaderText/index.js.map +1 -1
  136. package/lib/components/ElementHeader/StatusDotList/index.js +0 -34
  137. package/lib/components/ElementHeader/index.js +0 -48
  138. package/lib/components/ElementHeader/index.js.map +1 -1
  139. package/lib/components/EmptyState/index.js +2 -4
  140. package/lib/components/EmptyState/index.js.map +1 -1
  141. package/lib/components/Expander/index.js +0 -24
  142. package/lib/components/Expander/styles.module.scss +16 -7
  143. package/lib/components/Expander/styles.module.scss.d.ts +2 -1
  144. package/lib/components/ExpanderHierarchy/index.js +7 -8
  145. package/lib/components/ExpanderHierarchy/index.js.map +1 -1
  146. package/lib/components/ExpanderList/index.js +6 -52
  147. package/lib/components/ExpanderList/index.js.map +1 -1
  148. package/lib/components/EyebrowHeader/index.js +0 -1
  149. package/lib/components/EyebrowHeader/index.js.map +1 -1
  150. package/lib/components/FavoriteButton/index.js +2 -3
  151. package/lib/components/FavoriteButton/index.js.map +1 -1
  152. package/lib/components/FormFieldTag/index.js +0 -2
  153. package/lib/components/FormGroup/FormGroup.d.ts +5 -0
  154. package/lib/components/FormGroup/index.js +0 -55
  155. package/lib/components/FormGroup/index.js.map +1 -1
  156. package/lib/components/FormLayout/index.js +0 -1
  157. package/lib/components/HelpBubble/index.js +3 -20
  158. package/lib/components/HelpBubble/index.js.map +1 -1
  159. package/lib/components/HelpDrawer/index.js +0 -36
  160. package/lib/components/HelpDrawer/index.js.map +1 -1
  161. package/lib/components/HelpExpanderInline/index.js +0 -2
  162. package/lib/components/HelpExpanderInline/index.js.map +1 -1
  163. package/lib/components/HelpExpanderStandalone/index.js +0 -6
  164. package/lib/components/HelpExpanderStandalone/index.js.map +1 -1
  165. package/lib/components/HelpPanel/index.js +2 -34
  166. package/lib/components/HelpPanel/index.js.map +1 -1
  167. package/lib/components/HelpTeaser/HelpTeaser.d.ts +2 -0
  168. package/lib/components/HelpTeaser/index.js +2 -9
  169. package/lib/components/HelpTeaser/index.js.map +1 -1
  170. package/lib/components/HelpTooltip/index.js +0 -2
  171. package/lib/components/HelpTooltip/index.js.map +1 -1
  172. package/lib/components/HelpTriggerIcon/index.js +0 -4
  173. package/lib/components/HelpTriggerInline/index.js +2 -2
  174. package/lib/components/HelpTriggerInline/index.js.map +1 -1
  175. package/lib/components/HelpTriggerStandalone/index.js +0 -8
  176. package/lib/components/HighlightPanel/index.js +0 -32
  177. package/lib/components/Highlighter/index.js +0 -8
  178. package/lib/components/HorizontalScroll/index.js +0 -5
  179. package/lib/components/Icons/AlarmClock.js +0 -1
  180. package/lib/components/Icons/AlarmClock.js.map +1 -1
  181. package/lib/components/Icons/AlertSignFill.js +0 -2
  182. package/lib/components/Icons/AlertSignStroke.js +0 -2
  183. package/lib/components/Icons/Archive.js +0 -1
  184. package/lib/components/Icons/Archive.js.map +1 -1
  185. package/lib/components/Icons/ArrowDown.js +0 -2
  186. package/lib/components/Icons/ArrowLeft.js +0 -1
  187. package/lib/components/Icons/ArrowLeft.js.map +1 -1
  188. package/lib/components/Icons/ArrowRight.js +0 -2
  189. package/lib/components/Icons/ArrowUp.js +0 -2
  190. package/lib/components/Icons/ArrowUpRight.js +0 -2
  191. package/lib/components/Icons/Attachment.js +0 -1
  192. package/lib/components/Icons/Attachment.js.map +1 -1
  193. package/lib/components/Icons/Avatar.js +0 -1
  194. package/lib/components/Icons/Avatar.js.map +1 -1
  195. package/lib/components/Icons/Braille.js +0 -1
  196. package/lib/components/Icons/Braille.js.map +1 -1
  197. package/lib/components/Icons/Bus.js +0 -1
  198. package/lib/components/Icons/Bus.js.map +1 -1
  199. package/lib/components/Icons/Calendar.js +0 -2
  200. package/lib/components/Icons/CalendarChange.js +0 -1
  201. package/lib/components/Icons/CalendarChange.js.map +1 -1
  202. package/lib/components/Icons/CalendarCheck.js +0 -1
  203. package/lib/components/Icons/CalendarCheck.js.map +1 -1
  204. package/lib/components/Icons/CalendarSave.js +0 -1
  205. package/lib/components/Icons/CalendarSave.js.map +1 -1
  206. package/lib/components/Icons/Candle.js +0 -1
  207. package/lib/components/Icons/Candle.js.map +1 -1
  208. package/lib/components/Icons/Change.js +0 -1
  209. package/lib/components/Icons/Change.js.map +1 -1
  210. package/lib/components/Icons/Check.js +0 -2
  211. package/lib/components/Icons/CheckFill.js +0 -2
  212. package/lib/components/Icons/ChevronDown.js +0 -2
  213. package/lib/components/Icons/ChevronLeft.js +0 -2
  214. package/lib/components/Icons/ChevronRight.js +0 -2
  215. package/lib/components/Icons/ChevronUp.js +0 -2
  216. package/lib/components/Icons/ChevronsDown.js +0 -1
  217. package/lib/components/Icons/ChevronsDown.js.map +1 -1
  218. package/lib/components/Icons/ChevronsUp.js +0 -1
  219. package/lib/components/Icons/ChevronsUp.js.map +1 -1
  220. package/lib/components/Icons/Contacts.js +0 -1
  221. package/lib/components/Icons/Contacts.js.map +1 -1
  222. package/lib/components/Icons/Copy.js +0 -1
  223. package/lib/components/Icons/Copy.js.map +1 -1
  224. package/lib/components/Icons/DotActive.js +0 -1
  225. package/lib/components/Icons/DotActive.js.map +1 -1
  226. package/lib/components/Icons/DotAlert.js +0 -1
  227. package/lib/components/Icons/DotAlert.js.map +1 -1
  228. package/lib/components/Icons/DotCancelled.js +0 -1
  229. package/lib/components/Icons/DotCancelled.js.map +1 -1
  230. package/lib/components/Icons/DotHalfDisc.js +0 -1
  231. package/lib/components/Icons/DotHalfDisc.js.map +1 -1
  232. package/lib/components/Icons/DotInactive.js +0 -1
  233. package/lib/components/Icons/DotInactive.js.map +1 -1
  234. package/lib/components/Icons/DotInfo.js +0 -1
  235. package/lib/components/Icons/DotInfo.js.map +1 -1
  236. package/lib/components/Icons/DotLookingGlass.js +0 -1
  237. package/lib/components/Icons/DotLookingGlass.js.map +1 -1
  238. package/lib/components/Icons/DotPending.js +0 -1
  239. package/lib/components/Icons/DotPending.js.map +1 -1
  240. package/lib/components/Icons/DotQuestionMark.js +0 -1
  241. package/lib/components/Icons/DotQuestionMark.js.map +1 -1
  242. package/lib/components/Icons/DotSuccess.js +0 -1
  243. package/lib/components/Icons/DotSuccess.js.map +1 -1
  244. package/lib/components/Icons/DotTransparent.js +0 -1
  245. package/lib/components/Icons/DotTransparent.js.map +1 -1
  246. package/lib/components/Icons/DotWarningTriangle.js +0 -1
  247. package/lib/components/Icons/DotWarningTriangle.js.map +1 -1
  248. package/lib/components/Icons/Download.js +0 -1
  249. package/lib/components/Icons/Download.js.map +1 -1
  250. package/lib/components/Icons/Drag.js +0 -1
  251. package/lib/components/Icons/Drag.js.map +1 -1
  252. package/lib/components/Icons/EChat.js +0 -1
  253. package/lib/components/Icons/EChat.js.map +1 -1
  254. package/lib/components/Icons/Ear.js +0 -1
  255. package/lib/components/Icons/Ear.js.map +1 -1
  256. package/lib/components/Icons/EarDeaf.js +0 -1
  257. package/lib/components/Icons/EarDeaf.js.map +1 -1
  258. package/lib/components/Icons/EarHearingAid.js +0 -1
  259. package/lib/components/Icons/EarHearingAid.js.map +1 -1
  260. package/lib/components/Icons/EarVolume.js +0 -1
  261. package/lib/components/Icons/EarVolume.js.map +1 -1
  262. package/lib/components/Icons/Edit.js +0 -1
  263. package/lib/components/Icons/Edit.js.map +1 -1
  264. package/lib/components/Icons/EmergencyCall.js +0 -1
  265. package/lib/components/Icons/EmergencyCall.js.map +1 -1
  266. package/lib/components/Icons/EmoticonAnnoyed.js +0 -1
  267. package/lib/components/Icons/EmoticonAnnoyed.js.map +1 -1
  268. package/lib/components/Icons/EmoticonDelighted.js +0 -1
  269. package/lib/components/Icons/EmoticonDelighted.js.map +1 -1
  270. package/lib/components/Icons/EmoticonDisappointed.js +0 -1
  271. package/lib/components/Icons/EmoticonDisappointed.js.map +1 -1
  272. package/lib/components/Icons/EmoticonHappy.js +0 -1
  273. package/lib/components/Icons/EmoticonHappy.js.map +1 -1
  274. package/lib/components/Icons/EmoticonMeh.js +0 -1
  275. package/lib/components/Icons/EmoticonMeh.js.map +1 -1
  276. package/lib/components/Icons/EnterFullScreen.js +0 -1
  277. package/lib/components/Icons/EnterFullScreen.js.map +1 -1
  278. package/lib/components/Icons/Envelope.js +0 -1
  279. package/lib/components/Icons/Envelope.js.map +1 -1
  280. package/lib/components/Icons/Eraser.js +0 -1
  281. package/lib/components/Icons/Eraser.js.map +1 -1
  282. package/lib/components/Icons/ErrorSignFill.js +0 -2
  283. package/lib/components/Icons/ErrorSignStroke.js +0 -1
  284. package/lib/components/Icons/ErrorSignStroke.js.map +1 -1
  285. package/lib/components/Icons/ExitFullScreen.js +0 -1
  286. package/lib/components/Icons/ExitFullScreen.js.map +1 -1
  287. package/lib/components/Icons/Eye.js +0 -1
  288. package/lib/components/Icons/Eye.js.map +1 -1
  289. package/lib/components/Icons/FallingLeaf.js +0 -1
  290. package/lib/components/Icons/FallingLeaf.js.map +1 -1
  291. package/lib/components/Icons/File.js +0 -1
  292. package/lib/components/Icons/File.js.map +1 -1
  293. package/lib/components/Icons/Filter.js +0 -1
  294. package/lib/components/Icons/Filter.js.map +1 -1
  295. package/lib/components/Icons/Form.js +0 -1
  296. package/lib/components/Icons/Form.js.map +1 -1
  297. package/lib/components/Icons/Forward.js +0 -2
  298. package/lib/components/Icons/Gallery.js +0 -1
  299. package/lib/components/Icons/Gallery.js.map +1 -1
  300. package/lib/components/Icons/Glasses.js +0 -1
  301. package/lib/components/Icons/Glasses.js.map +1 -1
  302. package/lib/components/Icons/Globe.js +0 -1
  303. package/lib/components/Icons/Globe.js.map +1 -1
  304. package/lib/components/Icons/Graph.js +0 -1
  305. package/lib/components/Icons/Graph.js.map +1 -1
  306. package/lib/components/Icons/Group.js +0 -1
  307. package/lib/components/Icons/Group.js.map +1 -1
  308. package/lib/components/Icons/GroupTwins.js +0 -1
  309. package/lib/components/Icons/GroupTwins.js.map +1 -1
  310. package/lib/components/Icons/HTMLFile.js +0 -1
  311. package/lib/components/Icons/HTMLFile.js.map +1 -1
  312. package/lib/components/Icons/HandsAndHeart.js +0 -1
  313. package/lib/components/Icons/HandsAndHeart.js.map +1 -1
  314. package/lib/components/Icons/HealthcarePerson.js +0 -1
  315. package/lib/components/Icons/HealthcarePerson.js.map +1 -1
  316. package/lib/components/Icons/HealthcarePersonell.js +0 -1
  317. package/lib/components/Icons/HealthcarePersonell.js.map +1 -1
  318. package/lib/components/Icons/HearingProtection.js +0 -1
  319. package/lib/components/Icons/HearingProtection.js.map +1 -1
  320. package/lib/components/Icons/Heart.js +0 -1
  321. package/lib/components/Icons/Heart.js.map +1 -1
  322. package/lib/components/Icons/HelpSign.js +0 -1
  323. package/lib/components/Icons/HelpSign.js.map +1 -1
  324. package/lib/components/Icons/History.js +0 -1
  325. package/lib/components/Icons/History.js.map +1 -1
  326. package/lib/components/Icons/Home.js +0 -1
  327. package/lib/components/Icons/Home.js.map +1 -1
  328. package/lib/components/Icons/HomeFill.js +0 -1
  329. package/lib/components/Icons/HomeFill.js.map +1 -1
  330. package/lib/components/Icons/Hospital.js +0 -1
  331. package/lib/components/Icons/Hospital.js.map +1 -1
  332. package/lib/components/Icons/Hourglass.js +0 -1
  333. package/lib/components/Icons/Hourglass.js.map +1 -1
  334. package/lib/components/Icons/InfoSignFill.js +0 -2
  335. package/lib/components/Icons/InfoSignStroke.js +0 -1
  336. package/lib/components/Icons/InfoSignStroke.js.map +1 -1
  337. package/lib/components/Icons/Journal.js +0 -1
  338. package/lib/components/Icons/Journal.js.map +1 -1
  339. package/lib/components/Icons/LegalDocument.js +0 -1
  340. package/lib/components/Icons/LegalDocument.js.map +1 -1
  341. package/lib/components/Icons/List.js +0 -1
  342. package/lib/components/Icons/List.js.map +1 -1
  343. package/lib/components/Icons/Location.js +0 -1
  344. package/lib/components/Icons/Location.js.map +1 -1
  345. package/lib/components/Icons/LocationFill.js +0 -1
  346. package/lib/components/Icons/LocationFill.js.map +1 -1
  347. package/lib/components/Icons/Lock.js +0 -1
  348. package/lib/components/Icons/Lock.js.map +1 -1
  349. package/lib/components/Icons/Login.js +0 -1
  350. package/lib/components/Icons/Login.js.map +1 -1
  351. package/lib/components/Icons/Logout.js +0 -1
  352. package/lib/components/Icons/Logout.js.map +1 -1
  353. package/lib/components/Icons/MaleDoctorCompact.js +0 -1
  354. package/lib/components/Icons/MaleDoctorCompact.js.map +1 -1
  355. package/lib/components/Icons/MaleDoctorCompactFill.js +0 -1
  356. package/lib/components/Icons/MaleDoctorCompactFill.js.map +1 -1
  357. package/lib/components/Icons/Medicine.js +0 -1
  358. package/lib/components/Icons/Medicine.js.map +1 -1
  359. package/lib/components/Icons/Menu.js +0 -1
  360. package/lib/components/Icons/Menu.js.map +1 -1
  361. package/lib/components/Icons/Minus.js +0 -1
  362. package/lib/components/Icons/Minus.js.map +1 -1
  363. package/lib/components/Icons/MobilePhone.js +0 -1
  364. package/lib/components/Icons/MobilePhone.js.map +1 -1
  365. package/lib/components/Icons/NoAccess.js +0 -1
  366. package/lib/components/Icons/NoAccess.js.map +1 -1
  367. package/lib/components/Icons/NoEye.js +0 -1
  368. package/lib/components/Icons/NoEye.js.map +1 -1
  369. package/lib/components/Icons/NoFilter.js +0 -1
  370. package/lib/components/Icons/NoFilter.js.map +1 -1
  371. package/lib/components/Icons/PaperPlane.js +0 -1
  372. package/lib/components/Icons/PaperPlane.js.map +1 -1
  373. package/lib/components/Icons/Pause.js +0 -1
  374. package/lib/components/Icons/Pause.js.map +1 -1
  375. package/lib/components/Icons/Pencil.js +0 -2
  376. package/lib/components/Icons/PersonCancel.js +0 -1
  377. package/lib/components/Icons/PersonCancel.js.map +1 -1
  378. package/lib/components/Icons/PersonalPlan.js +0 -1
  379. package/lib/components/Icons/PersonalPlan.js.map +1 -1
  380. package/lib/components/Icons/Play.js +0 -1
  381. package/lib/components/Icons/Play.js.map +1 -1
  382. package/lib/components/Icons/PlusLarge.js +0 -1
  383. package/lib/components/Icons/PlusLarge.js.map +1 -1
  384. package/lib/components/Icons/PlusSmall.js +0 -2
  385. package/lib/components/Icons/Printer.js +0 -1
  386. package/lib/components/Icons/Printer.js.map +1 -1
  387. package/lib/components/Icons/QrCode.js +0 -1
  388. package/lib/components/Icons/QrCode.js.map +1 -1
  389. package/lib/components/Icons/Receptionist.js +0 -1
  390. package/lib/components/Icons/Receptionist.js.map +1 -1
  391. package/lib/components/Icons/Referral.js +0 -1
  392. package/lib/components/Icons/Referral.js.map +1 -1
  393. package/lib/components/Icons/Refresh.js +0 -1
  394. package/lib/components/Icons/Refresh.js.map +1 -1
  395. package/lib/components/Icons/Reply.js +0 -1
  396. package/lib/components/Icons/Reply.js.map +1 -1
  397. package/lib/components/Icons/Save.js +0 -1
  398. package/lib/components/Icons/Save.js.map +1 -1
  399. package/lib/components/Icons/ScreenReader.js +0 -1
  400. package/lib/components/Icons/ScreenReader.js.map +1 -1
  401. package/lib/components/Icons/Search.js +0 -1
  402. package/lib/components/Icons/Search.js.map +1 -1
  403. package/lib/components/Icons/SectionSign.js +0 -1
  404. package/lib/components/Icons/SectionSign.js.map +1 -1
  405. package/lib/components/Icons/Settings.js +0 -1
  406. package/lib/components/Icons/Settings.js.map +1 -1
  407. package/lib/components/Icons/SettingsFill.js +0 -1
  408. package/lib/components/Icons/SettingsFill.js.map +1 -1
  409. package/lib/components/Icons/Share.js +0 -1
  410. package/lib/components/Icons/Share.js.map +1 -1
  411. package/lib/components/Icons/SortDown.js +0 -1
  412. package/lib/components/Icons/SortDown.js.map +1 -1
  413. package/lib/components/Icons/SortUp.js +0 -1
  414. package/lib/components/Icons/SortUp.js.map +1 -1
  415. package/lib/components/Icons/SpeechBubble.js +0 -1
  416. package/lib/components/Icons/SpeechBubble.js.map +1 -1
  417. package/lib/components/Icons/Stopwatch.js +0 -1
  418. package/lib/components/Icons/Stopwatch.js.map +1 -1
  419. package/lib/components/Icons/Sun.js +0 -1
  420. package/lib/components/Icons/Sun.js.map +1 -1
  421. package/lib/components/Icons/SupportingPerson.js +0 -1
  422. package/lib/components/Icons/SupportingPerson.js.map +1 -1
  423. package/lib/components/Icons/TimePassing.js +0 -1
  424. package/lib/components/Icons/TimePassing.js.map +1 -1
  425. package/lib/components/Icons/Tombstone.js +0 -1
  426. package/lib/components/Icons/Tombstone.js.map +1 -1
  427. package/lib/components/Icons/Toolbox.js +0 -1
  428. package/lib/components/Icons/Toolbox.js.map +1 -1
  429. package/lib/components/Icons/TrashCan.js +0 -1
  430. package/lib/components/Icons/TrashCan.js.map +1 -1
  431. package/lib/components/Icons/TreatmentAids.js +0 -1
  432. package/lib/components/Icons/TreatmentAids.js.map +1 -1
  433. package/lib/components/Icons/TriangleX.js +0 -2
  434. package/lib/components/Icons/Undo.js +0 -2
  435. package/lib/components/Icons/Upload.js +0 -1
  436. package/lib/components/Icons/Upload.js.map +1 -1
  437. package/lib/components/Icons/Vaccine.js +0 -1
  438. package/lib/components/Icons/Vaccine.js.map +1 -1
  439. package/lib/components/Icons/VerticalDots.js +0 -2
  440. package/lib/components/Icons/VideoCamera.js +0 -1
  441. package/lib/components/Icons/VideoCamera.js.map +1 -1
  442. package/lib/components/Icons/VideoChat.js +0 -1
  443. package/lib/components/Icons/VideoChat.js.map +1 -1
  444. package/lib/components/Icons/Wallet.js +0 -1
  445. package/lib/components/Icons/Wallet.js.map +1 -1
  446. package/lib/components/Icons/Watch.js +0 -2
  447. package/lib/components/Icons/X.js +0 -2
  448. package/lib/components/Icons/Zoom.js +0 -1
  449. package/lib/components/Icons/Zoom.js.map +1 -1
  450. package/lib/components/Icons/ZoomInLeft.js +0 -1
  451. package/lib/components/Icons/ZoomInLeft.js.map +1 -1
  452. package/lib/components/Icons/ZoomOutLeft.js +0 -1
  453. package/lib/components/Icons/ZoomOutLeft.js.map +1 -1
  454. package/lib/components/Illustration/index.js +0 -2
  455. package/lib/components/Illustrations/BabyMobile.js +0 -2
  456. package/lib/components/Illustrations/BabyMobile.js.map +1 -1
  457. package/lib/components/Illustrations/BabyMobileMedium.js +0 -3
  458. package/lib/components/Illustrations/Child.js +0 -2
  459. package/lib/components/Illustrations/Child.js.map +1 -1
  460. package/lib/components/Illustrations/ChildMedium.js +0 -3
  461. package/lib/components/Illustrations/FacialRecognitionFingerprint.js +0 -2
  462. package/lib/components/Illustrations/FacialRecognitionFingerprint.js.map +1 -1
  463. package/lib/components/Illustrations/FacialRecognitionFingerprintMedium.js +0 -3
  464. package/lib/components/Illustrations/GiveBabyFood.js +0 -2
  465. package/lib/components/Illustrations/GiveBabyFood.js.map +1 -1
  466. package/lib/components/Illustrations/GiveBabyFoodMedium.js +0 -3
  467. package/lib/components/Illustrations/ReadLetters.js +0 -2
  468. package/lib/components/Illustrations/ReadLetters.js.map +1 -1
  469. package/lib/components/Illustrations/ReadLettersMedium.js +0 -3
  470. package/lib/components/Illustrations/Stroller.js +0 -2
  471. package/lib/components/Illustrations/Stroller.js.map +1 -1
  472. package/lib/components/Illustrations/StrollerMedium.js +0 -3
  473. package/lib/components/Illustrations/Support2.js +0 -2
  474. package/lib/components/Illustrations/Support2.js.map +1 -1
  475. package/lib/components/Illustrations/Support2Medium.js +0 -3
  476. package/lib/components/InfoTeaser/InfoTeaser.d.ts +2 -0
  477. package/lib/components/InfoTeaser/index.js +0 -8
  478. package/lib/components/InfoTeaser/styles.module.scss +0 -2
  479. package/lib/components/Input/Input.d.ts +2 -2
  480. package/lib/components/Input/index.js +0 -44
  481. package/lib/components/Label/index.js +0 -38
  482. package/lib/components/LazyIcon/index.js +0 -4
  483. package/lib/components/LazyIllustration/index.js +0 -6
  484. package/lib/components/LinkList/index.js +0 -54
  485. package/lib/components/List/index.js +0 -1
  486. package/lib/components/ListEditMode/index.js +0 -4
  487. package/lib/components/Loader/index.js +4 -5
  488. package/lib/components/Loader/index.js.map +1 -1
  489. package/lib/components/Logo/index.js +0 -4
  490. package/lib/components/Logo/index.js.map +1 -1
  491. package/lib/components/Modal/index.js +9 -30
  492. package/lib/components/Modal/index.js.map +1 -1
  493. package/lib/components/NotificationPanel/index.js +6 -34
  494. package/lib/components/NotificationPanel/index.js.map +1 -1
  495. package/lib/components/Panel/PanelTitle/index.js +0 -11
  496. package/lib/components/Panel/index.js +0 -31
  497. package/lib/components/Panel/index.js.map +1 -1
  498. package/lib/components/PanelList/PanelList.d.ts +6 -0
  499. package/lib/components/PanelList/index.js +3 -53
  500. package/lib/components/PanelList/index.js.map +1 -1
  501. package/lib/components/PanelListOld/index.js +2 -36
  502. package/lib/components/PanelListOld/index.js.map +1 -1
  503. package/lib/components/PanelOld/index.js +0 -35
  504. package/lib/components/PopMenu/index.js +3 -54
  505. package/lib/components/PopMenu/index.js.map +1 -1
  506. package/lib/components/PopOver/index.js +0 -3
  507. package/lib/components/Portal/index.js +0 -1
  508. package/lib/components/Progressbar/index.js +2 -2
  509. package/lib/components/Progressbar/index.js.map +1 -1
  510. package/lib/components/PromoPanel/index.js +2 -12
  511. package/lib/components/PromoPanel/index.js.map +1 -1
  512. package/lib/components/RadioButton/index.js +0 -43
  513. package/lib/components/Select/index.js +0 -43
  514. package/lib/components/Select/styles.module.scss +2 -0
  515. package/lib/components/ServiceMessage/index.js +5 -48
  516. package/lib/components/ServiceMessage/index.js.map +1 -1
  517. package/lib/components/SharingStatus/index.js +4 -4
  518. package/lib/components/SharingStatus/index.js.map +1 -1
  519. package/lib/components/Slider/index.js +0 -10
  520. package/lib/components/Spacer/index.js +0 -1
  521. package/lib/components/StatusDot/index.js +0 -33
  522. package/lib/components/Step/index.js +2 -2
  523. package/lib/components/Step/index.js.map +1 -1
  524. package/lib/components/StepButtons/index.js +0 -1
  525. package/lib/components/Stepper/index.js +2 -3
  526. package/lib/components/Stepper/index.js.map +1 -1
  527. package/lib/components/StickyNote/index.js +8 -11
  528. package/lib/components/StickyNote/index.js.map +1 -1
  529. package/lib/components/Table/TableBody/index.js +0 -13
  530. package/lib/components/Table/TableCell/index.js +0 -13
  531. package/lib/components/Table/TableExpandedRow/index.js +0 -29
  532. package/lib/components/Table/TableExpanderCell/index.js +0 -30
  533. package/lib/components/Table/TableHead/index.js +0 -13
  534. package/lib/components/Table/TableHeadCell/index.js +0 -16
  535. package/lib/components/Table/TableRow/index.js +0 -30
  536. package/lib/components/Table/index.js +0 -31
  537. package/lib/components/Table/index.js.map +1 -1
  538. package/lib/components/Tabs/TabList/index.js +0 -14
  539. package/lib/components/Tabs/index.js +4 -17
  540. package/lib/components/Tabs/index.js.map +1 -1
  541. package/lib/components/Tag/index.js +2 -4
  542. package/lib/components/Tag/index.js.map +1 -1
  543. package/lib/components/Textarea/Textarea.d.ts +1 -1
  544. package/lib/components/Textarea/index.js +0 -43
  545. package/lib/components/Tile/index.js +4 -6
  546. package/lib/components/Tile/index.js.map +1 -1
  547. package/lib/components/Title/index.js +0 -1
  548. package/lib/components/Toast/index.js +0 -10
  549. package/lib/components/Toast/index.js.map +1 -1
  550. package/lib/components/ToastList/index.js +0 -9
  551. package/lib/components/ToastList/index.js.map +1 -1
  552. package/lib/components/Toggle/index.js +10 -10
  553. package/lib/components/Toggle/index.js.map +1 -1
  554. package/lib/components/Validation/index.js +2 -53
  555. package/lib/components/Validation/index.js.map +1 -1
  556. package/lib/floating-ui.react.js +65 -61
  557. package/lib/floating-ui.react.js.map +1 -1
  558. package/lib/hoc/withBreakpoint/index.js +0 -2
  559. package/lib/hoc/withBreakpoint/index.js.map +1 -1
  560. package/lib/hoc/withBreakpoint/withBreakpoint.js +0 -2
  561. package/lib/hooks/useBreakpoint.js +0 -1
  562. package/lib/hooks/useExpand.js +0 -1
  563. package/lib/hooks/useFocusToggle.js +0 -2
  564. package/lib/hooks/useFocusTrap.js +0 -3
  565. package/lib/hooks/useFocusableElements.js +0 -1
  566. package/lib/hooks/useIcons.js +0 -6
  567. package/lib/hooks/useIsMobileBreakpoint.js +0 -2
  568. package/lib/hooks/useIsVisible.js +0 -1
  569. package/lib/hooks/useLayoutEvent.js +0 -1
  570. package/lib/hooks/useReturnFocusOnUnmount.js +0 -2
  571. package/lib/hooks/useRovingFocus.js +0 -2
  572. package/lib/hooks/useSize.js +0 -1
  573. package/lib/hooks/useToggle.js +0 -1
  574. package/lib/index.js +0 -9
  575. package/lib/theme/currys/color.js +0 -4
  576. package/lib/theme/currys/index.js +0 -5
  577. package/lib/theme/currys/spacing.js +0 -1
  578. package/lib/theme/index.js +0 -3
  579. package/lib/utils/uuid.js +0 -1
  580. package/lib/uuid.js +1 -1
  581. package/package.json +3 -8
  582. package/lib/scss/_figma-tokens.scss +0 -68
  583. package/scss/_figma-tokens.scss +0 -68
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Progressbar: React.FC<ProgressbarProps>"],"sources":["../../../src/components/Progressbar/Progressbar.tsx","../../../src/components/Progressbar/index.ts"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\n\nimport classNames from 'classnames';\n\nimport { ZIndex } from '../../constants';\nimport { palette } from '../../theme/palette';\n\nimport styles from './styles.module.scss';\n\nexport enum ProgressbarSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum ProgressBarMode {\n ondark = 'ondark',\n onlight = 'onlight',\n}\n\nexport enum Overlay {\n screen = 'screen',\n parent = 'parent',\n}\nexport interface ProgressbarProps {\n /** The value of the progressbar given in percent. Value between 0 and 100 */\n value: number;\n /** Size of the progressbar. Default is large */\n size?: ProgressbarSize;\n /** Changes the visuals of the ProgressBar. Default is onLight */\n mode?: ProgressBarMode;\n /** Loader is displayed with grey background covering the entire screen */\n overlay?: keyof typeof Overlay;\n /** Aria label for the progressbar */\n ariaLabel?: string;\n /** Sets the data-testid attribute */\n testId?: string;\n}\n\nconst Progressbar: React.FC<ProgressbarProps> = ({\n value,\n size = ProgressbarSize.large,\n mode = ProgressBarMode.onlight,\n overlay,\n testId,\n ariaLabel,\n}: ProgressbarProps) => {\n if (overlay) {\n mode = ProgressBarMode.ondark;\n }\n // Restrict value to be between 0 and 100\n value = Math.max(0, Math.min(value, 100));\n\n let width;\n if (size === ProgressbarSize.large) {\n width = 96;\n } else if (size === ProgressbarSize.medium) {\n width = 50;\n } else {\n width = 44;\n }\n\n const totalRadius = width / 2;\n const strokeWidth = 8;\n const radius = totalRadius - strokeWidth / 2;\n const viewBoxSize = totalRadius * 2;\n const viewBoxCenter = totalRadius;\n const circleBackgroundColor = mode === ProgressBarMode.onlight ? palette.blueberry100 : palette.neutral700;\n const mainColor = mode === ProgressBarMode.onlight ? palette.blueberry600 : palette.white;\n const circumference = 2 * Math.PI * radius;\n const strokeDashoffset = circumference - (value / 100) * circumference;\n const valueText = `${value}%`;\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (overlay === Overlay.parent && wrapperRef.current?.parentElement?.style) {\n wrapperRef.current.parentElement.style.position = 'relative';\n }\n }, []);\n\n const wrapperClasses = classNames({\n [styles['progressbar--overlay']]: overlay,\n [styles['progressbar--overlay-screen']]: overlay === Overlay.screen,\n [styles['progressbar--overlay-parent']]: overlay === Overlay.parent,\n });\n\n return (\n <>\n <div\n ref={wrapperRef}\n className={wrapperClasses}\n data-testid={testId}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={value}\n aria-label={ariaLabel}\n style={overlay === Overlay.screen ? { zIndex: ZIndex.OverlayScreen } : {}}\n >\n <svg\n role=\"presentation\"\n width={viewBoxSize}\n height={viewBoxSize}\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n className={styles['progressbar__svg']}\n >\n <circle cx={viewBoxCenter} cy={viewBoxCenter} r={radius} stroke={circleBackgroundColor} strokeWidth={strokeWidth} fill=\"none\" />\n <circle\n cx={viewBoxCenter}\n cy={viewBoxCenter}\n r={radius}\n stroke={mainColor}\n strokeWidth={strokeWidth}\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={strokeDashoffset}\n className={styles['progressbar__progress-circle']}\n transform={`rotate(-90 ${viewBoxCenter} ${viewBoxCenter})`}\n />\n <text\n className=\"progress-wheel__text--large\"\n fontSize={'1.5rem'}\n fill={mainColor}\n x={viewBoxCenter}\n y={viewBoxCenter}\n textAnchor=\"middle\"\n alignmentBaseline=\"middle\"\n >\n {size === ProgressbarSize.large && valueText}\n </text>\n </svg>\n </div>\n <div className={styles['progressbar__sr-only-text']} aria-live=\"assertive\" aria-atomic=\"true\">\n {valueText}\n </div>\n </>\n );\n};\n\nexport default Progressbar;\n","import Progressbar from './Progressbar';\nexport * from './Progressbar';\nexport default Progressbar;\n"],"mappings":";;;;;;AASA,IAAY,kBAAA,yBAAA,mBAAL;AACL,mBAAA,WAAA;AACA,mBAAA,YAAA;AACA,mBAAA,WAAA;;;AAGF,IAAY,kBAAA,yBAAA,mBAAL;AACL,mBAAA,YAAA;AACA,mBAAA,aAAA;;;AAGF,IAAY,UAAA,yBAAA,WAAL;AACL,WAAA,YAAA;AACA,WAAA,YAAA;;;AAiBF,IAAMA,eAA2C,EAC/C,OACA,OAAO,gBAAgB,OACvB,OAAO,gBAAgB,SACvB,SACA,QACA,gBACsB;AACtB,KAAI,QACF,QAAO,gBAAgB;AAGzB,SAAQ,KAAK,IAAI,GAAG,KAAK,IAAI,OAAO,IAAI,CAAC;CAEzC,IAAI;AACJ,KAAI,SAAS,gBAAgB,MAC3B,SAAQ;UACC,SAAS,gBAAgB,OAClC,SAAQ;KAER,SAAQ;CAGV,MAAM,cAAc,QAAQ;CAC5B,MAAM,cAAc;CACpB,MAAM,SAAS,cAAc,cAAc;CAC3C,MAAM,cAAc,cAAc;CAClC,MAAM,gBAAgB;CACtB,MAAM,wBAAwB,SAAS,gBAAgB,UAAU,QAAQ,eAAe,QAAQ;CAChG,MAAM,YAAY,SAAS,gBAAgB,UAAU,QAAQ,eAAe,QAAQ;CACpF,MAAM,gBAAgB,IAAI,KAAK,KAAK;CACpC,MAAM,mBAAmB,gBAAiB,QAAQ,MAAO;CACzD,MAAM,YAAY,GAAG,MAAM;CAE3B,MAAM,aAAa,OAAuB,KAAK;AAE/C,iBAAgB;AACd,MAAI,YAAY,QAAQ,UAAU,WAAW,SAAS,eAAe,MACnE,YAAW,QAAQ,cAAc,MAAM,WAAW;IAEnD,EAAE,CAAC;AAQN,QACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,OAAA;EACC,KAAK;EACL,WAViB,GAAW;IAC/B,OAAO,0BAA0B;IACjC,OAAO,iCAAiC,YAAY,QAAQ;IAC5D,OAAO,iCAAiC,YAAY,QAAQ;GAC9D,CAAC;EAOI,eAAa;EACb,MAAK;EACL,iBAAe;EACf,iBAAe;EACf,iBAAe;EACf,cAAY;EACZ,OAAO,YAAY,QAAQ,SAAS,EAAE,QAAQ,OAAO,eAAe,GAAG,EAAE;YAEzE,qBAAC,OAAA;GACC,MAAK;GACL,OAAO;GACP,QAAQ;GACR,SAAS,OAAO,YAAY,GAAG;GAC/B,WAAW,OAAO;;IAElB,oBAAC,UAAA;KAAO,IAAI;KAAe,IAAI;KAAe,GAAG;KAAQ,QAAQ;KAAoC;KAAa,MAAK;MAAS;IAChI,oBAAC,UAAA;KACC,IAAI;KACJ,IAAI;KACJ,GAAG;KACH,QAAQ;KACK;KACb,MAAK;KACL,iBAAiB;KACC;KAClB,WAAW,OAAO;KAClB,WAAW,cAAc,cAAc,GAAG,cAAc;MACxD;IACF,oBAAC,QAAA;KACC,WAAU;KACV,UAAU;KACV,MAAM;KACN,GAAG;KACH,GAAG;KACH,YAAW;KACX,mBAAkB;eAEjB,SAAS,gBAAgB,SAAS;MAC9B;;IACH;GACF,EACN,oBAAC,OAAA;EAAI,WAAW,OAAO;EAA8B,aAAU;EAAY,eAAY;YACpF;GACG,CAAA,EAAA,CACL;;ACtIP,IAAA,sBD0Ie"}
1
+ {"version":3,"file":"index.js","names":["Progressbar: React.FC<ProgressbarProps>"],"sources":["../../../src/components/Progressbar/Progressbar.tsx","../../../src/components/Progressbar/index.ts"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\n\nimport classNames from 'classnames';\n\nimport { ZIndex } from '../../constants';\nimport { palette } from '../../theme/palette';\n\nimport styles from './styles.module.scss';\n\nexport enum ProgressbarSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum ProgressBarMode {\n ondark = 'ondark',\n onlight = 'onlight',\n}\n\nexport enum Overlay {\n screen = 'screen',\n parent = 'parent',\n}\nexport interface ProgressbarProps {\n /** The value of the progressbar given in percent. Value between 0 and 100 */\n value: number;\n /** Size of the progressbar. Default is large */\n size?: ProgressbarSize;\n /** Changes the visuals of the ProgressBar. Default is onLight */\n mode?: ProgressBarMode;\n /** Loader is displayed with grey background covering the entire screen */\n overlay?: keyof typeof Overlay;\n /** Aria label for the progressbar */\n ariaLabel?: string;\n /** Sets the data-testid attribute */\n testId?: string;\n}\n\nconst Progressbar: React.FC<ProgressbarProps> = ({\n value,\n size = ProgressbarSize.large,\n mode = ProgressBarMode.onlight,\n overlay,\n testId,\n ariaLabel,\n}: ProgressbarProps) => {\n if (overlay) {\n mode = ProgressBarMode.ondark;\n }\n // Restrict value to be between 0 and 100\n value = Math.max(0, Math.min(value, 100));\n\n let width;\n if (size === ProgressbarSize.large) {\n width = 96;\n } else if (size === ProgressbarSize.medium) {\n width = 50;\n } else {\n width = 44;\n }\n\n const totalRadius = width / 2;\n const strokeWidth = 8;\n const radius = totalRadius - strokeWidth / 2;\n const viewBoxSize = totalRadius * 2;\n const viewBoxCenter = totalRadius;\n const circleBackgroundColor = mode === ProgressBarMode.onlight ? palette.blueberry100 : palette.neutral700;\n const mainColor = mode === ProgressBarMode.onlight ? palette.blueberry600 : palette.white;\n const circumference = 2 * Math.PI * radius;\n const strokeDashoffset = circumference - (value / 100) * circumference;\n const valueText = `${value}%`;\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (overlay === Overlay.parent && wrapperRef.current?.parentElement?.style) {\n wrapperRef.current.parentElement.style.position = 'relative';\n }\n }, []);\n\n const wrapperClasses = classNames({\n [styles['progressbar--overlay']]: overlay,\n [styles['progressbar--overlay-screen']]: overlay === Overlay.screen,\n [styles['progressbar--overlay-parent']]: overlay === Overlay.parent,\n });\n\n return (\n <>\n <div\n ref={wrapperRef}\n className={wrapperClasses}\n data-testid={testId}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={value}\n aria-label={ariaLabel}\n style={overlay === Overlay.screen ? { zIndex: ZIndex.OverlayScreen } : {}}\n >\n <svg\n role=\"presentation\"\n width={viewBoxSize}\n height={viewBoxSize}\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n className={styles['progressbar__svg']}\n >\n <circle cx={viewBoxCenter} cy={viewBoxCenter} r={radius} stroke={circleBackgroundColor} strokeWidth={strokeWidth} fill=\"none\" />\n <circle\n cx={viewBoxCenter}\n cy={viewBoxCenter}\n r={radius}\n stroke={mainColor}\n strokeWidth={strokeWidth}\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={strokeDashoffset}\n className={styles['progressbar__progress-circle']}\n transform={`rotate(-90 ${viewBoxCenter} ${viewBoxCenter})`}\n />\n <text\n className=\"progress-wheel__text--large\"\n fontSize={'1.5rem'}\n fill={mainColor}\n x={viewBoxCenter}\n y={viewBoxCenter}\n textAnchor=\"middle\"\n alignmentBaseline=\"middle\"\n >\n {size === ProgressbarSize.large && valueText}\n </text>\n </svg>\n </div>\n <div className={styles['progressbar__sr-only-text']} aria-live=\"assertive\" aria-atomic=\"true\">\n {valueText}\n </div>\n </>\n );\n};\n\nexport default Progressbar;\n","import Progressbar from './Progressbar';\nexport * from './Progressbar';\nexport default Progressbar;\n"],"mappings":";;;;;;AASA,IAAY,kBAAA,yBAAA,mBAAL;AACL,mBAAA,WAAA;AACA,mBAAA,YAAA;AACA,mBAAA,WAAA;;;AAGF,IAAY,kBAAA,yBAAA,mBAAL;AACL,mBAAA,YAAA;AACA,mBAAA,aAAA;;;AAGF,IAAY,UAAA,yBAAA,WAAL;AACL,WAAA,YAAA;AACA,WAAA,YAAA;;;AAiBF,IAAMA,eAA2C,EAC/C,OACA,OAAO,gBAAgB,OACvB,OAAO,gBAAgB,SACvB,SACA,QACA,gBACsB;AACtB,KAAI,QACF,QAAO,gBAAgB;AAGzB,SAAQ,KAAK,IAAI,GAAG,KAAK,IAAI,OAAO,IAAI,CAAC;CAEzC,IAAI;AACJ,KAAI,SAAS,gBAAgB,MAC3B,SAAQ;UACC,SAAS,gBAAgB,OAClC,SAAQ;KAER,SAAQ;CAGV,MAAM,cAAc,QAAQ;CAC5B,MAAM,cAAc;CACpB,MAAM,SAAS,cAAc,cAAc;CAC3C,MAAM,cAAc,cAAc;CAClC,MAAM,gBAAgB;CACtB,MAAM,wBAAwB,SAAS,gBAAgB,UAAU,QAAQ,eAAe,QAAQ;CAChG,MAAM,YAAY,SAAS,gBAAgB,UAAU,QAAQ,eAAe,QAAQ;CACpF,MAAM,gBAAgB,IAAI,KAAK,KAAK;CACpC,MAAM,mBAAmB,gBAAiB,QAAQ,MAAO;CACzD,MAAM,YAAY,GAAG,MAAM;CAE3B,MAAM,aAAa,OAAuB,KAAK;AAE/C,iBAAgB;AACd,MAAI,YAAY,QAAQ,UAAU,WAAW,SAAS,eAAe,MACnE,YAAW,QAAQ,cAAc,MAAM,WAAW;IAEnD,EAAE,CAAC;AAQN,QACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,OAAA;EACC,KAAK;EACL,WAViB,WAAW;IAC/B,OAAO,0BAA0B;IACjC,OAAO,iCAAiC,YAAY,QAAQ;IAC5D,OAAO,iCAAiC,YAAY,QAAQ;GAC9D,CAAC;EAOI,eAAa;EACb,MAAK;EACL,iBAAe;EACf,iBAAe;EACf,iBAAe;EACf,cAAY;EACZ,OAAO,YAAY,QAAQ,SAAS,EAAE,QAAQ,OAAO,eAAe,GAAG,EAAE;YAEzE,qBAAC,OAAA;GACC,MAAK;GACL,OAAO;GACP,QAAQ;GACR,SAAS,OAAO,YAAY,GAAG;GAC/B,WAAW,OAAO;;IAElB,oBAAC,UAAA;KAAO,IAAI;KAAe,IAAI;KAAe,GAAG;KAAQ,QAAQ;KAAoC;KAAa,MAAK;MAAS;IAChI,oBAAC,UAAA;KACC,IAAI;KACJ,IAAI;KACJ,GAAG;KACH,QAAQ;KACK;KACb,MAAK;KACL,iBAAiB;KACC;KAClB,WAAW,OAAO;KAClB,WAAW,cAAc,cAAc,GAAG,cAAc;MACxD;IACF,oBAAC,QAAA;KACC,WAAU;KACV,UAAU;KACV,MAAM;KACN,GAAG;KACH,GAAG;KACH,YAAW;KACX,mBAAkB;eAEjB,SAAS,gBAAgB,SAAS;MAC9B;;IACH;GACF,EACN,oBAAC,OAAA;EAAI,WAAW,OAAO;EAA8B,aAAU;EAAY,eAAY;YACpF;GACG,CAAA,EAAA,CACL;;ACtIP,IAAA,sBD0Ie"}
@@ -1,24 +1,14 @@
1
1
  import { a as IconSize, n as AnalyticsId } from "../../constants2.js";
2
2
  import { t as usePseudoClasses } from "../../usePseudoClasses.js";
3
- import "../../grid.js";
4
- import "../../palette.js";
5
- import "../../spacers.js";
6
- import "../../theme.js";
7
3
  import { t as getColor } from "../../color.js";
8
4
  import { t as Icon_default } from "../../Icon.js";
9
5
  import { t as ArrowUpRight_default } from "../../ArrowUpRight.js";
10
- import "../../_rolldown_dynamic_import_helper.js";
11
- import "../../useIsServerSide.js";
12
6
  import { n as useBreakpoint, t as Breakpoint } from "../../useBreakpoint.js";
13
7
  import { t as ArrowRight_default } from "../../ArrowRight.js";
14
- import "../../Title.js";
15
8
  import { t as Title_default } from "../../Title2.js";
16
- import "../../utils.js";
17
- import "../../Illustration.js";
18
- import "../../IllustrationNames.js";
19
9
  import { t as LazyIllustration_default } from "../../LazyIllustration.js";
20
10
  import React from "react";
21
- import cn from "classnames";
11
+ import classNames from "classnames";
22
12
  import { jsx, jsxs } from "react/jsx-runtime";
23
13
  import styles from "./styles.module.scss";
24
14
  var PromoPanelLink = (props) => {
@@ -39,7 +29,7 @@ var PromoPanel = (props) => {
39
29
  const { isHovered, refObject } = usePseudoClasses();
40
30
  const { color = "neutral", titleHtmlMarkup = "h2", linkHtmlMarkup = "a" } = props;
41
31
  const breakpoint = useBreakpoint();
42
- const promoPanelClasses = cn(styles.promopanel, styles[`promopanel--${color}`], !props.illustration && styles["promopanel--no-illustration"]);
32
+ const promoPanelClasses = classNames(styles.promopanel, styles[`promopanel--${color}`], !props.illustration && styles["promopanel--no-illustration"]);
43
33
  const promoPanelLink = /* @__PURE__ */ jsx(PromoPanelLink, {
44
34
  href: props.href,
45
35
  target: props.target,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PromoPanelLink: React.FC<PromoPanelLinkProps>","PromoPanel: React.FC<PromoPanelProps>"],"sources":["../../../src/components/PromoPanel/PromoPanel.tsx","../../../src/components/PromoPanel/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { Breakpoint, useBreakpoint } from '../../hooks/useBreakpoint';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { getColor } from '../../theme/currys/color';\nimport { PaletteNames } from '../../theme/palette';\nimport { AnchorLinkTags, AnchorLinkTargets } from '../AnchorLink';\nimport Icon from '../Icon';\nimport ArrowRight from '../Icons/ArrowRight';\nimport ArrowUpRight from '../Icons/ArrowUpRight';\nimport LazyIllustration from '../LazyIllustration';\nimport Title, { TitleTags } from '../Title';\n\nimport styles from './styles.module.scss';\n\nexport type PromoPanelColors = Extract<PaletteNames, 'neutral' | 'blueberry' | 'cherry'>;\n\nexport interface PromoPanelProps {\n /** Used as the link text if set. title or children must be set for the link to have accessible text. */\n title?: string;\n /** Used as the link text if title is not set. */\n children?: string;\n /** Illustration element */\n illustration?: 'Doctor' | 'HealthcarePersonnel';\n /** Changes the underlying element of the title. */\n titleHtmlMarkup?: TitleTags;\n /** Changes the background color. Default: white */\n color?: PromoPanelColors;\n /** Not used if linkComponent is set */\n href?: string;\n /** Anchor link target. If linkComponent is set, this prop is only used to display the right icon for external links. */\n target?: AnchorLinkTargets;\n /** HTML markup for anchor link. Not used if linkComponent is set. Default: a */\n linkHtmlMarkup?: AnchorLinkTags;\n /** Function that is called when clicked. Not used if linkComponent is set. */\n linkOnClick?: () => void;\n /** Custom link component. Must be \"a\" a or \"button\" element with no styling. */\n linkComponent?: React.ReactElement;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\ninterface PromoPanelLinkProps {\n children?: string;\n href?: string;\n target?: AnchorLinkTargets;\n linkComponent?: React.ReactElement;\n linkHtmlMarkup?: AnchorLinkTags;\n linkOnClick?: () => void;\n}\n\nconst PromoPanelLink: React.FC<PromoPanelLinkProps> = props => {\n if (props.linkComponent) {\n return React.cloneElement(props.linkComponent, { children: props.children });\n }\n\n if (props.linkHtmlMarkup === 'button') {\n return (\n <button type={'button'} onClick={props.linkOnClick}>\n {props.children}\n </button>\n );\n }\n return (\n <a href={props.href} target={props.target} onClick={props.linkOnClick}>\n {props.children}\n </a>\n );\n};\n\nconst PromoPanel: React.FC<PromoPanelProps> = props => {\n const { isHovered, refObject } = usePseudoClasses<HTMLDivElement>();\n\n const { color = 'neutral', titleHtmlMarkup = 'h2', linkHtmlMarkup = 'a' } = props;\n\n const breakpoint = useBreakpoint();\n\n const promoPanelClasses = classNames(\n styles.promopanel,\n styles[`promopanel--${color}`],\n !props.illustration && styles['promopanel--no-illustration']\n );\n\n const promoPanelLink = (\n <PromoPanelLink\n href={props.href}\n target={props.target}\n linkComponent={props.linkComponent}\n linkHtmlMarkup={linkHtmlMarkup}\n linkOnClick={props.linkOnClick}\n >\n {props.title || props.children}\n </PromoPanelLink>\n );\n\n const illustrationSize = ((): number => {\n if (breakpoint >= Breakpoint.md) {\n return 156;\n }\n\n return 110;\n })();\n\n return (\n <div className={promoPanelClasses} data-testid={props.testId} data-analyticsid={AnalyticsId.PromoPanel} ref={refObject}>\n {props.illustration && (\n <LazyIllustration\n illustrationName={props.illustration}\n size={illustrationSize}\n color={color}\n className={styles.promopanel__illustration}\n />\n )}\n <div className={styles.promopanel__content}>\n {props.title && (\n <Title htmlMarkup={titleHtmlMarkup} appearance={'title3'}>\n {promoPanelLink}\n </Title>\n )}\n {!props.title ? promoPanelLink : props.children}\n </div>\n <Icon\n className={styles.promopanel__icon}\n svgIcon={props.target === '_blank' ? ArrowUpRight : ArrowRight}\n size={breakpoint >= Breakpoint.md ? IconSize.Small : IconSize.XSmall}\n isHovered={isHovered}\n color={getColor('blueberry', 500)}\n hoverColor={getColor('blueberry', 600)}\n />\n </div>\n );\n};\n\nexport default PromoPanel;\n","import PromoPanel from './PromoPanel';\nexport * from './PromoPanel';\nexport default PromoPanel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsDA,IAAMA,kBAAgD,UAAS;AAC7D,KAAI,MAAM,cACR,QAAO,MAAM,aAAa,MAAM,eAAe,EAAE,UAAU,MAAM,UAAU,CAAC;AAG9E,KAAI,MAAM,mBAAmB,SAC3B,QACE,oBAAC,UAAA;EAAO,MAAM;EAAU,SAAS,MAAM;YACpC,MAAM;GACA;AAGb,QACE,oBAAC,KAAA;EAAE,MAAM,MAAM;EAAM,QAAQ,MAAM;EAAQ,SAAS,MAAM;YACvD,MAAM;GACL;;AAIR,IAAMC,cAAwC,UAAS;CACrD,MAAM,EAAE,WAAW,cAAc,kBAAkC;CAEnE,MAAM,EAAE,QAAQ,WAAW,kBAAkB,MAAM,iBAAiB,QAAQ;CAE5E,MAAM,aAAa,eAAe;CAElC,MAAM,oBAAoB,GACxB,OAAO,YACP,OAAO,eAAe,UACtB,CAAC,MAAM,gBAAgB,OAAO,+BAC/B;CAED,MAAM,iBACJ,oBAAC,gBAAA;EACC,MAAM,MAAM;EACZ,QAAQ,MAAM;EACd,eAAe,MAAM;EACL;EAChB,aAAa,MAAM;YAElB,MAAM,SAAS,MAAM;GACP;CAGnB,MAAM,0BAAkC;AACtC,MAAI,cAAc,WAAW,GAC3B,QAAO;AAGT,SAAO;KACL;AAEJ,QACE,qBAAC,OAAA;EAAI,WAAW;EAAmB,eAAa,MAAM;EAAQ,oBAAkB,YAAY;EAAY,KAAK;;GAC1G,MAAM,gBACL,oBAAC,0BAAA;IACC,kBAAkB,MAAM;IACxB,MAAM;IACC;IACP,WAAW,OAAO;KAClB;GAEJ,qBAAC,OAAA;IAAI,WAAW,OAAO;eACpB,MAAM,SACL,oBAAC,eAAA;KAAM,YAAY;KAAiB,YAAY;eAC7C;MACK,EAET,CAAC,MAAM,QAAQ,iBAAiB,MAAM,SAAA;KACnC;GACN,oBAAC,cAAA;IACC,WAAW,OAAO;IAClB,SAAS,MAAM,WAAW,WAAW,uBAAe;IACpD,MAAM,cAAc,WAAW,KAAK,SAAS,QAAQ,SAAS;IACnD;IACX,OAAO,SAAS,aAAa,IAAI;IACjC,YAAY,SAAS,aAAa,IAAI;KACtC;;GACE;;AClIV,IAAA,qBDsIe"}
1
+ {"version":3,"file":"index.js","names":["PromoPanelLink: React.FC<PromoPanelLinkProps>","PromoPanel: React.FC<PromoPanelProps>"],"sources":["../../../src/components/PromoPanel/PromoPanel.tsx","../../../src/components/PromoPanel/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { Breakpoint, useBreakpoint } from '../../hooks/useBreakpoint';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { getColor } from '../../theme/currys/color';\nimport { PaletteNames } from '../../theme/palette';\nimport { AnchorLinkTags, AnchorLinkTargets } from '../AnchorLink';\nimport Icon from '../Icon';\nimport ArrowRight from '../Icons/ArrowRight';\nimport ArrowUpRight from '../Icons/ArrowUpRight';\nimport LazyIllustration from '../LazyIllustration';\nimport Title, { TitleTags } from '../Title';\n\nimport styles from './styles.module.scss';\n\nexport type PromoPanelColors = Extract<PaletteNames, 'neutral' | 'blueberry' | 'cherry'>;\n\nexport interface PromoPanelProps {\n /** Used as the link text if set. title or children must be set for the link to have accessible text. */\n title?: string;\n /** Used as the link text if title is not set. */\n children?: string;\n /** Illustration element */\n illustration?: 'Doctor' | 'HealthcarePersonnel';\n /** Changes the underlying element of the title. */\n titleHtmlMarkup?: TitleTags;\n /** Changes the background color. Default: white */\n color?: PromoPanelColors;\n /** Not used if linkComponent is set */\n href?: string;\n /** Anchor link target. If linkComponent is set, this prop is only used to display the right icon for external links. */\n target?: AnchorLinkTargets;\n /** HTML markup for anchor link. Not used if linkComponent is set. Default: a */\n linkHtmlMarkup?: AnchorLinkTags;\n /** Function that is called when clicked. Not used if linkComponent is set. */\n linkOnClick?: () => void;\n /** Custom link component. Must be \"a\" a or \"button\" element with no styling. */\n linkComponent?: React.ReactElement;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\ninterface PromoPanelLinkProps {\n children?: string;\n href?: string;\n target?: AnchorLinkTargets;\n linkComponent?: React.ReactElement;\n linkHtmlMarkup?: AnchorLinkTags;\n linkOnClick?: () => void;\n}\n\nconst PromoPanelLink: React.FC<PromoPanelLinkProps> = props => {\n if (props.linkComponent) {\n return React.cloneElement(props.linkComponent, { children: props.children });\n }\n\n if (props.linkHtmlMarkup === 'button') {\n return (\n <button type={'button'} onClick={props.linkOnClick}>\n {props.children}\n </button>\n );\n }\n return (\n <a href={props.href} target={props.target} onClick={props.linkOnClick}>\n {props.children}\n </a>\n );\n};\n\nconst PromoPanel: React.FC<PromoPanelProps> = props => {\n const { isHovered, refObject } = usePseudoClasses<HTMLDivElement>();\n\n const { color = 'neutral', titleHtmlMarkup = 'h2', linkHtmlMarkup = 'a' } = props;\n\n const breakpoint = useBreakpoint();\n\n const promoPanelClasses = classNames(\n styles.promopanel,\n styles[`promopanel--${color}`],\n !props.illustration && styles['promopanel--no-illustration']\n );\n\n const promoPanelLink = (\n <PromoPanelLink\n href={props.href}\n target={props.target}\n linkComponent={props.linkComponent}\n linkHtmlMarkup={linkHtmlMarkup}\n linkOnClick={props.linkOnClick}\n >\n {props.title || props.children}\n </PromoPanelLink>\n );\n\n const illustrationSize = ((): number => {\n if (breakpoint >= Breakpoint.md) {\n return 156;\n }\n\n return 110;\n })();\n\n return (\n <div className={promoPanelClasses} data-testid={props.testId} data-analyticsid={AnalyticsId.PromoPanel} ref={refObject}>\n {props.illustration && (\n <LazyIllustration\n illustrationName={props.illustration}\n size={illustrationSize}\n color={color}\n className={styles.promopanel__illustration}\n />\n )}\n <div className={styles.promopanel__content}>\n {props.title && (\n <Title htmlMarkup={titleHtmlMarkup} appearance={'title3'}>\n {promoPanelLink}\n </Title>\n )}\n {!props.title ? promoPanelLink : props.children}\n </div>\n <Icon\n className={styles.promopanel__icon}\n svgIcon={props.target === '_blank' ? ArrowUpRight : ArrowRight}\n size={breakpoint >= Breakpoint.md ? IconSize.Small : IconSize.XSmall}\n isHovered={isHovered}\n color={getColor('blueberry', 500)}\n hoverColor={getColor('blueberry', 600)}\n />\n </div>\n );\n};\n\nexport default PromoPanel;\n","import PromoPanel from './PromoPanel';\nexport * from './PromoPanel';\nexport default PromoPanel;\n"],"mappings":";;;;;;;;;;;;;AAsDA,IAAMA,kBAAgD,UAAS;AAC7D,KAAI,MAAM,cACR,QAAO,MAAM,aAAa,MAAM,eAAe,EAAE,UAAU,MAAM,UAAU,CAAC;AAG9E,KAAI,MAAM,mBAAmB,SAC3B,QACE,oBAAC,UAAA;EAAO,MAAM;EAAU,SAAS,MAAM;YACpC,MAAM;GACA;AAGb,QACE,oBAAC,KAAA;EAAE,MAAM,MAAM;EAAM,QAAQ,MAAM;EAAQ,SAAS,MAAM;YACvD,MAAM;GACL;;AAIR,IAAMC,cAAwC,UAAS;CACrD,MAAM,EAAE,WAAW,cAAc,kBAAkC;CAEnE,MAAM,EAAE,QAAQ,WAAW,kBAAkB,MAAM,iBAAiB,QAAQ;CAE5E,MAAM,aAAa,eAAe;CAElC,MAAM,oBAAoB,WACxB,OAAO,YACP,OAAO,eAAe,UACtB,CAAC,MAAM,gBAAgB,OAAO,+BAC/B;CAED,MAAM,iBACJ,oBAAC,gBAAA;EACC,MAAM,MAAM;EACZ,QAAQ,MAAM;EACd,eAAe,MAAM;EACL;EAChB,aAAa,MAAM;YAElB,MAAM,SAAS,MAAM;GACP;CAGnB,MAAM,0BAAkC;AACtC,MAAI,cAAc,WAAW,GAC3B,QAAO;AAGT,SAAO;KACL;AAEJ,QACE,qBAAC,OAAA;EAAI,WAAW;EAAmB,eAAa,MAAM;EAAQ,oBAAkB,YAAY;EAAY,KAAK;;GAC1G,MAAM,gBACL,oBAAC,0BAAA;IACC,kBAAkB,MAAM;IACxB,MAAM;IACC;IACP,WAAW,OAAO;KAClB;GAEJ,qBAAC,OAAA;IAAI,WAAW,OAAO;eACpB,MAAM,SACL,oBAAC,eAAA;KAAM,YAAY;KAAiB,YAAY;eAC7C;MACK,EAET,CAAC,MAAM,QAAQ,iBAAiB,MAAM,SAAA;KACnC;GACN,oBAAC,cAAA;IACC,WAAW,OAAO;IAClB,SAAS,MAAM,WAAW,WAAW,uBAAe;IACpD,MAAM,cAAc,WAAW,KAAK,SAAS,QAAQ,SAAS;IACnD;IACX,OAAO,SAAS,aAAa,IAAI;IACjC,YAAY,SAAS,aAAa,IAAI;KACtC;;GACE;;AClIV,IAAA,qBDsIe"}
@@ -1,46 +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 "../../_rolldown_dynamic_import_helper.js";
16
- import "../../useIsServerSide.js";
17
- import "../../LazyIcon.js";
18
- import "../../component.js";
19
- import "../../useBreakpoint.js";
20
- import "../../useIdWithFallback.js";
21
- import "../../accessibility.js";
22
- import "../../ErrorWrapper.js";
23
- import "../../Spacer.js";
24
- import "../../Label.js";
25
- import "../../FormFieldTag.js";
26
- import "../../useElementList.js";
27
- import "../../useFocusableElements.js";
28
- import "../../useFocusToggle.js";
29
- import "../../focus.js";
30
- import "../../useFocusTrap.js";
31
- import "../../useIntersectionObserver.js";
32
- import "../../useIsVisible.js";
33
- import "../../debounce.js";
34
- import "../../useLayoutEvent.js";
35
- import "../../usePrevious.js";
36
- import "../../useSize.js";
37
- import "../../useResizeObserver.js";
38
- import "../../useToggle.js";
39
- import "../../useKeyboardEvent.js";
40
- import "../../useOutsideEvent.js";
41
- import "../../mobile.js";
42
- import "../../src.js";
43
- import "../../StatusDot.js";
44
1
  import { r as getRadioLabelClasses, t as RadioButton } from "../../RadioButton.js";
45
2
  import { t as RadioButton_default } from "../../RadioButton2.js";
46
3
  export { RadioButton, RadioButton_default as default, getRadioLabelClasses };
@@ -1,45 +1,2 @@
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 "../../Icon.js";
13
- import "../../language.js";
14
- import "../../_rolldown_dynamic_import_helper.js";
15
- import "../../useIsServerSide.js";
16
- import "../../LazyIcon.js";
17
- import "../../component.js";
18
- import "../../useBreakpoint.js";
19
- import "../../useIdWithFallback.js";
20
- import "../../accessibility.js";
21
- import "../../ErrorWrapper.js";
22
- import "../../Spacer.js";
23
- import "../../Label.js";
24
- import "../../FormFieldTag.js";
25
- import "../../useElementList.js";
26
- import "../../useFocusableElements.js";
27
- import "../../useFocusToggle.js";
28
- import "../../focus.js";
29
- import "../../useFocusTrap.js";
30
- import "../../useIntersectionObserver.js";
31
- import "../../useIsVisible.js";
32
- import "../../debounce.js";
33
- import "../../useLayoutEvent.js";
34
- import "../../usePrevious.js";
35
- import "../../useSize.js";
36
- import "../../useResizeObserver.js";
37
- import "../../useToggle.js";
38
- import "../../useKeyboardEvent.js";
39
- import "../../useOutsideEvent.js";
40
- import "../../mobile.js";
41
- import "../../src.js";
42
- import "../../StatusDot.js";
43
- import "../../ChevronDown.js";
44
1
  import { n as Select, t as Select_default } from "../../Select.js";
45
2
  export { Select, Select_default as default };
@@ -57,6 +57,7 @@
57
57
  grid-column: 1 / 3;
58
58
  grid-row: 1;
59
59
  padding-left: spacers.getSpacer(xs);
60
+ padding-right: 2.5rem;
60
61
  border: none;
61
62
  outline: palette.$neutral700 solid 2px;
62
63
  outline-offset: -2px;
@@ -64,6 +65,7 @@
64
65
  font-size: font-settings.$font-size-sm;
65
66
  line-height: font-settings.$lineheight-size-sm;
66
67
  border-radius: 0;
68
+ text-overflow: ellipsis;
67
69
 
68
70
  @media (min-width: map.get(breakpoints.$grid-breakpoints, md)) {
69
71
  height: calc(3rem + 0.25rem); // 48px height + 4px border
@@ -1,69 +1,26 @@
1
- import "../../uuid.js";
2
- import "../../environment.js";
3
1
  import { a as IconSize } from "../../constants2.js";
4
2
  import { t as usePseudoClasses } from "../../usePseudoClasses.js";
5
3
  import { t as breakpoints } from "../../grid.js";
6
- import "../../palette.js";
7
- import "../../spacers.js";
8
- import "../../theme.js";
9
4
  import { t as getColor } from "../../color.js";
10
- import "../../spacing.js";
11
- import "../../currys.js";
12
- import "../../refs.js";
13
5
  import { t as Icon_default } from "../../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
6
  import { t as NotificationBadge_default } from "../../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
7
  import { n as useBreakpoint } from "../../useBreakpoint.js";
27
- import "../../useIsMobileBreakpoint.js";
28
8
  import { n as getAriaLabelAttributes } from "../../accessibility.js";
29
- import "../../Spacer.js";
30
- import "../../useElementList.js";
31
- import "../../useFocusableElements.js";
32
- import "../../useFocusToggle.js";
33
- import "../../focus.js";
34
- import "../../useFocusTrap.js";
35
- import "../../useIntersectionObserver.js";
36
- import "../../useIsVisible.js";
37
- import "../../debounce.js";
38
- import "../../useLayoutEvent.js";
39
- import "../../usePrevious.js";
40
- import "../../useSize.js";
41
- import "../../useResizeObserver.js";
42
- import "../../useToggle.js";
43
- import "../../useKeyboardEvent.js";
44
- import "../../useOutsideEvent.js";
45
- import "../../mobile.js";
46
- import "../../src.js";
47
- import "../../StatusDot.js";
48
9
  import { t as X_default } from "../../X.js";
49
10
  import { t as Close_default } from "../../Close.js";
50
11
  import { t as ChevronDown_default } from "../../ChevronDown.js";
51
12
  import { t as ChevronUp_default } from "../../ChevronUp.js";
52
- import "../../Duolist.js";
53
- import "../../Highlighter.js";
54
- import "../../ElementHeaderText.js";
55
- import "../../StatusDotList.js";
56
13
  import { i as renderElementHeader } from "../../ElementHeader.js";
57
14
  import { t as Forward_default } from "../../Forward.js";
58
15
  import React, { useId, useState } from "react";
59
- import cn from "classnames";
16
+ import classNames from "classnames";
60
17
  import { jsx, jsxs } from "react/jsx-runtime";
61
18
  import styles from "./styles.module.scss";
62
19
  var Label = ({ label, variant, id, hasExpander, isExpanded, dismissable, onExpand, onDismiss, closeBtnText }) => {
63
20
  const breakpoint = useBreakpoint();
64
21
  const { isHovered, refObject } = usePseudoClasses();
65
22
  const iconSize = breakpoint < breakpoints.lg ? IconSize.XSmall : IconSize.Small;
66
- const labelContainerClasses = cn(styles["service-message__label-container"], styles[`service-message__label-container--${variant}`], hasExpander && styles[`service-message__label-container--has-expander`]);
23
+ const labelContainerClasses = classNames(styles["service-message__label-container"], styles[`service-message__label-container--${variant}`], hasExpander && styles[`service-message__label-container--has-expander`]);
67
24
  const elementHeader = renderElementHeader(label, {
68
25
  titleHtmlMarkup: "span",
69
26
  isHovered,
@@ -131,7 +88,7 @@ var Content = ({ info, extraInfo, urlTitle, url, target, dismissable, closeBtnTe
131
88
  children: info
132
89
  }),
133
90
  extraInfo && /* @__PURE__ */ jsx("p", {
134
- className: cn(styles["service-message__info"], styles["service-message__info--extra"]),
91
+ className: classNames(styles["service-message__info"], styles["service-message__info--extra"]),
135
92
  children: extraInfo
136
93
  }),
137
94
  /* @__PURE__ */ jsxs("div", {
@@ -149,7 +106,7 @@ var Content = ({ info, extraInfo, urlTitle, url, target, dismissable, closeBtnTe
149
106
  })]
150
107
  }), dismissable && /* @__PURE__ */ jsxs("button", {
151
108
  ref: closeButtonRef,
152
- className: cn(styles["service-message__action"], styles["service-message__action--close"]),
109
+ className: classNames(styles["service-message__action"], styles["service-message__action--close"]),
153
110
  "aria-label": closeBtnText,
154
111
  onClick: onDismiss,
155
112
  children: [closeBtnText, /* @__PURE__ */ jsx(Icon_default, {
@@ -179,7 +136,7 @@ var ServiceMessage = ({ label, dismissable = true, onDismiss, info, extraInfo, u
179
136
  if (hasExpander) setIsExpanded(!isExpanded);
180
137
  };
181
138
  return /* @__PURE__ */ jsxs("div", {
182
- className: cn(styles["service-message"], styles[`service-message--${variant}`]),
139
+ className: classNames(styles["service-message"], styles[`service-message--${variant}`]),
183
140
  role: ariaRole,
184
141
  ...ariaLabelAttributes,
185
142
  "data-testid": testId,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Label: React.FC<LabelProps>","Content: React.FC<ContentProps>","ServiceMessage: React.FC<ServiceMessageProps>"],"sources":["../../../src/components/ServiceMessage/ServiceMessage.tsx","../../../src/components/ServiceMessage/index.ts"],"sourcesContent":["import React, { useId, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { useBreakpoint } from '../../hooks/useBreakpoint';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { getColor } from '../../theme/currys';\nimport { breakpoints } from '../../theme/grid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport { AnchorLinkTargets } from '../AnchorLink';\nimport NotificationBadge from '../Badge/NotificationBadge';\nimport Close from '../Close';\nimport { renderElementHeader } from '../ElementHeader/ElementHeader';\nimport Icon, { IconSize } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport Forward from '../Icons/Forward';\nimport X from '../Icons/X';\nimport { NotificationPanelVariants } from '../NotificationPanel';\n\nimport styles from './styles.module.scss';\n\ninterface LabelProps {\n label: string;\n variant: NotificationPanelVariants;\n id: string;\n hasExpander: boolean;\n isExpanded: boolean;\n dismissable: boolean;\n onExpand: () => void;\n onDismiss?: () => void;\n closeBtnText?: string;\n}\n\nconst Label: React.FC<LabelProps> = ({ label, variant, id, hasExpander, isExpanded, dismissable, onExpand, onDismiss, closeBtnText }) => {\n const breakpoint = useBreakpoint();\n const { isHovered, refObject } = usePseudoClasses<HTMLDivElement>();\n\n const iconSize = breakpoint < breakpoints.lg ? IconSize.XSmall : IconSize.Small;\n const labelContainerClasses = classNames(\n styles['service-message__label-container'],\n styles[`service-message__label-container--${variant}`],\n hasExpander && styles[`service-message__label-container--has-expander`]\n );\n\n const elementHeader = renderElementHeader(label, {\n titleHtmlMarkup: 'span',\n isHovered,\n size: 'compact',\n parentType: 'expanderlist',\n chevronIcon: hasExpander ? (isExpanded ? ChevronUp : ChevronDown) : undefined,\n icon: <NotificationBadge variant={variant} size={iconSize} isHovered={hasExpander && isHovered} />,\n closeButton:\n !hasExpander && dismissable ? (\n <Close onClick={onDismiss} ariaLabel={closeBtnText} className={styles['service-message__close']} />\n ) : undefined,\n });\n\n return (\n <div className={labelContainerClasses} ref={refObject}>\n <div className={styles['service-message__container']}>\n <div className={styles['service-message__row']}>\n <div className={styles['service-message__col']}>\n <div className={styles['service-message__label']}>\n {hasExpander ? (\n <h1 className={styles['service-message__title']} id={id}>\n <button type=\"button\" className={styles['service-message__toggle']} onClick={onExpand} aria-expanded={isExpanded}>\n {elementHeader}\n </button>\n </h1>\n ) : (\n <h1 className={styles['service-message__title']} id={id}>\n {elementHeader}\n </h1>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\ninterface ContentProps {\n info?: string;\n extraInfo?: string;\n urlTitle?: string;\n url?: string;\n target?: AnchorLinkTargets;\n dismissable: boolean;\n onDismiss?: () => void;\n closeBtnText?: string;\n}\n\nconst Content: React.FC<ContentProps> = ({ info, extraInfo, urlTitle, url, target, dismissable, closeBtnText, onDismiss }) => {\n const { refObject: readMoreRef, isHovered: readMoreHoverRefIsHovered } = usePseudoClasses<HTMLAnchorElement>();\n const { refObject: closeButtonRef, isHovered: closeButtonIsHovered } = usePseudoClasses<HTMLButtonElement>();\n\n const hasUrl = url && urlTitle;\n\n return (\n <div className={styles['service-message__container']}>\n <div className={styles['service-message__row']}>\n <div className={styles['service-message__col']}>\n <div className={styles['service-message__content']}>\n {info && <p className={styles['service-message__info']}>{info}</p>}\n {extraInfo && (\n <p className={classNames(styles['service-message__info'], styles['service-message__info--extra'])}>{extraInfo}</p>\n )}\n <div className={styles['service-message__actions']}>\n {hasUrl && (\n <a className={styles['service-message__action']} href={url} ref={readMoreRef} target={target}>\n {urlTitle}\n <Icon size={IconSize.XSmall} svgIcon={Forward} color={getColor('blueberry', 700)} isHovered={readMoreHoverRefIsHovered} />\n </a>\n )}\n\n {dismissable && (\n <button\n ref={closeButtonRef}\n className={classNames(styles['service-message__action'], styles['service-message__action--close'])}\n aria-label={closeBtnText}\n onClick={onDismiss}\n >\n {closeBtnText}\n <Icon size={IconSize.XSmall} svgIcon={X} color={getColor('blueberry', 700)} isHovered={closeButtonIsHovered} />\n </button>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport interface ServiceMessageProps {\n /** Sets a label for the notification panel. */\n label: string;\n /** String displayed in service-message when expanded */\n info?: string;\n /** String displayed in service-message when expanded, with a smaller font */\n extraInfo?: string;\n /** function that runs on dismiss */\n onDismiss?: () => void;\n /** Allows for dismiss to be an option, also for ServiceMessage with only label as content */\n dismissable?: boolean;\n /** Makes expander be open from start. */\n expanderOpenFromStart?: boolean;\n /** Name that describes a url-link for the user*/\n urlTitle?: string;\n /** Url for further information*/\n url?: string;\n /** Sets target for the anchorlink to the url*/\n target?: AnchorLinkTargets;\n /** Text on close-button in service messages. */\n closeBtnText?: string;\n /** Changes the visual representation. */\n variant?: NotificationPanelVariants;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst ServiceMessage: React.FC<ServiceMessageProps> = ({\n label,\n dismissable = true,\n onDismiss,\n info,\n extraInfo,\n urlTitle,\n url,\n target = '_self',\n closeBtnText = 'fjern melding',\n expanderOpenFromStart = false,\n variant = 'error',\n testId,\n}) => {\n const [isExpanded, setIsExpanded] = useState<boolean>(expanderOpenFromStart);\n\n const labelId = useId();\n const hasExpander = !!info || !!extraInfo;\n\n const ariaRole = variant === 'error' ? 'alert' : 'region';\n const ariaLabelAttributes = getAriaLabelAttributes({ label, id: labelId });\n\n const handleClick = (): void => {\n if (hasExpander) setIsExpanded(!isExpanded);\n };\n\n const classes = classNames(styles['service-message'], styles[`service-message--${variant}`]);\n\n return (\n <div className={classes} role={ariaRole} {...ariaLabelAttributes} data-testid={testId}>\n <Label\n label={label}\n variant={variant}\n id={labelId}\n hasExpander={hasExpander}\n isExpanded={isExpanded}\n dismissable={dismissable}\n onExpand={handleClick}\n onDismiss={onDismiss}\n closeBtnText={closeBtnText}\n />\n {hasExpander && isExpanded && (\n <Content\n info={info}\n extraInfo={extraInfo}\n urlTitle={urlTitle}\n url={url}\n target={target}\n dismissable={dismissable}\n onDismiss={onDismiss}\n closeBtnText={closeBtnText}\n />\n )}\n </div>\n );\n};\n\nexport default ServiceMessage;\n","import ServiceMessage from './ServiceMessage';\nexport * from './ServiceMessage';\nexport default ServiceMessage;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Label: React.FC<LabelProps>","Content: React.FC<ContentProps>","ServiceMessage: React.FC<ServiceMessageProps>"],"sources":["../../../src/components/ServiceMessage/ServiceMessage.tsx","../../../src/components/ServiceMessage/index.ts"],"sourcesContent":["import React, { useId, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { useBreakpoint } from '../../hooks/useBreakpoint';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { getColor } from '../../theme/currys';\nimport { breakpoints } from '../../theme/grid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport { AnchorLinkTargets } from '../AnchorLink';\nimport NotificationBadge from '../Badge/NotificationBadge';\nimport Close from '../Close';\nimport { renderElementHeader } from '../ElementHeader/ElementHeader';\nimport Icon, { IconSize } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport Forward from '../Icons/Forward';\nimport X from '../Icons/X';\nimport { NotificationPanelVariants } from '../NotificationPanel';\n\nimport styles from './styles.module.scss';\n\ninterface LabelProps {\n label: string;\n variant: NotificationPanelVariants;\n id: string;\n hasExpander: boolean;\n isExpanded: boolean;\n dismissable: boolean;\n onExpand: () => void;\n onDismiss?: () => void;\n closeBtnText?: string;\n}\n\nconst Label: React.FC<LabelProps> = ({ label, variant, id, hasExpander, isExpanded, dismissable, onExpand, onDismiss, closeBtnText }) => {\n const breakpoint = useBreakpoint();\n const { isHovered, refObject } = usePseudoClasses<HTMLDivElement>();\n\n const iconSize = breakpoint < breakpoints.lg ? IconSize.XSmall : IconSize.Small;\n const labelContainerClasses = classNames(\n styles['service-message__label-container'],\n styles[`service-message__label-container--${variant}`],\n hasExpander && styles[`service-message__label-container--has-expander`]\n );\n\n const elementHeader = renderElementHeader(label, {\n titleHtmlMarkup: 'span',\n isHovered,\n size: 'compact',\n parentType: 'expanderlist',\n chevronIcon: hasExpander ? (isExpanded ? ChevronUp : ChevronDown) : undefined,\n icon: <NotificationBadge variant={variant} size={iconSize} isHovered={hasExpander && isHovered} />,\n closeButton:\n !hasExpander && dismissable ? (\n <Close onClick={onDismiss} ariaLabel={closeBtnText} className={styles['service-message__close']} />\n ) : undefined,\n });\n\n return (\n <div className={labelContainerClasses} ref={refObject}>\n <div className={styles['service-message__container']}>\n <div className={styles['service-message__row']}>\n <div className={styles['service-message__col']}>\n <div className={styles['service-message__label']}>\n {hasExpander ? (\n <h1 className={styles['service-message__title']} id={id}>\n <button type=\"button\" className={styles['service-message__toggle']} onClick={onExpand} aria-expanded={isExpanded}>\n {elementHeader}\n </button>\n </h1>\n ) : (\n <h1 className={styles['service-message__title']} id={id}>\n {elementHeader}\n </h1>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\ninterface ContentProps {\n info?: string;\n extraInfo?: string;\n urlTitle?: string;\n url?: string;\n target?: AnchorLinkTargets;\n dismissable: boolean;\n onDismiss?: () => void;\n closeBtnText?: string;\n}\n\nconst Content: React.FC<ContentProps> = ({ info, extraInfo, urlTitle, url, target, dismissable, closeBtnText, onDismiss }) => {\n const { refObject: readMoreRef, isHovered: readMoreHoverRefIsHovered } = usePseudoClasses<HTMLAnchorElement>();\n const { refObject: closeButtonRef, isHovered: closeButtonIsHovered } = usePseudoClasses<HTMLButtonElement>();\n\n const hasUrl = url && urlTitle;\n\n return (\n <div className={styles['service-message__container']}>\n <div className={styles['service-message__row']}>\n <div className={styles['service-message__col']}>\n <div className={styles['service-message__content']}>\n {info && <p className={styles['service-message__info']}>{info}</p>}\n {extraInfo && (\n <p className={classNames(styles['service-message__info'], styles['service-message__info--extra'])}>{extraInfo}</p>\n )}\n <div className={styles['service-message__actions']}>\n {hasUrl && (\n <a className={styles['service-message__action']} href={url} ref={readMoreRef} target={target}>\n {urlTitle}\n <Icon size={IconSize.XSmall} svgIcon={Forward} color={getColor('blueberry', 700)} isHovered={readMoreHoverRefIsHovered} />\n </a>\n )}\n\n {dismissable && (\n <button\n ref={closeButtonRef}\n className={classNames(styles['service-message__action'], styles['service-message__action--close'])}\n aria-label={closeBtnText}\n onClick={onDismiss}\n >\n {closeBtnText}\n <Icon size={IconSize.XSmall} svgIcon={X} color={getColor('blueberry', 700)} isHovered={closeButtonIsHovered} />\n </button>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport interface ServiceMessageProps {\n /** Sets a label for the notification panel. */\n label: string;\n /** String displayed in service-message when expanded */\n info?: string;\n /** String displayed in service-message when expanded, with a smaller font */\n extraInfo?: string;\n /** function that runs on dismiss */\n onDismiss?: () => void;\n /** Allows for dismiss to be an option, also for ServiceMessage with only label as content */\n dismissable?: boolean;\n /** Makes expander be open from start. */\n expanderOpenFromStart?: boolean;\n /** Name that describes a url-link for the user*/\n urlTitle?: string;\n /** Url for further information*/\n url?: string;\n /** Sets target for the anchorlink to the url*/\n target?: AnchorLinkTargets;\n /** Text on close-button in service messages. */\n closeBtnText?: string;\n /** Changes the visual representation. */\n variant?: NotificationPanelVariants;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst ServiceMessage: React.FC<ServiceMessageProps> = ({\n label,\n dismissable = true,\n onDismiss,\n info,\n extraInfo,\n urlTitle,\n url,\n target = '_self',\n closeBtnText = 'fjern melding',\n expanderOpenFromStart = false,\n variant = 'error',\n testId,\n}) => {\n const [isExpanded, setIsExpanded] = useState<boolean>(expanderOpenFromStart);\n\n const labelId = useId();\n const hasExpander = !!info || !!extraInfo;\n\n const ariaRole = variant === 'error' ? 'alert' : 'region';\n const ariaLabelAttributes = getAriaLabelAttributes({ label, id: labelId });\n\n const handleClick = (): void => {\n if (hasExpander) setIsExpanded(!isExpanded);\n };\n\n const classes = classNames(styles['service-message'], styles[`service-message--${variant}`]);\n\n return (\n <div className={classes} role={ariaRole} {...ariaLabelAttributes} data-testid={testId}>\n <Label\n label={label}\n variant={variant}\n id={labelId}\n hasExpander={hasExpander}\n isExpanded={isExpanded}\n dismissable={dismissable}\n onExpand={handleClick}\n onDismiss={onDismiss}\n closeBtnText={closeBtnText}\n />\n {hasExpander && isExpanded && (\n <Content\n info={info}\n extraInfo={extraInfo}\n urlTitle={urlTitle}\n url={url}\n target={target}\n dismissable={dismissable}\n onDismiss={onDismiss}\n closeBtnText={closeBtnText}\n />\n )}\n </div>\n );\n};\n\nexport default ServiceMessage;\n","import ServiceMessage from './ServiceMessage';\nexport * from './ServiceMessage';\nexport default ServiceMessage;\n"],"mappings":"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"}
@@ -2,14 +2,14 @@ import { a as IconSize, n as AnalyticsId } from "../../constants2.js";
2
2
  import { t as palette } from "../../palette.js";
3
3
  import { t as Icon_default } from "../../Icon.js";
4
4
  import React from "react";
5
- import cn from "classnames";
5
+ import classNames from "classnames";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import styles from "./styles.module.scss";
8
8
  var SharingStatus = (props) => {
9
9
  const { color = "neutral", icon, children, className, testId, wrapText } = props;
10
- const sharingStatusClasses = cn(styles["sharing-status"], className);
11
- const dotClasses = cn(styles["sharing-status__dot"], styles[`sharing-status__dot--${color}`]);
12
- const labelClasses = cn(styles["sharing-status__label"], styles[`sharing-status__label--${color}`], { [styles["sharing-status__label--wrap"]]: wrapText });
10
+ const sharingStatusClasses = classNames(styles["sharing-status"], className);
11
+ const dotClasses = classNames(styles["sharing-status__dot"], styles[`sharing-status__dot--${color}`]);
12
+ const labelClasses = classNames(styles["sharing-status__label"], styles[`sharing-status__label--${color}`], { [styles["sharing-status__label--wrap"]]: wrapText });
13
13
  return /* @__PURE__ */ jsxs("span", {
14
14
  className: sharingStatusClasses,
15
15
  "data-testid": testId,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SharingStatus: React.FC<SharingStatusProps>"],"sources":["../../../src/components/SharingStatus/SharingStatus.tsx","../../../src/components/SharingStatus/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { PaletteNames, palette } from '../../theme/palette';\nimport Icon, { SvgIcon } from '../Icon';\n\nimport styles from './styles.module.scss';\n\nexport type SharingStatusColor = Extract<PaletteNames, 'kiwi' | 'cherry' | 'neutral'>;\n\nexport interface SharingStatusProps {\n /** Color choices represent variants of sharingstatus */\n color?: SharingStatusColor;\n /** Adds custom classes to the element. */\n className?: string;\n /** Icon to be displayed next to the sharingstatus */\n icon: SvgIcon;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets the text placed to the right of the sharingstatus */\n children: string;\n /** turn on and off word wrapping */\n wrapText?: boolean;\n}\n\nconst SharingStatus: React.FC<SharingStatusProps> = props => {\n const { color = 'neutral', icon, children, className, testId, wrapText } = props;\n\n const sharingStatusClasses = classNames(styles['sharing-status'], className);\n const dotClasses = classNames(styles['sharing-status__dot'], styles[`sharing-status__dot--${color}`]);\n const labelClasses = classNames(styles['sharing-status__label'], styles[`sharing-status__label--${color}`], {\n [styles['sharing-status__label--wrap']]: wrapText,\n });\n\n return (\n <span className={sharingStatusClasses} data-testid={testId} data-analyticsid={AnalyticsId.SharingStatus}>\n <span className={dotClasses}>\n <Icon color={palette.white} svgIcon={icon} size={IconSize.XXSmall} />\n </span>\n <span className={labelClasses}>{children}</span>\n </span>\n );\n};\n\nexport default SharingStatus;\n","import SharingStatus from './SharingStatus';\nexport * from './SharingStatus';\nexport default SharingStatus;\n"],"mappings":";;;;;;;AA2BA,IAAMA,iBAA8C,UAAS;CAC3D,MAAM,EAAE,QAAQ,WAAW,MAAM,UAAU,WAAW,QAAQ,aAAa;CAE3E,MAAM,uBAAuB,GAAW,OAAO,mBAAmB,UAAU;CAC5E,MAAM,aAAa,GAAW,OAAO,wBAAwB,OAAO,wBAAwB,SAAS;CACrG,MAAM,eAAe,GAAW,OAAO,0BAA0B,OAAO,0BAA0B,UAAU,GACzG,OAAO,iCAAiC,UAC1C,CAAC;AAEF,QACE,qBAAC,QAAA;EAAK,WAAW;EAAsB,eAAa;EAAQ,oBAAkB,YAAY;aACxF,oBAAC,QAAA;GAAK,WAAW;aACf,oBAAC,cAAA;IAAK,OAAO,QAAQ;IAAO,SAAS;IAAM,MAAM,SAAS;KAAW;IAChE,EACP,oBAAC,QAAA;GAAK,WAAW;GAAe;IAAgB,CAAA;GAC3C;;ACxCX,IAAA,wBD4Ce"}
1
+ {"version":3,"file":"index.js","names":["SharingStatus: React.FC<SharingStatusProps>"],"sources":["../../../src/components/SharingStatus/SharingStatus.tsx","../../../src/components/SharingStatus/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { PaletteNames, palette } from '../../theme/palette';\nimport Icon, { SvgIcon } from '../Icon';\n\nimport styles from './styles.module.scss';\n\nexport type SharingStatusColor = Extract<PaletteNames, 'kiwi' | 'cherry' | 'neutral'>;\n\nexport interface SharingStatusProps {\n /** Color choices represent variants of sharingstatus */\n color?: SharingStatusColor;\n /** Adds custom classes to the element. */\n className?: string;\n /** Icon to be displayed next to the sharingstatus */\n icon: SvgIcon;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets the text placed to the right of the sharingstatus */\n children: string;\n /** turn on and off word wrapping */\n wrapText?: boolean;\n}\n\nconst SharingStatus: React.FC<SharingStatusProps> = props => {\n const { color = 'neutral', icon, children, className, testId, wrapText } = props;\n\n const sharingStatusClasses = classNames(styles['sharing-status'], className);\n const dotClasses = classNames(styles['sharing-status__dot'], styles[`sharing-status__dot--${color}`]);\n const labelClasses = classNames(styles['sharing-status__label'], styles[`sharing-status__label--${color}`], {\n [styles['sharing-status__label--wrap']]: wrapText,\n });\n\n return (\n <span className={sharingStatusClasses} data-testid={testId} data-analyticsid={AnalyticsId.SharingStatus}>\n <span className={dotClasses}>\n <Icon color={palette.white} svgIcon={icon} size={IconSize.XXSmall} />\n </span>\n <span className={labelClasses}>{children}</span>\n </span>\n );\n};\n\nexport default SharingStatus;\n","import SharingStatus from './SharingStatus';\nexport * from './SharingStatus';\nexport default SharingStatus;\n"],"mappings":";;;;;;;AA2BA,IAAMA,iBAA8C,UAAS;CAC3D,MAAM,EAAE,QAAQ,WAAW,MAAM,UAAU,WAAW,QAAQ,aAAa;CAE3E,MAAM,uBAAuB,WAAW,OAAO,mBAAmB,UAAU;CAC5E,MAAM,aAAa,WAAW,OAAO,wBAAwB,OAAO,wBAAwB,SAAS;CACrG,MAAM,eAAe,WAAW,OAAO,0BAA0B,OAAO,0BAA0B,UAAU,GACzG,OAAO,iCAAiC,UAC1C,CAAC;AAEF,QACE,qBAAC,QAAA;EAAK,WAAW;EAAsB,eAAa;EAAQ,oBAAkB,YAAY;aACxF,oBAAC,QAAA;GAAK,WAAW;aACf,oBAAC,cAAA;IAAK,OAAO,QAAQ;IAAO,SAAS;IAAM,MAAM,SAAS;KAAW;IAChE,EACP,oBAAC,QAAA;GAAK,WAAW;GAAe;IAAgB,CAAA;GAC3C;;ACxCX,IAAA,wBD4Ce"}
@@ -1,12 +1,2 @@
1
- import "../../constants2.js";
2
- import "../../usePseudoClasses.js";
3
- import "../../refs.js";
4
- import "../../useIdWithFallback.js";
5
- import "../../accessibility.js";
6
- import "../../ErrorWrapper.js";
7
- import "../../debounce.js";
8
- import "../../useSize.js";
9
- import "../../Title.js";
10
- import "../../Title2.js";
11
1
  import { n as Slider, t as Slider_default } from "../../Slider.js";
12
2
  export { Slider, Slider_default as default };
@@ -1,3 +1,2 @@
1
- import "../../constants2.js";
2
1
  import { t as Spacer_default } from "../../Spacer.js";
3
2
  export { Spacer_default as default };
@@ -1,35 +1,2 @@
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 "../../Icon.js";
13
- import "../../_rolldown_dynamic_import_helper.js";
14
- import "../../useIsServerSide.js";
15
- import "../../LazyIcon.js";
16
- import "../../useBreakpoint.js";
17
- import "../../useElementList.js";
18
- import "../../useFocusableElements.js";
19
- import "../../useFocusToggle.js";
20
- import "../../focus.js";
21
- import "../../useFocusTrap.js";
22
- import "../../useIntersectionObserver.js";
23
- import "../../useIsVisible.js";
24
- import "../../debounce.js";
25
- import "../../useLayoutEvent.js";
26
- import "../../usePrevious.js";
27
- import "../../useSize.js";
28
- import "../../useResizeObserver.js";
29
- import "../../useToggle.js";
30
- import "../../useKeyboardEvent.js";
31
- import "../../useOutsideEvent.js";
32
- import "../../mobile.js";
33
- import "../../src.js";
34
1
  import { n as StatusDotOnColor, r as StatusDotVariant, t as StatusDot_default } from "../../StatusDot.js";
35
2
  export { StatusDotOnColor, StatusDotVariant, StatusDot_default as default };
@@ -1,7 +1,7 @@
1
1
  import { n as AnalyticsId } from "../../constants2.js";
2
2
  import { t as StepButtons_default } from "../../StepButtons.js";
3
3
  import React from "react";
4
- import cn from "classnames";
4
+ import classNames from "classnames";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import styles from "./styles.module.scss";
7
7
  var Step = ({ stepper, children, className, contentClassName, backButton, forwardButton, additionalButtons, cancelButton, stickyButtons = false, testId }) => {
@@ -16,7 +16,7 @@ var Step = ({ stepper, children, className, contentClassName, backButton, forwar
16
16
  children: stepper
17
17
  }),
18
18
  /* @__PURE__ */ jsx("div", {
19
- className: cn(styles.step__content, contentClassName),
19
+ className: classNames(styles.step__content, contentClassName),
20
20
  children
21
21
  }),
22
22
  hasNavigation && /* @__PURE__ */ jsx(StepButtons_default, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Step: React.FC<StepProps>"],"sources":["../../../src/components/Step/Step.tsx","../../../src/components/Step/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { ButtonProps } from '../Button';\nimport StepButtons from '../StepButtons';\nimport { StepperProps } from '../Stepper';\n\nimport styles from './styles.module.scss';\n\nexport interface StepProps {\n /** Stepper viser fremdriften */\n stepper?: React.ReactElement<StepperProps>;\n /** Innhold i steget */\n children: React.ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Adds custom classes to the content element. */\n contentClassName?: string;\n /** Knapp for å gå tilbake. Vises med \"outline\" variant. */\n backButton?: React.ReactElement<ButtonProps>;\n /** Knapp for å gå videre. Vises med \"fill\" variant. */\n forwardButton?: React.ReactElement<ButtonProps>;\n /** Ekstra knapper. Valgfritt utseende. */\n additionalButtons?: React.ReactElement<ButtonProps>[];\n /** Knapp for å avbryte eller fortsette senere. Vises med \"borderless\" variant. */\n cancelButton?: React.ReactElement<ButtonProps>;\n /** Knappene vil vises sticky nederst på skjermen dersom innholdet i Step tar mer plass enn vinduet. Default: false */\n stickyButtons?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Step: React.FC<StepProps> = ({\n stepper,\n children,\n className,\n contentClassName,\n backButton,\n forwardButton,\n additionalButtons,\n cancelButton,\n stickyButtons = false,\n testId,\n}) => {\n const hasNavigation = backButton || forwardButton || additionalButtons || cancelButton;\n\n return (\n <div data-testid={testId} data-analyticsid={AnalyticsId.Step} className={className}>\n {stepper && <div className={styles.step__stepper}>{stepper}</div>}\n <div className={classNames(styles.step__content, contentClassName)}>{children}</div>\n {hasNavigation && (\n <StepButtons\n backButton={backButton}\n forwardButton={forwardButton}\n additionalButtons={additionalButtons}\n cancelButton={cancelButton}\n sticky={stickyButtons}\n />\n )}\n </div>\n );\n};\n\nexport default Step;\n","import Step from './Step';\nexport * from './Step';\nexport default Step;\n"],"mappings":";;;;;;AAkCA,IAAMA,QAA6B,EACjC,SACA,UACA,WACA,kBACA,YACA,eACA,mBACA,cACA,gBAAgB,OAChB,aACI;CACJ,MAAM,gBAAgB,cAAc,iBAAiB,qBAAqB;AAE1E,QACE,qBAAC,OAAA;EAAI,eAAa;EAAQ,oBAAkB,YAAY;EAAiB;;GACtE,WAAW,oBAAC,OAAA;IAAI,WAAW,OAAO;cAAgB;KAAc;GACjE,oBAAC,OAAA;IAAI,WAAW,GAAW,OAAO,eAAe,iBAAiB;IAAG;KAAe;GACnF,iBACC,oBAAC,qBAAA;IACa;IACG;IACI;IACL;IACd,QAAQ;KACR;;GAEA;;AC3DV,IAAA,eD+De"}
1
+ {"version":3,"file":"index.js","names":["Step: React.FC<StepProps>"],"sources":["../../../src/components/Step/Step.tsx","../../../src/components/Step/index.ts"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { ButtonProps } from '../Button';\nimport StepButtons from '../StepButtons';\nimport { StepperProps } from '../Stepper';\n\nimport styles from './styles.module.scss';\n\nexport interface StepProps {\n /** Stepper viser fremdriften */\n stepper?: React.ReactElement<StepperProps>;\n /** Innhold i steget */\n children: React.ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Adds custom classes to the content element. */\n contentClassName?: string;\n /** Knapp for å gå tilbake. Vises med \"outline\" variant. */\n backButton?: React.ReactElement<ButtonProps>;\n /** Knapp for å gå videre. Vises med \"fill\" variant. */\n forwardButton?: React.ReactElement<ButtonProps>;\n /** Ekstra knapper. Valgfritt utseende. */\n additionalButtons?: React.ReactElement<ButtonProps>[];\n /** Knapp for å avbryte eller fortsette senere. Vises med \"borderless\" variant. */\n cancelButton?: React.ReactElement<ButtonProps>;\n /** Knappene vil vises sticky nederst på skjermen dersom innholdet i Step tar mer plass enn vinduet. Default: false */\n stickyButtons?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Step: React.FC<StepProps> = ({\n stepper,\n children,\n className,\n contentClassName,\n backButton,\n forwardButton,\n additionalButtons,\n cancelButton,\n stickyButtons = false,\n testId,\n}) => {\n const hasNavigation = backButton || forwardButton || additionalButtons || cancelButton;\n\n return (\n <div data-testid={testId} data-analyticsid={AnalyticsId.Step} className={className}>\n {stepper && <div className={styles.step__stepper}>{stepper}</div>}\n <div className={classNames(styles.step__content, contentClassName)}>{children}</div>\n {hasNavigation && (\n <StepButtons\n backButton={backButton}\n forwardButton={forwardButton}\n additionalButtons={additionalButtons}\n cancelButton={cancelButton}\n sticky={stickyButtons}\n />\n )}\n </div>\n );\n};\n\nexport default Step;\n","import Step from './Step';\nexport * from './Step';\nexport default Step;\n"],"mappings":";;;;;;AAkCA,IAAMA,QAA6B,EACjC,SACA,UACA,WACA,kBACA,YACA,eACA,mBACA,cACA,gBAAgB,OAChB,aACI;CACJ,MAAM,gBAAgB,cAAc,iBAAiB,qBAAqB;AAE1E,QACE,qBAAC,OAAA;EAAI,eAAa;EAAQ,oBAAkB,YAAY;EAAiB;;GACtE,WAAW,oBAAC,OAAA;IAAI,WAAW,OAAO;cAAgB;KAAc;GACjE,oBAAC,OAAA;IAAI,WAAW,WAAW,OAAO,eAAe,iBAAiB;IAAG;KAAe;GACnF,iBACC,oBAAC,qBAAA;IACa;IACG;IACI;IACL;IACd,QAAQ;KACR;;GAEA;;AC3DV,IAAA,eD+De"}
@@ -1,3 +1,2 @@
1
- import "../../constants2.js";
2
1
  import { n as StepButtons, t as StepButtons_default } from "../../StepButtons.js";
3
2
  export { StepButtons, StepButtons_default as default };
@@ -1,9 +1,8 @@
1
1
  import { n as AnalyticsId } from "../../constants2.js";
2
2
  import { n as getAriaLabelAttributes } from "../../accessibility.js";
3
- import "../../debounce.js";
4
3
  import { t as useSize } from "../../useSize.js";
5
4
  import React, { useRef } from "react";
6
- import cn from "classnames";
5
+ import classNames from "classnames";
7
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
7
  import styles from "./styles.module.scss";
9
8
  var MARKER_DOT_MIN_DISTANCE_PX = 4;
@@ -29,7 +28,7 @@ const getValidatedProps = (value, min, max) => {
29
28
  };
30
29
  var Dot = ({ index, completed, distanceBetweenDots, position }) => {
31
30
  return /* @__PURE__ */ jsx("span", {
32
- className: cn(styles.stepper__dot, completed && styles["stepper__dot--completed"], position && styles[`stepper__dot--${position}`]),
31
+ className: classNames(styles.stepper__dot, completed && styles["stepper__dot--completed"], position && styles[`stepper__dot--${position}`]),
33
32
  style: !position && typeof index !== "undefined" && typeof distanceBetweenDots !== "undefined" ? { left: `${index * distanceBetweenDots + 8}px` } : void 0,
34
33
  "data-testid": "dot"
35
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Dot: React.FC<DotProps>","style: React.HTMLAttributes<HTMLSpanElement>['style']","Dots: React.FC<DotListProps>","Stepper: React.FC<StepperProps>"],"sources":["../../../src/components/Stepper/utils.ts","../../../src/components/Stepper/Dot.tsx","../../../src/components/Stepper/DotList.tsx","../../../src/components/Stepper/Stepper.tsx","../../../src/components/Stepper/index.tsx"],"sourcesContent":["/**\n * Minimum avstand fra markør til prikk\n */\nconst MARKER_DOT_MIN_DISTANCE_PX = 4;\n\n/**\n * Bredde på markør\n */\nconst MARKER_WIDTH_PX = 24;\n\n/**\n * Horisontal padding på stepper\n */\nexport const STEPPER_PADDING_X_PX = 8;\n\n/**\n * Valider at minimum-verdi er innenfor gyldig område\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Mimimum-verdi, ikke større enn eller lik maksimum-verdi\n */\nexport const getValidatedMin = (min: number, max: number): number => (min < max ? min : max - 1);\n\n/**\n * Valider at maksimum-verdi er innenfor gyldig område\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Maksimum-verdi, ikke mindre enn minimum-verdi\n */\nexport const getValidatedMax = (min: number, max: number): number => (max < min ? min : max);\n\n/**\n * Valider at verdi er innenfor gyldig område\n * @param value Nåværende verdi\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Verdi, ikke mindre enn 0, ikke mer enn max\n */\nexport const getValidatedValue = (value: number | undefined, min: number, max: number): number => {\n if (typeof value === 'undefined' || value < min) {\n return min;\n }\n\n return value > max ? max : value;\n};\n\n/**\n * Finn antall prikker det er plass til\n * @param stepperWidth Bredde på stepper\n * @returns Antall prikker\n */\nexport const getMaximumDots = (stepperWidth: number): number => Math.floor(stepperWidth / (MARKER_WIDTH_PX + MARKER_DOT_MIN_DISTANCE_PX));\n\n/**\n * Beregn riktig distance mellom prikker\n * @param stepperWidth Bredde på stepper\n * @param dots Antall prikker som skal vises\n * @returns Distanse mellom prikker\n */\nexport const getDistanceBetweenDots = (stepperWidth: number, dots: number): number => (stepperWidth - MARKER_WIDTH_PX) / (dots - 1);\n\n/**\n * Beregn riktig plassering av markør\n * @param distanceBetweenDots Distanse mellom prikker\n * @param index Nåværende verdi i stepper\n * @returns Plassering til markør fra venstre\n */\nexport const getMarkerPosition = (distanceBetweenDots: number, index: number): number => distanceBetweenDots * index;\n\n/**\n * Lag liste med tillate verdier fra min til maks\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Liste med verdier\n */\nexport const getAllowedValues = (min: number, max: number): number[] => Array.from(Array(max - min + 1), (_, index) => index + min);\n\n/**\n * Valider props som skal brukes til beregning av posisjon m.m.\n * @param value Nåværende verdi\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Objekt med gyldige verdier\n */\nexport const getValidatedProps = (\n value: number | undefined,\n min: number,\n max: number\n): { validatedValue: number; validatedMin: number; validatedMax: number } => {\n const validatedMin = getValidatedMin(min, max);\n const validatedMax = getValidatedMax(validatedMin, max);\n const validatedValue = getValidatedValue(value, validatedMin, validatedMax);\n\n return { validatedValue, validatedMin, validatedMax };\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { STEPPER_PADDING_X_PX } from './utils';\n\nimport styles from './styles.module.scss';\n\ninterface DotProps {\n index?: number;\n completed: boolean;\n distanceBetweenDots?: number;\n position?: 'left' | 'right';\n}\n\nconst Dot: React.FC<DotProps> = ({ index, completed, distanceBetweenDots, position }) => {\n const classes = classNames(\n styles.stepper__dot,\n completed && styles['stepper__dot--completed'],\n position && styles[`stepper__dot--${position}`]\n );\n const positionWithStyle = !position && typeof index !== 'undefined' && typeof distanceBetweenDots !== 'undefined';\n const style: React.HTMLAttributes<HTMLSpanElement>['style'] = positionWithStyle\n ? { left: `${index * distanceBetweenDots + STEPPER_PADDING_X_PX}px` }\n : undefined;\n\n return <span className={classes} style={style} data-testid=\"dot\" />;\n};\n\nexport default Dot;\n","import React from 'react';\n\nimport Dot from './Dot';\n\ninterface DotListProps {\n allowedValues: number[];\n currentValue: number;\n distanceBetweenDots: number;\n}\n\nconst Dots: React.FC<DotListProps> = ({ allowedValues, currentValue, distanceBetweenDots }) => (\n <>\n {allowedValues.map((value, index) => (\n <Dot index={index} key={value} completed={value < currentValue} distanceBetweenDots={distanceBetweenDots} />\n ))}\n </>\n);\n\nexport default Dots;\n","import React, { useRef } from 'react';\n\nimport Dot from './Dot';\nimport DotList from './DotList';\nimport { getMaximumDots, getDistanceBetweenDots, getMarkerPosition, getAllowedValues, getValidatedProps } from './utils';\nimport { AnalyticsId } from '../../constants';\nimport { useSize } from '../../hooks/useSize';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\n\nimport styles from './styles.module.scss';\n\nexport interface StepperProps {\n /**\n * Sets aria-label of the stepper. ariaLabel or ariaLabelledById MUST be set!\n */\n ariaLabel?: string;\n /**\n * Sets aria-labelledby of the stepper. ariaLabel or ariaLabelledById MUST be set!\n */\n ariaLabelledById?: string;\n /**\n * Current value. Must be between min and max\n */\n value?: number;\n /**\n * Minimum value\n */\n min?: number;\n /**\n * Maximum value\n */\n max?: number;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Stepper: React.FC<StepperProps> = ({ ariaLabelledById, ariaLabel, value, min = 0, max = 2, testId }) => {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const ref = useRef<HTMLSpanElement>(null);\n const { width: wrapperWidth = 0 } = useSize(wrapperRef) || {};\n const { width: stepperWidth = 0 } = useSize(ref) || {};\n\n const { validatedValue, validatedMin, validatedMax } = getValidatedProps(value, min, max);\n const allowedValues = getAllowedValues(validatedMin, validatedMax);\n const index = allowedValues.indexOf(validatedValue);\n const maximumDots = getMaximumDots(wrapperWidth);\n const distanceBetweenDots = getDistanceBetweenDots(stepperWidth, allowedValues.length);\n const markerPosition = getMarkerPosition(distanceBetweenDots, index);\n\n const showAllDots = allowedValues.length <= maximumDots;\n const isCompleted = validatedValue === validatedMax;\n\n const ariaLabelAttributes = getAriaLabelAttributes({ label: ariaLabel, id: ariaLabelledById });\n\n return (\n <div className={styles['stepper-wrapper']} ref={wrapperRef}>\n <span\n role=\"progressbar\"\n {...ariaLabelAttributes}\n aria-valuenow={validatedValue}\n aria-valuemin={validatedMin}\n aria-valuemax={validatedMax}\n className={styles.stepper}\n style={{\n backgroundPositionX: `${isCompleted ? stepperWidth : markerPosition}px`,\n }}\n ref={ref}\n data-testid={testId}\n data-analyticsid={AnalyticsId.Stepper}\n >\n {showAllDots && <DotList allowedValues={allowedValues} currentValue={validatedValue} distanceBetweenDots={distanceBetweenDots} />}\n {!showAllDots && (\n <>\n <Dot completed={validatedValue > validatedMin} position=\"left\" />\n <Dot completed={validatedValue === validatedMax} position=\"right\" />\n </>\n )}\n <span className={styles.stepper__marker} style={{ left: `${markerPosition}px` }} />\n </span>\n {!showAllDots && <span className={styles.stepper__number}>{`${validatedValue}/${validatedMax}`}</span>}\n </div>\n );\n};\n\nexport default Stepper;\n","import Stepper from './Stepper';\nexport * from './Stepper';\nexport default Stepper;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Dot: React.FC<DotProps>","style: React.HTMLAttributes<HTMLSpanElement>['style']","Dots: React.FC<DotListProps>","Stepper: React.FC<StepperProps>"],"sources":["../../../src/components/Stepper/utils.ts","../../../src/components/Stepper/Dot.tsx","../../../src/components/Stepper/DotList.tsx","../../../src/components/Stepper/Stepper.tsx","../../../src/components/Stepper/index.tsx"],"sourcesContent":["/**\n * Minimum avstand fra markør til prikk\n */\nconst MARKER_DOT_MIN_DISTANCE_PX = 4;\n\n/**\n * Bredde på markør\n */\nconst MARKER_WIDTH_PX = 24;\n\n/**\n * Horisontal padding på stepper\n */\nexport const STEPPER_PADDING_X_PX = 8;\n\n/**\n * Valider at minimum-verdi er innenfor gyldig område\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Mimimum-verdi, ikke større enn eller lik maksimum-verdi\n */\nexport const getValidatedMin = (min: number, max: number): number => (min < max ? min : max - 1);\n\n/**\n * Valider at maksimum-verdi er innenfor gyldig område\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Maksimum-verdi, ikke mindre enn minimum-verdi\n */\nexport const getValidatedMax = (min: number, max: number): number => (max < min ? min : max);\n\n/**\n * Valider at verdi er innenfor gyldig område\n * @param value Nåværende verdi\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Verdi, ikke mindre enn 0, ikke mer enn max\n */\nexport const getValidatedValue = (value: number | undefined, min: number, max: number): number => {\n if (typeof value === 'undefined' || value < min) {\n return min;\n }\n\n return value > max ? max : value;\n};\n\n/**\n * Finn antall prikker det er plass til\n * @param stepperWidth Bredde på stepper\n * @returns Antall prikker\n */\nexport const getMaximumDots = (stepperWidth: number): number => Math.floor(stepperWidth / (MARKER_WIDTH_PX + MARKER_DOT_MIN_DISTANCE_PX));\n\n/**\n * Beregn riktig distance mellom prikker\n * @param stepperWidth Bredde på stepper\n * @param dots Antall prikker som skal vises\n * @returns Distanse mellom prikker\n */\nexport const getDistanceBetweenDots = (stepperWidth: number, dots: number): number => (stepperWidth - MARKER_WIDTH_PX) / (dots - 1);\n\n/**\n * Beregn riktig plassering av markør\n * @param distanceBetweenDots Distanse mellom prikker\n * @param index Nåværende verdi i stepper\n * @returns Plassering til markør fra venstre\n */\nexport const getMarkerPosition = (distanceBetweenDots: number, index: number): number => distanceBetweenDots * index;\n\n/**\n * Lag liste med tillate verdier fra min til maks\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Liste med verdier\n */\nexport const getAllowedValues = (min: number, max: number): number[] => Array.from(Array(max - min + 1), (_, index) => index + min);\n\n/**\n * Valider props som skal brukes til beregning av posisjon m.m.\n * @param value Nåværende verdi\n * @param min Mimimum-verdi\n * @param max Maksimum-verdi\n * @returns Objekt med gyldige verdier\n */\nexport const getValidatedProps = (\n value: number | undefined,\n min: number,\n max: number\n): { validatedValue: number; validatedMin: number; validatedMax: number } => {\n const validatedMin = getValidatedMin(min, max);\n const validatedMax = getValidatedMax(validatedMin, max);\n const validatedValue = getValidatedValue(value, validatedMin, validatedMax);\n\n return { validatedValue, validatedMin, validatedMax };\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { STEPPER_PADDING_X_PX } from './utils';\n\nimport styles from './styles.module.scss';\n\ninterface DotProps {\n index?: number;\n completed: boolean;\n distanceBetweenDots?: number;\n position?: 'left' | 'right';\n}\n\nconst Dot: React.FC<DotProps> = ({ index, completed, distanceBetweenDots, position }) => {\n const classes = classNames(\n styles.stepper__dot,\n completed && styles['stepper__dot--completed'],\n position && styles[`stepper__dot--${position}`]\n );\n const positionWithStyle = !position && typeof index !== 'undefined' && typeof distanceBetweenDots !== 'undefined';\n const style: React.HTMLAttributes<HTMLSpanElement>['style'] = positionWithStyle\n ? { left: `${index * distanceBetweenDots + STEPPER_PADDING_X_PX}px` }\n : undefined;\n\n return <span className={classes} style={style} data-testid=\"dot\" />;\n};\n\nexport default Dot;\n","import React from 'react';\n\nimport Dot from './Dot';\n\ninterface DotListProps {\n allowedValues: number[];\n currentValue: number;\n distanceBetweenDots: number;\n}\n\nconst Dots: React.FC<DotListProps> = ({ allowedValues, currentValue, distanceBetweenDots }) => (\n <>\n {allowedValues.map((value, index) => (\n <Dot index={index} key={value} completed={value < currentValue} distanceBetweenDots={distanceBetweenDots} />\n ))}\n </>\n);\n\nexport default Dots;\n","import React, { useRef } from 'react';\n\nimport Dot from './Dot';\nimport DotList from './DotList';\nimport { getMaximumDots, getDistanceBetweenDots, getMarkerPosition, getAllowedValues, getValidatedProps } from './utils';\nimport { AnalyticsId } from '../../constants';\nimport { useSize } from '../../hooks/useSize';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\n\nimport styles from './styles.module.scss';\n\nexport interface StepperProps {\n /**\n * Sets aria-label of the stepper. ariaLabel or ariaLabelledById MUST be set!\n */\n ariaLabel?: string;\n /**\n * Sets aria-labelledby of the stepper. ariaLabel or ariaLabelledById MUST be set!\n */\n ariaLabelledById?: string;\n /**\n * Current value. Must be between min and max\n */\n value?: number;\n /**\n * Minimum value\n */\n min?: number;\n /**\n * Maximum value\n */\n max?: number;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Stepper: React.FC<StepperProps> = ({ ariaLabelledById, ariaLabel, value, min = 0, max = 2, testId }) => {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const ref = useRef<HTMLSpanElement>(null);\n const { width: wrapperWidth = 0 } = useSize(wrapperRef) || {};\n const { width: stepperWidth = 0 } = useSize(ref) || {};\n\n const { validatedValue, validatedMin, validatedMax } = getValidatedProps(value, min, max);\n const allowedValues = getAllowedValues(validatedMin, validatedMax);\n const index = allowedValues.indexOf(validatedValue);\n const maximumDots = getMaximumDots(wrapperWidth);\n const distanceBetweenDots = getDistanceBetweenDots(stepperWidth, allowedValues.length);\n const markerPosition = getMarkerPosition(distanceBetweenDots, index);\n\n const showAllDots = allowedValues.length <= maximumDots;\n const isCompleted = validatedValue === validatedMax;\n\n const ariaLabelAttributes = getAriaLabelAttributes({ label: ariaLabel, id: ariaLabelledById });\n\n return (\n <div className={styles['stepper-wrapper']} ref={wrapperRef}>\n <span\n role=\"progressbar\"\n {...ariaLabelAttributes}\n aria-valuenow={validatedValue}\n aria-valuemin={validatedMin}\n aria-valuemax={validatedMax}\n className={styles.stepper}\n style={{\n backgroundPositionX: `${isCompleted ? stepperWidth : markerPosition}px`,\n }}\n ref={ref}\n data-testid={testId}\n data-analyticsid={AnalyticsId.Stepper}\n >\n {showAllDots && <DotList allowedValues={allowedValues} currentValue={validatedValue} distanceBetweenDots={distanceBetweenDots} />}\n {!showAllDots && (\n <>\n <Dot completed={validatedValue > validatedMin} position=\"left\" />\n <Dot completed={validatedValue === validatedMax} position=\"right\" />\n </>\n )}\n <span className={styles.stepper__marker} style={{ left: `${markerPosition}px` }} />\n </span>\n {!showAllDots && <span className={styles.stepper__number}>{`${validatedValue}/${validatedMax}`}</span>}\n </div>\n );\n};\n\nexport default Stepper;\n","import Stepper from './Stepper';\nexport * from './Stepper';\nexport default Stepper;\n"],"mappings":"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"}