@fremtind/jokul 0.7.0 → 0.8.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 (250) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/card/Card.js +1 -1
  3. package/build/cjs/components/card/Card.js.map +1 -1
  4. package/build/cjs/components/card/CardImage.js +1 -1
  5. package/build/cjs/components/card/CardImage.js.map +1 -1
  6. package/build/cjs/components/card/index.js +1 -1
  7. package/build/cjs/components/icon/Icon.js.map +1 -1
  8. package/build/cjs/components/index.js +1 -1
  9. package/build/cjs/components/link/Link.js.map +1 -1
  10. package/build/cjs/components/link/NavLink.js.map +1 -1
  11. package/build/cjs/components/link-list/LinkList.js.map +1 -1
  12. package/build/cjs/core/index.js +1 -1
  13. package/build/cjs/core/tokens.js +1 -1
  14. package/build/cjs/core/tokens.js.map +1 -1
  15. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.js +1 -1
  16. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -1
  17. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.js +1 -1
  18. package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -1
  19. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.js +1 -1
  20. package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -1
  21. package/build/cjs/hooks/useScreen/useScreen.js +1 -1
  22. package/build/cjs/hooks/useScreen/useScreen.js.map +1 -1
  23. package/build/cjs/index.js +1 -1
  24. package/build/cjs/utilities/constants/index.js +2 -0
  25. package/build/cjs/utilities/constants/unicode.js +2 -0
  26. package/build/cjs/utilities/constants/unicode.js.map +1 -0
  27. package/build/cjs/utilities/formatters/avstand/formatAvstand.js +2 -0
  28. package/build/cjs/utilities/formatters/avstand/formatAvstand.js.map +1 -0
  29. package/build/cjs/utilities/formatters/bytes/formatBytes.js +2 -0
  30. package/build/cjs/utilities/formatters/bytes/formatBytes.js.map +1 -0
  31. package/build/cjs/utilities/formatters/date/formatDate.js +2 -0
  32. package/build/cjs/utilities/formatters/date/formatDate.js.map +1 -0
  33. package/build/cjs/utilities/formatters/fodselsnummer/formatFodselsnummer.js +2 -0
  34. package/build/cjs/utilities/formatters/fodselsnummer/formatFodselsnummer.js.map +1 -0
  35. package/build/cjs/utilities/formatters/index.js +2 -0
  36. package/build/cjs/utilities/formatters/kontonummer/formatKontonummer.js +2 -0
  37. package/build/cjs/utilities/formatters/kontonummer/formatKontonummer.js.map +1 -0
  38. package/build/cjs/utilities/formatters/kortnummer/formatKortnummer.js +2 -0
  39. package/build/cjs/utilities/formatters/kortnummer/formatKortnummer.js.map +1 -0
  40. package/build/cjs/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js +2 -0
  41. package/build/cjs/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js.map +1 -0
  42. package/build/cjs/utilities/formatters/telefonnummer/formatTelefonnummer.js +2 -0
  43. package/build/cjs/utilities/formatters/telefonnummer/formatTelefonnummer.js.map +1 -0
  44. package/build/cjs/utilities/formatters/util/formatNumber.js +2 -0
  45. package/build/cjs/utilities/formatters/util/formatNumber.js.map +1 -0
  46. package/build/cjs/utilities/formatters/util/parseNumber.js +2 -0
  47. package/build/cjs/utilities/formatters/util/parseNumber.js.map +1 -0
  48. package/build/cjs/utilities/formatters/util/registerWithMask.js +2 -0
  49. package/build/cjs/utilities/formatters/util/registerWithMask.js.map +1 -0
  50. package/build/cjs/utilities/formatters/valuta/formatValuta.js +2 -0
  51. package/build/cjs/utilities/formatters/valuta/formatValuta.js.map +1 -0
  52. package/build/cjs/utilities/index.js +2 -0
  53. package/build/cjs/utilities/index.js.map +1 -0
  54. package/build/cjs/utilities/polymorphism/SlotComponent.js +2 -0
  55. package/build/cjs/utilities/polymorphism/SlotComponent.js.map +1 -0
  56. package/build/cjs/utilities/polymorphism/index.js +2 -0
  57. package/build/cjs/utilities/polymorphism/index.js.map +1 -0
  58. package/build/cjs/utilities/polymorphism/mergeProps.js.map +1 -0
  59. package/build/cjs/utilities/polymorphism/mergeRefs.js.map +1 -0
  60. package/build/cjs/utilities/tabListener.js.map +1 -0
  61. package/build/cjs/{core/utils/getValuePair.js → utilities/valuePair.js} +1 -1
  62. package/build/cjs/utilities/valuePair.js.map +1 -0
  63. package/build/components/card/Card.d.ts +1 -1
  64. package/build/components/card/CardImage.d.ts +1 -1
  65. package/build/components/icon/Icon.d.ts +1 -1
  66. package/build/components/index.d.ts +0 -1
  67. package/build/components/link/Link.d.ts +1 -1
  68. package/build/components/link/NavLink.d.ts +1 -1
  69. package/build/components/link-list/LinkList.d.ts +1 -1
  70. package/build/core/index.d.ts +1 -6
  71. package/build/core/tokens.d.ts +22 -1
  72. package/build/core/types.d.ts +4 -5
  73. package/build/es/components/card/Card.js +1 -1
  74. package/build/es/components/card/Card.js.map +1 -1
  75. package/build/es/components/card/CardImage.js +1 -1
  76. package/build/es/components/card/CardImage.js.map +1 -1
  77. package/build/es/components/card/index.js +1 -1
  78. package/build/es/components/icon/Icon.js.map +1 -1
  79. package/build/es/components/index.js +1 -1
  80. package/build/es/components/link/Link.js.map +1 -1
  81. package/build/es/components/link/NavLink.js.map +1 -1
  82. package/build/es/components/link-list/LinkList.js.map +1 -1
  83. package/build/es/core/index.js +1 -1
  84. package/build/es/core/tokens.js +1 -1
  85. package/build/es/core/tokens.js.map +1 -1
  86. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js +1 -1
  87. package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -1
  88. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js +1 -1
  89. package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -1
  90. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js +1 -1
  91. package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -1
  92. package/build/es/hooks/useScreen/useScreen.js +1 -1
  93. package/build/es/hooks/useScreen/useScreen.js.map +1 -1
  94. package/build/es/index.js +1 -1
  95. package/build/es/utilities/constants/index.js +2 -0
  96. package/build/es/utilities/constants/index.js.map +1 -0
  97. package/build/es/utilities/constants/unicode.js +2 -0
  98. package/build/es/utilities/constants/unicode.js.map +1 -0
  99. package/build/es/utilities/formatters/avstand/formatAvstand.js +2 -0
  100. package/build/es/utilities/formatters/avstand/formatAvstand.js.map +1 -0
  101. package/build/es/utilities/formatters/bytes/formatBytes.js +2 -0
  102. package/build/es/utilities/formatters/bytes/formatBytes.js.map +1 -0
  103. package/build/es/utilities/formatters/date/formatDate.js +2 -0
  104. package/build/es/utilities/formatters/date/formatDate.js.map +1 -0
  105. package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js +2 -0
  106. package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js.map +1 -0
  107. package/build/es/utilities/formatters/index.js +2 -0
  108. package/build/es/utilities/formatters/index.js.map +1 -0
  109. package/build/es/utilities/formatters/kontonummer/formatKontonummer.js +2 -0
  110. package/build/es/utilities/formatters/kontonummer/formatKontonummer.js.map +1 -0
  111. package/build/es/utilities/formatters/kortnummer/formatKortnummer.js +2 -0
  112. package/build/es/utilities/formatters/kortnummer/formatKortnummer.js.map +1 -0
  113. package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js +2 -0
  114. package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js.map +1 -0
  115. package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js +2 -0
  116. package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js.map +1 -0
  117. package/build/es/utilities/formatters/util/formatNumber.js +2 -0
  118. package/build/es/utilities/formatters/util/formatNumber.js.map +1 -0
  119. package/build/es/utilities/formatters/util/parseNumber.js +2 -0
  120. package/build/es/utilities/formatters/util/parseNumber.js.map +1 -0
  121. package/build/es/utilities/formatters/util/registerWithMask.js +2 -0
  122. package/build/es/utilities/formatters/util/registerWithMask.js.map +1 -0
  123. package/build/es/utilities/formatters/valuta/formatValuta.js +2 -0
  124. package/build/es/utilities/formatters/valuta/formatValuta.js.map +1 -0
  125. package/build/es/utilities/index.js +2 -0
  126. package/build/es/utilities/index.js.map +1 -0
  127. package/build/es/utilities/polymorphism/SlotComponent.js +2 -0
  128. package/build/es/utilities/polymorphism/SlotComponent.js.map +1 -0
  129. package/build/es/utilities/polymorphism/index.js +2 -0
  130. package/build/es/utilities/polymorphism/index.js.map +1 -0
  131. package/build/es/utilities/polymorphism/mergeProps.js.map +1 -0
  132. package/build/es/utilities/polymorphism/mergeRefs.js.map +1 -0
  133. package/build/es/utilities/tabListener.js.map +1 -0
  134. package/build/es/{core/utils/getValuePair.js → utilities/valuePair.js} +1 -1
  135. package/build/es/utilities/valuePair.js.map +1 -0
  136. package/build/index-DfvUcA5T.js +2 -0
  137. package/build/index-DfvUcA5T.js.map +1 -0
  138. package/build/index-hKyqa1PH.cjs +2 -0
  139. package/build/index-hKyqa1PH.cjs.map +1 -0
  140. package/build/index.d.ts +1 -0
  141. package/build/utilities/constants/index.d.ts +2 -0
  142. package/build/utilities/constants/unicode.d.ts +13 -0
  143. package/build/utilities/formatters/avstand/formatAvstand.d.ts +23 -0
  144. package/build/utilities/formatters/bytes/formatBytes.d.ts +8 -0
  145. package/build/utilities/formatters/date/formatDate.d.ts +15 -0
  146. package/build/utilities/formatters/fodselsnummer/formatFodselsnummer.d.ts +15 -0
  147. package/build/utilities/formatters/index.d.ts +14 -0
  148. package/build/utilities/formatters/kontonummer/formatKontonummer.d.ts +16 -0
  149. package/build/utilities/formatters/kortnummer/formatKortnummer.d.ts +15 -0
  150. package/build/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.d.ts +15 -0
  151. package/build/utilities/formatters/telefonnummer/formatTelefonnummer.d.ts +18 -0
  152. package/build/utilities/formatters/util/formatNumber.d.ts +14 -0
  153. package/build/utilities/formatters/util/parseNumber.d.ts +6 -0
  154. package/build/utilities/formatters/util/registerWithMask.d.ts +42 -0
  155. package/build/utilities/formatters/valuta/formatValuta.d.ts +18 -0
  156. package/build/utilities/index.d.ts +5 -0
  157. package/build/utilities/polymorphism/index.d.ts +5 -0
  158. package/build/utilities/valuePair.d.ts +6 -0
  159. package/package.json +12 -7
  160. package/src/components/card/styles/_index.scss +1 -0
  161. package/src/components/card/styles/_info-card.scss +40 -0
  162. package/src/components/card/styles/_nav-card.scss +113 -0
  163. package/src/components/card/styles/_task-card.scss +55 -0
  164. package/src/components/card/styles/card.css +332 -0
  165. package/src/components/card/styles/card.min.css +1 -0
  166. package/src/components/card/styles/card.scss +99 -0
  167. package/src/components/icon/styles/icon.css +1 -1
  168. package/src/components/icon-button/styles/_index.scss +1 -0
  169. package/src/components/icon-button/styles/icon-button.css +98 -0
  170. package/src/components/icon-button/styles/icon-button.min.css +1 -0
  171. package/src/components/icon-button/styles/icon-button.scss +59 -0
  172. package/src/components/image/styles/_index.scss +1 -0
  173. package/src/components/image/styles/image.css +30 -0
  174. package/src/components/image/styles/image.min.css +1 -0
  175. package/src/components/image/styles/image.scss +35 -0
  176. package/src/components/link/styles/link.css +1 -1
  177. package/src/components/link-list/styles/link-list.css +1 -1
  178. package/src/components/loader/styles/loader.css +7 -7
  179. package/src/components/loader/styles/loader.min.css +1 -1
  180. package/src/components/loader/styles/skeleton-loader.css +6 -6
  181. package/src/components/loader/styles/skeleton-loader.min.css +1 -1
  182. package/src/components/tag/styles/_index.scss +1 -0
  183. package/src/components/tag/styles/tag.css +71 -0
  184. package/src/components/tag/styles/tag.min.css +1 -0
  185. package/src/components/tag/styles/tag.scss +73 -0
  186. package/src/core/jkl/_legacy-tokens.scss +1 -1
  187. package/src/core/jkl/_tokens.scss +14 -1
  188. package/src/core/styles/_color-tokens.scss +1 -1
  189. package/src/core/styles/_legacy-tokens.scss +1 -1
  190. package/src/core/styles/_tokens.scss +1 -1
  191. package/src/core/styles/core.css +4 -4
  192. package/src/core/styles/vind.css +1 -1
  193. package/src/core/tokens.less +14 -1
  194. package/build/CardImage-DJa-zPsv.js +0 -2
  195. package/build/CardImage-DJa-zPsv.js.map +0 -1
  196. package/build/CardImage-DsKh2g4S.cjs +0 -2
  197. package/build/CardImage-DsKh2g4S.cjs.map +0 -1
  198. package/build/cjs/components/SlotComponent.js +0 -2
  199. package/build/cjs/components/SlotComponent.js.map +0 -1
  200. package/build/cjs/core/utils/breakpoints.js +0 -2
  201. package/build/cjs/core/utils/breakpoints.js.map +0 -1
  202. package/build/cjs/core/utils/density.js +0 -2
  203. package/build/cjs/core/utils/density.js.map +0 -1
  204. package/build/cjs/core/utils/getValuePair.js.map +0 -1
  205. package/build/cjs/core/utils/index.js +0 -2
  206. package/build/cjs/core/utils/mergeProps.js.map +0 -1
  207. package/build/cjs/core/utils/mergeRefs.js.map +0 -1
  208. package/build/cjs/core/utils/motion.js +0 -2
  209. package/build/cjs/core/utils/motion.js.map +0 -1
  210. package/build/cjs/core/utils/tabListener.js.map +0 -1
  211. package/build/core/utils/breakpoints.d.ts +0 -6
  212. package/build/core/utils/density.d.ts +0 -1
  213. package/build/core/utils/getValuePair.d.ts +0 -2
  214. package/build/core/utils/index.d.ts +0 -8
  215. package/build/core/utils/motion.d.ts +0 -16
  216. package/build/es/components/SlotComponent.js +0 -2
  217. package/build/es/components/SlotComponent.js.map +0 -1
  218. package/build/es/core/utils/breakpoints.js +0 -2
  219. package/build/es/core/utils/breakpoints.js.map +0 -1
  220. package/build/es/core/utils/density.js +0 -2
  221. package/build/es/core/utils/density.js.map +0 -1
  222. package/build/es/core/utils/getValuePair.js.map +0 -1
  223. package/build/es/core/utils/index.js +0 -2
  224. package/build/es/core/utils/mergeProps.js.map +0 -1
  225. package/build/es/core/utils/mergeRefs.js.map +0 -1
  226. package/build/es/core/utils/motion.js +0 -2
  227. package/build/es/core/utils/motion.js.map +0 -1
  228. package/build/es/core/utils/tabListener.js.map +0 -1
  229. /package/build/cjs/{core/utils → utilities/constants}/index.js.map +0 -0
  230. /package/build/{es/core/utils → cjs/utilities/formatters}/index.js.map +0 -0
  231. /package/build/cjs/{core → utilities/polymorphism}/as-child.js +0 -0
  232. /package/build/cjs/{core → utilities/polymorphism}/as-child.js.map +0 -0
  233. /package/build/cjs/{core/utils → utilities/polymorphism}/mergeProps.js +0 -0
  234. /package/build/cjs/{core/utils → utilities/polymorphism}/mergeRefs.js +0 -0
  235. /package/build/cjs/{core → utilities/polymorphism}/polymorphism.js +0 -0
  236. /package/build/cjs/{core → utilities/polymorphism}/polymorphism.js.map +0 -0
  237. /package/build/cjs/{core/utils → utilities}/tabListener.js +0 -0
  238. /package/build/es/{core → utilities/polymorphism}/as-child.js +0 -0
  239. /package/build/es/{core → utilities/polymorphism}/as-child.js.map +0 -0
  240. /package/build/es/{core/utils → utilities/polymorphism}/mergeProps.js +0 -0
  241. /package/build/es/{core/utils → utilities/polymorphism}/mergeRefs.js +0 -0
  242. /package/build/es/{core → utilities/polymorphism}/polymorphism.js +0 -0
  243. /package/build/es/{core → utilities/polymorphism}/polymorphism.js.map +0 -0
  244. /package/build/es/{core/utils → utilities}/tabListener.js +0 -0
  245. /package/build/{components → utilities/polymorphism}/SlotComponent.d.ts +0 -0
  246. /package/build/{core → utilities/polymorphism}/as-child.d.ts +0 -0
  247. /package/build/{core/utils → utilities/polymorphism}/mergeProps.d.ts +0 -0
  248. /package/build/{core/utils → utilities/polymorphism}/mergeRefs.d.ts +0 -0
  249. /package/build/{core → utilities/polymorphism}/polymorphism.d.ts +0 -0
  250. /package/build/{core/utils → utilities}/tabListener.d.ts +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("react/jsx-runtime"),require("../../../clsx-E3yX_9sL.cjs"),require("react");const o=require("../../../CardImage-DsKh2g4S.cjs");require("./NavCard.js"),require("../icon/Icon.js"),require("../icon/icons/animated/ArrowVerticalAnimated.js"),require("../icon/icons/animated/ArrowHorizontalAnimated.js"),require("../icon/icons/animated/PlusRemoveAnimated.js"),require("../icon/icons/ArrowDownIcon.js"),require("../icon/icons/ArrowLeftIcon.js"),require("../icon/icons/ArrowNorthEastIcon.js"),require("../icon/icons/ArrowRightIcon.js"),require("../icon/icons/ArrowUpIcon.js"),require("../icon/icons/CalendarIcon.js"),require("../icon/icons/CheckIcon.js"),require("../icon/icons/ChevronDownIcon.js"),require("../icon/icons/ChevronLeftIcon.js"),require("../icon/icons/ChevronRightIcon.js"),require("../icon/icons/ChevronUpIcon.js"),require("../icon/icons/CloseIcon.js"),require("../icon/icons/CopyIcon.js"),require("../icon/icons/DotsIcon.js"),require("../icon/icons/DragIcon.js"),require("../icon/icons/ErrorIcon.js"),require("../icon/icons/GreenCheckIcon.js"),require("../icon/icons/HamburgerIcon.js"),require("../icon/icons/InfoIcon.js"),require("../icon/icons/LinkIcon.js"),require("../icon/icons/PlusIcon.js"),require("../icon/icons/QuestionIcon.js"),require("../icon/icons/RedCrossIcon.js"),require("../icon/icons/SearchIcon.js"),require("../icon/icons/SuccessIcon.js"),require("../icon/icons/WarningIcon.js"),require("../icon/icons/MinusIcon.js"),require("../icon/icons/ThumbDownIcon.js"),require("../icon/icons/ThumbUpIcon.js"),require("../icon/icons/TrashCanIcon.js"),require("../icon/icons/PenIcon.js"),require("../icon-button/IconButton.js"),require("classnames"),require("../../hooks/useScreen/useScreen.js"),require("../../hooks/useId/useId.js"),require("../tooltip/Tooltip.js"),require("../tooltip/TooltipContent.js"),require("../tooltip/TooltipTrigger.js"),require("../input-group/InputGroup.js"),require("../link/Link.js"),require("../link/NavLink.js"),require("../link-list/LinkList.js"),require("../tag/Tag.js"),require("../SlotComponent.js"),exports.CARD_PADDINGS=o.CARD_PADDINGS,exports.CARD_VARIANTS=o.CARD_VARIANTS,exports.Card=o.Card;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../clsx-E3yX_9sL.cjs"),t=require("react"),a=require("../../utilities/polymorphism/SlotComponent.js"),s=t.forwardRef((function(t,s){const{className:i,clickable:l=!1,padding:o="s",variant:c="high",asChild:d,as:n="div",...u}=t,p=d?a.SlotComponent:n;return e.jsx(p,{"data-testid":"jkl-card","data-clickable":l,"data-padding":o,className:r.clsx("jkl-card",`jkl-card--${c}`,i),...u,ref:s})}));exports.CARD_PADDINGS=["s","m","l","xl"],exports.CARD_VARIANTS=["outlined","high","low"],exports.Card=s;
2
2
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"Card.js","sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { SlotComponent, type AsChildProps, type PolymorphicPropsWithRef, type PolymorphicRef } from \"../../utilities\";\n\nexport const CARD_PADDINGS = [\"s\", \"m\", \"l\", \"xl\"] as const;\nexport type CardPadding = (typeof CARD_PADDINGS)[number];\nexport const CARD_VARIANTS = [\"outlined\", \"high\", \"low\"] as const;\nexport type CardVariant = (typeof CARD_VARIANTS)[number];\n\nexport type CardProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<\n ElementType,\n {\n className?: string;\n /**\n * Setter padding på kortet. Tilsvarer samme property i Figma.\n * @default \"s\"\n */\n padding?: CardPadding;\n /**\n * Angir hvilken kortvariant du vil bruke. Velg en variant som gir god kontrast\n * til bakgrunnen på siden, slik at det er enkelt å skille innholdet fra hverandre.\n * @default \"high\"\n */\n variant?: CardVariant;\n /**\n * Angir om kortet visuelt skal fremstå som klikkbart. Du må selv rendre\n * kortet som et klikkbart element (f.eks. `<a>` eller en `<Link>` fra\n * et ruting-bibliotek) og gi det en `href` eller `onClick`-handler.\n * HUSK: Sett aria-label for at støtteverktøy, som skjermlesere, ikke\n * skal lese alt innholdet i kortet.\n */\n clickable?: boolean;\n }\n>;\n\ntype CardComponent = <ElementType extends React.ElementType = \"div\">(\n props: CardProps<ElementType> & AsChildProps,\n) => React.ReactElement | null;\n\n/**\n * En allsidig kortkomponent som brukes for å gruppere innhold på en side.\n * Komponenten rendres til vanlig som en `<div>`, men du kan velge å rendre\n * den som andre elementer eller komponenter der du trenger annen semantikk\n * eller funksjonalitet.\n */\nexport const Card = React.forwardRef(function Card<ElementType extends React.ElementType = \"div\">(\n props: CardProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n const {\n className,\n clickable = false,\n padding = \"s\",\n variant = \"high\",\n asChild,\n as = \"div\",\n ...componentProps\n } = props;\n\n const Component = asChild ? SlotComponent : as;\n\n return (\n <Component\n data-testid=\"jkl-card\"\n data-clickable={clickable}\n data-padding={padding}\n className={clsx(\"jkl-card\", `jkl-card--${variant}`, className)}\n {...componentProps}\n ref={ref}\n />\n );\n}) as CardComponent;\n"],"names":["Card","React","forwardRef","props","ref","className","clickable","padding","variant","asChild","as","componentProps","Component","SlotComponent","jsx","clsx"],"mappings":"2OA6CaA,EAAOC,EAAMC,YAAW,SACjCC,EACAC,GAEM,MACFC,UAAAA,EACAC,UAAAA,GAAY,EACZC,QAAAA,EAAU,IACVC,QAAAA,EAAU,OACVC,QAAAA,EACAC,GAAAA,EAAK,SACFC,GACHR,EAEES,EAAYH,EAAUI,EAAgBA,cAAAH,EAGxC,OAAAI,EAAAA,IAACF,EAAA,CACG,cAAY,WACZ,iBAAgBN,EAChB,eAAcC,EACdF,UAAWU,EAAKA,KAAA,WAAY,aAAaP,IAAWH,MAChDM,EACJP,IAAAA,GAGZ,0BAnE6B,CAAC,IAAK,IAAK,IAAK,4BAEhB,CAAC,WAAY,OAAQ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("react/jsx-runtime"),require("../../../clsx-E3yX_9sL.cjs"),require("react");const e=require("../../../CardImage-DsKh2g4S.cjs");require("./NavCard.js"),require("../icon/Icon.js"),require("../icon/icons/animated/ArrowVerticalAnimated.js"),require("../icon/icons/animated/ArrowHorizontalAnimated.js"),require("../icon/icons/animated/PlusRemoveAnimated.js"),require("../icon/icons/ArrowDownIcon.js"),require("../icon/icons/ArrowLeftIcon.js"),require("../icon/icons/ArrowNorthEastIcon.js"),require("../icon/icons/ArrowRightIcon.js"),require("../icon/icons/ArrowUpIcon.js"),require("../icon/icons/CalendarIcon.js"),require("../icon/icons/CheckIcon.js"),require("../icon/icons/ChevronDownIcon.js"),require("../icon/icons/ChevronLeftIcon.js"),require("../icon/icons/ChevronRightIcon.js"),require("../icon/icons/ChevronUpIcon.js"),require("../icon/icons/CloseIcon.js"),require("../icon/icons/CopyIcon.js"),require("../icon/icons/DotsIcon.js"),require("../icon/icons/DragIcon.js"),require("../icon/icons/ErrorIcon.js"),require("../icon/icons/GreenCheckIcon.js"),require("../icon/icons/HamburgerIcon.js"),require("../icon/icons/InfoIcon.js"),require("../icon/icons/LinkIcon.js"),require("../icon/icons/PlusIcon.js"),require("../icon/icons/QuestionIcon.js"),require("../icon/icons/RedCrossIcon.js"),require("../icon/icons/SearchIcon.js"),require("../icon/icons/SuccessIcon.js"),require("../icon/icons/WarningIcon.js"),require("../icon/icons/MinusIcon.js"),require("../icon/icons/ThumbDownIcon.js"),require("../icon/icons/ThumbUpIcon.js"),require("../icon/icons/TrashCanIcon.js"),require("../icon/icons/PenIcon.js"),require("../icon-button/IconButton.js"),require("classnames"),require("../../hooks/useScreen/useScreen.js"),require("../../hooks/useId/useId.js"),require("../tooltip/Tooltip.js"),require("../tooltip/TooltipContent.js"),require("../tooltip/TooltipTrigger.js"),require("../input-group/InputGroup.js"),require("../link/Link.js"),require("../link/NavLink.js"),require("../link-list/LinkList.js"),require("../tag/Tag.js"),require("../SlotComponent.js"),exports.CardImage=e.CardImage;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../clsx-E3yX_9sL.cjs"),t=require("react"),s=require("../../utilities/polymorphism/SlotComponent.js"),o=t.forwardRef((function({as:t,asChild:o,className:a,placement:i="top",...c},l){const m=o?s.SlotComponent:t||"img";return e.jsx(m,{ref:l,className:r.clsx("jkl-card-image",`jkl-card-image--${i}`,a),...c})}));exports.CardImage=o;
2
2
  //# sourceMappingURL=CardImage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardImage.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"CardImage.js","sources":["../../../../src/components/card/CardImage.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { SlotComponent, type AsChildProps, type PolymorphicPropsWithRef, type PolymorphicRef } from \"../../utilities\";\n\nexport type CardImageProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<\n ElementType,\n {\n /**\n * Legger til riktig negativ margin avhengig av hvor i kortet bildet\n * skal plasseres. Margin justeres automatisk etter padding i kortet.\n * @default \"top\"\n */\n placement?: \"top\" | \"middle\" | \"bottom\";\n }\n>;\n\ntype CardImageComponent = <ElementType extends React.ElementType = \"img\">(\n props: CardImageProps<ElementType>,\n) => React.ReactElement | null;\n\n/**\n * Bildekomponent som kan brukes i `Card` for å sørge for at bildet\n * blør helt ut i kantene av kortet. Rendres normalt som et `<img>`-\n * element, men du kan overstyre dette med `as` dersom du f.eks. har\n * en egen komponent for å håndtere responsive bilder.\n */\nexport const CardImage = React.forwardRef(function CardImage<ElementType extends React.ElementType = \"img\">(\n { as, asChild, className, placement = \"top\", ...imageProps }: CardImageProps<ElementType> & AsChildProps,\n ref?: PolymorphicRef<ElementType>,\n) {\n const Component = asChild ? SlotComponent : as || \"img\";\n\n return (\n <Component\n ref={ref}\n className={clsx(\"jkl-card-image\", `jkl-card-image--${placement}`, className)}\n {...imageProps}\n />\n );\n}) as CardImageComponent;\n"],"names":["CardImage","React","forwardRef","as","asChild","className","placement","imageProps","ref","Component","SlotComponent","jsx","clsx"],"mappings":"2OA0BaA,EAAYC,EAAMC,YAAW,UACpCC,GAAAA,EAAIC,QAAAA,EAASC,UAAAA,EAAWC,UAAAA,EAAY,SAAUC,GAChDC,GAEM,MAAAC,EAAYL,EAAUM,gBAAgBP,GAAM,MAG9C,OAAAQ,EAAAA,IAACF,EAAA,CACGD,IAAAA,EACAH,UAAWO,EAAKA,KAAA,iBAAkB,mBAAmBN,IAAaD,MAC9DE,GAGhB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../CardImage-DsKh2g4S.cjs"),a=require("./NavCard.js"),e=require("./TaskCard.js"),o=require("./InfoCard.js");exports.Card=r.Card,exports.CardImage=r.CardImage,exports.InfoBlock=a.InfoBlock,exports.NavCard=a.NavCard,exports.TaskCard=e.TaskCard,exports.InfoCard=o.InfoCard;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./Card.js"),e=require("./CardImage.js"),a=require("./NavCard.js"),o=require("./TaskCard.js"),s=require("./InfoCard.js");exports.Card=r.Card,exports.CardImage=e.CardImage,exports.InfoBlock=a.InfoBlock,exports.NavCard=a.NavCard,exports.TaskCard=o.TaskCard,exports.InfoCard=s.InfoCard;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../core\";\nimport { IconVariant } from \"./types\";\n\ntype IconComponentProps<ElementType extends Extract<React.ElementType, \"span\" | \"div\">> = PolymorphicPropsWithRef<\n ElementType,\n {\n \"data-testid\"?: string;\n /**\n * Størrelsesvarianten til ikonet. `\"small\"` er 16px med 20px bounding box, og `\"medium\"` er 20px med 24px bounding box.\n * `\"inherit\"` setter størrelsen til ikonet (ikke bounding box) lik skriftstørrelsen (1em).\n */\n variant?: IconVariant;\n /**\n * Angir om ikonet skal vises i fet versjon\n * @default false\n */\n bold?: boolean;\n filled?: boolean;\n className?: string;\n style?: React.CSSProperties;\n }\n>;\n\nexport type IconComponent = (<ElementType extends Extract<React.ElementType, \"span\" | \"div\"> = \"span\">(\n props: IconComponentProps<ElementType>,\n) => React.ReactElement | null) & { displayName?: string };\n\nexport const Icon: IconComponent = React.forwardRef(function Icon<\n ElementType extends Extract<React.ElementType, \"span\" | \"div\"> = \"span\",\n>(props: IconComponentProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const { bold, children, className, filled, variant, ...iconProps } = props;\n\n return (\n <span\n aria-hidden\n ref={ref}\n className={clsx(\"jkl-icon\", className, {\n \"jkl-icon--filled\": filled,\n \"jkl-icon--bold\": bold,\n [`jkl-icon--${variant}`]: !!variant,\n })}\n {...iconProps}\n >\n {children}\n </span>\n );\n}) as IconComponent;\n"],"names":["Icon","forwardRef","props","ref","bold","children","className","filled","variant","iconProps","jsx","clsx"],"mappings":"6JA6BaA,mBAA4BC,YAAW,SAElDC,EAAwCC,GAChC,MAAEC,KAAAA,EAAMC,SAAAA,EAAUC,UAAAA,EAAWC,OAAAA,EAAQC,QAAAA,KAAYC,GAAcP,EAGjE,OAAAQ,EAAAA,IAAC,OAAA,CACG,eAAW,EACXP,IAAAA,EACAG,UAAWK,EAAAA,KAAK,WAAYL,EAAW,CACnC,mBAAoBC,EACpB,iBAAkBH,EAClB,CAAC,aAAaI,OAAcA,OAE5BC,EAEHJ,SAAAA,GAGb"}
1
+ {"version":3,"file":"Icon.js","sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../utilities\";\nimport { IconVariant } from \"./types\";\n\ntype IconComponentProps<ElementType extends Extract<React.ElementType, \"span\" | \"div\">> = PolymorphicPropsWithRef<\n ElementType,\n {\n \"data-testid\"?: string;\n /**\n * Størrelsesvarianten til ikonet. `\"small\"` er 16px med 20px bounding box, og `\"medium\"` er 20px med 24px bounding box.\n * `\"inherit\"` setter størrelsen til ikonet (ikke bounding box) lik skriftstørrelsen (1em).\n */\n variant?: IconVariant;\n /**\n * Angir om ikonet skal vises i fet versjon\n * @default false\n */\n bold?: boolean;\n filled?: boolean;\n className?: string;\n style?: React.CSSProperties;\n }\n>;\n\nexport type IconComponent = (<ElementType extends Extract<React.ElementType, \"span\" | \"div\"> = \"span\">(\n props: IconComponentProps<ElementType>,\n) => React.ReactElement | null) & { displayName?: string };\n\nexport const Icon: IconComponent = React.forwardRef(function Icon<\n ElementType extends Extract<React.ElementType, \"span\" | \"div\"> = \"span\",\n>(props: IconComponentProps<ElementType>, ref?: PolymorphicRef<ElementType>) {\n const { bold, children, className, filled, variant, ...iconProps } = props;\n\n return (\n <span\n aria-hidden\n ref={ref}\n className={clsx(\"jkl-icon\", className, {\n \"jkl-icon--filled\": filled,\n \"jkl-icon--bold\": bold,\n [`jkl-icon--${variant}`]: !!variant,\n })}\n {...iconProps}\n >\n {children}\n </span>\n );\n}) as IconComponent;\n"],"names":["Icon","forwardRef","props","ref","bold","children","className","filled","variant","iconProps","jsx","clsx"],"mappings":"6JA6BaA,mBAA4BC,YAAW,SAElDC,EAAwCC,GAChC,MAAEC,KAAAA,EAAMC,SAAAA,EAAUC,UAAAA,EAAWC,OAAAA,EAAQC,QAAAA,KAAYC,GAAcP,EAGjE,OAAAQ,EAAAA,IAAC,OAAA,CACG,eAAW,EACXP,IAAAA,EACAG,UAAWK,EAAAA,KAAK,WAAYL,EAAW,CACnC,mBAAoBC,EACpB,iBAAkBH,EAClB,CAAC,aAAaI,OAAcA,OAE5BC,EAEHJ,SAAAA,GAGb"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../CardImage-DsKh2g4S.cjs"),e=require("./card/NavCard.js"),r=require("./card/TaskCard.js"),n=require("./card/InfoCard.js"),s=require("./icon/Icon.js"),t=require("./icon/icons/animated/ArrowVerticalAnimated.js"),i=require("./icon/icons/animated/ArrowHorizontalAnimated.js"),c=require("./icon/icons/animated/PlusRemoveAnimated.js"),p=require("./icon/icons/ArrowDownIcon.js"),u=require("./icon/icons/ArrowLeftIcon.js"),a=require("./icon/icons/ArrowNorthEastIcon.js"),I=require("./icon/icons/ArrowRightIcon.js"),l=require("./icon/icons/ArrowUpIcon.js"),x=require("./icon/icons/CalendarIcon.js"),k=require("./icon/icons/CheckIcon.js"),j=require("./icon/icons/ChevronDownIcon.js"),q=require("./icon/icons/ChevronLeftIcon.js"),d=require("./icon/icons/ChevronRightIcon.js"),C=require("./icon/icons/ChevronUpIcon.js"),T=require("./icon/icons/CloseIcon.js"),S=require("./icon/icons/CopyIcon.js"),g=require("./icon/icons/DotsIcon.js"),h=require("./icon/icons/DragIcon.js"),m=require("./icon/icons/ErrorIcon.js"),A=require("./icon/icons/GreenCheckIcon.js"),w=require("./icon/icons/HamburgerIcon.js"),L=require("./icon/icons/InfoIcon.js"),b=require("./icon/icons/LinkIcon.js"),v=require("./icon/icons/PlusIcon.js"),R=require("./icon/icons/QuestionIcon.js"),f=require("./icon/icons/RedCrossIcon.js"),D=require("./icon/icons/SearchIcon.js"),G=require("./icon/icons/SuccessIcon.js"),P=require("./icon/icons/WarningIcon.js"),B=require("./icon/icons/MinusIcon.js"),E=require("./icon/icons/ThumbDownIcon.js"),N=require("./icon/icons/ThumbUpIcon.js"),U=require("./icon/icons/TrashCanIcon.js"),y=require("./icon/icons/PenIcon.js"),H=require("./icon-button/IconButton.js"),W=require("./input-group/FieldGroup.js"),M=require("./input-group/InputGroup.js"),O=require("./input-group/Label.js"),z=require("./input-group/SupportLabel.js"),F=require("./link/Link.js"),Q=require("./link/NavLink.js"),V=require("./link-list/LinkList.js"),J=require("./loader/Loader.js"),K=require("./loader/skeletons/SkeletonAnimation.js"),X=require("./loader/skeletons/SkeletonButton.js"),Y=require("./loader/skeletons/SkeletonCheckboxGroup.js"),Z=require("./loader/skeletons/SkeletonElement.js"),$=require("./loader/skeletons/SkeletonInput.js"),_=require("./loader/skeletons/SkeletonRadioButtonGroup.js"),oo=require("./loader/skeletons/SkeletonTable.js"),eo=require("./loader/skeletons/SkeletonTextArea.js"),ro=require("./tag/Tag.js"),no=require("./tooltip/Tooltip.js"),so=require("./tooltip/TooltipContent.js"),to=require("./tooltip/TooltipTrigger.js"),io=require("./tooltip/PopupTip.js"),co=require("./ScreenReaderOnly.js"),po=require("./SlotComponent.js");exports.Card=o.Card,exports.CardImage=o.CardImage,exports.InfoBlock=e.InfoBlock,exports.NavCard=e.NavCard,exports.TaskCard=r.TaskCard,exports.InfoCard=n.InfoCard,exports.Icon=s.Icon,exports.ArrowVerticalAnimated=t.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=i.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=c.PlusRemoveAnimated,exports.ArrowDownIcon=p.ArrowDownIcon,exports.ArrowLeftIcon=u.ArrowLeftIcon,exports.ArrowNorthEastIcon=a.ArrowNorthEastIcon,exports.ArrowRightIcon=I.ArrowRightIcon,exports.ArrowUpIcon=l.ArrowUpIcon,exports.CalendarIcon=x.CalendarIcon,exports.CheckIcon=k.CheckIcon,exports.ChevronDownIcon=j.ChevronDownIcon,exports.ChevronLeftIcon=q.ChevronLeftIcon,exports.ChevronRightIcon=d.ChevronRightIcon,exports.ChevronUpIcon=C.ChevronUpIcon,exports.CloseIcon=T.CloseIcon,exports.CopyIcon=S.CopyIcon,exports.DotsIcon=g.DotsIcon,exports.DragIcon=h.DragIcon,exports.ErrorIcon=m.ErrorIcon,exports.GreenCheckIcon=A.GreenCheckIcon,exports.HamburgerIcon=w.HamburgerIcon,exports.InfoIcon=L.InfoIcon,exports.LinkIcon=b.LinkIcon,exports.PlusIcon=v.PlusIcon,exports.QuestionIcon=R.QuestionIcon,exports.RedCrossIcon=f.RedCrossIcon,exports.SearchIcon=D.SearchIcon,exports.SuccessIcon=G.SuccessIcon,exports.WarningIcon=P.WarningIcon,exports.MinusIcon=B.MinusIcon,exports.ThumbDownIcon=E.ThumbDownIcon,exports.ThumbUpIcon=N.ThumbUpIcon,exports.TrashCanIcon=U.TrashCanIcon,exports.PenIcon=y.PenIcon,exports.IconButton=H.IconButton,exports.FieldGroup=W.FieldGroup,exports.InputGroup=M.InputGroup,exports.Label=O.Label,exports.SupportLabel=z.SupportLabel,exports.Link=F.Link,exports.NavLink=Q.NavLink,exports.LinkList=V.LinkList,exports.Loader=J.Loader,exports.SkeletonAnimation=K.SkeletonAnimation,exports.SkeletonButton=X.SkeletonButton,exports.SkeletonCheckboxGroup=Y.SkeletonCheckboxGroup,exports.SkeletonElement=Z.SkeletonElement,exports.SkeletonInput=$.SkeletonInput,exports.SkeletonRadioButtonGroup=_.SkeletonRadioButtonGroup,exports.SkeletonTable=oo.SkeletonTable,exports.SkeletonTableHeader=oo.SkeletonTableHeader,exports.SkeletonTableRow=oo.SkeletonTableRow,exports.SkeletonTextArea=eo.SkeletonTextArea,exports.ErrorTag=ro.ErrorTag,exports.InfoTag=ro.InfoTag,exports.SuccessTag=ro.SuccessTag,exports.Tag=ro.Tag,exports.WarningTag=ro.WarningTag,exports.Tooltip=no.Tooltip,exports.TooltipContent=so.TooltipContent,exports.TooltipTrigger=to.TooltipTrigger,exports.PopupTip=io.PopupTip,exports.ScreenReaderOnly=co.ScreenReaderOnly,exports.SlotComponent=po.SlotComponent;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./card/Card.js"),e=require("./card/CardImage.js"),r=require("./card/NavCard.js"),n=require("./card/TaskCard.js"),s=require("./card/InfoCard.js"),t=require("./icon/Icon.js"),i=require("./icon/icons/animated/ArrowVerticalAnimated.js"),c=require("./icon/icons/animated/ArrowHorizontalAnimated.js"),p=require("./icon/icons/animated/PlusRemoveAnimated.js"),a=require("./icon/icons/ArrowDownIcon.js"),u=require("./icon/icons/ArrowLeftIcon.js"),I=require("./icon/icons/ArrowNorthEastIcon.js"),l=require("./icon/icons/ArrowRightIcon.js"),x=require("./icon/icons/ArrowUpIcon.js"),k=require("./icon/icons/CalendarIcon.js"),j=require("./icon/icons/CheckIcon.js"),d=require("./icon/icons/ChevronDownIcon.js"),q=require("./icon/icons/ChevronLeftIcon.js"),C=require("./icon/icons/ChevronRightIcon.js"),T=require("./icon/icons/ChevronUpIcon.js"),g=require("./icon/icons/CloseIcon.js"),S=require("./icon/icons/CopyIcon.js"),h=require("./icon/icons/DotsIcon.js"),A=require("./icon/icons/DragIcon.js"),m=require("./icon/icons/ErrorIcon.js"),w=require("./icon/icons/GreenCheckIcon.js"),L=require("./icon/icons/HamburgerIcon.js"),b=require("./icon/icons/InfoIcon.js"),v=require("./icon/icons/LinkIcon.js"),R=require("./icon/icons/PlusIcon.js"),f=require("./icon/icons/QuestionIcon.js"),D=require("./icon/icons/RedCrossIcon.js"),G=require("./icon/icons/SearchIcon.js"),P=require("./icon/icons/SuccessIcon.js"),B=require("./icon/icons/WarningIcon.js"),E=require("./icon/icons/MinusIcon.js"),N=require("./icon/icons/ThumbDownIcon.js"),U=require("./icon/icons/ThumbUpIcon.js"),y=require("./icon/icons/TrashCanIcon.js"),H=require("./icon/icons/PenIcon.js"),W=require("./icon-button/IconButton.js"),M=require("./input-group/FieldGroup.js"),O=require("./input-group/InputGroup.js"),z=require("./input-group/Label.js"),F=require("./input-group/SupportLabel.js"),Q=require("./link/Link.js"),V=require("./link/NavLink.js"),J=require("./link-list/LinkList.js"),K=require("./loader/Loader.js"),X=require("./loader/skeletons/SkeletonAnimation.js"),Y=require("./loader/skeletons/SkeletonButton.js"),Z=require("./loader/skeletons/SkeletonCheckboxGroup.js"),$=require("./loader/skeletons/SkeletonElement.js"),_=require("./loader/skeletons/SkeletonInput.js"),oo=require("./loader/skeletons/SkeletonRadioButtonGroup.js"),eo=require("./loader/skeletons/SkeletonTable.js"),ro=require("./loader/skeletons/SkeletonTextArea.js"),no=require("./tag/Tag.js"),so=require("./tooltip/Tooltip.js"),to=require("./tooltip/TooltipContent.js"),io=require("./tooltip/TooltipTrigger.js"),co=require("./tooltip/PopupTip.js"),po=require("./ScreenReaderOnly.js");exports.Card=o.Card,exports.CardImage=e.CardImage,exports.InfoBlock=r.InfoBlock,exports.NavCard=r.NavCard,exports.TaskCard=n.TaskCard,exports.InfoCard=s.InfoCard,exports.Icon=t.Icon,exports.ArrowVerticalAnimated=i.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=c.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=p.PlusRemoveAnimated,exports.ArrowDownIcon=a.ArrowDownIcon,exports.ArrowLeftIcon=u.ArrowLeftIcon,exports.ArrowNorthEastIcon=I.ArrowNorthEastIcon,exports.ArrowRightIcon=l.ArrowRightIcon,exports.ArrowUpIcon=x.ArrowUpIcon,exports.CalendarIcon=k.CalendarIcon,exports.CheckIcon=j.CheckIcon,exports.ChevronDownIcon=d.ChevronDownIcon,exports.ChevronLeftIcon=q.ChevronLeftIcon,exports.ChevronRightIcon=C.ChevronRightIcon,exports.ChevronUpIcon=T.ChevronUpIcon,exports.CloseIcon=g.CloseIcon,exports.CopyIcon=S.CopyIcon,exports.DotsIcon=h.DotsIcon,exports.DragIcon=A.DragIcon,exports.ErrorIcon=m.ErrorIcon,exports.GreenCheckIcon=w.GreenCheckIcon,exports.HamburgerIcon=L.HamburgerIcon,exports.InfoIcon=b.InfoIcon,exports.LinkIcon=v.LinkIcon,exports.PlusIcon=R.PlusIcon,exports.QuestionIcon=f.QuestionIcon,exports.RedCrossIcon=D.RedCrossIcon,exports.SearchIcon=G.SearchIcon,exports.SuccessIcon=P.SuccessIcon,exports.WarningIcon=B.WarningIcon,exports.MinusIcon=E.MinusIcon,exports.ThumbDownIcon=N.ThumbDownIcon,exports.ThumbUpIcon=U.ThumbUpIcon,exports.TrashCanIcon=y.TrashCanIcon,exports.PenIcon=H.PenIcon,exports.IconButton=W.IconButton,exports.FieldGroup=M.FieldGroup,exports.InputGroup=O.InputGroup,exports.Label=z.Label,exports.SupportLabel=F.SupportLabel,exports.Link=Q.Link,exports.NavLink=V.NavLink,exports.LinkList=J.LinkList,exports.Loader=K.Loader,exports.SkeletonAnimation=X.SkeletonAnimation,exports.SkeletonButton=Y.SkeletonButton,exports.SkeletonCheckboxGroup=Z.SkeletonCheckboxGroup,exports.SkeletonElement=$.SkeletonElement,exports.SkeletonInput=_.SkeletonInput,exports.SkeletonRadioButtonGroup=oo.SkeletonRadioButtonGroup,exports.SkeletonTable=eo.SkeletonTable,exports.SkeletonTableHeader=eo.SkeletonTableHeader,exports.SkeletonTableRow=eo.SkeletonTableRow,exports.SkeletonTextArea=ro.SkeletonTextArea,exports.ErrorTag=no.ErrorTag,exports.InfoTag=no.InfoTag,exports.SuccessTag=no.SuccessTag,exports.Tag=no.Tag,exports.WarningTag=no.WarningTag,exports.Tooltip=so.Tooltip,exports.TooltipContent=to.TooltipContent,exports.TooltipTrigger=io.TooltipTrigger,exports.PopupTip=co.PopupTip,exports.ScreenReaderOnly=po.ScreenReaderOnly;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sources":["../../../../src/components/link/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../core\";\n\nexport type LinkProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<\n ElementType,\n {\n external?: boolean;\n }\n>;\n\nexport type LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: LinkProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const Link = React.forwardRef(function Link<ElementType extends React.ElementType = \"a\">(\n props: LinkProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n const { external = false, className = \"\", children, as = \"a\", ...rest } = props;\n const Component = as;\n\n return (\n <Component\n ref={ref}\n className={clsx(\"jkl-link\", className, {\n \"jkl-link--external\": external,\n })}\n {...rest}\n >\n {children}\n </Component>\n );\n});\n"],"names":["Link","forwardRef","props","ref","external","className","children","as","rest","Component","jsx","clsx"],"mappings":"6JAeaA,mBAAaC,YAAW,SACjCC,EACAC,GAEM,MAAEC,SAAAA,GAAW,EAAOC,UAAAA,EAAY,GAAIC,SAAAA,EAAUC,GAAAA,EAAK,OAAQC,GAASN,EACpEO,EAAYF,EAGd,OAAAG,EAAAA,IAACD,EAAA,CACGN,IAAAA,EACAE,UAAWM,EAAAA,KAAK,WAAYN,EAAW,CACnC,qBAAsBD,OAEtBI,EAEHF,SAAAA,GAGb"}
1
+ {"version":3,"file":"Link.js","sources":["../../../../src/components/link/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../utilities\";\n\nexport type LinkProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<\n ElementType,\n {\n external?: boolean;\n }\n>;\n\nexport type LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: LinkProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const Link = React.forwardRef(function Link<ElementType extends React.ElementType = \"a\">(\n props: LinkProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n const { external = false, className = \"\", children, as = \"a\", ...rest } = props;\n const Component = as;\n\n return (\n <Component\n ref={ref}\n className={clsx(\"jkl-link\", className, {\n \"jkl-link--external\": external,\n })}\n {...rest}\n >\n {children}\n </Component>\n );\n});\n"],"names":["Link","forwardRef","props","ref","external","className","children","as","rest","Component","jsx","clsx"],"mappings":"6JAeaA,mBAAaC,YAAW,SACjCC,EACAC,GAEM,MAAEC,SAAAA,GAAW,EAAOC,UAAAA,EAAY,GAAIC,SAAAA,EAAUC,GAAAA,EAAK,OAAQC,GAASN,EACpEO,EAAYF,EAGd,OAAAG,EAAAA,IAACD,EAAA,CACGN,IAAAA,EACAE,UAAWM,EAAAA,KAAK,WAAYN,EAAW,CACnC,qBAAsBD,OAEtBI,EAEHF,SAAAA,GAGb"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavLink.js","sources":["../../../../src/components/link/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../core\";\n\nexport type NavLinkProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<\n ElementType,\n {\n active?: boolean;\n back?: boolean;\n }\n>;\n\nexport type LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: NavLinkProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const NavLink = React.forwardRef(function NavLink<ElementType extends React.ElementType = \"a\">(\n props: NavLinkProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n const { active = false, back = false, className, children, as = \"a\", ...rest } = props;\n const Component = as;\n\n return (\n <Component\n ref={ref}\n className={clsx(\n \"jkl-nav-link\",\n {\n \"jkl-nav-link--active\": active,\n \"jkl-nav-link--back\": back,\n },\n className,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n});\n"],"names":["NavLink","forwardRef","props","ref","active","back","className","children","as","rest","Component","jsx","clsx"],"mappings":"6JAgBaA,mBAAgBC,YAAW,SACpCC,EACAC,GAEM,MAAEC,OAAAA,GAAS,EAAOC,KAAAA,GAAO,EAAOC,UAAAA,EAAWC,SAAAA,EAAUC,GAAAA,EAAK,OAAQC,GAASP,EAC3EQ,EAAYF,EAGd,OAAAG,EAAAA,IAACD,EAAA,CACGP,IAAAA,EACAG,UAAWM,EAAAA,KACP,eACA,CACI,uBAAwBR,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAAA,GAGb"}
1
+ {"version":3,"file":"NavLink.js","sources":["../../../../src/components/link/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../utilities\";\n\nexport type NavLinkProps<ElementType extends React.ElementType> = PolymorphicPropsWithRef<\n ElementType,\n {\n active?: boolean;\n back?: boolean;\n }\n>;\n\nexport type LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: NavLinkProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const NavLink = React.forwardRef(function NavLink<ElementType extends React.ElementType = \"a\">(\n props: NavLinkProps<ElementType>,\n ref?: PolymorphicRef<ElementType>,\n) {\n const { active = false, back = false, className, children, as = \"a\", ...rest } = props;\n const Component = as;\n\n return (\n <Component\n ref={ref}\n className={clsx(\n \"jkl-nav-link\",\n {\n \"jkl-nav-link--active\": active,\n \"jkl-nav-link--back\": back,\n },\n className,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n});\n"],"names":["NavLink","forwardRef","props","ref","active","back","className","children","as","rest","Component","jsx","clsx"],"mappings":"6JAgBaA,mBAAgBC,YAAW,SACpCC,EACAC,GAEM,MAAEC,OAAAA,GAAS,EAAOC,KAAAA,GAAO,EAAOC,UAAAA,EAAWC,SAAAA,EAAUC,GAAAA,EAAK,OAAQC,GAASP,EAC3EQ,EAAYF,EAGd,OAAAG,EAAAA,IAACD,EAAA,CACGP,IAAAA,EACAG,UAAWM,EAAAA,KACP,eACA,CACI,uBAAwBR,EACxB,qBAAsBC,GAE1BC,MAEAG,EAEHF,SAAAA,GAGb"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkList.js","sources":["../../../../src/components/link-list/LinkList.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { ComponentProps, FC } from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../core\";\nimport { ArrowRightIcon } from \"../icon\";\n\nconst Item: FC<ComponentProps<\"li\">> = ({ className, ...rest }) => {\n return <li className={clsx(\"jkl-link-list-item\", className)} {...rest}></li>;\n};\n\ntype LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: PolymorphicPropsWithRef<ElementType>,\n) => React.ReactElement | null;\n\nconst Link = React.forwardRef(function LinkListLink<ElementType extends React.ElementType = \"a\">(\n props: PolymorphicPropsWithRef<ElementType>,\n ref: PolymorphicRef<ElementType>,\n) {\n const { as: Component = \"a\", children, className, ...rest } = props;\n\n return (\n <Component className={clsx(\"jkl-link-list-link\", className)} ref={ref} {...rest}>\n {children}\n <ArrowRightIcon className=\"jkl-link-list-link__arrow\" />\n </Component>\n );\n}) as LinkComponent;\n\ntype UnorderedLinkListProps = React.HTMLAttributes<HTMLUListElement> & {\n variant: \"unordered\";\n};\n\ntype OrderedLinkListProps = React.HTMLAttributes<HTMLOListElement> & {\n variant: \"ordered\";\n};\n\ntype LinkListProps = UnorderedLinkListProps | OrderedLinkListProps;\n\nexport const LinkList = ({ variant, className, ...rest }: LinkListProps): React.JSX.Element => {\n const Component = variant === \"ordered\" ? \"ol\" : \"ul\";\n\n return (\n <Component\n className={clsx(\"jkl-link-list\", className, {\n \"jkl-link-list--ordered\": variant === \"ordered\",\n \"jkl-link-list--unordered\": variant === \"unordered\",\n })}\n {...rest}\n />\n );\n};\n\nLinkList.Link = Link;\nLinkList.Item = Item;\n"],"names":["Link","React","forwardRef","props","ref","as","Component","children","className","rest","jsxs","clsx","jsx","ArrowRightIcon","LinkList","variant","Item"],"mappings":"omDAKA,MAQMA,EAAOC,EAAMC,YAAW,SAC1BC,EACAC,GAEM,MAAEC,GAAIC,EAAY,IAAKC,SAAAA,EAAUC,UAAAA,KAAcC,GAASN,EAG1D,OAAAO,OAACJ,GAAUE,UAAWG,EAAAA,KAAK,qBAAsBH,GAAYJ,IAAAA,KAAcK,EACtEF,SAAA,CAAAA,EACDK,EAAAA,IAACC,EAAeA,eAAA,CAAAL,UAAU,gCAGtC,IAYaM,EAAW,EAAGC,QAAAA,EAASP,UAAAA,KAAcC,MACxC,MAAAH,EAAwB,YAAZS,EAAwB,KAAO,KAG7C,OAAAH,EAAAA,IAACN,EAAA,CACGE,UAAWG,EAAAA,KAAK,gBAAiBH,EAAW,CACxC,yBAAsC,YAAZO,EAC1B,2BAAwC,cAAZA,OAE5BN,GAAA,EAKhBK,EAASd,KAAOA,EAChBc,EAASE,KA/C8B,EAAGR,UAAAA,KAAcC,KAC7CG,EAAAA,IAAC,MAAGJ,UAAWG,EAAAA,KAAK,qBAAsBH,MAAgBC"}
1
+ {"version":3,"file":"LinkList.js","sources":["../../../../src/components/link-list/LinkList.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { ComponentProps, FC } from \"react\";\nimport { PolymorphicPropsWithRef, PolymorphicRef } from \"../../utilities\";\nimport { ArrowRightIcon } from \"../icon\";\n\nconst Item: FC<ComponentProps<\"li\">> = ({ className, ...rest }) => {\n return <li className={clsx(\"jkl-link-list-item\", className)} {...rest}></li>;\n};\n\ntype LinkComponent = <ElementType extends React.ElementType = \"a\">(\n props: PolymorphicPropsWithRef<ElementType>,\n) => React.ReactElement | null;\n\nconst Link = React.forwardRef(function LinkListLink<ElementType extends React.ElementType = \"a\">(\n props: PolymorphicPropsWithRef<ElementType>,\n ref: PolymorphicRef<ElementType>,\n) {\n const { as: Component = \"a\", children, className, ...rest } = props;\n\n return (\n <Component className={clsx(\"jkl-link-list-link\", className)} ref={ref} {...rest}>\n {children}\n <ArrowRightIcon className=\"jkl-link-list-link__arrow\" />\n </Component>\n );\n}) as LinkComponent;\n\ntype UnorderedLinkListProps = React.HTMLAttributes<HTMLUListElement> & {\n variant: \"unordered\";\n};\n\ntype OrderedLinkListProps = React.HTMLAttributes<HTMLOListElement> & {\n variant: \"ordered\";\n};\n\ntype LinkListProps = UnorderedLinkListProps | OrderedLinkListProps;\n\nexport const LinkList = ({ variant, className, ...rest }: LinkListProps): React.JSX.Element => {\n const Component = variant === \"ordered\" ? \"ol\" : \"ul\";\n\n return (\n <Component\n className={clsx(\"jkl-link-list\", className, {\n \"jkl-link-list--ordered\": variant === \"ordered\",\n \"jkl-link-list--unordered\": variant === \"unordered\",\n })}\n {...rest}\n />\n );\n};\n\nLinkList.Link = Link;\nLinkList.Item = Item;\n"],"names":["Link","React","forwardRef","props","ref","as","Component","children","className","rest","jsxs","clsx","jsx","ArrowRightIcon","LinkList","variant","Item"],"mappings":"omDAKA,MAQMA,EAAOC,EAAMC,YAAW,SAC1BC,EACAC,GAEM,MAAEC,GAAIC,EAAY,IAAKC,SAAAA,EAAUC,UAAAA,KAAcC,GAASN,EAG1D,OAAAO,OAACJ,GAAUE,UAAWG,EAAAA,KAAK,qBAAsBH,GAAYJ,IAAAA,KAAcK,EACtEF,SAAA,CAAAA,EACDK,EAAAA,IAACC,EAAeA,eAAA,CAAAL,UAAU,gCAGtC,IAYaM,EAAW,EAAGC,QAAAA,EAASP,UAAAA,KAAcC,MACxC,MAAAH,EAAwB,YAAZS,EAAwB,KAAO,KAG7C,OAAAH,EAAAA,IAACN,EAAA,CACGE,UAAWG,EAAAA,KAAK,gBAAiBH,EAAW,CACxC,yBAAsC,YAAZO,EAC1B,2BAAwC,cAAZA,OAE5BN,GAAA,EAKhBK,EAASd,KAAOA,EAChBc,EAASE,KA/C8B,EAAGR,UAAAA,KAAcC,KAC7CG,EAAAA,IAAC,MAAGJ,UAAWG,EAAAA,KAAK,qBAAsBH,MAAgBC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./utils/tabListener.js"),r=require("./utils/getValuePair.js"),s=require("./utils/breakpoints.js"),t=require("./utils/motion.js"),i=require("./utils/mergeRefs.js"),o=require("./utils/mergeProps.js"),u=require("./tokens.js");exports.initTabListener=e.initTabListener,exports.getValuePair=r.getValuePair,exports.breakpoints=s.breakpoints,exports.easings=t.easings,exports.timings=t.timings,exports.mergeRefs=i.mergeRefs,exports.mergeProps=o.mergeProps,exports.tokens=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./tokens.js");exports.tokens=e;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";module.exports={color:{brand:{snohvit:"#F9F9F9",varde:"#E0DBD4",granitt:"#1B1917",hvit:"#FFFFFF",svart:"#000000",skifer:"#313030",fjellgra:"#444141",stein:"#636060",svaberg:"#C8C5C3",dis:"#ECE9E5",sand:"#F4F2EF"},functional:{info:"#D3D3F6",infoDark:"#A9A9CA",success:"#ACD3B5",successDark:"#94B79B",warning:"#EFDD9E",warningDark:"#DECC8D",error:"#F6B3B3",errorDark:"#DE9E9E"},background:{page:{light:"#F4F2EF",dark:"#1B1917"},pageVariant:{light:"#F9F9F9",dark:"#1B1917"},container:{light:"#F9F9F9",dark:"#313030"},containerLow:{light:"#ECE9E5",dark:"#000000"},containerHigh:{light:"#FFFFFF",dark:"#313030"},containerInverted:{light:"#1B1917",dark:"#F9F9F9"},containerSubdued:{light:"#C8C5C3",dark:"#636060"},input:{base:{light:"transparent",dark:"transparent"},focus:{light:"#FFFFFF",dark:"#313030"}},action:{light:"#1B1917",dark:"#F9F9F9"},interactive:{light:"transparent",dark:"transparent"},interactiveHover:{light:"#ECE9E5",dark:"#444141"},interactiveSelected:{light:"#E0DBD4",dark:"#636060"},alert:{neutral:{light:"#E0DBD4",dark:"#E0DBD4"},info:{light:"#D3D3F6",dark:"#A9A9CA"},success:{light:"#ACD3B5",dark:"#94B79B"},warning:{light:"#EFDD9E",dark:"#DECC8D"},error:{light:"#F6B3B3",dark:"#DE9E9E"}}},text:{default:{light:"#1B1917",dark:"#F9F9F9"},subdued:{light:"#636060",dark:"#C8C5C3"},inverted:{light:"#F9F9F9",dark:"#1B1917"},onAction:{light:"#F9F9F9",dark:"#1B1917"},interactive:{light:"#1B1917",dark:"#F9F9F9"},interactiveHover:{light:"#636060",dark:"#C8C5C3"},onAlert:{light:"#1B1917",dark:"#1B1917"}},border:{action:{light:"#1B1917",dark:"#F9F9F9"},input:{light:"#636060",dark:"#C8C5C3"},inputFocus:{light:"#1B1917",dark:"#F9F9F9"},separator:{light:"#C8C5C3",dark:"#636060"},separatorStrong:{light:"#636060",dark:"#C8C5C3"},separatorHover:{light:"#1B1917",dark:"#F9F9F9"},subdued:{light:"#C8C5C3",dark:"#636060"}},svart:"#000",granitt:"#1b1917",skifer:"#313030",fjellgra:"#444141",stein:"#636060",svaberg:"#c8c5c3",varde:"#e0dbd4",dis:"#ece9e5",sand:"#f4f2ef",snohvit:"#f9f9f9",hvit:"#fff",suksess:"#acd3b5",suksessDark:"#94b79b",feil:"#f6b3b3",feilDark:"#de9e9e",info:"#d3d3f6",infoDark:"#a9a9ca",advarsel:"#efdd9e",advarselDark:"#decc8d"},spacing:{0:"0",2:"0.125rem",4:"0.25rem",8:"0.5rem",12:"0.75rem",16:"1rem",24:"1.5rem",32:"2rem",40:"2.5rem",64:"4rem",104:"6.5rem",168:"10.5rem"},icon:{weight:{normal:"300",bold:"500"}},typography:{weight:{normal:"400",bold:"700"},font:{size:{16:"1rem",18:"1.125rem",20:"1.25rem",21:"1.3125rem",23:"1.4375rem",25:"1.5625rem",26:"1.625rem",28:"1.75rem",30:"1.875rem",36:"2.25rem",44:"2.75rem",56:"3.5rem"}},line:{height:{24:"1.5rem",28:"1.75rem",32:"2rem",36:"2.25rem",40:"2.5rem",44:"2.75rem",52:"3.25rem",64:"4rem"}},title:{small:{fontSize:"2.25rem",lineHeight:"2.75rem",fontWeight:"400"},base:{fontSize:"3.5rem",lineHeight:"4rem",fontWeight:"400"}},titleSmall:{small:{fontSize:"1.875rem",lineHeight:"2.25rem",fontWeight:"400"},base:{fontSize:"2.75rem",lineHeight:"3.25rem",fontWeight:"400"}},heading_1:{small:{fontSize:"1.625rem",lineHeight:"2rem",fontWeight:"400"},base:{fontSize:"2.25rem",lineHeight:"2.75rem",fontWeight:"400"}},heading_2:{small:{fontSize:"1.4375rem",lineHeight:"2rem",fontWeight:"400"},base:{fontSize:"1.75rem",lineHeight:"2.5rem",fontWeight:"400"}},heading_3:{small:{fontSize:"1.3125rem",lineHeight:"1.75rem",fontWeight:"700"},base:{fontSize:"1.5625rem",lineHeight:"2rem",fontWeight:"700"}},heading_4:{small:{fontSize:"1.125rem",lineHeight:"1.5rem",fontWeight:"700"},base:{fontSize:"1.3125rem",lineHeight:"1.75rem",fontWeight:"700"}},heading_5:{small:{fontSize:"1rem",lineHeight:"1.5rem",fontWeight:"700"},base:{fontSize:"1rem",lineHeight:"1.5rem",fontWeight:"700"}},body:{small:{fontSize:"1.125rem",lineHeight:"1.75rem",fontWeight:"400"},base:{fontSize:"1.25rem",lineHeight:"2rem",fontWeight:"400"}},small:{small:{fontSize:"1rem",lineHeight:"1.5rem",fontWeight:"400"},base:{fontSize:"1rem",lineHeight:"1.5rem",fontWeight:"400"}}}};
1
+ "use strict";module.exports={breakpoint:{medium:"680px",large:"1200px",xl:"1600px"},color:{brand:{snohvit:"#F9F9F9",varde:"#E0DBD4",granitt:"#1B1917",hvit:"#FFFFFF",svart:"#000000",skifer:"#313030",fjellgra:"#444141",stein:"#636060",svaberg:"#C8C5C3",dis:"#ECE9E5",sand:"#F4F2EF"},functional:{info:"#D3D3F6",infoDark:"#A9A9CA",success:"#ACD3B5",successDark:"#94B79B",warning:"#EFDD9E",warningDark:"#DECC8D",error:"#F6B3B3",errorDark:"#DE9E9E"},background:{page:{light:"#F4F2EF",dark:"#1B1917"},pageVariant:{light:"#F9F9F9",dark:"#1B1917"},container:{light:"#F9F9F9",dark:"#313030"},containerLow:{light:"#ECE9E5",dark:"#000000"},containerHigh:{light:"#FFFFFF",dark:"#313030"},containerInverted:{light:"#1B1917",dark:"#F9F9F9"},containerSubdued:{light:"#C8C5C3",dark:"#636060"},input:{base:{light:"transparent",dark:"transparent"},focus:{light:"#FFFFFF",dark:"#313030"}},action:{light:"#1B1917",dark:"#F9F9F9"},interactive:{light:"transparent",dark:"transparent"},interactiveHover:{light:"#ECE9E5",dark:"#444141"},interactiveSelected:{light:"#E0DBD4",dark:"#636060"},alert:{neutral:{light:"#E0DBD4",dark:"#E0DBD4"},info:{light:"#D3D3F6",dark:"#A9A9CA"},success:{light:"#ACD3B5",dark:"#94B79B"},warning:{light:"#EFDD9E",dark:"#DECC8D"},error:{light:"#F6B3B3",dark:"#DE9E9E"}}},text:{default:{light:"#1B1917",dark:"#F9F9F9"},subdued:{light:"#636060",dark:"#C8C5C3"},inverted:{light:"#F9F9F9",dark:"#1B1917"},onAction:{light:"#F9F9F9",dark:"#1B1917"},interactive:{light:"#1B1917",dark:"#F9F9F9"},interactiveHover:{light:"#636060",dark:"#C8C5C3"},onAlert:{light:"#1B1917",dark:"#1B1917"}},border:{action:{light:"#1B1917",dark:"#F9F9F9"},input:{light:"#636060",dark:"#C8C5C3"},inputFocus:{light:"#1B1917",dark:"#F9F9F9"},separator:{light:"#C8C5C3",dark:"#636060"},separatorStrong:{light:"#636060",dark:"#C8C5C3"},separatorHover:{light:"#1B1917",dark:"#F9F9F9"},subdued:{light:"#C8C5C3",dark:"#636060"}},svart:"#000",granitt:"#1b1917",skifer:"#313030",fjellgra:"#444141",stein:"#636060",svaberg:"#c8c5c3",varde:"#e0dbd4",dis:"#ece9e5",sand:"#f4f2ef",snohvit:"#f9f9f9",hvit:"#fff",suksess:"#acd3b5",suksessDark:"#94b79b",feil:"#f6b3b3",feilDark:"#de9e9e",info:"#d3d3f6",infoDark:"#a9a9ca",advarsel:"#efdd9e",advarselDark:"#decc8d"},motion:{timing:{energetic:"75ms",snappy:"100ms",productive:"150ms",expressive:"250ms",lazy:"400ms"},easing:{standard:"ease",entrance:"ease-out",exit:"ease-in",easeInBounceOut:"cubic-bezier(0, 0, 0.375, 1.17)",focus:"cubic-bezier(0.6, 0.2, 0.35, 1)"}},spacing:{0:"0",2:"0.125rem",4:"0.25rem",8:"0.5rem",12:"0.75rem",16:"1rem",24:"1.5rem",32:"2rem",40:"2.5rem",64:"4rem",104:"6.5rem",168:"10.5rem"},icon:{weight:{normal:"300",bold:"500"}},typography:{weight:{normal:"400",bold:"700"},font:{size:{16:"1rem",18:"1.125rem",20:"1.25rem",21:"1.3125rem",23:"1.4375rem",25:"1.5625rem",26:"1.625rem",28:"1.75rem",30:"1.875rem",36:"2.25rem",44:"2.75rem",56:"3.5rem"}},line:{height:{24:"1.5rem",28:"1.75rem",32:"2rem",36:"2.25rem",40:"2.5rem",44:"2.75rem",52:"3.25rem",64:"4rem"}},title:{small:{fontSize:"2.25rem",lineHeight:"2.75rem",fontWeight:"400"},base:{fontSize:"3.5rem",lineHeight:"4rem",fontWeight:"400"}},titleSmall:{small:{fontSize:"1.875rem",lineHeight:"2.25rem",fontWeight:"400"},base:{fontSize:"2.75rem",lineHeight:"3.25rem",fontWeight:"400"}},heading_1:{small:{fontSize:"1.625rem",lineHeight:"2rem",fontWeight:"400"},base:{fontSize:"2.25rem",lineHeight:"2.75rem",fontWeight:"400"}},heading_2:{small:{fontSize:"1.4375rem",lineHeight:"2rem",fontWeight:"400"},base:{fontSize:"1.75rem",lineHeight:"2.5rem",fontWeight:"400"}},heading_3:{small:{fontSize:"1.3125rem",lineHeight:"1.75rem",fontWeight:"700"},base:{fontSize:"1.5625rem",lineHeight:"2rem",fontWeight:"700"}},heading_4:{small:{fontSize:"1.125rem",lineHeight:"1.5rem",fontWeight:"700"},base:{fontSize:"1.3125rem",lineHeight:"1.75rem",fontWeight:"700"}},heading_5:{small:{fontSize:"1rem",lineHeight:"1.5rem",fontWeight:"700"},base:{fontSize:"1rem",lineHeight:"1.5rem",fontWeight:"700"}},body:{small:{fontSize:"1.125rem",lineHeight:"1.75rem",fontWeight:"400"},base:{fontSize:"1.25rem",lineHeight:"2rem",fontWeight:"400"}},small:{small:{fontSize:"1rem",lineHeight:"1.5rem",fontWeight:"400"},base:{fontSize:"1rem",lineHeight:"1.5rem",fontWeight:"400"}}}};
2
2
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sources":["../../../src/core/tokens.ts"],"sourcesContent":["/**\n * Do not edit directly\n * Generated on Tue, 10 Sep 2024 05:21:22 GMT\n */\n\nexport default {\n color: {\n brand: {\n snohvit: \"#F9F9F9\",\n varde: \"#E0DBD4\",\n granitt: \"#1B1917\",\n hvit: \"#FFFFFF\",\n svart: \"#000000\",\n skifer: \"#313030\",\n fjellgra: \"#444141\",\n stein: \"#636060\",\n svaberg: \"#C8C5C3\",\n dis: \"#ECE9E5\",\n sand: \"#F4F2EF\",\n },\n functional: {\n info: \"#D3D3F6\",\n infoDark: \"#A9A9CA\",\n success: \"#ACD3B5\",\n successDark: \"#94B79B\",\n warning: \"#EFDD9E\",\n warningDark: \"#DECC8D\",\n error: \"#F6B3B3\",\n errorDark: \"#DE9E9E\",\n },\n background: {\n page: {\n light: \"#F4F2EF\",\n dark: \"#1B1917\",\n },\n pageVariant: {\n light: \"#F9F9F9\",\n dark: \"#1B1917\",\n },\n container: {\n light: \"#F9F9F9\",\n dark: \"#313030\",\n },\n containerLow: {\n light: \"#ECE9E5\",\n dark: \"#000000\",\n },\n containerHigh: {\n light: \"#FFFFFF\",\n dark: \"#313030\",\n },\n containerInverted: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n containerSubdued: {\n light: \"#C8C5C3\",\n dark: \"#636060\",\n },\n input: {\n base: {\n light: \"transparent\",\n dark: \"transparent\",\n },\n focus: {\n light: \"#FFFFFF\",\n dark: \"#313030\",\n },\n },\n action: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n interactive: {\n light: \"transparent\",\n dark: \"transparent\",\n },\n interactiveHover: {\n light: \"#ECE9E5\",\n dark: \"#444141\",\n },\n interactiveSelected: {\n light: \"#E0DBD4\",\n dark: \"#636060\",\n },\n alert: {\n neutral: {\n light: \"#E0DBD4\",\n dark: \"#E0DBD4\",\n },\n info: {\n light: \"#D3D3F6\",\n dark: \"#A9A9CA\",\n },\n success: {\n light: \"#ACD3B5\",\n dark: \"#94B79B\",\n },\n warning: {\n light: \"#EFDD9E\",\n dark: \"#DECC8D\",\n },\n error: {\n light: \"#F6B3B3\",\n dark: \"#DE9E9E\",\n },\n },\n },\n text: {\n default: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n subdued: {\n light: \"#636060\",\n dark: \"#C8C5C3\",\n },\n inverted: {\n light: \"#F9F9F9\",\n dark: \"#1B1917\",\n },\n onAction: {\n light: \"#F9F9F9\",\n dark: \"#1B1917\",\n },\n interactive: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n interactiveHover: {\n light: \"#636060\",\n dark: \"#C8C5C3\",\n },\n onAlert: {\n light: \"#1B1917\",\n dark: \"#1B1917\",\n },\n },\n border: {\n action: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n input: {\n light: \"#636060\",\n dark: \"#C8C5C3\",\n },\n inputFocus: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n separator: {\n light: \"#C8C5C3\",\n dark: \"#636060\",\n },\n separatorStrong: {\n light: \"#636060\",\n dark: \"#C8C5C3\",\n },\n separatorHover: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n subdued: {\n light: \"#C8C5C3\",\n dark: \"#636060\",\n },\n },\n svart: \"#000\",\n granitt: \"#1b1917\",\n skifer: \"#313030\",\n fjellgra: \"#444141\",\n stein: \"#636060\",\n svaberg: \"#c8c5c3\",\n varde: \"#e0dbd4\",\n dis: \"#ece9e5\",\n sand: \"#f4f2ef\",\n snohvit: \"#f9f9f9\",\n hvit: \"#fff\",\n suksess: \"#acd3b5\",\n suksessDark: \"#94b79b\",\n feil: \"#f6b3b3\",\n feilDark: \"#de9e9e\",\n info: \"#d3d3f6\",\n infoDark: \"#a9a9ca\",\n advarsel: \"#efdd9e\",\n advarselDark: \"#decc8d\",\n },\n spacing: {\n 0: \"0\",\n 2: \"0.125rem\",\n 4: \"0.25rem\",\n 8: \"0.5rem\",\n 12: \"0.75rem\",\n 16: \"1rem\",\n 24: \"1.5rem\",\n 32: \"2rem\",\n 40: \"2.5rem\",\n 64: \"4rem\",\n 104: \"6.5rem\",\n 168: \"10.5rem\",\n },\n icon: {\n weight: {\n normal: \"300\",\n bold: \"500\",\n },\n },\n typography: {\n weight: {\n normal: \"400\",\n bold: \"700\",\n },\n font: {\n size: {\n 16: \"1rem\",\n 18: \"1.125rem\",\n 20: \"1.25rem\",\n 21: \"1.3125rem\",\n 23: \"1.4375rem\",\n 25: \"1.5625rem\",\n 26: \"1.625rem\",\n 28: \"1.75rem\",\n 30: \"1.875rem\",\n 36: \"2.25rem\",\n 44: \"2.75rem\",\n 56: \"3.5rem\",\n },\n },\n line: {\n height: {\n 24: \"1.5rem\",\n 28: \"1.75rem\",\n 32: \"2rem\",\n 36: \"2.25rem\",\n 40: \"2.5rem\",\n 44: \"2.75rem\",\n 52: \"3.25rem\",\n 64: \"4rem\",\n },\n },\n title: {\n small: {\n fontSize: \"2.25rem\",\n lineHeight: \"2.75rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"3.5rem\",\n lineHeight: \"4rem\",\n fontWeight: \"400\",\n },\n },\n titleSmall: {\n small: {\n fontSize: \"1.875rem\",\n lineHeight: \"2.25rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"2.75rem\",\n lineHeight: \"3.25rem\",\n fontWeight: \"400\",\n },\n },\n heading_1: {\n small: {\n fontSize: \"1.625rem\",\n lineHeight: \"2rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"2.25rem\",\n lineHeight: \"2.75rem\",\n fontWeight: \"400\",\n },\n },\n heading_2: {\n small: {\n fontSize: \"1.4375rem\",\n lineHeight: \"2rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"1.75rem\",\n lineHeight: \"2.5rem\",\n fontWeight: \"400\",\n },\n },\n heading_3: {\n small: {\n fontSize: \"1.3125rem\",\n lineHeight: \"1.75rem\",\n fontWeight: \"700\",\n },\n base: {\n fontSize: \"1.5625rem\",\n lineHeight: \"2rem\",\n fontWeight: \"700\",\n },\n },\n heading_4: {\n small: {\n fontSize: \"1.125rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"700\",\n },\n base: {\n fontSize: \"1.3125rem\",\n lineHeight: \"1.75rem\",\n fontWeight: \"700\",\n },\n },\n heading_5: {\n small: {\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"700\",\n },\n base: {\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"700\",\n },\n },\n body: {\n small: {\n fontSize: \"1.125rem\",\n lineHeight: \"1.75rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"1.25rem\",\n lineHeight: \"2rem\",\n fontWeight: \"400\",\n },\n },\n small: {\n small: {\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"400\",\n },\n },\n },\n};\n"],"names":["color","brand","snohvit","varde","granitt","hvit","svart","skifer","fjellgra","stein","svaberg","dis","sand","functional","info","infoDark","success","successDark","warning","warningDark","error","errorDark","background","page","light","dark","pageVariant","container","containerLow","containerHigh","containerInverted","containerSubdued","input","base","focus","action","interactive","interactiveHover","interactiveSelected","alert","neutral","text","default","subdued","inverted","onAction","onAlert","border","inputFocus","separator","separatorStrong","separatorHover","suksess","suksessDark","feil","feilDark","advarsel","advarselDark","spacing","icon","weight","normal","bold","typography","font","size","line","height","title","small","fontSize","lineHeight","fontWeight","titleSmall","heading_1","heading_2","heading_3","heading_4","heading_5","body"],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sources":["../../../src/core/tokens.ts"],"sourcesContent":["/**\n * Do not edit directly\n * Generated on Mon, 23 Sep 2024 08:51:40 GMT\n */\n\nexport default {\n breakpoint: {\n medium: \"680px\",\n large: \"1200px\",\n xl: \"1600px\",\n },\n color: {\n brand: {\n snohvit: \"#F9F9F9\",\n varde: \"#E0DBD4\",\n granitt: \"#1B1917\",\n hvit: \"#FFFFFF\",\n svart: \"#000000\",\n skifer: \"#313030\",\n fjellgra: \"#444141\",\n stein: \"#636060\",\n svaberg: \"#C8C5C3\",\n dis: \"#ECE9E5\",\n sand: \"#F4F2EF\",\n },\n functional: {\n info: \"#D3D3F6\",\n infoDark: \"#A9A9CA\",\n success: \"#ACD3B5\",\n successDark: \"#94B79B\",\n warning: \"#EFDD9E\",\n warningDark: \"#DECC8D\",\n error: \"#F6B3B3\",\n errorDark: \"#DE9E9E\",\n },\n background: {\n page: {\n light: \"#F4F2EF\",\n dark: \"#1B1917\",\n },\n pageVariant: {\n light: \"#F9F9F9\",\n dark: \"#1B1917\",\n },\n container: {\n light: \"#F9F9F9\",\n dark: \"#313030\",\n },\n containerLow: {\n light: \"#ECE9E5\",\n dark: \"#000000\",\n },\n containerHigh: {\n light: \"#FFFFFF\",\n dark: \"#313030\",\n },\n containerInverted: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n containerSubdued: {\n light: \"#C8C5C3\",\n dark: \"#636060\",\n },\n input: {\n base: {\n light: \"transparent\",\n dark: \"transparent\",\n },\n focus: {\n light: \"#FFFFFF\",\n dark: \"#313030\",\n },\n },\n action: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n interactive: {\n light: \"transparent\",\n dark: \"transparent\",\n },\n interactiveHover: {\n light: \"#ECE9E5\",\n dark: \"#444141\",\n },\n interactiveSelected: {\n light: \"#E0DBD4\",\n dark: \"#636060\",\n },\n alert: {\n neutral: {\n light: \"#E0DBD4\",\n dark: \"#E0DBD4\",\n },\n info: {\n light: \"#D3D3F6\",\n dark: \"#A9A9CA\",\n },\n success: {\n light: \"#ACD3B5\",\n dark: \"#94B79B\",\n },\n warning: {\n light: \"#EFDD9E\",\n dark: \"#DECC8D\",\n },\n error: {\n light: \"#F6B3B3\",\n dark: \"#DE9E9E\",\n },\n },\n },\n text: {\n default: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n subdued: {\n light: \"#636060\",\n dark: \"#C8C5C3\",\n },\n inverted: {\n light: \"#F9F9F9\",\n dark: \"#1B1917\",\n },\n onAction: {\n light: \"#F9F9F9\",\n dark: \"#1B1917\",\n },\n interactive: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n interactiveHover: {\n light: \"#636060\",\n dark: \"#C8C5C3\",\n },\n onAlert: {\n light: \"#1B1917\",\n dark: \"#1B1917\",\n },\n },\n border: {\n action: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n input: {\n light: \"#636060\",\n dark: \"#C8C5C3\",\n },\n inputFocus: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n separator: {\n light: \"#C8C5C3\",\n dark: \"#636060\",\n },\n separatorStrong: {\n light: \"#636060\",\n dark: \"#C8C5C3\",\n },\n separatorHover: {\n light: \"#1B1917\",\n dark: \"#F9F9F9\",\n },\n subdued: {\n light: \"#C8C5C3\",\n dark: \"#636060\",\n },\n },\n svart: \"#000\",\n granitt: \"#1b1917\",\n skifer: \"#313030\",\n fjellgra: \"#444141\",\n stein: \"#636060\",\n svaberg: \"#c8c5c3\",\n varde: \"#e0dbd4\",\n dis: \"#ece9e5\",\n sand: \"#f4f2ef\",\n snohvit: \"#f9f9f9\",\n hvit: \"#fff\",\n suksess: \"#acd3b5\",\n suksessDark: \"#94b79b\",\n feil: \"#f6b3b3\",\n feilDark: \"#de9e9e\",\n info: \"#d3d3f6\",\n infoDark: \"#a9a9ca\",\n advarsel: \"#efdd9e\",\n advarselDark: \"#decc8d\",\n },\n motion: {\n timing: {\n energetic: \"75ms\",\n snappy: \"100ms\",\n productive: \"150ms\",\n expressive: \"250ms\",\n lazy: \"400ms\",\n },\n easing: {\n standard: \"ease\",\n entrance: \"ease-out\",\n exit: \"ease-in\",\n easeInBounceOut: \"cubic-bezier(0, 0, 0.375, 1.17)\",\n focus: \"cubic-bezier(0.6, 0.2, 0.35, 1)\",\n },\n },\n spacing: {\n 0: \"0\",\n 2: \"0.125rem\",\n 4: \"0.25rem\",\n 8: \"0.5rem\",\n 12: \"0.75rem\",\n 16: \"1rem\",\n 24: \"1.5rem\",\n 32: \"2rem\",\n 40: \"2.5rem\",\n 64: \"4rem\",\n 104: \"6.5rem\",\n 168: \"10.5rem\",\n },\n icon: {\n weight: {\n normal: \"300\",\n bold: \"500\",\n },\n },\n typography: {\n weight: {\n normal: \"400\",\n bold: \"700\",\n },\n font: {\n size: {\n 16: \"1rem\",\n 18: \"1.125rem\",\n 20: \"1.25rem\",\n 21: \"1.3125rem\",\n 23: \"1.4375rem\",\n 25: \"1.5625rem\",\n 26: \"1.625rem\",\n 28: \"1.75rem\",\n 30: \"1.875rem\",\n 36: \"2.25rem\",\n 44: \"2.75rem\",\n 56: \"3.5rem\",\n },\n },\n line: {\n height: {\n 24: \"1.5rem\",\n 28: \"1.75rem\",\n 32: \"2rem\",\n 36: \"2.25rem\",\n 40: \"2.5rem\",\n 44: \"2.75rem\",\n 52: \"3.25rem\",\n 64: \"4rem\",\n },\n },\n title: {\n small: {\n fontSize: \"2.25rem\",\n lineHeight: \"2.75rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"3.5rem\",\n lineHeight: \"4rem\",\n fontWeight: \"400\",\n },\n },\n titleSmall: {\n small: {\n fontSize: \"1.875rem\",\n lineHeight: \"2.25rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"2.75rem\",\n lineHeight: \"3.25rem\",\n fontWeight: \"400\",\n },\n },\n heading_1: {\n small: {\n fontSize: \"1.625rem\",\n lineHeight: \"2rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"2.25rem\",\n lineHeight: \"2.75rem\",\n fontWeight: \"400\",\n },\n },\n heading_2: {\n small: {\n fontSize: \"1.4375rem\",\n lineHeight: \"2rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"1.75rem\",\n lineHeight: \"2.5rem\",\n fontWeight: \"400\",\n },\n },\n heading_3: {\n small: {\n fontSize: \"1.3125rem\",\n lineHeight: \"1.75rem\",\n fontWeight: \"700\",\n },\n base: {\n fontSize: \"1.5625rem\",\n lineHeight: \"2rem\",\n fontWeight: \"700\",\n },\n },\n heading_4: {\n small: {\n fontSize: \"1.125rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"700\",\n },\n base: {\n fontSize: \"1.3125rem\",\n lineHeight: \"1.75rem\",\n fontWeight: \"700\",\n },\n },\n heading_5: {\n small: {\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"700\",\n },\n base: {\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"700\",\n },\n },\n body: {\n small: {\n fontSize: \"1.125rem\",\n lineHeight: \"1.75rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"1.25rem\",\n lineHeight: \"2rem\",\n fontWeight: \"400\",\n },\n },\n small: {\n small: {\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"400\",\n },\n base: {\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n fontWeight: \"400\",\n },\n },\n },\n};\n"],"names":["breakpoint","medium","large","xl","color","brand","snohvit","varde","granitt","hvit","svart","skifer","fjellgra","stein","svaberg","dis","sand","functional","info","infoDark","success","successDark","warning","warningDark","error","errorDark","background","page","light","dark","pageVariant","container","containerLow","containerHigh","containerInverted","containerSubdued","input","base","focus","action","interactive","interactiveHover","interactiveSelected","alert","neutral","text","default","subdued","inverted","onAction","onAlert","border","inputFocus","separator","separatorStrong","separatorHover","suksess","suksessDark","feil","feilDark","advarsel","advarselDark","motion","timing","energetic","snappy","productive","expressive","lazy","easing","standard","entrance","exit","easeInBounceOut","spacing","icon","weight","normal","bold","typography","font","size","line","height","title","small","fontSize","lineHeight","fontWeight","titleSmall","heading_1","heading_2","heading_3","heading_4","heading_5","body"],"mappings":"AAKA,4BAAe,CACXA,WAAY,CACRC,OAAQ,QACRC,MAAO,SACPC,GAAI,UAERC,MAAO,CACHC,MAAO,CACHC,QAAS,UACTC,MAAO,UACPC,QAAS,UACTC,KAAM,UACNC,MAAO,UACPC,OAAQ,UACRC,SAAU,UACVC,MAAO,UACPC,QAAS,UACTC,IAAK,UACLC,KAAM,WAEVC,WAAY,CACRC,KAAM,UACNC,SAAU,UACVC,QAAS,UACTC,YAAa,UACbC,QAAS,UACTC,YAAa,UACbC,MAAO,UACPC,UAAW,WAEfC,WAAY,CACRC,KAAM,CACFC,MAAO,UACPC,KAAM,WAEVC,YAAa,CACTF,MAAO,UACPC,KAAM,WAEVE,UAAW,CACPH,MAAO,UACPC,KAAM,WAEVG,aAAc,CACVJ,MAAO,UACPC,KAAM,WAEVI,cAAe,CACXL,MAAO,UACPC,KAAM,WAEVK,kBAAmB,CACfN,MAAO,UACPC,KAAM,WAEVM,iBAAkB,CACdP,MAAO,UACPC,KAAM,WAEVO,MAAO,CACHC,KAAM,CACFT,MAAO,cACPC,KAAM,eAEVS,MAAO,CACHV,MAAO,UACPC,KAAM,YAGdU,OAAQ,CACJX,MAAO,UACPC,KAAM,WAEVW,YAAa,CACTZ,MAAO,cACPC,KAAM,eAEVY,iBAAkB,CACdb,MAAO,UACPC,KAAM,WAEVa,oBAAqB,CACjBd,MAAO,UACPC,KAAM,WAEVc,MAAO,CACHC,QAAS,CACLhB,MAAO,UACPC,KAAM,WAEVX,KAAM,CACFU,MAAO,UACPC,KAAM,WAEVT,QAAS,CACLQ,MAAO,UACPC,KAAM,WAEVP,QAAS,CACLM,MAAO,UACPC,KAAM,WAEVL,MAAO,CACHI,MAAO,UACPC,KAAM,aAIlBgB,KAAM,CACFC,QAAS,CACLlB,MAAO,UACPC,KAAM,WAEVkB,QAAS,CACLnB,MAAO,UACPC,KAAM,WAEVmB,SAAU,CACNpB,MAAO,UACPC,KAAM,WAEVoB,SAAU,CACNrB,MAAO,UACPC,KAAM,WAEVW,YAAa,CACTZ,MAAO,UACPC,KAAM,WAEVY,iBAAkB,CACdb,MAAO,UACPC,KAAM,WAEVqB,QAAS,CACLtB,MAAO,UACPC,KAAM,YAGdsB,OAAQ,CACJZ,OAAQ,CACJX,MAAO,UACPC,KAAM,WAEVO,MAAO,CACHR,MAAO,UACPC,KAAM,WAEVuB,WAAY,CACRxB,MAAO,UACPC,KAAM,WAEVwB,UAAW,CACPzB,MAAO,UACPC,KAAM,WAEVyB,gBAAiB,CACb1B,MAAO,UACPC,KAAM,WAEV0B,eAAgB,CACZ3B,MAAO,UACPC,KAAM,WAEVkB,QAAS,CACLnB,MAAO,UACPC,KAAM,YAGdnB,MAAO,OACPF,QAAS,UACTG,OAAQ,UACRC,SAAU,UACVC,MAAO,UACPC,QAAS,UACTP,MAAO,UACPQ,IAAK,UACLC,KAAM,UACNV,QAAS,UACTG,KAAM,OACN+C,QAAS,UACTC,YAAa,UACbC,KAAM,UACNC,SAAU,UACVzC,KAAM,UACNC,SAAU,UACVyC,SAAU,UACVC,aAAc,WAElBC,OAAQ,CACJC,OAAQ,CACJC,UAAW,OACXC,OAAQ,QACRC,WAAY,QACZC,WAAY,QACZC,KAAM,SAEVC,OAAQ,CACJC,SAAU,OACVC,SAAU,WACVC,KAAM,UACNC,gBAAiB,kCACjBnC,MAAO,oCAGfoC,QAAS,CACL,EAAG,IACH,EAAG,WACH,EAAG,UACH,EAAG,SACH,GAAI,UACJ,GAAI,OACJ,GAAI,SACJ,GAAI,OACJ,GAAI,SACJ,GAAI,OACJ,IAAK,SACL,IAAK,WAETC,KAAM,CACFC,OAAQ,CACJC,OAAQ,MACRC,KAAM,QAGdC,WAAY,CACRH,OAAQ,CACJC,OAAQ,MACRC,KAAM,OAEVE,KAAM,CACFC,KAAM,CACF,GAAI,OACJ,GAAI,WACJ,GAAI,UACJ,GAAI,YACJ,GAAI,YACJ,GAAI,YACJ,GAAI,WACJ,GAAI,UACJ,GAAI,WACJ,GAAI,UACJ,GAAI,UACJ,GAAI,WAGZC,KAAM,CACFC,OAAQ,CACJ,GAAI,SACJ,GAAI,UACJ,GAAI,OACJ,GAAI,UACJ,GAAI,SACJ,GAAI,UACJ,GAAI,UACJ,GAAI,SAGZC,MAAO,CACHC,MAAO,CACHC,SAAU,UACVC,WAAY,UACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,SACVC,WAAY,OACZC,WAAY,QAGpBC,WAAY,CACRJ,MAAO,CACHC,SAAU,WACVC,WAAY,UACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,UACVC,WAAY,UACZC,WAAY,QAGpBE,UAAW,CACPL,MAAO,CACHC,SAAU,WACVC,WAAY,OACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,UACVC,WAAY,UACZC,WAAY,QAGpBG,UAAW,CACPN,MAAO,CACHC,SAAU,YACVC,WAAY,OACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,UACVC,WAAY,SACZC,WAAY,QAGpBI,UAAW,CACPP,MAAO,CACHC,SAAU,YACVC,WAAY,UACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,YACVC,WAAY,OACZC,WAAY,QAGpBK,UAAW,CACPR,MAAO,CACHC,SAAU,WACVC,WAAY,SACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,YACVC,WAAY,UACZC,WAAY,QAGpBM,UAAW,CACPT,MAAO,CACHC,SAAU,OACVC,WAAY,SACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,OACVC,WAAY,SACZC,WAAY,QAGpBO,KAAM,CACFV,MAAO,CACHC,SAAU,WACVC,WAAY,UACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,UACVC,WAAY,OACZC,WAAY,QAGpBH,MAAO,CACHA,MAAO,CACHC,SAAU,OACVC,WAAY,SACZC,WAAY,OAEhBnD,KAAM,CACFiD,SAAU,OACVC,WAAY,SACZC,WAAY"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("../../core/utils/motion.js"),r=require("../useBrowserPreferences/useBrowserPreferences.js"),n=require("../usePreviousValue/usePreviousValue.js");exports.useAnimatedHeight=function(i,s){const l=n.usePreviousValue(i),o=(null==s?void 0:s.easing)||"standard",u=(null==s?void 0:s.timing)||"productive",a=(null==s?void 0:s.display)||"block",c=`${t.timings[u]} height ${t.easings[o]}`,{prefersReducedMotion:d}=r.useBrowserPreferences(),v=e.useRef(),f=e.useRef(),y=e.useRef(null);function m(e){var t;const r=y.current;r&&e.target===r&&(i?r.removeAttribute("style"):(r.removeAttribute("style"),r.style.display="none"),null==(t=null==s?void 0:s.onTransitionEnd)||t.call(s,i,y))}const g=e.useCallback((()=>{var e,t,r,n;const o=y.current;if(o&&void 0!==l){if(i){if(i&&l)return}else if(o.style.display="none",!l)return;if(null==(e=null==s?void 0:s.onTransitionStart)||e.call(s,i,y),d)return o.removeAttribute("style"),i&&(null==(t=null==s?void 0:s.onFirstVisible)||t.call(s,i,y)),void(null==(r=null==s?void 0:s.onTransitionEnd)||r.call(s,i,y));if(o.style.transition=c,o.style.display=a,o.style.overflow="hidden",i)null==(n=null==s?void 0:s.onFirstVisible)||n.call(s,i,y),o.style.height="0",o.style.height=`${o.scrollHeight}px`;else{if(0===o.scrollHeight)return void o.removeAttribute("style");o.style.height=`${o.scrollHeight}px`,v.current=requestAnimationFrame((()=>{f.current=requestAnimationFrame((()=>{o.style.height="0px"}))}))}}}),[i,s,l,c,d,a]);return e.useEffect((()=>{g()}),[i,g]),e.useEffect((()=>{const e=y.current;return e&&e.addEventListener("transitionend",m),()=>{e&&e.removeEventListener("transitionend",m)}}),[i]),e.useEffect((()=>{const e=v.current,t=f.current;return()=>{e&&cancelAnimationFrame(e),t&&cancelAnimationFrame(t)}}),[v,f]),[y,g]};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("../../core/tokens.js"),r=require("../useBrowserPreferences/useBrowserPreferences.js"),n=require("../usePreviousValue/usePreviousValue.js");exports.useAnimatedHeight=function(i,s){const l=n.usePreviousValue(i),o=(null==s?void 0:s.easing)||"standard",u=(null==s?void 0:s.timing)||"productive",a=(null==s?void 0:s.display)||"block",c=`${t.motion.timing[u]} height ${t.motion.easing[o]}`,{prefersReducedMotion:d}=r.useBrowserPreferences(),v=e.useRef(),f=e.useRef(),m=e.useRef(null);function y(e){var t;const r=m.current;r&&e.target===r&&(i?r.removeAttribute("style"):(r.removeAttribute("style"),r.style.display="none"),null==(t=null==s?void 0:s.onTransitionEnd)||t.call(s,i,m))}const g=e.useCallback((()=>{var e,t,r,n;const o=m.current;if(o&&void 0!==l){if(i){if(i&&l)return}else if(o.style.display="none",!l)return;if(null==(e=null==s?void 0:s.onTransitionStart)||e.call(s,i,m),d)return o.removeAttribute("style"),i&&(null==(t=null==s?void 0:s.onFirstVisible)||t.call(s,i,m)),void(null==(r=null==s?void 0:s.onTransitionEnd)||r.call(s,i,m));if(o.style.transition=c,o.style.display=a,o.style.overflow="hidden",i)null==(n=null==s?void 0:s.onFirstVisible)||n.call(s,i,m),o.style.height="0",o.style.height=`${o.scrollHeight}px`;else{if(0===o.scrollHeight)return void o.removeAttribute("style");o.style.height=`${o.scrollHeight}px`,v.current=requestAnimationFrame((()=>{f.current=requestAnimationFrame((()=>{o.style.height="0px"}))}))}}}),[i,s,l,c,d,a]);return e.useEffect((()=>{g()}),[i,g]),e.useEffect((()=>{const e=m.current;return e&&e.addEventListener("transitionend",y),()=>{e&&e.removeEventListener("transitionend",y)}}),[i]),e.useEffect((()=>{const e=v.current,t=f.current;return()=>{e&&cancelAnimationFrame(e),t&&cancelAnimationFrame(t)}}),[v,f]),[m,g]};
2
2
  //# sourceMappingURL=useAnimatedHeight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAnimatedHeight.js","sources":["../../../../src/hooks/useAnimatedHeight/useAnimatedHeight.ts"],"sourcesContent":["import { type RefObject, useCallback, useEffect, useRef } from \"react\";\nimport { easings, timings } from \"../../core\";\nimport { useBrowserPreferences } from \"../useBrowserPreferences/useBrowserPreferences\";\nimport { usePreviousValue } from \"../usePreviousValue/usePreviousValue\";\nimport { UseAnimatedHeightOptions } from \"./types\";\n\nconst defaultDisplay = \"block\";\nconst defaultEasing = \"standard\";\nconst defaultTiming = \"productive\";\n\n/**\n * Lar deg animere et element opp til sin maksimale høyde, eller ned til 0.\n *\n * @param isOpen Om elementet er åpent eller lukket.\n * @param options Konfigurer display-property, easing og timing, og eventuelle callbacks for life cycle til animasjonen.\n * @returns Ref til elementet som skal animeres, og en funksjon for å trigge animasjonen manuelt.\n */\nexport function useAnimatedHeight<T extends HTMLElement>(\n isOpen: boolean,\n options?: UseAnimatedHeightOptions<T>,\n): [RefObject<T>, () => void] {\n const wasOpen = usePreviousValue(isOpen);\n const easing = options?.easing || defaultEasing;\n const timing = options?.timing || defaultTiming;\n const display = options?.display || defaultDisplay;\n const transition = `${timings[timing]} height ${easings[easing]}`;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n const raf1 = useRef<number>();\n const raf2 = useRef<number>();\n const elementRef = useRef<T>(null);\n\n function handleTransitionEnd(event: TransitionEvent) {\n const element = elementRef.current;\n\n // Ignore bubbling transitions from within container\n if (element && event.target === element) {\n if (isOpen) {\n element.removeAttribute(\"style\");\n } else {\n element.removeAttribute(\"style\");\n element.style.display = \"none\";\n }\n options?.onTransitionEnd?.(isOpen, elementRef);\n }\n }\n\n const runAnimation = useCallback(() => {\n const element = elementRef.current;\n\n // Ikke kjør animasjonen hvis elementet ikke er rendret,\n // eller hvis det er første render.\n if (!element || wasOpen === undefined) {\n return;\n }\n\n if (!isOpen) {\n element.style.display = \"none\";\n if (!wasOpen) {\n // Første render eller rerender med isOpen false\n return;\n }\n } else if (isOpen && wasOpen) {\n // Re-render etter å ha vært lukket, men forblitt åpen.\n return;\n }\n\n options?.onTransitionStart?.(isOpen, elementRef);\n\n if (prefersReducedMotion) {\n element.removeAttribute(\"style\");\n if (isOpen) {\n options?.onFirstVisible?.(isOpen, elementRef);\n }\n options?.onTransitionEnd?.(isOpen, elementRef); // make sure to call callback when animation is off\n return;\n }\n\n element.style.transition = transition;\n element.style.display = display;\n element.style.overflow = \"hidden\";\n\n if (isOpen) {\n options?.onFirstVisible?.(isOpen, elementRef);\n element.style.height = \"0\";\n element.style.height = `${element.scrollHeight}px`;\n } else {\n // If the scrollHeight is 0 it means that we are transitioning from height 0 -> 0.\n // This causes the \"transitionend\"-event to never fire and the element gets stuck with\n // style: height: 0; display: block; overflow:hidden\n if (element.scrollHeight === 0) {\n element.removeAttribute(\"style\");\n return;\n }\n\n element.style.height = `${element.scrollHeight}px`;\n\n raf1.current = requestAnimationFrame(() => {\n raf2.current = requestAnimationFrame(() => {\n element.style.height = `${0}px`;\n });\n });\n }\n }, [isOpen, options, wasOpen, transition, prefersReducedMotion, display]);\n\n useEffect(() => {\n runAnimation();\n }, [isOpen, runAnimation]);\n\n useEffect(() => {\n const element = elementRef.current;\n if (element) {\n element.addEventListener(\"transitionend\", handleTransitionEnd);\n }\n\n return () => {\n if (element) {\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n useEffect(() => {\n const r1 = raf1.current;\n const r2 = raf2.current;\n return () => {\n r1 && cancelAnimationFrame(r1);\n r2 && cancelAnimationFrame(r2);\n };\n }, [raf1, raf2]);\n\n return [elementRef, runAnimation];\n}\n"],"names":["isOpen","options","wasOpen","usePreviousValue","easing","timing","display","transition","timings","easings","prefersReducedMotion","useBrowserPreferences","raf1","useRef","raf2","elementRef","handleTransitionEnd","event","element","current","target","removeAttribute","style","_a","onTransitionEnd","call","runAnimation","useCallback","onTransitionStart","_b","onFirstVisible","_c","overflow","_d","height","scrollHeight","requestAnimationFrame","useEffect","addEventListener","removeEventListener","r1","r2","cancelAnimationFrame"],"mappings":"+RAiBgB,SACZA,EACAC,GAEM,MAAAC,EAAUC,mBAAiBH,GAC3BI,GAAS,MAAAH,OAAA,EAAAA,EAASG,SAfN,WAgBZC,GAAS,MAAAJ,OAAA,EAAAA,EAASI,SAfN,aAgBZC,GAAU,MAAAL,OAAA,EAAAA,EAASK,UAlBN,QAmBbC,EAAa,GAAGC,EAAAA,QAAQH,aAAkBI,EAAAA,QAAQL,MAEhDM,qBAAAA,GAAyBC,EAAAA,wBAE3BC,EAAOC,EAAAA,SACPC,EAAOD,EAAAA,SACPE,EAAaF,SAAU,MAE7B,SAASG,EAAoBC,SACzB,MAAMC,EAAUH,EAAWI,QAGvBD,GAAWD,EAAMG,SAAWF,IACxBlB,EACAkB,EAAQG,gBAAgB,UAExBH,EAAQG,gBAAgB,SACxBH,EAAQI,MAAMhB,QAAU,QAEnB,OAAAiB,EAAA,MAAAtB,SAAAA,EAAAuB,kBAAAD,EAAAE,KAAAxB,EAAkBD,EAAQe,GAE3C,CAEM,MAAAW,EAAeC,EAAAA,aAAY,iBAC7B,MAAMT,EAAUH,EAAWI,QAIvB,GAACD,QAAuB,IAAZhB,EAIhB,CAAKF,GAAAA,GAML,GAAWA,GAAUE,EAEjB,eAPAgB,EAAQI,MAAMhB,QAAU,QACnBJ,EAED,OASR,GAFS,OAAAqB,EAAA,MAAAtB,OAAA,EAAAA,EAAA2B,oBAAAL,EAAAE,KAAAxB,EAAoBD,EAAQe,GAEjCL,EAMA,OALAQ,EAAQG,gBAAgB,SACpBrB,IACS,OAAA6B,EAAA,MAAA5B,SAAAA,EAAA6B,iBAAAD,EAAAJ,KAAAxB,EAAiBD,EAAQe,SAE7B,OAAAgB,EAAA,MAAA9B,OAAA,EAAAA,EAAAuB,kBAAAO,EAAAN,KAAAxB,EAAkBD,EAAQe,IAQvC,GAJAG,EAAQI,MAAMf,WAAaA,EAC3BW,EAAQI,MAAMhB,QAAUA,EACxBY,EAAQI,MAAMU,SAAW,SAErBhC,EACS,OAAAiC,EAAA,MAAAhC,SAAAA,EAAA6B,iBAAAG,EAAAR,KAAAxB,EAAiBD,EAAQe,GAClCG,EAAQI,MAAMY,OAAS,IACvBhB,EAAQI,MAAMY,OAAS,GAAGhB,EAAQiB,qBAC/B,CAIC,GAAyB,IAAzBjB,EAAQiB,aAER,YADAjB,EAAQG,gBAAgB,SAI5BH,EAAQI,MAAMY,OAAS,GAAGhB,EAAQiB,iBAE7BvB,EAAAO,QAAUiB,uBAAsB,KAC5BtB,EAAAK,QAAUiB,uBAAsB,KACzBlB,EAAAI,MAAMY,OAAS,QAC1B,GAET,CAAA,IACD,CAAClC,EAAQC,EAASC,EAASK,EAAYG,EAAsBJ,IAEhE+B,OAAAA,EAAAA,WAAU,KACOX,MACd,CAAC1B,EAAQ0B,IAEZW,EAAAA,WAAU,KACN,MAAMnB,EAAUH,EAAWI,QAC3B,OAAID,GACQA,EAAAoB,iBAAiB,gBAAiBtB,GAGvC,KACCE,GACQA,EAAAqB,oBAAoB,gBAAiBvB,EAAmB,CACpE,GAGL,CAAChB,IAEJqC,EAAAA,WAAU,KACN,MAAMG,EAAK5B,EAAKO,QACVsB,EAAK3B,EAAKK,QAChB,MAAO,KACHqB,GAAME,qBAAqBF,GAC3BC,GAAMC,qBAAqBD,EAAE,CAAA,GAElC,CAAC7B,EAAME,IAEH,CAACC,EAAYW,EACxB"}
1
+ {"version":3,"file":"useAnimatedHeight.js","sources":["../../../../src/hooks/useAnimatedHeight/useAnimatedHeight.ts"],"sourcesContent":["import { type RefObject, useCallback, useEffect, useRef } from \"react\";\nimport { tokens } from \"../../core\";\nimport { useBrowserPreferences } from \"../useBrowserPreferences/useBrowserPreferences\";\nimport { usePreviousValue } from \"../usePreviousValue/usePreviousValue\";\nimport { UseAnimatedHeightOptions } from \"./types\";\n\nconst defaultDisplay = \"block\";\nconst defaultEasing = \"standard\";\nconst defaultTiming = \"productive\";\n\n/**\n * Lar deg animere et element opp til sin maksimale høyde, eller ned til 0.\n *\n * @param isOpen Om elementet er åpent eller lukket.\n * @param options Konfigurer display-property, easing og timing, og eventuelle callbacks for life cycle til animasjonen.\n * @returns Ref til elementet som skal animeres, og en funksjon for å trigge animasjonen manuelt.\n */\nexport function useAnimatedHeight<T extends HTMLElement>(\n isOpen: boolean,\n options?: UseAnimatedHeightOptions<T>,\n): [RefObject<T>, () => void] {\n const wasOpen = usePreviousValue(isOpen);\n const easing = options?.easing || defaultEasing;\n const timing = options?.timing || defaultTiming;\n const display = options?.display || defaultDisplay;\n const transition = `${tokens.motion.timing[timing]} height ${tokens.motion.easing[easing]}`;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n const raf1 = useRef<number>();\n const raf2 = useRef<number>();\n const elementRef = useRef<T>(null);\n\n function handleTransitionEnd(event: TransitionEvent) {\n const element = elementRef.current;\n\n // Ignore bubbling transitions from within container\n if (element && event.target === element) {\n if (isOpen) {\n element.removeAttribute(\"style\");\n } else {\n element.removeAttribute(\"style\");\n element.style.display = \"none\";\n }\n options?.onTransitionEnd?.(isOpen, elementRef);\n }\n }\n\n const runAnimation = useCallback(() => {\n const element = elementRef.current;\n\n // Ikke kjør animasjonen hvis elementet ikke er rendret,\n // eller hvis det er første render.\n if (!element || wasOpen === undefined) {\n return;\n }\n\n if (!isOpen) {\n element.style.display = \"none\";\n if (!wasOpen) {\n // Første render eller rerender med isOpen false\n return;\n }\n } else if (isOpen && wasOpen) {\n // Re-render etter å ha vært lukket, men forblitt åpen.\n return;\n }\n\n options?.onTransitionStart?.(isOpen, elementRef);\n\n if (prefersReducedMotion) {\n element.removeAttribute(\"style\");\n if (isOpen) {\n options?.onFirstVisible?.(isOpen, elementRef);\n }\n options?.onTransitionEnd?.(isOpen, elementRef); // make sure to call callback when animation is off\n return;\n }\n\n element.style.transition = transition;\n element.style.display = display;\n element.style.overflow = \"hidden\";\n\n if (isOpen) {\n options?.onFirstVisible?.(isOpen, elementRef);\n element.style.height = \"0\";\n element.style.height = `${element.scrollHeight}px`;\n } else {\n // If the scrollHeight is 0 it means that we are transitioning from height 0 -> 0.\n // This causes the \"transitionend\"-event to never fire and the element gets stuck with\n // style: height: 0; display: block; overflow:hidden\n if (element.scrollHeight === 0) {\n element.removeAttribute(\"style\");\n return;\n }\n\n element.style.height = `${element.scrollHeight}px`;\n\n raf1.current = requestAnimationFrame(() => {\n raf2.current = requestAnimationFrame(() => {\n element.style.height = `${0}px`;\n });\n });\n }\n }, [isOpen, options, wasOpen, transition, prefersReducedMotion, display]);\n\n useEffect(() => {\n runAnimation();\n }, [isOpen, runAnimation]);\n\n useEffect(() => {\n const element = elementRef.current;\n if (element) {\n element.addEventListener(\"transitionend\", handleTransitionEnd);\n }\n\n return () => {\n if (element) {\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n useEffect(() => {\n const r1 = raf1.current;\n const r2 = raf2.current;\n return () => {\n r1 && cancelAnimationFrame(r1);\n r2 && cancelAnimationFrame(r2);\n };\n }, [raf1, raf2]);\n\n return [elementRef, runAnimation];\n}\n"],"names":["isOpen","options","wasOpen","usePreviousValue","easing","timing","display","transition","tokens","motion","prefersReducedMotion","useBrowserPreferences","raf1","useRef","raf2","elementRef","handleTransitionEnd","event","element","current","target","removeAttribute","style","_a","onTransitionEnd","call","runAnimation","useCallback","onTransitionStart","_b","onFirstVisible","_c","overflow","_d","height","scrollHeight","requestAnimationFrame","useEffect","addEventListener","removeEventListener","r1","r2","cancelAnimationFrame"],"mappings":"yRAiBgB,SACZA,EACAC,GAEM,MAAAC,EAAUC,mBAAiBH,GAC3BI,GAAS,MAAAH,OAAA,EAAAA,EAASG,SAfN,WAgBZC,GAAS,MAAAJ,OAAA,EAAAA,EAASI,SAfN,aAgBZC,GAAU,MAAAL,OAAA,EAAAA,EAASK,UAlBN,QAmBbC,EAAa,GAAGC,EAAOC,OAAOJ,OAAOA,aAAkBG,EAAOC,OAAOL,OAAOA,MAE1EM,qBAAAA,GAAyBC,EAAAA,wBAE3BC,EAAOC,EAAAA,SACPC,EAAOD,EAAAA,SACPE,EAAaF,SAAU,MAE7B,SAASG,EAAoBC,SACzB,MAAMC,EAAUH,EAAWI,QAGvBD,GAAWD,EAAMG,SAAWF,IACxBlB,EACAkB,EAAQG,gBAAgB,UAExBH,EAAQG,gBAAgB,SACxBH,EAAQI,MAAMhB,QAAU,QAEnB,OAAAiB,EAAA,MAAAtB,OAAAA,EAAAA,EAAAuB,kBAAAD,EAAAE,KAAAxB,EAAkBD,EAAQe,GAE3C,CAEM,MAAAW,EAAeC,EAAAA,aAAY,iBAC7B,MAAMT,EAAUH,EAAWI,QAIvB,GAACD,QAAuB,IAAZhB,EAIhB,CAAA,GAAKF,GAML,GAAWA,GAAUE,EAEjB,YAPAgB,GAAAA,EAAQI,MAAMhB,QAAU,QACnBJ,EAED,OASR,GAFS,OAAAqB,EAAA,MAAAtB,SAAAA,EAAA2B,oBAAAL,EAAAE,KAAAxB,EAAoBD,EAAQe,GAEjCL,EAMA,OALAQ,EAAQG,gBAAgB,SACpBrB,IACS,OAAA6B,EAAA,MAAA5B,OAAAA,EAAAA,EAAA6B,iBAAAD,EAAAJ,KAAAxB,EAAiBD,EAAQe,SAE7B,OAAAgB,EAAA,MAAA9B,SAAAA,EAAAuB,kBAAAO,EAAAN,KAAAxB,EAAkBD,EAAQe,IAQvC,GAJAG,EAAQI,MAAMf,WAAaA,EAC3BW,EAAQI,MAAMhB,QAAUA,EACxBY,EAAQI,MAAMU,SAAW,SAErBhC,EACS,OAAAiC,EAAA,MAAAhC,SAAAA,EAAA6B,iBAAAG,EAAAR,KAAAxB,EAAiBD,EAAQe,GAClCG,EAAQI,MAAMY,OAAS,IACvBhB,EAAQI,MAAMY,OAAS,GAAGhB,EAAQiB,qBAC/B,CAIC,GAAyB,IAAzBjB,EAAQiB,aAER,YADAjB,EAAQG,gBAAgB,SAI5BH,EAAQI,MAAMY,OAAS,GAAGhB,EAAQiB,iBAE7BvB,EAAAO,QAAUiB,uBAAsB,KAC5BtB,EAAAK,QAAUiB,uBAAsB,KACzBlB,EAAAI,MAAMY,OAAS,QAC1B,GAET,CAAA,IACD,CAAClC,EAAQC,EAASC,EAASK,EAAYG,EAAsBJ,IAEhE+B,OAAAA,EAAAA,WAAU,KACOX,MACd,CAAC1B,EAAQ0B,IAEZW,EAAAA,WAAU,KACN,MAAMnB,EAAUH,EAAWI,QAC3B,OAAID,GACQA,EAAAoB,iBAAiB,gBAAiBtB,GAGvC,KACCE,GACQA,EAAAqB,oBAAoB,gBAAiBvB,EAAmB,CACpE,GAGL,CAAChB,IAEJqC,EAAAA,WAAU,KACN,MAAMG,EAAK5B,EAAKO,QACVsB,EAAK3B,EAAKK,QAChB,MAAO,KACHqB,GAAME,qBAAqBF,GAC3BC,GAAMC,qBAAqBD,EAAE,CAAA,GAElC,CAAC7B,EAAME,IAEH,CAACC,EAAYW,EACxB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("../../core/utils/motion.js"),r=require("../useBrowserPreferences/useBrowserPreferences.js"),n=require("../usePreviousValue/usePreviousValue.js");exports.useAnimatedHeightBetween=function(s,i){const o=n.usePreviousValue(s),u=(null==i?void 0:i.easing)||"standard",a=(null==i?void 0:i.timing)||"productive",l=`${t.timings[a]} height ${t.easings[u]}`,{prefersReducedMotion:c}=r.useBrowserPreferences(),d=e.useRef(),f=e.useRef(),y=e.useRef(null),p=e.useCallback((e=>{var t;const r=y.current;r&&e.target===r&&(r.removeAttribute("style"),null==(t=null==i?void 0:i.onTransitionEnd)||t.call(i,s,y))}),[i,s]),v=e.useCallback((()=>{var e,t;const r=y.current;if(r&&(void 0===o&&(r.dataset.expanded=s?"true":"false"),!(!s&&!o||s&&o))){if(null==(e=null==i?void 0:i.onTransitionStart)||e.call(i,s,y),c)return r.removeAttribute("style"),r.dataset.expanded=s?"true":"false",void(null==(t=null==i?void 0:i.onTransitionEnd)||t.call(i,s,y));s?function(e,t,r,n){const s=e.current;if(!s)return;s.removeAttribute("style");const i=s.scrollHeight;r.current=requestAnimationFrame((()=>{s.style.removeProperty("transition"),s.dataset.expanded="false";const e=s.getBoundingClientRect().height;s.style.setProperty("height",`${e}px`),s.style.setProperty("overflow-y","hidden"),n.current=requestAnimationFrame((()=>{s.style.setProperty("transition",t),s.style.setProperty("height",`${i}px`),s.dataset.expanded="true"}))}))}(y,l,d,f):function(e,t,r,n){const s=e.current;if(!s)return;s.removeAttribute("style");const i=s.scrollHeight;r.current=requestAnimationFrame((()=>{s.style.removeProperty("transition"),s.dataset.expanded="false";const e=s.getBoundingClientRect().height;s.dataset.expanded="true",s.style.setProperty("height",`${i}px`),s.style.setProperty("overflow-y","hidden"),n.current=requestAnimationFrame((()=>{s.style.setProperty("transition",t),s.style.setProperty("height",`${e}px`),s.dataset.expanded="false"}))}))}(y,l,d,f)}}),[o,s,i,c,l]);return e.useEffect((()=>{v()}),[s,v]),e.useEffect((()=>{const e=y.current;return e&&e.addEventListener("transitionend",p),()=>{e&&e.removeEventListener("transitionend",p)}}),[s]),e.useEffect((()=>{const e=d.current,t=f.current;return()=>{e&&cancelAnimationFrame(e),t&&cancelAnimationFrame(t)}}),[d,f]),[y,v]};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("../../core/tokens.js"),r=require("../useBrowserPreferences/useBrowserPreferences.js"),n=require("../usePreviousValue/usePreviousValue.js");exports.useAnimatedHeightBetween=function(s,i){const o=n.usePreviousValue(s),u=(null==i?void 0:i.easing)||"standard",a=(null==i?void 0:i.timing)||"productive",l=`${t.motion.timing[a]} height ${t.motion.easing[u]}`,{prefersReducedMotion:c}=r.useBrowserPreferences(),d=e.useRef(),f=e.useRef(),y=e.useRef(null),p=e.useCallback((e=>{var t;const r=y.current;r&&e.target===r&&(r.removeAttribute("style"),null==(t=null==i?void 0:i.onTransitionEnd)||t.call(i,s,y))}),[i,s]),m=e.useCallback((()=>{var e,t;const r=y.current;if(r&&(void 0===o&&(r.dataset.expanded=s?"true":"false"),!(!s&&!o||s&&o))){if(null==(e=null==i?void 0:i.onTransitionStart)||e.call(i,s,y),c)return r.removeAttribute("style"),r.dataset.expanded=s?"true":"false",void(null==(t=null==i?void 0:i.onTransitionEnd)||t.call(i,s,y));s?function(e,t,r,n){const s=e.current;if(!s)return;s.removeAttribute("style");const i=s.scrollHeight;r.current=requestAnimationFrame((()=>{s.style.removeProperty("transition"),s.dataset.expanded="false";const e=s.getBoundingClientRect().height;s.style.setProperty("height",`${e}px`),s.style.setProperty("overflow-y","hidden"),n.current=requestAnimationFrame((()=>{s.style.setProperty("transition",t),s.style.setProperty("height",`${i}px`),s.dataset.expanded="true"}))}))}(y,l,d,f):function(e,t,r,n){const s=e.current;if(!s)return;s.removeAttribute("style");const i=s.scrollHeight;r.current=requestAnimationFrame((()=>{s.style.removeProperty("transition"),s.dataset.expanded="false";const e=s.getBoundingClientRect().height;s.dataset.expanded="true",s.style.setProperty("height",`${i}px`),s.style.setProperty("overflow-y","hidden"),n.current=requestAnimationFrame((()=>{s.style.setProperty("transition",t),s.style.setProperty("height",`${e}px`),s.dataset.expanded="false"}))}))}(y,l,d,f)}}),[o,s,i,c,l]);return e.useEffect((()=>{m()}),[s,m]),e.useEffect((()=>{const e=y.current;return e&&e.addEventListener("transitionend",p),()=>{e&&e.removeEventListener("transitionend",p)}}),[s]),e.useEffect((()=>{const e=d.current,t=f.current;return()=>{e&&cancelAnimationFrame(e),t&&cancelAnimationFrame(t)}}),[d,f]),[y,m]};
2
2
  //# sourceMappingURL=useAnimatedHeightBetween.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAnimatedHeightBetween.js","sources":["../../../../src/hooks/useAnimatedHeight/useAnimatedHeightBetween.ts"],"sourcesContent":["import { type RefObject, useCallback, useEffect, useRef } from \"react\";\nimport { timings, easings } from \"../../core\";\nimport { useBrowserPreferences } from \"../useBrowserPreferences/useBrowserPreferences\";\nimport { usePreviousValue } from \"../usePreviousValue/usePreviousValue\";\nimport { UseAnimatedHeightOptions } from \"./types\";\n\nconst defaultEasing = \"standard\";\nconst defaultTiming = \"productive\";\n\nfunction collapseElement<T extends HTMLElement>(\n elementRef: RefObject<T>,\n transition: string,\n raf1: React.MutableRefObject<number | undefined>,\n raf2: React.MutableRefObject<number | undefined>,\n) {\n const element = elementRef.current;\n\n if (!element) return;\n\n element.removeAttribute(\"style\");\n const expandedHeight = element.scrollHeight;\n\n raf1.current = requestAnimationFrame(() => {\n // Hent kollapset høyde\n element.style.removeProperty(\"transition\");\n element.dataset[\"expanded\"] = \"false\";\n const collapsedHeight = element.getBoundingClientRect().height;\n element.dataset[\"expanded\"] = \"true\";\n\n // Sett høyde tilbake til utvidet høyde\n element.style.setProperty(\"height\", `${expandedHeight}px`);\n element.style.setProperty(\"overflow-y\", \"hidden\");\n\n raf2.current = requestAnimationFrame(() => {\n // Sett høyde til kollapset høyde og start transition\n element.style.setProperty(\"transition\", transition);\n element.style.setProperty(\"height\", `${collapsedHeight}px`);\n element.dataset[\"expanded\"] = \"false\";\n });\n });\n}\n\nfunction expandElement<T extends HTMLElement>(\n elementRef: RefObject<T>,\n transition: string,\n raf1: React.MutableRefObject<number | undefined>,\n raf2: React.MutableRefObject<number | undefined>,\n) {\n const element = elementRef.current;\n\n if (!element) return;\n\n element.removeAttribute(\"style\");\n const expandedHeight = element.scrollHeight;\n\n raf1.current = requestAnimationFrame(() => {\n // Hent utvidet høyde\n element.style.removeProperty(\"transition\");\n element.dataset[\"expanded\"] = \"false\";\n const collapsedHeight = element.getBoundingClientRect().height;\n\n // Sett høyde tilbake til kollapset høyde\n element.style.setProperty(\"height\", `${collapsedHeight}px`);\n element.style.setProperty(\"overflow-y\", \"hidden\");\n\n raf2.current = requestAnimationFrame(() => {\n // Sett høyde til utvidet høyde og start transition\n element.style.setProperty(\"transition\", transition);\n element.style.setProperty(\"height\", `${expandedHeight}px`);\n element.dataset[\"expanded\"] = \"true\";\n });\n });\n}\n\n/**\n * Lar deg enklere animere mellom to tilstander, gitt ved å sette `data-expanded` på et element til `true` eller `false`.\n * Du bestemmer selv hvilke stiler elementet skal ha i de to tilstandene (vha CSS/Sass), og høyden animeres dersom den endrer seg.\n * @param isExpanded indikerer om elementet skal være utvidet eller ikke\n * @param options konfigurasjon for animasjonen, og lyttere for når animasjonen starter og slutter\n * @returns En tuple med referanse til elementet og en funksjon som kan trigge animasjonen\n */\nexport function useAnimatedHeightBetween<T extends HTMLElement>(\n isExpanded: boolean,\n options?: Omit<UseAnimatedHeightOptions<T>, \"display\" | \"onFirstVisible\">,\n): [RefObject<T>, () => void] {\n const wasExpanded = usePreviousValue(isExpanded);\n const easing = options?.easing || defaultEasing;\n const timing = options?.timing || defaultTiming;\n const transition = `${timings[timing]} height ${easings[easing]}`;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n const raf1 = useRef<number>();\n const raf2 = useRef<number>();\n const elementRef = useRef<T>(null);\n\n const handleTransitionEnd = useCallback(\n (event: TransitionEvent) => {\n const element = elementRef.current;\n\n // Ignore bubbling transitions from within container\n if (element && event.target === element) {\n element.removeAttribute(\"style\");\n options?.onTransitionEnd?.(isExpanded, elementRef);\n }\n },\n [options, isExpanded],\n );\n\n const runAnimation = useCallback(() => {\n const element = elementRef.current;\n\n if (!element) return;\n\n if (wasExpanded === undefined) {\n // Første render\n element.dataset[\"expanded\"] = isExpanded ? \"true\" : \"false\";\n }\n\n if ((!isExpanded && !wasExpanded) || (isExpanded && wasExpanded)) {\n // Ingen endring\n return;\n }\n\n options?.onTransitionStart?.(isExpanded, elementRef);\n\n if (prefersReducedMotion) {\n element.removeAttribute(\"style\");\n element.dataset[\"expanded\"] = isExpanded ? \"true\" : \"false\";\n options?.onTransitionEnd?.(isExpanded, elementRef); // make sure to call callback when animation is off\n return;\n }\n\n if (isExpanded) {\n expandElement(elementRef, transition, raf1, raf2);\n } else {\n collapseElement(elementRef, transition, raf1, raf2);\n }\n }, [wasExpanded, isExpanded, options, prefersReducedMotion, transition]);\n\n useEffect(() => {\n runAnimation();\n }, [isExpanded, runAnimation]);\n\n useEffect(() => {\n const element = elementRef.current;\n if (element) {\n element.addEventListener(\"transitionend\", handleTransitionEnd);\n }\n\n return () => {\n if (element) {\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isExpanded]);\n\n useEffect(() => {\n const r1 = raf1.current;\n const r2 = raf2.current;\n return () => {\n r1 && cancelAnimationFrame(r1);\n r2 && cancelAnimationFrame(r2);\n };\n }, [raf1, raf2]);\n\n return [elementRef, runAnimation];\n}\n"],"names":["isExpanded","options","wasExpanded","usePreviousValue","easing","timing","transition","timings","easings","prefersReducedMotion","useBrowserPreferences","raf1","useRef","raf2","elementRef","handleTransitionEnd","useCallback","event","element","current","target","removeAttribute","_a","onTransitionEnd","call","runAnimation","dataset","expanded","onTransitionStart","_b","expandedHeight","scrollHeight","requestAnimationFrame","style","removeProperty","collapsedHeight","getBoundingClientRect","height","setProperty","expandElement","collapseElement","useEffect","addEventListener","removeEventListener","r1","r2","cancelAnimationFrame"],"mappings":"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"}
1
+ {"version":3,"file":"useAnimatedHeightBetween.js","sources":["../../../../src/hooks/useAnimatedHeight/useAnimatedHeightBetween.ts"],"sourcesContent":["import { type RefObject, useCallback, useEffect, useRef } from \"react\";\nimport { tokens } from \"../../core\";\nimport { useBrowserPreferences } from \"../useBrowserPreferences/useBrowserPreferences\";\nimport { usePreviousValue } from \"../usePreviousValue/usePreviousValue\";\nimport { UseAnimatedHeightOptions } from \"./types\";\n\nconst defaultEasing = \"standard\";\nconst defaultTiming = \"productive\";\n\nfunction collapseElement<T extends HTMLElement>(\n elementRef: RefObject<T>,\n transition: string,\n raf1: React.MutableRefObject<number | undefined>,\n raf2: React.MutableRefObject<number | undefined>,\n) {\n const element = elementRef.current;\n\n if (!element) return;\n\n element.removeAttribute(\"style\");\n const expandedHeight = element.scrollHeight;\n\n raf1.current = requestAnimationFrame(() => {\n // Hent kollapset høyde\n element.style.removeProperty(\"transition\");\n element.dataset[\"expanded\"] = \"false\";\n const collapsedHeight = element.getBoundingClientRect().height;\n element.dataset[\"expanded\"] = \"true\";\n\n // Sett høyde tilbake til utvidet høyde\n element.style.setProperty(\"height\", `${expandedHeight}px`);\n element.style.setProperty(\"overflow-y\", \"hidden\");\n\n raf2.current = requestAnimationFrame(() => {\n // Sett høyde til kollapset høyde og start transition\n element.style.setProperty(\"transition\", transition);\n element.style.setProperty(\"height\", `${collapsedHeight}px`);\n element.dataset[\"expanded\"] = \"false\";\n });\n });\n}\n\nfunction expandElement<T extends HTMLElement>(\n elementRef: RefObject<T>,\n transition: string,\n raf1: React.MutableRefObject<number | undefined>,\n raf2: React.MutableRefObject<number | undefined>,\n) {\n const element = elementRef.current;\n\n if (!element) return;\n\n element.removeAttribute(\"style\");\n const expandedHeight = element.scrollHeight;\n\n raf1.current = requestAnimationFrame(() => {\n // Hent utvidet høyde\n element.style.removeProperty(\"transition\");\n element.dataset[\"expanded\"] = \"false\";\n const collapsedHeight = element.getBoundingClientRect().height;\n\n // Sett høyde tilbake til kollapset høyde\n element.style.setProperty(\"height\", `${collapsedHeight}px`);\n element.style.setProperty(\"overflow-y\", \"hidden\");\n\n raf2.current = requestAnimationFrame(() => {\n // Sett høyde til utvidet høyde og start transition\n element.style.setProperty(\"transition\", transition);\n element.style.setProperty(\"height\", `${expandedHeight}px`);\n element.dataset[\"expanded\"] = \"true\";\n });\n });\n}\n\n/**\n * Lar deg enklere animere mellom to tilstander, gitt ved å sette `data-expanded` på et element til `true` eller `false`.\n * Du bestemmer selv hvilke stiler elementet skal ha i de to tilstandene (vha CSS/Sass), og høyden animeres dersom den endrer seg.\n * @param isExpanded indikerer om elementet skal være utvidet eller ikke\n * @param options konfigurasjon for animasjonen, og lyttere for når animasjonen starter og slutter\n * @returns En tuple med referanse til elementet og en funksjon som kan trigge animasjonen\n */\nexport function useAnimatedHeightBetween<T extends HTMLElement>(\n isExpanded: boolean,\n options?: Omit<UseAnimatedHeightOptions<T>, \"display\" | \"onFirstVisible\">,\n): [RefObject<T>, () => void] {\n const wasExpanded = usePreviousValue(isExpanded);\n const easing = options?.easing || defaultEasing;\n const timing = options?.timing || defaultTiming;\n const transition = `${tokens.motion.timing[timing]} height ${tokens.motion.easing[easing]}`;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n const raf1 = useRef<number>();\n const raf2 = useRef<number>();\n const elementRef = useRef<T>(null);\n\n const handleTransitionEnd = useCallback(\n (event: TransitionEvent) => {\n const element = elementRef.current;\n\n // Ignore bubbling transitions from within container\n if (element && event.target === element) {\n element.removeAttribute(\"style\");\n options?.onTransitionEnd?.(isExpanded, elementRef);\n }\n },\n [options, isExpanded],\n );\n\n const runAnimation = useCallback(() => {\n const element = elementRef.current;\n\n if (!element) return;\n\n if (wasExpanded === undefined) {\n // Første render\n element.dataset[\"expanded\"] = isExpanded ? \"true\" : \"false\";\n }\n\n if ((!isExpanded && !wasExpanded) || (isExpanded && wasExpanded)) {\n // Ingen endring\n return;\n }\n\n options?.onTransitionStart?.(isExpanded, elementRef);\n\n if (prefersReducedMotion) {\n element.removeAttribute(\"style\");\n element.dataset[\"expanded\"] = isExpanded ? \"true\" : \"false\";\n options?.onTransitionEnd?.(isExpanded, elementRef); // make sure to call callback when animation is off\n return;\n }\n\n if (isExpanded) {\n expandElement(elementRef, transition, raf1, raf2);\n } else {\n collapseElement(elementRef, transition, raf1, raf2);\n }\n }, [wasExpanded, isExpanded, options, prefersReducedMotion, transition]);\n\n useEffect(() => {\n runAnimation();\n }, [isExpanded, runAnimation]);\n\n useEffect(() => {\n const element = elementRef.current;\n if (element) {\n element.addEventListener(\"transitionend\", handleTransitionEnd);\n }\n\n return () => {\n if (element) {\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isExpanded]);\n\n useEffect(() => {\n const r1 = raf1.current;\n const r2 = raf2.current;\n return () => {\n r1 && cancelAnimationFrame(r1);\n r2 && cancelAnimationFrame(r2);\n };\n }, [raf1, raf2]);\n\n return [elementRef, runAnimation];\n}\n"],"names":["isExpanded","options","wasExpanded","usePreviousValue","easing","timing","transition","tokens","motion","prefersReducedMotion","useBrowserPreferences","raf1","useRef","raf2","elementRef","handleTransitionEnd","useCallback","event","element","current","target","removeAttribute","_a","onTransitionEnd","call","runAnimation","dataset","expanded","onTransitionStart","_b","expandedHeight","scrollHeight","requestAnimationFrame","style","removeProperty","collapsedHeight","getBoundingClientRect","height","setProperty","expandElement","collapseElement","useEffect","addEventListener","removeEventListener","r1","r2","cancelAnimationFrame"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),r=require("../../core/utils/motion.js"),t=require("../useBrowserPreferences/useBrowserPreferences.js"),n=require("../usePreviousValue/usePreviousValue.js");exports.useAutoAnimatedHeight=function(s,i){const o=n.usePreviousValue(s),[u,l]=e.useState(0),a=(null==i?void 0:i.easing)||"standard",c=(null==i?void 0:i.timing)||"expressive",d=`${r.timings[c]} height ${r.easings[a]}`,{prefersReducedMotion:v}=t.useBrowserPreferences(),f=e.useRef(),m=e.useRef(),y=e.useRef(null),g=e.useCallback((e=>{var r;const t=y.current;t&&e.target===t&&(t.removeAttribute("style"),null==(r=null==i?void 0:i.onTransitionEnd)||r.call(i,y))}),[i]),p=e.useCallback((()=>{const e=y.current;if(!e)return;e.removeAttribute("style");const r=e.scrollHeight;f.current=requestAnimationFrame((()=>{e.style.removeProperty("transition"),e.style.setProperty("height",`${u}px`),e.style.setProperty("overflow-y","hidden"),m.current=requestAnimationFrame((()=>{e.style.setProperty("transition",d),e.style.setProperty("height",`${r}px`)}))})),l(r)}),[d,u]),P=e.useCallback((()=>{var e,r;const t=y.current;if(t){if(void 0===o)return void l(t.scrollHeight);if(s!==o){if(null==(e=null==i?void 0:i.onTransitionStart)||e.call(i,y),v)return void(null==(r=null==i?void 0:i.onTransitionEnd)||r.call(i,y));p()}}}),[p,s,o,i,v]);return e.useEffect((()=>{P()}),[s,P]),e.useEffect((()=>{const e=y.current;return e&&e.addEventListener("transitionend",g),()=>{e&&e.removeEventListener("transitionend",g)}}),[g]),e.useEffect((()=>{const e=f.current,r=m.current;return()=>{e&&cancelAnimationFrame(e),r&&cancelAnimationFrame(r)}}),[f,m]),y};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),r=require("../../core/tokens.js"),t=require("../useBrowserPreferences/useBrowserPreferences.js"),n=require("../usePreviousValue/usePreviousValue.js");exports.useAutoAnimatedHeight=function(s,i){const o=n.usePreviousValue(s),[u,l]=e.useState(0),a=(null==i?void 0:i.easing)||"standard",c=(null==i?void 0:i.timing)||"expressive",d=`${r.motion.timing[c]} height ${r.motion.easing[a]}`,{prefersReducedMotion:v}=t.useBrowserPreferences(),f=e.useRef(),m=e.useRef(),y=e.useRef(null),g=e.useCallback((e=>{var r;const t=y.current;t&&e.target===t&&(t.removeAttribute("style"),null==(r=null==i?void 0:i.onTransitionEnd)||r.call(i,y))}),[i]),p=e.useCallback((()=>{const e=y.current;if(!e)return;e.removeAttribute("style");const r=e.scrollHeight;f.current=requestAnimationFrame((()=>{e.style.removeProperty("transition"),e.style.setProperty("height",`${u}px`),e.style.setProperty("overflow-y","hidden"),m.current=requestAnimationFrame((()=>{e.style.setProperty("transition",d),e.style.setProperty("height",`${r}px`)}))})),l(r)}),[d,u]),P=e.useCallback((()=>{var e,r;const t=y.current;if(t){if(void 0===o)return void l(t.scrollHeight);if(s!==o){if(null==(e=null==i?void 0:i.onTransitionStart)||e.call(i,y),v)return void(null==(r=null==i?void 0:i.onTransitionEnd)||r.call(i,y));p()}}}),[p,s,o,i,v]);return e.useEffect((()=>{P()}),[s,P]),e.useEffect((()=>{const e=y.current;return e&&e.addEventListener("transitionend",g),()=>{e&&e.removeEventListener("transitionend",g)}}),[g]),e.useEffect((()=>{const e=f.current,r=m.current;return()=>{e&&cancelAnimationFrame(e),r&&cancelAnimationFrame(r)}}),[f,m]),y};
2
2
  //# sourceMappingURL=useAutoAnimateHeight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoAnimateHeight.js","sources":["../../../../src/hooks/useAnimatedHeight/useAutoAnimateHeight.ts"],"sourcesContent":["import { RefObject, useCallback, useEffect, useRef, useState } from \"react\";\nimport { easings, timings, type Easing, type Timing } from \"../../core\";\nimport { useBrowserPreferences } from \"../useBrowserPreferences/useBrowserPreferences\";\nimport { usePreviousValue } from \"../usePreviousValue/usePreviousValue\";\n\nconst defaultEasing = \"standard\";\nconst defaultTiming = \"expressive\";\n\nexport type UseAutoAnimatedHeightOptions<T extends HTMLElement> = {\n easing?: Easing;\n /**\n * Overstyr standard timing\n * @default \"expressive\"\n */\n timing?: Timing;\n onTransitionStart?: (ref: RefObject<T>) => void;\n onTransitionEnd?: (ref: RefObject<T>) => void;\n};\n\n/**\n * Gjør det enklere å animere høyden på et element når innholdet endrer seg, men kan brukes på mer generelt grunnlag.\n * Hooken tar inn en triggerverdi, og når denne endrer seg animeres høyden på elementet dersom den har endret seg.\n * @param trigger verdien som brukes til å trigge animasjonen. Dersom denne endrer seg animeres høyden på elementet.\n * @param options konfigurasjon for animasjonen, og lyttere for når animasjonen starter og slutter\n * @returns en referanse til elementet som skal animeres\n */\nexport function useAutoAnimatedHeight<T extends HTMLElement = HTMLElement>(\n trigger: any,\n options?: UseAutoAnimatedHeightOptions<T>,\n) {\n const previousTriggerValue = usePreviousValue(trigger);\n const [previousHeight, setPreviousHeight] = useState(0);\n\n const easing = options?.easing || defaultEasing;\n const timing = options?.timing || defaultTiming;\n const transition = `${timings[timing]} height ${easings[easing]}`;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n const raf1 = useRef<number>();\n const raf2 = useRef<number>();\n const elementRef = useRef<T>(null);\n\n const handleTransitionEnd = useCallback(\n (event: TransitionEvent) => {\n const element = elementRef.current;\n\n // Ignore bubbling transitions from within container\n if (element && event.target === element) {\n element.removeAttribute(\"style\");\n options?.onTransitionEnd?.(elementRef);\n }\n },\n [options],\n );\n\n const animateElement = useCallback(() => {\n const element = elementRef.current;\n\n if (!element) return;\n\n element.removeAttribute(\"style\");\n const newHeight = element.scrollHeight;\n\n raf1.current = requestAnimationFrame(() => {\n // Sett høyde tilbake til forrige høyde\n element.style.removeProperty(\"transition\");\n element.style.setProperty(\"height\", `${previousHeight}px`);\n element.style.setProperty(\"overflow-y\", \"hidden\");\n\n raf2.current = requestAnimationFrame(() => {\n // Sett høyde til kollapset høyde og start transition\n element.style.setProperty(\"transition\", transition);\n element.style.setProperty(\"height\", `${newHeight}px`);\n });\n });\n\n setPreviousHeight(newHeight);\n }, [transition, previousHeight]);\n\n const runAnimation = useCallback(() => {\n const element = elementRef.current;\n\n if (!element) return;\n\n if (previousTriggerValue === undefined) {\n // Første render\n setPreviousHeight(element.scrollHeight);\n return;\n }\n\n if (trigger === previousTriggerValue) {\n // Ingen endring\n return;\n }\n\n options?.onTransitionStart?.(elementRef);\n\n if (prefersReducedMotion) {\n options?.onTransitionEnd?.(elementRef); // make sure to call callback when animation is off\n return;\n }\n\n animateElement();\n }, [animateElement, trigger, previousTriggerValue, options, prefersReducedMotion]);\n\n useEffect(() => {\n runAnimation();\n }, [trigger, runAnimation]);\n\n useEffect(() => {\n const element = elementRef.current;\n if (element) {\n element.addEventListener(\"transitionend\", handleTransitionEnd);\n }\n\n return () => {\n if (element) {\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n }, [handleTransitionEnd]);\n\n useEffect(() => {\n const r1 = raf1.current;\n const r2 = raf2.current;\n return () => {\n r1 && cancelAnimationFrame(r1);\n r2 && cancelAnimationFrame(r2);\n };\n }, [raf1, raf2]);\n\n return elementRef;\n}\n"],"names":["trigger","options","previousTriggerValue","usePreviousValue","previousHeight","setPreviousHeight","useState","easing","timing","transition","timings","easings","prefersReducedMotion","useBrowserPreferences","raf1","useRef","raf2","elementRef","handleTransitionEnd","useCallback","event","element","current","target","removeAttribute","_a","onTransitionEnd","call","animateElement","newHeight","scrollHeight","requestAnimationFrame","style","removeProperty","setProperty","runAnimation","onTransitionStart","_b","useEffect","addEventListener","removeEventListener","r1","r2","cancelAnimationFrame"],"mappings":"mSA0BgB,SACZA,EACAC,GAEM,MAAAC,EAAuBC,mBAAiBH,IACvCI,EAAgBC,GAAqBC,WAAS,GAE/CC,GAAS,MAAAN,OAAAA,EAAAA,EAASM,SA5BN,WA6BZC,GAAS,MAAAP,OAAAA,EAAAA,EAASO,SA5BN,aA6BZC,EAAa,GAAGC,EAAAA,QAAQF,aAAkBG,EAAAA,QAAQJ,MAEhDK,qBAAAA,GAAyBC,EAAAA,wBAE3BC,EAAOC,EAAAA,SACPC,EAAOD,EAAAA,SACPE,EAAaF,SAAU,MAEvBG,EAAsBC,EAAAA,aACvBC,UACG,MAAMC,EAAUJ,EAAWK,QAGvBD,GAAWD,EAAMG,SAAWF,IAC5BA,EAAQG,gBAAgB,SACxB,OAAAC,EAAA,MAAAxB,OAAAA,EAAAA,EAASyB,kBAATD,EAAAE,KAAA1B,EAA2BgB,MAGnC,CAAChB,IAGC2B,EAAiBT,EAAAA,aAAY,KAC/B,MAAME,EAAUJ,EAAWK,QAE3B,IAAKD,EAAS,OAEdA,EAAQG,gBAAgB,SACxB,MAAMK,EAAYR,EAAQS,aAErBhB,EAAAQ,QAAUS,uBAAsB,KAEzBV,EAAAW,MAAMC,eAAe,cAC7BZ,EAAQW,MAAME,YAAY,SAAU,GAAG9B,OAC/BiB,EAAAW,MAAME,YAAY,aAAc,UAEnClB,EAAAM,QAAUS,uBAAsB,KAEzBV,EAAAW,MAAME,YAAY,aAAczB,GACxCY,EAAQW,MAAME,YAAY,SAAU,GAAGL,MAAa,GACvD,IAGLxB,EAAkBwB,EAAS,GAC5B,CAACpB,EAAYL,IAEV+B,EAAehB,EAAAA,aAAY,aAC7B,MAAME,EAAUJ,EAAWK,QAE3B,GAAKD,EAEL,CAAInB,QAAyB,IAAzBA,EAGA,YADAG,EAAkBgB,EAAQS,cAI9B,GAAI9B,IAAYE,EAOhB,IAFA,OAAAuB,EAAA,MAAAxB,OAAAA,EAAAA,EAASmC,oBAATX,EAAAE,KAAA1B,EAA6BgB,GAEzBL,EAEA,YADA,OAAAyB,EAAA,MAAApC,OAAA,EAAAA,EAASyB,kBAATW,EAAAV,KAAA1B,EAA2BgB,IAIhBW,QAChB,CAACA,EAAgB5B,EAASE,EAAsBD,EAASW,IAE5D0B,OAAAA,EAAAA,WAAU,KACOH,MACd,CAACnC,EAASmC,IAEbG,EAAAA,WAAU,KACN,MAAMjB,EAAUJ,EAAWK,QAC3B,OAAID,GACQA,EAAAkB,iBAAiB,gBAAiBrB,GAGvC,KACCG,GACQA,EAAAmB,oBAAoB,gBAAiBtB,EAAmB,CACpE,GAEL,CAACA,IAEJoB,EAAAA,WAAU,KACN,MAAMG,EAAK3B,EAAKQ,QACVoB,EAAK1B,EAAKM,QAChB,MAAO,KACHmB,GAAME,qBAAqBF,GAC3BC,GAAMC,qBAAqBD,EAAE,CAAA,GAElC,CAAC5B,EAAME,IAEHC,CACX"}
1
+ {"version":3,"file":"useAutoAnimateHeight.js","sources":["../../../../src/hooks/useAnimatedHeight/useAutoAnimateHeight.ts"],"sourcesContent":["import { RefObject, useCallback, useEffect, useRef, useState } from \"react\";\nimport { tokens, type Easing, type Timing } from \"../../core\";\nimport { useBrowserPreferences } from \"../useBrowserPreferences/useBrowserPreferences\";\nimport { usePreviousValue } from \"../usePreviousValue/usePreviousValue\";\n\nconst defaultEasing = \"standard\";\nconst defaultTiming = \"expressive\";\n\nexport type UseAutoAnimatedHeightOptions<T extends HTMLElement> = {\n easing?: Easing;\n /**\n * Overstyr standard timing\n * @default \"expressive\"\n */\n timing?: Timing;\n onTransitionStart?: (ref: RefObject<T>) => void;\n onTransitionEnd?: (ref: RefObject<T>) => void;\n};\n\n/**\n * Gjør det enklere å animere høyden på et element når innholdet endrer seg, men kan brukes på mer generelt grunnlag.\n * Hooken tar inn en triggerverdi, og når denne endrer seg animeres høyden på elementet dersom den har endret seg.\n * @param trigger verdien som brukes til å trigge animasjonen. Dersom denne endrer seg animeres høyden på elementet.\n * @param options konfigurasjon for animasjonen, og lyttere for når animasjonen starter og slutter\n * @returns en referanse til elementet som skal animeres\n */\nexport function useAutoAnimatedHeight<T extends HTMLElement = HTMLElement>(\n trigger: any,\n options?: UseAutoAnimatedHeightOptions<T>,\n) {\n const previousTriggerValue = usePreviousValue(trigger);\n const [previousHeight, setPreviousHeight] = useState(0);\n\n const easing = options?.easing || defaultEasing;\n const timing = options?.timing || defaultTiming;\n const transition = `${tokens.motion.timing[timing]} height ${tokens.motion.easing[easing]}`;\n\n const { prefersReducedMotion } = useBrowserPreferences();\n\n const raf1 = useRef<number>();\n const raf2 = useRef<number>();\n const elementRef = useRef<T>(null);\n\n const handleTransitionEnd = useCallback(\n (event: TransitionEvent) => {\n const element = elementRef.current;\n\n // Ignore bubbling transitions from within container\n if (element && event.target === element) {\n element.removeAttribute(\"style\");\n options?.onTransitionEnd?.(elementRef);\n }\n },\n [options],\n );\n\n const animateElement = useCallback(() => {\n const element = elementRef.current;\n\n if (!element) return;\n\n element.removeAttribute(\"style\");\n const newHeight = element.scrollHeight;\n\n raf1.current = requestAnimationFrame(() => {\n // Sett høyde tilbake til forrige høyde\n element.style.removeProperty(\"transition\");\n element.style.setProperty(\"height\", `${previousHeight}px`);\n element.style.setProperty(\"overflow-y\", \"hidden\");\n\n raf2.current = requestAnimationFrame(() => {\n // Sett høyde til kollapset høyde og start transition\n element.style.setProperty(\"transition\", transition);\n element.style.setProperty(\"height\", `${newHeight}px`);\n });\n });\n\n setPreviousHeight(newHeight);\n }, [transition, previousHeight]);\n\n const runAnimation = useCallback(() => {\n const element = elementRef.current;\n\n if (!element) return;\n\n if (previousTriggerValue === undefined) {\n // Første render\n setPreviousHeight(element.scrollHeight);\n return;\n }\n\n if (trigger === previousTriggerValue) {\n // Ingen endring\n return;\n }\n\n options?.onTransitionStart?.(elementRef);\n\n if (prefersReducedMotion) {\n options?.onTransitionEnd?.(elementRef); // make sure to call callback when animation is off\n return;\n }\n\n animateElement();\n }, [animateElement, trigger, previousTriggerValue, options, prefersReducedMotion]);\n\n useEffect(() => {\n runAnimation();\n }, [trigger, runAnimation]);\n\n useEffect(() => {\n const element = elementRef.current;\n if (element) {\n element.addEventListener(\"transitionend\", handleTransitionEnd);\n }\n\n return () => {\n if (element) {\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n }\n };\n }, [handleTransitionEnd]);\n\n useEffect(() => {\n const r1 = raf1.current;\n const r2 = raf2.current;\n return () => {\n r1 && cancelAnimationFrame(r1);\n r2 && cancelAnimationFrame(r2);\n };\n }, [raf1, raf2]);\n\n return elementRef;\n}\n"],"names":["trigger","options","previousTriggerValue","usePreviousValue","previousHeight","setPreviousHeight","useState","easing","timing","transition","tokens","motion","prefersReducedMotion","useBrowserPreferences","raf1","useRef","raf2","elementRef","handleTransitionEnd","useCallback","event","element","current","target","removeAttribute","_a","onTransitionEnd","call","animateElement","newHeight","scrollHeight","requestAnimationFrame","style","removeProperty","setProperty","runAnimation","onTransitionStart","_b","useEffect","addEventListener","removeEventListener","r1","r2","cancelAnimationFrame"],"mappings":"6RA0BgB,SACZA,EACAC,GAEM,MAAAC,EAAuBC,mBAAiBH,IACvCI,EAAgBC,GAAqBC,WAAS,GAE/CC,GAAS,MAAAN,OAAAA,EAAAA,EAASM,SA5BN,WA6BZC,GAAS,MAAAP,OAAAA,EAAAA,EAASO,SA5BN,aA6BZC,EAAa,GAAGC,EAAOC,OAAOH,OAAOA,aAAkBE,EAAOC,OAAOJ,OAAOA,MAE1EK,qBAAAA,GAAyBC,EAAAA,wBAE3BC,EAAOC,EAAAA,SACPC,EAAOD,EAAAA,SACPE,EAAaF,SAAU,MAEvBG,EAAsBC,EAAAA,aACvBC,UACG,MAAMC,EAAUJ,EAAWK,QAGvBD,GAAWD,EAAMG,SAAWF,IAC5BA,EAAQG,gBAAgB,SACxB,OAAAC,EAAA,MAAAxB,OAAAA,EAAAA,EAASyB,kBAATD,EAAAE,KAAA1B,EAA2BgB,GAAAA,GAGnC,CAAChB,IAGC2B,EAAiBT,EAAAA,aAAY,KAC/B,MAAME,EAAUJ,EAAWK,QAE3B,IAAKD,EAAS,OAEdA,EAAQG,gBAAgB,SACxB,MAAMK,EAAYR,EAAQS,aAErBhB,EAAAQ,QAAUS,uBAAsB,KAEzBV,EAAAW,MAAMC,eAAe,cAC7BZ,EAAQW,MAAME,YAAY,SAAU,GAAG9B,OAC/BiB,EAAAW,MAAME,YAAY,aAAc,UAEnClB,EAAAM,QAAUS,uBAAsB,KAEzBV,EAAAW,MAAME,YAAY,aAAczB,GACxCY,EAAQW,MAAME,YAAY,SAAU,GAAGL,MAAa,GACvD,IAGLxB,EAAkBwB,EAAS,GAC5B,CAACpB,EAAYL,IAEV+B,EAAehB,EAAAA,aAAY,aAC7B,MAAME,EAAUJ,EAAWK,QAE3B,GAAKD,EAEL,CAAInB,QAAyB,IAAzBA,EAGA,YADAG,EAAkBgB,EAAQS,cAI9B,GAAI9B,IAAYE,EAOhB,IAFA,OAAAuB,EAAA,MAAAxB,OAAAA,EAAAA,EAASmC,oBAATX,EAAAE,KAAA1B,EAA6BgB,GAEzBL,EAEA,YADA,OAAAyB,EAAA,MAAApC,OAAA,EAAAA,EAASyB,kBAATW,EAAAV,KAAA1B,EAA2BgB,IAIhBW,QAChB,CAACA,EAAgB5B,EAASE,EAAsBD,EAASW,IAE5D0B,OAAAA,EAAAA,WAAU,KACOH,MACd,CAACnC,EAASmC,IAEbG,EAAAA,WAAU,KACN,MAAMjB,EAAUJ,EAAWK,QAC3B,OAAID,GACQA,EAAAkB,iBAAiB,gBAAiBrB,GAGvC,KACCG,GACQA,EAAAmB,oBAAoB,gBAAiBtB,EAAmB,CACpE,GAEL,CAACA,IAEJoB,EAAAA,WAAU,KACN,MAAMG,EAAK3B,EAAKQ,QACVoB,EAAK1B,EAAKM,QAChB,MAAO,KACHmB,GAAME,qBAAqBF,GAC3BC,GAAMC,qBAAqBD,EAAE,CAAA,GAElC,CAAC5B,EAAME,IAEHC,CACX"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),i=require("../../core/utils/breakpoints.js"),t=require("../mediaQueryUtils.js"),r=require("./state.js"),a={isSmallDevice:`(max-width: ${i.breakpoints.medium-1}px)`,isMediumDevice:`(min-width: ${i.breakpoints.medium}px) and (max-width: ${i.breakpoints.large-1}px)`,isLargeDevice:`(min-width: ${i.breakpoints.large}px) and (max-width: ${i.breakpoints.xl-1}px)`,isXlDevice:`(min-width: ${i.breakpoints.xl}px)`,isPortrait:"(orientation: portrait)",isLandscape:"(orientation: landscape)"},s=e=>({type:"isLandscape"===e||"isPortrait"===e?r.ActionType.orientation:r.ActionType.deviceSize,property:e});exports.useScreen=()=>{const[i,n]=e.useState(!1),[c,o]=e.useReducer(r.reducer,{isSmallDevice:!1,isMediumDevice:!1,isLargeDevice:!1,isXlDevice:!1,isLandscape:!1,isPortrait:!1});e.useEffect((()=>{n(!0),Object.entries(a).map((([e,i])=>[e,t.getInitialMediaQueryMatch(i)])).forEach((([e,i])=>{i&&o(s(e))}))}),[]);const d=e.useCallback((e=>i=>{requestAnimationFrame((()=>{i.matches&&o(s(e))}))}),[]);return e.useEffect((()=>{if(!i||!window.matchMedia)return;const e=[];return Object.entries(a).forEach((([i,r])=>{const a=window.matchMedia(r),s=d(i);e.push([a,s]),t.addMediaQueryListener(a,s)})),()=>{e.forEach((([e,i])=>t.removeMediaQueryListener(e,i)))}}),[d,i]),{...c}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),i=require("../../core/tokens.js"),t=require("../mediaQueryUtils.js"),r=require("./state.js"),{breakpoint:a}=i,s={isSmallDevice:`(max-width: calc(${a.medium} - 1px))`,isMediumDevice:`(min-width: ${a.medium}) and (max-width: calc(${a.large} -1px))`,isLargeDevice:`(min-width: ${a.large}) and (max-width: calc(${a.xl} -1px))`,isXlDevice:`(min-width: ${a.xl})`,isPortrait:"(orientation: portrait)",isLandscape:"(orientation: landscape)"},c=e=>({type:"isLandscape"===e||"isPortrait"===e?r.ActionType.orientation:r.ActionType.deviceSize,property:e});exports.useScreen=()=>{const[i,a]=e.useState(!1),[n,o]=e.useReducer(r.reducer,{isSmallDevice:!1,isMediumDevice:!1,isLargeDevice:!1,isXlDevice:!1,isLandscape:!1,isPortrait:!1});e.useEffect((()=>{a(!0),Object.entries(s).map((([e,i])=>[e,t.getInitialMediaQueryMatch(i)])).forEach((([e,i])=>{i&&o(c(e))}))}),[]);const d=e.useCallback((e=>i=>{requestAnimationFrame((()=>{i.matches&&o(c(e))}))}),[]);return e.useEffect((()=>{if(!i||!window.matchMedia)return;const e=[];return Object.entries(s).forEach((([i,r])=>{const a=window.matchMedia(r),s=d(i);e.push([a,s]),t.addMediaQueryListener(a,s)})),()=>{e.forEach((([e,i])=>t.removeMediaQueryListener(e,i)))}}),[d,i]),{...n}};
2
2
  //# sourceMappingURL=useScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useScreen.js","sources":["../../../../src/hooks/useScreen/useScreen.ts"],"sourcesContent":["import { useCallback, useEffect, useReducer, useState } from \"react\";\nimport { breakpoints } from \"../../core\";\nimport { addMediaQueryListener, getInitialMediaQueryMatch, removeMediaQueryListener } from \"../mediaQueryUtils\";\nimport { ScreenAction, ActionType, reducer, ScreenState } from \"./state\";\n\nconst MEDIA_RULES: Record<keyof ScreenState, string> = {\n isSmallDevice: `(max-width: ${breakpoints.medium - 1}px)`,\n isMediumDevice: `(min-width: ${breakpoints.medium}px) and (max-width: ${breakpoints.large - 1}px)`,\n isLargeDevice: `(min-width: ${breakpoints.large}px) and (max-width: ${breakpoints.xl - 1}px)`,\n isXlDevice: `(min-width: ${breakpoints.xl}px)`,\n isPortrait: \"(orientation: portrait)\",\n isLandscape: \"(orientation: landscape)\",\n};\n\nconst createAction = (property: keyof ScreenState): ScreenAction => ({\n type: property === \"isLandscape\" || property === \"isPortrait\" ? ActionType.orientation : ActionType.deviceSize,\n property,\n});\n\n/**\n * Finn størrelsen og orienteringen til skjermen.\n * @returns Et objekt med boolean som indikerer om skjermstørrelsen er liten, medium, stor eller ekstra stor, og om skjermen er i portrett- eller landskapsmodus.\n */\nexport const useScreen = (): ScreenState => {\n const [hasMounted, setHasMounted] = useState(false);\n\n const [device, deviceDispatch] = useReducer(reducer, {\n isSmallDevice: false,\n isMediumDevice: false,\n isLargeDevice: false,\n isXlDevice: false,\n isLandscape: false,\n isPortrait: false,\n });\n\n useEffect(() => {\n setHasMounted(true);\n Object.entries(MEDIA_RULES)\n .map(([key, rule]) => [key, getInitialMediaQueryMatch(rule)])\n .forEach(([key, value]) => {\n if (value) {\n deviceDispatch(createAction(key as keyof ScreenState));\n }\n });\n }, []);\n\n const createListener = useCallback(\n (key: keyof ScreenState) => (e: MediaQueryListEvent) => {\n requestAnimationFrame(() => {\n if (e.matches) {\n deviceDispatch(createAction(key));\n }\n });\n },\n [],\n );\n\n useEffect(() => {\n if (!hasMounted || !window.matchMedia) {\n return;\n }\n const eventListenerPairs: Array<[MediaQueryList, (e: MediaQueryListEvent) => void]> = [];\n\n Object.entries(MEDIA_RULES).forEach(([key, rule]) => {\n const queryList = window.matchMedia(rule);\n const listener = createListener(key as keyof ScreenState);\n eventListenerPairs.push([queryList, listener]);\n addMediaQueryListener(queryList, listener);\n });\n\n return () => {\n eventListenerPairs.forEach(([queryList, listener]) => removeMediaQueryListener(queryList, listener));\n };\n }, [createListener, hasMounted]);\n\n return { ...device };\n};\n"],"names":["MEDIA_RULES","isSmallDevice","breakpoints","medium","isMediumDevice","large","isLargeDevice","xl","isXlDevice","isPortrait","isLandscape","createAction","property","type","ActionType","orientation","deviceSize","hasMounted","setHasMounted","useState","device","deviceDispatch","useReducer","reducer","useEffect","Object","entries","map","key","rule","getInitialMediaQueryMatch","forEach","value","createListener","useCallback","e","requestAnimationFrame","matches","window","matchMedia","eventListenerPairs","queryList","listener","push","addMediaQueryListener","removeMediaQueryListener"],"mappings":"iNAKMA,EAAiD,CACnDC,cAAe,eAAeC,EAAAA,YAAYC,OAAS,OACnDC,eAAgB,eAAeF,EAAAA,YAAYC,6BAA6BD,cAAYG,MAAQ,OAC5FC,cAAe,eAAeJ,EAAAA,YAAYG,4BAA4BH,cAAYK,GAAK,OACvFC,WAAY,eAAeN,cAAYK,QACvCE,WAAY,0BACZC,YAAa,4BAGXC,EAAgBC,IAA+C,CACjEC,KAAmB,gBAAbD,GAA2C,eAAbA,EAA4BE,aAAWC,YAAcD,EAAAA,WAAWE,WACpGJ,SAAAA,sBAOqB,KACrB,MAAOK,EAAYC,GAAiBC,YAAS,IAEtCC,EAAQC,GAAkBC,EAAAA,WAAWC,EAAAA,QAAS,CACjDtB,eAAe,EACfG,gBAAgB,EAChBE,eAAe,EACfE,YAAY,EACZE,aAAa,EACbD,YAAY,IAGhBe,EAAAA,WAAU,KACNN,GAAc,GACPO,OAAAC,QAAQ1B,GACV2B,KAAI,EAAEC,EAAKC,KAAU,CAACD,EAAKE,EAA0BA,0BAAAD,MACrDE,SAAQ,EAAEH,EAAKI,MACRA,GACeX,EAAAV,EAAaiB,GAAyB,GAE5D,GACN,IAEH,MAAMK,EAAiBC,EAAAA,aAClBN,GAA4BO,IACzBC,uBAAsB,KACdD,EAAEE,SACahB,EAAAV,EAAaiB,GAAI,GAEvC,GAEL,IAGJJ,OAAAA,EAAAA,WAAU,KACN,IAAKP,IAAeqB,OAAOC,WACvB,OAEJ,MAAMC,EAAgF,GAE/E,OAAAf,OAAAC,QAAQ1B,GAAa+B,SAAQ,EAAEH,EAAKC,MACjC,MAAAY,EAAYH,OAAOC,WAAWV,GAC9Ba,EAAWT,EAAeL,GAChCY,EAAmBG,KAAK,CAACF,EAAWC,IACpCE,wBAAsBH,EAAWC,EAAQ,IAGtC,KACgBF,EAAAT,SAAQ,EAAEU,EAAWC,KAAcG,2BAAyBJ,EAAWC,IAAS,CAAA,GAExG,CAACT,EAAgBhB,IAEb,IAAKG"}
1
+ {"version":3,"file":"useScreen.js","sources":["../../../../src/hooks/useScreen/useScreen.ts"],"sourcesContent":["import { useCallback, useEffect, useReducer, useState } from \"react\";\nimport { tokens } from \"../../core\";\nimport { addMediaQueryListener, getInitialMediaQueryMatch, removeMediaQueryListener } from \"../mediaQueryUtils\";\nimport { ScreenAction, ActionType, reducer, ScreenState } from \"./state\";\n\nconst { breakpoint } = tokens;\n\nconst MEDIA_RULES: Record<keyof ScreenState, string> = {\n isSmallDevice: `(max-width: calc(${breakpoint.medium} - 1px))`,\n isMediumDevice: `(min-width: ${breakpoint.medium}) and (max-width: calc(${breakpoint.large} -1px))`,\n isLargeDevice: `(min-width: ${breakpoint.large}) and (max-width: calc(${breakpoint.xl} -1px))`,\n isXlDevice: `(min-width: ${breakpoint.xl})`,\n isPortrait: \"(orientation: portrait)\",\n isLandscape: \"(orientation: landscape)\",\n};\n\nconst createAction = (property: keyof ScreenState): ScreenAction => ({\n type: property === \"isLandscape\" || property === \"isPortrait\" ? ActionType.orientation : ActionType.deviceSize,\n property,\n});\n\n/**\n * Finn størrelsen og orienteringen til skjermen.\n * @returns Et objekt med boolean som indikerer om skjermstørrelsen er liten, medium, stor eller ekstra stor, og om skjermen er i portrett- eller landskapsmodus.\n */\nexport const useScreen = (): ScreenState => {\n const [hasMounted, setHasMounted] = useState(false);\n\n const [device, deviceDispatch] = useReducer(reducer, {\n isSmallDevice: false,\n isMediumDevice: false,\n isLargeDevice: false,\n isXlDevice: false,\n isLandscape: false,\n isPortrait: false,\n });\n\n useEffect(() => {\n setHasMounted(true);\n Object.entries(MEDIA_RULES)\n .map(([key, rule]) => [key, getInitialMediaQueryMatch(rule)])\n .forEach(([key, value]) => {\n if (value) {\n deviceDispatch(createAction(key as keyof ScreenState));\n }\n });\n }, []);\n\n const createListener = useCallback(\n (key: keyof ScreenState) => (e: MediaQueryListEvent) => {\n requestAnimationFrame(() => {\n if (e.matches) {\n deviceDispatch(createAction(key));\n }\n });\n },\n [],\n );\n\n useEffect(() => {\n if (!hasMounted || !window.matchMedia) {\n return;\n }\n const eventListenerPairs: Array<[MediaQueryList, (e: MediaQueryListEvent) => void]> = [];\n\n Object.entries(MEDIA_RULES).forEach(([key, rule]) => {\n const queryList = window.matchMedia(rule);\n const listener = createListener(key as keyof ScreenState);\n eventListenerPairs.push([queryList, listener]);\n addMediaQueryListener(queryList, listener);\n });\n\n return () => {\n eventListenerPairs.forEach(([queryList, listener]) => removeMediaQueryListener(queryList, listener));\n };\n }, [createListener, hasMounted]);\n\n return { ...device };\n};\n"],"names":["breakpoint","tokens","MEDIA_RULES","isSmallDevice","medium","isMediumDevice","large","isLargeDevice","xl","isXlDevice","isPortrait","isLandscape","createAction","property","type","ActionType","orientation","deviceSize","hasMounted","setHasMounted","useState","device","deviceDispatch","useReducer","reducer","useEffect","Object","entries","map","key","rule","getInitialMediaQueryMatch","forEach","value","createListener","useCallback","e","requestAnimationFrame","matches","window","matchMedia","eventListenerPairs","queryList","listener","push","addMediaQueryListener","removeMediaQueryListener"],"mappings":"uMAKQA,WAAAA,GAAeC,EAEjBC,EAAiD,CACnDC,cAAe,oBAAoBH,EAAWI,iBAC9CC,eAAgB,eAAeL,EAAWI,gCAAgCJ,EAAWM,eACrFC,cAAe,eAAeP,EAAWM,+BAA+BN,EAAWQ,YACnFC,WAAY,eAAeT,EAAWQ,MACtCE,WAAY,0BACZC,YAAa,4BAGXC,EAAgBC,IAAAA,CAClBC,KAAmB,gBAAbD,GAA2C,eAAbA,EAA4BE,aAAWC,YAAcD,EAAAA,WAAWE,WACpGJ,SAAAA,sBAOqB,KACrB,MAAOK,EAAYC,GAAiBC,YAAS,IAEtCC,EAAQC,GAAkBC,EAAAA,WAAWC,EAAAA,QAAS,CACjDrB,eAAe,EACfE,gBAAgB,EAChBE,eAAe,EACfE,YAAY,EACZE,aAAa,EACbD,YAAY,IAGhBe,EAAAA,WAAU,KACNN,GAAc,GACPO,OAAAC,QAAQzB,GACV0B,KAAI,EAAEC,EAAKC,KAAU,CAACD,EAAKE,EAA0BA,0BAAAD,MACrDE,SAAQ,EAAEH,EAAKI,MACRA,GACeX,EAAAV,EAAaiB,GAAyB,GAE5D,GACN,IAEH,MAAMK,EAAiBC,EAAAA,aAClBN,GAA4BO,IACzBC,uBAAsB,KACdD,EAAEE,SACahB,EAAAV,EAAaiB,GAAI,GAEvC,GAEL,IAGJJ,OAAAA,EAAAA,WAAU,KACN,IAAKP,IAAeqB,OAAOC,WACvB,OAEJ,MAAMC,EAAgF,GAE/E,OAAAf,OAAAC,QAAQzB,GAAa8B,SAAQ,EAAEH,EAAKC,MACjC,MAAAY,EAAYH,OAAOC,WAAWV,GAC9Ba,EAAWT,EAAeL,GAChCY,EAAmBG,KAAK,CAACF,EAAWC,IACpCE,wBAAsBH,EAAWC,EAAQ,IAGtC,KACgBF,EAAAT,SAAQ,EAAEU,EAAWC,KAAcG,2BAAyBJ,EAAWC,IAAS,CAAA,GAExG,CAACT,EAAgBhB,IAEb,IAAKG"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../CardImage-DsKh2g4S.cjs"),o=require("./components/card/NavCard.js"),r=require("./components/card/TaskCard.js"),n=require("./components/card/InfoCard.js"),s=require("./components/icon/Icon.js"),t=require("./components/icon/icons/animated/ArrowVerticalAnimated.js"),i=require("./components/icon/icons/animated/ArrowHorizontalAnimated.js"),c=require("./components/icon/icons/animated/PlusRemoveAnimated.js"),u=require("./components/icon/icons/ArrowDownIcon.js"),p=require("./components/icon/icons/ArrowLeftIcon.js"),a=require("./components/icon/icons/ArrowNorthEastIcon.js"),l=require("./components/icon/icons/ArrowRightIcon.js"),m=require("./components/icon/icons/ArrowUpIcon.js"),I=require("./components/icon/icons/CalendarIcon.js"),x=require("./components/icon/icons/CheckIcon.js"),k=require("./components/icon/icons/ChevronDownIcon.js"),j=require("./components/icon/icons/ChevronLeftIcon.js"),q=require("./components/icon/icons/ChevronRightIcon.js"),g=require("./components/icon/icons/ChevronUpIcon.js"),d=require("./components/icon/icons/CloseIcon.js"),h=require("./components/icon/icons/CopyIcon.js"),S=require("./components/icon/icons/DotsIcon.js"),C=require("./components/icon/icons/DragIcon.js"),A=require("./components/icon/icons/ErrorIcon.js"),T=require("./components/icon/icons/GreenCheckIcon.js"),L=require("./components/icon/icons/HamburgerIcon.js"),w=require("./components/icon/icons/InfoIcon.js"),v=require("./components/icon/icons/LinkIcon.js"),b=require("./components/icon/icons/PlusIcon.js"),P=require("./components/icon/icons/QuestionIcon.js"),R=require("./components/icon/icons/RedCrossIcon.js"),f=require("./components/icon/icons/SearchIcon.js"),D=require("./components/icon/icons/SuccessIcon.js"),H=require("./components/icon/icons/WarningIcon.js"),O=require("./components/icon/icons/MinusIcon.js"),G=require("./components/icon/icons/ThumbDownIcon.js"),B=require("./components/icon/icons/ThumbUpIcon.js"),E=require("./components/icon/icons/TrashCanIcon.js"),V=require("./components/icon/icons/PenIcon.js"),N=require("./components/icon-button/IconButton.js"),y=require("./components/input-group/FieldGroup.js"),U=require("./components/input-group/InputGroup.js"),M=require("./components/input-group/Label.js"),F=require("./components/input-group/SupportLabel.js"),W=require("./components/link/Link.js"),K=require("./components/link/NavLink.js"),z=require("./components/link-list/LinkList.js"),Q=require("./components/loader/Loader.js"),J=require("./components/loader/skeletons/SkeletonAnimation.js"),X=require("./components/loader/skeletons/SkeletonButton.js"),Y=require("./components/loader/skeletons/SkeletonCheckboxGroup.js"),Z=require("./components/loader/skeletons/SkeletonElement.js"),$=require("./components/loader/skeletons/SkeletonInput.js"),_=require("./components/loader/skeletons/SkeletonRadioButtonGroup.js"),ee=require("./components/loader/skeletons/SkeletonTable.js"),oe=require("./components/loader/skeletons/SkeletonTextArea.js"),re=require("./components/tag/Tag.js"),ne=require("./components/tooltip/Tooltip.js"),se=require("./components/tooltip/TooltipContent.js"),te=require("./components/tooltip/TooltipTrigger.js"),ie=require("./components/tooltip/PopupTip.js"),ce=require("./components/ScreenReaderOnly.js"),ue=require("./components/SlotComponent.js"),pe=require("./core/utils/tabListener.js"),ae=require("./core/utils/getValuePair.js"),le=require("./core/utils/breakpoints.js"),me=require("./core/utils/motion.js"),Ie=require("./core/utils/mergeRefs.js"),xe=require("./core/utils/mergeProps.js"),ke=require("./core/tokens.js"),je=require("./hooks/useAnimatedDetails/useAnimatedDetails.js"),qe=require("./hooks/useAnimatedHeight/useAnimatedHeight.js"),ge=require("./hooks/useAnimatedHeight/useAnimatedHeightBetween.js"),de=require("./hooks/useAnimatedHeight/useAutoAnimateHeight.js"),he=require("./hooks/useBrowserPreferences/useBrowserPreferences.js"),Se=require("./hooks/useIntersectionObserver/useIntersectionObserver.js"),Ce=require("./hooks/useLocalStorage/useLocalStorage.js"),Ae=require("./hooks/useMutationObserver/useMutationObserver.js"),Te=require("./hooks/usePreviousValue/usePreviousValue.js"),Le=require("./hooks/useProgressiveImg/useProgressiveImg.js"),we=require("./hooks/useScreen/useScreen.js"),ve=require("./hooks/useScrollIntoView/useScrollIntoView.js"),be=require("./hooks/useAriaLiveRegion/useAriaLiveRegion.js"),Pe=require("./hooks/useClickOutside/useClickOutside.js"),Re=require("./hooks/useFocusOutside/useFocusOutside.js"),fe=require("./hooks/useElementDimensions/useElementDimensions.js"),De=require("./hooks/useId/useId.js"),He=require("./hooks/useKeyListener/useKeyListener.js"),Oe=require("./hooks/useListNavigation/useListNavigation.js"),Ge=require("./hooks/useSwipeGesture/useSwipeGesture.js");exports.Card=e.Card,exports.CardImage=e.CardImage,exports.InfoBlock=o.InfoBlock,exports.NavCard=o.NavCard,exports.TaskCard=r.TaskCard,exports.InfoCard=n.InfoCard,exports.Icon=s.Icon,exports.ArrowVerticalAnimated=t.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=i.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=c.PlusRemoveAnimated,exports.ArrowDownIcon=u.ArrowDownIcon,exports.ArrowLeftIcon=p.ArrowLeftIcon,exports.ArrowNorthEastIcon=a.ArrowNorthEastIcon,exports.ArrowRightIcon=l.ArrowRightIcon,exports.ArrowUpIcon=m.ArrowUpIcon,exports.CalendarIcon=I.CalendarIcon,exports.CheckIcon=x.CheckIcon,exports.ChevronDownIcon=k.ChevronDownIcon,exports.ChevronLeftIcon=j.ChevronLeftIcon,exports.ChevronRightIcon=q.ChevronRightIcon,exports.ChevronUpIcon=g.ChevronUpIcon,exports.CloseIcon=d.CloseIcon,exports.CopyIcon=h.CopyIcon,exports.DotsIcon=S.DotsIcon,exports.DragIcon=C.DragIcon,exports.ErrorIcon=A.ErrorIcon,exports.GreenCheckIcon=T.GreenCheckIcon,exports.HamburgerIcon=L.HamburgerIcon,exports.InfoIcon=w.InfoIcon,exports.LinkIcon=v.LinkIcon,exports.PlusIcon=b.PlusIcon,exports.QuestionIcon=P.QuestionIcon,exports.RedCrossIcon=R.RedCrossIcon,exports.SearchIcon=f.SearchIcon,exports.SuccessIcon=D.SuccessIcon,exports.WarningIcon=H.WarningIcon,exports.MinusIcon=O.MinusIcon,exports.ThumbDownIcon=G.ThumbDownIcon,exports.ThumbUpIcon=B.ThumbUpIcon,exports.TrashCanIcon=E.TrashCanIcon,exports.PenIcon=V.PenIcon,exports.IconButton=N.IconButton,exports.FieldGroup=y.FieldGroup,exports.InputGroup=U.InputGroup,exports.Label=M.Label,exports.SupportLabel=F.SupportLabel,exports.Link=W.Link,exports.NavLink=K.NavLink,exports.LinkList=z.LinkList,exports.Loader=Q.Loader,exports.SkeletonAnimation=J.SkeletonAnimation,exports.SkeletonButton=X.SkeletonButton,exports.SkeletonCheckboxGroup=Y.SkeletonCheckboxGroup,exports.SkeletonElement=Z.SkeletonElement,exports.SkeletonInput=$.SkeletonInput,exports.SkeletonRadioButtonGroup=_.SkeletonRadioButtonGroup,exports.SkeletonTable=ee.SkeletonTable,exports.SkeletonTableHeader=ee.SkeletonTableHeader,exports.SkeletonTableRow=ee.SkeletonTableRow,exports.SkeletonTextArea=oe.SkeletonTextArea,exports.ErrorTag=re.ErrorTag,exports.InfoTag=re.InfoTag,exports.SuccessTag=re.SuccessTag,exports.Tag=re.Tag,exports.WarningTag=re.WarningTag,exports.Tooltip=ne.Tooltip,exports.TooltipContent=se.TooltipContent,exports.TooltipTrigger=te.TooltipTrigger,exports.PopupTip=ie.PopupTip,exports.ScreenReaderOnly=ce.ScreenReaderOnly,exports.SlotComponent=ue.SlotComponent,exports.initTabListener=pe.initTabListener,exports.getValuePair=ae.getValuePair,exports.breakpoints=le.breakpoints,exports.easings=me.easings,exports.timings=me.timings,exports.mergeRefs=Ie.mergeRefs,exports.mergeProps=xe.mergeProps,exports.tokens=ke,exports.useAnimatedDetails=je.useAnimatedDetails,exports.useAnimatedHeight=qe.useAnimatedHeight,exports.useAnimatedHeightBetween=ge.useAnimatedHeightBetween,exports.useAutoAnimatedHeight=de.useAutoAnimatedHeight,exports.useBrowserPreferences=he.useBrowserPreferences,exports.useIntersectionObserver=Se.useIntersectionObserver,exports.useLocalStorage=Ce.useLocalStorage,exports.useMutationObserver=Ae.useMutationObserver,exports.usePreviousValue=Te.usePreviousValue,exports.useProgressiveImg=Le.useProgressiveImg,exports.useScreen=we.useScreen,exports.useScrollIntoView=ve.useScrollIntoView,exports.useAriaLiveRegion=be.useAriaLiveRegion,exports.useClickOutside=Pe.useClickOutside,exports.useFocusOutside=Re.useFocusOutside,exports.useElementDimensions=fe.useElementDimensions,exports.useId=De.useId,exports.useKeyListener=He.useKeyListener,exports.useListNavigation=Oe.useListNavigation,exports.useSwipeGesture=Ge.useSwipeGesture;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/card/Card.js"),o=require("./components/card/CardImage.js"),r=require("./components/card/NavCard.js"),s=require("./components/card/TaskCard.js"),n=require("./components/card/InfoCard.js"),t=require("./components/icon/Icon.js"),i=require("./components/icon/icons/animated/ArrowVerticalAnimated.js"),u=require("./components/icon/icons/animated/ArrowHorizontalAnimated.js"),c=require("./components/icon/icons/animated/PlusRemoveAnimated.js"),a=require("./components/icon/icons/ArrowDownIcon.js"),p=require("./components/icon/icons/ArrowLeftIcon.js"),m=require("./components/icon/icons/ArrowNorthEastIcon.js"),l=require("./components/icon/icons/ArrowRightIcon.js"),I=require("./components/icon/icons/ArrowUpIcon.js"),x=require("./components/icon/icons/CalendarIcon.js"),j=require("./components/icon/icons/CheckIcon.js"),d=require("./components/icon/icons/ChevronDownIcon.js"),k=require("./components/icon/icons/ChevronLeftIcon.js"),q=require("./components/icon/icons/ChevronRightIcon.js"),g=require("./components/icon/icons/ChevronUpIcon.js"),h=require("./components/icon/icons/CloseIcon.js"),f=require("./components/icon/icons/CopyIcon.js"),S=require("./components/icon/icons/DotsIcon.js"),A=require("./components/icon/icons/DragIcon.js"),T=require("./components/icon/icons/ErrorIcon.js"),C=require("./components/icon/icons/GreenCheckIcon.js"),L=require("./components/icon/icons/HamburgerIcon.js"),v=require("./components/icon/icons/InfoIcon.js"),E=require("./components/icon/icons/LinkIcon.js"),R=require("./components/icon/icons/PlusIcon.js"),w=require("./components/icon/icons/QuestionIcon.js"),b=require("./components/icon/icons/RedCrossIcon.js"),M=require("./components/icon/icons/SearchIcon.js"),N=require("./components/icon/icons/SuccessIcon.js"),O=require("./components/icon/icons/WarningIcon.js"),G=require("./components/icon/icons/MinusIcon.js"),P=require("./components/icon/icons/ThumbDownIcon.js"),D=require("./components/icon/icons/ThumbUpIcon.js"),B=require("./components/icon/icons/TrashCanIcon.js"),H=require("./components/icon/icons/PenIcon.js"),y=require("./components/icon-button/IconButton.js"),U=require("./components/input-group/FieldGroup.js"),K=require("./components/input-group/InputGroup.js"),F=require("./components/input-group/Label.js"),V=require("./components/input-group/SupportLabel.js"),W=require("./components/link/Link.js"),X=require("./components/link/NavLink.js"),_=require("./components/link-list/LinkList.js"),z=require("./components/loader/Loader.js"),Q=require("./components/loader/skeletons/SkeletonAnimation.js"),J=require("./components/loader/skeletons/SkeletonButton.js"),Y=require("./components/loader/skeletons/SkeletonCheckboxGroup.js"),Z=require("./components/loader/skeletons/SkeletonElement.js"),$=require("./components/loader/skeletons/SkeletonInput.js"),ee=require("./components/loader/skeletons/SkeletonRadioButtonGroup.js"),oe=require("./components/loader/skeletons/SkeletonTable.js"),re=require("./components/loader/skeletons/SkeletonTextArea.js"),se=require("./components/tag/Tag.js"),ne=require("./components/tooltip/Tooltip.js"),te=require("./components/tooltip/TooltipContent.js"),ie=require("./components/tooltip/TooltipTrigger.js"),ue=require("./components/tooltip/PopupTip.js"),ce=require("./components/ScreenReaderOnly.js"),ae=require("./core/tokens.js"),pe=require("./hooks/useAnimatedDetails/useAnimatedDetails.js"),me=require("./hooks/useAnimatedHeight/useAnimatedHeight.js"),le=require("./hooks/useAnimatedHeight/useAnimatedHeightBetween.js"),Ie=require("./hooks/useAnimatedHeight/useAutoAnimateHeight.js"),xe=require("./hooks/useBrowserPreferences/useBrowserPreferences.js"),je=require("./hooks/useIntersectionObserver/useIntersectionObserver.js"),de=require("./hooks/useLocalStorage/useLocalStorage.js"),ke=require("./hooks/useMutationObserver/useMutationObserver.js"),qe=require("./hooks/usePreviousValue/usePreviousValue.js"),ge=require("./hooks/useProgressiveImg/useProgressiveImg.js"),he=require("./hooks/useScreen/useScreen.js"),fe=require("./hooks/useScrollIntoView/useScrollIntoView.js"),Se=require("./hooks/useAriaLiveRegion/useAriaLiveRegion.js"),Ae=require("./hooks/useClickOutside/useClickOutside.js"),Te=require("./hooks/useFocusOutside/useFocusOutside.js"),Ce=require("./hooks/useElementDimensions/useElementDimensions.js"),Le=require("./hooks/useId/useId.js"),ve=require("./hooks/useKeyListener/useKeyListener.js"),Ee=require("./hooks/useListNavigation/useListNavigation.js"),Re=require("./hooks/useSwipeGesture/useSwipeGesture.js"),we=require("../index-hKyqa1PH.cjs"),be=require("./utilities/formatters/util/formatNumber.js"),Me=require("./utilities/formatters/util/parseNumber.js"),Ne=require("./utilities/formatters/util/registerWithMask.js"),Oe=require("./utilities/formatters/avstand/formatAvstand.js"),Ge=require("./utilities/formatters/bytes/formatBytes.js"),Pe=require("./utilities/formatters/date/formatDate.js"),De=require("./utilities/formatters/fodselsnummer/formatFodselsnummer.js"),Be=require("./utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js"),He=require("./utilities/formatters/kontonummer/formatKontonummer.js"),ye=require("./utilities/formatters/kortnummer/formatKortnummer.js"),Ue=require("./utilities/formatters/telefonnummer/formatTelefonnummer.js"),Ke=require("./utilities/formatters/valuta/formatValuta.js"),Fe=require("./utilities/polymorphism/mergeProps.js"),Ve=require("./utilities/polymorphism/mergeRefs.js"),We=require("./utilities/polymorphism/SlotComponent.js"),Xe=require("./utilities/tabListener.js"),_e=require("./utilities/valuePair.js");exports.Card=e.Card,exports.CardImage=o.CardImage,exports.InfoBlock=r.InfoBlock,exports.NavCard=r.NavCard,exports.TaskCard=s.TaskCard,exports.InfoCard=n.InfoCard,exports.Icon=t.Icon,exports.ArrowVerticalAnimated=i.ArrowVerticalAnimated,exports.ArrowHorizontalAnimated=u.ArrowHorizontalAnimated,exports.PlusRemoveAnimated=c.PlusRemoveAnimated,exports.ArrowDownIcon=a.ArrowDownIcon,exports.ArrowLeftIcon=p.ArrowLeftIcon,exports.ArrowNorthEastIcon=m.ArrowNorthEastIcon,exports.ArrowRightIcon=l.ArrowRightIcon,exports.ArrowUpIcon=I.ArrowUpIcon,exports.CalendarIcon=x.CalendarIcon,exports.CheckIcon=j.CheckIcon,exports.ChevronDownIcon=d.ChevronDownIcon,exports.ChevronLeftIcon=k.ChevronLeftIcon,exports.ChevronRightIcon=q.ChevronRightIcon,exports.ChevronUpIcon=g.ChevronUpIcon,exports.CloseIcon=h.CloseIcon,exports.CopyIcon=f.CopyIcon,exports.DotsIcon=S.DotsIcon,exports.DragIcon=A.DragIcon,exports.ErrorIcon=T.ErrorIcon,exports.GreenCheckIcon=C.GreenCheckIcon,exports.HamburgerIcon=L.HamburgerIcon,exports.InfoIcon=v.InfoIcon,exports.LinkIcon=E.LinkIcon,exports.PlusIcon=R.PlusIcon,exports.QuestionIcon=w.QuestionIcon,exports.RedCrossIcon=b.RedCrossIcon,exports.SearchIcon=M.SearchIcon,exports.SuccessIcon=N.SuccessIcon,exports.WarningIcon=O.WarningIcon,exports.MinusIcon=G.MinusIcon,exports.ThumbDownIcon=P.ThumbDownIcon,exports.ThumbUpIcon=D.ThumbUpIcon,exports.TrashCanIcon=B.TrashCanIcon,exports.PenIcon=H.PenIcon,exports.IconButton=y.IconButton,exports.FieldGroup=U.FieldGroup,exports.InputGroup=K.InputGroup,exports.Label=F.Label,exports.SupportLabel=V.SupportLabel,exports.Link=W.Link,exports.NavLink=X.NavLink,exports.LinkList=_.LinkList,exports.Loader=z.Loader,exports.SkeletonAnimation=Q.SkeletonAnimation,exports.SkeletonButton=J.SkeletonButton,exports.SkeletonCheckboxGroup=Y.SkeletonCheckboxGroup,exports.SkeletonElement=Z.SkeletonElement,exports.SkeletonInput=$.SkeletonInput,exports.SkeletonRadioButtonGroup=ee.SkeletonRadioButtonGroup,exports.SkeletonTable=oe.SkeletonTable,exports.SkeletonTableHeader=oe.SkeletonTableHeader,exports.SkeletonTableRow=oe.SkeletonTableRow,exports.SkeletonTextArea=re.SkeletonTextArea,exports.ErrorTag=se.ErrorTag,exports.InfoTag=se.InfoTag,exports.SuccessTag=se.SuccessTag,exports.Tag=se.Tag,exports.WarningTag=se.WarningTag,exports.Tooltip=ne.Tooltip,exports.TooltipContent=te.TooltipContent,exports.TooltipTrigger=ie.TooltipTrigger,exports.PopupTip=ue.PopupTip,exports.ScreenReaderOnly=ce.ScreenReaderOnly,exports.tokens=ae,exports.useAnimatedDetails=pe.useAnimatedDetails,exports.useAnimatedHeight=me.useAnimatedHeight,exports.useAnimatedHeightBetween=le.useAnimatedHeightBetween,exports.useAutoAnimatedHeight=Ie.useAutoAnimatedHeight,exports.useBrowserPreferences=xe.useBrowserPreferences,exports.useIntersectionObserver=je.useIntersectionObserver,exports.useLocalStorage=de.useLocalStorage,exports.useMutationObserver=ke.useMutationObserver,exports.usePreviousValue=qe.usePreviousValue,exports.useProgressiveImg=ge.useProgressiveImg,exports.useScreen=he.useScreen,exports.useScrollIntoView=fe.useScrollIntoView,exports.useAriaLiveRegion=Se.useAriaLiveRegion,exports.useClickOutside=Ae.useClickOutside,exports.useFocusOutside=Te.useFocusOutside,exports.useElementDimensions=Ce.useElementDimensions,exports.useId=Le.useId,exports.useKeyListener=ve.useKeyListener,exports.useListNavigation=Ee.useListNavigation,exports.useSwipeGesture=Re.useSwipeGesture,exports.unicode=we.unicode,exports.formatNumber=be.formatNumber,exports.parseNumber=Me.parseNumber,exports.registerWithFodselsnummerMask=Ne.registerWithFodselsnummerMask,exports.registerWithKontonummerMask=Ne.registerWithKontonummerMask,exports.registerWithKortnummerMask=Ne.registerWithKortnummerMask,exports.registerWithMasks=Ne.registerWithMasks,exports.registerWithTelefonnummerMask=Ne.registerWithTelefonnummerMask,exports.formatAvstand=Oe.formatAvstand,exports.formatBytes=Ge.formatBytes,exports.formatDate=Pe.formatDate,exports.FODSELSNUMMER_REGEX=De.FODSELSNUMMER_REGEX,exports.formatFodselsnummer=De.formatFodselsnummer,exports.ORGANISASJONSNUMMER_REGEX=Be.ORGANISASJONSNUMMER_REGEX,exports.formatOrganisasjonsnummer=Be.formatOrganisasjonsnummer,exports.KONTONUMMER_REGEX=He.KONTONUMMER_REGEX,exports.formatKontonummer=He.formatKontonummer,exports.KORTNUMMER_REGEX=ye.KORTNUMMER_REGEX,exports.formatKortnummer=ye.formatKortnummer,exports.TELEFONNUMMER_REGEX=Ue.TELEFONNUMMER_REGEX,exports.formatTelefonnummer=Ue.formatTelefonnummer,exports.formatValuta=Ke.formatValuta,exports.mergeProps=Fe.mergeProps,exports.mergeRefs=Ve.mergeRefs,exports.SlotComponent=We.SlotComponent,exports.initTabListener=Xe.initTabListener,exports.getValuePair=_e.getValuePair;
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../index-hKyqa1PH.cjs");exports.unicode=e.unicode;
2
+ //# sourceMappingURL=index.js.map