@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/classnames/index.js","../../../src/utils/generateId.ts","../../../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/Tabs/Tab.tsx","../../../src/utils/constants.js","../../../src/utils/keyboard.js","../../../src/components/Tabs/Tabs.static.ts","../../../src/components/Tabs/Tabs.tsx","../../../src/components/Tabs/TabPanel.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","let idx = 0;\nconst uuid = (): number => (idx += 1);\n\n/**\n * Generates a unique ID string with an optional name prefix\n * @param name Optional prefix for the ID\n * @returns A unique ID string\n */\nexport default function generateId(name?: string): string {\n return `id${name ? `-${name}` : \"\"}-${uuid()}`;\n}\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","import cx from \"classnames\";\n\ninterface TabProps\n extends React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\n /** Id of the tabpanel this tab controls. */\n controls?: string;\n href?: string;\n /** Active state */\n isActive?: boolean;\n /** Disabled state. */\n isDisabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\nconst CLASS_TABLIST_ITEM = \"tab-list__item\";\nconst CLASS_TABLIST_TAB = \"tab-list__tab\";\n\nconst Tab: React.FC<TabProps> = ({\n href,\n children,\n className,\n controls,\n isDisabled,\n isActive,\n ...other\n}) => {\n const tabClasses = cx(CLASS_TABLIST_TAB, className);\n\n const tabindex = isActive ? 0 : -1;\n\n const Tag = href ? \"a\" : \"button\";\n\n return (\n <li className={CLASS_TABLIST_ITEM} role=\"presentation\">\n <Tag\n type={href ? undefined : \"button\"}\n role={href ? undefined : \"tab\"}\n href={href}\n className={tabClasses}\n aria-selected={isActive}\n aria-controls={controls || undefined}\n tabIndex={tabindex}\n aria-disabled={isDisabled}\n {...other}\n >\n {children}\n </Tag>\n </li>\n );\n};\n\nTab.displayName = \"Tab\";\n\nexport { Tab };\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 { RovingTabindex } from \"../../utils/keyboard\";\n\ninterface TabsConfig {\n tabSelector: string;\n}\n\nexport const defaultConfig: TabsConfig = {\n tabSelector: '[role=\"tab\"]',\n};\n\nexport const configDocs = {\n tabSelector: \"Tab element selector\",\n};\n\nexport default class Tabs {\n private element: HTMLElement;\n private config: TabsConfig;\n private tabs: HTMLElement[];\n private tabPanels: (HTMLElement | null)[];\n private activeTabIndex: number | null;\n private rovingTabindex: RovingTabindex | null;\n\n constructor(element: HTMLElement, config?: Partial<TabsConfig>) {\n this.element = element;\n this.config = { ...defaultConfig, ...config };\n\n this.tabs = [];\n this.tabPanels = [];\n this.activeTabIndex = null;\n\n this.rovingTabindex = null;\n\n this.handleClick = this.handleClick.bind(this);\n this.handleTabFocus = this.handleTabFocus.bind(this);\n\n (this.element as any).ODS_Tabs = this;\n\n this.init();\n\n return this;\n }\n\n static getInstance(el: HTMLElement): Tabs | null {\n return el && (el as any).ODS_Tabs ? (el as any).ODS_Tabs : null;\n }\n\n private init(): void {\n this.tabs = Array.from(\n this.element.querySelectorAll<HTMLElement>(this.config.tabSelector),\n );\n\n this.tabs.map((tab, index) => {\n const controlId = tab.getAttribute(\"aria-controls\");\n this.tabPanels.push(\n controlId ? document.getElementById(controlId) : null,\n );\n tab.addEventListener(\"click\", this.handleClick);\n tab.addEventListener(\"focus\", this.handleTabFocus);\n\n if (this.isSelected(tab)) {\n this.activeTabIndex = index;\n }\n\n return tab;\n });\n\n if (!this.rovingTabindex) {\n this.rovingTabindex = new RovingTabindex(this.tabs, {\n direction: \"any\",\n });\n } else {\n this.rovingTabindex.update(this.tabs);\n }\n\n if (this.activeTabIndex !== null) {\n this.toggleTabPanel(this.tabPanels[this.activeTabIndex], \"on\");\n } else if (this.tabs.length > 0) {\n this.activateNthTab(0);\n }\n }\n\n destroy(): void {\n this.tabs.map((tab) => {\n tab.removeEventListener(\"click\", this.handleClick);\n tab.removeEventListener(\"focus\", this.handleTabFocus);\n return tab;\n });\n\n this.tabs = [];\n this.tabPanels = [];\n if (this.rovingTabindex) {\n this.rovingTabindex.destroy();\n }\n (this.element as any).ODS_Tabs = null;\n }\n\n update(): void {\n this.destroy();\n this.init();\n }\n\n private isActive = (el: HTMLElement | null): boolean =>\n el ? !el.hasAttribute(\"hidden\") : false;\n\n private isSelected = (el: HTMLElement): boolean =>\n el.getAttribute(\"aria-selected\") === \"true\";\n\n private handleClick(e: MouseEvent): void {\n const clickedTab = e.currentTarget as HTMLElement;\n\n if (clickedTab.hasAttribute(\"aria-disabled\")) {\n e.preventDefault();\n return;\n }\n\n this.tabs.map((tab, i) => {\n if (tab === clickedTab) {\n this.activeTabIndex = i;\n return this.toggleTab(tab, \"on\");\n }\n return this.toggleTab(tab, \"off\");\n });\n\n this.tabPanels.map((tabPanel) => {\n if (\n tabPanel &&\n tabPanel.getAttribute(\"id\") === clickedTab.getAttribute(\"aria-controls\")\n ) {\n return this.toggleTabPanel(tabPanel, \"on\");\n }\n return this.toggleTabPanel(tabPanel, \"off\");\n });\n }\n\n private toggleTab(el: HTMLElement, state: \"on\" | \"off\"): void {\n const isActive = this.isSelected(el);\n\n if (state === \"on\" && !isActive) {\n el.setAttribute(\"aria-selected\", \"true\");\n el.setAttribute(\"tabindex\", \"0\");\n }\n\n if (state === \"off\" && isActive) {\n el.setAttribute(\"aria-selected\", \"false\");\n el.setAttribute(\"tabindex\", \"-1\");\n }\n }\n\n private toggleTabPanel(el: HTMLElement | null, state: \"on\" | \"off\"): void {\n if (!el) return;\n\n const isActive = this.isActive(el);\n\n if (state === \"on\" && !isActive) {\n el.removeAttribute(\"hidden\");\n }\n\n if (state === \"off\" && isActive) {\n el.setAttribute(\"hidden\", \"\");\n }\n }\n\n activateNthTab(index: number): void {\n this.tabs.map((tab, i) => {\n if (i === index) {\n this.activeTabIndex = i;\n return this.toggleTab(tab, \"on\");\n }\n return this.toggleTab(tab, \"off\");\n });\n\n this.tabPanels.map((tabPanel, i) => {\n if (i === index) {\n return this.toggleTabPanel(tabPanel, \"on\");\n }\n return this.toggleTabPanel(tabPanel, \"off\");\n });\n }\n\n private handleTabFocus(): void {\n if (this.rovingTabindex && !this.rovingTabindex.isActive) {\n this.rovingTabindex.init();\n }\n }\n}\n","\"use client\";\n\nimport React from \"react\";\nimport cx from \"classnames\";\n\nimport { useStatic } from \"../../utils/hooks\";\nimport { Tab } from \"./Tab\";\nimport TabsStatic from \"./Tabs.static\";\nimport type { TabPanelProps } from \"./TabPanel\";\n\nexport const variants = [\"standard\", \"light\"] as const;\n\nexport type TabsVariant = (typeof variants)[number];\n\ninterface TabsProps extends React.HTMLAttributes<HTMLUListElement> {\n /** Active Tab index */\n activeTabIndex?: number;\n /** Additional classes for tabs header. */\n classesTabNav?: string;\n /** Color theme for the tabs */\n colorScheme?: \"dark\" | \"light\";\n /** All tabs have equal width inside a full-width container */\n hasEqualTabWidth?: boolean;\n /** Fullwidth container */\n isFullWidth?: boolean;\n /** Tabs behave as links rather than tabs */\n isLink?: boolean;\n /** Visual variant of the tabs */\n variant?: TabsVariant;\n /** Tab panels as children */\n children: React.ReactElement<TabPanelProps>[];\n}\n\nconst Tabs: React.FC<TabsProps> = ({\n activeTabIndex = 0,\n className,\n classesTabNav,\n isFullWidth,\n isLink,\n hasEqualTabWidth,\n variant = \"standard\",\n children,\n colorScheme,\n ...other\n}) => {\n const CLASS_TABNAV = \"tab-list\";\n\n const tabNavClasses = cx(\n CLASS_TABNAV,\n { [`${CLASS_TABNAV}--equal`]: hasEqualTabWidth },\n { [`${CLASS_TABNAV}--fullwidth`]: isFullWidth },\n { [`${CLASS_TABNAV}--light`]: variant === \"light\" },\n { \"is-dark\": colorScheme === \"dark\" },\n { \"is-light\": colorScheme === \"light\" },\n classesTabNav,\n className,\n );\n\n const [tabListRef] = useStatic(TabsStatic);\n\n function getTabs() {\n return children\n .filter((tabPanel) => tabPanel && React.isValidElement(tabPanel))\n .map((tabPanel, i) => {\n const isActive = i === activeTabIndex;\n const props = tabPanel.props || {};\n const {\n renderTab = undefined,\n id,\n isDisabled,\n tab,\n href,\n } = props as TabPanelProps;\n\n // Generate ID if not provided\n const tabId = id || `tab-${i}`;\n\n if (!renderTab) {\n return (\n <Tab\n key={tabId}\n controls={!href ? tabId : \"\"}\n href={href}\n isDisabled={isDisabled}\n isActive={isActive}\n >\n {tab}\n </Tab>\n );\n }\n\n const renderedTab = renderTab(props as TabPanelProps);\n return React.cloneElement(renderedTab, {\n key: tabId,\n isActive,\n } as React.HTMLAttributes<HTMLElement>);\n });\n }\n\n function getPanels() {\n return children\n .filter((tabPanel) => tabPanel && React.isValidElement(tabPanel))\n .map((tabPanel, i) => {\n const isActive = i === activeTabIndex;\n const props = tabPanel.props || {};\n const { id } = props;\n const tabId = id || `tab-${i}`;\n return React.cloneElement(tabPanel, {\n key: tabId,\n isActive,\n tab: undefined,\n } as Partial<TabPanelProps>);\n });\n }\n\n return (\n <>\n <ul\n className={tabNavClasses}\n role={isLink ? \"navigation\" : \"tablist\"}\n ref={tabListRef}\n data-tabs={isLink ? undefined : \"true\"}\n {...other}\n >\n {getTabs()}\n {isFullWidth && <li role=\"presentation\" className=\"tab-list__hr\" />}\n </ul>\n {!isLink ? getPanels() : null}\n </>\n );\n};\n\nTabs.displayName = \"Tabs\";\n\nexport { Tabs };\n","\"use client\";\n\nimport generateId from \"../../utils/generateId\";\n\nexport interface TabPanelProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Optional href for the tab */\n href?: string;\n /** Tabpanel id */\n id?: string;\n /** Active state */\n isActive?: boolean;\n /** Whether the tab is disabled */\n isDisabled?: boolean;\n /** Tab content/label */\n tab?: React.ReactNode;\n /** Custom render function for tab */\n renderTab?: (props: TabPanelProps) => React.ReactElement;\n /** Additional class names */\n className?: string;\n /** Children components */\n children?: React.ReactNode;\n}\n\nconst TabPanel: React.FC<TabPanelProps> = ({\n children,\n isActive,\n id,\n href,\n isDisabled,\n ...other\n}) => {\n const currentId = id || generateId();\n\n return (\n <div\n id={currentId}\n role={href ? \"\" : \"tabpanel\"}\n tabIndex={0}\n hidden={!isActive}\n {...other}\n >\n {children}\n </div>\n );\n};\n\nTabPanel.displayName = \"TabPanel\";\n\nexport { TabPanel };\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","idx","generateId","name","concat","process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE","displayName","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","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","getTaskName","UnknownOwner","Error","elementRefGetterWithDeprecationWarning","componentName","this","didWarnAboutElementRef","props","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","source","self","debugStack","debugTask","dispatcher","children","isArrayImpl","validateChildKeys","freeze","keys","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","bind","unknownOwnerDebugTask","reactJsxRuntime_development","Fragment","jsx","trackActualOwner","recentlyCreatedOwnerStacks","jsxs","jsxRuntimeModule","jsxProd","reactJsxRuntime_production","require$$1","Tab","_ref","href","className","controls","isDisabled","isActive","other","_objectWithoutProperties","_excluded","tabClasses","cx","tabindex","Tag","_jsx","role","_objectSpread","undefined","tabIndex","TAB","ARROWLEFT","ARROWUP","ARROWRIGHT","ARROWDOWN","RovingTabindex","_createClass","elems","direction","_classCallCheck","onKeydown","document","addEventListener","removeEventListener","activeElemIndex","indexOf","activeElement","preventDefault","focus","destroy","defaultConfig","tabSelector","Tabs","element","_defineProperty","el","hasAttribute","getAttribute","tabs","tabPanels","activeTabIndex","rovingTabindex","handleClick","handleTabFocus","ODS_Tabs","init","_this","from","querySelectorAll","map","tab","index","controlId","push","getElementById","isSelected","update","toggleTabPanel","activateNthTab","_this2","_this3","clickedTab","currentTarget","toggleTab","tabPanel","state","setAttribute","removeAttribute","_this4","_ref$activeTabIndex","classesTabNav","isFullWidth","isLink","hasEqualTabWidth","_ref$variant","variant","colorScheme","CLASS_TABNAV","tabNavClasses","_useStatic","StaticClass","instance","useRef","configRef","elementRef","useEffect","current","useCallback","_instance$current$des","_instance$current","_instance$current$upd","_instance$current2","_instance$current$des2","_instance$current3","useStatic","TabsStatic","tabListRef","_slicedToArray","_jsxs","_Fragment","isValidElement","_ref2","_ref2$renderTab","renderTab","id","tabId","renderedTab","cloneElement","TabPanel","currentId","hidden"],"mappings":"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","x_google_ignoreList":[0,3,4,5]}