@helsenorge/designsystem-react 7.12.0 → 7.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/_virtual/dynamic-import-helper.js +11 -4
  3. package/_virtual/dynamic-import-helper.js.map +1 -1
  4. package/_virtual/index.js +2 -2
  5. package/components/AnchorLink/AnchorLink.js +16 -16
  6. package/components/AnchorLink/AnchorLink.js.map +1 -1
  7. package/components/Avatar/Avatar.js +9 -9
  8. package/components/Avatar/Avatar.js.map +1 -1
  9. package/components/Badge/Badge.js +7 -7
  10. package/components/Badge/Badge.js.map +1 -1
  11. package/components/Badge/NotificationBadge.js +5 -5
  12. package/components/Badge/NotificationBadge.js.map +1 -1
  13. package/components/Button/Button.js +23 -23
  14. package/components/Button/Button.js.map +1 -1
  15. package/components/ButtonWithModal/ButtonWithModal.js +5 -5
  16. package/components/ButtonWithModal/ButtonWithModal.js.map +1 -1
  17. package/components/Checkbox/Checkbox.js +41 -42
  18. package/components/Checkbox/Checkbox.js.map +1 -1
  19. package/components/Checkbox/index.js +2 -3
  20. package/components/Checkbox/index.js.map +1 -1
  21. package/components/Checkbox/styles.module.scss +2 -2
  22. package/components/Close/Close.js +9 -9
  23. package/components/Close/Close.js.map +1 -1
  24. package/components/DictionaryTrigger/DictionaryTrigger.js +14 -15
  25. package/components/DictionaryTrigger/DictionaryTrigger.js.map +1 -1
  26. package/components/DictionaryTrigger/styles.module.scss +1 -2
  27. package/components/Dropdown/Dropdown.js +24 -24
  28. package/components/Dropdown/Dropdown.js.map +1 -1
  29. package/components/Dropdown/styles.module.scss +1 -1
  30. package/components/Duolist/Duolist.d.ts +3 -0
  31. package/components/Duolist/Duolist.js +45 -36
  32. package/components/Duolist/Duolist.js.map +1 -1
  33. package/components/Duolist/index.js +5 -5
  34. package/components/Duolist/styles.module.scss +4 -0
  35. package/components/Duolist/styles.module.scss.d.ts +1 -0
  36. package/components/EmptyState/EmptyState.js +3 -3
  37. package/components/EmptyState/EmptyState.js.map +1 -1
  38. package/components/EmptyState/NobodyHome.js +3 -3
  39. package/components/EmptyState/NobodyHome.js.map +1 -1
  40. package/components/ErrorWrapper/ErrorWrapper.js +4 -4
  41. package/components/ErrorWrapper/ErrorWrapper.js.map +1 -1
  42. package/components/ErrorWrapper/index.js +2 -3
  43. package/components/ErrorWrapper/index.js.map +1 -1
  44. package/components/Expander/Expander.js +10 -10
  45. package/components/Expander/Expander.js.map +1 -1
  46. package/components/Expander/styles.module.scss +1 -1
  47. package/components/ExpanderHierarchy/Expander.js +5 -5
  48. package/components/ExpanderHierarchy/Expander.js.map +1 -1
  49. package/components/ExpanderHierarchy/ExpanderButton.js +7 -7
  50. package/components/ExpanderHierarchy/ExpanderButton.js.map +1 -1
  51. package/components/ExpanderHierarchy/ExpanderHierarchy.js +13 -14
  52. package/components/ExpanderHierarchy/ExpanderHierarchy.js.map +1 -1
  53. package/components/ExpanderHierarchy/expander.module.scss +2 -2
  54. package/components/ExpanderList/ExpanderList.js +34 -35
  55. package/components/ExpanderList/ExpanderList.js.map +1 -1
  56. package/components/ExpanderList/index.js +2 -3
  57. package/components/ExpanderList/index.js.map +1 -1
  58. package/components/ExpanderList/styles.module.scss +1 -1
  59. package/components/FormExample/FormExample.d.ts +0 -1
  60. package/components/FormExample/FormExample.js +12 -12
  61. package/components/FormExample/FormExample.js.map +1 -1
  62. package/components/FormExample/index.js +5 -5
  63. package/components/FormGroup/FormGroup.js +37 -38
  64. package/components/FormGroup/FormGroup.js.map +1 -1
  65. package/components/FormGroup/index.js +2 -3
  66. package/components/FormGroup/index.js.map +1 -1
  67. package/components/FormLayout/FormLayout.js +16 -17
  68. package/components/FormLayout/FormLayout.js.map +1 -1
  69. package/components/FormLayout/index.js +4 -4
  70. package/components/GridExample/GridExample.js +3 -3
  71. package/components/GridExample/GridExample.js.map +1 -1
  72. package/components/GridExample/index.js +3 -4
  73. package/components/GridExample/index.js.map +1 -1
  74. package/components/HelpBubble/HelpBubble.js +26 -27
  75. package/components/HelpBubble/HelpBubble.js.map +1 -1
  76. package/components/HelpBubble/styles.module.scss +1 -1
  77. package/components/HelpBubbleExample/HelpBubbleExample.js +3 -3
  78. package/components/HelpBubbleExample/HelpBubbleExample.js.map +1 -1
  79. package/components/HelpPanel/HelpPanel.js +11 -11
  80. package/components/HelpPanel/HelpPanel.js.map +1 -1
  81. package/components/HelpQuestion/HelpQuestion.js +16 -17
  82. package/components/HelpQuestion/HelpQuestion.js.map +1 -1
  83. package/components/HighlightBox/HighlightBox.js +16 -16
  84. package/components/HighlightBox/HighlightBox.js.map +1 -1
  85. package/components/HighlightBox/styles.module.scss +4 -4
  86. package/components/HorizontalScroll/HorizontalScroll.js +4 -4
  87. package/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  88. package/components/HorizontalScroll/index.js +2 -3
  89. package/components/HorizontalScroll/index.js.map +1 -1
  90. package/components/Illustration/Illustration.js +16 -17
  91. package/components/Illustration/Illustration.js.map +1 -1
  92. package/components/Illustration/index.js +5 -5
  93. package/components/Input/Input.js +65 -67
  94. package/components/Input/Input.js.map +1 -1
  95. package/components/Label/Label.js +16 -16
  96. package/components/Label/Label.js.map +1 -1
  97. package/components/LazyIcon/ErrorBoundary.js +7 -8
  98. package/components/LazyIcon/ErrorBoundary.js.map +1 -1
  99. package/components/LazyIcon/LazyIcon.js +4 -4
  100. package/components/LazyIcon/LazyIcon.js.map +1 -1
  101. package/components/LazyIcon/index.js +3 -3
  102. package/components/LazyIllustration/LazyIllustration.js +10 -10
  103. package/components/LazyIllustration/LazyIllustration.js.map +1 -1
  104. package/components/LazyIllustration/index.js +5 -5
  105. package/components/LinkList/LinkList.js +36 -37
  106. package/components/LinkList/LinkList.js.map +1 -1
  107. package/components/LinkList/index.js +2 -3
  108. package/components/LinkList/index.js.map +1 -1
  109. package/components/List/List.js +7 -8
  110. package/components/List/List.js.map +1 -1
  111. package/components/ListHeader/ListHeader.js +1 -1
  112. package/components/ListHeader/ListHeader.js.map +1 -1
  113. package/components/ListHeader/ListHeaderText/ListHeaderText.js +18 -19
  114. package/components/ListHeader/ListHeaderText/ListHeaderText.js.map +1 -1
  115. package/components/ListHeader/ListHeaderText/index.js +2 -3
  116. package/components/ListHeader/ListHeaderText/index.js.map +1 -1
  117. package/components/Loader/Loader.js +2 -2
  118. package/components/Loader/Loader.js.map +1 -1
  119. package/components/Logo/Logo.js +5 -5
  120. package/components/Logo/Logo.js.map +1 -1
  121. package/components/MaxCharacters/MaxCharacters.js +5 -5
  122. package/components/MaxCharacters/MaxCharacters.js.map +1 -1
  123. package/components/Modal/Modal.js +32 -33
  124. package/components/Modal/Modal.js.map +1 -1
  125. package/components/Modal/styles.module.scss +8 -8
  126. package/components/NotificationPanel/NotificationPanel.js +14 -14
  127. package/components/NotificationPanel/NotificationPanel.js.map +1 -1
  128. package/components/NotificationPanel/styles.module.scss +3 -3
  129. package/components/Panel/Panel.js +25 -25
  130. package/components/Panel/Panel.js.map +1 -1
  131. package/components/Panel/styles.module.scss +3 -3
  132. package/components/PanelList/PanelList.js +8 -8
  133. package/components/PanelList/PanelList.js.map +1 -1
  134. package/components/PopMenu/PopMenu.js +14 -14
  135. package/components/PopMenu/PopMenu.js.map +1 -1
  136. package/components/PopMenu/index.js +3 -3
  137. package/components/PopOver/PopOver.js +27 -28
  138. package/components/PopOver/PopOver.js.map +1 -1
  139. package/components/Portal/index.js.map +1 -1
  140. package/components/Progressbar/Progressbar.js +13 -13
  141. package/components/Progressbar/Progressbar.js.map +1 -1
  142. package/components/PromoPanel/PromoPanel.js +16 -16
  143. package/components/PromoPanel/PromoPanel.js.map +1 -1
  144. package/components/RadioButton/RadioButton.js +52 -53
  145. package/components/RadioButton/RadioButton.js.map +1 -1
  146. package/components/RadioButton/index.js +4 -4
  147. package/components/RadioButton/styles.module.scss +2 -2
  148. package/components/Select/Select.js +21 -21
  149. package/components/Select/Select.js.map +1 -1
  150. package/components/Select/index.js +2 -3
  151. package/components/Select/index.js.map +1 -1
  152. package/components/ServiceMessage/ServiceMessage.js +30 -30
  153. package/components/ServiceMessage/ServiceMessage.js.map +1 -1
  154. package/components/ServiceMessage/styles.module.scss +10 -10
  155. package/components/SharingStatus/SharingStatus.js +7 -7
  156. package/components/SharingStatus/SharingStatus.js.map +1 -1
  157. package/components/Slider/Slider.js +15 -17
  158. package/components/Slider/Slider.js.map +1 -1
  159. package/components/Slider/index.js +2 -3
  160. package/components/Slider/index.js.map +1 -1
  161. package/components/Spacer/Spacer.js +4 -4
  162. package/components/Spacer/Spacer.js.map +1 -1
  163. package/components/StatusDot/StatusDot.js +8 -8
  164. package/components/StatusDot/StatusDot.js.map +1 -1
  165. package/components/Step/Step.js +10 -10
  166. package/components/Step/Step.js.map +1 -1
  167. package/components/StepButtons/StepButtons.js +4 -4
  168. package/components/StepButtons/StepButtons.js.map +1 -1
  169. package/components/StepButtons/index.js +2 -3
  170. package/components/StepButtons/index.js.map +1 -1
  171. package/components/Stepper/Dot.js +3 -3
  172. package/components/Stepper/Dot.js.map +1 -1
  173. package/components/Stepper/DotList.js +4 -4
  174. package/components/Stepper/DotList.js.map +1 -1
  175. package/components/Stepper/Stepper.js +10 -10
  176. package/components/Stepper/Stepper.js.map +1 -1
  177. package/components/Table/Table.js +1 -1
  178. package/components/Table/TableBody/TableBody.js +3 -3
  179. package/components/Table/TableBody/TableBody.js.map +1 -1
  180. package/components/Table/TableBody/index.js +3 -4
  181. package/components/Table/TableBody/index.js.map +1 -1
  182. package/components/Table/TableCell/TableCell.js +10 -10
  183. package/components/Table/TableCell/TableCell.js.map +1 -1
  184. package/components/Table/TableCell/index.js +4 -4
  185. package/components/Table/TableExpandedRow/TableExpandedRow.js +8 -8
  186. package/components/Table/TableExpandedRow/TableExpandedRow.js.map +1 -1
  187. package/components/Table/TableExpandedRow/index.js +3 -4
  188. package/components/Table/TableExpandedRow/index.js.map +1 -1
  189. package/components/Table/TableExpanderCell/TableExpanderCell.js +3 -3
  190. package/components/Table/TableExpanderCell/TableExpanderCell.js.map +1 -1
  191. package/components/Table/TableExpanderCell/TableExpanderCellMobile.js +11 -11
  192. package/components/Table/TableExpanderCell/TableExpanderCellMobile.js.map +1 -1
  193. package/components/Table/TableExpanderCell/index.js +3 -4
  194. package/components/Table/TableExpanderCell/index.js.map +1 -1
  195. package/components/Table/TableHead/TableHead.js +9 -9
  196. package/components/Table/TableHead/TableHead.js.map +1 -1
  197. package/components/Table/TableHead/index.js +4 -4
  198. package/components/Table/TableHeadCell/TableHeadCell.js +15 -15
  199. package/components/Table/TableHeadCell/TableHeadCell.js.map +1 -1
  200. package/components/Table/TableHeadCell/index.js +4 -4
  201. package/components/Table/TableRow/TableRow.js +16 -16
  202. package/components/Table/TableRow/TableRow.js.map +1 -1
  203. package/components/Table/TableRow/index.js +3 -4
  204. package/components/Table/TableRow/index.js.map +1 -1
  205. package/components/Table/styles.module.scss +3 -3
  206. package/components/Table/utils.d.ts +1 -1
  207. package/components/Tabs/Tab.js +2 -2
  208. package/components/Tabs/Tab.js.map +1 -1
  209. package/components/Tabs/TabList/TabList.js +43 -38
  210. package/components/Tabs/TabList/TabList.js.map +1 -1
  211. package/components/Tabs/TabList/styles.module.scss +14 -4
  212. package/components/Tabs/TabPanel/TabPanel.d.ts +5 -1
  213. package/components/Tabs/TabPanel/TabPanel.js +13 -9
  214. package/components/Tabs/TabPanel/TabPanel.js.map +1 -1
  215. package/components/Tabs/TabPanel/styles.module.scss +48 -6
  216. package/components/Tabs/TabPanel/styles.module.scss.d.ts +4 -0
  217. package/components/Tabs/Tabs.d.ts +8 -4
  218. package/components/Tabs/Tabs.js +85 -16
  219. package/components/Tabs/Tabs.js.map +1 -1
  220. package/components/Tabs/styles.module.scss +38 -2
  221. package/components/Tabs/styles.module.scss.d.ts +7 -1
  222. package/components/Tag/Tag.js +3 -3
  223. package/components/Tag/Tag.js.map +1 -1
  224. package/components/TagList/TagList.js +1 -1
  225. package/components/TagList/TagList.js.map +1 -1
  226. package/components/Textarea/Textarea.js +48 -49
  227. package/components/Textarea/Textarea.js.map +1 -1
  228. package/components/Tile/Tile.js +14 -15
  229. package/components/Tile/Tile.js.map +1 -1
  230. package/components/Tile/index.js +2 -3
  231. package/components/Tile/index.js.map +1 -1
  232. package/components/Title/Title.js +10 -10
  233. package/components/Title/Title.js.map +1 -1
  234. package/components/Title/index.js +4 -4
  235. package/components/Tooltip/Tooltip.js +4 -4
  236. package/components/Tooltip/Tooltip.js.map +1 -1
  237. package/components/Tooltip/TooltipWord/TooltipWord.js +17 -18
  238. package/components/Tooltip/TooltipWord/TooltipWord.js.map +1 -1
  239. package/components/Tooltip/index.js +5 -5
  240. package/components/TooltipExample/TooltipExample.js +4 -4
  241. package/components/TooltipExample/TooltipExample.js.map +1 -1
  242. package/components/Trigger/HelpSign.js +3 -3
  243. package/components/Trigger/HelpSign.js.map +1 -1
  244. package/components/Trigger/Trigger.js +25 -26
  245. package/components/Trigger/Trigger.js.map +1 -1
  246. package/components/Validation/ErrorList.js +5 -5
  247. package/components/Validation/ErrorList.js.map +1 -1
  248. package/components/Validation/ErrorListItem.js +8 -8
  249. package/components/Validation/ErrorListItem.js.map +1 -1
  250. package/components/Validation/Validation.js +13 -14
  251. package/components/Validation/Validation.js.map +1 -1
  252. package/components/Validation/ValidationSummary.js +4 -4
  253. package/components/Validation/ValidationSummary.js.map +1 -1
  254. package/components/Validation/index.js +3 -4
  255. package/components/Validation/index.js.map +1 -1
  256. package/components/Validation/types.d.ts +0 -1
  257. package/constants.d.ts +2 -1
  258. package/constants.js +1 -1
  259. package/constants.js.map +1 -1
  260. package/hooks/useIcons.d.ts +0 -1
  261. package/hooks/useIcons.js +1 -1
  262. package/hooks/useLayoutEvent.js +1 -2
  263. package/hooks/useLayoutEvent.js.map +1 -1
  264. package/hooks/useSticky.d.ts +1 -1
  265. package/package.json +1 -1
  266. package/scss/_palette.scss +1 -0
  267. package/scss/typography.module.scss +1 -1
  268. package/scss/typography.module.scss.d.ts +1 -1
  269. package/scss/typography.stories.tsx +157 -0
  270. package/theme/currys/color.d.ts +1 -1
  271. package/utils/accessibility.d.ts +2 -1
  272. package/utils/accessibility.js +1 -1
  273. package/utils/accessibility.js.map +1 -1
  274. package/utils/component.d.ts +3 -3
  275. package/utils/refs.d.ts +1 -2
  276. package/_virtual/index2.js +0 -5
  277. package/_virtual/index2.js.map +0 -1
  278. package/_virtual/index3.js +0 -5
  279. package/_virtual/index3.js.map +0 -1
  280. package/components/AnchorLink/AnchorLink.stories.d.ts +0 -31
  281. package/components/Avatar/Avatar.stories.d.ts +0 -36
  282. package/components/Badge/Badge.stories.d.ts +0 -42
  283. package/components/Button/Button.stories.d.ts +0 -56
  284. package/components/Checkbox/Checkbox.stories.d.ts +0 -54
  285. package/components/Close/Close.stories.d.ts +0 -29
  286. package/components/DictionaryTrigger/DictionaryTrigger.stories.d.ts +0 -30
  287. package/components/Dropdown/Dropdown.stories.d.ts +0 -67
  288. package/components/Duolist/Duolist.stories.d.ts +0 -32
  289. package/components/EmptyState/EmptyState.stories.d.ts +0 -26
  290. package/components/Expander/Expander.stories.d.ts +0 -60
  291. package/components/ExpanderHierarchy/ExpanderHierarchy.stories.d.ts +0 -44
  292. package/components/ExpanderList/ExpanderList.stories.d.ts +0 -59
  293. package/components/FormGroup/FormGroup.stories.d.ts +0 -50
  294. package/components/FormLayout/FormLayout.stories.d.ts +0 -32
  295. package/components/HelpBubble/HelpBubble.stories.d.ts +0 -46
  296. package/components/HelpPanel/HelpPanel.stories.d.ts +0 -31
  297. package/components/HelpQuestion/HelpQuestion.stories.d.ts +0 -29
  298. package/components/HighlightBox/HighlightBox.stories.d.ts +0 -42
  299. package/components/Icon/Icon.stories.d.ts +0 -38
  300. package/components/Illustration/Illustration.stories.d.ts +0 -34
  301. package/components/Illustration/Illustrations.stories.d.ts +0 -41
  302. package/components/Input/Input.stories.d.ts +0 -94
  303. package/components/Label/Label.stories.d.ts +0 -25
  304. package/components/LazyIcon/LazyIcon.stories.d.ts +0 -25
  305. package/components/LazyIllustration/LazyIllustration.stories.d.ts +0 -38
  306. package/components/LinkList/LinkList.stories.d.ts +0 -49
  307. package/components/List/List.stories.d.ts +0 -52
  308. package/components/Loader/Loader.stories.d.ts +0 -31
  309. package/components/Logo/Logo.stories.d.ts +0 -37
  310. package/components/Modal/Modal.stories.d.ts +0 -76
  311. package/components/NotificationPanel/NotificationPanel.stories.d.ts +0 -60
  312. package/components/Panel/Panel.stories.d.ts +0 -89
  313. package/components/PanelList/PanelList.stories.d.ts +0 -27
  314. package/components/PopMenu/PopMenu.stories.d.ts +0 -39
  315. package/components/PopOver/PopOver.stories.d.ts +0 -38
  316. package/components/Progressbar/Progressbar.stories.d.ts +0 -43
  317. package/components/PromoPanel/PromoPanel.stories.d.ts +0 -45
  318. package/components/RadioButton/RadioButton.stories.d.ts +0 -57
  319. package/components/Select/Select.stories.d.ts +0 -38
  320. package/components/ServiceMessage/ServiceMessage.stories.d.ts +0 -71
  321. package/components/SharingStatus/SharingStatus.stories.d.ts +0 -31
  322. package/components/Slider/Slider.stories.d.ts +0 -52
  323. package/components/Spacer/Spacer.stories.d.ts +0 -17
  324. package/components/StatusDot/StatusDot.stories.d.ts +0 -31
  325. package/components/Step/Step.stories.d.ts +0 -32
  326. package/components/StepButtons/StepButtons.stories.d.ts +0 -19
  327. package/components/Stepper/Stepper.stories.d.ts +0 -38
  328. package/components/Table/Table.stories.d.ts +0 -90
  329. package/components/Tabs/Tabs.stories.d.ts +0 -50
  330. package/components/Tag/Tag.stories.d.ts +0 -48
  331. package/components/TagList/TagList.stories.d.ts +0 -17
  332. package/components/Textarea/Textarea.stories.d.ts +0 -94
  333. package/components/Tile/Tile.stories.d.ts +0 -65
  334. package/components/Title/Title.stories.d.ts +0 -40
  335. package/components/Tooltip/Tooltip.stories.d.ts +0 -34
  336. package/components/Trigger/Trigger.stories.d.ts +0 -52
  337. package/components/Validation/Validation.stories.d.ts +0 -37
  338. package/hoc/withBreakpoint/withBreakpoint.stories.d.ts +0 -17
  339. package/hooks/useBreakpoint.stories.d.ts +0 -16
  340. package/hooks/useDelayedState.stories.d.ts +0 -27
  341. package/hooks/useElementList.stories.d.ts +0 -16
  342. package/hooks/useFocusToggle.stories.d.ts +0 -16
  343. package/hooks/useFocusTrap.stories.d.ts +0 -16
  344. package/hooks/useFocusableElements.stories.d.ts +0 -16
  345. package/hooks/useHover.stories.d.ts +0 -16
  346. package/hooks/useIntersectionObserver.stories.d.ts +0 -16
  347. package/hooks/useInterval.stories.d.ts +0 -16
  348. package/hooks/useIsVisible.stories.d.ts +0 -27
  349. package/hooks/useKeyboardEvent.stories.d.ts +0 -16
  350. package/hooks/useLayoutEvent.stories.d.ts +0 -16
  351. package/hooks/useOutsideEvent.stories.d.ts +0 -16
  352. package/hooks/usePseudoClasses.stories.d.ts +0 -16
  353. package/hooks/useResizeObserver.stories.d.ts +0 -16
  354. package/hooks/useRovingFocus.stories.d.ts +0 -17
  355. package/hooks/useSize.stories.d.ts +0 -16
  356. package/hooks/useSticky.stories.d.ts +0 -16
  357. package/hooks/useUuid.stories.d.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"Expander.js","sources":["../../../src/components/Expander/Expander.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, ZIndex } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { useHover } from '../../hooks/useHover';\nimport { useSticky } from '../../hooks/useSticky';\nimport { PaletteNames } from '../../theme/palette';\nimport Button from '../Button';\nimport Icon, { IconSize, SvgIcon } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport { IconName } from '../Icons/IconNames';\nimport LazyIcon from '../LazyIcon';\n\nimport styles from './styles.module.scss';\n\nexport enum ExpanderSize {\n small = 'small',\n large = 'large',\n}\n\nexport type ExpanderColors = Extract<PaletteNames, 'banana' | 'blueberry' | 'cherry' | 'kiwi' | 'neutral' | 'plum' | 'white'>;\n\nexport interface ExpanderProps {\n /** Sets the trigger title */\n title: string;\n /** Sets the expanded content */\n children?: React.ReactNode;\n /** Sets classnames on the content area */\n contentClassNames?: string;\n /** Sets the size of the expander. Default: ExpanderSize.small */\n size?: ExpanderSize;\n /** Sets the background of the expander. Requires size=ExpanderSize.large. */\n color?: ExpanderColors;\n /** Adds an icon to the expander trigger. Requires size=ExpanderSize.large. */\n svgIcon?: SvgIcon | IconName;\n /** Opens or closes the expander */\n expanded?: boolean;\n /** Removes border to the left of the content. Requires size=ExpanderSize.small. */\n noNestedLine?: boolean;\n /** Stick expander trigger to top of screen while scrolling down */\n sticky?: boolean;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */\n renderChildrenWhenClosed?: boolean;\n /** Sets the data-testid attribute on the expander button. */\n testId?: string;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n}\n\nconst Expander: React.FC<ExpanderProps> = props => {\n const {\n title,\n children,\n size = ExpanderSize.small,\n color,\n contentClassNames,\n svgIcon: icon,\n expanded = false,\n noNestedLine = false,\n sticky = false,\n testId,\n onExpand,\n renderChildrenWhenClosed = false,\n zIndex = ZIndex.ExpanderTrigger,\n } = props;\n const [isExpanded, setIsExpanded] = useExpand(expanded, onExpand);\n const expanderRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const { isHovered } = useHover(triggerRef);\n const { isOutsideWindow, isLeavingWindow, offsetHeight, contentWidth } = useSticky(expanderRef, triggerRef);\n\n const isSticky = sticky && isExpanded && isOutsideWindow;\n\n const renderChevron = (align: 'left' | 'right'): React.ReactNode => (\n <span className={classNames(styles['expander__icon'], styles[`expander__icon--${align}`])}>\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} size={IconSize.XSmall} isHovered={isHovered} />\n </span>\n );\n\n const triggerClassName = classNames(\n styles['expander__trigger'],\n size === ExpanderSize.large && styles[`expander__trigger--${size}`],\n size === ExpanderSize.large && styles[`expander__trigger--${color || 'neutral'}`],\n size === ExpanderSize.large && icon && styles['expander__trigger--icon'],\n isExpanded && styles['expander__trigger--expanded'],\n isSticky && !isLeavingWindow && styles['expander__trigger--sticky'],\n isSticky && isLeavingWindow && styles['expander__trigger--absolute']\n );\n\n const renderTrigger = (): React.ReactNode => (\n <button\n type=\"button\"\n className={triggerClassName}\n style={{\n zIndex: isHovered || isSticky ? zIndex : undefined,\n width: isSticky && contentWidth ? `${contentWidth}px` : undefined,\n }}\n aria-expanded={isExpanded}\n ref={triggerRef}\n onClick={(): void => setIsExpanded(!isExpanded)}\n data-testid={testId}\n data-analyticsid={AnalyticsId.Expander}\n >\n {size === ExpanderSize.small && renderChevron('left')}\n {icon && (\n <span className={classNames(styles['expander__icon'], styles['expander__icon--left'])}>\n {typeof icon === 'string' ? (\n <LazyIcon iconName={icon} size={IconSize.XSmall} isHovered={isHovered} />\n ) : (\n <Icon svgIcon={icon} size={IconSize.XSmall} isHovered={isHovered} />\n )}\n </span>\n )}\n {title}\n {size === ExpanderSize.large && renderChevron('right')}\n </button>\n );\n\n const buttonClassName = classNames(\n styles['expander__button'],\n isExpanded && styles['expander__button--expanded'],\n isSticky && !isLeavingWindow && styles['expander__button--sticky'],\n isSticky && isLeavingWindow && styles['expander__button--absolute']\n );\n\n const renderButton = (): React.ReactNode => (\n <Button\n variant=\"borderless\"\n className={buttonClassName}\n aria-expanded={isExpanded}\n ref={triggerRef}\n onClick={(): void => setIsExpanded(!isExpanded)}\n testId={testId}\n data-analyticsid={AnalyticsId.Expander}\n >\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} size={IconSize.XSmall} />\n {title}\n </Button>\n );\n\n const renderContent = (): React.ReactNode => {\n if (!renderChildrenWhenClosed && !isExpanded) {\n return null;\n }\n\n const contentClassName = classNames(\n styles['expander__content'],\n styles[`expander__content--${size}`],\n size === ExpanderSize.large && styles[`expander__content--${color || 'neutral'}`],\n size === ExpanderSize.large && icon && styles['expander__content--icon'],\n isExpanded && styles['expander__content--expanded'],\n size === ExpanderSize.small && !noNestedLine && styles['expander__content--nested-line'],\n contentClassNames\n );\n\n return <div className={contentClassName}>{children}</div>;\n };\n\n return (\n <div\n className={styles['expander']}\n ref={expanderRef}\n style={{ paddingTop: isSticky && offsetHeight ? `${offsetHeight}px` : undefined }}\n >\n {size === ExpanderSize.large ? renderTrigger() : renderButton()}\n {renderContent()}\n </div>\n );\n};\n\nexport default Expander;\n"],"names":["ExpanderSize","Expander","props","title","children","size","color","contentClassNames","icon","expanded","noNestedLine","sticky","testId","onExpand","renderChildrenWhenClosed","zIndex","ZIndex","isExpanded","setIsExpanded","useExpand","expanderRef","useRef","triggerRef","isHovered","useHover","isOutsideWindow","isLeavingWindow","offsetHeight","contentWidth","useSticky","isSticky","renderChevron","align","React","classNames","styles","Icon","ChevronUp","ChevronDown","IconSize","triggerClassName","renderTrigger","AnalyticsId","LazyIcon","buttonClassName","renderButton","Button","renderContent","contentClassName","Expander$1"],"mappings":"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"}
1
+ {"version":3,"file":"Expander.js","sources":["../../../src/components/Expander/Expander.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, ZIndex } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { useHover } from '../../hooks/useHover';\nimport { useSticky } from '../../hooks/useSticky';\nimport { PaletteNames } from '../../theme/palette';\nimport Button from '../Button';\nimport Icon, { IconSize, SvgIcon } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport { IconName } from '../Icons/IconNames';\nimport LazyIcon from '../LazyIcon';\n\nimport styles from './styles.module.scss';\n\nexport enum ExpanderSize {\n small = 'small',\n large = 'large',\n}\n\nexport type ExpanderColors = Extract<PaletteNames, 'banana' | 'blueberry' | 'cherry' | 'kiwi' | 'neutral' | 'plum' | 'white'>;\n\nexport interface ExpanderProps {\n /** Sets the trigger title */\n title: string;\n /** Sets the expanded content */\n children?: React.ReactNode;\n /** Sets classnames on the content area */\n contentClassNames?: string;\n /** Sets the size of the expander. Default: ExpanderSize.small */\n size?: ExpanderSize;\n /** Sets the background of the expander. Requires size=ExpanderSize.large. */\n color?: ExpanderColors;\n /** Adds an icon to the expander trigger. Requires size=ExpanderSize.large. */\n svgIcon?: SvgIcon | IconName;\n /** Opens or closes the expander */\n expanded?: boolean;\n /** Removes border to the left of the content. Requires size=ExpanderSize.small. */\n noNestedLine?: boolean;\n /** Stick expander trigger to top of screen while scrolling down */\n sticky?: boolean;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */\n renderChildrenWhenClosed?: boolean;\n /** Sets the data-testid attribute on the expander button. */\n testId?: string;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n}\n\nconst Expander: React.FC<ExpanderProps> = props => {\n const {\n title,\n children,\n size = ExpanderSize.small,\n color,\n contentClassNames,\n svgIcon: icon,\n expanded = false,\n noNestedLine = false,\n sticky = false,\n testId,\n onExpand,\n renderChildrenWhenClosed = false,\n zIndex = ZIndex.ExpanderTrigger,\n } = props;\n const [isExpanded, setIsExpanded] = useExpand(expanded, onExpand);\n const expanderRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const { isHovered } = useHover(triggerRef);\n const { isOutsideWindow, isLeavingWindow, offsetHeight, contentWidth } = useSticky(expanderRef, triggerRef);\n\n const isSticky = sticky && isExpanded && isOutsideWindow;\n\n const renderChevron = (align: 'left' | 'right'): React.ReactNode => (\n <span className={classNames(styles['expander__icon'], styles[`expander__icon--${align}`])}>\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} size={IconSize.XSmall} isHovered={isHovered} />\n </span>\n );\n\n const triggerClassName = classNames(\n styles['expander__trigger'],\n size === ExpanderSize.large && styles[`expander__trigger--${size}`],\n size === ExpanderSize.large && styles[`expander__trigger--${color || 'neutral'}`],\n size === ExpanderSize.large && icon && styles['expander__trigger--icon'],\n isExpanded && styles['expander__trigger--expanded'],\n isSticky && !isLeavingWindow && styles['expander__trigger--sticky'],\n isSticky && isLeavingWindow && styles['expander__trigger--absolute']\n );\n\n const renderTrigger = (): React.ReactNode => (\n <button\n type=\"button\"\n className={triggerClassName}\n style={{\n zIndex: isHovered || isSticky ? zIndex : undefined,\n width: isSticky && contentWidth ? `${contentWidth}px` : undefined,\n }}\n aria-expanded={isExpanded}\n ref={triggerRef}\n onClick={(): void => setIsExpanded(!isExpanded)}\n data-testid={testId}\n data-analyticsid={AnalyticsId.Expander}\n >\n {size === ExpanderSize.small && renderChevron('left')}\n {icon && (\n <span className={classNames(styles['expander__icon'], styles['expander__icon--left'])}>\n {typeof icon === 'string' ? (\n <LazyIcon iconName={icon} size={IconSize.XSmall} isHovered={isHovered} />\n ) : (\n <Icon svgIcon={icon} size={IconSize.XSmall} isHovered={isHovered} />\n )}\n </span>\n )}\n {title}\n {size === ExpanderSize.large && renderChevron('right')}\n </button>\n );\n\n const buttonClassName = classNames(\n styles['expander__button'],\n isExpanded && styles['expander__button--expanded'],\n isSticky && !isLeavingWindow && styles['expander__button--sticky'],\n isSticky && isLeavingWindow && styles['expander__button--absolute']\n );\n\n const renderButton = (): React.ReactNode => (\n <Button\n variant=\"borderless\"\n className={buttonClassName}\n aria-expanded={isExpanded}\n ref={triggerRef}\n onClick={(): void => setIsExpanded(!isExpanded)}\n testId={testId}\n data-analyticsid={AnalyticsId.Expander}\n >\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} size={IconSize.XSmall} />\n {title}\n </Button>\n );\n\n const renderContent = (): React.ReactNode => {\n if (!renderChildrenWhenClosed && !isExpanded) {\n return null;\n }\n\n const contentClassName = classNames(\n styles['expander__content'],\n styles[`expander__content--${size}`],\n size === ExpanderSize.large && styles[`expander__content--${color || 'neutral'}`],\n size === ExpanderSize.large && icon && styles['expander__content--icon'],\n isExpanded && styles['expander__content--expanded'],\n size === ExpanderSize.small && !noNestedLine && styles['expander__content--nested-line'],\n contentClassNames\n );\n\n return <div className={contentClassName}>{children}</div>;\n };\n\n return (\n <div\n className={styles['expander']}\n ref={expanderRef}\n style={{ paddingTop: isSticky && offsetHeight ? `${offsetHeight}px` : undefined }}\n >\n {size === ExpanderSize.large ? renderTrigger() : renderButton()}\n {renderContent()}\n </div>\n );\n};\n\nexport default Expander;\n"],"names":["ExpanderSize","Expander","props","title","children","size","color","contentClassNames","icon","expanded","noNestedLine","sticky","testId","onExpand","renderChildrenWhenClosed","zIndex","ZIndex","isExpanded","setIsExpanded","useExpand","expanderRef","useRef","triggerRef","isHovered","useHover","isOutsideWindow","isLeavingWindow","offsetHeight","contentWidth","useSticky","isSticky","renderChevron","align","React","classNames","styles","Icon","ChevronUp","ChevronDown","IconSize","triggerClassName","renderTrigger","AnalyticsId","LazyIcon","buttonClassName","renderButton","Button","renderContent","contentClassName"],"mappings":"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"}
@@ -183,7 +183,7 @@
183
183
  padding: getSpacer(s) getSpacer(m) getSpacer(l) getSpacer(s);
184
184
 
185
185
  @media (min-width: map.get($grid-breakpoints, md)) {
186
- padding: getSpacer(m) getSpacer(l) getSpacer(xl) getSpacer(l);
186
+ padding: getSpacer(m) getSpacer(l) getSpacer(xl);
187
187
  }
188
188
  &#{$content}--icon {
189
189
  @media (min-width: map.get($grid-breakpoints, md)) {
@@ -1,11 +1,11 @@
1
1
  import t from "react";
2
2
  import i from "classnames";
3
3
  import x from "./ExpanderButton.js";
4
- import E from "./ExpanderHierarchy.js";
5
- import { getHeadingTag as _ } from "./utils.js";
4
+ import _ from "./ExpanderHierarchy.js";
5
+ import { getHeadingTag as E } from "./utils.js";
6
6
  import { isComponent as l } from "../../utils/component.js";
7
7
  import r from "../ExpanderHierarchy/expander.module.scss";
8
- const u = ({
8
+ const w = ({
9
9
  title: m,
10
10
  htmlMarkup: a = "h2",
11
11
  level: e = 1,
@@ -22,9 +22,9 @@ const u = ({
22
22
  );
23
23
  return /* @__PURE__ */ t.createElement("li", { className: r.expander }, /* @__PURE__ */ t.createElement(x, { htmlMarkup: a, level: e, print: o, expanded: s, onExpand: p, testId: d }, m), /* @__PURE__ */ t.createElement("div", { className: f }, t.Children.map(
24
24
  c,
25
- (n) => l(n, E) ? t.cloneElement(n, { htmlMarkup: _(a), level: e + 1, print: o }) : n
25
+ (n) => l(n, _) ? t.cloneElement(n, { htmlMarkup: E(a), level: e + 1, print: o }) : n
26
26
  )));
27
- }, w = u;
27
+ };
28
28
  export {
29
29
  w as default
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Expander.js","sources":["../../../src/components/ExpanderHierarchy/Expander.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport ExpanderButton from './ExpanderButton';\nimport ExpanderHierarchy, { ExpanderHierarchyCommonProps, ExpanderHierarchyProps } from './ExpanderHierarchy';\nimport { getHeadingTag } from './utils';\nimport { isComponent } from '../../utils/component';\n\nimport styles from './expander.module.scss';\n\nexport interface ExpanderProps extends ExpanderHierarchyCommonProps {\n /** Sets the trigger title */\n title: string;\n /** Opens or closes the expander */\n expanded?: boolean;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Sets the expanded content */\n children?: React.ReactNode;\n /** Sets the data-testid attribute on the expander button. */\n testId?: string;\n}\n\nexport type ExpanderType = React.FC<ExpanderProps>;\n\nconst Expander: ExpanderType = ({\n title,\n htmlMarkup = 'h2',\n level = 1,\n print,\n expanded = false,\n onExpand,\n children,\n testId,\n}: ExpanderProps) => {\n const contentClasses = classNames(\n styles.expander__content,\n (level === 1 || level === 2) && styles[`expander__content--${level}`],\n level > 2 && styles[`expander__content--3-and-lower`]\n );\n\n return (\n <li className={styles.expander}>\n <ExpanderButton htmlMarkup={htmlMarkup} level={level} print={print} expanded={expanded} onExpand={onExpand} testId={testId}>\n {title}\n </ExpanderButton>\n <div className={contentClasses}>\n {React.Children.map(children, child =>\n isComponent<ExpanderHierarchyProps>(child, ExpanderHierarchy)\n ? React.cloneElement(child, { htmlMarkup: getHeadingTag(htmlMarkup), level: level + 1, print })\n : child\n )}\n </div>\n </li>\n );\n};\n\nexport default Expander;\n"],"names":["Expander","title","htmlMarkup","level","print","expanded","onExpand","children","testId","contentClasses","classNames","styles","React","ExpanderButton","isComponent","child","ExpanderHierarchy","getHeadingTag","Expander$1"],"mappings":";;;;;;;AA0BA,MAAMA,IAAyB,CAAC;AAAA,EAC9B,OAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AACF,MAAqB;AACnB,QAAMC,IAAiBC;AAAA,IACrBC,EAAO;AAAA,KACNR,MAAU,KAAKA,MAAU,MAAMQ,EAAO,sBAAsBR,CAAK,EAAE;AAAA,IACpEA,IAAQ,KAAKQ,EAAO,gCAAgC;AAAA,EAAA;AAIpD,SAAAC,gBAAAA,EAAA,cAAC,QAAG,WAAWD,EAAO,YACnBC,gBAAAA,EAAA,cAAAC,GAAA,EAAe,YAAAX,GAAwB,OAAAC,GAAc,OAAAC,GAAc,UAAAC,GAAoB,UAAAC,GAAoB,QAAAE,EAAA,GACzGP,CACH,GACAW,gBAAAA,EAAA,cAAC,SAAI,WAAWH,EAAA,GACbG,EAAM,SAAS;AAAA,IAAIL;AAAA,IAAU,OAC5BO,EAAoCC,GAAOC,CAAiB,IACxDJ,EAAM,aAAaG,GAAO,EAAE,YAAYE,EAAcf,CAAU,GAAG,OAAOC,IAAQ,GAAG,OAAAC,EAAO,CAAA,IAC5FW;AAAA,EAER,CAAA,CACF;AAEJ,GAEAG,IAAelB;"}
1
+ {"version":3,"file":"Expander.js","sources":["../../../src/components/ExpanderHierarchy/Expander.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport ExpanderButton from './ExpanderButton';\nimport ExpanderHierarchy, { ExpanderHierarchyCommonProps, ExpanderHierarchyProps } from './ExpanderHierarchy';\nimport { getHeadingTag } from './utils';\nimport { isComponent } from '../../utils/component';\n\nimport styles from './expander.module.scss';\n\nexport interface ExpanderProps extends ExpanderHierarchyCommonProps {\n /** Sets the trigger title */\n title: string;\n /** Opens or closes the expander */\n expanded?: boolean;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Sets the expanded content */\n children?: React.ReactNode;\n /** Sets the data-testid attribute on the expander button. */\n testId?: string;\n}\n\nexport type ExpanderType = React.FC<ExpanderProps>;\n\nconst Expander: ExpanderType = ({\n title,\n htmlMarkup = 'h2',\n level = 1,\n print,\n expanded = false,\n onExpand,\n children,\n testId,\n}: ExpanderProps) => {\n const contentClasses = classNames(\n styles.expander__content,\n (level === 1 || level === 2) && styles[`expander__content--${level}`],\n level > 2 && styles[`expander__content--3-and-lower`]\n );\n\n return (\n <li className={styles.expander}>\n <ExpanderButton htmlMarkup={htmlMarkup} level={level} print={print} expanded={expanded} onExpand={onExpand} testId={testId}>\n {title}\n </ExpanderButton>\n <div className={contentClasses}>\n {React.Children.map(children, child =>\n isComponent<ExpanderHierarchyProps>(child, ExpanderHierarchy)\n ? React.cloneElement(child, { htmlMarkup: getHeadingTag(htmlMarkup), level: level + 1, print })\n : child\n )}\n </div>\n </li>\n );\n};\n\nexport default Expander;\n"],"names":["Expander","title","htmlMarkup","level","print","expanded","onExpand","children","testId","contentClasses","classNames","styles","React","ExpanderButton","isComponent","child","ExpanderHierarchy","getHeadingTag"],"mappings":";;;;;;;AA0BA,MAAMA,IAAyB,CAAC;AAAA,EAC9B,OAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AACF,MAAqB;AACnB,QAAMC,IAAiBC;AAAA,IACrBC,EAAO;AAAA,KACNR,MAAU,KAAKA,MAAU,MAAMQ,EAAO,sBAAsBR,CAAK,EAAE;AAAA,IACpEA,IAAQ,KAAKQ,EAAO,gCAAgC;AAAA,EAAA;AAIpD,SAAAC,gBAAAA,EAAA,cAAC,QAAG,WAAWD,EAAO,YACnBC,gBAAAA,EAAA,cAAAC,GAAA,EAAe,YAAAX,GAAwB,OAAAC,GAAc,OAAAC,GAAc,UAAAC,GAAoB,UAAAC,GAAoB,QAAAE,EAAA,GACzGP,CACH,GACAW,gBAAAA,EAAA,cAAC,SAAI,WAAWH,EAAA,GACbG,EAAM,SAAS;AAAA,IAAIL;AAAA,IAAU,OAC5BO,EAAoCC,GAAOC,CAAiB,IACxDJ,EAAM,aAAaG,GAAO,EAAE,YAAYE,EAAcf,CAAU,GAAG,OAAOC,IAAQ,GAAG,OAAAC,EAAO,CAAA,IAC5FW;AAAA,EAER,CAAA,CACF;AAEJ;"}
@@ -7,10 +7,10 @@ import { Icon as I } from "../Icon/Icon.js";
7
7
  import N from "../Icons/ChevronDown.js";
8
8
  import H from "../Icons/ChevronUp.js";
9
9
  import e from "../ExpanderHierarchy/expander.module.scss";
10
- const g = ({ htmlMarkup: s = "h2", level: t = 1, print: r, expanded: d, onExpand: p, children: i, testId: c }) => {
11
- const { hoverRef: m, isHovered: _ } = y(), [n, x] = w(d, p), l = () => {
10
+ const U = ({ htmlMarkup: s = "h2", level: t = 1, print: r, expanded: d, onExpand: i, children: p, testId: c }) => {
11
+ const { hoverRef: m, isHovered: _ } = y(), [n, x] = w(d, i), l = () => {
12
12
  x(!n);
13
- }, u = s, f = o(
13
+ }, f = s, u = o(
14
14
  e.expander__button,
15
15
  t > 1 && e["expander__button--2-and-lower"],
16
16
  r && e["expander__button--print"]
@@ -25,21 +25,21 @@ const g = ({ htmlMarkup: s = "h2", level: t = 1, print: r, expanded: d, onExpand
25
25
  t > 1 && e["expander__icon--2-and-lower"],
26
26
  t > 2 && e["expander__icon--3-and-lower"]
27
27
  );
28
- return /* @__PURE__ */ a.createElement(u, { className: E }, /* @__PURE__ */ a.createElement(
28
+ return /* @__PURE__ */ a.createElement(f, { className: E }, /* @__PURE__ */ a.createElement(
29
29
  "button",
30
30
  {
31
31
  type: "button",
32
32
  onClick: l,
33
- className: f,
33
+ className: u,
34
34
  "aria-expanded": n,
35
35
  ref: m,
36
36
  "data-testid": c,
37
37
  "data-analyticsid": b.ExpanderHierarchyExpander
38
38
  },
39
- i,
39
+ p,
40
40
  /* @__PURE__ */ a.createElement(I, { svgIcon: n ? H : N, isHovered: _, className: C, size: h.XSmall })
41
41
  ));
42
- }, U = g;
42
+ };
43
43
  export {
44
44
  U as default
45
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ExpanderButton.js","sources":["../../../src/components/ExpanderHierarchy/ExpanderButton.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { useHover } from '../../hooks/useHover';\nimport { ExpanderHierarchyCommonProps } from '../ExpanderHierarchy';\nimport Icon, { IconSize } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\n\nimport styles from './expander.module.scss';\n\ninterface ExpanderButtonProps extends ExpanderHierarchyCommonProps {\n expanded: boolean;\n onExpand?: (isExpanded: boolean) => void;\n children: string;\n testId?: string;\n}\n\nconst ExpanderButton: React.FC<ExpanderButtonProps> = ({ htmlMarkup = 'h2', level = 1, print, expanded, onExpand, children, testId }) => {\n const { hoverRef, isHovered } = useHover<HTMLButtonElement>();\n const [isExpanded, setIsExpanded] = useExpand(expanded, onExpand);\n\n const handleClick = (): void => {\n setIsExpanded(!isExpanded);\n };\n\n const CustomTag = htmlMarkup;\n\n const buttonClasses = classNames(\n styles.expander__button,\n level > 1 && styles[`expander__button--2-and-lower`],\n print && styles['expander__button--print']\n );\n\n const titleClasses = classNames(\n styles.expander__title,\n (level === 1 || level === 2 || level === 3) && styles[`expander__title--${level}`],\n level > 3 && styles[`expander__title--4-and-lower`],\n isExpanded && styles['expander__title--expanded'],\n print && styles['expander__title--print']\n );\n\n const iconClasses = classNames(\n styles.expander__icon,\n level > 1 && styles[`expander__icon--2-and-lower`],\n level > 2 && styles[`expander__icon--3-and-lower`]\n );\n\n return (\n <CustomTag className={titleClasses}>\n <button\n type=\"button\"\n onClick={handleClick}\n className={buttonClasses}\n aria-expanded={isExpanded}\n ref={hoverRef}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderHierarchyExpander}\n >\n {children}\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} isHovered={isHovered} className={iconClasses} size={IconSize.XSmall} />\n </button>\n </CustomTag>\n );\n};\n\nexport default ExpanderButton;\n"],"names":["ExpanderButton","htmlMarkup","level","print","expanded","onExpand","children","testId","hoverRef","isHovered","useHover","isExpanded","setIsExpanded","useExpand","handleClick","CustomTag","buttonClasses","classNames","styles","titleClasses","iconClasses","React","AnalyticsId","Icon","ChevronUp","ChevronDown","IconSize","ExpanderButton$1"],"mappings":";;;;;;;;;AAqBA,MAAMA,IAAgD,CAAC,EAAE,YAAAC,IAAa,MAAM,OAAAC,IAAQ,GAAG,OAAAC,GAAO,UAAAC,GAAU,UAAAC,GAAU,UAAAC,GAAU,QAAAC,EAAA,MAAa;AACvI,QAAM,EAAE,UAAAC,GAAU,WAAAC,EAAU,IAAIC,EAA4B,GACtD,CAACC,GAAYC,CAAa,IAAIC,EAAUT,GAAUC,CAAQ,GAE1DS,IAAc,MAAY;AAC9B,IAAAF,EAAc,CAACD,CAAU;AAAA,EAAA,GAGrBI,IAAYd,GAEZe,IAAgBC;AAAA,IACpBC,EAAO;AAAA,IACPhB,IAAQ,KAAKgB,EAAO,+BAA+B;AAAA,IACnDf,KAASe,EAAO,yBAAyB;AAAA,EAAA,GAGrCC,IAAeF;AAAA,IACnBC,EAAO;AAAA,KACNhB,MAAU,KAAKA,MAAU,KAAKA,MAAU,MAAMgB,EAAO,oBAAoBhB,CAAK,EAAE;AAAA,IACjFA,IAAQ,KAAKgB,EAAO,8BAA8B;AAAA,IAClDP,KAAcO,EAAO,2BAA2B;AAAA,IAChDf,KAASe,EAAO,wBAAwB;AAAA,EAAA,GAGpCE,IAAcH;AAAA,IAClBC,EAAO;AAAA,IACPhB,IAAQ,KAAKgB,EAAO,6BAA6B;AAAA,IACjDhB,IAAQ,KAAKgB,EAAO,6BAA6B;AAAA,EAAA;AAIjD,SAAAG,gBAAAA,EAAA,cAACN,GAAU,EAAA,WAAWI,EACpB,GAAAE,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASP;AAAA,MACT,WAAWE;AAAA,MACX,iBAAeL;AAAA,MACf,KAAKH;AAAA,MACL,eAAaD;AAAA,MACb,oBAAkBe,EAAY;AAAA,IAAA;AAAA,IAE7BhB;AAAA,IACDe,gBAAAA,EAAA,cAACE,GAAK,EAAA,SAASZ,IAAaa,IAAYC,GAAa,WAAAhB,GAAsB,WAAWW,GAAa,MAAMM,EAAS,OAAQ,CAAA;AAAA,EAAA,CAE9H;AAEJ,GAEAC,IAAe3B;"}
1
+ {"version":3,"file":"ExpanderButton.js","sources":["../../../src/components/ExpanderHierarchy/ExpanderButton.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { useHover } from '../../hooks/useHover';\nimport { ExpanderHierarchyCommonProps } from '../ExpanderHierarchy';\nimport Icon, { IconSize } from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\n\nimport styles from './expander.module.scss';\n\ninterface ExpanderButtonProps extends ExpanderHierarchyCommonProps {\n expanded: boolean;\n onExpand?: (isExpanded: boolean) => void;\n children: string;\n testId?: string;\n}\n\nconst ExpanderButton: React.FC<ExpanderButtonProps> = ({ htmlMarkup = 'h2', level = 1, print, expanded, onExpand, children, testId }) => {\n const { hoverRef, isHovered } = useHover<HTMLButtonElement>();\n const [isExpanded, setIsExpanded] = useExpand(expanded, onExpand);\n\n const handleClick = (): void => {\n setIsExpanded(!isExpanded);\n };\n\n const CustomTag = htmlMarkup;\n\n const buttonClasses = classNames(\n styles.expander__button,\n level > 1 && styles[`expander__button--2-and-lower`],\n print && styles['expander__button--print']\n );\n\n const titleClasses = classNames(\n styles.expander__title,\n (level === 1 || level === 2 || level === 3) && styles[`expander__title--${level}`],\n level > 3 && styles[`expander__title--4-and-lower`],\n isExpanded && styles['expander__title--expanded'],\n print && styles['expander__title--print']\n );\n\n const iconClasses = classNames(\n styles.expander__icon,\n level > 1 && styles[`expander__icon--2-and-lower`],\n level > 2 && styles[`expander__icon--3-and-lower`]\n );\n\n return (\n <CustomTag className={titleClasses}>\n <button\n type=\"button\"\n onClick={handleClick}\n className={buttonClasses}\n aria-expanded={isExpanded}\n ref={hoverRef}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderHierarchyExpander}\n >\n {children}\n <Icon svgIcon={isExpanded ? ChevronUp : ChevronDown} isHovered={isHovered} className={iconClasses} size={IconSize.XSmall} />\n </button>\n </CustomTag>\n );\n};\n\nexport default ExpanderButton;\n"],"names":["ExpanderButton","htmlMarkup","level","print","expanded","onExpand","children","testId","hoverRef","isHovered","useHover","isExpanded","setIsExpanded","useExpand","handleClick","CustomTag","buttonClasses","classNames","styles","titleClasses","iconClasses","React","AnalyticsId","Icon","ChevronUp","ChevronDown","IconSize"],"mappings":";;;;;;;;;AAqBA,MAAMA,IAAgD,CAAC,EAAE,YAAAC,IAAa,MAAM,OAAAC,IAAQ,GAAG,OAAAC,GAAO,UAAAC,GAAU,UAAAC,GAAU,UAAAC,GAAU,QAAAC,EAAA,MAAa;AACvI,QAAM,EAAE,UAAAC,GAAU,WAAAC,EAAU,IAAIC,EAA4B,GACtD,CAACC,GAAYC,CAAa,IAAIC,EAAUT,GAAUC,CAAQ,GAE1DS,IAAc,MAAY;AAC9B,IAAAF,EAAc,CAACD,CAAU;AAAA,EAAA,GAGrBI,IAAYd,GAEZe,IAAgBC;AAAA,IACpBC,EAAO;AAAA,IACPhB,IAAQ,KAAKgB,EAAO,+BAA+B;AAAA,IACnDf,KAASe,EAAO,yBAAyB;AAAA,EAAA,GAGrCC,IAAeF;AAAA,IACnBC,EAAO;AAAA,KACNhB,MAAU,KAAKA,MAAU,KAAKA,MAAU,MAAMgB,EAAO,oBAAoBhB,CAAK,EAAE;AAAA,IACjFA,IAAQ,KAAKgB,EAAO,8BAA8B;AAAA,IAClDP,KAAcO,EAAO,2BAA2B;AAAA,IAChDf,KAASe,EAAO,wBAAwB;AAAA,EAAA,GAGpCE,IAAcH;AAAA,IAClBC,EAAO;AAAA,IACPhB,IAAQ,KAAKgB,EAAO,6BAA6B;AAAA,IACjDhB,IAAQ,KAAKgB,EAAO,6BAA6B;AAAA,EAAA;AAIjD,SAAAG,gBAAAA,EAAA,cAACN,GAAU,EAAA,WAAWI,EACpB,GAAAE,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASP;AAAA,MACT,WAAWE;AAAA,MACX,iBAAeL;AAAA,MACf,KAAKH;AAAA,MACL,eAAaD;AAAA,MACb,oBAAkBe,EAAY;AAAA,IAAA;AAAA,IAE7BhB;AAAA,IACDe,gBAAAA,EAAA,cAACE,GAAK,EAAA,SAASZ,IAAaa,IAAYC,GAAa,WAAAhB,GAAsB,WAAWW,GAAa,MAAMM,EAAS,OAAQ,CAAA;AAAA,EAAA,CAE9H;AAEJ;"}
@@ -1,29 +1,28 @@
1
1
  import e from "react";
2
- import c from "classnames";
2
+ import d from "classnames";
3
3
  import n from "./Expander.js";
4
- import { AnalyticsId as h } from "../../constants.js";
5
- import { isComponent as x } from "../../utils/component.js";
4
+ import { AnalyticsId as c } from "../../constants.js";
5
+ import { isComponent as f } from "../../utils/component.js";
6
6
  import t from "../ExpanderHierarchy/styles.module.scss";
7
- const o = ({
8
- htmlMarkup: s = "h2",
7
+ const h = ({
8
+ htmlMarkup: o = "h2",
9
9
  level: r = 1,
10
10
  print: m,
11
- children: i,
12
- testId: p
11
+ children: s,
12
+ testId: i
13
13
  }) => {
14
- const d = c(
14
+ const p = d(
15
15
  t.expanderhierarchy,
16
16
  r === 2 && t[`expanderhierarchy--${r}`],
17
17
  r > 2 && t["expanderhierarchy--3-and-lower"]
18
18
  );
19
- return /* @__PURE__ */ e.createElement("ul", { className: d, "data-testid": p, "data-analyticsid": h.ExpanderHierarchy }, e.Children.map(
20
- i,
21
- (a) => x(a, n) ? e.cloneElement(a, { htmlMarkup: s, level: r, print: m }) : a
19
+ return /* @__PURE__ */ e.createElement("ul", { className: p, "data-testid": i, "data-analyticsid": c.ExpanderHierarchy }, e.Children.map(
20
+ s,
21
+ (a) => f(a, n) ? e.cloneElement(a, { htmlMarkup: o, level: r, print: m }) : a
22
22
  ));
23
23
  };
24
- o.Expander = n;
25
- const H = o;
24
+ h.Expander = n;
26
25
  export {
27
- H as default
26
+ h as default
28
27
  };
29
28
  //# sourceMappingURL=ExpanderHierarchy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpanderHierarchy.js","sources":["../../../src/components/ExpanderHierarchy/ExpanderHierarchy.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport Expander, { ExpanderProps, ExpanderType } from './Expander';\nimport { HeadingTags } from './utils';\nimport { AnalyticsId } from '../../constants';\nimport { isComponent } from '../../utils/component';\n\nimport styles from './styles.module.scss';\n\nexport interface ExpanderHierarchyCommonProps {\n /** Changes the underlying element of the expander title. Default: h2. */\n htmlMarkup?: HeadingTags;\n /** Expand all children when printing. */\n print?: boolean;\n /** Expander nesting level. Should not be set manually. */\n level?: number;\n}\n\nexport interface ExpanderHierarchyProps extends ExpanderHierarchyCommonProps {\n children: React.ReactNode;\n /** Sets the data-testid attribute on the expander list. */\n testId?: string;\n}\n\nexport interface ExpanderHierarchyCompound extends React.FC<ExpanderHierarchyProps> {\n Expander: ExpanderType;\n}\n\nconst ExpanderHierarchy: ExpanderHierarchyCompound = ({\n htmlMarkup = 'h2',\n level = 1,\n print,\n children,\n testId,\n}: ExpanderHierarchyProps) => {\n const listClasses = classNames(\n styles.expanderhierarchy,\n level === 2 && styles[`expanderhierarchy--${level}`],\n level > 2 && styles[`expanderhierarchy--3-and-lower`]\n );\n\n return (\n <ul className={listClasses} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderHierarchy}>\n {React.Children.map(children, child =>\n isComponent<ExpanderProps>(child, Expander) ? React.cloneElement(child, { htmlMarkup, level, print }) : child\n )}\n </ul>\n );\n};\n\nExpanderHierarchy.Expander = Expander;\n\nexport default ExpanderHierarchy;\n"],"names":["ExpanderHierarchy","htmlMarkup","level","print","children","testId","listClasses","classNames","styles","React","AnalyticsId","child","isComponent","Expander","ExpanderHierarchy$1"],"mappings":";;;;;;AA8BA,MAAMA,IAA+C,CAAC;AAAA,EACpD,YAAAC,IAAa;AAAA,EACb,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AACF,MAA8B;AAC5B,QAAMC,IAAcC;AAAA,IAClBC,EAAO;AAAA,IACPN,MAAU,KAAKM,EAAO,sBAAsBN,CAAK,EAAE;AAAA,IACnDA,IAAQ,KAAKM,EAAO,gCAAgC;AAAA,EAAA;AAIpD,SAAAC,gBAAAA,EAAA,cAAC,MAAG,EAAA,WAAWH,GAAa,eAAaD,GAAQ,oBAAkBK,EAAY,kBAC5E,GAAAD,EAAM,SAAS;AAAA,IAAIL;AAAA,IAAU,CAC5BO,MAAAC,EAA2BD,GAAOE,CAAQ,IAAIJ,EAAM,aAAaE,GAAO,EAAE,YAAAV,GAAY,OAAAC,GAAO,OAAAC,EAAA,CAAO,IAAIQ;AAAA,EAAA,CAE5G;AAEJ;AAEAX,EAAkB,WAAWa;AAE7B,MAAAC,IAAed;"}
1
+ {"version":3,"file":"ExpanderHierarchy.js","sources":["../../../src/components/ExpanderHierarchy/ExpanderHierarchy.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport Expander, { ExpanderProps, ExpanderType } from './Expander';\nimport { HeadingTags } from './utils';\nimport { AnalyticsId } from '../../constants';\nimport { isComponent } from '../../utils/component';\n\nimport styles from './styles.module.scss';\n\nexport interface ExpanderHierarchyCommonProps {\n /** Changes the underlying element of the expander title. Default: h2. */\n htmlMarkup?: HeadingTags;\n /** Expand all children when printing. */\n print?: boolean;\n /** Expander nesting level. Should not be set manually. */\n level?: number;\n}\n\nexport interface ExpanderHierarchyProps extends ExpanderHierarchyCommonProps {\n children: React.ReactNode;\n /** Sets the data-testid attribute on the expander list. */\n testId?: string;\n}\n\nexport interface ExpanderHierarchyCompound extends React.FC<ExpanderHierarchyProps> {\n Expander: ExpanderType;\n}\n\nconst ExpanderHierarchy: ExpanderHierarchyCompound = ({\n htmlMarkup = 'h2',\n level = 1,\n print,\n children,\n testId,\n}: ExpanderHierarchyProps) => {\n const listClasses = classNames(\n styles.expanderhierarchy,\n level === 2 && styles[`expanderhierarchy--${level}`],\n level > 2 && styles[`expanderhierarchy--3-and-lower`]\n );\n\n return (\n <ul className={listClasses} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderHierarchy}>\n {React.Children.map(children, child =>\n isComponent<ExpanderProps>(child, Expander) ? React.cloneElement(child, { htmlMarkup, level, print }) : child\n )}\n </ul>\n );\n};\n\nExpanderHierarchy.Expander = Expander;\n\nexport default ExpanderHierarchy;\n"],"names":["ExpanderHierarchy","htmlMarkup","level","print","children","testId","listClasses","classNames","styles","React","AnalyticsId","child","isComponent","Expander"],"mappings":";;;;;;AA8BA,MAAMA,IAA+C,CAAC;AAAA,EACpD,YAAAC,IAAa;AAAA,EACb,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AACF,MAA8B;AAC5B,QAAMC,IAAcC;AAAA,IAClBC,EAAO;AAAA,IACPN,MAAU,KAAKM,EAAO,sBAAsBN,CAAK,EAAE;AAAA,IACnDA,IAAQ,KAAKM,EAAO,gCAAgC;AAAA,EAAA;AAIpD,SAAAC,gBAAAA,EAAA,cAAC,MAAG,EAAA,WAAWH,GAAa,eAAaD,GAAQ,oBAAkBK,EAAY,kBAC5E,GAAAD,EAAM,SAAS;AAAA,IAAIL;AAAA,IAAU,CAC5BO,MAAAC,EAA2BD,GAAOE,CAAQ,IAAIJ,EAAM,aAAaE,GAAO,EAAE,YAAAV,GAAY,OAAAC,GAAO,OAAAC,EAAA,CAAO,IAAIQ;AAAA,EAAA,CAE5G;AAEJ;AAEAX,EAAkB,WAAWa;"}
@@ -21,7 +21,7 @@
21
21
  cursor: pointer;
22
22
  background-color: transparent;
23
23
  border-bottom: 1px solid $neutral500;
24
- padding: getSpacer(xs) 0 getSpacer(xs) 0;
24
+ padding: getSpacer(xs) 0;
25
25
 
26
26
  @media (min-width: map.get($grid-breakpoints, lg)) {
27
27
  flex-direction: row-reverse;
@@ -51,7 +51,7 @@
51
51
  }
52
52
 
53
53
  &--2-and-lower {
54
- padding: getSpacer(2xs) 0 getSpacer(2xs) 0;
54
+ padding: getSpacer(2xs) 0;
55
55
 
56
56
  @media (min-width: map.get($grid-breakpoints, lg)) {
57
57
  padding: getSpacer(xs) getSpacer(s) getSpacer(xs) getSpacer(2xs);
@@ -1,6 +1,6 @@
1
- import s, { useRef as A, useState as T, useEffect as V } from "react";
1
+ import a, { useRef as z, useState as A, useEffect as T } from "react";
2
2
  import C from "classnames";
3
- import { AnalyticsId as U, ZIndex as Z } from "../../constants.js";
3
+ import { AnalyticsId as v, ZIndex as Z } from "../../constants.js";
4
4
  import { useExpand as j } from "../../hooks/useExpand.js";
5
5
  import { useHover as q } from "../../hooks/useHover.js";
6
6
  import { useSticky as B } from "../../hooks/useSticky.js";
@@ -11,16 +11,16 @@ import K from "../Icons/ChevronDown.js";
11
11
  import Q from "../Icons/ChevronUp.js";
12
12
  import { renderListHeader as X } from "../ListHeader/ListHeader.js";
13
13
  import r from "../ExpanderList/styles.module.scss";
14
- const W = s.forwardRef((l, g) => {
14
+ const W = a.forwardRef((l, g) => {
15
15
  const {
16
16
  id: x,
17
17
  children: y,
18
18
  padding: h = !0,
19
19
  color: E = "neutral",
20
20
  className: _ = "",
21
- icon: L,
21
+ icon: I,
22
22
  large: o = !1,
23
- title: I,
23
+ title: L,
24
24
  titleHtmlMarkup: N = "span",
25
25
  expanded: w = !1,
26
26
  sticky: $,
@@ -30,7 +30,7 @@ const W = s.forwardRef((l, g) => {
30
30
  renderChildrenWhenClosed: R,
31
31
  variant: d = "line",
32
32
  zIndex: H
33
- } = l, [a] = j(w, c), f = A(null), t = A(null), { isHovered: n } = q(t), { isOutsideWindow: e, isLeavingWindow: i, offsetHeight: m, contentWidth: z } = B(f, t), u = $ && a && e, D = C(
33
+ } = l, [s] = j(w, c), f = z(null), t = z(null), { isHovered: n } = q(t), { isOutsideWindow: e, isLeavingWindow: i, offsetHeight: m, contentWidth: b } = B(f, t), u = $ && s && e, D = C(
34
34
  _,
35
35
  (d === "line" || d === "outline") && r[`expander-list__item--${d}`]
36
36
  ), M = C(
@@ -38,89 +38,89 @@ const W = s.forwardRef((l, g) => {
38
38
  E !== "black" && r[`expander-list-link--${E}`],
39
39
  {
40
40
  [r["expander-list-link--fill"]]: d === "fill",
41
- [r["expander-list-link--closed"]]: !a,
41
+ [r["expander-list-link--closed"]]: !s,
42
42
  [r["expander-list-link--large"]]: o,
43
43
  [r["expander-list-link--sticky"]]: u && !i,
44
44
  [r["expander-list-link--absolute"]]: u && i
45
45
  }
46
46
  ), O = () => {
47
- if (!R && !a)
47
+ if (!R && !s)
48
48
  return null;
49
49
  const P = C(
50
50
  r["expander-list-link__main-content"],
51
- a && r["expander-list-link__main-content--expanded"],
51
+ s && r["expander-list-link__main-content--expanded"],
52
52
  h ? r["expander-list-link__main-content--padding"] : ""
53
53
  );
54
- return /* @__PURE__ */ s.createElement("div", { className: P }, y);
54
+ return /* @__PURE__ */ a.createElement("div", { className: P }, y);
55
55
  };
56
- return /* @__PURE__ */ s.createElement(
56
+ return /* @__PURE__ */ a.createElement(
57
57
  "li",
58
58
  {
59
59
  className: D,
60
60
  ref: G([g, f]),
61
61
  style: { paddingTop: u && m ? `${m}px` : void 0 }
62
62
  },
63
- /* @__PURE__ */ s.createElement(
63
+ /* @__PURE__ */ a.createElement(
64
64
  "button",
65
65
  {
66
66
  type: "button",
67
67
  id: x,
68
68
  onClick: k,
69
69
  "data-testid": p,
70
- "data-analyticsid": U.ExpanderListExpander,
70
+ "data-analyticsid": v.ExpanderListExpander,
71
71
  className: M,
72
72
  ref: t,
73
- "aria-expanded": a,
73
+ "aria-expanded": s,
74
74
  style: {
75
75
  zIndex: n || u ? H : void 0,
76
- width: u && z ? `${z}px` : void 0
76
+ width: u && b ? `${b}px` : void 0
77
77
  }
78
78
  },
79
- X(I, N, n, o ? "large" : "medium", a ? Q : K, L)
79
+ X(L, N, n, o ? "large" : "medium", s ? Q : K, I)
80
80
  ),
81
81
  O()
82
82
  );
83
- }), v = (l) => s.isValidElement(l) && l.type === W, b = s.forwardRef((l, g) => {
83
+ }), V = (l) => a.isValidElement(l) && l.type === W, U = a.forwardRef((l, g) => {
84
84
  const {
85
85
  children: x,
86
86
  childPadding: y = !0,
87
87
  large: h,
88
88
  renderChildrenWhenClosed: E = !1,
89
89
  color: _,
90
- className: L = "",
90
+ className: I = "",
91
91
  accordion: o = !1,
92
- sticky: I = !1,
92
+ sticky: L = !1,
93
93
  testId: N,
94
94
  variant: w,
95
95
  zIndex: $ = Z.ExpanderTrigger
96
- } = l, [p, k] = T(), [c, R] = T(), d = F(), H = C(r["expander-list"], L);
97
- function a(t, n) {
96
+ } = l, [p, k] = A(), [c, R] = A(), d = F(), H = C(r["expander-list"], I);
97
+ function s(t, n) {
98
98
  k((e) => o ? { [n]: !(e != null && e[n]) } : { ...e, [n]: !(e != null && e[n]) }), R(t.currentTarget);
99
99
  }
100
100
  const f = (t) => `${d}-${t}`;
101
- return V(() => {
101
+ return T(() => {
102
102
  o && c && !J(c) && c.scrollIntoView();
103
- }, [o, c]), V(() => {
103
+ }, [o, c]), T(() => {
104
104
  var n;
105
- const t = (n = s.Children.map(x, (e) => {
106
- if (v(e))
105
+ const t = (n = a.Children.map(x, (e) => {
106
+ if (V(e))
107
107
  return e;
108
108
  })) == null ? void 0 : n.reduce((e, i, m) => (typeof i.props.expanded < "u" && (e[f(m)] = i.props.expanded), e), {});
109
109
  k({ ...p, ...t });
110
- }, [x]), /* @__PURE__ */ s.createElement("ul", { className: H, ref: g, "data-testid": N, "data-analyticsid": U.ExpanderList }, s.Children.map(x, (t, n) => {
111
- if (v(t)) {
110
+ }, [x]), /* @__PURE__ */ a.createElement("ul", { className: H, ref: g, "data-testid": N, "data-analyticsid": v.ExpanderList }, a.Children.map(x, (t, n) => {
111
+ if (V(t)) {
112
112
  const e = f(n), i = p == null ? void 0 : p[e];
113
- return s.cloneElement(t, {
113
+ return a.cloneElement(t, {
114
114
  id: e,
115
115
  key: n,
116
116
  expanded: i,
117
117
  padding: y,
118
118
  color: _,
119
119
  large: h,
120
- sticky: I,
120
+ sticky: L,
121
121
  "aria-expanded": i,
122
122
  className: r["expander-list__item"],
123
- handleExpanderClick: (m) => a(m, `${d}-${n}`),
123
+ handleExpanderClick: (m) => s(m, `${d}-${n}`),
124
124
  renderChildrenWhenClosed: E,
125
125
  variant: w,
126
126
  zIndex: $
@@ -129,12 +129,11 @@ const W = s.forwardRef((l, g) => {
129
129
  return t;
130
130
  }));
131
131
  });
132
- b.displayName = "ExpanderList";
133
- b.Expander = W;
132
+ U.displayName = "ExpanderList";
133
+ U.Expander = W;
134
134
  W.displayName = "ExpanderList.Expander";
135
- const ce = b;
136
135
  export {
137
- b as ExpanderList,
138
- ce as default
136
+ U as ExpanderList,
137
+ U as default
139
138
  };
140
139
  //# sourceMappingURL=ExpanderList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpanderList.js","sources":["../../../src/components/ExpanderList/ExpanderList.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, ZIndex } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { useHover } from '../../hooks/useHover';\nimport { useSticky } from '../../hooks/useSticky';\nimport { useUuid } from '../../hooks/useUuid';\nimport { PaletteNames } from '../../theme/palette';\nimport { mergeRefs } from '../../utils/refs';\nimport { isElementInViewport } from '../../utils/viewport';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport { ListHeaderType, renderListHeader } from '../ListHeader/ListHeader';\nimport { TitleTags } from '../Title';\n\nimport expanderListStyles from './styles.module.scss';\n\nexport type ExpanderListColors = PaletteNames;\nexport interface ExpanderType extends React.ForwardRefExoticComponent<ExpanderProps & React.RefAttributes<HTMLLIElement>> {\n ListHeader?: ListHeaderType;\n}\n\nexport interface ExpanderListCompound extends React.ForwardRefExoticComponent<ExpanderListProps & React.RefAttributes<HTMLUListElement>> {\n Expander: ExpanderType;\n}\n\nexport type ExpanderListVariant = 'line' | 'outline' | 'fill';\n\ninterface ExpanderListProps {\n /** Toggles accordion functionality for the expanders. */\n accordion?: boolean;\n /** Items in the ExpanderList */\n children: React.ReactNode;\n /** Toggles padding of child elements */\n childPadding?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n /** Changes the link list background color on hover. */\n color?: ExpanderListColors;\n /** Changes the font size. */\n large?: boolean;\n /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */\n renderChildrenWhenClosed?: boolean;\n /** Stick expander trigger to top of screen while scrolling down */\n sticky?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets visual priority */\n variant?: ExpanderListVariant;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n}\n\ntype Modify<T, R> = Omit<T, keyof R> & R;\n\ntype ExpanderProps = Modify<\n React.HTMLAttributes<HTMLButtonElement>,\n {\n id?: string;\n title: JSX.Element | string;\n /** Changes the underlying element of the title. Default: span*/\n titleHtmlMarkup?: TitleTags;\n children: React.ReactNode;\n className?: string;\n color?: ExpanderListColors;\n icon?: React.ReactElement;\n padding?: boolean;\n expanded?: boolean;\n large?: boolean;\n testId?: string;\n handleExpanderClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n }\n> &\n Pick<ExpanderListProps, 'renderChildrenWhenClosed' | 'sticky' | 'variant'>;\n\nconst Expander: ExpanderType = React.forwardRef<HTMLLIElement, ExpanderProps>((props, ref) => {\n const {\n id,\n children,\n padding = true,\n color = 'neutral',\n className = '',\n icon,\n large = false,\n title,\n titleHtmlMarkup = 'span',\n expanded = false,\n sticky,\n testId,\n handleExpanderClick,\n onExpand,\n renderChildrenWhenClosed,\n variant = 'line',\n zIndex,\n } = props;\n const [isExpanded] = useExpand(expanded, onExpand);\n const expanderRef = useRef<HTMLLIElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const { isHovered } = useHover(triggerRef);\n\n const { isOutsideWindow, isLeavingWindow, offsetHeight, contentWidth } = useSticky(expanderRef, triggerRef);\n const isSticky = sticky && isExpanded && isOutsideWindow;\n\n const itemClasses = classNames(\n className,\n (variant === 'line' || variant === 'outline') && expanderListStyles[`expander-list__item--${variant}`]\n );\n\n const expanderClasses = classNames(\n expanderListStyles['expander-list-link'],\n color !== 'black' && expanderListStyles[`expander-list-link--${color}`],\n {\n [expanderListStyles['expander-list-link--fill']]: variant === 'fill',\n [expanderListStyles['expander-list-link--closed']]: !isExpanded,\n [expanderListStyles['expander-list-link--large']]: large,\n [expanderListStyles['expander-list-link--sticky']]: isSticky && !isLeavingWindow,\n [expanderListStyles['expander-list-link--absolute']]: isSticky && isLeavingWindow,\n }\n );\n\n const renderContent = (): React.ReactNode => {\n if (!renderChildrenWhenClosed && !isExpanded) {\n return null;\n }\n\n const mainContentClasses = classNames(\n expanderListStyles['expander-list-link__main-content'],\n isExpanded && expanderListStyles['expander-list-link__main-content--expanded'],\n padding ? expanderListStyles['expander-list-link__main-content--padding'] : ''\n );\n\n return <div className={mainContentClasses}>{children}</div>;\n };\n\n return (\n <li\n className={itemClasses}\n ref={mergeRefs([ref, expanderRef])}\n style={{ paddingTop: isSticky && offsetHeight ? `${offsetHeight}px` : undefined }}\n >\n <button\n type=\"button\"\n id={id}\n onClick={handleExpanderClick}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderListExpander}\n className={expanderClasses}\n ref={triggerRef}\n aria-expanded={isExpanded}\n style={{\n zIndex: isHovered || isSticky ? zIndex : undefined,\n width: isSticky && contentWidth ? `${contentWidth}px` : undefined,\n }}\n >\n {renderListHeader(title, titleHtmlMarkup, isHovered, large ? 'large' : 'medium', isExpanded ? ChevronUp : ChevronDown, icon)}\n </button>\n {renderContent()}\n </li>\n );\n});\n\ntype ActiveExpander = Record<string, boolean>;\n\nconst isExpanderComponent = (element: {} | null | undefined): element is React.ReactElement<ExpanderProps> =>\n React.isValidElement<ExpanderProps>(element) && (element as React.ReactElement).type === Expander;\n\nexport const ExpanderList = React.forwardRef((props: ExpanderListProps, ref: React.Ref<HTMLUListElement>) => {\n const {\n children,\n childPadding = true,\n large,\n renderChildrenWhenClosed = false,\n color,\n className = '',\n accordion = false,\n sticky = false,\n testId,\n variant,\n zIndex = ZIndex.ExpanderTrigger,\n } = props;\n const [activeExpander, setActiveExpander] = useState<ActiveExpander>();\n const [latestExpander, setLatestExpander] = useState<HTMLElement>();\n const uuid = useUuid();\n const expanderListClasses = classNames(expanderListStyles['expander-list'], className);\n\n function handleExpanderClick(event: React.MouseEvent<HTMLElement, MouseEvent>, id: string): void {\n setActiveExpander(prevState => (accordion ? { [id]: !prevState?.[id] } : { ...prevState, [id]: !prevState?.[id] }));\n setLatestExpander(event.currentTarget);\n }\n\n const getExpanderId = (index: number): string => `${uuid}-${index}`;\n\n useEffect(() => {\n if (accordion && latestExpander && !isElementInViewport(latestExpander)) {\n latestExpander.scrollIntoView();\n }\n }, [accordion, latestExpander]);\n\n useEffect(() => {\n const newActiveExpander = React.Children.map(children, child => {\n if (isExpanderComponent(child)) {\n return child;\n }\n })?.reduce((acc, child, index) => {\n // Expanded-status skal bare settes dersom prop er satt av den som bruker komponenten\n if (typeof child.props.expanded !== 'undefined') {\n acc[getExpanderId(index)] = child.props.expanded;\n }\n return acc;\n }, {} as ActiveExpander);\n\n setActiveExpander({ ...activeExpander, ...newActiveExpander });\n }, [children]);\n\n return (\n <ul className={expanderListClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderList}>\n {React.Children.map(children, (child, index) => {\n if (isExpanderComponent(child)) {\n const id = getExpanderId(index);\n const expanded = activeExpander?.[id];\n\n return React.cloneElement(child as React.ReactElement<ExpanderProps>, {\n id,\n key: index,\n expanded,\n padding: childPadding,\n color,\n large,\n sticky,\n 'aria-expanded': expanded,\n className: expanderListStyles['expander-list__item'],\n handleExpanderClick: (event: React.MouseEvent<HTMLElement>) => handleExpanderClick(event, `${uuid}-${index}`),\n renderChildrenWhenClosed,\n variant,\n zIndex: zIndex,\n });\n }\n return child;\n })}\n </ul>\n );\n}) as ExpanderListCompound;\n\nExpanderList.displayName = 'ExpanderList';\nExpanderList.Expander = Expander;\nExpander.displayName = 'ExpanderList.Expander';\n\nexport default ExpanderList;\n"],"names":["Expander","React","props","ref","id","children","padding","color","className","icon","large","title","titleHtmlMarkup","expanded","sticky","testId","handleExpanderClick","onExpand","renderChildrenWhenClosed","variant","zIndex","isExpanded","useExpand","expanderRef","useRef","triggerRef","isHovered","useHover","isOutsideWindow","isLeavingWindow","offsetHeight","contentWidth","useSticky","isSticky","itemClasses","classNames","expanderListStyles","expanderClasses","renderContent","mainContentClasses","mergeRefs","AnalyticsId","renderListHeader","ChevronUp","ChevronDown","isExpanderComponent","element","ExpanderList","childPadding","accordion","ZIndex","activeExpander","setActiveExpander","useState","latestExpander","setLatestExpander","uuid","useUuid","expanderListClasses","event","prevState","getExpanderId","index","useEffect","isElementInViewport","newActiveExpander","child","acc","ExpanderList$1"],"mappings":"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"}
1
+ {"version":3,"file":"ExpanderList.js","sources":["../../../src/components/ExpanderList/ExpanderList.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, ZIndex } from '../../constants';\nimport { useExpand } from '../../hooks/useExpand';\nimport { useHover } from '../../hooks/useHover';\nimport { useSticky } from '../../hooks/useSticky';\nimport { useUuid } from '../../hooks/useUuid';\nimport { PaletteNames } from '../../theme/palette';\nimport { mergeRefs } from '../../utils/refs';\nimport { isElementInViewport } from '../../utils/viewport';\nimport ChevronDown from '../Icons/ChevronDown';\nimport ChevronUp from '../Icons/ChevronUp';\nimport { ListHeaderType, renderListHeader } from '../ListHeader/ListHeader';\nimport { TitleTags } from '../Title';\n\nimport expanderListStyles from './styles.module.scss';\n\nexport type ExpanderListColors = PaletteNames;\nexport interface ExpanderType extends React.ForwardRefExoticComponent<ExpanderProps & React.RefAttributes<HTMLLIElement>> {\n ListHeader?: ListHeaderType;\n}\n\nexport interface ExpanderListCompound extends React.ForwardRefExoticComponent<ExpanderListProps & React.RefAttributes<HTMLUListElement>> {\n Expander: ExpanderType;\n}\n\nexport type ExpanderListVariant = 'line' | 'outline' | 'fill';\n\ninterface ExpanderListProps {\n /** Toggles accordion functionality for the expanders. */\n accordion?: boolean;\n /** Items in the ExpanderList */\n children: React.ReactNode;\n /** Toggles padding of child elements */\n childPadding?: boolean;\n /** Adds custom classes to the element. */\n className?: string;\n /** Changes the link list background color on hover. */\n color?: ExpanderListColors;\n /** Changes the font size. */\n large?: boolean;\n /** Whether to render children when closed (in which case they are hidden with CSS). Default: false */\n renderChildrenWhenClosed?: boolean;\n /** Stick expander trigger to top of screen while scrolling down */\n sticky?: boolean;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets visual priority */\n variant?: ExpanderListVariant;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n}\n\ntype Modify<T, R> = Omit<T, keyof R> & R;\n\ntype ExpanderProps = Modify<\n React.HTMLAttributes<HTMLButtonElement>,\n {\n id?: string;\n title: JSX.Element | string;\n /** Changes the underlying element of the title. Default: span*/\n titleHtmlMarkup?: TitleTags;\n children: React.ReactNode;\n className?: string;\n color?: ExpanderListColors;\n icon?: React.ReactElement;\n padding?: boolean;\n expanded?: boolean;\n large?: boolean;\n testId?: string;\n handleExpanderClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n /** Called when expander is open/closed. */\n onExpand?: (isExpanded: boolean) => void;\n /** Overrides the default z-index of the expander header */\n zIndex?: number;\n }\n> &\n Pick<ExpanderListProps, 'renderChildrenWhenClosed' | 'sticky' | 'variant'>;\n\nconst Expander: ExpanderType = React.forwardRef<HTMLLIElement, ExpanderProps>((props, ref) => {\n const {\n id,\n children,\n padding = true,\n color = 'neutral',\n className = '',\n icon,\n large = false,\n title,\n titleHtmlMarkup = 'span',\n expanded = false,\n sticky,\n testId,\n handleExpanderClick,\n onExpand,\n renderChildrenWhenClosed,\n variant = 'line',\n zIndex,\n } = props;\n const [isExpanded] = useExpand(expanded, onExpand);\n const expanderRef = useRef<HTMLLIElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const { isHovered } = useHover(triggerRef);\n\n const { isOutsideWindow, isLeavingWindow, offsetHeight, contentWidth } = useSticky(expanderRef, triggerRef);\n const isSticky = sticky && isExpanded && isOutsideWindow;\n\n const itemClasses = classNames(\n className,\n (variant === 'line' || variant === 'outline') && expanderListStyles[`expander-list__item--${variant}`]\n );\n\n const expanderClasses = classNames(\n expanderListStyles['expander-list-link'],\n color !== 'black' && expanderListStyles[`expander-list-link--${color}`],\n {\n [expanderListStyles['expander-list-link--fill']]: variant === 'fill',\n [expanderListStyles['expander-list-link--closed']]: !isExpanded,\n [expanderListStyles['expander-list-link--large']]: large,\n [expanderListStyles['expander-list-link--sticky']]: isSticky && !isLeavingWindow,\n [expanderListStyles['expander-list-link--absolute']]: isSticky && isLeavingWindow,\n }\n );\n\n const renderContent = (): React.ReactNode => {\n if (!renderChildrenWhenClosed && !isExpanded) {\n return null;\n }\n\n const mainContentClasses = classNames(\n expanderListStyles['expander-list-link__main-content'],\n isExpanded && expanderListStyles['expander-list-link__main-content--expanded'],\n padding ? expanderListStyles['expander-list-link__main-content--padding'] : ''\n );\n\n return <div className={mainContentClasses}>{children}</div>;\n };\n\n return (\n <li\n className={itemClasses}\n ref={mergeRefs([ref, expanderRef])}\n style={{ paddingTop: isSticky && offsetHeight ? `${offsetHeight}px` : undefined }}\n >\n <button\n type=\"button\"\n id={id}\n onClick={handleExpanderClick}\n data-testid={testId}\n data-analyticsid={AnalyticsId.ExpanderListExpander}\n className={expanderClasses}\n ref={triggerRef}\n aria-expanded={isExpanded}\n style={{\n zIndex: isHovered || isSticky ? zIndex : undefined,\n width: isSticky && contentWidth ? `${contentWidth}px` : undefined,\n }}\n >\n {renderListHeader(title, titleHtmlMarkup, isHovered, large ? 'large' : 'medium', isExpanded ? ChevronUp : ChevronDown, icon)}\n </button>\n {renderContent()}\n </li>\n );\n});\n\ntype ActiveExpander = Record<string, boolean>;\n\nconst isExpanderComponent = (element: {} | null | undefined): element is React.ReactElement<ExpanderProps> =>\n React.isValidElement<ExpanderProps>(element) && (element as React.ReactElement).type === Expander;\n\nexport const ExpanderList = React.forwardRef((props: ExpanderListProps, ref: React.Ref<HTMLUListElement>) => {\n const {\n children,\n childPadding = true,\n large,\n renderChildrenWhenClosed = false,\n color,\n className = '',\n accordion = false,\n sticky = false,\n testId,\n variant,\n zIndex = ZIndex.ExpanderTrigger,\n } = props;\n const [activeExpander, setActiveExpander] = useState<ActiveExpander>();\n const [latestExpander, setLatestExpander] = useState<HTMLElement>();\n const uuid = useUuid();\n const expanderListClasses = classNames(expanderListStyles['expander-list'], className);\n\n function handleExpanderClick(event: React.MouseEvent<HTMLElement, MouseEvent>, id: string): void {\n setActiveExpander(prevState => (accordion ? { [id]: !prevState?.[id] } : { ...prevState, [id]: !prevState?.[id] }));\n setLatestExpander(event.currentTarget);\n }\n\n const getExpanderId = (index: number): string => `${uuid}-${index}`;\n\n useEffect(() => {\n if (accordion && latestExpander && !isElementInViewport(latestExpander)) {\n latestExpander.scrollIntoView();\n }\n }, [accordion, latestExpander]);\n\n useEffect(() => {\n const newActiveExpander = React.Children.map(children, child => {\n if (isExpanderComponent(child)) {\n return child;\n }\n })?.reduce((acc, child, index) => {\n // Expanded-status skal bare settes dersom prop er satt av den som bruker komponenten\n if (typeof child.props.expanded !== 'undefined') {\n acc[getExpanderId(index)] = child.props.expanded;\n }\n return acc;\n }, {} as ActiveExpander);\n\n setActiveExpander({ ...activeExpander, ...newActiveExpander });\n }, [children]);\n\n return (\n <ul className={expanderListClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.ExpanderList}>\n {React.Children.map(children, (child, index) => {\n if (isExpanderComponent(child)) {\n const id = getExpanderId(index);\n const expanded = activeExpander?.[id];\n\n return React.cloneElement(child as React.ReactElement<ExpanderProps>, {\n id,\n key: index,\n expanded,\n padding: childPadding,\n color,\n large,\n sticky,\n 'aria-expanded': expanded,\n className: expanderListStyles['expander-list__item'],\n handleExpanderClick: (event: React.MouseEvent<HTMLElement>) => handleExpanderClick(event, `${uuid}-${index}`),\n renderChildrenWhenClosed,\n variant,\n zIndex: zIndex,\n });\n }\n return child;\n })}\n </ul>\n );\n}) as ExpanderListCompound;\n\nExpanderList.displayName = 'ExpanderList';\nExpanderList.Expander = Expander;\nExpander.displayName = 'ExpanderList.Expander';\n\nexport default ExpanderList;\n"],"names":["Expander","React","props","ref","id","children","padding","color","className","icon","large","title","titleHtmlMarkup","expanded","sticky","testId","handleExpanderClick","onExpand","renderChildrenWhenClosed","variant","zIndex","isExpanded","useExpand","expanderRef","useRef","triggerRef","isHovered","useHover","isOutsideWindow","isLeavingWindow","offsetHeight","contentWidth","useSticky","isSticky","itemClasses","classNames","expanderListStyles","expanderClasses","renderContent","mainContentClasses","mergeRefs","AnalyticsId","renderListHeader","ChevronUp","ChevronDown","isExpanderComponent","element","ExpanderList","childPadding","accordion","ZIndex","activeExpander","setActiveExpander","useState","latestExpander","setLatestExpander","uuid","useUuid","expanderListClasses","event","prevState","getExpanderId","index","useEffect","isElementInViewport","newActiveExpander","child","acc"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import t from "./ExpanderList.js";
2
- import { ExpanderList as p } from "./ExpanderList.js";
1
+ import { ExpanderList as t } from "./ExpanderList.js";
3
2
  export {
4
- p as ExpanderList,
3
+ t as ExpanderList,
5
4
  t as default
6
5
  };
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -152,7 +152,7 @@
152
152
  }
153
153
 
154
154
  &--padding {
155
- padding: getSpacer(m) 0 getSpacer(m) 0;
155
+ padding: getSpacer(m) 0;
156
156
 
157
157
  @media (min-width: map.get($grid-breakpoints, md)) {
158
158
  padding-left: getSpacer(2xs);
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { FormSize } from '../../constants';
3
2
  export interface FormExampleProps {
4
3
  exampleType: FormExampleVariants;
@@ -2,19 +2,19 @@ import e from "react";
2
2
  import { useForm as h } from "react-hook-form";
3
3
  import { isTest as q } from "../../utils/environment.js";
4
4
  import H from "../Button/Button.js";
5
- import s from "../Checkbox/Checkbox.js";
6
- import a from "../FormGroup/FormGroup.js";
7
- import w, { FormLayoutColumns as C } from "../FormLayout/FormLayout.js";
5
+ import { Checkbox as s } from "../Checkbox/Checkbox.js";
6
+ import { FormGroup as a } from "../FormGroup/FormGroup.js";
7
+ import { FormLayout as w, FormLayoutColumns as C } from "../FormLayout/FormLayout.js";
8
8
  import L from "../Icons/Hospital.js";
9
9
  import B from "../Input/Input.js";
10
10
  import n from "../Label/Label.js";
11
- import p from "../RadioButton/RadioButton.js";
12
- import N from "../Select/Select.js";
11
+ import { RadioButton as p } from "../RadioButton/RadioButton.js";
12
+ import { Select as N } from "../Select/Select.js";
13
13
  import R from "../Spacer/Spacer.js";
14
14
  import G from "../Textarea/Textarea.js";
15
- import _ from "../Validation/Validation.js";
15
+ import { Validation as _ } from "../Validation/Validation.js";
16
16
  var j = /* @__PURE__ */ ((t) => (t.formgroup = "formgroup", t.checkbox = "checkbox", t.radiobutton = "radiobutton", t.textarea = "textarea", t.input = "input", t.select = "select", t))(j || {});
17
- const P = (t) => {
17
+ const re = (t) => {
18
18
  const {
19
19
  exampleType: l = "formgroup"
20
20
  /* formgroup */
@@ -28,7 +28,7 @@ const P = (t) => {
28
28
  c.setDate(i.getDate() - 5), c.setHours(6), c.setMinutes(10), c.setSeconds(0);
29
29
  const u = /* @__PURE__ */ new Date();
30
30
  u.setDate(i.getDate() + 5), u.setHours(22), u.setMinutes(0), u.setSeconds(0);
31
- const d = "Du må velge minst én farge", I = "Du må velge minst to størrelser", g = "Du må velge minst én plassering", y = "Historien må være på maks 40 tegn", D = "Navn må fylles ut", F = 'Du må velge "Frankenstein"', E = (m) => m.length >= 2 || I, k = (m) => m.toString() === "Frankenstein" || F, x = () => /* @__PURE__ */ e.createElement(
31
+ const d = "Du må velge minst én farge", I = "Du må velge minst to størrelser", g = "Du må velge minst én plassering", y = "Historien må være på maks 40 tegn", D = "Navn må fylles ut", k = 'Du må velge "Frankenstein"', E = (m) => m.length >= 2 || I, F = (m) => m.toString() === "Frankenstein" || k, x = () => /* @__PURE__ */ e.createElement(
32
32
  a,
33
33
  {
34
34
  title: "FormGroup-tittel",
@@ -122,7 +122,7 @@ const P = (t) => {
122
122
  {
123
123
  selectId: "monster",
124
124
  label: /* @__PURE__ */ e.createElement(n, { labelTexts: [{ text: "Velg et monster", type: "semibold" }] }),
125
- ...o("monster", { validate: k })
125
+ ...o("monster", { validate: F })
126
126
  },
127
127
  /* @__PURE__ */ e.createElement("option", { value: "Troll" }, "Troll"),
128
128
  /* @__PURE__ */ e.createElement("option", { value: "Frankenstein" }, "Frankenstein")
@@ -152,10 +152,10 @@ const P = (t) => {
152
152
  /* @__PURE__ */ e.createElement(R, null),
153
153
  /* @__PURE__ */ e.createElement(H, { type: "submit" }, "Send inn")
154
154
  );
155
- }, oe = P;
155
+ };
156
156
  export {
157
- P as FormExample,
157
+ re as FormExample,
158
158
  j as FormExampleVariants,
159
- oe as default
159
+ re as default
160
160
  };
161
161
  //# sourceMappingURL=FormExample.js.map