@helsenorge/designsystem-react 6.5.0 → 6.6.2

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 (658) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/components/AnchorLink/AnchorLink.d.ts +1 -1
  3. package/components/AnchorLink/AnchorLink.js.map +1 -1
  4. package/components/AnchorLink/AnchorLink.stories.d.ts +31 -0
  5. package/components/Avatar/Avatar.stories.d.ts +35 -0
  6. package/components/Badge/Badge.stories.d.ts +29 -0
  7. package/components/Button/Button.stories.d.ts +55 -0
  8. package/components/Checkbox/Checkbox.stories.d.ts +54 -0
  9. package/components/Close/Close.stories.d.ts +29 -0
  10. package/components/DictionaryTrigger/DictionaryTrigger.d.ts +1 -1
  11. package/components/DictionaryTrigger/DictionaryTrigger.js.map +1 -1
  12. package/components/DictionaryTrigger/DictionaryTrigger.stories.d.ts +30 -0
  13. package/components/Dropdown/Dropdown.d.ts +2 -0
  14. package/components/Dropdown/Dropdown.js +32 -31
  15. package/components/Dropdown/Dropdown.js.map +1 -1
  16. package/components/Dropdown/Dropdown.stories.d.ts +63 -0
  17. package/components/Duolist/Duolist.d.ts +2 -2
  18. package/components/Duolist/Duolist.js.map +1 -1
  19. package/components/Duolist/Duolist.stories.d.ts +32 -0
  20. package/components/EmptyState/EmptyState.d.ts +1 -1
  21. package/components/EmptyState/EmptyState.js.map +1 -1
  22. package/components/EmptyState/EmptyState.stories.d.ts +26 -0
  23. package/components/Expander/Expander.d.ts +3 -1
  24. package/components/Expander/Expander.js +30 -29
  25. package/components/Expander/Expander.js.map +1 -1
  26. package/components/Expander/Expander.stories.d.ts +60 -0
  27. package/components/ExpanderHierarchy/ExpanderHierarchy.stories.d.ts +43 -0
  28. package/components/ExpanderHierarchy/expander.module.scss +0 -20
  29. package/components/ExpanderHierarchy/expander.module.scss.d.ts +0 -1
  30. package/components/ExpanderList/ExpanderList.d.ts +4 -0
  31. package/components/ExpanderList/ExpanderList.js +79 -76
  32. package/components/ExpanderList/ExpanderList.js.map +1 -1
  33. package/components/ExpanderList/ExpanderList.stories.d.ts +58 -0
  34. package/components/FormExample/FormExample.d.ts +1 -1
  35. package/components/FormExample/FormExample.js.map +1 -1
  36. package/components/FormGroup/FormGroup.stories.d.ts +49 -0
  37. package/components/FormLayout/FormLayout.stories.d.ts +32 -0
  38. package/components/HelpBubble/HelpBubble.stories.d.ts +42 -0
  39. package/components/HelpPanel/HelpPanel.d.ts +1 -1
  40. package/components/HelpPanel/HelpPanel.js.map +1 -1
  41. package/components/HelpPanel/HelpPanel.stories.d.ts +31 -0
  42. package/components/HelpQuestion/HelpQuestion.d.ts +1 -1
  43. package/components/HelpQuestion/HelpQuestion.js.map +1 -1
  44. package/components/HelpQuestion/HelpQuestion.stories.d.ts +29 -0
  45. package/components/HighlightBox/HighlightBox.d.ts +1 -1
  46. package/components/HighlightBox/HighlightBox.js.map +1 -1
  47. package/components/HighlightBox/HighlightBox.stories.d.ts +42 -0
  48. package/components/Icon/Icon.stories.d.ts +38 -0
  49. package/components/Illustration/Illustration.stories.d.ts +34 -0
  50. package/components/Illustration/Illustrations.stories.d.ts +41 -0
  51. package/components/Input/Input.stories.d.ts +94 -0
  52. package/components/Label/Label.stories.d.ts +25 -0
  53. package/components/LazyIcon/LazyIcon.js.map +1 -1
  54. package/components/LazyIcon/LazyIcon.stories.d.ts +25 -0
  55. package/components/LazyIllustration/LazyIllustration.js.map +1 -1
  56. package/components/LazyIllustration/LazyIllustration.stories.d.ts +38 -0
  57. package/components/LinkList/LinkList.stories.d.ts +47 -0
  58. package/components/List/List.stories.d.ts +36 -0
  59. package/components/Loader/Loader.stories.d.ts +31 -0
  60. package/components/Logo/Logo.d.ts +1 -1
  61. package/components/Logo/Logo.js.map +1 -1
  62. package/components/Logo/Logo.stories.d.ts +37 -0
  63. package/components/Modal/Modal.stories.d.ts +73 -0
  64. package/components/NotificationPanel/NotificationPanel.stories.d.ts +54 -0
  65. package/components/Panel/Panel.stories.d.ts +89 -0
  66. package/components/PanelList/PanelList.d.ts +1 -1
  67. package/components/PanelList/PanelList.js.map +1 -1
  68. package/components/PanelList/PanelList.stories.d.ts +27 -0
  69. package/components/PopMenu/PopMenu.js +73 -61
  70. package/components/PopMenu/PopMenu.js.map +1 -1
  71. package/components/PopMenu/PopMenu.stories.d.ts +29 -0
  72. package/components/PopOver/PopOver.d.ts +2 -0
  73. package/components/PopOver/PopOver.js +37 -36
  74. package/components/PopOver/PopOver.js.map +1 -1
  75. package/components/PopOver/PopOver.stories.d.ts +34 -0
  76. package/components/PromoPanel/PromoPanel.d.ts +1 -1
  77. package/components/PromoPanel/PromoPanel.js.map +1 -1
  78. package/components/PromoPanel/PromoPanel.stories.d.ts +44 -0
  79. package/components/RadioButton/RadioButton.stories.d.ts +57 -0
  80. package/components/Select/Select.stories.d.ts +38 -0
  81. package/components/ServiceMessage/ServiceMessage.stories.d.ts +71 -0
  82. package/components/SharingStatus/SharingStatus.stories.d.ts +31 -0
  83. package/components/Slider/Slider.d.ts +1 -1
  84. package/components/Slider/Slider.js.map +1 -1
  85. package/components/Slider/Slider.stories.d.ts +52 -0
  86. package/components/Spacer/Spacer.d.ts +1 -1
  87. package/components/Spacer/Spacer.js.map +1 -1
  88. package/components/Spacer/Spacer.stories.d.ts +17 -0
  89. package/components/StatusDot/StatusDot.stories.d.ts +31 -0
  90. package/components/Step/Step.stories.d.ts +32 -0
  91. package/components/StepButtons/StepButtons.stories.d.ts +19 -0
  92. package/components/Stepper/Stepper.stories.d.ts +38 -0
  93. package/components/Table/Table.stories.d.ts +90 -0
  94. package/components/Tag/Tag.d.ts +1 -1
  95. package/components/Tag/Tag.js.map +1 -1
  96. package/components/Tag/Tag.stories.d.ts +48 -0
  97. package/components/TagList/TagList.d.ts +1 -1
  98. package/components/TagList/TagList.js.map +1 -1
  99. package/components/TagList/TagList.stories.d.ts +17 -0
  100. package/components/Textarea/Textarea.d.ts +1 -1
  101. package/components/Textarea/Textarea.js.map +1 -1
  102. package/components/Textarea/Textarea.stories.d.ts +94 -0
  103. package/components/Tile/Tile.stories.d.ts +40 -0
  104. package/components/Title/Title.stories.d.ts +40 -0
  105. package/components/Tooltip/Tooltip.stories.d.ts +30 -0
  106. package/components/Trigger/Trigger.stories.d.ts +52 -0
  107. package/components/Validation/Validation.stories.d.ts +37 -0
  108. package/constants.d.ts +1 -0
  109. package/constants.js +1 -1
  110. package/constants.js.map +1 -1
  111. package/hoc/withBreakpoint/withBreakpoint.stories.d.ts +18 -0
  112. package/hooks/useBreakpoint.stories.d.ts +17 -0
  113. package/hooks/useDelayedState.stories.d.ts +28 -0
  114. package/hooks/useElementList.stories.d.ts +17 -0
  115. package/hooks/useFocusToggle.stories.d.ts +17 -0
  116. package/hooks/useFocusTrap.stories.d.ts +17 -0
  117. package/hooks/useFocusableElements.stories.d.ts +17 -0
  118. package/hooks/useHover.stories.d.ts +17 -0
  119. package/hooks/useIntersectionObserver.stories.d.ts +17 -0
  120. package/hooks/useInterval.stories.d.ts +17 -0
  121. package/hooks/useIsVisible.stories.d.ts +28 -0
  122. package/hooks/useKeyboardEvent.stories.d.ts +17 -0
  123. package/hooks/useLayoutEvent.stories.d.ts +17 -0
  124. package/hooks/useOutsideEvent.stories.d.ts +17 -0
  125. package/hooks/usePseudoClasses.stories.d.ts +17 -0
  126. package/hooks/useResizeObserver.stories.d.ts +17 -0
  127. package/hooks/useSize.stories.d.ts +17 -0
  128. package/hooks/useSticky.stories.d.ts +17 -0
  129. package/hooks/useUuid.stories.d.ts +17 -0
  130. package/package.json +1 -1
  131. package/__mocks__/IntersectionObserver.d.ts.map +0 -1
  132. package/__mocks__/MutationObserver.d.ts.map +0 -1
  133. package/__mocks__/ResizeObserver.d.ts.map +0 -1
  134. package/__mocks__/matchMedia.d.ts.map +0 -1
  135. package/__mocks__/useHover.d.ts.map +0 -1
  136. package/__mocks__/useLayoutEvent.d.ts.map +0 -1
  137. package/__mocks__/useOutsideEvent.d.ts.map +0 -1
  138. package/__mocks__/useSize.d.ts.map +0 -1
  139. package/__mocks__/uuid.d.ts.map +0 -1
  140. package/components/AnchorLink/AnchorLink.d.ts.map +0 -1
  141. package/components/AnchorLink/index.d.ts.map +0 -1
  142. package/components/Avatar/Avatar.d.ts.map +0 -1
  143. package/components/Avatar/index.d.ts.map +0 -1
  144. package/components/Badge/Badge.d.ts.map +0 -1
  145. package/components/Badge/index.d.ts.map +0 -1
  146. package/components/Button/Button.d.ts.map +0 -1
  147. package/components/Button/index.d.ts.map +0 -1
  148. package/components/ButtonWithModal/ButtonWithModal.d.ts.map +0 -1
  149. package/components/ButtonWithModal/index.d.ts.map +0 -1
  150. package/components/Checkbox/Checkbox.d.ts.map +0 -1
  151. package/components/Checkbox/index.d.ts.map +0 -1
  152. package/components/Close/Close.d.ts.map +0 -1
  153. package/components/Close/index.d.ts.map +0 -1
  154. package/components/DictionaryTrigger/DictionaryTrigger.d.ts.map +0 -1
  155. package/components/DictionaryTrigger/index.d.ts.map +0 -1
  156. package/components/Dropdown/Dropdown.d.ts.map +0 -1
  157. package/components/Dropdown/index.d.ts.map +0 -1
  158. package/components/Duolist/Duolist.d.ts.map +0 -1
  159. package/components/Duolist/index.d.ts.map +0 -1
  160. package/components/EmptyState/EmptyState.d.ts.map +0 -1
  161. package/components/EmptyState/NobodyHome.d.ts.map +0 -1
  162. package/components/EmptyState/index.d.ts.map +0 -1
  163. package/components/ErrorWrapper/ErrorWrapper.d.ts.map +0 -1
  164. package/components/ErrorWrapper/index.d.ts.map +0 -1
  165. package/components/Expander/Expander.d.ts.map +0 -1
  166. package/components/Expander/index.d.ts.map +0 -1
  167. package/components/ExpanderHierarchy/Expander.d.ts.map +0 -1
  168. package/components/ExpanderHierarchy/ExpanderButton.d.ts.map +0 -1
  169. package/components/ExpanderHierarchy/ExpanderHierarchy.d.ts.map +0 -1
  170. package/components/ExpanderHierarchy/index.d.ts.map +0 -1
  171. package/components/ExpanderHierarchy/utils.d.ts.map +0 -1
  172. package/components/ExpanderList/ExpanderList.d.ts.map +0 -1
  173. package/components/ExpanderList/index.d.ts.map +0 -1
  174. package/components/FormExample/FormExample.d.ts.map +0 -1
  175. package/components/FormExample/index.d.ts.map +0 -1
  176. package/components/FormGroup/FormGroup.d.ts.map +0 -1
  177. package/components/FormGroup/index.d.ts.map +0 -1
  178. package/components/FormLayout/FormLayout.d.ts.map +0 -1
  179. package/components/FormLayout/index.d.ts.map +0 -1
  180. package/components/GridExample/GridExample.d.ts.map +0 -1
  181. package/components/GridExample/index.d.ts.map +0 -1
  182. package/components/HelpBubble/HelpBubble.d.ts.map +0 -1
  183. package/components/HelpBubble/index.d.ts.map +0 -1
  184. package/components/HelpBubbleExample/HelpBubbleExample.d.ts.map +0 -1
  185. package/components/HelpBubbleExample/index.d.ts.map +0 -1
  186. package/components/HelpPanel/HelpPanel.d.ts.map +0 -1
  187. package/components/HelpPanel/index.d.ts.map +0 -1
  188. package/components/HelpQuestion/HelpQuestion.d.ts.map +0 -1
  189. package/components/HelpQuestion/index.d.ts.map +0 -1
  190. package/components/HighlightBox/HighlightBox.d.ts.map +0 -1
  191. package/components/HighlightBox/index.d.ts.map +0 -1
  192. package/components/HorizontalScroll/HorizontalScroll.d.ts.map +0 -1
  193. package/components/HorizontalScroll/index.d.ts.map +0 -1
  194. package/components/Icon/Icon.d.ts.map +0 -1
  195. package/components/Icon/index.d.ts.map +0 -1
  196. package/components/Icons/ActiveMonitoring.d.ts.map +0 -1
  197. package/components/Icons/AcupunctureBack.d.ts.map +0 -1
  198. package/components/Icons/AdditionalIconInformation.d.ts.map +0 -1
  199. package/components/Icons/AlarmClock.d.ts.map +0 -1
  200. package/components/Icons/AlertSignFill.d.ts.map +0 -1
  201. package/components/Icons/AlertSignStroke.d.ts.map +0 -1
  202. package/components/Icons/Amputation.d.ts.map +0 -1
  203. package/components/Icons/Anxiety.d.ts.map +0 -1
  204. package/components/Icons/Apple.d.ts.map +0 -1
  205. package/components/Icons/Archive.d.ts.map +0 -1
  206. package/components/Icons/ArmFlexing.d.ts.map +0 -1
  207. package/components/Icons/ArrowDown.d.ts.map +0 -1
  208. package/components/Icons/ArrowLeft.d.ts.map +0 -1
  209. package/components/Icons/ArrowRight.d.ts.map +0 -1
  210. package/components/Icons/ArrowUp.d.ts.map +0 -1
  211. package/components/Icons/ArrowUpRight.d.ts.map +0 -1
  212. package/components/Icons/Attachment.d.ts.map +0 -1
  213. package/components/Icons/Atv.d.ts.map +0 -1
  214. package/components/Icons/Avatar.d.ts.map +0 -1
  215. package/components/Icons/AwakePersonOnPillow.d.ts.map +0 -1
  216. package/components/Icons/Baby.d.ts.map +0 -1
  217. package/components/Icons/BandAid.d.ts.map +0 -1
  218. package/components/Icons/BeerAndPills.d.ts.map +0 -1
  219. package/components/Icons/Bell.d.ts.map +0 -1
  220. package/components/Icons/Bike.d.ts.map +0 -1
  221. package/components/Icons/BirthControl.d.ts.map +0 -1
  222. package/components/Icons/BirthdayCake.d.ts.map +0 -1
  223. package/components/Icons/Boat.d.ts.map +0 -1
  224. package/components/Icons/Body.d.ts.map +0 -1
  225. package/components/Icons/Braille.d.ts.map +0 -1
  226. package/components/Icons/Brain.d.ts.map +0 -1
  227. package/components/Icons/BreastReconstruction.d.ts.map +0 -1
  228. package/components/Icons/BreastRemoval.d.ts.map +0 -1
  229. package/components/Icons/Breasts.d.ts.map +0 -1
  230. package/components/Icons/BrokenHeart.d.ts.map +0 -1
  231. package/components/Icons/BrokenPuzzle.d.ts.map +0 -1
  232. package/components/Icons/Bus.d.ts.map +0 -1
  233. package/components/Icons/Calendar.d.ts.map +0 -1
  234. package/components/Icons/CalendarChange.d.ts.map +0 -1
  235. package/components/Icons/CalendarCheck.d.ts.map +0 -1
  236. package/components/Icons/CalendarEvent.d.ts.map +0 -1
  237. package/components/Icons/CalendarSave.d.ts.map +0 -1
  238. package/components/Icons/Cancer.d.ts.map +0 -1
  239. package/components/Icons/Candle.d.ts.map +0 -1
  240. package/components/Icons/Car.d.ts.map +0 -1
  241. package/components/Icons/Change.d.ts.map +0 -1
  242. package/components/Icons/Check.d.ts.map +0 -1
  243. package/components/Icons/CheckFill.d.ts.map +0 -1
  244. package/components/Icons/CheckOutline.d.ts.map +0 -1
  245. package/components/Icons/Chest.d.ts.map +0 -1
  246. package/components/Icons/ChevronDown.d.ts.map +0 -1
  247. package/components/Icons/ChevronLeft.d.ts.map +0 -1
  248. package/components/Icons/ChevronRight.d.ts.map +0 -1
  249. package/components/Icons/ChevronUp.d.ts.map +0 -1
  250. package/components/Icons/ChevronsDown.d.ts.map +0 -1
  251. package/components/Icons/ChevronsUp.d.ts.map +0 -1
  252. package/components/Icons/ChildPlaying.d.ts.map +0 -1
  253. package/components/Icons/Cigarette.d.ts.map +0 -1
  254. package/components/Icons/Coins.d.ts.map +0 -1
  255. package/components/Icons/Contacts.d.ts.map +0 -1
  256. package/components/Icons/Copy.d.ts.map +0 -1
  257. package/components/Icons/CoronaCertificate.d.ts.map +0 -1
  258. package/components/Icons/Coronavirus.d.ts.map +0 -1
  259. package/components/Icons/Cough.d.ts.map +0 -1
  260. package/components/Icons/CriticalHealthInfo.d.ts.map +0 -1
  261. package/components/Icons/Cross.d.ts.map +0 -1
  262. package/components/Icons/DataExchange.d.ts.map +0 -1
  263. package/components/Icons/DataReceived.d.ts.map +0 -1
  264. package/components/Icons/DataSent.d.ts.map +0 -1
  265. package/components/Icons/Depression.d.ts.map +0 -1
  266. package/components/Icons/DigestiveSystem.d.ts.map +0 -1
  267. package/components/Icons/Dizzy.d.ts.map +0 -1
  268. package/components/Icons/Documents.d.ts.map +0 -1
  269. package/components/Icons/Dog.d.ts.map +0 -1
  270. package/components/Icons/DonorCard.d.ts.map +0 -1
  271. package/components/Icons/Download.d.ts.map +0 -1
  272. package/components/Icons/Draft.d.ts.map +0 -1
  273. package/components/Icons/EChat.d.ts.map +0 -1
  274. package/components/Icons/Ear.d.ts.map +0 -1
  275. package/components/Icons/EarDeaf.d.ts.map +0 -1
  276. package/components/Icons/EarHearingAid.d.ts.map +0 -1
  277. package/components/Icons/EarNoseThroat.d.ts.map +0 -1
  278. package/components/Icons/EarVolume.d.ts.map +0 -1
  279. package/components/Icons/ElderlyPerson.d.ts.map +0 -1
  280. package/components/Icons/Embolization.d.ts.map +0 -1
  281. package/components/Icons/EmergencyCall.d.ts.map +0 -1
  282. package/components/Icons/EmoticonAnnoyed.d.ts.map +0 -1
  283. package/components/Icons/EmoticonDelighted.d.ts.map +0 -1
  284. package/components/Icons/EmoticonDisappointed.d.ts.map +0 -1
  285. package/components/Icons/EmoticonHappy.d.ts.map +0 -1
  286. package/components/Icons/EmoticonMeh.d.ts.map +0 -1
  287. package/components/Icons/EnterFullScreen.d.ts.map +0 -1
  288. package/components/Icons/Envelope.d.ts.map +0 -1
  289. package/components/Icons/Epilepsy.d.ts.map +0 -1
  290. package/components/Icons/Eraser.d.ts.map +0 -1
  291. package/components/Icons/ErrorSignFill.d.ts.map +0 -1
  292. package/components/Icons/ErrorSignStroke.d.ts.map +0 -1
  293. package/components/Icons/EuropeanHealthCard.d.ts.map +0 -1
  294. package/components/Icons/ExitFullScreen.d.ts.map +0 -1
  295. package/components/Icons/Eye.d.ts.map +0 -1
  296. package/components/Icons/Facebook.d.ts.map +0 -1
  297. package/components/Icons/FallingLeaf.d.ts.map +0 -1
  298. package/components/Icons/Female.d.ts.map +0 -1
  299. package/components/Icons/FemaleDoctor.d.ts.map +0 -1
  300. package/components/Icons/Ferry.d.ts.map +0 -1
  301. package/components/Icons/File.d.ts.map +0 -1
  302. package/components/Icons/Filter.d.ts.map +0 -1
  303. package/components/Icons/FingerBleed.d.ts.map +0 -1
  304. package/components/Icons/FirstAidKit.d.ts.map +0 -1
  305. package/components/Icons/FloppyDisk.d.ts.map +0 -1
  306. package/components/Icons/Football.d.ts.map +0 -1
  307. package/components/Icons/Form.d.ts.map +0 -1
  308. package/components/Icons/Forward.d.ts.map +0 -1
  309. package/components/Icons/Gallery.d.ts.map +0 -1
  310. package/components/Icons/Garden.d.ts.map +0 -1
  311. package/components/Icons/GasCan.d.ts.map +0 -1
  312. package/components/Icons/GenderIdentity.d.ts.map +0 -1
  313. package/components/Icons/Glasses.d.ts.map +0 -1
  314. package/components/Icons/Globe.d.ts.map +0 -1
  315. package/components/Icons/Graph.d.ts.map +0 -1
  316. package/components/Icons/Group.d.ts.map +0 -1
  317. package/components/Icons/GroupTwins.d.ts.map +0 -1
  318. package/components/Icons/HTMLFile.d.ts.map +0 -1
  319. package/components/Icons/HandWaving.d.ts.map +0 -1
  320. package/components/Icons/HandWithDisease.d.ts.map +0 -1
  321. package/components/Icons/HandsAndHeart.d.ts.map +0 -1
  322. package/components/Icons/HealthClinic.d.ts.map +0 -1
  323. package/components/Icons/HealthWarning.d.ts.map +0 -1
  324. package/components/Icons/HealthcarePerson.d.ts.map +0 -1
  325. package/components/Icons/HealthcarePersonell.d.ts.map +0 -1
  326. package/components/Icons/HearingProtection.d.ts.map +0 -1
  327. package/components/Icons/Heart.d.ts.map +0 -1
  328. package/components/Icons/HeartHands.d.ts.map +0 -1
  329. package/components/Icons/HelpSign.d.ts.map +0 -1
  330. package/components/Icons/HelpingHand.d.ts.map +0 -1
  331. package/components/Icons/Hemodialysis.d.ts.map +0 -1
  332. package/components/Icons/Hiker.d.ts.map +0 -1
  333. package/components/Icons/Hipprosthesis.d.ts.map +0 -1
  334. package/components/Icons/History.d.ts.map +0 -1
  335. package/components/Icons/HivAndAids.d.ts.map +0 -1
  336. package/components/Icons/Home.d.ts.map +0 -1
  337. package/components/Icons/Hormone.d.ts.map +0 -1
  338. package/components/Icons/Hospital.d.ts.map +0 -1
  339. package/components/Icons/Hourglass.d.ts.map +0 -1
  340. package/components/Icons/IconNames.d.ts.map +0 -1
  341. package/components/Icons/ImgFile.d.ts.map +0 -1
  342. package/components/Icons/Inbox.d.ts.map +0 -1
  343. package/components/Icons/InfoSignFill.d.ts.map +0 -1
  344. package/components/Icons/InfoSignStroke.d.ts.map +0 -1
  345. package/components/Icons/Instagram.d.ts.map +0 -1
  346. package/components/Icons/Intravenous.d.ts.map +0 -1
  347. package/components/Icons/JointPain.d.ts.map +0 -1
  348. package/components/Icons/Journal.d.ts.map +0 -1
  349. package/components/Icons/JpgFile.d.ts.map +0 -1
  350. package/components/Icons/Kidney.d.ts.map +0 -1
  351. package/components/Icons/KitchenScale.d.ts.map +0 -1
  352. package/components/Icons/Kjernejournal.d.ts.map +0 -1
  353. package/components/Icons/Laboratory.d.ts.map +0 -1
  354. package/components/Icons/LaptopBlog.d.ts.map +0 -1
  355. package/components/Icons/LawBook.d.ts.map +0 -1
  356. package/components/Icons/LegalDocument.d.ts.map +0 -1
  357. package/components/Icons/LightBulb.d.ts.map +0 -1
  358. package/components/Icons/List.d.ts.map +0 -1
  359. package/components/Icons/Location.d.ts.map +0 -1
  360. package/components/Icons/Lock.d.ts.map +0 -1
  361. package/components/Icons/Login.d.ts.map +0 -1
  362. package/components/Icons/Logout.d.ts.map +0 -1
  363. package/components/Icons/Lungs.d.ts.map +0 -1
  364. package/components/Icons/Makeup.d.ts.map +0 -1
  365. package/components/Icons/MaleDoctor.d.ts.map +0 -1
  366. package/components/Icons/MaleDoctorAndPerson.d.ts.map +0 -1
  367. package/components/Icons/MaleGenitalia.d.ts.map +0 -1
  368. package/components/Icons/Medicine.d.ts.map +0 -1
  369. package/components/Icons/MedicineWarning.d.ts.map +0 -1
  370. package/components/Icons/MentalHealthAdult.d.ts.map +0 -1
  371. package/components/Icons/MentalHealthChild.d.ts.map +0 -1
  372. package/components/Icons/Menu.d.ts.map +0 -1
  373. package/components/Icons/Microscope.d.ts.map +0 -1
  374. package/components/Icons/Minus.d.ts.map +0 -1
  375. package/components/Icons/Mirror.d.ts.map +0 -1
  376. package/components/Icons/MobilePhone.d.ts.map +0 -1
  377. package/components/Icons/MotherHoldingBaby.d.ts.map +0 -1
  378. package/components/Icons/MuscleBack.d.ts.map +0 -1
  379. package/components/Icons/MuscleLeg.d.ts.map +0 -1
  380. package/components/Icons/Mushroom.d.ts.map +0 -1
  381. package/components/Icons/Music.d.ts.map +0 -1
  382. package/components/Icons/MusselsAndSalt.d.ts.map +0 -1
  383. package/components/Icons/NoAccess.d.ts.map +0 -1
  384. package/components/Icons/NoEye.d.ts.map +0 -1
  385. package/components/Icons/NoFilter.d.ts.map +0 -1
  386. package/components/Icons/Notepad.d.ts.map +0 -1
  387. package/components/Icons/Osteotomy.d.ts.map +0 -1
  388. package/components/Icons/PaintRoller.d.ts.map +0 -1
  389. package/components/Icons/PaperPlane.d.ts.map +0 -1
  390. package/components/Icons/PatientAndPerson.d.ts.map +0 -1
  391. package/components/Icons/Pause.d.ts.map +0 -1
  392. package/components/Icons/PdfFile.d.ts.map +0 -1
  393. package/components/Icons/Pencil.d.ts.map +0 -1
  394. package/components/Icons/PeopleTalking.d.ts.map +0 -1
  395. package/components/Icons/Peritonealdialysis.d.ts.map +0 -1
  396. package/components/Icons/Person.d.ts.map +0 -1
  397. package/components/Icons/PersonAndPatient.d.ts.map +0 -1
  398. package/components/Icons/PersonCancel.d.ts.map +0 -1
  399. package/components/Icons/PersonInXRayMachine.d.ts.map +0 -1
  400. package/components/Icons/PersonOverweight.d.ts.map +0 -1
  401. package/components/Icons/PersonRelaxing.d.ts.map +0 -1
  402. package/components/Icons/PersonWithBrain.d.ts.map +0 -1
  403. package/components/Icons/PersonWithBrokenArm.d.ts.map +0 -1
  404. package/components/Icons/PersonWithCrutches.d.ts.map +0 -1
  405. package/components/Icons/PersonWithJaw.d.ts.map +0 -1
  406. package/components/Icons/PersonWithMagnifyingGlass.d.ts.map +0 -1
  407. package/components/Icons/PersonWithSenses.d.ts.map +0 -1
  408. package/components/Icons/PersonWorking.d.ts.map +0 -1
  409. package/components/Icons/PersonalPlan.d.ts.map +0 -1
  410. package/components/Icons/PizzaSlice.d.ts.map +0 -1
  411. package/components/Icons/Plane.d.ts.map +0 -1
  412. package/components/Icons/Plant.d.ts.map +0 -1
  413. package/components/Icons/Play.d.ts.map +0 -1
  414. package/components/Icons/PlusLarge.d.ts.map +0 -1
  415. package/components/Icons/PlusSmall.d.ts.map +0 -1
  416. package/components/Icons/PngFile.d.ts.map +0 -1
  417. package/components/Icons/Podcast.d.ts.map +0 -1
  418. package/components/Icons/PoisonInformation.d.ts.map +0 -1
  419. package/components/Icons/Pregnant.d.ts.map +0 -1
  420. package/components/Icons/Printer.d.ts.map +0 -1
  421. package/components/Icons/Psychosis.d.ts.map +0 -1
  422. package/components/Icons/Publication.d.ts.map +0 -1
  423. package/components/Icons/Puzzle.d.ts.map +0 -1
  424. package/components/Icons/QrCode.d.ts.map +0 -1
  425. package/components/Icons/Quarrel.d.ts.map +0 -1
  426. package/components/Icons/RadioTherapy.d.ts.map +0 -1
  427. package/components/Icons/RadioactiveTreatment.d.ts.map +0 -1
  428. package/components/Icons/Radioiodine.d.ts.map +0 -1
  429. package/components/Icons/Receipt.d.ts.map +0 -1
  430. package/components/Icons/Receptionist.d.ts.map +0 -1
  431. package/components/Icons/Recovery.d.ts.map +0 -1
  432. package/components/Icons/Referral.d.ts.map +0 -1
  433. package/components/Icons/Refresh.d.ts.map +0 -1
  434. package/components/Icons/Refund.d.ts.map +0 -1
  435. package/components/Icons/Reply.d.ts.map +0 -1
  436. package/components/Icons/Rocket.d.ts.map +0 -1
  437. package/components/Icons/RtfFile.d.ts.map +0 -1
  438. package/components/Icons/STDs.d.ts.map +0 -1
  439. package/components/Icons/Save.d.ts.map +0 -1
  440. package/components/Icons/Scale.d.ts.map +0 -1
  441. package/components/Icons/ScreenReader.d.ts.map +0 -1
  442. package/components/Icons/Search.d.ts.map +0 -1
  443. package/components/Icons/SectionSign.d.ts.map +0 -1
  444. package/components/Icons/Settings.d.ts.map +0 -1
  445. package/components/Icons/Sexualorientation.d.ts.map +0 -1
  446. package/components/Icons/ShakingHand.d.ts.map +0 -1
  447. package/components/Icons/Share.d.ts.map +0 -1
  448. package/components/Icons/Shield.d.ts.map +0 -1
  449. package/components/Icons/ShuntOperation.d.ts.map +0 -1
  450. package/components/Icons/Skeleton.d.ts.map +0 -1
  451. package/components/Icons/Skin.d.ts.map +0 -1
  452. package/components/Icons/Snake.d.ts.map +0 -1
  453. package/components/Icons/Snapchat.d.ts.map +0 -1
  454. package/components/Icons/SortDown.d.ts.map +0 -1
  455. package/components/Icons/SortUp.d.ts.map +0 -1
  456. package/components/Icons/SpeechBubble.d.ts.map +0 -1
  457. package/components/Icons/Spray.d.ts.map +0 -1
  458. package/components/Icons/Stopwatch.d.ts.map +0 -1
  459. package/components/Icons/Sun.d.ts.map +0 -1
  460. package/components/Icons/SupportingPerson.d.ts.map +0 -1
  461. package/components/Icons/Surgery.d.ts.map +0 -1
  462. package/components/Icons/Syringe.d.ts.map +0 -1
  463. package/components/Icons/Taxi.d.ts.map +0 -1
  464. package/components/Icons/TeddyBear.d.ts.map +0 -1
  465. package/components/Icons/Teenagers.d.ts.map +0 -1
  466. package/components/Icons/ThinkingAboutBaby.d.ts.map +0 -1
  467. package/components/Icons/Ticket.d.ts.map +0 -1
  468. package/components/Icons/TimePassing.d.ts.map +0 -1
  469. package/components/Icons/Tombstone.d.ts.map +0 -1
  470. package/components/Icons/Toolbox.d.ts.map +0 -1
  471. package/components/Icons/Tooth.d.ts.map +0 -1
  472. package/components/Icons/TotalKneeProsthesis.d.ts.map +0 -1
  473. package/components/Icons/Train.d.ts.map +0 -1
  474. package/components/Icons/Transplantation.d.ts.map +0 -1
  475. package/components/Icons/TrashCan.d.ts.map +0 -1
  476. package/components/Icons/TravelRoute.d.ts.map +0 -1
  477. package/components/Icons/TriangleX.d.ts.map +0 -1
  478. package/components/Icons/Twitter.d.ts.map +0 -1
  479. package/components/Icons/Undo.d.ts.map +0 -1
  480. package/components/Icons/UniProsthesis.d.ts.map +0 -1
  481. package/components/Icons/Upload.d.ts.map +0 -1
  482. package/components/Icons/UserOrganization.d.ts.map +0 -1
  483. package/components/Icons/Vaccine.d.ts.map +0 -1
  484. package/components/Icons/VerticalDots.d.ts.map +0 -1
  485. package/components/Icons/VideoCamera.d.ts.map +0 -1
  486. package/components/Icons/VideoChat.d.ts.map +0 -1
  487. package/components/Icons/Wallet.d.ts.map +0 -1
  488. package/components/Icons/Watch.d.ts.map +0 -1
  489. package/components/Icons/Website.d.ts.map +0 -1
  490. package/components/Icons/Wheelchair.d.ts.map +0 -1
  491. package/components/Icons/WheelchairActive.d.ts.map +0 -1
  492. package/components/Icons/Window.d.ts.map +0 -1
  493. package/components/Icons/WordDocument.d.ts.map +0 -1
  494. package/components/Icons/WorkSuitcase.d.ts.map +0 -1
  495. package/components/Icons/X.d.ts.map +0 -1
  496. package/components/Icons/XOutline.d.ts.map +0 -1
  497. package/components/Icons/XmlFile.d.ts.map +0 -1
  498. package/components/Icons/YouTube.d.ts.map +0 -1
  499. package/components/Icons/Zoom.d.ts.map +0 -1
  500. package/components/Illustration/Illustration.d.ts.map +0 -1
  501. package/components/Illustration/index.d.ts.map +0 -1
  502. package/components/Illustration/utils.d.ts.map +0 -1
  503. package/components/Illustrations/Doctor.d.ts.map +0 -1
  504. package/components/Illustrations/DoctorMedium.d.ts.map +0 -1
  505. package/components/Illustrations/DoctorSmall.d.ts.map +0 -1
  506. package/components/Illustrations/HealthcarePersonnel.d.ts.map +0 -1
  507. package/components/Illustrations/HealthcarePersonnelMedium.d.ts.map +0 -1
  508. package/components/Illustrations/HealthcarePersonnelSmall.d.ts.map +0 -1
  509. package/components/Illustrations/IllustrationNames.d.ts.map +0 -1
  510. package/components/Input/Input.d.ts.map +0 -1
  511. package/components/Input/index.d.ts.map +0 -1
  512. package/components/Label/Label.d.ts.map +0 -1
  513. package/components/Label/SubLabel.d.ts.map +0 -1
  514. package/components/Label/index.d.ts.map +0 -1
  515. package/components/LazyIcon/ErrorBoundary.d.ts.map +0 -1
  516. package/components/LazyIcon/LazyIcon.d.ts.map +0 -1
  517. package/components/LazyIcon/index.d.ts.map +0 -1
  518. package/components/LazyIcon/utils.d.ts.map +0 -1
  519. package/components/LazyIllustration/LazyIllustration.d.ts.map +0 -1
  520. package/components/LazyIllustration/index.d.ts.map +0 -1
  521. package/components/LinkList/LinkList.d.ts.map +0 -1
  522. package/components/LinkList/index.d.ts.map +0 -1
  523. package/components/List/List.d.ts.map +0 -1
  524. package/components/List/index.d.ts.map +0 -1
  525. package/components/ListHeader/ListHeader.d.ts.map +0 -1
  526. package/components/ListHeader/ListHeaderText/ListHeaderText.d.ts.map +0 -1
  527. package/components/ListHeader/ListHeaderText/index.d.ts.map +0 -1
  528. package/components/ListHeader/index.d.ts.map +0 -1
  529. package/components/Loader/Loader.d.ts.map +0 -1
  530. package/components/Loader/index.d.ts.map +0 -1
  531. package/components/Logo/Logo.d.ts.map +0 -1
  532. package/components/Logo/index.d.ts.map +0 -1
  533. package/components/MaxCharacters/MaxCharacters.d.ts.map +0 -1
  534. package/components/Modal/Modal.d.ts.map +0 -1
  535. package/components/Modal/index.d.ts.map +0 -1
  536. package/components/NotificationPanel/DetailButton/DetailButton.d.ts.map +0 -1
  537. package/components/NotificationPanel/NotificationPanel.d.ts.map +0 -1
  538. package/components/NotificationPanel/index.d.ts.map +0 -1
  539. package/components/Panel/Panel.d.ts.map +0 -1
  540. package/components/Panel/index.d.ts.map +0 -1
  541. package/components/PanelList/PanelList.d.ts.map +0 -1
  542. package/components/PanelList/index.d.ts.map +0 -1
  543. package/components/PopMenu/PopMenu.d.ts.map +0 -1
  544. package/components/PopMenu/index.d.ts.map +0 -1
  545. package/components/PopOver/PopOver.d.ts.map +0 -1
  546. package/components/PopOver/index.d.ts.map +0 -1
  547. package/components/PopOver/utils.d.ts.map +0 -1
  548. package/components/Portal/index.d.ts.map +0 -1
  549. package/components/PromoPanel/PromoPanel.d.ts.map +0 -1
  550. package/components/PromoPanel/index.d.ts.map +0 -1
  551. package/components/RadioButton/RadioButton.d.ts.map +0 -1
  552. package/components/RadioButton/index.d.ts.map +0 -1
  553. package/components/Select/Select.d.ts.map +0 -1
  554. package/components/Select/index.d.ts.map +0 -1
  555. package/components/ServiceMessage/ServiceMessage.d.ts.map +0 -1
  556. package/components/ServiceMessage/index.d.ts.map +0 -1
  557. package/components/SharingStatus/SharingStatus.d.ts.map +0 -1
  558. package/components/SharingStatus/index.d.ts.map +0 -1
  559. package/components/Slider/Slider.d.ts.map +0 -1
  560. package/components/Slider/index.d.ts.map +0 -1
  561. package/components/Spacer/Spacer.d.ts.map +0 -1
  562. package/components/Spacer/index.d.ts.map +0 -1
  563. package/components/StatusDot/StatusDot.d.ts.map +0 -1
  564. package/components/StatusDot/index.d.ts.map +0 -1
  565. package/components/Step/Step.d.ts.map +0 -1
  566. package/components/Step/index.d.ts.map +0 -1
  567. package/components/StepButtons/StepButtons.d.ts.map +0 -1
  568. package/components/StepButtons/index.d.ts.map +0 -1
  569. package/components/Stepper/Dot.d.ts.map +0 -1
  570. package/components/Stepper/DotList.d.ts.map +0 -1
  571. package/components/Stepper/Stepper.d.ts.map +0 -1
  572. package/components/Stepper/index.d.ts.map +0 -1
  573. package/components/Stepper/utils.d.ts.map +0 -1
  574. package/components/Table/Table.d.ts.map +0 -1
  575. package/components/Table/TableBody/TableBody.d.ts.map +0 -1
  576. package/components/Table/TableBody/index.d.ts.map +0 -1
  577. package/components/Table/TableCell/TableCell.d.ts.map +0 -1
  578. package/components/Table/TableCell/index.d.ts.map +0 -1
  579. package/components/Table/TableExpandedRow/TableExpandedRow.d.ts.map +0 -1
  580. package/components/Table/TableExpandedRow/index.d.ts.map +0 -1
  581. package/components/Table/TableExpanderCell/TableExpanderCell.d.ts.map +0 -1
  582. package/components/Table/TableExpanderCell/TableExpanderCellMobile.d.ts.map +0 -1
  583. package/components/Table/TableExpanderCell/index.d.ts.map +0 -1
  584. package/components/Table/TableHead/TableHead.d.ts.map +0 -1
  585. package/components/Table/TableHead/index.d.ts.map +0 -1
  586. package/components/Table/TableHeadCell/TableHeadCell.d.ts.map +0 -1
  587. package/components/Table/TableHeadCell/index.d.ts.map +0 -1
  588. package/components/Table/TableRow/TableRow.d.ts.map +0 -1
  589. package/components/Table/TableRow/index.d.ts.map +0 -1
  590. package/components/Table/index.d.ts.map +0 -1
  591. package/components/Table/utils.d.ts.map +0 -1
  592. package/components/Tag/Tag.d.ts.map +0 -1
  593. package/components/Tag/index.d.ts.map +0 -1
  594. package/components/TagList/TagList.d.ts.map +0 -1
  595. package/components/TagList/index.d.ts.map +0 -1
  596. package/components/Textarea/Textarea.d.ts.map +0 -1
  597. package/components/Textarea/index.d.ts.map +0 -1
  598. package/components/Tile/Tile.d.ts.map +0 -1
  599. package/components/Tile/index.d.ts.map +0 -1
  600. package/components/Title/Title.d.ts.map +0 -1
  601. package/components/Title/index.d.ts.map +0 -1
  602. package/components/Tooltip/Tooltip.d.ts.map +0 -1
  603. package/components/Tooltip/TooltipWord/TooltipWord.d.ts.map +0 -1
  604. package/components/Tooltip/TooltipWord/index.d.ts.map +0 -1
  605. package/components/Tooltip/index.d.ts.map +0 -1
  606. package/components/TooltipExample/TooltipExample.d.ts.map +0 -1
  607. package/components/TooltipExample/index.d.ts.map +0 -1
  608. package/components/Trigger/HelpSign.d.ts.map +0 -1
  609. package/components/Trigger/InfoSignStroke.d.ts.map +0 -1
  610. package/components/Trigger/Trigger.d.ts.map +0 -1
  611. package/components/Trigger/index.d.ts.map +0 -1
  612. package/components/Validation/Validation.d.ts.map +0 -1
  613. package/components/Validation/index.d.ts.map +0 -1
  614. package/constants.d.ts.map +0 -1
  615. package/hoc/withBreakpoint/index.d.ts.map +0 -1
  616. package/hoc/withBreakpoint/withBreakpoint.d.ts.map +0 -1
  617. package/hooks/useBreakpoint.d.ts.map +0 -1
  618. package/hooks/useDelayedState.d.ts.map +0 -1
  619. package/hooks/useElementList.d.ts.map +0 -1
  620. package/hooks/useEventListenerState.d.ts.map +0 -1
  621. package/hooks/useExpand.d.ts.map +0 -1
  622. package/hooks/useFocusToggle.d.ts.map +0 -1
  623. package/hooks/useFocusTrap.d.ts.map +0 -1
  624. package/hooks/useFocusableElements.d.ts.map +0 -1
  625. package/hooks/useHover.d.ts.map +0 -1
  626. package/hooks/useIcons.d.ts.map +0 -1
  627. package/hooks/useIntersectionObserver.d.ts.map +0 -1
  628. package/hooks/useInterval.d.ts.map +0 -1
  629. package/hooks/useIsVisible.d.ts.map +0 -1
  630. package/hooks/useKeyboardEvent.d.ts.map +0 -1
  631. package/hooks/useLayoutEvent.d.ts.map +0 -1
  632. package/hooks/useOutsideEvent.d.ts.map +0 -1
  633. package/hooks/usePrevious.d.ts.map +0 -1
  634. package/hooks/usePseudoClasses.d.ts.map +0 -1
  635. package/hooks/useResizeObserver.d.ts.map +0 -1
  636. package/hooks/useSize.d.ts.map +0 -1
  637. package/hooks/useSticky.d.ts.map +0 -1
  638. package/hooks/useToggle.d.ts.map +0 -1
  639. package/hooks/useUuid.d.ts.map +0 -1
  640. package/index.d.ts.map +0 -1
  641. package/theme/currys/color.d.ts.map +0 -1
  642. package/theme/currys/index.d.ts.map +0 -1
  643. package/theme/currys/spacing.d.ts.map +0 -1
  644. package/theme/grid.d.ts.map +0 -1
  645. package/theme/index.d.ts.map +0 -1
  646. package/theme/palette.d.ts.map +0 -1
  647. package/theme/spacers.d.ts.map +0 -1
  648. package/utils/accessibility.d.ts.map +0 -1
  649. package/utils/component.d.ts.map +0 -1
  650. package/utils/debounce.d.ts.map +0 -1
  651. package/utils/device.d.ts.map +0 -1
  652. package/utils/environment.d.ts.map +0 -1
  653. package/utils/focus.d.ts.map +0 -1
  654. package/utils/loremtext.d.ts.map +0 -1
  655. package/utils/mobile.d.ts.map +0 -1
  656. package/utils/refs.d.ts.map +0 -1
  657. package/utils/uuid.d.ts.map +0 -1
  658. package/utils/viewport.d.ts.map +0 -1
@@ -1,56 +1,57 @@
1
- import t, { useRef as f, useState as A, useEffect as B } from "react";
2
- import v from "classnames";
3
- import { getVerticalPosition as x, getBubbleStyle as F, getArrowStyle as L } from "./utils.js";
4
- import { AnalyticsId as T } from "../../constants.js";
5
- import { useInterval as V } from "../../hooks/useInterval.js";
6
- import { useIsVisible as $ } from "../../hooks/useIsVisible.js";
7
- import { useLayoutEvent as j } from "../../hooks/useLayoutEvent.js";
8
- import { useSize as k } from "../../hooks/useSize.js";
9
- import { mergeRefs as q } from "../../utils/refs.js";
1
+ import t, { useRef as v, useState as A, useEffect as B } from "react";
2
+ import b from "classnames";
3
+ import { getVerticalPosition as F, getBubbleStyle as L, getArrowStyle as T } from "./utils.js";
4
+ import { ZIndex as V, AnalyticsId as Z } from "../../constants.js";
5
+ import { useInterval as $ } from "../../hooks/useInterval.js";
6
+ import { useIsVisible as j } from "../../hooks/useIsVisible.js";
7
+ import { useLayoutEvent as k } from "../../hooks/useLayoutEvent.js";
8
+ import { useSize as q } from "../../hooks/useSize.js";
9
+ import { mergeRefs as D } from "../../utils/refs.js";
10
10
  import r from "./styles.module.scss";
11
- var D = /* @__PURE__ */ ((o) => (o.positionautomatic = "positionautomatic", o.positionbelow = "positionbelow", o.positionabove = "positionabove", o))(D || {});
12
- const b = t.forwardRef((o, d) => {
11
+ var G = /* @__PURE__ */ ((e) => (e.positionautomatic = "positionautomatic", e.positionbelow = "positionbelow", e.positionabove = "positionabove", e))(G || {});
12
+ const d = t.forwardRef((e, w) => {
13
13
  const {
14
- id: w,
15
- children: y,
14
+ id: y,
15
+ children: S,
16
16
  controllerRef: n,
17
- popOverRef: S,
18
- show: R = !1,
19
- className: _ = "",
17
+ popOverRef: R,
18
+ show: _ = !1,
19
+ className: g = "",
20
20
  variant: p = "positionautomatic",
21
21
  role: c,
22
- testId: g,
23
- arrowClassName: z
24
- } = o, m = S || f(null), C = f(null), s = k(m), [e, N] = A(), E = $(n, 0), l = () => {
25
- var u;
26
- N((u = n.current) == null ? void 0 : u.getBoundingClientRect());
22
+ testId: z,
23
+ arrowClassName: C,
24
+ zIndex: m = V.PopOver
25
+ } = e, u = R || v(null), I = v(null), s = q(u), [o, N] = A(), E = j(n, 0), l = () => {
26
+ var f;
27
+ N((f = n.current) == null ? void 0 : f.getBoundingClientRect());
27
28
  };
28
- V(l, 500), j(l, ["scroll", "resize"], 10), B(() => {
29
+ $(l, 500), k(l, ["scroll", "resize"], 10), B(() => {
29
30
  l();
30
31
  }, []);
31
- const I = c === "tooltip", O = v(r.popover, { [r["popover--visible"]]: I ? R : E }, _), i = e && s && x(e, s, p), P = v(r.popover__arrow, z, {
32
+ const O = c === "tooltip", P = b(r.popover, { [r["popover--visible"]]: O ? _ : E }, g), i = o && s && F(o, s, p), x = b(r.popover__arrow, C, {
32
33
  [r["popover__arrow--over"]]: i === "positionbelow",
33
34
  [r["popover__arrow--under"]]: i === "positionabove"
34
35
  /* positionabove */
35
- }), a = e && s && F(e, s, p), h = a && e && i && L(a, e, i);
36
+ }), a = o && s && L(o, s, p), h = a && o && i && T(a, o, i);
36
37
  return /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement(
37
38
  "div",
38
39
  {
39
- id: w,
40
- ref: q([d, m]),
41
- className: O,
42
- style: a,
43
- "data-testid": g,
44
- "data-analyticsid": T.PopOver,
40
+ id: y,
41
+ ref: D([w, u]),
42
+ className: P,
43
+ style: { ...a, zIndex: m },
44
+ "data-testid": z,
45
+ "data-analyticsid": Z.PopOver,
45
46
  role: c
46
47
  },
47
- y
48
- ), /* @__PURE__ */ t.createElement("div", { ref: C, className: P, style: h }));
48
+ S
49
+ ), /* @__PURE__ */ t.createElement("div", { ref: I, className: x, style: { ...h, zIndex: m } }));
49
50
  });
50
- b.displayName = "PopOver";
51
- const Z = b;
51
+ d.displayName = "PopOver";
52
+ const oe = d;
52
53
  export {
53
- D as PopOverVariant,
54
- Z as default
54
+ G as PopOverVariant,
55
+ oe as default
55
56
  };
56
57
  //# sourceMappingURL=PopOver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopOver.js","sources":["../../../src/components/PopOver/PopOver.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { getArrowStyle, getBubbleStyle, getVerticalPosition } from './utils';\nimport { AnalyticsId } from '../../constants';\nimport { useInterval } from '../../hooks/useInterval';\nimport { useIsVisible } from '../../hooks/useIsVisible';\nimport { useLayoutEvent } from '../../hooks/useLayoutEvent';\nimport { useSize } from '../../hooks/useSize';\nimport { mergeRefs } from '../../utils/refs';\n\nimport styles from './styles.module.scss';\n\nexport enum PopOverVariant {\n positionautomatic = 'positionautomatic',\n positionbelow = 'positionbelow',\n positionabove = 'positionabove',\n}\n\nexport type PopOverRole = 'tooltip';\n\nexport interface PopOverProps {\n /** Id of the PopOver */\n id?: string;\n /** Content shown inside PopOver. Note that if role=\"tooltip\", you must not include interactive/focusable elements. */\n children: React.ReactNode;\n /** Ref for the element the PopOver is placed upon */\n controllerRef: React.RefObject<HTMLElement | SVGSVGElement>;\n /** Ref for the element the PopOver is placed upon */\n popOverRef?: React.RefObject<HTMLDivElement>;\n /** Show the popover. Only applies when role=tooltip. Default: false. */\n show?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n /** Adds custom classes to the arrow element. */\n arrowClassName?: string;\n /** Determines the placement of the popover. Default: automatic positioning. */\n variant?: keyof typeof PopOverVariant;\n /** Sets role of the PopOver element */\n role?: PopOverRole;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst PopOver = React.forwardRef<HTMLDivElement | SVGSVGElement, PopOverProps>((props, ref) => {\n const {\n id,\n children,\n controllerRef,\n popOverRef,\n show = false,\n className = '',\n variant = PopOverVariant.positionautomatic,\n role,\n testId,\n arrowClassName,\n } = props;\n\n const bubbleRef = popOverRef || useRef<HTMLDivElement>(null);\n const arrowRef = useRef<HTMLDivElement>(null);\n const bubbleSize = useSize(bubbleRef);\n const [controllerSize, setControllerSize] = useState<DOMRect>();\n const controllerisVisible = useIsVisible(controllerRef, 0);\n\n const updateControllerSize = (): void => {\n setControllerSize(controllerRef.current?.getBoundingClientRect());\n };\n\n useInterval(updateControllerSize, 500);\n useLayoutEvent(updateControllerSize, ['scroll', 'resize'], 10);\n\n useEffect(() => {\n updateControllerSize();\n }, []);\n\n const isTooltip = role === 'tooltip';\n\n const popOverClasses = classNames(styles.popover, { [styles['popover--visible']]: isTooltip ? show : controllerisVisible }, className);\n const verticalPosition = controllerSize && bubbleSize && getVerticalPosition(controllerSize, bubbleSize, variant);\n const arrowClasses = classNames(styles.popover__arrow, arrowClassName, {\n [styles['popover__arrow--over']]: verticalPosition === PopOverVariant.positionbelow,\n [styles['popover__arrow--under']]: verticalPosition === PopOverVariant.positionabove,\n });\n\n const bubbleStyle = controllerSize && bubbleSize && getBubbleStyle(controllerSize, bubbleSize, variant);\n const arrowStyle = bubbleStyle && controllerSize && verticalPosition && getArrowStyle(bubbleStyle, controllerSize, verticalPosition);\n\n return (\n <>\n <div\n id={id}\n ref={mergeRefs([ref, bubbleRef])}\n className={popOverClasses}\n style={bubbleStyle}\n data-testid={testId}\n data-analyticsid={AnalyticsId.PopOver}\n role={role}\n >\n {children}\n </div>\n <div ref={arrowRef} className={arrowClasses} style={arrowStyle} />\n </>\n );\n});\n\nPopOver.displayName = 'PopOver';\n\nexport default PopOver;\n"],"names":["PopOverVariant","PopOver","React","props","ref","id","children","controllerRef","popOverRef","show","className","variant","role","testId","arrowClassName","bubbleRef","useRef","arrowRef","bubbleSize","useSize","controllerSize","setControllerSize","useState","controllerisVisible","useIsVisible","updateControllerSize","_a","useInterval","useLayoutEvent","useEffect","isTooltip","popOverClasses","classNames","styles","verticalPosition","getVerticalPosition","arrowClasses","bubbleStyle","getBubbleStyle","arrowStyle","getArrowStyle","mergeRefs","AnalyticsId","PopOver$1"],"mappings":";;;;;;;;;;AAcY,IAAAA,sBAAAA,OACVA,EAAA,oBAAoB,qBACpBA,EAAA,gBAAgB,iBAChBA,EAAA,gBAAgB,iBAHNA,IAAAA,KAAA,CAAA,CAAA;AA+BZ,MAAMC,IAAUC,EAAM,WAAyD,CAACC,GAAOC,MAAQ;AACvF,QAAA;AAAA,IACJ,IAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,WAAAC,IAAY;AAAA,IACZ,SAAAC,IAAU;AAAA,IACV,MAAAC;AAAA,IACA,QAAAC;AAAA,IACA,gBAAAC;AAAA,EACE,IAAAX,GAEEY,IAAYP,KAAcQ,EAAuB,IAAI,GACrDC,IAAWD,EAAuB,IAAI,GACtCE,IAAaC,EAAQJ,CAAS,GAC9B,CAACK,GAAgBC,CAAiB,IAAIC,EAAkB,GACxDC,IAAsBC,EAAajB,GAAe,CAAC,GAEnDkB,IAAuB,MAAY;;AACrB,IAAAJ,GAAAK,IAAAnB,EAAc,YAAd,gBAAAmB,EAAuB,uBAAuB;AAAA,EAAA;AAGlE,EAAAC,EAAYF,GAAsB,GAAG,GACrCG,EAAeH,GAAsB,CAAC,UAAU,QAAQ,GAAG,EAAE,GAE7DI,EAAU,MAAM;AACO,IAAAJ;EACvB,GAAG,CAAE,CAAA;AAEL,QAAMK,IAAYlB,MAAS,WAErBmB,IAAiBC,EAAWC,EAAO,SAAS,EAAE,CAACA,EAAO,kBAAkB,CAAC,GAAGH,IAAYrB,IAAOc,KAAuBb,CAAS,GAC/HwB,IAAmBd,KAAkBF,KAAciB,EAAoBf,GAAgBF,GAAYP,CAAO,GAC1GyB,IAAeJ,EAAWC,EAAO,gBAAgBnB,GAAgB;AAAA,IACrE,CAACmB,EAAO,sBAAsB,CAAC,GAAGC,MAAqB;AAAA,IACvD,CAACD,EAAO,uBAAuB,CAAC,GAAGC,MAAqB;AAAA;AAAA,EAAA,CACzD,GAEKG,IAAcjB,KAAkBF,KAAcoB,EAAelB,GAAgBF,GAAYP,CAAO,GAChG4B,IAAaF,KAAejB,KAAkBc,KAAoBM,EAAcH,GAAajB,GAAgBc,CAAgB;AAEnI,SAEIhC,gBAAAA,EAAA,cAAAA,EAAA,UAAA,MAAAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAAG;AAAA,MACA,KAAKoC,EAAU,CAACrC,GAAKW,CAAS,CAAC;AAAA,MAC/B,WAAWgB;AAAA,MACX,OAAOM;AAAA,MACP,eAAaxB;AAAA,MACb,oBAAkB6B,EAAY;AAAA,MAC9B,MAAA9B;AAAA,IAAA;AAAA,IAECN;AAAA,EACH,mCACC,OAAI,EAAA,KAAKW,GAAU,WAAWmB,GAAc,OAAOG,EAAA,CAAY,CAClE;AAEJ,CAAC;AAEDtC,EAAQ,cAAc;AAEtB,MAAA0C,IAAe1C;"}
1
+ {"version":3,"file":"PopOver.js","sources":["../../../src/components/PopOver/PopOver.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { getArrowStyle, getBubbleStyle, getVerticalPosition } from './utils';\nimport { AnalyticsId, ZIndex } from '../../constants';\nimport { useInterval } from '../../hooks/useInterval';\nimport { useIsVisible } from '../../hooks/useIsVisible';\nimport { useLayoutEvent } from '../../hooks/useLayoutEvent';\nimport { useSize } from '../../hooks/useSize';\nimport { mergeRefs } from '../../utils/refs';\n\nimport styles from './styles.module.scss';\n\nexport enum PopOverVariant {\n positionautomatic = 'positionautomatic',\n positionbelow = 'positionbelow',\n positionabove = 'positionabove',\n}\n\nexport type PopOverRole = 'tooltip';\n\nexport interface PopOverProps {\n /** Id of the PopOver */\n id?: string;\n /** Content shown inside PopOver. Note that if role=\"tooltip\", you must not include interactive/focusable elements. */\n children: React.ReactNode;\n /** Ref for the element the PopOver is placed upon */\n controllerRef: React.RefObject<HTMLElement | SVGSVGElement>;\n /** Ref for the element the PopOver is placed upon */\n popOverRef?: React.RefObject<HTMLDivElement>;\n /** Show the popover. Only applies when role=tooltip. Default: false. */\n show?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n /** Adds custom classes to the arrow element. */\n arrowClassName?: string;\n /** Determines the placement of the popover. Default: automatic positioning. */\n variant?: keyof typeof PopOverVariant;\n /** Sets role of the PopOver element */\n role?: PopOverRole;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Overrides the default z-index of PopOver */\n zIndex?: number;\n}\n\nconst PopOver = React.forwardRef<HTMLDivElement | SVGSVGElement, PopOverProps>((props, ref) => {\n const {\n id,\n children,\n controllerRef,\n popOverRef,\n show = false,\n className = '',\n variant = PopOverVariant.positionautomatic,\n role,\n testId,\n arrowClassName,\n zIndex = ZIndex.PopOver,\n } = props;\n\n const bubbleRef = popOverRef || useRef<HTMLDivElement>(null);\n const arrowRef = useRef<HTMLDivElement>(null);\n const bubbleSize = useSize(bubbleRef);\n const [controllerSize, setControllerSize] = useState<DOMRect>();\n const controllerisVisible = useIsVisible(controllerRef, 0);\n\n const updateControllerSize = (): void => {\n setControllerSize(controllerRef.current?.getBoundingClientRect());\n };\n\n useInterval(updateControllerSize, 500);\n useLayoutEvent(updateControllerSize, ['scroll', 'resize'], 10);\n\n useEffect(() => {\n updateControllerSize();\n }, []);\n\n const isTooltip = role === 'tooltip';\n\n const popOverClasses = classNames(styles.popover, { [styles['popover--visible']]: isTooltip ? show : controllerisVisible }, className);\n const verticalPosition = controllerSize && bubbleSize && getVerticalPosition(controllerSize, bubbleSize, variant);\n const arrowClasses = classNames(styles.popover__arrow, arrowClassName, {\n [styles['popover__arrow--over']]: verticalPosition === PopOverVariant.positionbelow,\n [styles['popover__arrow--under']]: verticalPosition === PopOverVariant.positionabove,\n });\n\n const bubbleStyle = controllerSize && bubbleSize && getBubbleStyle(controllerSize, bubbleSize, variant);\n const arrowStyle = bubbleStyle && controllerSize && verticalPosition && getArrowStyle(bubbleStyle, controllerSize, verticalPosition);\n\n return (\n <>\n <div\n id={id}\n ref={mergeRefs([ref, bubbleRef])}\n className={popOverClasses}\n style={{ ...bubbleStyle, zIndex }}\n data-testid={testId}\n data-analyticsid={AnalyticsId.PopOver}\n role={role}\n >\n {children}\n </div>\n <div ref={arrowRef} className={arrowClasses} style={{ ...arrowStyle, zIndex }} />\n </>\n );\n});\n\nPopOver.displayName = 'PopOver';\n\nexport default PopOver;\n"],"names":["PopOverVariant","PopOver","React","props","ref","id","children","controllerRef","popOverRef","show","className","variant","role","testId","arrowClassName","zIndex","ZIndex","bubbleRef","useRef","arrowRef","bubbleSize","useSize","controllerSize","setControllerSize","useState","controllerisVisible","useIsVisible","updateControllerSize","_a","useInterval","useLayoutEvent","useEffect","isTooltip","popOverClasses","classNames","styles","verticalPosition","getVerticalPosition","arrowClasses","bubbleStyle","getBubbleStyle","arrowStyle","getArrowStyle","mergeRefs","AnalyticsId","PopOver$1"],"mappings":";;;;;;;;;;AAcY,IAAAA,sBAAAA,OACVA,EAAA,oBAAoB,qBACpBA,EAAA,gBAAgB,iBAChBA,EAAA,gBAAgB,iBAHNA,IAAAA,KAAA,CAAA,CAAA;AAiCZ,MAAMC,IAAUC,EAAM,WAAyD,CAACC,GAAOC,MAAQ;AACvF,QAAA;AAAA,IACJ,IAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,WAAAC,IAAY;AAAA,IACZ,SAAAC,IAAU;AAAA,IACV,MAAAC;AAAA,IACA,QAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,QAAAC,IAASC,EAAO;AAAA,EACd,IAAAb,GAEEc,IAAYT,KAAcU,EAAuB,IAAI,GACrDC,IAAWD,EAAuB,IAAI,GACtCE,IAAaC,EAAQJ,CAAS,GAC9B,CAACK,GAAgBC,CAAiB,IAAIC,EAAkB,GACxDC,IAAsBC,EAAanB,GAAe,CAAC,GAEnDoB,IAAuB,MAAY;;AACrB,IAAAJ,GAAAK,IAAArB,EAAc,YAAd,gBAAAqB,EAAuB,uBAAuB;AAAA,EAAA;AAGlE,EAAAC,EAAYF,GAAsB,GAAG,GACrCG,EAAeH,GAAsB,CAAC,UAAU,QAAQ,GAAG,EAAE,GAE7DI,EAAU,MAAM;AACO,IAAAJ;EACvB,GAAG,CAAE,CAAA;AAEL,QAAMK,IAAYpB,MAAS,WAErBqB,IAAiBC,EAAWC,EAAO,SAAS,EAAE,CAACA,EAAO,kBAAkB,CAAC,GAAGH,IAAYvB,IAAOgB,KAAuBf,CAAS,GAC/H0B,IAAmBd,KAAkBF,KAAciB,EAAoBf,GAAgBF,GAAYT,CAAO,GAC1G2B,IAAeJ,EAAWC,EAAO,gBAAgBrB,GAAgB;AAAA,IACrE,CAACqB,EAAO,sBAAsB,CAAC,GAAGC,MAAqB;AAAA,IACvD,CAACD,EAAO,uBAAuB,CAAC,GAAGC,MAAqB;AAAA;AAAA,EAAA,CACzD,GAEKG,IAAcjB,KAAkBF,KAAcoB,EAAelB,GAAgBF,GAAYT,CAAO,GAChG8B,IAAaF,KAAejB,KAAkBc,KAAoBM,EAAcH,GAAajB,GAAgBc,CAAgB;AAEnI,SAEIlC,gBAAAA,EAAA,cAAAA,EAAA,UAAA,MAAAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAAG;AAAA,MACA,KAAKsC,EAAU,CAACvC,GAAKa,CAAS,CAAC;AAAA,MAC/B,WAAWgB;AAAA,MACX,OAAO,EAAE,GAAGM,GAAa,QAAAxB,EAAO;AAAA,MAChC,eAAaF;AAAA,MACb,oBAAkB+B,EAAY;AAAA,MAC9B,MAAAhC;AAAA,IAAA;AAAA,IAECN;AAAA,EAEH,GAAAJ,gBAAAA,EAAA,cAAC,OAAI,EAAA,KAAKiB,GAAU,WAAWmB,GAAc,OAAO,EAAE,GAAGG,GAAY,QAAA1B,KAAU,CACjF;AAEJ,CAAC;AAEDd,EAAQ,cAAc;AAEtB,MAAA4C,KAAe5C;"}
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { StoryObj } from '@storybook/react';
3
+ import { PopOverVariant } from './PopOver';
4
+ declare const meta: {
5
+ title: string;
6
+ component: React.ForwardRefExoticComponent<import("./PopOver").PopOverProps & React.RefAttributes<HTMLDivElement | SVGSVGElement>>;
7
+ parameters: {
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ args: {
15
+ controllerRef: undefined;
16
+ children: string;
17
+ variant: PopOverVariant.positionautomatic;
18
+ };
19
+ argTypes: {
20
+ children: {
21
+ control: string;
22
+ };
23
+ variant: {
24
+ control: string;
25
+ options: typeof PopOverVariant;
26
+ };
27
+ };
28
+ };
29
+ export default meta;
30
+ type Story = StoryObj<typeof meta>;
31
+ export declare const Default: Story;
32
+ export declare const Toggle: Story;
33
+ export declare const HorizontalScroll: Story;
34
+ //# sourceMappingURL=PopOver.stories.d.ts.map
@@ -3,7 +3,7 @@ import { PaletteNames } from '../../theme/palette';
3
3
  import { AnchorLinkTags, AnchorLinkTargets } from '../AnchorLink';
4
4
  import { TitleTags } from '../Title';
5
5
  export type PromoPanelColors = Extract<PaletteNames, 'neutral' | 'blueberry' | 'cherry'>;
6
- interface PromoPanelProps {
6
+ export interface PromoPanelProps {
7
7
  /** Used as the link text if set. title or children must be set for the link to have accessible text. */
8
8
  title?: string;
9
9
  /** Used as the link text if title is not set. */
@@ -1 +1 @@
1
- {"version":3,"file":"PromoPanel.js","sources":["../../../src/components/PromoPanel/PromoPanel.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { Breakpoint, useBreakpoint } from '../../hooks/useBreakpoint';\nimport { useHover } from '../../hooks/useHover';\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\ninterface 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, hoverRef } = useHover<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={hoverRef}>\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"],"names":["PromoPanelLink","props","React","PromoPanel","isHovered","hoverRef","useHover","color","titleHtmlMarkup","linkHtmlMarkup","breakpoint","useBreakpoint","promoPanelClasses","classNames","styles","promoPanelLink","illustrationSize","Breakpoint","AnalyticsId","LazyIllustration","Title","Icon","ArrowUpRight","ArrowRight","IconSize","getColor","PromoPanel$1"],"mappings":";;;;;;;;;;;;AAsDA,MAAMA,IAAgD,CAASC,MACzDA,EAAM,gBACDC,EAAM,aAAaD,EAAM,eAAe,EAAE,UAAUA,EAAM,UAAU,IAGzEA,EAAM,mBAAmB,WAEzBC,gBAAAA,EAAA,cAAC,YAAO,MAAM,UAAU,SAASD,EAAM,YAAA,GACpCA,EAAM,QACT,IAIDC,gBAAAA,EAAA,cAAA,KAAA,EAAE,MAAMD,EAAM,MAAM,QAAQA,EAAM,QAAQ,SAASA,EAAM,YACvD,GAAAA,EAAM,QACT,GAIEE,IAAwC,CAASF,MAAA;AACrD,QAAM,EAAE,WAAAG,GAAW,UAAAC,EAAS,IAAIC,EAAyB,GAEnD,EAAE,OAAAC,IAAQ,WAAW,iBAAAC,IAAkB,MAAM,gBAAAC,IAAiB,IAAQ,IAAAR,GAEtES,IAAaC,KAEbC,IAAoBC;AAAA,IACxBC,EAAO;AAAA,IACPA,EAAO,eAAeP,CAAK,EAAE;AAAA,IAC7B,CAACN,EAAM,gBAAgBa,EAAO,6BAA6B;AAAA,EAAA,GAGvDC,IACJb,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,MAAMC,EAAM;AAAA,MACZ,QAAQA,EAAM;AAAA,MACd,eAAeA,EAAM;AAAA,MACrB,gBAAAQ;AAAA,MACA,aAAaR,EAAM;AAAA,IAAA;AAAA,IAElBA,EAAM,SAASA,EAAM;AAAA,EAAA,GAIpBe,KAAoB,MACpBN,KAAcO,EAAW,KACpB,MAGF;AAGT,SACGf,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWU,GAAmB,eAAaX,EAAM,QAAQ,oBAAkBiB,EAAY,YAAY,KAAKb,EAAA,GAC1GJ,EAAM,gBACLC,gBAAAA,EAAA;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,kBAAkBlB,EAAM;AAAA,MACxB,MAAMe;AAAA,MACN,OAAAT;AAAA,MACA,WAAWO,EAAO;AAAA,IAAA;AAAA,EACpB,mCAED,OAAI,EAAA,WAAWA,EAAO,oBACpB,GAAAb,EAAM,SACLC,gBAAAA,EAAA,cAACkB,GAAM,EAAA,YAAYZ,GAAiB,YAAY,YAC7CO,CACH,GAEAd,EAAM,QAAyBA,EAAM,WAAvBc,CAClB,GACAb,gBAAAA,EAAA;AAAA,IAACmB;AAAA,IAAA;AAAA,MACC,WAAWP,EAAO;AAAA,MAClB,SAASb,EAAM,WAAW,WAAWqB,IAAeC;AAAA,MACpD,MAAMb,KAAcO,EAAW,KAAKO,EAAS,QAAQA,EAAS;AAAA,MAC9D,WAAApB;AAAA,MACA,OAAOqB,EAAS,aAAa,GAAG;AAAA,MAChC,YAAYA,EAAS,aAAa,GAAG;AAAA,IAAA;AAAA,EAAA,CAEzC;AAEJ,GAEAC,IAAevB;"}
1
+ {"version":3,"file":"PromoPanel.js","sources":["../../../src/components/PromoPanel/PromoPanel.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, IconSize } from '../../constants';\nimport { Breakpoint, useBreakpoint } from '../../hooks/useBreakpoint';\nimport { useHover } from '../../hooks/useHover';\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, hoverRef } = useHover<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={hoverRef}>\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"],"names":["PromoPanelLink","props","React","PromoPanel","isHovered","hoverRef","useHover","color","titleHtmlMarkup","linkHtmlMarkup","breakpoint","useBreakpoint","promoPanelClasses","classNames","styles","promoPanelLink","illustrationSize","Breakpoint","AnalyticsId","LazyIllustration","Title","Icon","ArrowUpRight","ArrowRight","IconSize","getColor","PromoPanel$1"],"mappings":";;;;;;;;;;;;AAsDA,MAAMA,IAAgD,CAASC,MACzDA,EAAM,gBACDC,EAAM,aAAaD,EAAM,eAAe,EAAE,UAAUA,EAAM,UAAU,IAGzEA,EAAM,mBAAmB,WAEzBC,gBAAAA,EAAA,cAAC,YAAO,MAAM,UAAU,SAASD,EAAM,YAAA,GACpCA,EAAM,QACT,IAIDC,gBAAAA,EAAA,cAAA,KAAA,EAAE,MAAMD,EAAM,MAAM,QAAQA,EAAM,QAAQ,SAASA,EAAM,YACvD,GAAAA,EAAM,QACT,GAIEE,IAAwC,CAASF,MAAA;AACrD,QAAM,EAAE,WAAAG,GAAW,UAAAC,EAAS,IAAIC,EAAyB,GAEnD,EAAE,OAAAC,IAAQ,WAAW,iBAAAC,IAAkB,MAAM,gBAAAC,IAAiB,IAAQ,IAAAR,GAEtES,IAAaC,KAEbC,IAAoBC;AAAA,IACxBC,EAAO;AAAA,IACPA,EAAO,eAAeP,CAAK,EAAE;AAAA,IAC7B,CAACN,EAAM,gBAAgBa,EAAO,6BAA6B;AAAA,EAAA,GAGvDC,IACJb,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,MAAMC,EAAM;AAAA,MACZ,QAAQA,EAAM;AAAA,MACd,eAAeA,EAAM;AAAA,MACrB,gBAAAQ;AAAA,MACA,aAAaR,EAAM;AAAA,IAAA;AAAA,IAElBA,EAAM,SAASA,EAAM;AAAA,EAAA,GAIpBe,KAAoB,MACpBN,KAAcO,EAAW,KACpB,MAGF;AAGT,SACGf,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWU,GAAmB,eAAaX,EAAM,QAAQ,oBAAkBiB,EAAY,YAAY,KAAKb,EAAA,GAC1GJ,EAAM,gBACLC,gBAAAA,EAAA;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,kBAAkBlB,EAAM;AAAA,MACxB,MAAMe;AAAA,MACN,OAAAT;AAAA,MACA,WAAWO,EAAO;AAAA,IAAA;AAAA,EACpB,mCAED,OAAI,EAAA,WAAWA,EAAO,oBACpB,GAAAb,EAAM,SACLC,gBAAAA,EAAA,cAACkB,GAAM,EAAA,YAAYZ,GAAiB,YAAY,YAC7CO,CACH,GAEAd,EAAM,QAAyBA,EAAM,WAAvBc,CAClB,GACAb,gBAAAA,EAAA;AAAA,IAACmB;AAAA,IAAA;AAAA,MACC,WAAWP,EAAO;AAAA,MAClB,SAASb,EAAM,WAAW,WAAWqB,IAAeC;AAAA,MACpD,MAAMb,KAAcO,EAAW,KAAKO,EAAS,QAAQA,EAAS;AAAA,MAC9D,WAAApB;AAAA,MACA,OAAOqB,EAAS,aAAa,GAAG;AAAA,MAChC,YAAYA,EAAS,aAAa,GAAG;AAAA,IAAA;AAAA,EAAA,CAEzC;AAEJ,GAEAC,IAAevB;"}
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: React.FC<import("./PromoPanel").PromoPanelProps>;
6
+ parameters: {
7
+ docs: {
8
+ description: {
9
+ component: string;
10
+ };
11
+ };
12
+ };
13
+ args: {
14
+ title: string;
15
+ children: string;
16
+ href: string;
17
+ color: "neutral";
18
+ illustration: "Doctor";
19
+ };
20
+ argTypes: {
21
+ title: {
22
+ control: string;
23
+ };
24
+ children: {
25
+ control: string;
26
+ };
27
+ href: {
28
+ control: string;
29
+ };
30
+ color: {
31
+ control: string;
32
+ options: string[];
33
+ };
34
+ illustration: {
35
+ control: string;
36
+ options: string[];
37
+ };
38
+ };
39
+ };
40
+ export default meta;
41
+ type Story = StoryObj<typeof meta>;
42
+ export declare const Default: Story;
43
+ export declare const CustomLinkComponent: Story;
44
+ //# sourceMappingURL=PromoPanel.stories.d.ts.map
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import { StoryObj } from '@storybook/react';
3
+ import { FormMode, FormSize } from '../../constants';
4
+ declare const meta: {
5
+ title: string;
6
+ component: React.ForwardRefExoticComponent<import("./RadioButton").RadioButtonProps & React.RefAttributes<HTMLInputElement>>;
7
+ parameters: {
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ args: {
15
+ label: string;
16
+ defaultChecked: false;
17
+ disabled: false;
18
+ mode: FormMode.onwhite;
19
+ size: FormSize.medium;
20
+ name: string;
21
+ value: string;
22
+ required: false;
23
+ };
24
+ argTypes: {
25
+ label: {
26
+ control: string;
27
+ };
28
+ defaultChecked: {
29
+ control: string;
30
+ };
31
+ disabled: {
32
+ control: string;
33
+ };
34
+ mode: {
35
+ control: string;
36
+ options: typeof FormMode;
37
+ };
38
+ size: {
39
+ control: string;
40
+ options: typeof FormSize;
41
+ };
42
+ name: {
43
+ control: string;
44
+ };
45
+ value: {
46
+ control: string;
47
+ };
48
+ required: {
49
+ control: string;
50
+ };
51
+ };
52
+ };
53
+ export default meta;
54
+ type Story = StoryObj<typeof meta>;
55
+ export declare const Default: Story;
56
+ export declare const Large: Story;
57
+ //# sourceMappingURL=RadioButton.stories.d.ts.map
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: React.ForwardRefExoticComponent<import("./Select").SelectProps & React.RefAttributes<HTMLSelectElement>>;
6
+ parameters: {
7
+ docs: {
8
+ description: {
9
+ component: string;
10
+ };
11
+ };
12
+ };
13
+ args: {
14
+ children: React.JSX.Element;
15
+ label: React.JSX.Element;
16
+ name: string;
17
+ onChange: import("@storybook/addon-actions").HandlerFunction;
18
+ disabled: false;
19
+ autoComplete: string;
20
+ };
21
+ argTypes: {
22
+ disabled: {
23
+ control: string;
24
+ };
25
+ autoComplete: {
26
+ control: string;
27
+ };
28
+ };
29
+ };
30
+ export default meta;
31
+ type Story = StoryObj<typeof meta>;
32
+ export declare const Default: Story;
33
+ export declare const DefaultValue: Story;
34
+ export declare const Disabled: Story;
35
+ export declare const Concepts: Story;
36
+ export declare const Modes: Story;
37
+ export declare const Width: Story;
38
+ //# sourceMappingURL=Select.stories.d.ts.map
@@ -0,0 +1,71 @@
1
+ import React from 'react';
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: React.FC<import("./ServiceMessage").ServiceMessageProps>;
6
+ parameters: {
7
+ docs: {
8
+ description: {
9
+ component: string;
10
+ };
11
+ };
12
+ };
13
+ args: {
14
+ label: string;
15
+ info: string;
16
+ extraInfo: string;
17
+ dismissable: true;
18
+ expanderOpenFromStart: true;
19
+ urlTitle: string;
20
+ url: string;
21
+ target: "_self";
22
+ closeBtnText: string;
23
+ variant: "alert";
24
+ testId: string;
25
+ };
26
+ argTypes: {
27
+ label: {
28
+ control: string;
29
+ };
30
+ info: {
31
+ control: string;
32
+ };
33
+ extraInfo: {
34
+ control: string;
35
+ };
36
+ dismissable: {
37
+ control: string;
38
+ };
39
+ expanderOpenFromStart: {
40
+ control: string;
41
+ };
42
+ urlTitle: {
43
+ control: string;
44
+ };
45
+ url: {
46
+ control: string;
47
+ };
48
+ target: {
49
+ control: string;
50
+ options: string[];
51
+ };
52
+ closeBtnText: {
53
+ control: string;
54
+ };
55
+ variant: {
56
+ control: string;
57
+ options: string[];
58
+ };
59
+ testId: {
60
+ control: string;
61
+ };
62
+ };
63
+ };
64
+ export default meta;
65
+ type Story = StoryObj<typeof meta>;
66
+ export declare const Default: Story;
67
+ export declare const ReadMore: Story;
68
+ export declare const DismissableWithContent: Story;
69
+ export declare const DismissableLabelOnly: Story;
70
+ export declare const LabelOnly: Story;
71
+ //# sourceMappingURL=ServiceMessage.stories.d.ts.map
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: React.FC<import("./SharingStatus").SharingStatusProps>;
6
+ parameters: {
7
+ docs: {
8
+ description: {
9
+ component: string;
10
+ };
11
+ };
12
+ };
13
+ args: {
14
+ children: string;
15
+ };
16
+ argTypes: {
17
+ children: {
18
+ control: string;
19
+ };
20
+ wrapText: {
21
+ control: string;
22
+ };
23
+ };
24
+ };
25
+ export default meta;
26
+ type Story = StoryObj<typeof meta>;
27
+ export declare const Default: Story;
28
+ export declare const WrapText: Story;
29
+ export declare const DifferentIcons: Story;
30
+ export declare const AllColors: Story;
31
+ //# sourceMappingURL=SharingStatus.stories.d.ts.map
@@ -3,7 +3,7 @@ export type SliderStep = {
3
3
  label?: number | string;
4
4
  emojiUniCode?: string;
5
5
  };
6
- interface SliderProps {
6
+ export interface SliderProps {
7
7
  /** Sets the title of the slider. */
8
8
  title?: string;
9
9
  /** Adds the left hand label to the element. */
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useSize } from '../../hooks/useSize';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport Title from '../Title';\n\nimport styles from './styles.module.scss';\n\nconst useSafeNumberValue = (initial: number, min: number, max: number): [number, (value: number) => void] => {\n const [value, setValue] = useState(initial);\n\n const setSafeValue = (newValue: number): void => {\n if (newValue > max) {\n setValue(max);\n } else if (newValue < min) {\n setValue(min);\n } else {\n setValue(newValue);\n }\n };\n\n useEffect(() => {\n setSafeValue(initial);\n }, [min, max]);\n\n return [value, setSafeValue];\n};\n\nexport type SliderStep = {\n label?: number | string;\n emojiUniCode?: string;\n};\n\ninterface SliderProps {\n /**\tSets the title of the slider. */\n title?: string;\n /** Adds the left hand label to the element. */\n labelLeft?: string;\n /** Adds the right hand label to the element. */\n labelRight?: string;\n /**\tSets aria-label of the slider. */\n ariaLabel?: string;\n /** Disables the slider element. */\n disabled?: boolean;\n /** Sets the minimum allowed value on the slider - this overrides the use of steps prop for minValue/maxValue. */\n minValue?: number;\n /** Sets the maximum allowed value on the slider - this overrides the use of steps prop for minValue/maxValue. */\n maxValue?: number;\n /** Function to be called when the value state has changed. */\n onChange?: (value: number) => void;\n /** If set to false will only trigger onChange once a user interaction has been made, updates to this prop will be taken into account - true by default */\n selected?: boolean;\n /** Sets the steps data for the slider */\n steps?: SliderStep[];\n /** Sets the step to move per point in the slider */\n step?: number;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets the value of the slider */\n value?: number;\n}\n\nexport const Slider: React.FC<SliderProps> = ({\n title,\n ariaLabel,\n labelLeft,\n labelRight,\n disabled = false,\n onChange,\n steps,\n step = 1,\n minValue = 0,\n maxValue = steps ? steps.length - 1 : 100,\n selected = true,\n testId,\n value,\n}) => {\n const [isMoving, setIsMoving] = useState(false);\n const [selectedState, setSelectedState] = useState(typeof value === 'undefined' ? selected : true);\n const [valueState, setValueState] = useSafeNumberValue(\n typeof value === 'undefined' ? (maxValue - minValue) / 2 + minValue : value,\n minValue,\n maxValue\n );\n\n const titleId = useUuid();\n const labelLeftId = useUuid();\n const labelRightId = useUuid();\n const trackRef = useRef<HTMLDivElement>(null);\n const markerRef = useRef<HTMLDivElement>(null);\n const { width: trackWidth } = useSize(trackRef) || { width: 0 };\n const largeStep = maxValue / 10;\n\n useEffect(() => {\n const handlePointerUp = (): void => {\n setIsMoving(false);\n };\n\n document.addEventListener('pointerup', handlePointerUp);\n\n return () => {\n document.removeEventListener('pointerup', handlePointerUp);\n };\n }, []);\n\n const getValueBasedOnMarkerPosition = (markerPosition: number): number => {\n const trackPosition = trackRef.current?.getBoundingClientRect().x ?? 0;\n\n // Calculate the normalized position (0 to 1) of the marker along the track\n const normalizedPosition = (markerPosition - trackPosition) / trackWidth;\n const valueRange = maxValue - minValue;\n // Calculate the value without considering the step\n let value = normalizedPosition * valueRange + minValue;\n // Adjust the value to account for the step increment\n const stepCount = Math.round(value / step);\n value = stepCount * step;\n value = Math.max(minValue, Math.min(maxValue, value));\n\n return value;\n };\n\n useEffect(() => {\n const handlePointerMove = (e: PointerEvent): void => {\n if (!disabled && isMoving) {\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValueState(newValue);\n }\n };\n\n document.addEventListener('pointermove', handlePointerMove);\n\n return () => {\n document.removeEventListener('pointermove', handlePointerMove);\n };\n }, [isMoving]);\n\n useEffect(() => {\n if (value !== valueState && typeof value !== 'undefined') {\n handleSelected();\n setValueState(value);\n }\n }, [value]);\n\n useEffect(() => {\n if (!disabled && selectedState && onChange) {\n onChange(valueState);\n }\n }, [valueState, selectedState]);\n\n useEffect(() => {\n if (typeof value === 'undefined' && selected !== selectedState) {\n setSelectedState(selected);\n }\n }, [selected]);\n\n const handleSelected = (): void => {\n if (selectedState === false) {\n setSelectedState(true);\n }\n };\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n let flag = false;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n setValueState(valueState - step);\n flag = true;\n break;\n case 'PageDown':\n setValueState(valueState - largeStep);\n flag = true;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n setValueState(valueState + step);\n flag = true;\n break;\n case 'PageUp':\n setValueState(valueState + largeStep);\n flag = true;\n break;\n case 'Home':\n setValueState(minValue);\n flag = true;\n break;\n case 'End':\n setValueState(maxValue);\n flag = true;\n break;\n default:\n break;\n }\n\n if (flag) {\n handleSelected();\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const handleTrackClick: React.MouseEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValueState(newValue);\n markerRef.current?.focus();\n };\n\n const handlePointerDown: React.PointerEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n setIsMoving(true);\n handleSelected();\n\n e.preventDefault();\n e.stopPropagation();\n\n markerRef.current?.focus();\n };\n\n const markerXPos = maxValue !== minValue ? (trackWidth / (maxValue - minValue)) * (valueState - minValue) : 0;\n\n const getAriaValueText = (): string | undefined => {\n const stepIndex = steps ? Math.round((valueState - minValue) / step) : null;\n\n if (steps && stepIndex !== null && stepIndex >= 0 && stepIndex < steps.length) {\n const step = steps[stepIndex];\n const emojiCode = step.emojiUniCode;\n const label = typeof step.label !== 'undefined' ? step.label.toString() : undefined;\n\n return emojiCode && label ? `${emojiCode} ${label}` : emojiCode || label;\n }\n\n return undefined;\n };\n\n const getAriaLabeledById = (): string | undefined => {\n if (title && labelLeft && labelRight) {\n return [titleId, labelLeftId, labelRightId].join(' ');\n }\n if (title && labelLeft) {\n return [titleId, labelLeftId].join(' ');\n }\n if (title && labelRight) {\n return [titleId, labelRightId].join(' ');\n }\n if (title) {\n return titleId;\n }\n };\n\n const ariaLabelAttributes = getAriaLabelAttributes({\n label: ariaLabel,\n id: getAriaLabeledById(),\n prefer: 'label',\n });\n\n const getXPositionStyling = (index: number, stepsLength: number): { left: string } => {\n return { left: `${(index / (stepsLength - 1)) * 100}%` };\n };\n\n const renderEmojies = (): React.ReactNode => {\n return (\n <div className={styles['slider__emoji-container']}>\n {steps?.map((step, index) => {\n return (\n step.emojiUniCode && (\n <div\n aria-hidden={true}\n key={'emoji' + index}\n className={styles['slider__emoji']}\n style={getXPositionStyling(index, steps.length)}\n >\n {step.emojiUniCode}\n </div>\n )\n );\n })}\n </div>\n );\n };\n\n const renderSteps = (): React.ReactNode => {\n return steps?.map((_step, index) => {\n return <div key={'step' + index} className={styles['slider__track__step']} style={getXPositionStyling(index, steps.length)} />;\n });\n };\n\n const renderStepLabels = (): React.ReactNode => {\n return (\n <div className={styles['slider__value-container']}>\n {steps?.map((step, index) => {\n return (\n typeof step.label !== 'undefined' && (\n <div\n aria-hidden={true}\n key={'label' + index}\n className={styles['slider__value']}\n style={getXPositionStyling(index, steps.length)}\n >\n {step.label}\n </div>\n )\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={styles.slider} data-testid={testId} data-analyticsid={AnalyticsId.Slider}>\n {title && (\n <Title className={styles['slider__title']} htmlMarkup={'h3'} margin={0} appearance={'title3'} id={titleId}>\n {title}\n </Title>\n )}\n <div className={styles['slider__content-container']}>\n {renderEmojies()}\n {/* Komponenten er tilgjengelig for mus/keyboard gjennom bruk av slideren */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div\n ref={trackRef}\n className={classNames(styles['slider__track-wrapper'], disabled && styles['slider__track-wrapper--disabled'])}\n onClick={handleTrackClick}\n onPointerDown={handlePointerDown}\n >\n <div className={classNames(styles.slider__track, disabled && styles['slider__track--disabled'])}>{renderSteps()}</div>\n <div\n role={disabled ? undefined : 'slider'}\n ref={markerRef}\n className={classNames(styles.slider__marker, {\n [styles['slider__marker--disabled']]: disabled,\n [styles['slider__marker--selected']]: selectedState,\n })}\n style={{\n left: `${markerXPos}px`,\n }}\n onKeyDown={handleKeyDown}\n aria-valuenow={valueState}\n aria-valuetext={getAriaValueText()}\n aria-valuemin={minValue}\n aria-valuemax={maxValue}\n tabIndex={disabled ? undefined : 0}\n aria-disabled={disabled}\n {...ariaLabelAttributes}\n />\n </div>\n {renderStepLabels()}\n </div>\n {(labelLeft || labelRight) && (\n <span className={styles.slider__options}>\n <span id={labelLeftId}>{labelLeft}</span>\n <span id={labelRightId}>{labelRight}</span>\n </span>\n )}\n </div>\n );\n};\n\nexport default Slider;\n"],"names":["useSafeNumberValue","initial","min","max","value","setValue","useState","setSafeValue","newValue","useEffect","Slider","title","ariaLabel","labelLeft","labelRight","disabled","onChange","steps","step","minValue","maxValue","selected","testId","isMoving","setIsMoving","selectedState","setSelectedState","valueState","setValueState","titleId","useUuid","labelLeftId","labelRightId","trackRef","useRef","markerRef","trackWidth","useSize","largeStep","handlePointerUp","getValueBasedOnMarkerPosition","markerPosition","trackPosition","_a","normalizedPosition","valueRange","handlePointerMove","handleSelected","handleKeyDown","e","flag","handleTrackClick","handlePointerDown","markerXPos","getAriaValueText","stepIndex","emojiCode","label","ariaLabelAttributes","getAriaLabelAttributes","getXPositionStyling","index","stepsLength","renderEmojies","React","styles","renderSteps","_step","renderStepLabels","AnalyticsId","Title","classNames","Slider$1"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useSize } from '../../hooks/useSize';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport Title from '../Title';\n\nimport styles from './styles.module.scss';\n\nconst useSafeNumberValue = (initial: number, min: number, max: number): [number, (value: number) => void] => {\n const [value, setValue] = useState(initial);\n\n const setSafeValue = (newValue: number): void => {\n if (newValue > max) {\n setValue(max);\n } else if (newValue < min) {\n setValue(min);\n } else {\n setValue(newValue);\n }\n };\n\n useEffect(() => {\n setSafeValue(initial);\n }, [min, max]);\n\n return [value, setSafeValue];\n};\n\nexport type SliderStep = {\n label?: number | string;\n emojiUniCode?: string;\n};\n\nexport interface SliderProps {\n /**\tSets the title of the slider. */\n title?: string;\n /** Adds the left hand label to the element. */\n labelLeft?: string;\n /** Adds the right hand label to the element. */\n labelRight?: string;\n /**\tSets aria-label of the slider. */\n ariaLabel?: string;\n /** Disables the slider element. */\n disabled?: boolean;\n /** Sets the minimum allowed value on the slider - this overrides the use of steps prop for minValue/maxValue. */\n minValue?: number;\n /** Sets the maximum allowed value on the slider - this overrides the use of steps prop for minValue/maxValue. */\n maxValue?: number;\n /** Function to be called when the value state has changed. */\n onChange?: (value: number) => void;\n /** If set to false will only trigger onChange once a user interaction has been made, updates to this prop will be taken into account - true by default */\n selected?: boolean;\n /** Sets the steps data for the slider */\n steps?: SliderStep[];\n /** Sets the step to move per point in the slider */\n step?: number;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets the value of the slider */\n value?: number;\n}\n\nexport const Slider: React.FC<SliderProps> = ({\n title,\n ariaLabel,\n labelLeft,\n labelRight,\n disabled = false,\n onChange,\n steps,\n step = 1,\n minValue = 0,\n maxValue = steps ? steps.length - 1 : 100,\n selected = true,\n testId,\n value,\n}) => {\n const [isMoving, setIsMoving] = useState(false);\n const [selectedState, setSelectedState] = useState(typeof value === 'undefined' ? selected : true);\n const [valueState, setValueState] = useSafeNumberValue(\n typeof value === 'undefined' ? (maxValue - minValue) / 2 + minValue : value,\n minValue,\n maxValue\n );\n\n const titleId = useUuid();\n const labelLeftId = useUuid();\n const labelRightId = useUuid();\n const trackRef = useRef<HTMLDivElement>(null);\n const markerRef = useRef<HTMLDivElement>(null);\n const { width: trackWidth } = useSize(trackRef) || { width: 0 };\n const largeStep = maxValue / 10;\n\n useEffect(() => {\n const handlePointerUp = (): void => {\n setIsMoving(false);\n };\n\n document.addEventListener('pointerup', handlePointerUp);\n\n return () => {\n document.removeEventListener('pointerup', handlePointerUp);\n };\n }, []);\n\n const getValueBasedOnMarkerPosition = (markerPosition: number): number => {\n const trackPosition = trackRef.current?.getBoundingClientRect().x ?? 0;\n\n // Calculate the normalized position (0 to 1) of the marker along the track\n const normalizedPosition = (markerPosition - trackPosition) / trackWidth;\n const valueRange = maxValue - minValue;\n // Calculate the value without considering the step\n let value = normalizedPosition * valueRange + minValue;\n // Adjust the value to account for the step increment\n const stepCount = Math.round(value / step);\n value = stepCount * step;\n value = Math.max(minValue, Math.min(maxValue, value));\n\n return value;\n };\n\n useEffect(() => {\n const handlePointerMove = (e: PointerEvent): void => {\n if (!disabled && isMoving) {\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValueState(newValue);\n }\n };\n\n document.addEventListener('pointermove', handlePointerMove);\n\n return () => {\n document.removeEventListener('pointermove', handlePointerMove);\n };\n }, [isMoving]);\n\n useEffect(() => {\n if (value !== valueState && typeof value !== 'undefined') {\n handleSelected();\n setValueState(value);\n }\n }, [value]);\n\n useEffect(() => {\n if (!disabled && selectedState && onChange) {\n onChange(valueState);\n }\n }, [valueState, selectedState]);\n\n useEffect(() => {\n if (typeof value === 'undefined' && selected !== selectedState) {\n setSelectedState(selected);\n }\n }, [selected]);\n\n const handleSelected = (): void => {\n if (selectedState === false) {\n setSelectedState(true);\n }\n };\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n let flag = false;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n setValueState(valueState - step);\n flag = true;\n break;\n case 'PageDown':\n setValueState(valueState - largeStep);\n flag = true;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n setValueState(valueState + step);\n flag = true;\n break;\n case 'PageUp':\n setValueState(valueState + largeStep);\n flag = true;\n break;\n case 'Home':\n setValueState(minValue);\n flag = true;\n break;\n case 'End':\n setValueState(maxValue);\n flag = true;\n break;\n default:\n break;\n }\n\n if (flag) {\n handleSelected();\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const handleTrackClick: React.MouseEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValueState(newValue);\n markerRef.current?.focus();\n };\n\n const handlePointerDown: React.PointerEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n setIsMoving(true);\n handleSelected();\n\n e.preventDefault();\n e.stopPropagation();\n\n markerRef.current?.focus();\n };\n\n const markerXPos = maxValue !== minValue ? (trackWidth / (maxValue - minValue)) * (valueState - minValue) : 0;\n\n const getAriaValueText = (): string | undefined => {\n const stepIndex = steps ? Math.round((valueState - minValue) / step) : null;\n\n if (steps && stepIndex !== null && stepIndex >= 0 && stepIndex < steps.length) {\n const step = steps[stepIndex];\n const emojiCode = step.emojiUniCode;\n const label = typeof step.label !== 'undefined' ? step.label.toString() : undefined;\n\n return emojiCode && label ? `${emojiCode} ${label}` : emojiCode || label;\n }\n\n return undefined;\n };\n\n const getAriaLabeledById = (): string | undefined => {\n if (title && labelLeft && labelRight) {\n return [titleId, labelLeftId, labelRightId].join(' ');\n }\n if (title && labelLeft) {\n return [titleId, labelLeftId].join(' ');\n }\n if (title && labelRight) {\n return [titleId, labelRightId].join(' ');\n }\n if (title) {\n return titleId;\n }\n };\n\n const ariaLabelAttributes = getAriaLabelAttributes({\n label: ariaLabel,\n id: getAriaLabeledById(),\n prefer: 'label',\n });\n\n const getXPositionStyling = (index: number, stepsLength: number): { left: string } => {\n return { left: `${(index / (stepsLength - 1)) * 100}%` };\n };\n\n const renderEmojies = (): React.ReactNode => {\n return (\n <div className={styles['slider__emoji-container']}>\n {steps?.map((step, index) => {\n return (\n step.emojiUniCode && (\n <div\n aria-hidden={true}\n key={'emoji' + index}\n className={styles['slider__emoji']}\n style={getXPositionStyling(index, steps.length)}\n >\n {step.emojiUniCode}\n </div>\n )\n );\n })}\n </div>\n );\n };\n\n const renderSteps = (): React.ReactNode => {\n return steps?.map((_step, index) => {\n return <div key={'step' + index} className={styles['slider__track__step']} style={getXPositionStyling(index, steps.length)} />;\n });\n };\n\n const renderStepLabels = (): React.ReactNode => {\n return (\n <div className={styles['slider__value-container']}>\n {steps?.map((step, index) => {\n return (\n typeof step.label !== 'undefined' && (\n <div\n aria-hidden={true}\n key={'label' + index}\n className={styles['slider__value']}\n style={getXPositionStyling(index, steps.length)}\n >\n {step.label}\n </div>\n )\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={styles.slider} data-testid={testId} data-analyticsid={AnalyticsId.Slider}>\n {title && (\n <Title className={styles['slider__title']} htmlMarkup={'h3'} margin={0} appearance={'title3'} id={titleId}>\n {title}\n </Title>\n )}\n <div className={styles['slider__content-container']}>\n {renderEmojies()}\n {/* Komponenten er tilgjengelig for mus/keyboard gjennom bruk av slideren */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div\n ref={trackRef}\n className={classNames(styles['slider__track-wrapper'], disabled && styles['slider__track-wrapper--disabled'])}\n onClick={handleTrackClick}\n onPointerDown={handlePointerDown}\n >\n <div className={classNames(styles.slider__track, disabled && styles['slider__track--disabled'])}>{renderSteps()}</div>\n <div\n role={disabled ? undefined : 'slider'}\n ref={markerRef}\n className={classNames(styles.slider__marker, {\n [styles['slider__marker--disabled']]: disabled,\n [styles['slider__marker--selected']]: selectedState,\n })}\n style={{\n left: `${markerXPos}px`,\n }}\n onKeyDown={handleKeyDown}\n aria-valuenow={valueState}\n aria-valuetext={getAriaValueText()}\n aria-valuemin={minValue}\n aria-valuemax={maxValue}\n tabIndex={disabled ? undefined : 0}\n aria-disabled={disabled}\n {...ariaLabelAttributes}\n />\n </div>\n {renderStepLabels()}\n </div>\n {(labelLeft || labelRight) && (\n <span className={styles.slider__options}>\n <span id={labelLeftId}>{labelLeft}</span>\n <span id={labelRightId}>{labelRight}</span>\n </span>\n )}\n </div>\n );\n};\n\nexport default Slider;\n"],"names":["useSafeNumberValue","initial","min","max","value","setValue","useState","setSafeValue","newValue","useEffect","Slider","title","ariaLabel","labelLeft","labelRight","disabled","onChange","steps","step","minValue","maxValue","selected","testId","isMoving","setIsMoving","selectedState","setSelectedState","valueState","setValueState","titleId","useUuid","labelLeftId","labelRightId","trackRef","useRef","markerRef","trackWidth","useSize","largeStep","handlePointerUp","getValueBasedOnMarkerPosition","markerPosition","trackPosition","_a","normalizedPosition","valueRange","handlePointerMove","handleSelected","handleKeyDown","e","flag","handleTrackClick","handlePointerDown","markerXPos","getAriaValueText","stepIndex","emojiCode","label","ariaLabelAttributes","getAriaLabelAttributes","getXPositionStyling","index","stepsLength","renderEmojies","React","styles","renderSteps","_step","renderStepLabels","AnalyticsId","Title","classNames","Slider$1"],"mappings":";;;;;;;;AAYA,MAAMA,KAAqB,CAACC,GAAiBC,GAAaC,MAAmD;AAC3G,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAASL,CAAO,GAEpCM,IAAe,CAACC,MAA2B;AAC/C,IAAIA,IAAWL,IACbE,EAASF,CAAG,IACHK,IAAWN,IACpBG,EAASH,CAAG,IAEZG,EAASG,CAAQ;AAAA,EACnB;AAGF,SAAAC,EAAU,MAAM;AACd,IAAAF,EAAaN,CAAO;AAAA,EAAA,GACnB,CAACC,GAAKC,CAAG,CAAC,GAEN,CAACC,GAAOG,CAAY;AAC7B,GAoCaG,KAAgC,CAAC;AAAA,EAC5C,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAWH,IAAQA,EAAM,SAAS,IAAI;AAAA,EACtC,UAAAI,IAAW;AAAA,EACX,QAAAC;AAAA,EACA,OAAAlB;AACF,MAAM;AACJ,QAAM,CAACmB,GAAUC,CAAW,IAAIlB,EAAS,EAAK,GACxC,CAACmB,GAAeC,CAAgB,IAAIpB,EAAS,OAAOF,IAAU,MAAciB,IAAW,EAAI,GAC3F,CAACM,GAAYC,CAAa,IAAI5B;AAAA,IAClC,OAAOI,IAAU,OAAegB,IAAWD,KAAY,IAAIA,IAAWf;AAAA,IACtEe;AAAA,IACAC;AAAA,EAAA,GAGIS,IAAUC,KACVC,IAAcD,KACdE,IAAeF,KACfG,IAAWC,EAAuB,IAAI,GACtCC,IAAYD,EAAuB,IAAI,GACvC,EAAE,OAAOE,MAAeC,EAAQJ,CAAQ,KAAK,EAAE,OAAO,KACtDK,IAAYlB,IAAW;AAE7B,EAAAX,EAAU,MAAM;AACd,UAAM8B,IAAkB,MAAY;AAClC,MAAAf,EAAY,EAAK;AAAA,IAAA;AAGV,oBAAA,iBAAiB,aAAae,CAAe,GAE/C,MAAM;AACF,eAAA,oBAAoB,aAAaA,CAAe;AAAA,IAAA;AAAA,EAE7D,GAAG,CAAE,CAAA;AAEC,QAAAC,IAAgC,CAACC,MAAmC;;AACxE,UAAMC,MAAgBC,IAAAV,EAAS,YAAT,gBAAAU,EAAkB,wBAAwB,MAAK,GAG/DC,KAAsBH,IAAiBC,KAAiBN,GACxDS,IAAazB,IAAWD;AAE1Bf,QAAAA,IAAQwC,IAAqBC,IAAa1B;AAG9Cf,WAAAA,IADkB,KAAK,MAAMA,IAAQc,CAAI,IACrBA,GACpBd,IAAQ,KAAK,IAAIe,GAAU,KAAK,IAAIC,GAAUhB,CAAK,CAAC,GAE7CA;AAAAA,EAAA;AAGT,EAAAK,EAAU,MAAM;AACR,UAAAqC,IAAoB,CAAC,MAA0B;AAC/C,UAAA,CAAC/B,KAAYQ,GAAU;AACnB,cAAAf,IAAWgC,EAA8B,EAAE,OAAO;AACxD,QAAAZ,EAAcpB,CAAQ;AAAA,MACxB;AAAA,IAAA;AAGO,oBAAA,iBAAiB,eAAesC,CAAiB,GAEnD,MAAM;AACF,eAAA,oBAAoB,eAAeA,CAAiB;AAAA,IAAA;AAAA,EAC/D,GACC,CAACvB,CAAQ,CAAC,GAEbd,EAAU,MAAM;AACd,IAAIL,MAAUuB,KAAc,OAAOvB,IAAU,QAC5B2C,KACfnB,EAAcxB,CAAK;AAAA,EACrB,GACC,CAACA,CAAK,CAAC,GAEVK,EAAU,MAAM;AACV,IAAA,CAACM,KAAYU,KAAiBT,KAChCA,EAASW,CAAU;AAAA,EACrB,GACC,CAACA,GAAYF,CAAa,CAAC,GAE9BhB,EAAU,MAAM;AACd,IAAI,OAAOL,IAAU,OAAeiB,MAAaI,KAC/CC,EAAiBL,CAAQ;AAAA,EAC3B,GACC,CAACA,CAAQ,CAAC;AAEb,QAAM0B,IAAiB,MAAY;AACjC,IAAItB,MAAkB,MACpBC,EAAiB,EAAI;AAAA,EACvB,GAGIsB,IAA4D,CAAKC,MAAA;AACjE,QAAAlC;AAAU;AAEd,QAAImC,IAAO;AAEX,YAAQD,EAAE,KAAK;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AACH,QAAArB,EAAcD,IAAaT,CAAI,GACxBgC,IAAA;AACP;AAAA,MACF,KAAK;AACH,QAAAtB,EAAcD,IAAaW,CAAS,GAC7BY,IAAA;AACP;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,QAAAtB,EAAcD,IAAaT,CAAI,GACxBgC,IAAA;AACP;AAAA,MACF,KAAK;AACH,QAAAtB,EAAcD,IAAaW,CAAS,GAC7BY,IAAA;AACP;AAAA,MACF,KAAK;AACH,QAAAtB,EAAcT,CAAQ,GACf+B,IAAA;AACP;AAAA,MACF,KAAK;AACH,QAAAtB,EAAcR,CAAQ,GACf8B,IAAA;AACP;AAAA,IAGJ;AAEA,IAAIA,MACaH,KACfE,EAAE,eAAe,GACjBA,EAAE,gBAAgB;AAAA,EACpB,GAGIE,IAA4D,CAAKF,MAAA;;AACjE,QAAAlC;AAAU;AAER,UAAAP,IAAWgC,EAA8BS,EAAE,OAAO;AACxD,IAAArB,EAAcpB,CAAQ,IACtBmC,IAAAR,EAAU,YAAV,QAAAQ,EAAmB;AAAA,EAAM,GAGrBS,IAA+D,CAAKH,MAAA;;AACpE,IAAAlC,MAEJS,EAAY,EAAI,GACDuB,KAEfE,EAAE,eAAe,GACjBA,EAAE,gBAAgB,IAElBN,IAAAR,EAAU,YAAV,QAAAQ,EAAmB;AAAA,EAAM,GAGrBU,IAAajC,MAAaD,IAAYiB,KAAchB,IAAWD,MAAcQ,IAAaR,KAAY,GAEtGmC,IAAmB,MAA0B;AACjD,UAAMC,IAAYtC,IAAQ,KAAK,OAAOU,IAAaR,KAAYD,CAAI,IAAI;AAEvE,QAAID,KAASsC,MAAc,QAAQA,KAAa,KAAKA,IAAYtC,EAAM,QAAQ;AACvEC,YAAAA,IAAOD,EAAMsC,CAAS,GACtBC,IAAYtC,EAAK,cACjBuC,IAAQ,OAAOvC,EAAK,QAAU,MAAcA,EAAK,MAAM,aAAa;AAE1E,aAAOsC,KAAaC,IAAQ,GAAGD,CAAS,IAAIC,CAAK,KAAKD,KAAaC;AAAA,IACrE;AAAA,EAEO,GAkBHC,IAAsBC,EAAuB;AAAA,IACjD,OAAO/C;AAAA,IACP,KAjByB,MAA0B;AAC/C,UAAAD,KAASE,KAAaC;AACxB,eAAO,CAACe,GAASE,GAAaC,CAAY,EAAE,KAAK,GAAG;AAEtD,UAAIrB,KAASE;AACX,eAAO,CAACgB,GAASE,CAAW,EAAE,KAAK,GAAG;AAExC,UAAIpB,KAASG;AACX,eAAO,CAACe,GAASG,CAAY,EAAE,KAAK,GAAG;AAEzC,UAAIrB;AACK,eAAAkB;AAAA,IACT,GAKuB;AAAA,IACvB,QAAQ;AAAA,EAAA,CACT,GAEK+B,IAAsB,CAACC,GAAeC,OACnC,EAAE,MAAM,GAAID,KAASC,IAAc,KAAM,GAAG,QAG/CC,IAAgB,MAElBC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAWC,EAAO,yBAAyB,KAC7ChD,KAAA,gBAAAA,EAAO,IAAI,CAACC,GAAM2C,MAEf3C,EAAK,gBACH8C,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAa;AAAA,MACb,KAAK,UAAUH;AAAA,MACf,WAAWI,EAAO;AAAA,MAClB,OAAOL,EAAoBC,GAAO5C,EAAM,MAAM;AAAA,IAAA;AAAA,IAE7CC,EAAK;AAAA,EAAA,EAKhB,GAIEgD,IAAc,MACXjD,KAAA,gBAAAA,EAAO,IAAI,CAACkD,GAAON,MAChBG,gBAAAA,EAAA,cAAA,OAAA,EAAI,KAAK,SAASH,GAAO,WAAWI,EAAO,qBAAwB,OAAOL,EAAoBC,GAAO5C,EAAM,MAAM,EAAG,CAAA,IAI1HmD,IAAmB,MAErBJ,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAWC,EAAO,yBAAyB,KAC7ChD,KAAA,gBAAAA,EAAO,IAAI,CAACC,GAAM2C,MAEf,OAAO3C,EAAK,QAAU,OACpB8C,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAa;AAAA,MACb,KAAK,UAAUH;AAAA,MACf,WAAWI,EAAO;AAAA,MAClB,OAAOL,EAAoBC,GAAO5C,EAAM,MAAM;AAAA,IAAA;AAAA,IAE7CC,EAAK;AAAA,EAAA,EAKhB;AAIJ,SACG8C,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWC,EAAO,QAAQ,eAAa3C,GAAQ,oBAAkB+C,EAAY,UAC/E1D,KACCqD,gBAAAA,EAAA,cAACM,IAAM,EAAA,WAAWL,EAAO,eAAkB,YAAY,MAAM,QAAQ,GAAG,YAAY,UAAU,IAAIpC,EAC/F,GAAAlB,CACH,GAEFqD,gBAAAA,EAAA,cAAC,SAAI,WAAWC,EAAO,2BAA2B,KAC/CF,KAGDC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK/B;AAAA,MACL,WAAWsC,EAAWN,EAAO,uBAAuB,GAAGlD,KAAYkD,EAAO,iCAAiC,CAAC;AAAA,MAC5G,SAASd;AAAA,MACT,eAAeC;AAAA,IAAA;AAAA,IAEdY,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWO,EAAWN,EAAO,eAAelD,KAAYkD,EAAO,yBAAyB,CAAC,EAAI,GAAAC,EAAA,CAAc;AAAA,IAChHF,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMjD,IAAW,SAAY;AAAA,QAC7B,KAAKoB;AAAA,QACL,WAAWoC,EAAWN,EAAO,gBAAgB;AAAA,UAC3C,CAACA,EAAO,0BAA0B,CAAC,GAAGlD;AAAA,UACtC,CAACkD,EAAO,0BAA0B,CAAC,GAAGxC;AAAA,QAAA,CACvC;AAAA,QACD,OAAO;AAAA,UACL,MAAM,GAAG4B,CAAU;AAAA,QACrB;AAAA,QACA,WAAWL;AAAA,QACX,iBAAerB;AAAA,QACf,kBAAgB2B,EAAiB;AAAA,QACjC,iBAAenC;AAAA,QACf,iBAAeC;AAAA,QACf,UAAUL,IAAW,SAAY;AAAA,QACjC,iBAAeA;AAAA,QACd,GAAG2C;AAAA,MAAA;AAAA,IACN;AAAA,EACF,GACCU,GACH,IACEvD,KAAaC,MACbkD,gBAAAA,EAAA,cAAC,QAAK,EAAA,WAAWC,EAAO,gBAAA,mCACrB,QAAK,EAAA,IAAIlC,EAAc,GAAAlB,CAAU,GAClCmD,gBAAAA,EAAA,cAAC,UAAK,IAAIhC,EAAA,GAAelB,CAAW,CACtC,CAEJ;AAEJ,GAEA0D,KAAe9D;"}
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: React.FC<import("./Slider").SliderProps>;
6
+ parameters: {
7
+ docs: {
8
+ description: {
9
+ component: string;
10
+ };
11
+ };
12
+ };
13
+ args: {
14
+ title: string;
15
+ disabled: false;
16
+ };
17
+ argTypes: {
18
+ title: {
19
+ control: string;
20
+ };
21
+ labelLeft: {
22
+ control: string;
23
+ };
24
+ labelRight: {
25
+ control: string;
26
+ };
27
+ ariaLabel: {
28
+ control: string;
29
+ };
30
+ disabled: {
31
+ control: string;
32
+ };
33
+ selected: {
34
+ control: string;
35
+ };
36
+ step: {
37
+ control: string;
38
+ };
39
+ value: {
40
+ control: string;
41
+ };
42
+ };
43
+ };
44
+ export default meta;
45
+ type Story = StoryObj<typeof meta>;
46
+ export declare const Default: Story;
47
+ export declare const NotSelected: Story;
48
+ export declare const Steps: Story;
49
+ export declare const StepLabel: Story;
50
+ export declare const StepEmoji: Story;
51
+ export declare const CombinedData: Story;
52
+ //# sourceMappingURL=Slider.stories.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { SpacerSizes } from './../../theme/spacers';
3
- interface SpacerProps {
3
+ export interface SpacerProps {
4
4
  /** Sets the size of the spacer. */
5
5
  size?: SpacerSizes;
6
6
  /** Adds custom classes to the element. */
@@ -1 +1 @@
1
- {"version":3,"file":"Spacer.js","sources":["../../../src/components/Spacer/Spacer.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { SpacerSizes } from './../../theme/spacers';\nimport { AnalyticsId } from '../../constants';\n\nimport spacerStyles from './styles.module.scss';\n\ninterface SpacerProps {\n /** Sets the size of the spacer. */\n size?: SpacerSizes;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Spacer = React.forwardRef(function SpacerForwardedRef(props: SpacerProps, ref: React.ForwardedRef<HTMLElement>) {\n const { size = 's', className, testId } = props;\n const spacerClasses = classNames(\n spacerStyles.spacer,\n {\n [spacerStyles['spacer--4xs']]: size === '4xs',\n [spacerStyles['spacer--3xs']]: size === '3xs',\n [spacerStyles['spacer--2xs']]: size === '2xs',\n [spacerStyles['spacer--xs']]: size === 'xs',\n [spacerStyles['spacer--s']]: size === 's',\n [spacerStyles['spacer--m']]: size === 'm',\n [spacerStyles['spacer--l']]: size === 'l',\n [spacerStyles['spacer--xl']]: size === 'xl',\n [spacerStyles['spacer--2xl']]: size === '2xl',\n [spacerStyles['spacer--3xl']]: size === '3xl',\n [spacerStyles['spacer--4xl']]: size === '4xl',\n [spacerStyles['spacer--5xl']]: size === '5xl',\n [spacerStyles['spacer--6xl']]: size === '6xl',\n },\n className\n );\n\n return <span className={spacerClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.Spacer}></span>;\n});\n\nexport default Spacer;\n"],"names":["Spacer","React","props","ref","size","className","testId","spacerClasses","classNames","spacerStyles","AnalyticsId","Spacer$1"],"mappings":";;;;AAkBA,MAAMA,IAASC,EAAM,WAAW,SAA4BC,GAAoBC,GAAsC;AACpH,QAAM,EAAE,MAAAC,IAAO,KAAK,WAAAC,GAAW,QAAAC,MAAWJ,GACpCK,IAAgBC;AAAA,IACpBC,EAAa;AAAA,IACb;AAAA,MACE,CAACA,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,IAC1C;AAAA,IACAC;AAAA,EAAA;AAGK,SAAAJ,gBAAAA,EAAA,cAAC,UAAK,WAAWM,GAAe,KAAAJ,GAAU,eAAaG,GAAQ,oBAAkBI,EAAY,OAAQ,CAAA;AAC9G,CAAC,GAEDC,IAAeX;"}
1
+ {"version":3,"file":"Spacer.js","sources":["../../../src/components/Spacer/Spacer.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { SpacerSizes } from './../../theme/spacers';\nimport { AnalyticsId } from '../../constants';\n\nimport spacerStyles from './styles.module.scss';\n\nexport interface SpacerProps {\n /** Sets the size of the spacer. */\n size?: SpacerSizes;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Spacer = React.forwardRef(function SpacerForwardedRef(props: SpacerProps, ref: React.ForwardedRef<HTMLElement>) {\n const { size = 's', className, testId } = props;\n const spacerClasses = classNames(\n spacerStyles.spacer,\n {\n [spacerStyles['spacer--4xs']]: size === '4xs',\n [spacerStyles['spacer--3xs']]: size === '3xs',\n [spacerStyles['spacer--2xs']]: size === '2xs',\n [spacerStyles['spacer--xs']]: size === 'xs',\n [spacerStyles['spacer--s']]: size === 's',\n [spacerStyles['spacer--m']]: size === 'm',\n [spacerStyles['spacer--l']]: size === 'l',\n [spacerStyles['spacer--xl']]: size === 'xl',\n [spacerStyles['spacer--2xl']]: size === '2xl',\n [spacerStyles['spacer--3xl']]: size === '3xl',\n [spacerStyles['spacer--4xl']]: size === '4xl',\n [spacerStyles['spacer--5xl']]: size === '5xl',\n [spacerStyles['spacer--6xl']]: size === '6xl',\n },\n className\n );\n\n return <span className={spacerClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.Spacer}></span>;\n});\n\nexport default Spacer;\n"],"names":["Spacer","React","props","ref","size","className","testId","spacerClasses","classNames","spacerStyles","AnalyticsId","Spacer$1"],"mappings":";;;;AAkBA,MAAMA,IAASC,EAAM,WAAW,SAA4BC,GAAoBC,GAAsC;AACpH,QAAM,EAAE,MAAAC,IAAO,KAAK,WAAAC,GAAW,QAAAC,MAAWJ,GACpCK,IAAgBC;AAAA,IACpBC,EAAa;AAAA,IACb;AAAA,MACE,CAACA,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,IAC1C;AAAA,IACAC;AAAA,EAAA;AAGK,SAAAJ,gBAAAA,EAAA,cAAC,UAAK,WAAWM,GAAe,KAAAJ,GAAU,eAAaG,GAAQ,oBAAkBI,EAAY,OAAQ,CAAA;AAC9G,CAAC,GAEDC,IAAeX;"}