@orangesk/orange-design-system 2.0.0-beta.4 → 2.0.0-beta.6

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 (293) hide show
  1. package/build/components/index.css +1 -2
  2. package/build/components/index.css.map +1 -1
  3. package/build/components/index.js.map +1 -1
  4. package/build/components/tsconfig.tsbuildinfo +1 -1
  5. package/build/components/types/index.d.ts +1473 -0
  6. package/build/components/types/src/components/Card/Card.d.ts +1 -1
  7. package/build/components/types/src/components/Card/CardSection.d.ts +2 -2
  8. package/build/components/types/src/components/Icon/iconSearchTags.d.ts +252 -251
  9. package/build/components/types/src/components/Pagination/Pagination.d.ts +2 -3
  10. package/build/components/types/src/components/index.d.ts +0 -2
  11. package/build/lib/after-components.css +1 -1
  12. package/build/lib/after-components.css.map +1 -1
  13. package/build/lib/components.css +1 -1
  14. package/build/lib/components.css.map +1 -1
  15. package/build/lib/style.css +1 -1
  16. package/build/lib/style.css.map +1 -1
  17. package/build/lib/tsconfig.tsbuildinfo +1 -1
  18. package/build/sprite.svg +1 -1
  19. package/package.json +5 -3
  20. package/src/assets/icons/article.svg +7 -0
  21. package/src/assets/icons/pictogram-activation--dark.svg +10 -11
  22. package/src/assets/icons/pictogram-activation-free--dark.svg +4 -5
  23. package/src/assets/icons/pictogram-activation-free.svg +4 -5
  24. package/src/assets/icons/pictogram-activation.svg +10 -11
  25. package/src/assets/icons/pictogram-archive--dark.svg +3 -4
  26. package/src/assets/icons/pictogram-archive.svg +3 -4
  27. package/src/assets/icons/pictogram-calling-minutes--dark.svg +3 -4
  28. package/src/assets/icons/pictogram-calling-minutes.svg +3 -4
  29. package/src/assets/icons/pictogram-canal-plus--dark.svg +3 -4
  30. package/src/assets/icons/pictogram-canal-plus.svg +3 -4
  31. package/src/assets/icons/pictogram-competition-tickets--dark.svg +11 -12
  32. package/src/assets/icons/pictogram-competition-tickets.svg +11 -12
  33. package/src/assets/icons/pictogram-device-discount--dark.svg +7 -6
  34. package/src/assets/icons/pictogram-device-discount.svg +5 -6
  35. package/src/assets/icons/pictogram-discount-general--dark.svg +5 -6
  36. package/src/assets/icons/pictogram-discount-general.svg +5 -6
  37. package/src/assets/icons/pictogram-discount-price--dark.svg +5 -6
  38. package/src/assets/icons/pictogram-discount-price.svg +5 -6
  39. package/src/assets/icons/pictogram-extra-data--dark.svg +6 -7
  40. package/src/assets/icons/pictogram-extra-data.svg +6 -7
  41. package/src/assets/icons/pictogram-free-payment--dark.svg +5 -6
  42. package/src/assets/icons/pictogram-free-payment.svg +3 -6
  43. package/src/assets/icons/pictogram-gift--dark.svg +12 -13
  44. package/src/assets/icons/pictogram-gift-one-benefit--dark.svg +7 -8
  45. package/src/assets/icons/pictogram-gift-one-benefit.svg +7 -8
  46. package/src/assets/icons/pictogram-gift-two-benefits--dark.svg +8 -9
  47. package/src/assets/icons/pictogram-gift-two-benefits.svg +8 -9
  48. package/src/assets/icons/pictogram-gift.svg +3 -4
  49. package/src/assets/icons/pictogram-hbo-max--dark.svg +5 -6
  50. package/src/assets/icons/pictogram-hbo-max.svg +5 -6
  51. package/src/assets/icons/pictogram-infinite-sms--dark.svg +3 -4
  52. package/src/assets/icons/pictogram-infinite-sms.svg +3 -4
  53. package/src/assets/icons/pictogram-installation--dark.svg +4 -5
  54. package/src/assets/icons/pictogram-installation-free--dark.svg +4 -5
  55. package/src/assets/icons/pictogram-installation-free.svg +4 -5
  56. package/src/assets/icons/pictogram-installation.svg +4 -5
  57. package/src/assets/icons/pictogram-max--dark.svg +3 -4
  58. package/src/assets/icons/pictogram-max-canal-plus--dark.svg +5 -6
  59. package/src/assets/icons/pictogram-max-canal-plus.svg +5 -6
  60. package/src/assets/icons/pictogram-max.svg +3 -4
  61. package/src/assets/icons/pictogram-moj-orange-app--dark.svg +3 -4
  62. package/src/assets/icons/pictogram-moj-orange-app.svg +3 -4
  63. package/src/assets/icons/pictogram-movie-storage--dark.svg +4 -5
  64. package/src/assets/icons/pictogram-movie-storage.svg +4 -5
  65. package/src/assets/icons/pictogram-online-protection--dark.svg +3 -4
  66. package/src/assets/icons/pictogram-online-protection.svg +3 -4
  67. package/src/assets/icons/pictogram-random-damage--dark.svg +4 -8
  68. package/src/assets/icons/pictogram-random-damage.svg +4 -8
  69. package/src/assets/icons/pictogram-recycling--dark.svg +7 -8
  70. package/src/assets/icons/pictogram-recycling.svg +14 -15
  71. package/src/assets/icons/pictogram-repair--dark.svg +12 -13
  72. package/src/assets/icons/pictogram-repair.svg +12 -13
  73. package/src/assets/icons/pictogram-roaming--dark.svg +3 -4
  74. package/src/assets/icons/pictogram-roaming-discount--dark.svg +3 -16
  75. package/src/assets/icons/pictogram-roaming-discount.svg +15 -16
  76. package/src/assets/icons/pictogram-roaming.svg +3 -4
  77. package/src/assets/icons/pictogram-skylink--dark.svg +10 -11
  78. package/src/assets/icons/pictogram-skylink-live-tv--dark.svg +7 -8
  79. package/src/assets/icons/pictogram-skylink-live-tv.svg +7 -8
  80. package/src/assets/icons/pictogram-skylink.svg +10 -11
  81. package/src/assets/icons/pictogram-sms--dark.svg +5 -6
  82. package/src/assets/icons/pictogram-sms.svg +5 -6
  83. package/src/assets/icons/pictogram-theft--dark.svg +3 -7
  84. package/src/assets/icons/pictogram-theft.svg +3 -7
  85. package/src/assets/icons/pictogram-three-devices--dark.svg +4 -8
  86. package/src/assets/icons/pictogram-three-devices.svg +4 -8
  87. package/src/assets/icons/pictogram-trust--dark.svg +3 -4
  88. package/src/assets/icons/pictogram-trust.svg +3 -4
  89. package/src/assets/icons/pictogram-water-damage--dark.svg +5 -6
  90. package/src/assets/icons/pictogram-water-damage.svg +5 -6
  91. package/src/components/Card/Card.tsx +14 -1
  92. package/src/components/Card/CardSection.tsx +2 -10
  93. package/src/components/Icon/iconSearchTags.ts +433 -432
  94. package/src/components/Icon/styles/style.scss +4 -0
  95. package/src/components/Link/styles/style.scss +2 -1
  96. package/src/components/Pagination/Pagination.tsx +2 -2
  97. package/src/components/Section/styles/config.scss +18 -16
  98. package/src/components/index.ts +0 -2
  99. package/src/styles/utilities/color.scss +5 -0
  100. package/src/styles/utilities/layout.scss +9 -0
  101. package/build/components/Accordion/index.js +0 -16
  102. package/build/components/Accordion/index.js.map +0 -1
  103. package/build/components/Accordion/tsconfig.tsbuildinfo +0 -1
  104. package/build/components/Alert/index.js +0 -16
  105. package/build/components/Alert/index.js.map +0 -1
  106. package/build/components/Alert/tsconfig.tsbuildinfo +0 -1
  107. package/build/components/AnchorNavigation/index.js +0 -16
  108. package/build/components/AnchorNavigation/index.js.map +0 -1
  109. package/build/components/AnchorNavigation/style.css +0 -2
  110. package/build/components/AnchorNavigation/style.css.map +0 -1
  111. package/build/components/AnchorNavigation/tsconfig.tsbuildinfo +0 -1
  112. package/build/components/Bar/index.js +0 -16
  113. package/build/components/Bar/index.js.map +0 -1
  114. package/build/components/Bar/tsconfig.tsbuildinfo +0 -1
  115. package/build/components/BlockAction/index.js +0 -16
  116. package/build/components/BlockAction/index.js.map +0 -1
  117. package/build/components/BlockAction/tsconfig.tsbuildinfo +0 -1
  118. package/build/components/BodyBanner/index.js +0 -16
  119. package/build/components/BodyBanner/index.js.map +0 -1
  120. package/build/components/BodyBanner/style.css +0 -2
  121. package/build/components/BodyBanner/style.css.map +0 -1
  122. package/build/components/BodyBanner/tsconfig.tsbuildinfo +0 -1
  123. package/build/components/Breadcrumbs/index.js +0 -16
  124. package/build/components/Breadcrumbs/index.js.map +0 -1
  125. package/build/components/Breadcrumbs/tsconfig.tsbuildinfo +0 -1
  126. package/build/components/Button/index.js +0 -16
  127. package/build/components/Button/index.js.map +0 -1
  128. package/build/components/Button/tsconfig.tsbuildinfo +0 -1
  129. package/build/components/Buttons/index.js +0 -16
  130. package/build/components/Buttons/index.js.map +0 -1
  131. package/build/components/Buttons/tsconfig.tsbuildinfo +0 -1
  132. package/build/components/Card/index.js +0 -16
  133. package/build/components/Card/index.js.map +0 -1
  134. package/build/components/Card/tsconfig.tsbuildinfo +0 -1
  135. package/build/components/Carousel/index.js +0 -16
  136. package/build/components/Carousel/index.js.map +0 -1
  137. package/build/components/Carousel/style.css +0 -2
  138. package/build/components/Carousel/style.css.map +0 -1
  139. package/build/components/Carousel/tsconfig.tsbuildinfo +0 -1
  140. package/build/components/CarouselHero/index.js +0 -16
  141. package/build/components/CarouselHero/index.js.map +0 -1
  142. package/build/components/CarouselHero/tsconfig.tsbuildinfo +0 -1
  143. package/build/components/CarouselPromotions/index.js +0 -16
  144. package/build/components/CarouselPromotions/index.js.map +0 -1
  145. package/build/components/CarouselPromotions/tsconfig.tsbuildinfo +0 -1
  146. package/build/components/CartTable/index.js +0 -16
  147. package/build/components/CartTable/index.js.map +0 -1
  148. package/build/components/CartTable/style.css +0 -2
  149. package/build/components/CartTable/style.css.map +0 -1
  150. package/build/components/CartTable/tsconfig.tsbuildinfo +0 -1
  151. package/build/components/Code/index.js +0 -11
  152. package/build/components/Code/index.js.map +0 -1
  153. package/build/components/Code/style.css +0 -2
  154. package/build/components/Code/style.css.map +0 -1
  155. package/build/components/Code/tsconfig.tsbuildinfo +0 -1
  156. package/build/components/Container/index.js +0 -16
  157. package/build/components/Container/index.js.map +0 -1
  158. package/build/components/Container/tsconfig.tsbuildinfo +0 -1
  159. package/build/components/Controls/index.js +0 -16
  160. package/build/components/Controls/index.js.map +0 -1
  161. package/build/components/Controls/tsconfig.tsbuildinfo +0 -1
  162. package/build/components/Cover/index.js +0 -16
  163. package/build/components/Cover/index.js.map +0 -1
  164. package/build/components/Cover/tsconfig.tsbuildinfo +0 -1
  165. package/build/components/Divider/index.js +0 -16
  166. package/build/components/Divider/index.js.map +0 -1
  167. package/build/components/Divider/tsconfig.tsbuildinfo +0 -1
  168. package/build/components/DocumentationSidebar/index.js +0 -16
  169. package/build/components/DocumentationSidebar/index.js.map +0 -1
  170. package/build/components/DocumentationSidebar/style.css +0 -2
  171. package/build/components/DocumentationSidebar/style.css.map +0 -1
  172. package/build/components/DocumentationSidebar/tsconfig.tsbuildinfo +0 -1
  173. package/build/components/Dropdown/index.js +0 -16
  174. package/build/components/Dropdown/index.js.map +0 -1
  175. package/build/components/Dropdown/style.css +0 -2
  176. package/build/components/Dropdown/style.css.map +0 -1
  177. package/build/components/Dropdown/tsconfig.tsbuildinfo +0 -1
  178. package/build/components/Expander/index.js +0 -16
  179. package/build/components/Expander/index.js.map +0 -1
  180. package/build/components/Expander/tsconfig.tsbuildinfo +0 -1
  181. package/build/components/FeatureAccordion/index.js +0 -16
  182. package/build/components/FeatureAccordion/index.js.map +0 -1
  183. package/build/components/FeatureAccordion/style.css +0 -2
  184. package/build/components/FeatureAccordion/style.css.map +0 -1
  185. package/build/components/FeatureAccordion/tsconfig.tsbuildinfo +0 -1
  186. package/build/components/Footer/index.js +0 -16
  187. package/build/components/Footer/index.js.map +0 -1
  188. package/build/components/Footer/tsconfig.tsbuildinfo +0 -1
  189. package/build/components/Forms/index.js +0 -20
  190. package/build/components/Forms/index.js.map +0 -1
  191. package/build/components/Forms/style.css +0 -2
  192. package/build/components/Forms/style.css.map +0 -1
  193. package/build/components/Forms/tsconfig.tsbuildinfo +0 -1
  194. package/build/components/Gauge/index.js +0 -16
  195. package/build/components/Gauge/index.js.map +0 -1
  196. package/build/components/Gauge/tsconfig.tsbuildinfo +0 -1
  197. package/build/components/Grid/index.js +0 -16
  198. package/build/components/Grid/index.js.map +0 -1
  199. package/build/components/Grid/style.css +0 -2
  200. package/build/components/Grid/style.css.map +0 -1
  201. package/build/components/Grid/tsconfig.tsbuildinfo +0 -1
  202. package/build/components/Hero/index.js +0 -16
  203. package/build/components/Hero/index.js.map +0 -1
  204. package/build/components/Hero/style.css +0 -2
  205. package/build/components/Hero/style.css.map +0 -1
  206. package/build/components/Hero/tsconfig.tsbuildinfo +0 -1
  207. package/build/components/Icon/index.js +0 -11
  208. package/build/components/Icon/index.js.map +0 -1
  209. package/build/components/Icon/tsconfig.tsbuildinfo +0 -1
  210. package/build/components/IconList/index.js +0 -16
  211. package/build/components/IconList/index.js.map +0 -1
  212. package/build/components/IconList/style.css +0 -2
  213. package/build/components/IconList/style.css.map +0 -1
  214. package/build/components/IconList/tsconfig.tsbuildinfo +0 -1
  215. package/build/components/Image/index.js +0 -16
  216. package/build/components/Image/index.js.map +0 -1
  217. package/build/components/Image/tsconfig.tsbuildinfo +0 -1
  218. package/build/components/Link/index.js +0 -7
  219. package/build/components/Link/index.js.map +0 -1
  220. package/build/components/Link/tsconfig.tsbuildinfo +0 -1
  221. package/build/components/List/index.js +0 -16
  222. package/build/components/List/index.js.map +0 -1
  223. package/build/components/List/tsconfig.tsbuildinfo +0 -1
  224. package/build/components/Loader/index.js +0 -16
  225. package/build/components/Loader/index.js.map +0 -1
  226. package/build/components/Loader/tsconfig.tsbuildinfo +0 -1
  227. package/build/components/Megamenu/index.js +0 -16
  228. package/build/components/Megamenu/index.js.map +0 -1
  229. package/build/components/Megamenu/tsconfig.tsbuildinfo +0 -1
  230. package/build/components/Modal/index.js +0 -20
  231. package/build/components/Modal/index.js.map +0 -1
  232. package/build/components/Modal/tsconfig.tsbuildinfo +0 -1
  233. package/build/components/Pagination/index.js +0 -16
  234. package/build/components/Pagination/index.js.map +0 -1
  235. package/build/components/Pagination/tsconfig.tsbuildinfo +0 -1
  236. package/build/components/Pill/index.js +0 -16
  237. package/build/components/Pill/index.js.map +0 -1
  238. package/build/components/Pill/tsconfig.tsbuildinfo +0 -1
  239. package/build/components/Preview/index.js +0 -77
  240. package/build/components/Preview/index.js.map +0 -1
  241. package/build/components/Preview/style.css +0 -2
  242. package/build/components/Preview/style.css.map +0 -1
  243. package/build/components/Preview/tsconfig.tsbuildinfo +0 -1
  244. package/build/components/Progress/index.js +0 -16
  245. package/build/components/Progress/index.js.map +0 -1
  246. package/build/components/Progress/tsconfig.tsbuildinfo +0 -1
  247. package/build/components/PromoBanner/index.js +0 -16
  248. package/build/components/PromoBanner/index.js.map +0 -1
  249. package/build/components/PromoBanner/style.css +0 -2
  250. package/build/components/PromoBanner/style.css.map +0 -1
  251. package/build/components/PromoBanner/tsconfig.tsbuildinfo +0 -1
  252. package/build/components/PromotionCard/index.js +0 -16
  253. package/build/components/PromotionCard/index.js.map +0 -1
  254. package/build/components/PromotionCard/tsconfig.tsbuildinfo +0 -1
  255. package/build/components/Section/index.js +0 -16
  256. package/build/components/Section/index.js.map +0 -1
  257. package/build/components/Section/tsconfig.tsbuildinfo +0 -1
  258. package/build/components/Skeleton/index.js +0 -16
  259. package/build/components/Skeleton/index.js.map +0 -1
  260. package/build/components/Skeleton/tsconfig.tsbuildinfo +0 -1
  261. package/build/components/SkipLink/index.js +0 -16
  262. package/build/components/SkipLink/index.js.map +0 -1
  263. package/build/components/SkipLink/tsconfig.tsbuildinfo +0 -1
  264. package/build/components/Stepbar/index.js +0 -16
  265. package/build/components/Stepbar/index.js.map +0 -1
  266. package/build/components/Stepbar/tsconfig.tsbuildinfo +0 -1
  267. package/build/components/Sticker/index.js +0 -16
  268. package/build/components/Sticker/index.js.map +0 -1
  269. package/build/components/Sticker/tsconfig.tsbuildinfo +0 -1
  270. package/build/components/Table/index.js +0 -16
  271. package/build/components/Table/index.js.map +0 -1
  272. package/build/components/Table/tsconfig.tsbuildinfo +0 -1
  273. package/build/components/Tabs/index.js +0 -16
  274. package/build/components/Tabs/index.js.map +0 -1
  275. package/build/components/Tabs/tsconfig.tsbuildinfo +0 -1
  276. package/build/components/Tag/index.js +0 -16
  277. package/build/components/Tag/index.js.map +0 -1
  278. package/build/components/Tag/tsconfig.tsbuildinfo +0 -1
  279. package/build/components/Testimonial/index.js +0 -16
  280. package/build/components/Testimonial/index.js.map +0 -1
  281. package/build/components/Testimonial/tsconfig.tsbuildinfo +0 -1
  282. package/build/components/Tile/index.js +0 -16
  283. package/build/components/Tile/index.js.map +0 -1
  284. package/build/components/Tile/tsconfig.tsbuildinfo +0 -1
  285. package/build/components/Tooltip/index.js +0 -16
  286. package/build/components/Tooltip/index.js.map +0 -1
  287. package/build/components/Tooltip/style.css +0 -2
  288. package/build/components/Tooltip/style.css.map +0 -1
  289. package/build/components/Tooltip/tsconfig.tsbuildinfo +0 -1
  290. package/build/components/static.css +0 -2
  291. package/build/components/static.css.map +0 -1
  292. package/build/components/static.js +0 -10
  293. package/build/components/static.js.map +0 -1
@@ -29,6 +29,10 @@
29
29
  }
30
30
  }
31
31
  }
32
+
33
+ &--with-text-end {
34
+ margin-inline-end: convert.to-rem(5px);
35
+ }
32
36
  }
33
37
 
34
38
  use {
@@ -16,7 +16,8 @@
16
16
  .osk-footer a,
17
17
  .mm-header a,
18
18
  .megamenu-header a,
19
- .tag
19
+ .tag,
20
+ small a
20
21
  ),
21
22
  .link {
22
23
  @include mixins.base();
@@ -5,7 +5,7 @@ import { PaginationItem } from "./PaginationItem";
5
5
  import Separator from "./Separator";
6
6
  import { getItemState } from "./helpers";
7
7
 
8
- interface PaginationItem {
8
+ interface PaginationItemProps {
9
9
  /** Page link href */
10
10
  href: string;
11
11
  /** Text label inside page item */
@@ -22,7 +22,7 @@ interface PaginationProps {
22
22
  /** Dark theme */
23
23
  colorScheme?: "light" | "dark";
24
24
  /** All pagination items - buttons & numbers */
25
- items: PaginationItem[];
25
+ items: PaginationItemProps[];
26
26
  /** Accessibility label */
27
27
  label?: string;
28
28
  /** Additional CSS class name */
@@ -1,38 +1,40 @@
1
- @use '../../../styles/tokens/space';
2
- @use '../../../styles/tokens/color';
1
+ @use "../../../styles/tokens/space";
2
+ @use "../../../styles/tokens/color";
3
3
 
4
4
  $spacing: (
5
5
  default: (
6
6
  default: (
7
- padding-top: space.get('large'),
8
- padding-bottom: space.get('large'),
7
+ padding-top: space.get("large"),
8
+ padding-bottom: space.get("large"),
9
9
  ),
10
10
  md: (
11
- padding-top: space.get('xlarge'),
12
- padding-bottom: space.get('xlarge'),
13
- )
11
+ padding-top: space.get("xlarge"),
12
+ padding-bottom: space.get("xlarge"),
13
+ ),
14
14
  ),
15
15
  small: (
16
16
  default: (
17
17
  padding-top: space.get(),
18
+ padding-bottom: space.get(),
18
19
  ),
19
20
  md: (
20
- padding-top: space.get('large'),
21
- )
21
+ padding-top: space.get("large"),
22
+ padding-bottom: space.get("large"),
23
+ ),
22
24
  ),
23
25
  xsmall: (
24
26
  default: (
25
- padding-top: space.get('small'),
26
- padding-bottom: space.get('small'),
27
+ padding-top: space.get("small"),
28
+ padding-bottom: space.get("small"),
27
29
  ),
28
30
  md: (
29
- padding-top: space.get('small'),
30
- padding-bottom: space.get('small'),
31
- )
31
+ padding-top: space.get("small"),
32
+ padding-bottom: space.get("small"),
33
+ ),
32
34
  ),
33
35
  );
34
36
 
35
37
  $stuck-image-spacing: (
36
- default: #{space.get('large') * -1},
37
- md: #{space.get('xlarge') * -1},
38
+ default: #{space.get("large") * -1},
39
+ md: #{space.get("xlarge") * -1},
38
40
  );
@@ -1,4 +1,3 @@
1
- import "../styles/before-components.scss";
2
1
  import { Accordion, AccordionItem } from "./Accordion";
3
2
  import { Alert } from "./Alert";
4
3
  import { Tag, TagButton } from "./Tag";
@@ -86,7 +85,6 @@ import { Tab, TabPanel, Tabs } from "./Tabs";
86
85
  import { Table } from "./Table";
87
86
  import { Tile } from "./Tile";
88
87
  import { Tooltip, InfoTooltip } from "./Tooltip";
89
- import "../styles/after-components.scss";
90
88
  import { Cover } from "./Cover";
91
89
  import { Testimonial } from "./Testimonial";
92
90
  import { Hero } from "./Hero";
@@ -117,6 +117,11 @@
117
117
  color: color.$black !important;
118
118
  }
119
119
 
120
+ .bg-accent {
121
+ background-color: var(--color-background-accent) !important;
122
+ color: var(--color-text-default) !important;
123
+ }
124
+
120
125
  .bg-accent1-blog {
121
126
  background-color: var(--color-background-accent1-blog) !important;
122
127
  color: var(--color-text-default) !important;
@@ -151,6 +151,12 @@
151
151
  border: 0;
152
152
  aspect-ratio: 1 / 1;
153
153
  }
154
+
155
+ .aspect-ratio-3-2 {
156
+ max-width: 100%;
157
+ border: 0;
158
+ aspect-ratio: 3 / 2;
159
+ }
154
160
  }
155
161
 
156
162
  @include aspect-ratio-classes;
@@ -171,6 +177,9 @@
171
177
  .d-inline-flex {
172
178
  display: inline-flex;
173
179
  }
180
+ .flex-column {
181
+ flex-direction: column;
182
+ }
174
183
  }
175
184
 
176
185
  @include display-classes;
@@ -1,16 +0,0 @@
1
- import e,{createContext as t,useRef as r,useEffect as n,useCallback as o,useState as i,useContext as c}from"react";function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,m(n.key),n)}}function u(e,t,r){return t&&l(e.prototype,t),r&&l(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function f(e,t,r){return(t=m(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach(function(t){f(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function p(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,c,a=[],s=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);s=!0);}catch(e){l=!0,o=e}finally{try{if(!s&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function b(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var h,g={exports:{}};
2
- /*!
3
- Copyright (c) 2018 Jed Watson.
4
- Licensed under the MIT License (MIT), see
5
- http://jedwatson.github.io/classnames
6
- */var O,k=b((h||(h=1,O=g,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var o=arguments[t];o&&(e=n(e,r(o)))}return e}function r(r){if("string"==typeof r||"number"==typeof r)return r;if("object"!=typeof r)return"";if(Array.isArray(r))return t.apply(null,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var o="";for(var i in r)e.call(r,i)&&r[i]&&(o=n(o,i));return o}function n(e,t){return t?e?e+" "+t:e+t:e}O.exports?(t.default=t,O.exports=t):window.classNames=t}()),g.exports)),j={TAB:["Tab"],ARROWLEFT:["Left","ArrowLeft"],ARROWUP:["Up","ArrowUp"],ARROWRIGHT:["Right","ArrowRight"],ARROWDOWN:["Down","ArrowDown"]},w=function(){return u(function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{direction:"horizontal"};s(this,e),this.elems=t,this.config=r,this.isActive=!1,this.onKeydown=this.onKeydown.bind(this)},[{key:"init",value:function(){document.addEventListener("keydown",this.onKeydown),this.isActive=!0}},{key:"destroy",value:function(){document.removeEventListener("keydown",this.onKeydown),this.isActive=!1}},{key:"update",value:function(e){this.elems=e}},{key:"onKeydown",value:function(e){var t=this.elems.indexOf(document.activeElement);(j.ARROWUP.includes(e.key)||j.ARROWDOWN.includes(e.key))&&"horizontal"===this.config.direction||(j.ARROWLEFT.includes(e.key)||j.ARROWRIGHT.includes(e.key))&&"vertical"===this.config.direction||((j.ARROWDOWN.includes(e.key)||j.ARROWRIGHT.includes(e.key))&&(e.preventDefault(),t>=0&&t<this.elems.length-1?this.elems[t+1].focus():this.elems[0].focus()),(j.ARROWUP.includes(e.key)||j.ARROWLEFT.includes(e.key))&&(e.preventDefault(),t>=1?this.elems[t-1].focus():this.elems[this.elems.length-1].focus()),j.TAB.includes(e.key)&&this.destroy())}}])}();function A(e){var t=e.element,r=e.attribute,n=e.action,o=e.value,i=e.dispatchEvent,c=void 0===i||i,a=e.eventDetail,s=null;if(!(t&&t instanceof Element))return s;if("focus"===n&&setTimeout(function(){return t.focus()},20),"click"===n&&t.click(),"class"===r&&"string"==typeof o&&(t.classList.toggle(o),s=o),"text"===r){var l=t.textContent;t.textContent=(null==o?void 0:o.toString())||"",s=l}return"class"!==r&&"text"!==r&&void 0===n&&(s=t.getAttribute(r),"hidden"===r?t.hasAttribute(r)?t.removeAttribute(r):t.setAttribute(r,""):o?t.setAttribute(r,String(o)):t.setAttribute(r,String(!("true"===s)))),c&&t.dispatchEvent(new CustomEvent("toggle",{detail:a,bubbles:!0})),s}var S={buttonSelector:"[data-accordion-toggle]"},x=function(){return u(function e(t,r){return s(this,e),this.element=t,this.config=y(y({},S),r),this.onFocus=this.onFocus.bind(this),this.onClick=this.onClick.bind(this),this.element.ODS_Accordion=this,this.init(),this},[{key:"onFocus",value:function(e){this.rovingTabindex.isActive||this.rovingTabindex.init();var t=e.currentTarget;window.location.hash.substring(1)===t.getAttribute("id")&&"false"===t.getAttribute("aria-expanded")&&t.click()}},{key:"init",value:function(){var e=this;this.buttons=Array.from(this.element.querySelectorAll(this.config.buttonSelector)),this.rovingTabindex?this.rovingTabindex.update(this.buttons):this.rovingTabindex=new w(this.buttons,{direction:"vertical"}),this.buttons.forEach(function(t){t.addEventListener("focus",e.onFocus),t.getAttribute("data-toggle")||t.addEventListener("click",e.onClick)})}},{key:"onClick",value:function(e){var t=e.currentTarget,r=this.element.querySelector("#".concat(t.getAttribute("aria-controls")));A({element:t,attribute:"aria-expanded"}),A({element:r,attribute:"hidden"})}},{key:"destroy",value:function(){var e=this;this.rovingTabindex.destroy(),this.buttons.forEach(function(t){t.removeEventListener("focus",e.onFocus),t.removeEventListener("click",e.onClick)})}},{key:"update",value:function(){this.destroy(),this.init()}}],[{key:"getInstance",value:function(e){return e&&e.ODS_Accordion?e.ODS_Accordion:null}}])}(),_=t(null),N={current:0};var R,T={exports:{}},E={};var P,D,C={};
7
- /**
8
- * @license React
9
- * react-jsx-runtime.development.js
10
- *
11
- * Copyright (c) Meta Platforms, Inc. and affiliates.
12
- *
13
- * This source code is licensed under the MIT license found in the
14
- * LICENSE file in the root directory of this source tree.
15
- */function W(){return P||(P=1,"production"!==process.env.NODE_ENV&&function(){function t(e){if(null==e)return null;if("function"==typeof e)return e.$$typeof===A?null:e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case y:return"Fragment";case v:return"Profiler";case p:return"StrictMode";case g:return"Suspense";case O:return"SuspenseList";case w:return"Activity"}if("object"==typeof e)switch("number"==typeof e.tag&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case d:return"Portal";case b:return(e.displayName||"Context")+".Provider";case m:return(e._context.displayName||"Context")+".Consumer";case h:var r=e.render;return(e=e.displayName)||(e=""!==(e=r.displayName||r.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case k:return null!==(r=e.displayName||null)?r:t(e.type)||"Memo";case j:r=e._payload,e=e._init;try{return t(e(r))}catch(e){}}return null}function r(e){return""+e}function n(e){try{r(e);var t=!1}catch(e){t=!0}if(t){var n=(t=console).error,o="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return n.call(t,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",o),r(e)}}function o(e){if(e===y)return"<>";if("object"==typeof e&&null!==e&&e.$$typeof===j)return"<...>";try{var r=t(e);return r?"<"+r+">":"<...>"}catch(e){return"<...>"}}function i(){return Error("react-stack-top-frame")}function c(){var e=t(this.type);return R[e]||(R[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),void 0!==(e=this.props.ref)?e:null}function a(e,r,o,i,a,u,d,y){var p,v=r.children;if(void 0!==v)if(i)if(_(v)){for(i=0;i<v.length;i++)s(v[i]);Object.freeze&&Object.freeze(v)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else s(v);if(x.call(r,"key")){v=t(e);var m=Object.keys(r).filter(function(e){return"key"!==e});i=0<m.length?"{key: someKey, "+m.join(": ..., ")+": ...}":"{key: someKey}",P[v+i]||(m=0<m.length?"{"+m.join(": ..., ")+": ...}":"{}",console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',i,v,m,v),P[v+i]=!0)}if(v=null,void 0!==o&&(n(o),v=""+o),function(e){if(x.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(r)&&(n(r.key),v=""+r.key),"key"in r)for(var b in o={},r)"key"!==b&&(o[b]=r[b]);else o=r;return v&&function(e,t){function r(){l||(l=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}(o,"function"==typeof e?e.displayName||e.name||"Unknown":e),function(e,t,r,n,o,i,a,s){return r=i.ref,e={$$typeof:f,type:e,key:t,props:i,_owner:o},null!==(void 0!==r?r:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:c}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:s}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(e,v,u,0,null===(p=S.A)?null:p.getOwner(),o,d,y)}function s(e){"object"==typeof e&&null!==e&&e.$$typeof===f&&e._store&&(e._store.validated=1)}var l,u=e,f=Symbol.for("react.transitional.element"),d=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),v=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),b=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),w=Symbol.for("react.activity"),A=Symbol.for("react.client.reference"),S=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,x=Object.prototype.hasOwnProperty,_=Array.isArray,N=console.createTask?console.createTask:function(){return null},R={},T=(u={react_stack_bottom_frame:function(e){return e()}}).react_stack_bottom_frame.bind(u,i)(),E=N(o(i)),P={};C.Fragment=y,C.jsx=function(e,t,r,n,i){var c=1e4>S.recentlyCreatedOwnerStacks++;return a(e,t,r,!1,0,i,c?Error("react-stack-top-frame"):T,c?N(o(e)):E)},C.jsxs=function(e,t,r,n,i){var c=1e4>S.recentlyCreatedOwnerStacks++;return a(e,t,r,!0,0,i,c?Error("react-stack-top-frame"):T,c?N(o(e)):E)}}()),C}var I=(D||(D=1,"production"===process.env.NODE_ENV?T.exports=function(){if(R)return E;R=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(t,r,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==r.key&&(o=""+r.key),"key"in r)for(var i in n={},r)"key"!==i&&(n[i]=r[i]);else n=r;return r=n.ref,{$$typeof:e,type:t,key:o,ref:void 0!==r?r:null,props:n}}return E.Fragment=t,E.jsx=r,E.jsxs=r,E}():T.exports=W()),T.exports),L=["className","children","headingLevel","size","isEnclosed","lastItemNoBottomBorder"],F="accordion",z=function(e){var t=e.className,i=e.children,c=e.headingLevel,a=void 0===c?3:c,s=e.size,l=e.isEnclosed,u=e.lastItemNoBottomBorder,d=p(e,L),m=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r(null),c=r(t),a=r(null);n(function(){c.current=null!=t?t:{}},[t]);var s=o(function(t){var r,n,o,s;a.current&&a.current!==t&&i.current&&(null===(r=(n=i.current).destroy)||void 0===r||r.call(n),i.current=null),a.current=t,t&&(null===i.current?i.current=new e(t,c.current):null===(o=(s=i.current).update)||void 0===o||o.call(s,c.current))},[e]);return n(function(){return function(){var e,t;i.current&&(null===(e=(t=i.current).destroy)||void 0===e||e.call(t),i.current=null),a.current=null}},[e]),[s,i]}(x),b=v(m,1)[0],h=k(F,f(f(f({},"".concat(F,"--").concat(s),s),"".concat(F,"--enclosed"),l),"".concat(F,"--last-item-no-bottom-border"),u),t);return I.jsx(_.Provider,{value:a,children:I.jsx("ul",y(y({className:h,ref:b,"data-accordion":"true"},d),{},{children:i}))})};z.displayName="Accordion";var $=e.createContext("/sprite.svg"),U=["className","alt","color","name","size","spritePath","type"],H="icon",K=function(e){var t=e.className,r=e.alt,n=e.color,o=e.name,i=e.size,a=e.spritePath,s=void 0===a?"/sprite.svg":a,l=e.type,u=void 0===l?"icon":l,d=p(e,U),v=c($),m="pictogram"===u,b=k(H,f(f(f({},"".concat(H,"--").concat(i),i),"".concat(H,"--").concat(n),n),"".concat(H,"--pictogram"),m),t);if(m){var h="/sprite.svg"!==s||void 0===v?s:v;return I.jsxs("svg",y(y({className:b,"aria-hidden":void 0!==r?void 0:"true",role:void 0!==r?"img":void 0},d),{},{children:[void 0!==r&&r.length>0&&I.jsx("title",{children:r}),I.jsx("use",{className:"".concat(H,"__use ").concat(H,"__use--light"),xlinkHref:"".concat(h,"#").concat(o)}),I.jsx("use",{className:"".concat(H,"__use ").concat(H,"__use--dark"),xlinkHref:"".concat(h,"#").concat(o,"--dark")})]}))}return I.jsxs("svg",y(y({className:b,"aria-hidden":void 0!==r?void 0:"true",role:void 0!==r?"img":void 0},d),{},{children:[void 0!==r&&r.length>0&&I.jsx("title",{children:r}),I.jsx("use",{xlinkHref:"/sprite.svg"!==s||void 0===v?"".concat(s,"#").concat(o):"".concat(v,"#").concat(o)})]}))};K.displayName="Icon";var B=["className","title","renderTitle","id","isActive","toggleAttribute"],G="accordion",J=function(t){var r=t.className,n=t.title,o=t.renderTitle,i=t.id,c=t.isActive,a=t.toggleAttribute,s=void 0===a?"data-accordion-toggle":a,l=p(t,B),u=e.useContext(_),d="h".concat(u||3),v="data-accordion-toggle"===s,m=y(y(f({type:"button","aria-expanded":c,className:"".concat(G,"__button"),"aria-controls":"".concat(i,"-section"),id:i},s,!0),v&&{"data-toggle":JSON.stringify([{target:"self",attribute:"aria-expanded"}])}),l);return I.jsx(d,{className:k("".concat(G,"__header"),r),children:I.jsxs("button",y(y({},m),{},{children:[o?o(n):I.jsx("span",{className:"accordion__title",children:n}),I.jsx(K,{className:"".concat(G,"__icon"),name:"chevron-down",size:"medium"})]}))})};J.displayName="AccordionHeader";var M=["id","isActive","title","renderTitle","renderHeader","children","className"],V=function(e){var t,o,c,a,s,l=e.id,u=e.isActive,f=e.title,d=e.renderTitle,m=e.renderHeader,b=e.children,h=e.className,g=p(e,M),O=k("accordion__item",h),j=(o=v(i(t=l),2),c=o[0],a=o[1],s=r(t),n(function(){if(!t){N.current+=1;var e="id-".concat(N.current);s.current=e,a(e)}},[t]),c||s.current||t||"id-0");return I.jsxs("li",{className:O,children:[m?m(f,j,u||!1):I.jsx(J,y({id:j,isActive:u,title:f,renderTitle:d},g)),I.jsx("div",y(y({id:"".concat(j,"-section"),"aria-labelledby":j,className:k("accordion__body",{"is-active":u})},u?{}:{hidden:!0}),{},{children:b}))]})};V.displayName="AccordionItem";export{z as Accordion,V as AccordionItem};
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/classnames/index.js","../../../src/utils/constants.js","../../../src/utils/keyboard.js","../../../src/scripts/modules/toggleUtil.ts","../../../src/scripts/modules/Toggle.ts","../../../src/components/Accordion/Accordion.static.ts","../../../src/components/Accordion/HeadingContext.tsx","../../../src/utils/hooks.ts","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../src/components/Accordion/Accordion.tsx","../../../src/components/Icon/SpritePathContext.tsx","../../../src/components/Icon/Icon.tsx","../../../src/components/Accordion/AccordionHeader.tsx","../../../src/components/Accordion/AccordionItem.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export const breakpoints = {\n xs: 0,\n sm: 480,\n md: 768,\n lg: 992,\n xl: 1240,\n xxl: 1380,\n};\n\n// we use array to include old browser key names like IE11\n// ie. navigation keys https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values#navigation_keys\nexport const keys = {\n TAB: ['Tab'],\n ENTER: ['Enter'],\n ESC: ['Esc', 'Escape'],\n SPACE: ['Spacebar', ' '],\n ARROWLEFT: ['Left', 'ArrowLeft'],\n ARROWUP: ['Up', 'ArrowUp'],\n ARROWRIGHT: ['Right', 'ArrowRight'],\n ARROWDOWN: ['Down', 'ArrowDown'],\n};\n","import { keys } from './constants';\n\n \nexport class RovingTabindex {\n constructor(\n elems,\n config = {\n direction: 'horizontal',\n }\n ) {\n this.elems = elems;\n this.config = config;\n\n this.isActive = false;\n\n this.onKeydown = this.onKeydown.bind(this);\n }\n\n init() {\n document.addEventListener('keydown', this.onKeydown);\n this.isActive = true;\n }\n\n destroy() {\n document.removeEventListener('keydown', this.onKeydown);\n this.isActive = false;\n }\n\n update(elems) {\n this.elems = elems;\n }\n\n onKeydown(e) {\n const activeElemIndex = this.elems.indexOf(document.activeElement);\n\n if (\n (keys.ARROWUP.includes(e.key) || keys.ARROWDOWN.includes(e.key)) &&\n this.config.direction === 'horizontal'\n ) {\n return;\n }\n\n if (\n (keys.ARROWLEFT.includes(e.key) || keys.ARROWRIGHT.includes(e.key)) &&\n this.config.direction === 'vertical'\n ) {\n return;\n }\n\n if (keys.ARROWDOWN.includes(e.key) || keys.ARROWRIGHT.includes(e.key)) {\n e.preventDefault();\n if (activeElemIndex >= 0 && activeElemIndex < this.elems.length - 1) {\n this.elems[activeElemIndex + 1].focus();\n } else {\n this.elems[0].focus();\n }\n }\n\n if (keys.ARROWUP.includes(e.key) || keys.ARROWLEFT.includes(e.key)) {\n e.preventDefault();\n if (activeElemIndex >= 1) {\n this.elems[activeElemIndex - 1].focus();\n } else {\n this.elems[this.elems.length - 1].focus();\n }\n }\n\n if (keys.TAB.includes(e.key)) {\n this.destroy();\n }\n }\n}\n","import { TOGGLE_EVT } from \"./Toggle\";\n\ninterface ToggleProps {\n element: Element | null;\n attribute: string;\n action?: string;\n value?: string | boolean;\n dispatchEvent?: boolean;\n eventDetail?: {\n trigger: Element;\n element: Element;\n };\n}\n\nexport default function toggle(props: ToggleProps): string | boolean | null {\n const {\n element,\n attribute,\n action,\n value,\n dispatchEvent = true,\n eventDetail,\n } = props;\n let returnValue: string | boolean | null = null;\n\n if (!element || !(element instanceof Element)) {\n return returnValue;\n }\n\n if (action === \"focus\") {\n setTimeout(() => (element as HTMLElement).focus(), 20);\n }\n\n if (action === \"click\") {\n (element as HTMLElement).click();\n }\n\n if (attribute === \"class\" && typeof value === \"string\") {\n element.classList.toggle(value);\n returnValue = value;\n }\n\n if (attribute === \"text\") {\n const oldText = element.textContent;\n element.textContent = value?.toString() || \"\";\n returnValue = oldText;\n }\n\n if (\n attribute !== \"class\" &&\n attribute !== \"text\" &&\n typeof action === \"undefined\"\n ) {\n returnValue = element.getAttribute(attribute);\n\n if (attribute === \"hidden\") {\n if (element.hasAttribute(attribute)) {\n element.removeAttribute(attribute);\n } else {\n element.setAttribute(attribute, \"\");\n }\n } else if (!value) {\n element.setAttribute(attribute, String(!(returnValue === \"true\")));\n } else {\n element.setAttribute(attribute, String(value));\n }\n }\n\n if (dispatchEvent) {\n element.dispatchEvent(\n new CustomEvent(TOGGLE_EVT, {\n detail: eventDetail,\n bubbles: true,\n }),\n );\n }\n\n return returnValue;\n}\n","// ---------------------------------------------------\n// Toggle\n// module for handling toggle actions\n\nimport toggle from \"./toggleUtil\";\n\nexport const TRIGGER_EVT = \"toggleTrigger\";\nexport const TOGGLE_EVT = \"toggle\";\n\ninterface ToggleConfig {\n activeClass: string;\n settingsAttr: string;\n}\n\ninterface ToggleSetting {\n target: string;\n attribute: string;\n action?: string;\n value?: string | boolean;\n clickOutside?: boolean;\n}\n\ninterface ToggleTarget extends Omit<ToggleSetting, \"target\"> {\n element: Element;\n value?: string | boolean;\n dispatchEvent?: boolean;\n}\n\nconst defaultConfig: ToggleConfig = {\n activeClass: \"is-active\",\n settingsAttr: \"data-toggle\",\n};\n\nclass Toggle {\n private element: HTMLElement;\n private config: ToggleConfig;\n private settings: ToggleSetting[];\n private targets: ToggleTarget[];\n private hasClickOutside: boolean;\n\n constructor(element: HTMLElement, config?: Partial<ToggleConfig>) {\n this.element = element;\n this.config = { ...defaultConfig, ...config };\n\n this.settings = [];\n this.targets = [];\n this.hasClickOutside = false;\n\n this.handleClick = this.handleClick.bind(this);\n this.handleClickOutside = this.handleClickOutside.bind(this);\n\n (this.element as any).ODS_Toggle = this;\n\n this.init();\n\n return this;\n }\n\n doToggle(props: ToggleTarget): ToggleTarget {\n const { dispatchEvent = true } = props;\n const { element, attribute, value: initialValue, action } = props;\n\n const returnProps = { ...props };\n const eventDetail = { trigger: this.element, element };\n\n let attributeToUse = attribute;\n let elementToUse = element;\n let value = initialValue;\n\n if (attributeToUse === \"icon\") {\n attributeToUse = \"xlink:href\";\n elementToUse = element.querySelector(\"use\") as Element;\n }\n\n if (attributeToUse === \"text\") {\n elementToUse = (element.querySelector(\"[data-toggle-text-target]\") ||\n element) as Element;\n }\n\n if (typeof value === \"undefined\") {\n value = false;\n }\n\n const toggleResult = toggle({\n element: elementToUse,\n attribute: attributeToUse,\n action,\n value,\n dispatchEvent,\n eventDetail,\n });\n\n if (toggleResult !== null) {\n returnProps.value = toggleResult as string | boolean;\n }\n\n return returnProps;\n }\n\n init(): ToggleTarget[] {\n this.settings = this.parseSettings();\n this.targets = this.setupTargets();\n \n // Zistí či nejaké nastavenie má clickOutside: true\n this.hasClickOutside = this.settings.some(setting => setting.clickOutside === true);\n \n this.element.addEventListener(\"click\", this.handleClick);\n \n // Pridá click outside listener iba ak je potrebný\n if (this.hasClickOutside) {\n document.addEventListener(\"click\", this.handleClickOutside);\n }\n \n return this.targets;\n }\n\n handleClick(): void {\n this.targets = this.targets.map((target) => this.doToggle(target));\n this.element.dispatchEvent(new CustomEvent(TRIGGER_EVT, { bubbles: true }));\n }\n\n handleClickOutside(event: Event): void {\n const target = event.target as Element;\n \n // Ak klik nie je na trigger elemente ani na žiadnom z target elementov\n if (!this.element.contains(target) && \n !this.targets.some(toggleTarget => toggleTarget.element.contains(target))) {\n \n // Zatvorí iba ak sú nejaké elementy otvorené (majú active class alebo nie sú hidden)\n const hasOpenTargets = this.targets.some(toggleTarget => {\n if (toggleTarget.attribute === 'class' && typeof toggleTarget.value === 'string') {\n return toggleTarget.element.classList.contains(toggleTarget.value);\n }\n if (toggleTarget.attribute === 'hidden') {\n return !toggleTarget.element.hasAttribute('hidden');\n }\n return false;\n });\n\n if (hasOpenTargets) {\n this.targets = this.targets.map((toggleTarget) => this.doToggle(toggleTarget));\n this.element.dispatchEvent(new CustomEvent(TRIGGER_EVT, { bubbles: true }));\n }\n }\n }\n\n destroy(): void {\n this.element.removeEventListener(\"click\", this.handleClick);\n \n // Odstráni click outside listener ak bol pridaný\n if (this.hasClickOutside) {\n document.removeEventListener(\"click\", this.handleClickOutside);\n }\n \n this.settings = [];\n this.targets = [];\n this.hasClickOutside = false;\n }\n\n update(): void {\n this.removeNonExistentTargets();\n this.addNewTargets();\n \n // Aktualizuje clickOutside nastavenie\n const wasClickOutside = this.hasClickOutside;\n this.hasClickOutside = this.settings.some(setting => setting.clickOutside === true);\n \n // Pridá alebo odstráni click outside listener podľa potreby\n if (!wasClickOutside && this.hasClickOutside) {\n document.addEventListener(\"click\", this.handleClickOutside);\n } else if (wasClickOutside && !this.hasClickOutside) {\n document.removeEventListener(\"click\", this.handleClickOutside);\n }\n }\n\n static getTargetElementsFromString({\n target,\n trigger,\n }: {\n target: string;\n trigger: HTMLElement;\n }): Element[] {\n const selector = target.trim();\n\n if (selector === \"self\") {\n return [trigger];\n }\n\n if (selector === \"parent\") {\n return [trigger.parentNode as Element];\n }\n\n if (selector === \"previous\") {\n return [trigger.previousElementSibling as Element];\n }\n\n if (selector === \"next\") {\n return [trigger.nextElementSibling as Element];\n }\n\n if (typeof selector === \"string\") {\n // don't be tempted to remove this querySelectorAll\n // selector like '.target-elements' whould not work as expected\n return Array.from(document.querySelectorAll(selector));\n }\n\n // add log why we endup here\n return [];\n }\n\n parseSettings(): ToggleSetting[] {\n const jsonSettings = this.element.getAttribute(this.config.settingsAttr);\n const ariaControls = this.element.getAttribute(\"aria-controls\");\n\n let settings: ToggleSetting[] = [];\n\n try {\n if (jsonSettings) {\n settings = JSON.parse(jsonSettings);\n }\n } catch (e) {\n console.warn(\"Invalid JSON in data-toggle attribute\", e);\n }\n\n if (ariaControls) {\n const ariaExpanded = this.element.getAttribute(\"aria-expanded\");\n\n settings = [\n ...(ariaExpanded\n ? [\n {\n target: \"self\",\n attribute: \"aria-expanded\",\n },\n ]\n : []),\n {\n target: ariaControls\n .split(\" \")\n .map((a) => `#${a}`)\n .join(\",\"),\n attribute: \"hidden\",\n },\n ...(Array.isArray(settings) ? settings : []),\n ];\n }\n\n return settings;\n }\n\n setupTargets(): ToggleTarget[] {\n const trigger = this.element;\n\n return this.settings.reduce<ToggleTarget[]>((allSettings, setting) => {\n if (!setting || !setting.target) {\n return allSettings;\n }\n\n return [\n ...allSettings,\n ...setting.target.split(\",\").reduce<ToggleTarget[]>(\n (targetSettings, target) => [\n ...targetSettings,\n ...Toggle.getTargetElementsFromString({\n target,\n trigger,\n }).map((element) => ({\n ...setting,\n element,\n })),\n ],\n [],\n ),\n ];\n }, []);\n }\n\n removeNonExistentTargets(): void {\n this.targets = this.targets.filter((target) =>\n document.contains(target.element),\n );\n }\n\n addNewTargets(): void {\n const allTargets = this.setupTargets();\n const newTargets = allTargets.filter(\n (newTarget) =>\n !this.targets.find(\n (target) =>\n target.element === newTarget.element &&\n target.action === newTarget.action,\n ),\n );\n\n this.targets = [...this.targets, ...newTargets];\n }\n\n static getInstance(el: HTMLElement): Toggle | null {\n return el && (el as any).ODS_Toggle ? (el as any).ODS_Toggle : null;\n }\n}\n\nexport default Toggle;\n","import { RovingTabindex } from '../../utils/keyboard';\nimport toggle from '../../scripts/modules/toggleUtil';\n\ninterface AccordionConfig {\n buttonSelector: string;\n}\n\nconst defaultConfig: AccordionConfig = {\n buttonSelector: '[data-accordion-toggle]',\n};\n\nexport default class Accordion {\n private element: HTMLElement;\n private config: AccordionConfig;\n private rovingTabindex!: RovingTabindex;\n private buttons!: HTMLElement[];\n\n constructor(element: HTMLElement, config?: Partial<AccordionConfig>) {\n this.element = element;\n this.config = { ...defaultConfig, ...config };\n\n this.onFocus = this.onFocus.bind(this);\n this.onClick = this.onClick.bind(this);\n\n (this.element as any).ODS_Accordion = this;\n\n this.init();\n\n return this;\n }\n\n private onFocus(e: FocusEvent): void {\n if (!this.rovingTabindex.isActive) {\n this.rovingTabindex.init();\n }\n\n const button = e.currentTarget as HTMLElement;\n\n if (\n window.location.hash.substring(1) === button.getAttribute('id') &&\n button.getAttribute('aria-expanded') === 'false'\n ) {\n button.click();\n }\n }\n\n private init(): void {\n this.buttons = Array.from(\n this.element.querySelectorAll(this.config.buttonSelector)\n );\n\n if (!this.rovingTabindex) {\n this.rovingTabindex = new RovingTabindex(this.buttons, {\n direction: 'vertical',\n });\n } else {\n this.rovingTabindex.update(this.buttons);\n }\n\n this.buttons.forEach(button => {\n button.addEventListener('focus', this.onFocus);\n\n // only add click events when there are no toggle actions defined\n if (!button.getAttribute('data-toggle')) {\n button.addEventListener('click', this.onClick);\n }\n });\n }\n\n private onClick(e: Event): void {\n const button = e.currentTarget as HTMLElement;\n const accordionSection = this.element.querySelector(\n `#${button.getAttribute('aria-controls')}`\n );\n\n toggle({\n element: button,\n attribute: 'aria-expanded',\n });\n\n toggle({\n element: accordionSection,\n attribute: 'hidden',\n });\n }\n\n destroy(): void {\n this.rovingTabindex.destroy();\n\n this.buttons.forEach(button => {\n button.removeEventListener('focus', this.onFocus);\n button.removeEventListener('click', this.onClick);\n });\n }\n\n update(): void {\n this.destroy();\n this.init();\n }\n\n static getInstance(el: HTMLElement): Accordion | null {\n return el && (el as any).ODS_Accordion ? (el as any).ODS_Accordion : null;\n }\n}\n","\"use client\";\n\nimport { createContext } from 'react';\n\nexport default createContext<number | null>(null);\n","\"use client\";\n\nimport {\n useEffect,\n useCallback,\n useRef,\n useMemo,\n RefCallback,\n type RefObject,\n useState,\n} from \"react\";\n\nimport generateId from \"./generateId\";\n\n// Generic type for any class constructor\ntype StaticClassType<T = any> = new (element: HTMLElement, config?: any) => T;\n\n// Define a generic interface for static class instances\ninterface StaticInstance {\n update?: (config: any) => void;\n destroy?: () => void;\n}\n\n/**\n * A hook to create and manage an instance of a \"static\" class\n * @param StaticClass The class to instantiate\n * @param config Configuration options for the class\n * @returns [ref callback, instance reference]\n */\nconst useStatic = <T extends StaticInstance>(\n StaticClass: StaticClassType<T>,\n config: Record<string, any> = {},\n): [RefCallback<HTMLElement>, RefObject<T | null>] => {\n const instance = useRef<T | null>(null);\n const configRef = useRef(config);\n const elementRef = useRef<HTMLElement | null>(null);\n\n // Update config ref when config changes\n useEffect(() => {\n configRef.current = config ?? {};\n }, [config]);\n\n const ref = useCallback(\n (node: HTMLElement | null) => {\n // Clean up previous instance if element changes\n if (\n elementRef.current &&\n elementRef.current !== node &&\n instance.current\n ) {\n instance.current.destroy?.();\n instance.current = null;\n }\n\n elementRef.current = node;\n\n if (node) {\n // Only create new instance if we don't have one yet\n if (instance.current === null) {\n instance.current = new StaticClass(node, configRef.current);\n } else {\n // Update existing instance with new config\n instance.current.update?.(configRef.current);\n }\n }\n },\n [StaticClass],\n );\n\n // Cleanup on unmount or when StaticClass changes\n useEffect(() => {\n return () => {\n if (instance.current) {\n instance.current.destroy?.();\n instance.current = null;\n }\n elementRef.current = null;\n };\n }, [StaticClass]);\n\n return [ref, instance];\n};\n\n/**\n * A hook for creating React portals\n * From https://www.jayfreestone.com/writing/react-portals-with-hooks/\n * @param id The id of the target DOM element\n * @returns A DOM element that can be used as a portal container\n */\nfunction usePortal(id: string): HTMLDivElement {\n const rootElemRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(\n function setupElement() {\n if (typeof document === \"undefined\") return;\n\n // Create element if it doesn't exist\n if (!rootElemRef.current) {\n rootElemRef.current = document.createElement(\"div\");\n }\n\n // Look for existing target dom element to append to\n const parentElem = document.querySelector(`#${id}`);\n\n // Add the detached element to the parent\n if (parentElem && rootElemRef.current) {\n parentElem.appendChild(rootElemRef.current);\n }\n\n // This function is run on unmount\n return function removeElement() {\n rootElemRef.current?.remove();\n };\n },\n [id],\n );\n\n function getRootElem(): HTMLDivElement {\n if (typeof document === \"undefined\") {\n throw new Error(\"usePortal must be used in a browser environment\");\n }\n\n if (!rootElemRef.current) {\n rootElemRef.current = document.createElement(\"div\");\n }\n return rootElemRef.current;\n }\n\n return getRootElem();\n}\n\n/**\n * Returns unique string for the `id` attribute.\n *\n * @param id Provided id\n * @param name Optional prefix\n * @returns A unique ID string\n */\nconst useUniqueId = (id?: string, name?: string): string =>\n useMemo(() => id ?? generateId(name), [id, name]);\n\n/**\n * Hydration-safe hook for generating a unique, numeric ID for tooltips and similar components.\n * Ensures IDs are consistent between SSR and client, and match test expectations.\n * @param providedId Optional externally provided ID\n * @returns Hydration-safe unique ID string (e.g., \"id-1\")\n */\nconst idCounter = { current: 0 };\n\nfunction useHydrationSafeId(providedId?: string): string {\n const [hydratedId, setHydratedId] = useState<string | undefined>(providedId);\n const idRef = useRef<string | undefined>(providedId);\n\n useEffect(() => {\n if (!providedId) {\n idCounter.current += 1;\n const newId = `id-${idCounter.current}`;\n idRef.current = newId;\n setHydratedId(newId);\n }\n }, [providedId]);\n\n return hydratedId || idRef.current || providedId || \"id-0\";\n}\n\nexport { useStatic, usePortal, useUniqueId, useHydrationSafeId };\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","\"use client\";\n\nimport React, { ReactNode } from \"react\";\nimport cx from \"classnames\";\n\nimport AccordionStatic from \"./Accordion.static\";\nimport HeadingContext from \"./HeadingContext\";\nimport { useStatic } from \"@/utils/hooks\";\n\nconst CLASS_ROOT = \"accordion\";\n\ninterface AccordionProps {\n /** Heading level from 1 to 6 */\n headingLevel?: number;\n /** Accordion is enclosed in another component */\n isEnclosed?: boolean;\n /** If true, the last item will not have a bottom border */\n lastItemNoBottomBorder?: boolean;\n /** Adjustable spacing */\n size?: \"large\";\n /** Additional CSS classes */\n className?: string;\n /** Accordion content */\n children: ReactNode;\n /** Additional HTML attributes */\n [key: string]: any;\n}\n\nconst Accordion: React.FC<AccordionProps> = ({\n className,\n children,\n headingLevel = 3,\n size,\n isEnclosed,\n lastItemNoBottomBorder,\n ...other\n}) => {\n const [accordionRef] = useStatic(AccordionStatic);\n\n const classes = cx(\n CLASS_ROOT,\n {\n [`${CLASS_ROOT}--${size}`]: size,\n [`${CLASS_ROOT}--enclosed`]: isEnclosed,\n [`${CLASS_ROOT}--last-item-no-bottom-border`]: lastItemNoBottomBorder,\n },\n className,\n );\n\n return (\n <HeadingContext.Provider value={headingLevel}>\n <ul\n className={classes}\n ref={accordionRef}\n data-accordion=\"true\"\n {...other}\n >\n {children}\n </ul>\n </HeadingContext.Provider>\n );\n};\n\nAccordion.displayName = \"Accordion\";\n\nexport { Accordion };\n","\"use client\";\n\nimport React, { ReactNode } from \"react\";\n\nexport const SpritePathContext = React.createContext(\"/sprite.svg\");\n\ninterface SpritePathProviderProps {\n children: ReactNode;\n value?: string;\n}\n\nexport const SpritePathProvider: React.FC<SpritePathProviderProps> = ({\n children,\n value = \"/sprite.svg\",\n ...other\n}) => {\n return (\n <SpritePathContext.Provider value={value} {...other}>\n {React.Children.only(children)}\n </SpritePathContext.Provider>\n );\n};\n","\"use client\";\n\nimport React, { useContext } from \"react\";\nimport cx from \"classnames\";\nimport { SpritePathContext } from \"./SpritePathContext\";\n\nexport type IconColor = \"info\" | \"success\" | \"warning\" | \"danger\" | \"orange\";\nexport type IconSize =\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xlarge\"\n | \"xxlarge\"\n | \"huge\";\nexport type IconType = \"icon\" | \"pictogram\";\n\nexport interface IconProps extends React.SVGAttributes<SVGSVGElement> {\n /** Accessible label for the icon. */\n alt?: string;\n /** Icon color. */\n color?: IconColor;\n /** Icon name (required). */\n name: string;\n /** Icon size. */\n size?: IconSize;\n /** Path to the SVG sprite. */\n spritePath?: string;\n /**\n * Icon type. When set to \"pictogram\", the component will automatically\n * switch between light and dark versions based on theme classes (.is-light/.is-dark).\n */\n type?: IconType;\n /**\n * @deprecated Use type=\"pictogram\" instead.\n * Whether this icon should adapt to theme (light/dark).\n * When true, the component will automatically switch between\n * light and dark versions based on theme classes (.is-light/.is-dark).\n */\n className?: string;\n}\n\nconst CLASS_ROOT = \"icon\";\n\nconst Icon: React.FC<IconProps> = ({\n className,\n alt,\n color,\n name,\n size,\n spritePath = \"/sprite.svg\",\n type = \"icon\",\n ...other\n}) => {\n const contextPath = useContext(SpritePathContext);\n\n const isPictogram = type === \"pictogram\";\n\n const classes = cx(\n CLASS_ROOT,\n {\n [`${CLASS_ROOT}--${size}`]: size,\n [`${CLASS_ROOT}--${color}`]: color,\n [`${CLASS_ROOT}--pictogram`]: isPictogram,\n },\n className,\n );\n\n // For theme-aware icons, we need to render both light and dark versions\n if (isPictogram) {\n const finalSpritePath =\n spritePath !== \"/sprite.svg\" || typeof contextPath === \"undefined\"\n ? spritePath\n : contextPath;\n\n return (\n <svg\n className={classes}\n aria-hidden={alt !== undefined ? undefined : \"true\"}\n role={alt !== undefined ? \"img\" : undefined}\n {...other}\n >\n {alt !== undefined && alt.length > 0 && <title>{alt}</title>}\n {/* Light theme version (default) */}\n <use\n className={`${CLASS_ROOT}__use ${CLASS_ROOT}__use--light`}\n xlinkHref={`${finalSpritePath}#${name}`}\n />\n {/* Dark theme version */}\n <use\n className={`${CLASS_ROOT}__use ${CLASS_ROOT}__use--dark`}\n xlinkHref={`${finalSpritePath}#${name}--dark`}\n />\n </svg>\n );\n }\n\n // Regular icon rendering (existing behavior)\n return (\n <svg\n className={classes}\n aria-hidden={alt !== undefined ? undefined : \"true\"}\n role={alt !== undefined ? \"img\" : undefined}\n {...other}\n >\n {alt !== undefined && alt.length > 0 && <title>{alt}</title>}\n <use\n xlinkHref={\n spritePath !== \"/sprite.svg\" || typeof contextPath === \"undefined\"\n ? `${spritePath}#${name}`\n : `${contextPath}#${name}`\n }\n />\n </svg>\n );\n};\n\nIcon.displayName = \"Icon\";\n\nexport { Icon };\n","\"use client\";\n\nimport React from \"react\";\nimport cx from \"classnames\";\n\nimport { Icon } from \"../Icon\";\n\nimport HeadingContext from \"./HeadingContext\";\n\nconst CLASS_ROOT = \"accordion\";\n\nexport interface AccordionHeaderProps {\n /** Header id */\n id: string;\n /** Active state */\n isActive?: boolean;\n /** Header title */\n title: string;\n renderTitle?: (title: string) => React.ReactNode;\n /** Additional CSS classes */\n className?: string;\n /** Custom toggle attribute for specialized accordions (defaults to 'data-accordion-toggle') */\n toggleAttribute?: string;\n\n /** Additional HTML attributes */\n [key: string]: any;\n}\n\nconst AccordionHeader: React.FC<AccordionHeaderProps> = ({\n className,\n title,\n renderTitle,\n id,\n isActive,\n toggleAttribute = \"data-accordion-toggle\",\n ...other\n}) => {\n const headingLevel = React.useContext(HeadingContext);\n const Heading = `h${headingLevel || 3}` as\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\";\n\n // Only add data-toggle for regular accordions, not for feature accordions\n const shouldIncludeDataToggle = toggleAttribute === \"data-accordion-toggle\";\n const buttonProps = {\n type: \"button\" as const,\n \"aria-expanded\": isActive,\n className: `${CLASS_ROOT}__button`,\n \"aria-controls\": `${id}-section`,\n id,\n [toggleAttribute]: true,\n ...(shouldIncludeDataToggle && {\n \"data-toggle\": JSON.stringify([\n {\n target: \"self\",\n attribute: \"aria-expanded\",\n },\n ]),\n }),\n ...other,\n };\n\n return (\n <Heading className={cx(`${CLASS_ROOT}__header`, className)}>\n <button {...buttonProps}>\n {renderTitle ? (\n renderTitle(title)\n ) : (\n <span className=\"accordion__title\">{title}</span>\n )}\n <Icon\n className={`${CLASS_ROOT}__icon`}\n name=\"chevron-down\"\n size=\"medium\"\n />\n </button>\n </Heading>\n );\n};\n\nAccordionHeader.displayName = \"AccordionHeader\";\n\nexport default AccordionHeader;\n","\"use client\";\n\nimport React, { ReactNode } from \"react\";\nimport cx from \"classnames\";\n\nimport { useHydrationSafeId } from \"../../utils/hooks\";\n\nimport AccordionHeader, { type AccordionHeaderProps } from \"./AccordionHeader\";\n\nconst CLASS_ROOT = \"accordion__item\";\n\nexport interface AccordionItemProps\n extends Pick<AccordionHeaderProps, \"renderTitle\"> {\n /** Accordion item id (automatically generated by default) */\n id?: string;\n /** Open state indication */\n isActive?: boolean;\n /** Custom header renderer. Receives title, id and isActive props as function parameters. */\n renderHeader?: (title: string, id: string, isActive: boolean) => ReactNode;\n /** Title of accordion item */\n title: string;\n /** Additional CSS classes */\n className?: string;\n /** Accordion item content */\n children: ReactNode;\n /** Additional HTML attributes */\n [key: string]: any;\n}\n\nconst AccordionItem: React.FC<AccordionItemProps> = ({\n id,\n isActive,\n title,\n renderTitle,\n renderHeader,\n children,\n className,\n ...other\n}) => {\n const classes = cx(CLASS_ROOT, className);\n const currentId = useHydrationSafeId(id);\n\n return (\n <li className={classes}>\n {renderHeader ? (\n renderHeader(title, currentId, isActive || false)\n ) : (\n <AccordionHeader\n id={currentId}\n isActive={isActive}\n title={title}\n renderTitle={renderTitle}\n {...other}\n />\n )}\n <div\n id={`${currentId}-section`}\n aria-labelledby={currentId}\n className={cx(\"accordion__body\", { \"is-active\": isActive })}\n {...(isActive ? {} : { hidden: true })}\n >\n {children}\n </div>\n </li>\n );\n};\n\nAccordionItem.displayName = \"AccordionItem\";\nexport { AccordionItem };\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","appendClass","parseValue","Array","isArray","apply","toString","Object","prototype","includes","key","call","value","newClass","module","exports","default","window","keys","TAB","ARROWLEFT","ARROWUP","ARROWRIGHT","ARROWDOWN","RovingTabindex","_createClass","elems","config","undefined","direction","_classCallCheck","this","isActive","onKeydown","bind","document","addEventListener","removeEventListener","e","activeElemIndex","indexOf","activeElement","preventDefault","focus","destroy","toggle","props","element","attribute","action","_props$dispatchEvent","dispatchEvent","eventDetail","returnValue","Element","setTimeout","click","classList","oldText","textContent","getAttribute","hasAttribute","removeAttribute","setAttribute","String","CustomEvent","detail","bubbles","defaultConfig","buttonSelector","Accordion","_objectSpread","onFocus","onClick","ODS_Accordion","init","rovingTabindex","button","currentTarget","location","hash","substring","_this","buttons","from","querySelectorAll","update","forEach","accordionSection","querySelector","concat","_this2","el","HeadingContext","createContext","idCounter","current","process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","name","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","tag","console","error","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","getTaskName","UnknownOwner","Error","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ref","jsxDEVImpl","maybeKey","isStaticChildren","source","self","debugStack","debugTask","dispatcher","children","isArrayImpl","validateChildKeys","freeze","filter","k","join","didWarnAboutKeySpread","getter","getOwnPropertyDescriptor","get","isReactWarning","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineProperty","configurable","defineKeyPropWarningGetter","owner","REACT_ELEMENT_TYPE","_owner","enumerable","_store","writable","ReactElement","ReactSharedInternals","A","getOwner","node","validated","React","require$$0","for","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","createTask","unknownOwnerDebugStack","react_stack_bottom_frame","callStackForError","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","jsxProd","reactJsxRuntime_production","require$$1","_excluded","CLASS_ROOT","_ref","className","_ref$headingLevel","headingLevel","size","isEnclosed","lastItemNoBottomBorder","other","_objectWithoutProperties","_useStatic","StaticClass","instance","useRef","configRef","elementRef","useEffect","useCallback","_instance$current$des","_instance$current","_instance$current$upd","_instance$current2","_instance$current$des2","_instance$current3","useStatic","AccordionStatic","accordionRef","_slicedToArray","cx","_defineProperty","_jsx","Provider","SpritePathContext","Icon","alt","color","_ref$spritePath","spritePath","_ref$type","contextPath","useContext","isPictogram","finalSpritePath","_jsxs","role","xlinkHref","AccordionHeader","title","renderTitle","id","_ref$toggleAttribute","toggleAttribute","Heading","shouldIncludeDataToggle","buttonProps","JSON","stringify","target","AccordionItem","providedId","_useState2","hydratedId","setHydratedId","idRef","renderHeader","currentId","useState","newId","hidden"],"mappings":"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","x_google_ignoreList":[0,8,9,10]}