@orangesk/orange-design-system 2.0.0-beta.0 → 2.0.0-beta.10

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 (572) 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 +7 -7
  4. package/build/components/index.js.map +1 -1
  5. package/build/components/tsconfig.tsbuildinfo +1 -1
  6. package/build/components/types/index.d.ts +1508 -0
  7. package/build/components/types/src/components/Accordion/Accordion.d.ts +2 -0
  8. package/build/components/types/src/components/Accordion/AccordionHeader.d.ts +2 -1
  9. package/build/components/types/src/components/Accordion/AccordionItem.d.ts +2 -1
  10. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.d.ts +1 -1
  11. package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.static.d.ts +19 -17
  12. package/build/components/types/src/components/AnchorNavigation/index.d.ts +0 -1
  13. package/build/components/types/src/components/BlockAction/index.d.ts +0 -1
  14. package/build/components/types/src/components/BodyBanner/index.d.ts +0 -1
  15. package/build/components/types/src/components/Button/Button.d.ts +1 -0
  16. package/build/components/types/src/components/Button/index.d.ts +0 -1
  17. package/build/components/types/src/components/Card/Card.d.ts +2 -4
  18. package/build/components/types/src/components/Card/CardSection.d.ts +2 -2
  19. package/build/components/types/src/components/Carousel/Carousel.d.ts +4 -0
  20. package/build/components/types/src/components/Carousel/Carousel.static.d.ts +1 -0
  21. package/build/components/types/src/components/Carousel/constants.d.ts +2 -0
  22. package/build/components/types/src/components/CarouselHero/CarouselHero.d.ts +18 -0
  23. package/build/components/types/src/components/CarouselHero/CarouselHero.static.d.ts +47 -0
  24. package/build/components/types/src/components/CarouselHero/CarouselHeroItem.d.ts +8 -0
  25. package/build/components/types/src/components/CarouselHero/constants.d.ts +33 -0
  26. package/build/components/types/src/components/CarouselHero/index.d.ts +2 -0
  27. package/build/components/types/src/components/Cover/index.d.ts +1 -2
  28. package/build/components/types/src/components/Divider/Divider.d.ts +0 -4
  29. package/build/components/types/src/components/Expander/Expander.d.ts +2 -2
  30. package/build/components/types/src/components/Footer/Footer.d.ts +1 -5
  31. package/build/components/types/src/components/Footer/constants.d.ts +9 -0
  32. package/build/components/types/src/components/Forms/Select/index.d.ts +0 -1
  33. package/build/components/types/src/components/Icon/iconSearchTags.d.ts +253 -251
  34. package/build/components/types/src/components/IconList/index.d.ts +2 -3
  35. package/build/components/types/src/components/List/index.d.ts +2 -3
  36. package/build/components/types/src/components/Megamenu/MegaMenuIcon.d.ts +13 -0
  37. package/build/components/types/src/components/Megamenu/Megamenu.d.ts +1 -9
  38. package/build/components/types/src/components/Megamenu/Megamenu.static.d.ts +47 -0
  39. package/build/components/types/src/components/Megamenu/MegamenuBlog.d.ts +1 -0
  40. package/build/components/types/src/components/Megamenu/constants.d.ts +48 -0
  41. package/build/components/types/src/components/Megamenu/index.d.ts +2 -3
  42. package/build/components/types/src/components/Megamenu/static.d.ts +22 -0
  43. package/build/components/types/src/components/Modal/Modal.d.ts +6 -0
  44. package/build/components/types/src/components/Modal/ModalBody.d.ts +4 -3
  45. package/build/components/types/src/components/Modal/ModalProductBody.d.ts +10 -0
  46. package/build/components/types/src/components/Modal/ModalProductFooter.d.ts +10 -0
  47. package/build/components/types/src/components/Modal/index.d.ts +2 -0
  48. package/build/components/types/src/components/Pagination/Pagination.d.ts +2 -3
  49. package/build/components/types/src/components/Pill/Pill.d.ts +4 -1
  50. package/build/components/types/src/components/Preview/PreviewGenerator.d.ts +1 -1
  51. package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +9 -5
  52. package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +2 -2
  53. package/build/components/types/src/components/Section/Section.d.ts +4 -1
  54. package/build/components/types/src/components/Tag/Tag.d.ts +9 -2
  55. package/build/components/types/src/components/index.d.ts +3 -5
  56. package/build/components/types/src/scripts/index.d.ts +10 -0
  57. package/build/lib/after-components.css +1 -1
  58. package/build/lib/after-components.css.map +1 -1
  59. package/build/lib/before-components.css +1 -1
  60. package/build/lib/before-components.css.map +1 -1
  61. package/build/lib/components.css +1 -1
  62. package/build/lib/components.css.map +1 -1
  63. package/build/lib/footer.css +2 -0
  64. package/build/lib/footer.css.map +1 -0
  65. package/build/lib/megamenu.css +2 -0
  66. package/build/lib/megamenu.css.map +1 -0
  67. package/build/lib/megamenu.js +2 -0
  68. package/build/lib/megamenu.js.map +1 -0
  69. package/build/lib/scripts.css +1 -1
  70. package/build/lib/scripts.css.map +1 -1
  71. package/build/lib/scripts.js +5 -5
  72. package/build/lib/scripts.js.map +1 -1
  73. package/build/lib/style.css +1 -1
  74. package/build/lib/style.css.map +1 -1
  75. package/build/lib/tsconfig.tsbuildinfo +1 -1
  76. package/build/logo-line.svg +5 -0
  77. package/build/sprite.svg +1 -1
  78. package/package.json +35 -29
  79. package/src/assets/icons/ai.svg +6 -0
  80. package/src/assets/icons/article.svg +7 -0
  81. package/src/assets/icons/pictogram-activation--dark.svg +10 -11
  82. package/src/assets/icons/pictogram-activation-free--dark.svg +4 -5
  83. package/src/assets/icons/pictogram-activation-free.svg +4 -5
  84. package/src/assets/icons/pictogram-activation.svg +10 -11
  85. package/src/assets/icons/pictogram-archive--dark.svg +3 -4
  86. package/src/assets/icons/pictogram-archive.svg +3 -4
  87. package/src/assets/icons/pictogram-calling-minutes--dark.svg +3 -4
  88. package/src/assets/icons/pictogram-calling-minutes.svg +3 -4
  89. package/src/assets/icons/pictogram-canal-plus--dark.svg +3 -4
  90. package/src/assets/icons/pictogram-canal-plus.svg +3 -4
  91. package/src/assets/icons/pictogram-competition-tickets--dark.svg +11 -12
  92. package/src/assets/icons/pictogram-competition-tickets.svg +11 -12
  93. package/src/assets/icons/pictogram-device-discount--dark.svg +7 -6
  94. package/src/assets/icons/pictogram-device-discount.svg +5 -6
  95. package/src/assets/icons/pictogram-discount-general--dark.svg +5 -6
  96. package/src/assets/icons/pictogram-discount-general.svg +5 -6
  97. package/src/assets/icons/pictogram-discount-price--dark.svg +5 -6
  98. package/src/assets/icons/pictogram-discount-price.svg +5 -6
  99. package/src/assets/icons/pictogram-extra-data--dark.svg +6 -7
  100. package/src/assets/icons/pictogram-extra-data.svg +6 -7
  101. package/src/assets/icons/pictogram-free-payment--dark.svg +5 -6
  102. package/src/assets/icons/pictogram-free-payment.svg +3 -6
  103. package/src/assets/icons/pictogram-gift--dark.svg +12 -13
  104. package/src/assets/icons/pictogram-gift-one-benefit--dark.svg +7 -8
  105. package/src/assets/icons/pictogram-gift-one-benefit.svg +7 -8
  106. package/src/assets/icons/pictogram-gift-two-benefits--dark.svg +8 -9
  107. package/src/assets/icons/pictogram-gift-two-benefits.svg +8 -9
  108. package/src/assets/icons/pictogram-gift.svg +3 -4
  109. package/src/assets/icons/pictogram-hbo-max--dark.svg +5 -6
  110. package/src/assets/icons/pictogram-hbo-max.svg +5 -6
  111. package/src/assets/icons/pictogram-infinite-sms--dark.svg +3 -4
  112. package/src/assets/icons/pictogram-infinite-sms.svg +3 -4
  113. package/src/assets/icons/pictogram-installation--dark.svg +4 -5
  114. package/src/assets/icons/pictogram-installation-free--dark.svg +4 -5
  115. package/src/assets/icons/pictogram-installation-free.svg +4 -5
  116. package/src/assets/icons/pictogram-installation.svg +4 -5
  117. package/src/assets/icons/pictogram-max--dark.svg +3 -4
  118. package/src/assets/icons/pictogram-max-canal-plus--dark.svg +5 -6
  119. package/src/assets/icons/pictogram-max-canal-plus.svg +5 -6
  120. package/src/assets/icons/pictogram-max.svg +3 -4
  121. package/src/assets/icons/pictogram-moj-orange-app--dark.svg +3 -4
  122. package/src/assets/icons/pictogram-moj-orange-app.svg +3 -4
  123. package/src/assets/icons/pictogram-movie-storage--dark.svg +4 -5
  124. package/src/assets/icons/pictogram-movie-storage.svg +4 -5
  125. package/src/assets/icons/pictogram-online-protection--dark.svg +3 -4
  126. package/src/assets/icons/pictogram-online-protection.svg +3 -4
  127. package/src/assets/icons/pictogram-random-damage--dark.svg +4 -8
  128. package/src/assets/icons/pictogram-random-damage.svg +4 -8
  129. package/src/assets/icons/pictogram-recycling--dark.svg +7 -8
  130. package/src/assets/icons/pictogram-recycling.svg +14 -15
  131. package/src/assets/icons/pictogram-repair--dark.svg +12 -13
  132. package/src/assets/icons/pictogram-repair.svg +12 -13
  133. package/src/assets/icons/pictogram-roaming--dark.svg +3 -4
  134. package/src/assets/icons/pictogram-roaming-discount--dark.svg +3 -16
  135. package/src/assets/icons/pictogram-roaming-discount.svg +15 -16
  136. package/src/assets/icons/pictogram-roaming.svg +3 -4
  137. package/src/assets/icons/pictogram-skylink--dark.svg +10 -11
  138. package/src/assets/icons/pictogram-skylink-live-tv--dark.svg +7 -8
  139. package/src/assets/icons/pictogram-skylink-live-tv.svg +7 -8
  140. package/src/assets/icons/pictogram-skylink.svg +10 -11
  141. package/src/assets/icons/pictogram-sms--dark.svg +5 -6
  142. package/src/assets/icons/pictogram-sms.svg +5 -6
  143. package/src/assets/icons/pictogram-theft--dark.svg +3 -7
  144. package/src/assets/icons/pictogram-theft.svg +3 -7
  145. package/src/assets/icons/pictogram-three-devices--dark.svg +4 -8
  146. package/src/assets/icons/pictogram-three-devices.svg +4 -8
  147. package/src/assets/icons/pictogram-trust--dark.svg +3 -4
  148. package/src/assets/icons/pictogram-trust.svg +3 -4
  149. package/src/assets/icons/pictogram-water-damage--dark.svg +5 -6
  150. package/src/assets/icons/pictogram-water-damage.svg +5 -6
  151. package/src/components/Accordion/Accordion.tsx +4 -0
  152. package/src/components/Accordion/AccordionHeader.tsx +9 -2
  153. package/src/components/Accordion/AccordionItem.tsx +5 -2
  154. package/src/components/Accordion/styles/config.scss +4 -4
  155. package/src/components/Accordion/styles/mixins.scss +9 -3
  156. package/src/components/Accordion/styles/style.scss +4 -0
  157. package/src/components/Accordion/tests/Accordion.unit.test.js +11 -0
  158. package/src/components/AnchorNavigation/AnchorNavigation.static.ts +253 -73
  159. package/src/components/AnchorNavigation/AnchorNavigation.tsx +20 -16
  160. package/src/components/AnchorNavigation/index.tsx +0 -2
  161. package/src/components/AnchorNavigation/styles/mixins.scss +14 -27
  162. package/src/components/AnchorNavigation/tests/AnchorNavigation.conformance.test.js +67 -0
  163. package/src/components/AnchorNavigation/tests/AnchorNavigation.unit.test.js +163 -0
  164. package/src/components/Bar/styles/config.scss +4 -5
  165. package/src/components/BlockAction/index.tsx +0 -2
  166. package/src/components/BlockAction/styles/mixins.scss +0 -6
  167. package/src/components/BodyBanner/index.tsx +0 -2
  168. package/src/components/Breadcrumbs/styles/mixins.scss +2 -4
  169. package/src/components/Button/Button.tsx +2 -2
  170. package/src/components/Button/index.tsx +0 -2
  171. package/src/components/Button/styles/config.scss +1 -1
  172. package/src/components/Button/styles/mixins.scss +5 -0
  173. package/src/components/Button/styles/style.scss +4 -0
  174. package/src/components/Card/Card.tsx +20 -8
  175. package/src/components/Card/CardSection.tsx +7 -11
  176. package/src/components/Card/styles/config.scss +1 -1
  177. package/src/components/Card/styles/mixins.scss +8 -6
  178. package/src/components/Card/styles/style.scss +4 -0
  179. package/src/components/Card/tests/Card.unit.test.js +45 -11
  180. package/src/components/Card/tests/CardSection.unit.test.js +36 -3
  181. package/src/components/Carousel/Carousel.static.ts +67 -1
  182. package/src/components/Carousel/Carousel.tsx +41 -19
  183. package/src/components/Carousel/constants.ts +2 -0
  184. package/src/components/Carousel/styles/config.scss +1 -2
  185. package/src/components/Carousel/styles/mixins.scss +35 -2
  186. package/src/components/Carousel/styles/style.scss +8 -0
  187. package/src/components/CarouselHero/CarouselHero.static.ts +528 -0
  188. package/src/components/CarouselHero/CarouselHero.tsx +147 -0
  189. package/src/components/CarouselHero/CarouselHeroItem.tsx +40 -0
  190. package/src/components/CarouselHero/constants.ts +36 -0
  191. package/src/components/CarouselHero/index.ts +2 -0
  192. package/src/components/CarouselHero/styles/config.scss +54 -0
  193. package/src/components/CarouselHero/styles/mixins.scss +278 -0
  194. package/src/components/CarouselHero/styles/style.scss +63 -0
  195. package/src/components/CarouselHero/tests/CarouselHero.conformance.test.js +130 -0
  196. package/src/components/CarouselHero/tests/CarouselHero.unit.test.js +346 -0
  197. package/src/components/CarouselHero/tests/CarouselHeroItem.conformance.test.js +135 -0
  198. package/src/components/CarouselHero/tests/CarouselHeroItem.unit.test.js +143 -0
  199. package/src/components/CarouselPromotions/styles/mixins.scss +10 -3
  200. package/src/components/CartTable/FooterPriceColumn.tsx +5 -3
  201. package/src/components/CartTable/Price.tsx +1 -1
  202. package/src/components/Controls/styles/config.scss +2 -2
  203. package/src/components/Controls/tests/Controls.test.js +0 -9
  204. package/src/components/Cover/index.ts +1 -2
  205. package/src/components/Divider/Divider.tsx +2 -16
  206. package/src/components/Divider/styles/config.scss +0 -17
  207. package/src/components/Divider/styles/mixins.scss +8 -10
  208. package/src/components/Divider/styles/style.scss +2 -16
  209. package/src/components/Divider/tests/Divider.conformance.test.js +1 -1
  210. package/src/components/Divider/tests/Divider.unit.test.js +0 -17
  211. package/src/components/Dropdown/styles/mixins.scss +1 -1
  212. package/src/components/Expander/Expander.tsx +4 -2
  213. package/src/components/Expander/styles/style.scss +7 -0
  214. package/src/components/Footer/Footer.tsx +86 -70
  215. package/src/components/Footer/constants.ts +10 -0
  216. package/src/components/Footer/styles/config.scss +1 -0
  217. package/src/components/Footer/styles/mixins.scss +172 -0
  218. package/src/components/Footer/styles/style.scss +48 -0
  219. package/src/components/Footer/tests/Footer.conformance.test.js +133 -8
  220. package/src/components/Footer/tests/Footer.unit.test.js +71 -6
  221. package/src/components/Forms/DatePicker/styles/style.scss +1 -1
  222. package/src/components/Forms/File/styles/mixins.scss +1 -1
  223. package/src/components/Forms/InputStepper/styles/style.scss +0 -66
  224. package/src/components/Forms/RangeSlider/styles/mixins.scss +1 -1
  225. package/src/components/Forms/Select/index.tsx +0 -2
  226. package/src/components/Forms/TextInput/styles/config.scss +1 -1
  227. package/src/components/Forms/styles/config.scss +3 -3
  228. package/src/components/Icon/iconSearchTags.ts +434 -432
  229. package/src/components/Icon/styles/style.scss +15 -0
  230. package/src/components/Icon/tests/Pictogram.unit.test.js +38 -0
  231. package/src/components/IconList/index.ts +2 -3
  232. package/src/components/Link/styles/style.scss +6 -2
  233. package/src/components/Link/tests/Link.conformance.test.js +5 -20
  234. package/src/components/Link/tests/Link.unit.test.js +1 -10
  235. package/src/components/List/index.ts +2 -3
  236. package/src/components/Loader/Loader.tsx +2 -10
  237. package/src/components/Loader/styles/mixins.scss +1 -1
  238. package/src/components/Loader/styles/style.scss +6 -4
  239. package/src/components/Megamenu/MegaMenuIcon.tsx +48 -0
  240. package/src/components/Megamenu/Megamenu.static.ts +600 -0
  241. package/src/components/Megamenu/Megamenu.tsx +799 -356
  242. package/src/components/Megamenu/MegamenuBlog.tsx +309 -0
  243. package/src/components/Megamenu/constants.ts +56 -0
  244. package/src/components/Megamenu/index.ts +2 -5
  245. package/src/components/Megamenu/static.ts +73 -0
  246. package/src/components/Megamenu/styles/config.scss +2 -13
  247. package/src/components/Megamenu/styles/mixins.scss +647 -208
  248. package/src/components/Megamenu/styles/style.scss +173 -61
  249. package/src/components/Modal/Modal.tsx +17 -2
  250. package/src/components/Modal/ModalBody.tsx +29 -14
  251. package/src/components/Modal/ModalProductBody.tsx +52 -0
  252. package/src/components/Modal/ModalProductFooter.tsx +38 -0
  253. package/src/components/Modal/index.ts +2 -0
  254. package/src/components/Modal/styles/config.scss +7 -0
  255. package/src/components/Modal/styles/mixins.scss +121 -14
  256. package/src/components/Modal/styles/style.scss +28 -0
  257. package/src/components/Modal/tests/Modal.unit.test.js +73 -0
  258. package/src/components/Modal/tests/ModalBody.unit.test.js +28 -12
  259. package/src/components/Pagination/Pagination.tsx +2 -2
  260. package/src/components/Pill/Pill.tsx +8 -3
  261. package/src/components/Pill/styles/config.scss +22 -2
  262. package/src/components/Pill/styles/style.scss +7 -3
  263. package/src/components/Pill/tests/Pill.conformance.test.js +7 -3
  264. package/src/components/Pill/tests/Pill.unit.test.js +45 -7
  265. package/src/components/Preview/PreviewGenerator.tsx +78 -34
  266. package/src/components/PromoBanner/PromoBanner.tsx +52 -34
  267. package/src/components/PromoBanner/styles/mixins.scss +37 -20
  268. package/src/components/PromoBanner/styles/style.scss +5 -11
  269. package/src/components/PromoBanner/tests/PromoBanner.conformance.test.js +781 -0
  270. package/src/components/PromoBanner/tests/PromoBanner.unit.test.js +529 -0
  271. package/src/components/PromotionCard/PromotionCard.tsx +13 -12
  272. package/src/components/PromotionCard/tests/PromotionCard.conformance.test.js +567 -0
  273. package/src/components/PromotionCard/tests/PromotionCard.unit.test.js +500 -0
  274. package/src/components/Section/Section.tsx +20 -4
  275. package/src/components/Section/styles/config.scss +18 -16
  276. package/src/components/Section/styles/mixins.scss +16 -13
  277. package/src/components/Section/styles/style.scss +1 -0
  278. package/src/components/Section/tests/Section.conformance.test.js +27 -10
  279. package/src/components/Section/tests/Section.unit.test.js +73 -25
  280. package/src/components/Tag/Tag.tsx +27 -3
  281. package/src/components/Tag/styles/config.scss +31 -0
  282. package/src/components/Tag/styles/mixins.scss +39 -3
  283. package/src/components/Tag/styles/style.scss +28 -2
  284. package/src/components/Tag/tests/Tag.conformance.test.js +19 -1
  285. package/src/components/Tag/tests/Tag.unit.test.js +93 -0
  286. package/src/components/Tile/styles/style.scss +1 -1
  287. package/src/components/index.ts +5 -6
  288. package/src/styles/base/globals.scss +19 -0
  289. package/src/styles/base/styleguide.scss +17 -17
  290. package/src/styles/export/base.js +2 -2
  291. package/src/styles/export/color.js +2 -2
  292. package/src/styles/shame.scss +2 -1
  293. package/src/styles/tokens/base.scss +1 -1
  294. package/src/styles/tokens/color.scss +12 -8
  295. package/src/styles/typography/mixins.scss +3 -2
  296. package/src/styles/utilities/border.scss +1 -1
  297. package/src/styles/utilities/color.scss +113 -20
  298. package/src/styles/utilities/index.scss +1 -0
  299. package/src/styles/utilities/layout.scss +9 -0
  300. package/src/styles/utilities/ordering.scss +44 -0
  301. package/build/components/Accordion/index.js +0 -16
  302. package/build/components/Accordion/index.js.map +0 -1
  303. package/build/components/Accordion/tsconfig.tsbuildinfo +0 -1
  304. package/build/components/Alert/index.js +0 -16
  305. package/build/components/Alert/index.js.map +0 -1
  306. package/build/components/Alert/tsconfig.tsbuildinfo +0 -1
  307. package/build/components/AnchorNavigation/index.js +0 -16
  308. package/build/components/AnchorNavigation/index.js.map +0 -1
  309. package/build/components/AnchorNavigation/style.css +0 -2
  310. package/build/components/AnchorNavigation/style.css.map +0 -1
  311. package/build/components/AnchorNavigation/tsconfig.tsbuildinfo +0 -1
  312. package/build/components/Bar/index.js +0 -16
  313. package/build/components/Bar/index.js.map +0 -1
  314. package/build/components/Bar/tsconfig.tsbuildinfo +0 -1
  315. package/build/components/BlockAction/index.js +0 -16
  316. package/build/components/BlockAction/index.js.map +0 -1
  317. package/build/components/BlockAction/style.css +0 -2
  318. package/build/components/BlockAction/style.css.map +0 -1
  319. package/build/components/BlockAction/tsconfig.tsbuildinfo +0 -1
  320. package/build/components/BodyBanner/index.js +0 -16
  321. package/build/components/BodyBanner/index.js.map +0 -1
  322. package/build/components/BodyBanner/style.css +0 -2
  323. package/build/components/BodyBanner/style.css.map +0 -1
  324. package/build/components/BodyBanner/tsconfig.tsbuildinfo +0 -1
  325. package/build/components/Breadcrumbs/index.js +0 -16
  326. package/build/components/Breadcrumbs/index.js.map +0 -1
  327. package/build/components/Breadcrumbs/tsconfig.tsbuildinfo +0 -1
  328. package/build/components/Button/index.js +0 -16
  329. package/build/components/Button/index.js.map +0 -1
  330. package/build/components/Button/style.css +0 -2
  331. package/build/components/Button/style.css.map +0 -1
  332. package/build/components/Button/tsconfig.tsbuildinfo +0 -1
  333. package/build/components/Buttons/index.js +0 -16
  334. package/build/components/Buttons/index.js.map +0 -1
  335. package/build/components/Buttons/tsconfig.tsbuildinfo +0 -1
  336. package/build/components/Card/index.js +0 -16
  337. package/build/components/Card/index.js.map +0 -1
  338. package/build/components/Card/tsconfig.tsbuildinfo +0 -1
  339. package/build/components/Carousel/index.js +0 -16
  340. package/build/components/Carousel/index.js.map +0 -1
  341. package/build/components/Carousel/style.css +0 -2
  342. package/build/components/Carousel/style.css.map +0 -1
  343. package/build/components/Carousel/tsconfig.tsbuildinfo +0 -1
  344. package/build/components/CarouselPromotions/index.js +0 -16
  345. package/build/components/CarouselPromotions/index.js.map +0 -1
  346. package/build/components/CarouselPromotions/tsconfig.tsbuildinfo +0 -1
  347. package/build/components/CartTable/index.js +0 -16
  348. package/build/components/CartTable/index.js.map +0 -1
  349. package/build/components/CartTable/style.css +0 -2
  350. package/build/components/CartTable/style.css.map +0 -1
  351. package/build/components/CartTable/tsconfig.tsbuildinfo +0 -1
  352. package/build/components/Code/index.js +0 -11
  353. package/build/components/Code/index.js.map +0 -1
  354. package/build/components/Code/style.css +0 -2
  355. package/build/components/Code/style.css.map +0 -1
  356. package/build/components/Code/tsconfig.tsbuildinfo +0 -1
  357. package/build/components/Container/index.js +0 -16
  358. package/build/components/Container/index.js.map +0 -1
  359. package/build/components/Container/tsconfig.tsbuildinfo +0 -1
  360. package/build/components/Controls/index.js +0 -16
  361. package/build/components/Controls/index.js.map +0 -1
  362. package/build/components/Controls/tsconfig.tsbuildinfo +0 -1
  363. package/build/components/Cover/index.js +0 -16
  364. package/build/components/Cover/index.js.map +0 -1
  365. package/build/components/Cover/style.css +0 -2
  366. package/build/components/Cover/style.css.map +0 -1
  367. package/build/components/Cover/tsconfig.tsbuildinfo +0 -1
  368. package/build/components/Divider/index.js +0 -16
  369. package/build/components/Divider/index.js.map +0 -1
  370. package/build/components/Divider/tsconfig.tsbuildinfo +0 -1
  371. package/build/components/DocumentationSidebar/index.js +0 -16
  372. package/build/components/DocumentationSidebar/index.js.map +0 -1
  373. package/build/components/DocumentationSidebar/style.css +0 -2
  374. package/build/components/DocumentationSidebar/style.css.map +0 -1
  375. package/build/components/DocumentationSidebar/tsconfig.tsbuildinfo +0 -1
  376. package/build/components/Dropdown/index.js +0 -16
  377. package/build/components/Dropdown/index.js.map +0 -1
  378. package/build/components/Dropdown/style.css +0 -2
  379. package/build/components/Dropdown/style.css.map +0 -1
  380. package/build/components/Dropdown/tsconfig.tsbuildinfo +0 -1
  381. package/build/components/Expander/index.js +0 -16
  382. package/build/components/Expander/index.js.map +0 -1
  383. package/build/components/Expander/tsconfig.tsbuildinfo +0 -1
  384. package/build/components/FeatureAccordion/index.js +0 -16
  385. package/build/components/FeatureAccordion/index.js.map +0 -1
  386. package/build/components/FeatureAccordion/style.css +0 -2
  387. package/build/components/FeatureAccordion/style.css.map +0 -1
  388. package/build/components/FeatureAccordion/tsconfig.tsbuildinfo +0 -1
  389. package/build/components/Footer/index.js +0 -16
  390. package/build/components/Footer/index.js.map +0 -1
  391. package/build/components/Footer/style.css +0 -2
  392. package/build/components/Footer/style.css.map +0 -1
  393. package/build/components/Footer/tsconfig.tsbuildinfo +0 -1
  394. package/build/components/Forms/index.js +0 -20
  395. package/build/components/Forms/index.js.map +0 -1
  396. package/build/components/Forms/style.css +0 -2
  397. package/build/components/Forms/style.css.map +0 -1
  398. package/build/components/Forms/tsconfig.tsbuildinfo +0 -1
  399. package/build/components/Gauge/index.js +0 -16
  400. package/build/components/Gauge/index.js.map +0 -1
  401. package/build/components/Gauge/tsconfig.tsbuildinfo +0 -1
  402. package/build/components/Grid/index.js +0 -16
  403. package/build/components/Grid/index.js.map +0 -1
  404. package/build/components/Grid/style.css +0 -2
  405. package/build/components/Grid/style.css.map +0 -1
  406. package/build/components/Grid/tsconfig.tsbuildinfo +0 -1
  407. package/build/components/Hero/index.js +0 -16
  408. package/build/components/Hero/index.js.map +0 -1
  409. package/build/components/Hero/style.css +0 -2
  410. package/build/components/Hero/style.css.map +0 -1
  411. package/build/components/Hero/tsconfig.tsbuildinfo +0 -1
  412. package/build/components/Icon/index.js +0 -11
  413. package/build/components/Icon/index.js.map +0 -1
  414. package/build/components/Icon/tsconfig.tsbuildinfo +0 -1
  415. package/build/components/IconList/index.js +0 -16
  416. package/build/components/IconList/index.js.map +0 -1
  417. package/build/components/IconList/style.css +0 -2
  418. package/build/components/IconList/style.css.map +0 -1
  419. package/build/components/IconList/tsconfig.tsbuildinfo +0 -1
  420. package/build/components/Image/index.js +0 -16
  421. package/build/components/Image/index.js.map +0 -1
  422. package/build/components/Image/tsconfig.tsbuildinfo +0 -1
  423. package/build/components/Link/index.js +0 -7
  424. package/build/components/Link/index.js.map +0 -1
  425. package/build/components/Link/tsconfig.tsbuildinfo +0 -1
  426. package/build/components/List/index.js +0 -16
  427. package/build/components/List/index.js.map +0 -1
  428. package/build/components/List/style.css +0 -2
  429. package/build/components/List/style.css.map +0 -1
  430. package/build/components/List/tsconfig.tsbuildinfo +0 -1
  431. package/build/components/Loader/index.js +0 -16
  432. package/build/components/Loader/index.js.map +0 -1
  433. package/build/components/Loader/tsconfig.tsbuildinfo +0 -1
  434. package/build/components/Megamenu/index.js +0 -20
  435. package/build/components/Megamenu/index.js.map +0 -1
  436. package/build/components/Megamenu/style.css +0 -2
  437. package/build/components/Megamenu/style.css.map +0 -1
  438. package/build/components/Megamenu/tsconfig.tsbuildinfo +0 -1
  439. package/build/components/Modal/index.js +0 -20
  440. package/build/components/Modal/index.js.map +0 -1
  441. package/build/components/Modal/style.css +0 -2
  442. package/build/components/Modal/style.css.map +0 -1
  443. package/build/components/Modal/tsconfig.tsbuildinfo +0 -1
  444. package/build/components/Pagination/index.js +0 -16
  445. package/build/components/Pagination/index.js.map +0 -1
  446. package/build/components/Pagination/tsconfig.tsbuildinfo +0 -1
  447. package/build/components/Pill/index.js +0 -16
  448. package/build/components/Pill/index.js.map +0 -1
  449. package/build/components/Pill/tsconfig.tsbuildinfo +0 -1
  450. package/build/components/Preview/index.js +0 -77
  451. package/build/components/Preview/index.js.map +0 -1
  452. package/build/components/Preview/style.css +0 -2
  453. package/build/components/Preview/style.css.map +0 -1
  454. package/build/components/Preview/tsconfig.tsbuildinfo +0 -1
  455. package/build/components/Progress/index.js +0 -16
  456. package/build/components/Progress/index.js.map +0 -1
  457. package/build/components/Progress/tsconfig.tsbuildinfo +0 -1
  458. package/build/components/PromoBanner/index.js +0 -16
  459. package/build/components/PromoBanner/index.js.map +0 -1
  460. package/build/components/PromoBanner/style.css +0 -2
  461. package/build/components/PromoBanner/style.css.map +0 -1
  462. package/build/components/PromoBanner/tsconfig.tsbuildinfo +0 -1
  463. package/build/components/PromotionCard/index.js +0 -16
  464. package/build/components/PromotionCard/index.js.map +0 -1
  465. package/build/components/PromotionCard/tsconfig.tsbuildinfo +0 -1
  466. package/build/components/Section/index.js +0 -16
  467. package/build/components/Section/index.js.map +0 -1
  468. package/build/components/Section/tsconfig.tsbuildinfo +0 -1
  469. package/build/components/Skeleton/index.js +0 -16
  470. package/build/components/Skeleton/index.js.map +0 -1
  471. package/build/components/Skeleton/tsconfig.tsbuildinfo +0 -1
  472. package/build/components/SkipLink/index.js +0 -16
  473. package/build/components/SkipLink/index.js.map +0 -1
  474. package/build/components/SkipLink/tsconfig.tsbuildinfo +0 -1
  475. package/build/components/Stepbar/index.js +0 -16
  476. package/build/components/Stepbar/index.js.map +0 -1
  477. package/build/components/Stepbar/tsconfig.tsbuildinfo +0 -1
  478. package/build/components/Sticker/index.js +0 -16
  479. package/build/components/Sticker/index.js.map +0 -1
  480. package/build/components/Sticker/tsconfig.tsbuildinfo +0 -1
  481. package/build/components/Table/index.js +0 -16
  482. package/build/components/Table/index.js.map +0 -1
  483. package/build/components/Table/style.css +0 -2
  484. package/build/components/Table/style.css.map +0 -1
  485. package/build/components/Table/tsconfig.tsbuildinfo +0 -1
  486. package/build/components/Tabs/index.js +0 -16
  487. package/build/components/Tabs/index.js.map +0 -1
  488. package/build/components/Tabs/tsconfig.tsbuildinfo +0 -1
  489. package/build/components/Tag/index.js +0 -16
  490. package/build/components/Tag/index.js.map +0 -1
  491. package/build/components/Tag/tsconfig.tsbuildinfo +0 -1
  492. package/build/components/Testimonial/index.js +0 -16
  493. package/build/components/Testimonial/index.js.map +0 -1
  494. package/build/components/Testimonial/tsconfig.tsbuildinfo +0 -1
  495. package/build/components/Tile/index.js +0 -16
  496. package/build/components/Tile/index.js.map +0 -1
  497. package/build/components/Tile/tsconfig.tsbuildinfo +0 -1
  498. package/build/components/Tooltip/index.js +0 -16
  499. package/build/components/Tooltip/index.js.map +0 -1
  500. package/build/components/Tooltip/style.css +0 -2
  501. package/build/components/Tooltip/style.css.map +0 -1
  502. package/build/components/Tooltip/tsconfig.tsbuildinfo +0 -1
  503. package/build/components/static.css +0 -2
  504. package/build/components/static.css.map +0 -1
  505. package/build/components/static.js +0 -10
  506. package/build/components/static.js.map +0 -1
  507. package/build/components/types/src/components/Hero/HeroPlayground.d.ts +0 -2
  508. package/build/components/types/src/components/Megamenu/MegamenuDropdown.d.ts +0 -17
  509. package/src/components/Accordion/Accordion.mdx +0 -222
  510. package/src/components/Alert/Alert.mdx +0 -141
  511. package/src/components/Bar/Bar.mdx +0 -203
  512. package/src/components/BlockAction/BlockAction.mdx +0 -244
  513. package/src/components/BodyBanner/BodyBanner.mdx +0 -268
  514. package/src/components/Breadcrumbs/Breadcrumbs.mdx +0 -84
  515. package/src/components/Button/Button.mdx +0 -273
  516. package/src/components/Buttons/Buttons.mdx +0 -39
  517. package/src/components/Card/Card.mdx +0 -334
  518. package/src/components/Carousel/Carousel.mdx +0 -159
  519. package/src/components/CarouselPromotions/CarouselPromotions.mdx +0 -246
  520. package/src/components/CartTable/CartTable.mdx +0 -129
  521. package/src/components/Container/Container.mdx +0 -73
  522. package/src/components/Controls/Controls.mdx +0 -469
  523. package/src/components/Cover/Cover.mdx +0 -87
  524. package/src/components/Divider/Divider.mdx +0 -65
  525. package/src/components/Dropdown/Dropdown.mdx +0 -260
  526. package/src/components/Expander/Expander.mdx +0 -153
  527. package/src/components/FeatureAccordion/FeatureAccordion.mdx +0 -33
  528. package/src/components/Forms/Autocomplete/Autocomplete.mdx +0 -198
  529. package/src/components/Forms/Checkbox/Checkbox.mdx +0 -139
  530. package/src/components/Forms/DatePicker/DatePicker.mdx +0 -149
  531. package/src/components/Forms/Field/Field.mdx +0 -383
  532. package/src/components/Forms/Fieldset/Fieldset.mdx +0 -178
  533. package/src/components/Forms/File/File.mdx +0 -88
  534. package/src/components/Forms/FormTooltip.mdx +0 -51
  535. package/src/components/Forms/Forms.mdx +0 -48
  536. package/src/components/Forms/Group/Group.mdx +0 -146
  537. package/src/components/Forms/Hint/Hint.mdx +0 -40
  538. package/src/components/Forms/InputStepper/InputStepper.mdx +0 -147
  539. package/src/components/Forms/Label/Label.mdx +0 -95
  540. package/src/components/Forms/Message/Message.mdx +0 -40
  541. package/src/components/Forms/Radio/Radio.mdx +0 -98
  542. package/src/components/Forms/RangeSlider/RangeSlider.mdx +0 -304
  543. package/src/components/Forms/Select/Select.mdx +0 -106
  544. package/src/components/Forms/TextArea/TextArea.mdx +0 -109
  545. package/src/components/Forms/TextInput/TextInput.mdx +0 -153
  546. package/src/components/Gauge/Gauge.mdx +0 -35
  547. package/src/components/Grid/Grid.mdx +0 -320
  548. package/src/components/Hero/Hero.mdx +0 -168
  549. package/src/components/Hero/HeroPlayground.tsx +0 -369
  550. package/src/components/Icon/Icon.mdx +0 -172
  551. package/src/components/IconList/IconList.mdx +0 -53
  552. package/src/components/Image/Image.mdx +0 -175
  553. package/src/components/Link/Link.mdx +0 -224
  554. package/src/components/List/List.mdx +0 -216
  555. package/src/components/Loader/Loader.mdx +0 -148
  556. package/src/components/Megamenu/MegamenuDropdown.tsx +0 -64
  557. package/src/components/Modal/Modal.mdx +0 -565
  558. package/src/components/Pagination/Pagination.mdx +0 -45
  559. package/src/components/Pill/Pill.mdx +0 -41
  560. package/src/components/Progress/Progress.mdx +0 -119
  561. package/src/components/PromotionCard/PromotionCard.mdx +0 -191
  562. package/src/components/Section/Section.mdx +0 -397
  563. package/src/components/Skeleton/Skeleton.mdx +0 -90
  564. package/src/components/SkipLink/SkipLink.mdx +0 -23
  565. package/src/components/Stepbar/Stepbar.mdx +0 -137
  566. package/src/components/Sticker/Sticker.mdx +0 -50
  567. package/src/components/Table/Table.mdx +0 -199
  568. package/src/components/Tabs/Tabs.mdx +0 -373
  569. package/src/components/Tag/Tag.mdx +0 -52
  570. package/src/components/Testimonial/Testimonial.mdx +0 -41
  571. package/src/components/Tile/Tile.mdx +0 -163
  572. package/src/components/Tooltip/Tooltip.mdx +0 -227
@@ -25,13 +25,14 @@ import { Section } from "../";
25
25
  * - Screen reader compatibility
26
26
  *
27
27
  * 🎨 FUNCTIONAL BEHAVIOR
28
- * - Correct application of CSS classes (section, bg-*, section--*)
29
- * - All colors: white (default), gray, black, orange
28
+ * - Correct application of CSS classes (section, section--*)
29
+ * - All colors: background-primary (default), background-secondary, background-contrast, background-accent, etc.
30
30
  * - All spacing variants: default, small, xsmall
31
31
  * - Multiple props combinations
32
32
  * - Custom tag rendering (section, article, main, aside, header, footer)
33
33
  * - Passing through additional props (id, role, aria-*)
34
34
  * - Container integration and structure
35
+ * - Text inverse functionality for background-contrast
35
36
  *
36
37
  * 📝 CONTENT RENDERING
37
38
  * - Text children rendering through Container
@@ -72,7 +73,7 @@ describe("Section Conformance Tests", () => {
72
73
  it("is valid HTML with all props", () => {
73
74
  const { container } = render(
74
75
  <Section
75
- color="gray"
76
+ color="background-secondary"
76
77
  spacing="small"
77
78
  tag="section"
78
79
  className="test-class"
@@ -121,7 +122,7 @@ describe("Section Conformance Tests", () => {
121
122
 
122
123
  it("is accessible with complex content", async () => {
123
124
  const { container } = render(
124
- <Section color="gray" spacing="small">
125
+ <Section color="background-secondary" spacing="small">
125
126
  <header>
126
127
  <h1>Page Title</h1>
127
128
  <nav aria-label="Main navigation">
@@ -194,20 +195,36 @@ describe("Section Conformance Tests", () => {
194
195
  const { container } = render(<Section data-testid="test-section" />);
195
196
  const section = container.querySelector('[data-testid="test-section"]');
196
197
  expect(section).toHaveClass("section");
197
- expect(section).not.toHaveClass("bg-white");
198
+ expect(section).not.toHaveClass("background-primary");
198
199
  });
199
200
 
200
201
  it("applies color classes correctly", () => {
201
- const colors = ["gray", "black", "orange"];
202
+ const colors = [
203
+ "background-secondary",
204
+ "background-accent",
205
+ "background-accent1-blog",
206
+ "background-accent2-blog",
207
+ "accent1-blog",
208
+ "accent2-blog",
209
+ ];
202
210
  colors.forEach((color) => {
203
211
  const { container } = render(
204
212
  <Section color={color} data-testid="test-section" />,
205
213
  );
206
214
  const section = container.querySelector('[data-testid="test-section"]');
207
- expect(section).toHaveClass(`bg-${color}`);
215
+ expect(section).toHaveClass(color);
208
216
  });
209
217
  });
210
218
 
219
+ it("applies background-contrast with text-inverse correctly", () => {
220
+ const { container } = render(
221
+ <Section color="background-contrast" data-testid="test-section" />,
222
+ );
223
+ const section = container.querySelector('[data-testid="test-section"]');
224
+ expect(section).toHaveClass("background-contrast");
225
+ expect(section).toHaveClass("text-inverse");
226
+ });
227
+
211
228
  it("applies spacing classes correctly", () => {
212
229
  const spacings = ["default", "small", "xsmall"];
213
230
  spacings.forEach((spacing) => {
@@ -222,7 +239,7 @@ describe("Section Conformance Tests", () => {
222
239
  it("combines multiple props correctly", () => {
223
240
  const { container } = render(
224
241
  <Section
225
- color="gray"
242
+ color="background-secondary"
226
243
  spacing="small"
227
244
  className="custom-class"
228
245
  data-testid="test-section"
@@ -230,7 +247,7 @@ describe("Section Conformance Tests", () => {
230
247
  );
231
248
  const section = container.querySelector('[data-testid="test-section"]');
232
249
  expect(section).toHaveClass("section");
233
- expect(section).toHaveClass("bg-gray");
250
+ expect(section).toHaveClass("background-secondary");
234
251
  expect(section).toHaveClass("section--small");
235
252
  expect(section).toHaveClass("custom-class");
236
253
  });
@@ -394,7 +411,7 @@ describe("Section Conformance Tests", () => {
394
411
  );
395
412
  const section = container.querySelector('[data-testid="test-section"]');
396
413
  expect(section).toHaveClass("section");
397
- expect(section).toHaveClass("bg-invalid-color");
414
+ expect(section).toHaveClass("invalid-color");
398
415
  });
399
416
 
400
417
  it("handles invalid spacing prop gracefully", () => {
@@ -38,12 +38,13 @@ import { Section } from "../Section";
38
38
  * - Multiple children
39
39
  *
40
40
  * 🎯 SPECIFIC FUNCTIONALITY
41
- * - Color prop behavior (white, gray, black, orange)
41
+ * - Color prop behavior (background-secondary, background-contrast, background-accent, etc.)
42
42
  * - Spacing prop behavior (default, small, xsmall)
43
43
  * - Tag prop behavior (div, section, article, etc.)
44
44
  * - ClassName prop merging
45
45
  * - Additional props spreading
46
46
  * - Container integration
47
+ * - Text inverse functionality for background-contrast
47
48
  *
48
49
  * ⚡ PERFORMANCE & OPTIMIZATION
49
50
  * - Component re-rendering
@@ -102,7 +103,7 @@ describe("Section Component Unit Tests", () => {
102
103
  const { getByTestId } = render(
103
104
  <Section
104
105
  data-testid="test-section"
105
- color="gray"
106
+ color="background-secondary"
106
107
  spacing="small"
107
108
  className="custom-class"
108
109
  />,
@@ -156,48 +157,89 @@ describe("Section Component Unit Tests", () => {
156
157
  });
157
158
 
158
159
  describe("Color Prop Behavior", () => {
159
- it("applies no background class for white color (default)", () => {
160
+ it("applies correct color class for background-secondary color", () => {
160
161
  const { getByTestId } = render(
161
- <Section data-testid="test-section" color="white" />,
162
+ <Section data-testid="test-section" color="background-secondary" />,
162
163
  );
163
164
  const section = getByTestId("test-section");
164
165
 
165
166
  expect(section).toHaveClass("section");
166
- expect(section).not.toHaveClass("bg-white");
167
+ expect(section).toHaveClass("background-secondary");
167
168
  });
168
169
 
169
- it("applies correct background class for gray color", () => {
170
+ it("applies correct color class and text-inverse for background-contrast color", () => {
170
171
  const { getByTestId } = render(
171
- <Section data-testid="test-section" color="gray" />,
172
+ <Section data-testid="test-section" color="background-contrast" />,
172
173
  );
173
174
  const section = getByTestId("test-section");
174
175
 
175
176
  expect(section).toHaveClass("section");
176
- expect(section).toHaveClass("bg-gray");
177
+ expect(section).toHaveClass("background-contrast");
178
+ expect(section).toHaveClass("text-inverse");
177
179
  });
178
180
 
179
- it("applies correct background class for black color", () => {
181
+ it("applies correct color class for background-accent color", () => {
180
182
  const { getByTestId } = render(
181
- <Section data-testid="test-section" color="black" />,
183
+ <Section data-testid="test-section" color="background-accent" />,
182
184
  );
183
185
  const section = getByTestId("test-section");
184
186
 
185
187
  expect(section).toHaveClass("section");
186
- expect(section).toHaveClass("bg-black");
188
+ expect(section).toHaveClass("background-accent");
187
189
  });
188
190
 
189
- it("applies correct background class for orange color", () => {
191
+ it("applies correct color class for background-accent1-blog color", () => {
190
192
  const { getByTestId } = render(
191
- <Section data-testid="test-section" color="orange" />,
193
+ <Section data-testid="test-section" color="background-accent1-blog" />,
192
194
  );
193
195
  const section = getByTestId("test-section");
194
196
 
195
197
  expect(section).toHaveClass("section");
196
- expect(section).toHaveClass("bg-orange");
198
+ expect(section).toHaveClass("background-accent1-blog");
199
+ });
200
+
201
+ it("applies correct color class for background-accent2-blog color", () => {
202
+ const { getByTestId } = render(
203
+ <Section data-testid="test-section" color="background-accent2-blog" />,
204
+ );
205
+ const section = getByTestId("test-section");
206
+
207
+ expect(section).toHaveClass("section");
208
+ expect(section).toHaveClass("background-accent2-blog");
209
+ });
210
+
211
+ it("applies correct color class for accent1-blog color", () => {
212
+ const { getByTestId } = render(
213
+ <Section data-testid="test-section" color="accent1-blog" />,
214
+ );
215
+ const section = getByTestId("test-section");
216
+
217
+ expect(section).toHaveClass("section");
218
+ expect(section).toHaveClass("accent1-blog");
219
+ });
220
+
221
+ it("applies correct color class for accent2-blog color", () => {
222
+ const { getByTestId } = render(
223
+ <Section data-testid="test-section" color="accent2-blog" />,
224
+ );
225
+ const section = getByTestId("test-section");
226
+
227
+ expect(section).toHaveClass("section");
228
+ expect(section).toHaveClass("accent2-blog");
197
229
  });
198
230
 
199
231
  it("handles all color variants correctly", () => {
200
- const colors = ["white", "gray", "black", "orange"];
232
+ const colors = [
233
+ "background-secondary",
234
+ "background-contrast",
235
+ "background-accent",
236
+ "background-accent1-blog",
237
+ "background-accent2-blog",
238
+ "background-none",
239
+ "surface-subtle",
240
+ "accent1-blog",
241
+ "accent2-blog",
242
+ ];
201
243
 
202
244
  colors.forEach((color, index) => {
203
245
  const { getByTestId } = render(
@@ -207,10 +249,11 @@ describe("Section Component Unit Tests", () => {
207
249
 
208
250
  expect(section).toHaveClass("section");
209
251
 
210
- if (color === "white") {
211
- expect(section).not.toHaveClass("bg-white");
252
+ if (color === "background-contrast") {
253
+ expect(section).toHaveClass("background-contrast");
254
+ expect(section).toHaveClass("text-inverse");
212
255
  } else {
213
- expect(section).toHaveClass(`bg-${color}`);
256
+ expect(section).toHaveClass(color);
214
257
  }
215
258
  });
216
259
  });
@@ -473,12 +516,16 @@ describe("Section Component Unit Tests", () => {
473
516
  describe("Props Combinations", () => {
474
517
  it("combines color and spacing props correctly", () => {
475
518
  const { getByTestId } = render(
476
- <Section data-testid="test-section" color="gray" spacing="small" />,
519
+ <Section
520
+ data-testid="test-section"
521
+ color="background-secondary"
522
+ spacing="small"
523
+ />,
477
524
  );
478
525
  const section = getByTestId("test-section");
479
526
 
480
527
  expect(section).toHaveClass("section");
481
- expect(section).toHaveClass("bg-gray");
528
+ expect(section).toHaveClass("background-secondary");
482
529
  expect(section).toHaveClass("section--small");
483
530
  });
484
531
 
@@ -486,7 +533,7 @@ describe("Section Component Unit Tests", () => {
486
533
  const { getByTestId } = render(
487
534
  <Section
488
535
  data-testid="test-section"
489
- color="black"
536
+ color="background-contrast"
490
537
  spacing="xsmall"
491
538
  tag="article"
492
539
  />,
@@ -495,7 +542,8 @@ describe("Section Component Unit Tests", () => {
495
542
 
496
543
  expect(section.tagName.toLowerCase()).toBe("article");
497
544
  expect(section).toHaveClass("section");
498
- expect(section).toHaveClass("bg-black");
545
+ expect(section).toHaveClass("background-contrast");
546
+ expect(section).toHaveClass("text-inverse");
499
547
  expect(section).toHaveClass("section--xsmall");
500
548
  });
501
549
 
@@ -503,7 +551,7 @@ describe("Section Component Unit Tests", () => {
503
551
  const { getByTestId } = render(
504
552
  <Section
505
553
  data-testid="test-section"
506
- color="orange"
554
+ color="background-accent"
507
555
  spacing="default"
508
556
  tag="main"
509
557
  className="custom-class"
@@ -515,7 +563,7 @@ describe("Section Component Unit Tests", () => {
515
563
 
516
564
  expect(section.tagName.toLowerCase()).toBe("main");
517
565
  expect(section).toHaveClass("section");
518
- expect(section).toHaveClass("bg-orange");
566
+ expect(section).toHaveClass("background-accent");
519
567
  expect(section).toHaveClass("section--default");
520
568
  expect(section).toHaveClass("custom-class");
521
569
  expect(screen.getByText("Content")).toBeInTheDocument();
@@ -589,7 +637,7 @@ describe("Section Component Unit Tests", () => {
589
637
  const section = getByTestId("test-section");
590
638
 
591
639
  expect(section).toHaveClass("section");
592
- expect(section).toHaveClass("bg-invalid-color");
640
+ expect(section).toHaveClass("invalid-color");
593
641
  });
594
642
 
595
643
  it("handles invalid spacing prop gracefully", () => {
@@ -12,6 +12,7 @@ export const colors = [
12
12
  "info",
13
13
  "warning",
14
14
  "danger",
15
+ "transparent",
15
16
  ] as const;
16
17
 
17
18
  export type TagColor = (typeof colors)[number];
@@ -20,6 +21,7 @@ export type TagSize = "small" | "large";
20
21
  interface CommonProps {
21
22
  color?: TagColor;
22
23
  size?: TagSize;
24
+ /** @deprecated */
23
25
  isInverse?: boolean;
24
26
  isDisabled?: boolean;
25
27
  className?: string;
@@ -30,14 +32,22 @@ interface CommonProps {
30
32
  type SpanProps = CommonProps &
31
33
  Omit<React.HTMLAttributes<HTMLSpanElement>, keyof CommonProps> & {
32
34
  onClick?: undefined;
35
+ href?: undefined;
33
36
  };
34
37
 
35
38
  type ButtonProps = CommonProps &
36
39
  Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof CommonProps> & {
37
40
  onClick: React.MouseEventHandler<HTMLButtonElement>;
41
+ href?: undefined;
38
42
  };
39
43
 
40
- type TagProps = SpanProps | ButtonProps;
44
+ type AnchorProps = CommonProps &
45
+ Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof CommonProps> & {
46
+ href: string;
47
+ onClick?: undefined;
48
+ };
49
+
50
+ type TagProps = SpanProps | ButtonProps | AnchorProps;
41
51
 
42
52
  export const CLASS_ROOT = "tag";
43
53
 
@@ -45,7 +55,6 @@ const Tag = React.forwardRef<HTMLElement, TagProps>((props, ref) => {
45
55
  const {
46
56
  color,
47
57
  size,
48
- isInverse,
49
58
  isDisabled,
50
59
  className,
51
60
  children,
@@ -54,7 +63,6 @@ const Tag = React.forwardRef<HTMLElement, TagProps>((props, ref) => {
54
63
  } = props;
55
64
 
56
65
  const classes = cx(CLASS_ROOT, className, {
57
- "tag--inverse": isInverse,
58
66
  [`tag--${color}`]: color,
59
67
  [`tag--${size}`]: size,
60
68
  });
@@ -77,6 +85,22 @@ const Tag = React.forwardRef<HTMLElement, TagProps>((props, ref) => {
77
85
  );
78
86
  }
79
87
 
88
+ if ("href" in props && props.href) {
89
+ const { href, ...anchorProps } =
90
+ other as React.AnchorHTMLAttributes<HTMLAnchorElement>;
91
+ return (
92
+ <a
93
+ className={classes}
94
+ href={href}
95
+ aria-disabled={isDisabled ? "true" : undefined}
96
+ ref={ref as React.Ref<HTMLAnchorElement>}
97
+ {...anchorProps}
98
+ >
99
+ {children}
100
+ </a>
101
+ );
102
+ }
103
+
80
104
  if ("actionButton" in props && actionButton) {
81
105
  const spanProps = other as Omit<
82
106
  React.HTMLAttributes<HTMLDivElement>,
@@ -84,6 +84,11 @@ $colors: (
84
84
  background-color: map.get(color.$colors-light, icon-warning),
85
85
  color: color.$black,
86
86
  ),
87
+ "transparent": (
88
+ background-color: transparent,
89
+ color: var(--color-text-default),
90
+ border: 1px solid var(--color-border-strong),
91
+ ),
87
92
  );
88
93
 
89
94
  $states: (
@@ -107,6 +112,32 @@ $states: (
107
112
  ),
108
113
  );
109
114
 
115
+ $states-transparent-color: (
116
+ default: (
117
+ background-color: transparent,
118
+ color: var(--color-text-default),
119
+ ),
120
+ hover: (
121
+ border-color: var(--color-fill-secondary),
122
+ ),
123
+ active: (
124
+ color: var(--color-text-inverse),
125
+ background-color: var(--color-fill-secondary),
126
+ border-color: var(--color-fill-secondary),
127
+ ),
128
+ focus: (
129
+ background-color: transparent,
130
+ color: var(--color-text-default),
131
+ outline: 2px solid var(--color-background-contrast) "!important",
132
+ border-color: transparent,
133
+ ),
134
+ disabled: (
135
+ color: var(--color-text-disabled),
136
+ background-color: transparent,
137
+ border-color: var(--color-border-strong),
138
+ ),
139
+ );
140
+
110
141
  $icon-states: (
111
142
  default: (
112
143
  color: var(--color-text-default),
@@ -18,6 +18,10 @@
18
18
  background-color: map.get($props, background-color);
19
19
  }
20
20
 
21
+ @mixin color-transparent() {
22
+ border: 1px solid var(--color-border-strong);
23
+ }
24
+
21
25
  @mixin buttton-disabled($is-icon: false) {
22
26
  $config: if($is-icon, config.$icon-states, config.$states);
23
27
 
@@ -28,13 +32,16 @@
28
32
  }
29
33
  }
30
34
 
35
+ @mixin button-base {
36
+ cursor: pointer;
37
+ outline-offset: 2px;
38
+ }
39
+
31
40
  @mixin button($is-icon: false) {
32
41
  $config: if($is-icon, config.$icon-states, config.$states);
33
42
 
34
43
  @include generate.css-map($config, "default");
35
-
36
- cursor: pointer;
37
- outline-offset: 2px;
44
+ @include button-base;
38
45
 
39
46
  @media (hover: hover) {
40
47
  &:hover {
@@ -52,3 +59,32 @@
52
59
  z-index: 2;
53
60
  }
54
61
  }
62
+
63
+ @mixin button-transparent() {
64
+ @include generate.css-map(config.$states-transparent-color, "default");
65
+ @include button-base;
66
+
67
+ @media (hover: hover) {
68
+ &:hover {
69
+ @include generate.css-map(config.$states-transparent-color, "hover");
70
+ }
71
+ }
72
+
73
+ &:focus-visible {
74
+ @include generate.css-map(config.$states-transparent-color, "focus");
75
+ }
76
+
77
+ &:active,
78
+ &.is-active {
79
+ @include generate.css-map(config.$states-transparent-color, "active");
80
+ z-index: 2;
81
+ }
82
+ }
83
+
84
+ @mixin button-transparent-disabled() {
85
+ &[aria-disabled="true"],
86
+ &[disabled] {
87
+ @include generate.css-map(config.$states-transparent-color, "disabled");
88
+ cursor: not-allowed;
89
+ }
90
+ }
@@ -20,12 +20,38 @@
20
20
  }
21
21
  }
22
22
 
23
- &:where(button) {
23
+ // Transparent class is a special variant of color, it's not possible to make transparent variant for each color at the moment.
24
+ &--transparent {
25
+ @include mixins.color-transparent();
26
+
27
+ &:where(button) {
28
+ @include mixins.button-transparent();
29
+ z-index: 2;
30
+ }
31
+
32
+ &:where(a) {
33
+ @include mixins.button-transparent();
34
+ z-index: 2;
35
+ text-decoration: none;
36
+ }
37
+
38
+ @include mixins.button-transparent-disabled();
39
+ }
40
+
41
+ &:not(&--transparent):where(button) {
42
+ @include mixins.button();
43
+ z-index: 2;
44
+ }
45
+
46
+ &:not(&--transparent):where(a) {
24
47
  @include mixins.button();
25
48
  z-index: 2;
49
+ text-decoration: none;
26
50
  }
27
51
 
28
- @include mixins.buttton-disabled();
52
+ &:not(&--transparent) {
53
+ @include mixins.buttton-disabled();
54
+ }
29
55
 
30
56
  &__wrapper {
31
57
  position: relative;
@@ -30,12 +30,30 @@ const example = (
30
30
  >
31
31
  Large with action button
32
32
  </Tag>
33
+
34
+ <Tag onClick={() => {}}>Clickable tag</Tag>
35
+
36
+ <Tag onClick={() => {}} isDisabled>
37
+ Disabled clickable tag
38
+ </Tag>
39
+
40
+ <Tag href="/test">Link tag</Tag>
41
+
42
+ <Tag href="https://example.com" target="_blank" rel="noopener">
43
+ External link tag
44
+ </Tag>
45
+
46
+ <Tag href="/test" isDisabled>
47
+ Disabled link tag
48
+ </Tag>
33
49
  </>
34
50
  );
35
51
 
36
52
  it("is valid html", () => {
37
53
  const { container } = render(example);
38
- expect(container).toHTMLValidate();
54
+ expect(container).toHTMLValidate({
55
+ rules: { "attribute-boolean-style": "off" },
56
+ });
39
57
  });
40
58
 
41
59
  it("is accessible", async () => {
@@ -55,6 +55,99 @@ describe("rendering", () => {
55
55
  });
56
56
  });
57
57
 
58
+ describe("interactive functionality", () => {
59
+ describe("onClick prop", () => {
60
+ it("renders as button when onClick is provided", () => {
61
+ const handleClick = jest.fn();
62
+ const { getByRole } = render(
63
+ <Tag onClick={handleClick}>Clickable Tag</Tag>,
64
+ );
65
+ expect(getByRole("button")).toBeInTheDocument();
66
+ expect(getByRole("button")).toHaveClass("tag");
67
+ });
68
+
69
+ it("calls onClick when clicked", () => {
70
+ const handleClick = jest.fn();
71
+ const { getByRole } = render(
72
+ <Tag onClick={handleClick}>Clickable Tag</Tag>,
73
+ );
74
+ getByRole("button").click();
75
+ expect(handleClick).toHaveBeenCalledTimes(1);
76
+ });
77
+
78
+ it("does not call onClick when disabled", () => {
79
+ const handleClick = jest.fn();
80
+ const { getByRole } = render(
81
+ <Tag onClick={handleClick} isDisabled>
82
+ Disabled Clickable Tag
83
+ </Tag>,
84
+ );
85
+ expect(getByRole("button")).toBeDisabled();
86
+ expect(getByRole("button")).toHaveAttribute("aria-disabled", "true");
87
+ });
88
+
89
+ it("has button type set to 'button'", () => {
90
+ const handleClick = jest.fn();
91
+ const { getByRole } = render(
92
+ <Tag onClick={handleClick}>Clickable Tag</Tag>,
93
+ );
94
+ expect(getByRole("button")).toHaveAttribute("type", "button");
95
+ });
96
+ });
97
+
98
+ describe("href prop", () => {
99
+ it("renders as anchor when href is provided", () => {
100
+ const { getByRole } = render(<Tag href="/test">Link Tag</Tag>);
101
+ expect(getByRole("link")).toBeInTheDocument();
102
+ expect(getByRole("link")).toHaveClass("tag");
103
+ });
104
+
105
+ it("sets href attribute correctly", () => {
106
+ const { getByRole } = render(<Tag href="/test-url">Link Tag</Tag>);
107
+ expect(getByRole("link")).toHaveAttribute("href", "/test-url");
108
+ });
109
+
110
+ it("supports external links with target attribute", () => {
111
+ const { getByRole } = render(
112
+ <Tag href="https://example.com" target="_blank">
113
+ External Link
114
+ </Tag>,
115
+ );
116
+ expect(getByRole("link")).toHaveAttribute(
117
+ "href",
118
+ "https://example.com",
119
+ );
120
+ expect(getByRole("link")).toHaveAttribute("target", "_blank");
121
+ });
122
+
123
+ it("sets aria-disabled when isDisabled is true", () => {
124
+ const { getByRole } = render(
125
+ <Tag href="/test" isDisabled>
126
+ Disabled Link Tag
127
+ </Tag>,
128
+ );
129
+ expect(getByRole("link")).toHaveAttribute("aria-disabled", "true");
130
+ });
131
+
132
+ it("supports other anchor attributes", () => {
133
+ const { getByRole } = render(
134
+ <Tag href="/test" rel="noopener" title="Test link">
135
+ Link with attributes
136
+ </Tag>,
137
+ );
138
+ expect(getByRole("link")).toHaveAttribute("rel", "noopener");
139
+ expect(getByRole("link")).toHaveAttribute("title", "Test link");
140
+ });
141
+ });
142
+
143
+ describe("default rendering", () => {
144
+ it("renders as span when neither onClick nor href is provided", () => {
145
+ const { getByText } = render(<Tag>Default Tag</Tag>);
146
+ expect(getByText("Default Tag").tagName).toBe("SPAN");
147
+ });
148
+ });
149
+ });
150
+
58
151
  describe("action button", () => {
59
152
  it("renders with action button", () => {
60
153
  const { getByRole } = render(
@@ -19,7 +19,7 @@
19
19
  left: 0;
20
20
  right: 0;
21
21
  bottom: 0;
22
- border: 1px solid var(--color-border-subtle);
22
+ border: 1px solid var(--color-border-strong);
23
23
  border-radius: inherit;
24
24
  pointer-events: none;
25
25
  }