@norges-domstoler/dds-components 4.0.2 → 4.2.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 (403) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +101 -0
  2. package/dist/assets/svg/bullets/jordskifterett_bullet1.svg.js +4 -0
  3. package/dist/assets/svg/bullets/lagmannsrett_bullet2.svg.js +4 -0
  4. package/dist/assets/svg/bullets/tingrett_bullet3.svg.js +4 -0
  5. package/dist/assets/svg/calendar_today.svg.js +4 -0
  6. package/dist/{index.css → bundle.css} +0 -0
  7. package/dist/{index.es.css → cjs/bundle.css} +0 -0
  8. package/dist/cjs/components/Breadcrumbs/Breadcrumb.d.ts +3 -0
  9. package/dist/cjs/components/Breadcrumbs/Breadcrumb.tokens.d.ts +10 -0
  10. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.d.ts +14 -0
  11. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.stories.d.ts +23 -0
  12. package/dist/cjs/components/Breadcrumbs/index.d.ts +2 -0
  13. package/dist/cjs/components/Button/Button.d.ts +20 -0
  14. package/dist/cjs/components/Button/Button.stories.d.ts +63 -0
  15. package/dist/cjs/components/Button/Button.styles.d.ts +24 -0
  16. package/dist/cjs/components/Button/Button.tokens.d.ts +203 -0
  17. package/dist/cjs/components/Button/Button.types.d.ts +32 -0
  18. package/dist/cjs/components/Button/index.d.ts +2 -0
  19. package/dist/cjs/components/Card/Card.d.ts +23 -0
  20. package/dist/cjs/components/Card/Card.stories.d.ts +11 -0
  21. package/dist/cjs/components/Card/Card.tokens.d.ts +26 -0
  22. package/dist/cjs/components/Card/CardAccordion/CardAccordion.d.ts +14 -0
  23. package/dist/cjs/components/Card/CardAccordion/CardAccordionBody.d.ts +23 -0
  24. package/dist/cjs/components/Card/CardAccordion/CardAccordionBody.tokens.d.ts +4 -0
  25. package/dist/cjs/components/Card/CardAccordion/CardAccordionHeader.d.ts +22 -0
  26. package/dist/cjs/components/Card/CardAccordion/CardAccordionHeader.tokens.d.ts +17 -0
  27. package/dist/cjs/components/Card/index.d.ts +4 -0
  28. package/dist/cjs/components/Checkbox/Checkbox.d.ts +19 -0
  29. package/dist/cjs/components/Checkbox/Checkbox.stories.d.ts +58 -0
  30. package/dist/cjs/components/Checkbox/Checkbox.styles.d.ts +9 -0
  31. package/dist/cjs/components/Checkbox/Checkbox.tokens.d.ts +65 -0
  32. package/dist/cjs/components/Checkbox/Checkbox.types.d.ts +16 -0
  33. package/dist/cjs/components/Checkbox/CheckboxGroup.d.ts +18 -0
  34. package/dist/cjs/components/Checkbox/CheckboxGroup.stories.d.ts +46 -0
  35. package/dist/cjs/components/Checkbox/CheckboxGroup.tokens.d.ts +19 -0
  36. package/dist/cjs/components/Checkbox/CheckboxGroupContext.d.ts +9 -0
  37. package/dist/cjs/components/Checkbox/index.d.ts +3 -0
  38. package/dist/cjs/components/Chip/Chip.d.ts +16 -0
  39. package/dist/cjs/components/Chip/Chip.stories.d.ts +20 -0
  40. package/dist/cjs/components/Chip/Chip.tokens.d.ts +12 -0
  41. package/dist/cjs/components/Chip/ChipGroup.d.ts +3 -0
  42. package/dist/cjs/components/Chip/ChipGroup.stories.d.ts +8 -0
  43. package/dist/cjs/components/Chip/index.d.ts +2 -0
  44. package/dist/cjs/components/Datepicker/Datepicker.d.ts +10 -0
  45. package/dist/cjs/components/Datepicker/Datepicker.stories.d.ts +55 -0
  46. package/dist/cjs/components/Datepicker/Datepicker.tokens.d.ts +9 -0
  47. package/dist/cjs/components/Datepicker/index.d.ts +1 -0
  48. package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +15 -0
  49. package/dist/cjs/components/DescriptionList/DescriptionList.stories.d.ts +18 -0
  50. package/dist/cjs/components/DescriptionList/DescriptionListDesc.d.ts +16 -0
  51. package/dist/cjs/components/DescriptionList/DescriptionListDesc.tokens.d.ts +7 -0
  52. package/dist/cjs/components/DescriptionList/DescriptionListGroup.d.ts +15 -0
  53. package/dist/cjs/components/DescriptionList/DescriptionListGroup.tokens.d.ts +4 -0
  54. package/dist/cjs/components/DescriptionList/DescriptionListTerm.d.ts +3 -0
  55. package/dist/cjs/components/DescriptionList/DescriptionListTerm.tokens.d.ts +13 -0
  56. package/dist/cjs/components/DescriptionList/index.d.ts +4 -0
  57. package/dist/cjs/components/Divider/Divider.d.ts +13 -0
  58. package/dist/cjs/components/Divider/Divider.stories.d.ts +15 -0
  59. package/dist/cjs/components/Divider/Divider.tokens.d.ts +8 -0
  60. package/dist/cjs/components/Divider/index.d.ts +1 -0
  61. package/dist/cjs/components/Drawer/Drawer.d.ts +50 -0
  62. package/dist/cjs/components/Drawer/Drawer.stories.d.ts +24 -0
  63. package/dist/cjs/components/Drawer/Drawer.tokens.d.ts +17 -0
  64. package/dist/cjs/components/Drawer/DrawerGroup.d.ts +13 -0
  65. package/dist/cjs/components/Drawer/index.d.ts +2 -0
  66. package/dist/cjs/components/GlobalMessage/GlobalMessage.d.ts +27 -0
  67. package/dist/cjs/components/GlobalMessage/GlobalMessage.stories.d.ts +31 -0
  68. package/dist/cjs/components/GlobalMessage/GlobalMessage.tokens.d.ts +53 -0
  69. package/dist/cjs/components/GlobalMessage/index.d.ts +1 -0
  70. package/dist/cjs/components/IconWrapper/IconWrapper.d.ts +19 -0
  71. package/dist/cjs/components/IconWrapper/IconWrapper.stories.d.ts +22 -0
  72. package/dist/cjs/components/IconWrapper/index.d.ts +1 -0
  73. package/dist/cjs/components/InputMessage/InputMessage.d.ts +17 -0
  74. package/dist/cjs/components/InputMessage/InputMessage.stories.d.ts +21 -0
  75. package/dist/cjs/components/InputMessage/InputMessage.tokens.d.ts +14 -0
  76. package/dist/cjs/components/InputMessage/index.d.ts +1 -0
  77. package/dist/cjs/components/InternalHeader/InternalHeader.d.ts +3 -0
  78. package/dist/cjs/components/InternalHeader/InternalHeader.stories.d.ts +40 -0
  79. package/dist/cjs/components/InternalHeader/InternalHeader.styles.d.ts +30 -0
  80. package/dist/cjs/components/InternalHeader/InternalHeader.tokens.d.ts +40 -0
  81. package/dist/cjs/components/InternalHeader/InternalHeader.types.d.ts +35 -0
  82. package/dist/cjs/components/InternalHeader/InternalHeaderListItem.d.ts +3 -0
  83. package/dist/cjs/components/InternalHeader/NavigationItem.d.ts +14 -0
  84. package/dist/cjs/components/InternalHeader/index.d.ts +2 -0
  85. package/dist/cjs/components/List/List.d.ts +21 -0
  86. package/dist/cjs/components/List/List.stories.d.ts +18 -0
  87. package/dist/cjs/components/List/List.tokens.d.ts +16 -0
  88. package/dist/cjs/components/List/ListItem.d.ts +3 -0
  89. package/dist/cjs/components/List/ListItem.tokens.d.ts +5 -0
  90. package/dist/cjs/components/List/index.d.ts +2 -0
  91. package/dist/cjs/components/LocalMessage/LocalMessage.d.ts +37 -0
  92. package/dist/cjs/components/LocalMessage/LocalMessage.stories.d.ts +39 -0
  93. package/dist/cjs/components/LocalMessage/LocalMessage.tokens.d.ts +100 -0
  94. package/dist/cjs/components/LocalMessage/index.d.ts +1 -0
  95. package/dist/cjs/components/Modal/Modal.d.ts +30 -0
  96. package/dist/cjs/components/Modal/Modal.stories.d.ts +28 -0
  97. package/dist/cjs/components/Modal/Modal.tokens.d.ts +19 -0
  98. package/dist/cjs/components/Modal/ModalActions.d.ts +3 -0
  99. package/dist/cjs/components/Modal/ModalBody.d.ts +14 -0
  100. package/dist/cjs/components/Modal/index.d.ts +3 -0
  101. package/dist/cjs/components/OverflowMenu/OverflowMenu.d.ts +23 -0
  102. package/dist/cjs/components/OverflowMenu/OverflowMenu.stories.d.ts +26 -0
  103. package/dist/cjs/components/OverflowMenu/OverflowMenu.tokens.d.ts +22 -0
  104. package/dist/cjs/components/OverflowMenu/OverflowMenu.types.d.ts +36 -0
  105. package/dist/cjs/components/OverflowMenu/OverflowMenuGroup.d.ts +14 -0
  106. package/dist/cjs/components/OverflowMenu/OverflowMenuItem.d.ts +24 -0
  107. package/dist/cjs/components/OverflowMenu/index.d.ts +3 -0
  108. package/dist/cjs/components/Pagination/Pagination.d.ts +52 -0
  109. package/dist/cjs/components/Pagination/Pagination.stories.d.ts +48 -0
  110. package/dist/cjs/components/Pagination/Pagination.tokens.d.ts +15 -0
  111. package/dist/cjs/components/Pagination/index.d.ts +1 -0
  112. package/dist/cjs/components/Pagination/paginationGenerator.d.ts +1 -0
  113. package/dist/cjs/components/Popover/Popover.d.ts +56 -0
  114. package/dist/cjs/components/Popover/Popover.stories.d.ts +54 -0
  115. package/dist/cjs/components/Popover/Popover.tokens.d.ts +15 -0
  116. package/dist/cjs/components/Popover/PopoverGroup.d.ts +14 -0
  117. package/dist/cjs/components/Popover/index.d.ts +2 -0
  118. package/dist/cjs/components/RadioButton/RadioButton.d.ts +16 -0
  119. package/dist/cjs/components/RadioButton/RadioButton.stories.d.ts +50 -0
  120. package/dist/cjs/components/RadioButton/RadioButton.styles.d.ts +9 -0
  121. package/dist/cjs/components/RadioButton/RadioButton.tokens.d.ts +43 -0
  122. package/dist/cjs/components/RadioButton/RadioButton.types.d.ts +12 -0
  123. package/dist/cjs/components/RadioButton/RadioButtonGroup.d.ts +29 -0
  124. package/dist/cjs/components/RadioButton/RadioButtonGroup.stories.d.ts +47 -0
  125. package/dist/cjs/components/RadioButton/RadioButtonGroup.tokens.d.ts +19 -0
  126. package/dist/cjs/components/RadioButton/RadioButtonGroupContext.d.ts +13 -0
  127. package/dist/cjs/components/RadioButton/index.d.ts +3 -0
  128. package/dist/cjs/components/Search/Search.d.ts +21 -0
  129. package/dist/cjs/components/Search/Search.stories.d.ts +29 -0
  130. package/dist/cjs/components/Search/Search.tokens.d.ts +25 -0
  131. package/dist/cjs/components/Search/index.d.ts +1 -0
  132. package/dist/cjs/components/Select/MultiSelect.stories.d.ts +74 -0
  133. package/dist/cjs/components/Select/Select.d.ts +32 -0
  134. package/dist/cjs/components/Select/Select.stories.d.ts +69 -0
  135. package/dist/cjs/components/Select/Select.styles.d.ts +19 -0
  136. package/dist/cjs/components/Select/Select.tokens.d.ts +144 -0
  137. package/dist/cjs/components/Select/index.d.ts +1 -0
  138. package/dist/cjs/components/SkipToContent/SkipToContent.d.ts +21 -0
  139. package/dist/cjs/components/SkipToContent/SkipToContent.stories.d.ts +33 -0
  140. package/dist/cjs/components/SkipToContent/SkipToContent.tokens.d.ts +19 -0
  141. package/dist/cjs/components/SkipToContent/index.d.ts +1 -0
  142. package/dist/cjs/components/Spinner/Spinner.d.ts +11 -0
  143. package/dist/cjs/components/Spinner/Spinner.stories.d.ts +21 -0
  144. package/dist/cjs/components/Spinner/Spinner.tokens.d.ts +6 -0
  145. package/dist/cjs/components/Spinner/index.d.ts +1 -0
  146. package/dist/cjs/components/Table/Body.d.ts +3 -0
  147. package/dist/cjs/components/Table/Cell.d.ts +10 -0
  148. package/dist/cjs/components/Table/Cell.tokens.d.ts +31 -0
  149. package/dist/cjs/components/Table/Foot.d.ts +3 -0
  150. package/dist/cjs/components/Table/Head.d.ts +3 -0
  151. package/dist/cjs/components/Table/Row.d.ts +23 -0
  152. package/dist/cjs/components/Table/Row.tokens.d.ts +32 -0
  153. package/dist/cjs/components/Table/SortCell.d.ts +19 -0
  154. package/dist/cjs/components/Table/Table.d.ts +14 -0
  155. package/dist/cjs/components/Table/Table.stories.d.ts +28 -0
  156. package/dist/cjs/components/Table/TableWrapper.d.ts +3 -0
  157. package/dist/cjs/components/Table/index.d.ts +8 -0
  158. package/dist/cjs/components/Table/tableData.d.ts +17 -0
  159. package/dist/cjs/components/Tabs/Tab.d.ts +37 -0
  160. package/dist/cjs/components/Tabs/TabList.d.ts +3 -0
  161. package/dist/cjs/components/Tabs/TabPanel.d.ts +14 -0
  162. package/dist/cjs/components/Tabs/TabPanels.d.ts +3 -0
  163. package/dist/cjs/components/Tabs/Tabs.context.d.ts +17 -0
  164. package/dist/cjs/components/Tabs/Tabs.d.ts +27 -0
  165. package/dist/cjs/components/Tabs/Tabs.stories.d.ts +10 -0
  166. package/dist/cjs/components/Tabs/Tabs.tokens.d.ts +38 -0
  167. package/dist/cjs/components/Tabs/index.d.ts +5 -0
  168. package/dist/cjs/components/Tag/Tag.d.ts +17 -0
  169. package/dist/cjs/components/Tag/Tag.stories.d.ts +19 -0
  170. package/dist/cjs/components/Tag/Tag.tokens.d.ts +26 -0
  171. package/dist/cjs/components/Tag/index.d.ts +1 -0
  172. package/dist/cjs/components/TextInput/CharCounter.d.ts +8 -0
  173. package/dist/cjs/components/TextInput/CharCounter.tokens.d.ts +4 -0
  174. package/dist/cjs/components/TextInput/TextInput.d.ts +10 -0
  175. package/dist/cjs/components/TextInput/TextInput.stories.d.ts +69 -0
  176. package/dist/cjs/components/TextInput/TextInput.styles.d.ts +10 -0
  177. package/dist/cjs/components/TextInput/TextInput.tokens.d.ts +54 -0
  178. package/dist/cjs/components/TextInput/TextInput.types.d.ts +8 -0
  179. package/dist/cjs/components/TextInput/index.d.ts +2 -0
  180. package/dist/cjs/components/ToggleButton/ToggleButton.d.ts +18 -0
  181. package/dist/cjs/components/ToggleButton/ToggleButton.stories.d.ts +14 -0
  182. package/dist/cjs/components/ToggleButton/ToggleButton.tokens.d.ts +22 -0
  183. package/dist/cjs/components/ToggleButton/ToggleButtonGroup.d.ts +13 -0
  184. package/dist/cjs/components/ToggleButton/ToggleButtonGroup.stories.d.ts +9 -0
  185. package/dist/cjs/components/ToggleButton/index.d.ts +2 -0
  186. package/dist/cjs/components/Tooltip/Tooltip.d.ts +32 -0
  187. package/dist/cjs/components/Tooltip/Tooltip.stories.d.ts +35 -0
  188. package/dist/cjs/components/Tooltip/Tooltip.styles.d.ts +8 -0
  189. package/dist/cjs/components/Tooltip/Tooltip.tokens.d.ts +14 -0
  190. package/dist/cjs/components/Tooltip/index.d.ts +1 -0
  191. package/dist/cjs/components/Typography/Body.stories.d.ts +11 -0
  192. package/dist/cjs/components/Typography/Examples.stories.d.ts +8 -0
  193. package/dist/cjs/components/Typography/Typography.d.ts +48 -0
  194. package/dist/cjs/components/Typography/Typography.stories.d.ts +63 -0
  195. package/dist/cjs/components/Typography/Typography.tokens.d.ts +230 -0
  196. package/dist/cjs/components/Typography/Typography.types.d.ts +13 -0
  197. package/dist/cjs/components/Typography/index.d.ts +2 -0
  198. package/dist/cjs/helpers/Backdrop/Backdrop.d.ts +5 -0
  199. package/dist/cjs/helpers/Backdrop/Backdrop.utils.d.ts +2 -0
  200. package/dist/cjs/helpers/Backdrop/index.d.ts +2 -0
  201. package/dist/cjs/helpers/Chevron/AnimatedChevronUpDown.d.ts +9 -0
  202. package/dist/cjs/helpers/Chevron/AnimatedChevronUpDown.styles.d.ts +7 -0
  203. package/dist/cjs/helpers/Chevron/index.d.ts +1 -0
  204. package/dist/cjs/helpers/Input/Input.styles.d.ts +15 -0
  205. package/dist/cjs/helpers/Input/Input.tokens.d.ts +78 -0
  206. package/dist/cjs/helpers/Input/Input.types.d.ts +20 -0
  207. package/dist/cjs/helpers/Input/index.d.ts +3 -0
  208. package/dist/cjs/helpers/Paper/Paper.d.ts +1 -0
  209. package/dist/cjs/helpers/Paper/Paper.tokens.d.ts +4 -0
  210. package/dist/cjs/helpers/Paper/index.d.ts +1 -0
  211. package/dist/cjs/helpers/RequiredMarker/RequiredMarker.d.ts +2 -0
  212. package/dist/cjs/helpers/RequiredMarker/index.d.ts +1 -0
  213. package/dist/cjs/helpers/index.d.ts +5 -0
  214. package/dist/cjs/helpers/styling/danger.d.ts +4 -0
  215. package/dist/cjs/helpers/styling/focus.d.ts +9 -0
  216. package/dist/cjs/helpers/styling/focusVisible.d.ts +37 -0
  217. package/dist/cjs/helpers/styling/hideInput.d.ts +7 -0
  218. package/dist/cjs/helpers/styling/hover.d.ts +14 -0
  219. package/dist/cjs/helpers/styling/index.d.ts +8 -0
  220. package/dist/cjs/helpers/styling/removeButtonStyling.d.ts +9 -0
  221. package/dist/cjs/helpers/styling/removeListStyling.d.ts +5 -0
  222. package/dist/cjs/helpers/styling/scrollbarStyling.d.ts +3 -0
  223. package/dist/cjs/helpers/styling/visibilityTransition.d.ts +1 -0
  224. package/dist/cjs/hooks/index.d.ts +9 -0
  225. package/dist/cjs/hooks/useCombinedRefs.d.ts +2 -0
  226. package/dist/cjs/hooks/useFloatPosition.d.ts +25 -0
  227. package/dist/cjs/hooks/useFocusTrap.d.ts +2 -0
  228. package/dist/cjs/hooks/useId.d.ts +1 -0
  229. package/dist/cjs/hooks/useMountTransition.d.ts +1 -0
  230. package/dist/cjs/hooks/useOnClickOutside.d.ts +1 -0
  231. package/dist/cjs/hooks/useOnKeyDown.d.ts +1 -0
  232. package/dist/cjs/hooks/useRoveFocus.d.ts +3 -0
  233. package/dist/cjs/hooks/useScreenSize.d.ts +8 -0
  234. package/dist/cjs/index.d.ts +34 -0
  235. package/dist/cjs/index.js +7987 -0
  236. package/dist/cjs/types/BaseComponentProps.d.ts +58 -0
  237. package/dist/cjs/types/Direction.d.ts +1 -0
  238. package/dist/cjs/types/index.d.ts +2 -0
  239. package/dist/cjs/types/utils.d.ts +8 -0
  240. package/dist/cjs/utils/color.d.ts +6 -0
  241. package/dist/cjs/utils/combineHandlers.d.ts +1 -0
  242. package/dist/cjs/utils/getScrollbarSize.d.ts +1 -0
  243. package/dist/cjs/utils/idGenerator.d.ts +3 -0
  244. package/dist/cjs/utils/index.d.ts +5 -0
  245. package/dist/cjs/utils/text.d.ts +2 -0
  246. package/dist/components/Breadcrumbs/Breadcrumb.js +34 -0
  247. package/dist/components/Breadcrumbs/Breadcrumb.tokens.js +22 -0
  248. package/dist/components/Breadcrumbs/Breadcrumbs.js +62 -0
  249. package/dist/components/Button/Button.js +90 -0
  250. package/dist/components/Button/Button.styles.js +56 -0
  251. package/dist/components/Button/Button.tokens.js +463 -0
  252. package/dist/components/Card/Card.js +54 -0
  253. package/dist/components/Card/Card.tokens.js +60 -0
  254. package/dist/components/Card/CardAccordion/CardAccordion.js +63 -0
  255. package/dist/components/Card/CardAccordion/CardAccordionBody.js +73 -0
  256. package/dist/components/Card/CardAccordion/CardAccordionBody.tokens.js +12 -0
  257. package/dist/components/Card/CardAccordion/CardAccordionHeader.js +65 -0
  258. package/dist/components/Card/CardAccordion/CardAccordionHeader.tokens.js +38 -0
  259. package/dist/components/Checkbox/Checkbox.d.ts +6 -2
  260. package/dist/components/Checkbox/Checkbox.js +68 -0
  261. package/dist/components/Checkbox/Checkbox.stories.d.ts +6 -2
  262. package/dist/components/Checkbox/Checkbox.styles.js +45 -0
  263. package/dist/components/Checkbox/Checkbox.tokens.js +129 -0
  264. package/dist/components/Checkbox/Checkbox.types.d.ts +1 -1
  265. package/dist/components/Checkbox/CheckboxGroup.js +87 -0
  266. package/dist/components/Checkbox/CheckboxGroup.tokens.js +32 -0
  267. package/dist/components/Checkbox/CheckboxGroupContext.js +8 -0
  268. package/dist/components/Chip/Chip.js +57 -0
  269. package/dist/components/Chip/Chip.tokens.js +39 -0
  270. package/dist/components/Chip/ChipGroup.js +29 -0
  271. package/dist/components/Datepicker/Datepicker.js +91 -0
  272. package/dist/components/Datepicker/Datepicker.tokens.js +25 -0
  273. package/dist/components/DescriptionList/DescriptionList.js +34 -0
  274. package/dist/components/DescriptionList/DescriptionListDesc.js +36 -0
  275. package/dist/components/DescriptionList/DescriptionListDesc.tokens.js +19 -0
  276. package/dist/components/DescriptionList/DescriptionListGroup.js +33 -0
  277. package/dist/components/DescriptionList/DescriptionListGroup.tokens.js +11 -0
  278. package/dist/components/DescriptionList/DescriptionListTerm.js +22 -0
  279. package/dist/components/DescriptionList/DescriptionListTerm.tokens.js +27 -0
  280. package/dist/components/Divider/Divider.js +31 -0
  281. package/dist/components/Divider/Divider.tokens.js +20 -0
  282. package/dist/components/Drawer/Drawer.js +121 -0
  283. package/dist/components/Drawer/Drawer.tokens.js +34 -0
  284. package/dist/components/Drawer/DrawerGroup.js +61 -0
  285. package/dist/components/GlobalMessage/GlobalMessage.js +85 -0
  286. package/dist/components/GlobalMessage/GlobalMessage.tokens.js +83 -0
  287. package/dist/components/IconWrapper/IconWrapper.js +42 -0
  288. package/dist/components/InputMessage/InputMessage.js +46 -0
  289. package/dist/components/InputMessage/InputMessage.tokens.js +30 -0
  290. package/dist/components/InternalHeader/InternalHeader.js +122 -0
  291. package/dist/components/InternalHeader/InternalHeader.styles.js +49 -0
  292. package/dist/components/InternalHeader/InternalHeader.tokens.js +93 -0
  293. package/dist/components/InternalHeader/InternalHeaderListItem.js +22 -0
  294. package/dist/components/InternalHeader/NavigationItem.js +30 -0
  295. package/dist/components/List/List.js +48 -0
  296. package/dist/components/List/List.tokens.js +37 -0
  297. package/dist/components/List/ListItem.js +22 -0
  298. package/dist/components/List/ListItem.tokens.js +12 -0
  299. package/dist/components/LocalMessage/LocalMessage.js +124 -0
  300. package/dist/components/LocalMessage/LocalMessage.tokens.js +151 -0
  301. package/dist/components/Modal/Modal.js +122 -0
  302. package/dist/components/Modal/Modal.tokens.js +45 -0
  303. package/dist/components/Modal/ModalActions.js +23 -0
  304. package/dist/components/Modal/ModalBody.js +35 -0
  305. package/dist/components/OverflowMenu/OverflowMenu.js +164 -0
  306. package/dist/components/OverflowMenu/OverflowMenu.tokens.js +55 -0
  307. package/dist/components/OverflowMenu/OverflowMenuGroup.js +64 -0
  308. package/dist/components/OverflowMenu/OverflowMenuItem.js +116 -0
  309. package/dist/components/Pagination/Pagination.js +250 -0
  310. package/dist/components/Pagination/Pagination.tokens.js +23 -0
  311. package/dist/components/Pagination/paginationGenerator.js +42 -0
  312. package/dist/components/Popover/Popover.js +104 -0
  313. package/dist/components/Popover/Popover.tokens.js +38 -0
  314. package/dist/components/Popover/PopoverGroup.js +85 -0
  315. package/dist/components/RadioButton/RadioButton.js +90 -0
  316. package/dist/components/RadioButton/RadioButton.styles.js +34 -0
  317. package/dist/components/RadioButton/RadioButton.tokens.js +97 -0
  318. package/dist/components/RadioButton/RadioButtonGroup.js +108 -0
  319. package/dist/components/RadioButton/RadioButtonGroup.tokens.js +32 -0
  320. package/dist/components/RadioButton/RadioButtonGroupContext.js +8 -0
  321. package/dist/components/Search/Search.js +93 -0
  322. package/dist/components/Search/Search.tokens.js +55 -0
  323. package/dist/components/Select/Select.js +154 -0
  324. package/dist/components/Select/Select.styles.js +149 -0
  325. package/dist/components/Select/Select.tokens.js +311 -0
  326. package/dist/components/SkipToContent/SkipToContent.js +49 -0
  327. package/dist/components/SkipToContent/SkipToContent.tokens.js +40 -0
  328. package/dist/components/Spinner/Spinner.js +80 -0
  329. package/dist/components/Spinner/Spinner.tokens.js +13 -0
  330. package/dist/components/Table/Body.js +22 -0
  331. package/dist/components/Table/Cell.js +75 -0
  332. package/dist/components/Table/Cell.tokens.js +55 -0
  333. package/dist/components/Table/Foot.js +22 -0
  334. package/dist/components/Table/Head.js +22 -0
  335. package/dist/components/Table/Row.js +43 -0
  336. package/dist/components/Table/Row.tokens.js +68 -0
  337. package/dist/components/Table/SortCell.js +60 -0
  338. package/dist/components/Table/Table.js +34 -0
  339. package/dist/components/Table/TableWrapper.js +61 -0
  340. package/dist/components/Tabs/Tab.js +102 -0
  341. package/dist/components/Tabs/TabList.js +86 -0
  342. package/dist/components/Tabs/TabPanel.js +36 -0
  343. package/dist/components/Tabs/TabPanels.js +33 -0
  344. package/dist/components/Tabs/Tabs.context.js +22 -0
  345. package/dist/components/Tabs/Tabs.js +77 -0
  346. package/dist/components/Tabs/Tabs.tokens.js +96 -0
  347. package/dist/components/Tag/Tag.js +41 -0
  348. package/dist/components/Tag/Tag.tokens.js +54 -0
  349. package/dist/components/TextInput/CharCounter.js +37 -0
  350. package/dist/components/TextInput/CharCounter.tokens.js +11 -0
  351. package/dist/components/TextInput/TextInput.d.ts +1 -0
  352. package/dist/components/TextInput/TextInput.js +139 -0
  353. package/dist/components/TextInput/TextInput.stories.d.ts +1 -0
  354. package/dist/components/TextInput/TextInput.styles.js +34 -0
  355. package/dist/components/TextInput/TextInput.tokens.js +50 -0
  356. package/dist/components/TextInput/TextInput.types.d.ts +2 -0
  357. package/dist/components/ToggleButton/ToggleButton.js +56 -0
  358. package/dist/components/ToggleButton/ToggleButton.tokens.js +53 -0
  359. package/dist/components/ToggleButton/ToggleButtonGroup.js +57 -0
  360. package/dist/components/Tooltip/Tooltip.js +117 -0
  361. package/dist/components/Tooltip/Tooltip.styles.js +26 -0
  362. package/dist/components/Tooltip/Tooltip.tokens.js +31 -0
  363. package/dist/components/Typography/Typography.d.ts +1 -0
  364. package/dist/components/Typography/Typography.js +172 -0
  365. package/dist/components/Typography/Typography.stories.d.ts +5 -0
  366. package/dist/components/Typography/Typography.tokens.js +495 -0
  367. package/dist/components/Typography/Typography.types.d.ts +1 -0
  368. package/dist/helpers/Backdrop/Backdrop.js +13 -0
  369. package/dist/helpers/Backdrop/Backdrop.utils.js +16 -0
  370. package/dist/helpers/Chevron/AnimatedChevronUpDown.js +33 -0
  371. package/dist/helpers/Chevron/AnimatedChevronUpDown.styles.js +29 -0
  372. package/dist/helpers/Input/Input.styles.js +39 -0
  373. package/dist/helpers/Input/Input.tokens.js +99 -0
  374. package/dist/helpers/Paper/Paper.js +10 -0
  375. package/dist/helpers/Paper/Paper.tokens.js +17 -0
  376. package/dist/helpers/RequiredMarker/RequiredMarker.js +15 -0
  377. package/dist/helpers/styling/danger.js +9 -0
  378. package/dist/helpers/styling/focus.js +15 -0
  379. package/dist/helpers/styling/focusVisible.js +43 -0
  380. package/dist/helpers/styling/hideInput.js +9 -0
  381. package/dist/helpers/styling/hover.js +20 -0
  382. package/dist/helpers/styling/removeButtonStyling.js +11 -0
  383. package/dist/helpers/styling/removeListStyling.js +7 -0
  384. package/dist/helpers/styling/scrollbarStyling.js +8 -0
  385. package/dist/helpers/styling/visibilityTransition.js +7 -0
  386. package/dist/hooks/useCombinedRefs.js +16 -0
  387. package/dist/hooks/useFloatPosition.d.ts +2 -2
  388. package/dist/hooks/useFloatPosition.js +100 -0
  389. package/dist/hooks/useFocusTrap.js +37 -0
  390. package/dist/hooks/useId.js +15 -0
  391. package/dist/hooks/useMountTransition.js +24 -0
  392. package/dist/hooks/useOnClickOutside.js +29 -0
  393. package/dist/hooks/useOnKeyDown.js +20 -0
  394. package/dist/hooks/useRoveFocus.js +40 -0
  395. package/dist/index.js +60 -33989
  396. package/dist/types/BaseComponentProps.js +72 -0
  397. package/dist/utils/color.js +9 -0
  398. package/dist/utils/combineHandlers.js +10 -0
  399. package/dist/utils/idGenerator.d.ts +1 -1
  400. package/dist/utils/idGenerator.js +19 -0
  401. package/dist/utils/text.js +5 -0
  402. package/package.json +18 -12
  403. package/dist/index.es.js +0 -33899
@@ -0,0 +1,43 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import styled, { css } from 'styled-components';
5
+ import { rowTokens } from './Row.tokens.js';
6
+
7
+ var bodyStyles = function bodyStyles(mode, selected) {
8
+ return css(["", " ", ""], mode && css(["", ""], rowTokens.body.mode[mode].base), selected && css(["", ""], rowTokens.body.selected.base));
9
+ };
10
+
11
+ var StyledRow = styled.tr.withConfig({
12
+ displayName: "Row__StyledRow",
13
+ componentId: "sc-15vvjkk-0"
14
+ })(["@media (prefers-reduced-motion:no-preference){transition:background-color 0.2s,border-color 0.2s,box-shadow 0.2s;}", " ", ""], function (_ref) {
15
+ var type = _ref.type;
16
+ return type && css(["", ""], rowTokens[type].base);
17
+ }, function (_ref2) {
18
+ var type = _ref2.type,
19
+ mode = _ref2.mode,
20
+ selected = _ref2.selected,
21
+ hoverable = _ref2.hoverable;
22
+ return type === 'body' && css(["&:nth-of-type(even){", " ", "}&:nth-of-type(odd){", " ", "}", " &:focus-visible,&.focus-visible{", "}"], rowTokens.body.even.base, bodyStyles(mode, selected), rowTokens.body.odd.base, bodyStyles(mode, selected), hoverable && css(["&:hover{", "}"], rowTokens.body.hover.base), rowTokens.body.focus.base);
23
+ });
24
+ var Row = /*#__PURE__*/forwardRef(function (_a, ref) {
25
+ var _a$type = _a.type,
26
+ type = _a$type === void 0 ? 'body' : _a$type,
27
+ _a$mode = _a.mode,
28
+ mode = _a$mode === void 0 ? 'normal' : _a$mode,
29
+ children = _a.children,
30
+ rest = __rest(_a, ["type", "mode", "children"]);
31
+
32
+ var rowProps = Object.assign({
33
+ type: type,
34
+ mode: mode
35
+ }, rest);
36
+ return jsx(StyledRow, Object.assign({
37
+ ref: ref
38
+ }, rowProps, {
39
+ children: children
40
+ }));
41
+ });
42
+
43
+ export { Row };
@@ -0,0 +1,68 @@
1
+ import { ddsBaseTokens, ddsReferenceTokens } from '@norges-domstoler/dds-design-tokens';
2
+ import { focusVisibleInset } from '../../helpers/styling/focusVisible.js';
3
+
4
+ var Colors = ddsBaseTokens.colors,
5
+ FontPackages = ddsBaseTokens.fontPackages,
6
+ Border = ddsBaseTokens.border;
7
+ var textDefault = ddsReferenceTokens.textDefault;
8
+ var bodyRowBase = Object.assign({
9
+ color: textDefault.textColor
10
+ }, FontPackages.body_sans_02.base);
11
+ var headRowBase = Object.assign(Object.assign({
12
+ color: textDefault.textColor
13
+ }, FontPackages.body_sans_02.base), {
14
+ fontWeight: 600,
15
+ textAlign: 'left'
16
+ });
17
+ var bodyOddBase = {
18
+ backgroundColor: Colors.DdsColorNeutralsWhite
19
+ };
20
+ var bodyEvenBase = {
21
+ backgroundColor: Colors.DdsColorNeutralsGray1
22
+ };
23
+ var bodySelectedBase = {
24
+ backgroundColor: Colors.DdsColorSecondaryLightest
25
+ };
26
+ var bodyHoverBase = {
27
+ backgroundColor: Colors.DdsColorSecondaryLightest
28
+ };
29
+ var bodyFocusBase = Object.assign({}, focusVisibleInset);
30
+ var bodySumBase = Object.assign(Object.assign({}, FontPackages.body_sans_02.base), {
31
+ fontWeight: 600,
32
+ borderTop: "".concat(Border.BordersDdsBorderStyleLightStrokeWeight, " solid ").concat(Colors.DdsColorNeutralsGray4),
33
+ borderBottom: "".concat(Border.BordersDdsBorderStyleLightStrokeWeight, " solid ").concat(Colors.DdsColorNeutralsGray4),
34
+ backgroundColor: Colors.DdsColorNeutralsWhite
35
+ });
36
+ var rowTokens = {
37
+ head: {
38
+ base: headRowBase
39
+ },
40
+ body: {
41
+ base: bodyRowBase,
42
+ odd: {
43
+ base: bodyOddBase
44
+ },
45
+ even: {
46
+ base: bodyEvenBase
47
+ },
48
+ selected: {
49
+ base: bodySelectedBase
50
+ },
51
+ hover: {
52
+ base: bodyHoverBase
53
+ },
54
+ focus: {
55
+ base: bodyFocusBase
56
+ },
57
+ mode: {
58
+ sum: {
59
+ base: bodySumBase
60
+ },
61
+ normal: {
62
+ base: {}
63
+ }
64
+ }
65
+ }
66
+ };
67
+
68
+ export { rowTokens };
@@ -0,0 +1,60 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { Cell } from './Cell.js';
5
+ import { cellTokens } from './Cell.tokens.js';
6
+ import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
7
+ import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
8
+ import UnfoldMoreIcon from '@mui/icons-material/UnfoldMore';
9
+ import styled from 'styled-components';
10
+ import { removeButtonStyling } from '../../helpers/styling/removeButtonStyling.js';
11
+ import { IconWrapper } from '../IconWrapper/IconWrapper.js';
12
+
13
+ var SortIconWrapper = styled(IconWrapper).withConfig({
14
+ displayName: "SortCell__SortIconWrapper",
15
+ componentId: "sc-1l3jzvh-0"
16
+ })(["", ""], cellTokens.head.sortCell.icon.base);
17
+ var StyledButton = styled.button.withConfig({
18
+ displayName: "SortCell__StyledButton",
19
+ componentId: "sc-1l3jzvh-1"
20
+ })(["", " display:flex;align-items:center;&:focus-visible{", "}"], removeButtonStyling, cellTokens.head.sortCell.focus.base);
21
+
22
+ var makeSortIcon = function makeSortIcon(isSorted, sortOrder) {
23
+ if (!isSorted || !sortOrder) {
24
+ return jsx(SortIconWrapper, {
25
+ Icon: UnfoldMoreIcon,
26
+ iconSize: "inline"
27
+ });
28
+ }
29
+
30
+ return sortOrder === 'ascending' ? jsx(SortIconWrapper, {
31
+ Icon: KeyboardArrowDownIcon,
32
+ iconSize: "inline"
33
+ }) : jsx(SortIconWrapper, {
34
+ Icon: KeyboardArrowUpIcon,
35
+ iconSize: "inline"
36
+ });
37
+ };
38
+
39
+ var SortCell = /*#__PURE__*/forwardRef(function (_a, ref) {
40
+ var isSorted = _a.isSorted,
41
+ sortOrder = _a.sortOrder,
42
+ onClick = _a.onClick,
43
+ children = _a.children,
44
+ rest = __rest(_a, ["isSorted", "sortOrder", "onClick", "children"]);
45
+
46
+ return jsx(Cell, Object.assign({
47
+ ref: ref,
48
+ type: "head",
49
+ "aria-sort": isSorted && sortOrder ? sortOrder : undefined
50
+ }, rest, {
51
+ children: jsxs(StyledButton, Object.assign({
52
+ onClick: onClick,
53
+ "aria-description": "Aktiver for \xE5 endre sorteringsrekkef\xF8lge"
54
+ }, {
55
+ children: [children, " ", makeSortIcon(isSorted, sortOrder)]
56
+ }))
57
+ }));
58
+ });
59
+
60
+ export { SortCell };
@@ -0,0 +1,34 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import styled, { css } from 'styled-components';
5
+ import { cellTokens } from './Cell.tokens.js';
6
+ import { typographyTokens } from '../Typography/Typography.tokens.js';
7
+ import { scrollbarStyling } from '../../helpers/styling/scrollbarStyling.js';
8
+
9
+ var StyledTable = styled.table.withConfig({
10
+ displayName: "Table__StyledTable",
11
+ componentId: "sc-bw0w0a-0"
12
+ })(["border-spacing:0;border-collapse:collapse;*::selection{", "}", " ", " ", ""], typographyTokens.selection.base, scrollbarStyling, function (_ref) {
13
+ var density = _ref.density;
14
+ return density && css(["td,th{", "}"], cellTokens.density[density].base);
15
+ }, function (_ref2) {
16
+ var stickyHeader = _ref2.stickyHeader;
17
+ return stickyHeader && css(["tr[type='head']{th[type='head']{position:sticky;top:0;}}"]);
18
+ });
19
+ var Table = /*#__PURE__*/forwardRef(function (_a, ref) {
20
+ var _a$density = _a.density,
21
+ density = _a$density === void 0 ? 'normal' : _a$density,
22
+ children = _a.children,
23
+ rest = __rest(_a, ["density", "children"]);
24
+
25
+ var tableProps = Object.assign({
26
+ ref: ref,
27
+ density: density
28
+ }, rest);
29
+ return jsx(StyledTable, Object.assign({}, tableProps, {
30
+ children: children
31
+ }));
32
+ });
33
+
34
+ export { Table };
@@ -0,0 +1,61 @@
1
+ import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __rest } from 'tslib';
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { useState, useRef, useEffect } from 'react';
5
+ import styled, { css } from 'styled-components';
6
+ import { scrollbarStyling } from '../../helpers/styling/scrollbarStyling.js';
7
+
8
+ var Wrapper = styled.div.withConfig({
9
+ displayName: "TableWrapper__Wrapper",
10
+ componentId: "sc-eb384b-0"
11
+ })(["", " ", ""], function (_ref) {
12
+ var overflowX = _ref.overflowX;
13
+ return overflowX && css(["overflow-x:auto;"]);
14
+ }, scrollbarStyling);
15
+ var TableWrapper = function TableWrapper(_a) {
16
+ var children = _a.children,
17
+ rest = __rest(_a, ["children"]);
18
+
19
+ var _useState = useState(false),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ overflowX = _useState2[0],
22
+ setOverflowX = _useState2[1];
23
+
24
+ var _useState3 = useState(window.innerWidth),
25
+ _useState4 = _slicedToArray(_useState3, 2),
26
+ windowWidth = _useState4[0],
27
+ setWindowWidth = _useState4[1];
28
+
29
+ function isOverflowingX(event) {
30
+ return event.offsetWidth < event.scrollWidth;
31
+ }
32
+
33
+ var wrapperRef = useRef(null);
34
+ useEffect(function () {
35
+ if (wrapperRef && wrapperRef.current && isOverflowingX(wrapperRef.current)) {
36
+ setOverflowX(true);
37
+ return;
38
+ }
39
+
40
+ setOverflowX(false);
41
+ }, [windowWidth]);
42
+ useEffect(function () {
43
+ function handleResize() {
44
+ setWindowWidth(window.innerWidth);
45
+ }
46
+
47
+ window.addEventListener('resize', handleResize);
48
+ return function () {
49
+ return window.removeEventListener('resize', handleResize);
50
+ };
51
+ });
52
+ var wrapperProps = Object.assign({
53
+ ref: wrapperRef,
54
+ overflowX: overflowX
55
+ }, rest);
56
+ return jsx(Wrapper, Object.assign({}, wrapperProps, {
57
+ children: children
58
+ }));
59
+ };
60
+
61
+ export { TableWrapper };
@@ -0,0 +1,102 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useRef, useEffect, useCallback } from 'react';
4
+ import styled, { css } from 'styled-components';
5
+ import { tabsTokens } from './Tabs.tokens.js';
6
+ import { useTabsContext } from './Tabs.context.js';
7
+ import { focusVisibleTransitionValue } from '../../helpers/styling/focusVisible.js';
8
+ import { useCombinedRef } from '../../hooks/useCombinedRefs.js';
9
+ import { useOnKeyDown } from '../../hooks/useOnKeyDown.js';
10
+ import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
11
+ import { IconWrapper } from '../IconWrapper/IconWrapper.js';
12
+
13
+ var Button = styled.button.withConfig({
14
+ displayName: "Tab__Button",
15
+ componentId: "sc-1dd8soq-0"
16
+ })(["@media (prefers-reduced-motion:no-preference){transition:box-shadow 0.2s,border-bottom 0.2s,color 0.2s,", ";}", " width:", ";", ";", " &:focus-visible{", "}&:hover{", "}"], focusVisibleTransitionValue, tabsTokens.tab.base, function (_ref) {
17
+ var width = _ref.width;
18
+ return width;
19
+ }, function (_ref2) {
20
+ var direction = _ref2.direction;
21
+ return tabsTokens.tab.direction[direction].base;
22
+ }, function (_ref3) {
23
+ var active = _ref3.active;
24
+ return active && css(["", ""], tabsTokens.tab.active.base);
25
+ }, tabsTokens.tab.focus.base, tabsTokens.tab.hover.base);
26
+ var Tab = /*#__PURE__*/forwardRef(function (props, ref) {
27
+ var _props$active = props.active,
28
+ active = _props$active === void 0 ? false : _props$active,
29
+ width = props.width,
30
+ Icon = props.Icon,
31
+ children = props.children,
32
+ focus = props.focus,
33
+ setFocus = props.setFocus,
34
+ index = props.index,
35
+ onClick = props.onClick,
36
+ onKeyDown = props.onKeyDown,
37
+ id = props.id,
38
+ className = props.className,
39
+ htmlProps = props.htmlProps,
40
+ rest = __rest(props, ["active", "width", "Icon", "children", "focus", "setFocus", "index", "onClick", "onKeyDown", "id", "className", "htmlProps"]);
41
+
42
+ var itemRef = useRef(null);
43
+ var combinedRef = useCombinedRef(ref, itemRef);
44
+
45
+ var _useTabsContext = useTabsContext(),
46
+ tabPanelsRef = _useTabsContext.tabPanelsRef,
47
+ setHasTabFocus = _useTabsContext.setHasTabFocus,
48
+ tabContentDirection = _useTabsContext.tabContentDirection,
49
+ tabWidth = _useTabsContext.tabWidth;
50
+
51
+ useEffect(function () {
52
+ var _a;
53
+
54
+ if (focus) {
55
+ (_a = itemRef.current) === null || _a === void 0 ? void 0 : _a.focus();
56
+ setHasTabFocus(true);
57
+ }
58
+ }, [focus]);
59
+ useOnKeyDown('Tab', function () {
60
+ var _a;
61
+
62
+ setHasTabFocus(false);
63
+ (_a = tabPanelsRef === null || tabPanelsRef === void 0 ? void 0 : tabPanelsRef.current) === null || _a === void 0 ? void 0 : _a.focus();
64
+ });
65
+ var handleSelect = useCallback(function () {
66
+ if (setFocus && index) {
67
+ setFocus(index);
68
+ }
69
+ }, [index, setFocus]);
70
+
71
+ var handleOnClick = function handleOnClick(e) {
72
+ handleSelect();
73
+ onClick && onClick(e);
74
+ };
75
+
76
+ var handleOnKeyDown = function handleOnKeyDown(e) {
77
+ handleSelect();
78
+ onKeyDown && onKeyDown(e);
79
+ };
80
+
81
+ var buttonProps = Object.assign(Object.assign({}, getBaseHTMLProps(id, className, htmlProps, rest)), {
82
+ ref: combinedRef,
83
+ 'aria-selected': active,
84
+ role: 'tab',
85
+ active: active,
86
+ width: width !== null && width !== void 0 ? width : tabWidth,
87
+ direction: tabContentDirection,
88
+ onClick: handleOnClick,
89
+ onKeyDown: handleOnKeyDown,
90
+ tabIndex: focus ? 0 : -1
91
+ });
92
+ return jsxs(Button, Object.assign({}, buttonProps, {
93
+ children: [Icon && jsx(IconWrapper, {
94
+ Icon: Icon,
95
+ iconSize: "inline"
96
+ }), jsx("span", {
97
+ children: children
98
+ })]
99
+ }));
100
+ });
101
+
102
+ export { Tab };
@@ -0,0 +1,86 @@
1
+ import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __rest } from 'tslib';
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { forwardRef, useState, Children, isValidElement, cloneElement } from 'react';
5
+ import styled from 'styled-components';
6
+ import { tabsTokens } from './Tabs.tokens.js';
7
+ import { useTabsContext } from './Tabs.context.js';
8
+ import { scrollbarStyling } from '../../helpers/styling/scrollbarStyling.js';
9
+ import { useRoveFocus } from '../../hooks/useRoveFocus.js';
10
+ import { useCombinedRef } from '../../hooks/useCombinedRefs.js';
11
+ import { useOnKeyDown } from '../../hooks/useOnKeyDown.js';
12
+ import { useOnClickOutside } from '../../hooks/useOnClickOutside.js';
13
+
14
+ var TabRow = styled.div.withConfig({
15
+ displayName: "TabList__TabRow",
16
+ componentId: "sc-1ldr0lz-0"
17
+ })(["", " ", " scroll-snap-type:x mandatory;@media (prefers-reduced-motion:no-preference){scroll-behavior:smooth;}&:focus-visible{", "}&:focus-visible button{outline:none;}"], tabsTokens.tabList.base, scrollbarStyling, tabsTokens.tabList.focus.base);
18
+ var TabList = /*#__PURE__*/forwardRef(function (_a, ref) {
19
+ var children = _a.children,
20
+ id = _a.id,
21
+ onFocus = _a.onFocus,
22
+ rest = __rest(_a, ["children", "id", "onFocus"]);
23
+
24
+ var _useTabsContext = useTabsContext(),
25
+ activeTab = _useTabsContext.activeTab,
26
+ tabsId = _useTabsContext.tabsId,
27
+ handleTabChange = _useTabsContext.handleTabChange,
28
+ tabListRef = _useTabsContext.tabListRef,
29
+ hasTabFocus = _useTabsContext.hasTabFocus,
30
+ tabPanelsRef = _useTabsContext.tabPanelsRef,
31
+ setHasTabFocus = _useTabsContext.setHasTabFocus;
32
+
33
+ var _useState = useState(id !== null && id !== void 0 ? id : "".concat(tabsId, "-tablist")),
34
+ _useState2 = _slicedToArray(_useState, 1),
35
+ uniqueId = _useState2[0];
36
+
37
+ var childrenArray = Children.toArray(children).length;
38
+
39
+ var _useRoveFocus = useRoveFocus(childrenArray, !hasTabFocus, 'row'),
40
+ _useRoveFocus2 = _slicedToArray(_useRoveFocus, 2),
41
+ focus = _useRoveFocus2[0],
42
+ setFocus = _useRoveFocus2[1];
43
+
44
+ var combinedRef = useCombinedRef(ref, tabListRef);
45
+ var tabListChildren = Children.map(children, function (child, index) {
46
+ return /*#__PURE__*/isValidElement(child) && /*#__PURE__*/cloneElement(child, {
47
+ id: "".concat(tabsId, "-tab-").concat(index),
48
+ 'aria-controls': "".concat(tabsId, "-panel-").concat(index),
49
+ active: activeTab === index,
50
+ index: index,
51
+ focus: focus === index && hasTabFocus,
52
+ setFocus: setFocus,
53
+ onClick: function onClick() {
54
+ return handleTabChange(index);
55
+ }
56
+ });
57
+ });
58
+ useOnKeyDown('Tab', function () {
59
+ var _a;
60
+
61
+ setHasTabFocus(false);
62
+ (_a = tabPanelsRef === null || tabPanelsRef === void 0 ? void 0 : tabPanelsRef.current) === null || _a === void 0 ? void 0 : _a.focus();
63
+ });
64
+ useOnClickOutside((tabListRef === null || tabListRef === void 0 ? void 0 : tabListRef.current) || null, function () {
65
+ setHasTabFocus(false);
66
+ });
67
+
68
+ var handleOnFocus = function handleOnFocus(event) {
69
+ setHasTabFocus(true);
70
+ onFocus && onFocus(event);
71
+ };
72
+
73
+ var tabListProps = Object.assign(Object.assign({}, rest), {
74
+ ref: combinedRef,
75
+ role: 'tablist',
76
+ 'aria-label': 'Bruk venste og høyre piltast for å bla',
77
+ id: uniqueId,
78
+ tabIndex: 0,
79
+ onFocus: handleOnFocus
80
+ });
81
+ return jsx(TabRow, Object.assign({}, tabListProps, {
82
+ children: tabListChildren
83
+ }));
84
+ });
85
+
86
+ export { TabList };
@@ -0,0 +1,36 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import styled, { css } from 'styled-components';
5
+ import { tabsTokens } from './Tabs.tokens.js';
6
+ import { focusVisibleTransitionValue } from '../../helpers/styling/focusVisible.js';
7
+ import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
8
+
9
+ var Panel = styled.div.withConfig({
10
+ displayName: "TabPanel__Panel",
11
+ componentId: "sc-vkzivq-0"
12
+ })(["@media (prefers-reduced-motion:no-preference){transition:", ";}", " ", " &:focus-visible{", "}"], focusVisibleTransitionValue, tabsTokens.panel.base, function (_ref) {
13
+ var active = _ref.active;
14
+ return !active && css(["display:none;"]);
15
+ }, tabsTokens.panel.focusVisible.base);
16
+ var TabPanel = /*#__PURE__*/forwardRef(function (_a, ref) {
17
+ var _a$active = _a.active,
18
+ active = _a$active === void 0 ? false : _a$active,
19
+ children = _a.children,
20
+ id = _a.id,
21
+ className = _a.className,
22
+ htmlProps = _a.htmlProps,
23
+ rest = __rest(_a, ["active", "children", "id", "className", "htmlProps"]);
24
+
25
+ var panelProps = Object.assign(Object.assign({}, getBaseHTMLProps(id, className, htmlProps, rest)), {
26
+ ref: ref,
27
+ tabIndex: 0,
28
+ role: 'tabpanel',
29
+ active: active
30
+ });
31
+ return jsx(Panel, Object.assign({}, panelProps, {
32
+ children: children
33
+ }));
34
+ });
35
+
36
+ export { TabPanel };
@@ -0,0 +1,33 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, Children, isValidElement, cloneElement } from 'react';
4
+ import { useTabsContext } from './Tabs.context.js';
5
+ import { useCombinedRef } from '../../hooks/useCombinedRefs.js';
6
+
7
+ var TabPanels = /*#__PURE__*/forwardRef(function (_a, ref) {
8
+ var children = _a.children,
9
+ rest = __rest(_a, ["children"]);
10
+
11
+ var _useTabsContext = useTabsContext(),
12
+ activeTab = _useTabsContext.activeTab,
13
+ tabsId = _useTabsContext.tabsId,
14
+ tabPanelsRef = _useTabsContext.tabPanelsRef;
15
+
16
+ var combinedRef = useCombinedRef(ref, tabPanelsRef);
17
+ var panelChildren = Children.map(children, function (child, index) {
18
+ var active = index === activeTab;
19
+ return /*#__PURE__*/isValidElement(child) && /*#__PURE__*/cloneElement(child, {
20
+ id: "".concat(tabsId, "-panel-").concat(index),
21
+ 'aria-labelledby': "".concat(tabsId, "-tab-").concat(index),
22
+ active: active,
23
+ 'aria-expanded': active
24
+ });
25
+ });
26
+ return jsx("div", Object.assign({
27
+ ref: combinedRef
28
+ }, rest, {
29
+ children: panelChildren
30
+ }));
31
+ });
32
+
33
+ export { TabPanels };
@@ -0,0 +1,22 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ var TabsContext = /*#__PURE__*/createContext({
4
+ activeTab: 0,
5
+ tabsId: '',
6
+ handleTabChange: function handleTabChange() {
7
+ return null;
8
+ },
9
+ tabListRef: null,
10
+ tabPanelsRef: null,
11
+ hasTabFocus: false,
12
+ setHasTabFocus: function setHasTabFocus() {
13
+ return null;
14
+ },
15
+ tabContentDirection: 'row',
16
+ tabWidth: '150px'
17
+ });
18
+ var useTabsContext = function useTabsContext() {
19
+ return useContext(TabsContext);
20
+ };
21
+
22
+ export { TabsContext, useTabsContext };
@@ -0,0 +1,77 @@
1
+ import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __rest } from 'tslib';
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { forwardRef, useState, useRef, useEffect } from 'react';
5
+ import styled from 'styled-components';
6
+ import { TabsContext } from './Tabs.context.js';
7
+ import { getBaseHTMLProps } from '../../types/BaseComponentProps.js';
8
+
9
+ var Container = styled.div.withConfig({
10
+ displayName: "Tabs__Container",
11
+ componentId: "sc-7ta5g2-0"
12
+ })([""]);
13
+ var nextUniqueId = 0;
14
+ var Tabs = /*#__PURE__*/forwardRef(function (props, ref) {
15
+ var id = props.id,
16
+ _props$activeTab = props.activeTab,
17
+ activeTab = _props$activeTab === void 0 ? 0 : _props$activeTab,
18
+ onChange = props.onChange,
19
+ _props$tabContentDire = props.tabContentDirection,
20
+ tabContentDirection = _props$tabContentDire === void 0 ? 'row' : _props$tabContentDire,
21
+ _props$tabWidth = props.tabWidth,
22
+ tabWidth = _props$tabWidth === void 0 ? '150px' : _props$tabWidth,
23
+ children = props.children,
24
+ className = props.className,
25
+ htmlProps = props.htmlProps,
26
+ rest = __rest(props, ["id", "activeTab", "onChange", "tabContentDirection", "tabWidth", "children", "className", "htmlProps"]);
27
+
28
+ var _useState = useState(id !== null && id !== void 0 ? id : "tabs-".concat(nextUniqueId++)),
29
+ _useState2 = _slicedToArray(_useState, 1),
30
+ uniqueId = _useState2[0];
31
+
32
+ var _useState3 = useState(activeTab),
33
+ _useState4 = _slicedToArray(_useState3, 2),
34
+ thisActiveTab = _useState4[0],
35
+ setActiveTab = _useState4[1];
36
+
37
+ var _useState5 = useState(false),
38
+ _useState6 = _slicedToArray(_useState5, 2),
39
+ hasTabFocus = _useState6[0],
40
+ setHasTabFocus = _useState6[1];
41
+
42
+ var tabListRef = useRef(null);
43
+ var tabPanelsRef = useRef(null);
44
+
45
+ var handleTabChange = function handleTabChange(index) {
46
+ setActiveTab(index);
47
+ onChange && onChange(index);
48
+ };
49
+
50
+ useEffect(function () {
51
+ if (activeTab && activeTab != thisActiveTab) {
52
+ setActiveTab(activeTab);
53
+ }
54
+ }, [activeTab, thisActiveTab]);
55
+ var containerProps = Object.assign(Object.assign({}, getBaseHTMLProps(uniqueId, className, htmlProps, rest)), {
56
+ ref: ref
57
+ });
58
+ return jsx(TabsContext.Provider, Object.assign({
59
+ value: {
60
+ tabsId: uniqueId,
61
+ activeTab: thisActiveTab,
62
+ handleTabChange: handleTabChange,
63
+ tabListRef: tabListRef,
64
+ tabPanelsRef: tabPanelsRef,
65
+ hasTabFocus: hasTabFocus,
66
+ setHasTabFocus: setHasTabFocus,
67
+ tabContentDirection: tabContentDirection,
68
+ tabWidth: tabWidth
69
+ }
70
+ }, {
71
+ children: jsx(Container, Object.assign({}, containerProps, {
72
+ children: children
73
+ }))
74
+ }));
75
+ });
76
+
77
+ export { Tabs };