@orangesk/orange-design-system 2.0.0-beta.1 → 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 (569) 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 +2 -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/index.d.ts +1 -0
  47. package/build/components/types/src/components/Pagination/Pagination.d.ts +2 -3
  48. package/build/components/types/src/components/Pill/Pill.d.ts +4 -1
  49. package/build/components/types/src/components/Preview/PreviewGenerator.d.ts +1 -1
  50. package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +9 -5
  51. package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +2 -2
  52. package/build/components/types/src/components/Section/Section.d.ts +4 -1
  53. package/build/components/types/src/components/Tag/Tag.d.ts +9 -2
  54. package/build/components/types/src/components/index.d.ts +3 -5
  55. package/build/components/types/src/scripts/index.d.ts +10 -0
  56. package/build/lib/after-components.css +1 -1
  57. package/build/lib/after-components.css.map +1 -1
  58. package/build/lib/before-components.css +1 -1
  59. package/build/lib/before-components.css.map +1 -1
  60. package/build/lib/components.css +1 -1
  61. package/build/lib/components.css.map +1 -1
  62. package/build/lib/footer.css +2 -0
  63. package/build/lib/footer.css.map +1 -0
  64. package/build/lib/megamenu.css +2 -0
  65. package/build/lib/megamenu.css.map +1 -0
  66. package/build/lib/megamenu.js +2 -0
  67. package/build/lib/megamenu.js.map +1 -0
  68. package/build/lib/scripts.css +1 -1
  69. package/build/lib/scripts.css.map +1 -1
  70. package/build/lib/scripts.js +5 -5
  71. package/build/lib/scripts.js.map +1 -1
  72. package/build/lib/style.css +1 -1
  73. package/build/lib/style.css.map +1 -1
  74. package/build/lib/tsconfig.tsbuildinfo +1 -1
  75. package/build/logo-line.svg +5 -0
  76. package/build/sprite.svg +1 -1
  77. package/package.json +35 -29
  78. package/src/assets/icons/ai.svg +6 -0
  79. package/src/assets/icons/article.svg +7 -0
  80. package/src/assets/icons/pictogram-activation--dark.svg +10 -11
  81. package/src/assets/icons/pictogram-activation-free--dark.svg +4 -5
  82. package/src/assets/icons/pictogram-activation-free.svg +4 -5
  83. package/src/assets/icons/pictogram-activation.svg +10 -11
  84. package/src/assets/icons/pictogram-archive--dark.svg +3 -4
  85. package/src/assets/icons/pictogram-archive.svg +3 -4
  86. package/src/assets/icons/pictogram-calling-minutes--dark.svg +3 -4
  87. package/src/assets/icons/pictogram-calling-minutes.svg +3 -4
  88. package/src/assets/icons/pictogram-canal-plus--dark.svg +3 -4
  89. package/src/assets/icons/pictogram-canal-plus.svg +3 -4
  90. package/src/assets/icons/pictogram-competition-tickets--dark.svg +11 -12
  91. package/src/assets/icons/pictogram-competition-tickets.svg +11 -12
  92. package/src/assets/icons/pictogram-device-discount--dark.svg +7 -6
  93. package/src/assets/icons/pictogram-device-discount.svg +5 -6
  94. package/src/assets/icons/pictogram-discount-general--dark.svg +5 -6
  95. package/src/assets/icons/pictogram-discount-general.svg +5 -6
  96. package/src/assets/icons/pictogram-discount-price--dark.svg +5 -6
  97. package/src/assets/icons/pictogram-discount-price.svg +5 -6
  98. package/src/assets/icons/pictogram-extra-data--dark.svg +6 -7
  99. package/src/assets/icons/pictogram-extra-data.svg +6 -7
  100. package/src/assets/icons/pictogram-free-payment--dark.svg +5 -6
  101. package/src/assets/icons/pictogram-free-payment.svg +3 -6
  102. package/src/assets/icons/pictogram-gift--dark.svg +12 -13
  103. package/src/assets/icons/pictogram-gift-one-benefit--dark.svg +7 -8
  104. package/src/assets/icons/pictogram-gift-one-benefit.svg +7 -8
  105. package/src/assets/icons/pictogram-gift-two-benefits--dark.svg +8 -9
  106. package/src/assets/icons/pictogram-gift-two-benefits.svg +8 -9
  107. package/src/assets/icons/pictogram-gift.svg +3 -4
  108. package/src/assets/icons/pictogram-hbo-max--dark.svg +5 -6
  109. package/src/assets/icons/pictogram-hbo-max.svg +5 -6
  110. package/src/assets/icons/pictogram-infinite-sms--dark.svg +3 -4
  111. package/src/assets/icons/pictogram-infinite-sms.svg +3 -4
  112. package/src/assets/icons/pictogram-installation--dark.svg +4 -5
  113. package/src/assets/icons/pictogram-installation-free--dark.svg +4 -5
  114. package/src/assets/icons/pictogram-installation-free.svg +4 -5
  115. package/src/assets/icons/pictogram-installation.svg +4 -5
  116. package/src/assets/icons/pictogram-max--dark.svg +3 -4
  117. package/src/assets/icons/pictogram-max-canal-plus--dark.svg +5 -6
  118. package/src/assets/icons/pictogram-max-canal-plus.svg +5 -6
  119. package/src/assets/icons/pictogram-max.svg +3 -4
  120. package/src/assets/icons/pictogram-moj-orange-app--dark.svg +3 -4
  121. package/src/assets/icons/pictogram-moj-orange-app.svg +3 -4
  122. package/src/assets/icons/pictogram-movie-storage--dark.svg +4 -5
  123. package/src/assets/icons/pictogram-movie-storage.svg +4 -5
  124. package/src/assets/icons/pictogram-online-protection--dark.svg +3 -4
  125. package/src/assets/icons/pictogram-online-protection.svg +3 -4
  126. package/src/assets/icons/pictogram-random-damage--dark.svg +4 -8
  127. package/src/assets/icons/pictogram-random-damage.svg +4 -8
  128. package/src/assets/icons/pictogram-recycling--dark.svg +7 -8
  129. package/src/assets/icons/pictogram-recycling.svg +14 -15
  130. package/src/assets/icons/pictogram-repair--dark.svg +12 -13
  131. package/src/assets/icons/pictogram-repair.svg +12 -13
  132. package/src/assets/icons/pictogram-roaming--dark.svg +3 -4
  133. package/src/assets/icons/pictogram-roaming-discount--dark.svg +3 -16
  134. package/src/assets/icons/pictogram-roaming-discount.svg +15 -16
  135. package/src/assets/icons/pictogram-roaming.svg +3 -4
  136. package/src/assets/icons/pictogram-skylink--dark.svg +10 -11
  137. package/src/assets/icons/pictogram-skylink-live-tv--dark.svg +7 -8
  138. package/src/assets/icons/pictogram-skylink-live-tv.svg +7 -8
  139. package/src/assets/icons/pictogram-skylink.svg +10 -11
  140. package/src/assets/icons/pictogram-sms--dark.svg +5 -6
  141. package/src/assets/icons/pictogram-sms.svg +5 -6
  142. package/src/assets/icons/pictogram-theft--dark.svg +3 -7
  143. package/src/assets/icons/pictogram-theft.svg +3 -7
  144. package/src/assets/icons/pictogram-three-devices--dark.svg +4 -8
  145. package/src/assets/icons/pictogram-three-devices.svg +4 -8
  146. package/src/assets/icons/pictogram-trust--dark.svg +3 -4
  147. package/src/assets/icons/pictogram-trust.svg +3 -4
  148. package/src/assets/icons/pictogram-water-damage--dark.svg +5 -6
  149. package/src/assets/icons/pictogram-water-damage.svg +5 -6
  150. package/src/components/Accordion/Accordion.tsx +4 -0
  151. package/src/components/Accordion/AccordionHeader.tsx +9 -2
  152. package/src/components/Accordion/AccordionItem.tsx +5 -2
  153. package/src/components/Accordion/styles/config.scss +4 -4
  154. package/src/components/Accordion/styles/mixins.scss +9 -3
  155. package/src/components/Accordion/styles/style.scss +4 -0
  156. package/src/components/Accordion/tests/Accordion.unit.test.js +11 -0
  157. package/src/components/AnchorNavigation/AnchorNavigation.static.ts +253 -73
  158. package/src/components/AnchorNavigation/AnchorNavigation.tsx +20 -16
  159. package/src/components/AnchorNavigation/index.tsx +0 -2
  160. package/src/components/AnchorNavigation/styles/mixins.scss +14 -27
  161. package/src/components/AnchorNavigation/tests/AnchorNavigation.conformance.test.js +67 -0
  162. package/src/components/AnchorNavigation/tests/AnchorNavigation.unit.test.js +163 -0
  163. package/src/components/Bar/styles/config.scss +4 -5
  164. package/src/components/BlockAction/index.tsx +0 -2
  165. package/src/components/BlockAction/styles/mixins.scss +0 -6
  166. package/src/components/BodyBanner/index.tsx +0 -2
  167. package/src/components/Breadcrumbs/styles/mixins.scss +2 -4
  168. package/src/components/Button/Button.tsx +2 -2
  169. package/src/components/Button/index.tsx +0 -2
  170. package/src/components/Button/styles/config.scss +1 -1
  171. package/src/components/Button/styles/mixins.scss +5 -0
  172. package/src/components/Button/styles/style.scss +4 -0
  173. package/src/components/Card/Card.tsx +20 -8
  174. package/src/components/Card/CardSection.tsx +7 -11
  175. package/src/components/Card/styles/config.scss +1 -1
  176. package/src/components/Card/styles/mixins.scss +8 -6
  177. package/src/components/Card/styles/style.scss +4 -0
  178. package/src/components/Card/tests/Card.unit.test.js +45 -11
  179. package/src/components/Card/tests/CardSection.unit.test.js +36 -3
  180. package/src/components/Carousel/Carousel.static.ts +67 -1
  181. package/src/components/Carousel/Carousel.tsx +41 -19
  182. package/src/components/Carousel/constants.ts +2 -0
  183. package/src/components/Carousel/styles/config.scss +1 -2
  184. package/src/components/Carousel/styles/mixins.scss +35 -2
  185. package/src/components/Carousel/styles/style.scss +8 -0
  186. package/src/components/CarouselHero/CarouselHero.static.ts +528 -0
  187. package/src/components/CarouselHero/CarouselHero.tsx +147 -0
  188. package/src/components/CarouselHero/CarouselHeroItem.tsx +40 -0
  189. package/src/components/CarouselHero/constants.ts +36 -0
  190. package/src/components/CarouselHero/index.ts +2 -0
  191. package/src/components/CarouselHero/styles/config.scss +54 -0
  192. package/src/components/CarouselHero/styles/mixins.scss +278 -0
  193. package/src/components/CarouselHero/styles/style.scss +63 -0
  194. package/src/components/CarouselHero/tests/CarouselHero.conformance.test.js +130 -0
  195. package/src/components/CarouselHero/tests/CarouselHero.unit.test.js +346 -0
  196. package/src/components/CarouselHero/tests/CarouselHeroItem.conformance.test.js +135 -0
  197. package/src/components/CarouselHero/tests/CarouselHeroItem.unit.test.js +143 -0
  198. package/src/components/CarouselPromotions/styles/mixins.scss +10 -3
  199. package/src/components/CartTable/FooterPriceColumn.tsx +5 -3
  200. package/src/components/CartTable/Price.tsx +1 -1
  201. package/src/components/Controls/styles/config.scss +2 -2
  202. package/src/components/Controls/tests/Controls.test.js +0 -9
  203. package/src/components/Cover/index.ts +1 -2
  204. package/src/components/Divider/Divider.tsx +2 -16
  205. package/src/components/Divider/styles/config.scss +0 -17
  206. package/src/components/Divider/styles/mixins.scss +8 -10
  207. package/src/components/Divider/styles/style.scss +2 -16
  208. package/src/components/Divider/tests/Divider.conformance.test.js +1 -1
  209. package/src/components/Divider/tests/Divider.unit.test.js +0 -17
  210. package/src/components/Dropdown/styles/mixins.scss +1 -1
  211. package/src/components/Expander/Expander.tsx +4 -2
  212. package/src/components/Expander/styles/style.scss +7 -0
  213. package/src/components/Footer/Footer.tsx +86 -70
  214. package/src/components/Footer/constants.ts +10 -0
  215. package/src/components/Footer/styles/config.scss +1 -0
  216. package/src/components/Footer/styles/mixins.scss +172 -0
  217. package/src/components/Footer/styles/style.scss +48 -0
  218. package/src/components/Footer/tests/Footer.conformance.test.js +133 -8
  219. package/src/components/Footer/tests/Footer.unit.test.js +71 -6
  220. package/src/components/Forms/DatePicker/styles/style.scss +1 -1
  221. package/src/components/Forms/File/styles/mixins.scss +1 -1
  222. package/src/components/Forms/InputStepper/styles/style.scss +0 -66
  223. package/src/components/Forms/RangeSlider/styles/mixins.scss +1 -1
  224. package/src/components/Forms/Select/index.tsx +0 -2
  225. package/src/components/Forms/TextInput/styles/config.scss +1 -1
  226. package/src/components/Forms/styles/config.scss +3 -3
  227. package/src/components/Icon/iconSearchTags.ts +434 -432
  228. package/src/components/Icon/styles/style.scss +15 -0
  229. package/src/components/Icon/tests/Pictogram.unit.test.js +38 -0
  230. package/src/components/IconList/index.ts +2 -3
  231. package/src/components/Link/styles/style.scss +6 -2
  232. package/src/components/Link/tests/Link.conformance.test.js +5 -20
  233. package/src/components/Link/tests/Link.unit.test.js +1 -10
  234. package/src/components/List/index.ts +2 -3
  235. package/src/components/Loader/Loader.tsx +2 -10
  236. package/src/components/Loader/styles/mixins.scss +1 -1
  237. package/src/components/Loader/styles/style.scss +6 -4
  238. package/src/components/Megamenu/MegaMenuIcon.tsx +48 -0
  239. package/src/components/Megamenu/Megamenu.static.ts +600 -0
  240. package/src/components/Megamenu/Megamenu.tsx +799 -356
  241. package/src/components/Megamenu/MegamenuBlog.tsx +309 -0
  242. package/src/components/Megamenu/constants.ts +56 -0
  243. package/src/components/Megamenu/index.ts +2 -5
  244. package/src/components/Megamenu/static.ts +73 -0
  245. package/src/components/Megamenu/styles/config.scss +2 -15
  246. package/src/components/Megamenu/styles/mixins.scss +647 -209
  247. package/src/components/Megamenu/styles/style.scss +173 -61
  248. package/src/components/Modal/Modal.tsx +9 -1
  249. package/src/components/Modal/ModalBody.tsx +29 -14
  250. package/src/components/Modal/ModalProductBody.tsx +52 -0
  251. package/src/components/Modal/index.ts +1 -0
  252. package/src/components/Modal/styles/mixins.scss +62 -5
  253. package/src/components/Modal/styles/style.scss +16 -0
  254. package/src/components/Modal/tests/Modal.unit.test.js +37 -0
  255. package/src/components/Modal/tests/ModalBody.unit.test.js +28 -12
  256. package/src/components/Pagination/Pagination.tsx +2 -2
  257. package/src/components/Pill/Pill.tsx +8 -3
  258. package/src/components/Pill/styles/config.scss +22 -2
  259. package/src/components/Pill/styles/style.scss +7 -3
  260. package/src/components/Pill/tests/Pill.conformance.test.js +7 -3
  261. package/src/components/Pill/tests/Pill.unit.test.js +45 -7
  262. package/src/components/Preview/PreviewGenerator.tsx +78 -34
  263. package/src/components/PromoBanner/PromoBanner.tsx +52 -34
  264. package/src/components/PromoBanner/styles/mixins.scss +37 -20
  265. package/src/components/PromoBanner/styles/style.scss +5 -11
  266. package/src/components/PromoBanner/tests/PromoBanner.conformance.test.js +781 -0
  267. package/src/components/PromoBanner/tests/PromoBanner.unit.test.js +529 -0
  268. package/src/components/PromotionCard/PromotionCard.tsx +13 -12
  269. package/src/components/PromotionCard/tests/PromotionCard.conformance.test.js +567 -0
  270. package/src/components/PromotionCard/tests/PromotionCard.unit.test.js +500 -0
  271. package/src/components/Section/Section.tsx +20 -10
  272. package/src/components/Section/styles/config.scss +18 -16
  273. package/src/components/Section/styles/mixins.scss +16 -13
  274. package/src/components/Section/styles/style.scss +1 -0
  275. package/src/components/Section/tests/Section.conformance.test.js +23 -12
  276. package/src/components/Section/tests/Section.unit.test.js +53 -32
  277. package/src/components/Tag/Tag.tsx +27 -3
  278. package/src/components/Tag/styles/config.scss +31 -0
  279. package/src/components/Tag/styles/mixins.scss +39 -3
  280. package/src/components/Tag/styles/style.scss +28 -2
  281. package/src/components/Tag/tests/Tag.conformance.test.js +19 -1
  282. package/src/components/Tag/tests/Tag.unit.test.js +93 -0
  283. package/src/components/Tile/styles/style.scss +1 -1
  284. package/src/components/index.ts +5 -6
  285. package/src/styles/base/globals.scss +19 -0
  286. package/src/styles/base/styleguide.scss +17 -17
  287. package/src/styles/export/base.js +2 -2
  288. package/src/styles/export/color.js +2 -2
  289. package/src/styles/shame.scss +2 -1
  290. package/src/styles/tokens/base.scss +1 -1
  291. package/src/styles/tokens/color.scss +8 -8
  292. package/src/styles/typography/mixins.scss +3 -2
  293. package/src/styles/utilities/border.scss +1 -1
  294. package/src/styles/utilities/color.scss +99 -20
  295. package/src/styles/utilities/index.scss +1 -0
  296. package/src/styles/utilities/layout.scss +9 -0
  297. package/src/styles/utilities/ordering.scss +44 -0
  298. package/build/components/Accordion/index.js +0 -16
  299. package/build/components/Accordion/index.js.map +0 -1
  300. package/build/components/Accordion/tsconfig.tsbuildinfo +0 -1
  301. package/build/components/Alert/index.js +0 -16
  302. package/build/components/Alert/index.js.map +0 -1
  303. package/build/components/Alert/tsconfig.tsbuildinfo +0 -1
  304. package/build/components/AnchorNavigation/index.js +0 -16
  305. package/build/components/AnchorNavigation/index.js.map +0 -1
  306. package/build/components/AnchorNavigation/style.css +0 -2
  307. package/build/components/AnchorNavigation/style.css.map +0 -1
  308. package/build/components/AnchorNavigation/tsconfig.tsbuildinfo +0 -1
  309. package/build/components/Bar/index.js +0 -16
  310. package/build/components/Bar/index.js.map +0 -1
  311. package/build/components/Bar/tsconfig.tsbuildinfo +0 -1
  312. package/build/components/BlockAction/index.js +0 -16
  313. package/build/components/BlockAction/index.js.map +0 -1
  314. package/build/components/BlockAction/style.css +0 -2
  315. package/build/components/BlockAction/style.css.map +0 -1
  316. package/build/components/BlockAction/tsconfig.tsbuildinfo +0 -1
  317. package/build/components/BodyBanner/index.js +0 -16
  318. package/build/components/BodyBanner/index.js.map +0 -1
  319. package/build/components/BodyBanner/style.css +0 -2
  320. package/build/components/BodyBanner/style.css.map +0 -1
  321. package/build/components/BodyBanner/tsconfig.tsbuildinfo +0 -1
  322. package/build/components/Breadcrumbs/index.js +0 -16
  323. package/build/components/Breadcrumbs/index.js.map +0 -1
  324. package/build/components/Breadcrumbs/tsconfig.tsbuildinfo +0 -1
  325. package/build/components/Button/index.js +0 -16
  326. package/build/components/Button/index.js.map +0 -1
  327. package/build/components/Button/style.css +0 -2
  328. package/build/components/Button/style.css.map +0 -1
  329. package/build/components/Button/tsconfig.tsbuildinfo +0 -1
  330. package/build/components/Buttons/index.js +0 -16
  331. package/build/components/Buttons/index.js.map +0 -1
  332. package/build/components/Buttons/tsconfig.tsbuildinfo +0 -1
  333. package/build/components/Card/index.js +0 -16
  334. package/build/components/Card/index.js.map +0 -1
  335. package/build/components/Card/tsconfig.tsbuildinfo +0 -1
  336. package/build/components/Carousel/index.js +0 -16
  337. package/build/components/Carousel/index.js.map +0 -1
  338. package/build/components/Carousel/style.css +0 -2
  339. package/build/components/Carousel/style.css.map +0 -1
  340. package/build/components/Carousel/tsconfig.tsbuildinfo +0 -1
  341. package/build/components/CarouselPromotions/index.js +0 -16
  342. package/build/components/CarouselPromotions/index.js.map +0 -1
  343. package/build/components/CarouselPromotions/tsconfig.tsbuildinfo +0 -1
  344. package/build/components/CartTable/index.js +0 -16
  345. package/build/components/CartTable/index.js.map +0 -1
  346. package/build/components/CartTable/style.css +0 -2
  347. package/build/components/CartTable/style.css.map +0 -1
  348. package/build/components/CartTable/tsconfig.tsbuildinfo +0 -1
  349. package/build/components/Code/index.js +0 -11
  350. package/build/components/Code/index.js.map +0 -1
  351. package/build/components/Code/style.css +0 -2
  352. package/build/components/Code/style.css.map +0 -1
  353. package/build/components/Code/tsconfig.tsbuildinfo +0 -1
  354. package/build/components/Container/index.js +0 -16
  355. package/build/components/Container/index.js.map +0 -1
  356. package/build/components/Container/tsconfig.tsbuildinfo +0 -1
  357. package/build/components/Controls/index.js +0 -16
  358. package/build/components/Controls/index.js.map +0 -1
  359. package/build/components/Controls/tsconfig.tsbuildinfo +0 -1
  360. package/build/components/Cover/index.js +0 -16
  361. package/build/components/Cover/index.js.map +0 -1
  362. package/build/components/Cover/style.css +0 -2
  363. package/build/components/Cover/style.css.map +0 -1
  364. package/build/components/Cover/tsconfig.tsbuildinfo +0 -1
  365. package/build/components/Divider/index.js +0 -16
  366. package/build/components/Divider/index.js.map +0 -1
  367. package/build/components/Divider/tsconfig.tsbuildinfo +0 -1
  368. package/build/components/DocumentationSidebar/index.js +0 -16
  369. package/build/components/DocumentationSidebar/index.js.map +0 -1
  370. package/build/components/DocumentationSidebar/style.css +0 -2
  371. package/build/components/DocumentationSidebar/style.css.map +0 -1
  372. package/build/components/DocumentationSidebar/tsconfig.tsbuildinfo +0 -1
  373. package/build/components/Dropdown/index.js +0 -16
  374. package/build/components/Dropdown/index.js.map +0 -1
  375. package/build/components/Dropdown/style.css +0 -2
  376. package/build/components/Dropdown/style.css.map +0 -1
  377. package/build/components/Dropdown/tsconfig.tsbuildinfo +0 -1
  378. package/build/components/Expander/index.js +0 -16
  379. package/build/components/Expander/index.js.map +0 -1
  380. package/build/components/Expander/tsconfig.tsbuildinfo +0 -1
  381. package/build/components/FeatureAccordion/index.js +0 -16
  382. package/build/components/FeatureAccordion/index.js.map +0 -1
  383. package/build/components/FeatureAccordion/style.css +0 -2
  384. package/build/components/FeatureAccordion/style.css.map +0 -1
  385. package/build/components/FeatureAccordion/tsconfig.tsbuildinfo +0 -1
  386. package/build/components/Footer/index.js +0 -16
  387. package/build/components/Footer/index.js.map +0 -1
  388. package/build/components/Footer/style.css +0 -2
  389. package/build/components/Footer/style.css.map +0 -1
  390. package/build/components/Footer/tsconfig.tsbuildinfo +0 -1
  391. package/build/components/Forms/index.js +0 -20
  392. package/build/components/Forms/index.js.map +0 -1
  393. package/build/components/Forms/style.css +0 -2
  394. package/build/components/Forms/style.css.map +0 -1
  395. package/build/components/Forms/tsconfig.tsbuildinfo +0 -1
  396. package/build/components/Gauge/index.js +0 -16
  397. package/build/components/Gauge/index.js.map +0 -1
  398. package/build/components/Gauge/tsconfig.tsbuildinfo +0 -1
  399. package/build/components/Grid/index.js +0 -16
  400. package/build/components/Grid/index.js.map +0 -1
  401. package/build/components/Grid/style.css +0 -2
  402. package/build/components/Grid/style.css.map +0 -1
  403. package/build/components/Grid/tsconfig.tsbuildinfo +0 -1
  404. package/build/components/Hero/index.js +0 -16
  405. package/build/components/Hero/index.js.map +0 -1
  406. package/build/components/Hero/style.css +0 -2
  407. package/build/components/Hero/style.css.map +0 -1
  408. package/build/components/Hero/tsconfig.tsbuildinfo +0 -1
  409. package/build/components/Icon/index.js +0 -11
  410. package/build/components/Icon/index.js.map +0 -1
  411. package/build/components/Icon/tsconfig.tsbuildinfo +0 -1
  412. package/build/components/IconList/index.js +0 -16
  413. package/build/components/IconList/index.js.map +0 -1
  414. package/build/components/IconList/style.css +0 -2
  415. package/build/components/IconList/style.css.map +0 -1
  416. package/build/components/IconList/tsconfig.tsbuildinfo +0 -1
  417. package/build/components/Image/index.js +0 -16
  418. package/build/components/Image/index.js.map +0 -1
  419. package/build/components/Image/tsconfig.tsbuildinfo +0 -1
  420. package/build/components/Link/index.js +0 -7
  421. package/build/components/Link/index.js.map +0 -1
  422. package/build/components/Link/tsconfig.tsbuildinfo +0 -1
  423. package/build/components/List/index.js +0 -16
  424. package/build/components/List/index.js.map +0 -1
  425. package/build/components/List/style.css +0 -2
  426. package/build/components/List/style.css.map +0 -1
  427. package/build/components/List/tsconfig.tsbuildinfo +0 -1
  428. package/build/components/Loader/index.js +0 -16
  429. package/build/components/Loader/index.js.map +0 -1
  430. package/build/components/Loader/tsconfig.tsbuildinfo +0 -1
  431. package/build/components/Megamenu/index.js +0 -20
  432. package/build/components/Megamenu/index.js.map +0 -1
  433. package/build/components/Megamenu/style.css +0 -2
  434. package/build/components/Megamenu/style.css.map +0 -1
  435. package/build/components/Megamenu/tsconfig.tsbuildinfo +0 -1
  436. package/build/components/Modal/index.js +0 -20
  437. package/build/components/Modal/index.js.map +0 -1
  438. package/build/components/Modal/style.css +0 -2
  439. package/build/components/Modal/style.css.map +0 -1
  440. package/build/components/Modal/tsconfig.tsbuildinfo +0 -1
  441. package/build/components/Pagination/index.js +0 -16
  442. package/build/components/Pagination/index.js.map +0 -1
  443. package/build/components/Pagination/tsconfig.tsbuildinfo +0 -1
  444. package/build/components/Pill/index.js +0 -16
  445. package/build/components/Pill/index.js.map +0 -1
  446. package/build/components/Pill/tsconfig.tsbuildinfo +0 -1
  447. package/build/components/Preview/index.js +0 -77
  448. package/build/components/Preview/index.js.map +0 -1
  449. package/build/components/Preview/style.css +0 -2
  450. package/build/components/Preview/style.css.map +0 -1
  451. package/build/components/Preview/tsconfig.tsbuildinfo +0 -1
  452. package/build/components/Progress/index.js +0 -16
  453. package/build/components/Progress/index.js.map +0 -1
  454. package/build/components/Progress/tsconfig.tsbuildinfo +0 -1
  455. package/build/components/PromoBanner/index.js +0 -16
  456. package/build/components/PromoBanner/index.js.map +0 -1
  457. package/build/components/PromoBanner/style.css +0 -2
  458. package/build/components/PromoBanner/style.css.map +0 -1
  459. package/build/components/PromoBanner/tsconfig.tsbuildinfo +0 -1
  460. package/build/components/PromotionCard/index.js +0 -16
  461. package/build/components/PromotionCard/index.js.map +0 -1
  462. package/build/components/PromotionCard/tsconfig.tsbuildinfo +0 -1
  463. package/build/components/Section/index.js +0 -16
  464. package/build/components/Section/index.js.map +0 -1
  465. package/build/components/Section/tsconfig.tsbuildinfo +0 -1
  466. package/build/components/Skeleton/index.js +0 -16
  467. package/build/components/Skeleton/index.js.map +0 -1
  468. package/build/components/Skeleton/tsconfig.tsbuildinfo +0 -1
  469. package/build/components/SkipLink/index.js +0 -16
  470. package/build/components/SkipLink/index.js.map +0 -1
  471. package/build/components/SkipLink/tsconfig.tsbuildinfo +0 -1
  472. package/build/components/Stepbar/index.js +0 -16
  473. package/build/components/Stepbar/index.js.map +0 -1
  474. package/build/components/Stepbar/tsconfig.tsbuildinfo +0 -1
  475. package/build/components/Sticker/index.js +0 -16
  476. package/build/components/Sticker/index.js.map +0 -1
  477. package/build/components/Sticker/tsconfig.tsbuildinfo +0 -1
  478. package/build/components/Table/index.js +0 -16
  479. package/build/components/Table/index.js.map +0 -1
  480. package/build/components/Table/style.css +0 -2
  481. package/build/components/Table/style.css.map +0 -1
  482. package/build/components/Table/tsconfig.tsbuildinfo +0 -1
  483. package/build/components/Tabs/index.js +0 -16
  484. package/build/components/Tabs/index.js.map +0 -1
  485. package/build/components/Tabs/tsconfig.tsbuildinfo +0 -1
  486. package/build/components/Tag/index.js +0 -16
  487. package/build/components/Tag/index.js.map +0 -1
  488. package/build/components/Tag/tsconfig.tsbuildinfo +0 -1
  489. package/build/components/Testimonial/index.js +0 -16
  490. package/build/components/Testimonial/index.js.map +0 -1
  491. package/build/components/Testimonial/tsconfig.tsbuildinfo +0 -1
  492. package/build/components/Tile/index.js +0 -16
  493. package/build/components/Tile/index.js.map +0 -1
  494. package/build/components/Tile/tsconfig.tsbuildinfo +0 -1
  495. package/build/components/Tooltip/index.js +0 -16
  496. package/build/components/Tooltip/index.js.map +0 -1
  497. package/build/components/Tooltip/style.css +0 -2
  498. package/build/components/Tooltip/style.css.map +0 -1
  499. package/build/components/Tooltip/tsconfig.tsbuildinfo +0 -1
  500. package/build/components/static.css +0 -2
  501. package/build/components/static.css.map +0 -1
  502. package/build/components/static.js +0 -10
  503. package/build/components/static.js.map +0 -1
  504. package/build/components/types/src/components/Hero/HeroPlayground.d.ts +0 -2
  505. package/build/components/types/src/components/Megamenu/MegamenuDropdown.d.ts +0 -17
  506. package/src/components/Accordion/Accordion.mdx +0 -222
  507. package/src/components/Alert/Alert.mdx +0 -141
  508. package/src/components/Bar/Bar.mdx +0 -203
  509. package/src/components/BlockAction/BlockAction.mdx +0 -244
  510. package/src/components/BodyBanner/BodyBanner.mdx +0 -268
  511. package/src/components/Breadcrumbs/Breadcrumbs.mdx +0 -84
  512. package/src/components/Button/Button.mdx +0 -273
  513. package/src/components/Buttons/Buttons.mdx +0 -39
  514. package/src/components/Card/Card.mdx +0 -334
  515. package/src/components/Carousel/Carousel.mdx +0 -159
  516. package/src/components/CarouselPromotions/CarouselPromotions.mdx +0 -246
  517. package/src/components/CartTable/CartTable.mdx +0 -129
  518. package/src/components/Container/Container.mdx +0 -73
  519. package/src/components/Controls/Controls.mdx +0 -469
  520. package/src/components/Cover/Cover.mdx +0 -87
  521. package/src/components/Divider/Divider.mdx +0 -65
  522. package/src/components/Dropdown/Dropdown.mdx +0 -260
  523. package/src/components/Expander/Expander.mdx +0 -153
  524. package/src/components/FeatureAccordion/FeatureAccordion.mdx +0 -33
  525. package/src/components/Forms/Autocomplete/Autocomplete.mdx +0 -198
  526. package/src/components/Forms/Checkbox/Checkbox.mdx +0 -139
  527. package/src/components/Forms/DatePicker/DatePicker.mdx +0 -149
  528. package/src/components/Forms/Field/Field.mdx +0 -383
  529. package/src/components/Forms/Fieldset/Fieldset.mdx +0 -178
  530. package/src/components/Forms/File/File.mdx +0 -88
  531. package/src/components/Forms/FormTooltip.mdx +0 -51
  532. package/src/components/Forms/Forms.mdx +0 -48
  533. package/src/components/Forms/Group/Group.mdx +0 -146
  534. package/src/components/Forms/Hint/Hint.mdx +0 -40
  535. package/src/components/Forms/InputStepper/InputStepper.mdx +0 -147
  536. package/src/components/Forms/Label/Label.mdx +0 -95
  537. package/src/components/Forms/Message/Message.mdx +0 -40
  538. package/src/components/Forms/Radio/Radio.mdx +0 -98
  539. package/src/components/Forms/RangeSlider/RangeSlider.mdx +0 -304
  540. package/src/components/Forms/Select/Select.mdx +0 -106
  541. package/src/components/Forms/TextArea/TextArea.mdx +0 -109
  542. package/src/components/Forms/TextInput/TextInput.mdx +0 -153
  543. package/src/components/Gauge/Gauge.mdx +0 -35
  544. package/src/components/Grid/Grid.mdx +0 -320
  545. package/src/components/Hero/Hero.mdx +0 -168
  546. package/src/components/Hero/HeroPlayground.tsx +0 -369
  547. package/src/components/Icon/Icon.mdx +0 -172
  548. package/src/components/IconList/IconList.mdx +0 -53
  549. package/src/components/Image/Image.mdx +0 -175
  550. package/src/components/Link/Link.mdx +0 -224
  551. package/src/components/List/List.mdx +0 -216
  552. package/src/components/Loader/Loader.mdx +0 -148
  553. package/src/components/Megamenu/MegamenuDropdown.tsx +0 -64
  554. package/src/components/Modal/Modal.mdx +0 -565
  555. package/src/components/Pagination/Pagination.mdx +0 -45
  556. package/src/components/Pill/Pill.mdx +0 -41
  557. package/src/components/Progress/Progress.mdx +0 -119
  558. package/src/components/PromotionCard/PromotionCard.mdx +0 -191
  559. package/src/components/Section/Section.mdx +0 -397
  560. package/src/components/Skeleton/Skeleton.mdx +0 -90
  561. package/src/components/SkipLink/SkipLink.mdx +0 -23
  562. package/src/components/Stepbar/Stepbar.mdx +0 -137
  563. package/src/components/Sticker/Sticker.mdx +0 -50
  564. package/src/components/Table/Table.mdx +0 -199
  565. package/src/components/Tabs/Tabs.mdx +0 -373
  566. package/src/components/Tag/Tag.mdx +0 -52
  567. package/src/components/Testimonial/Testimonial.mdx +0 -41
  568. package/src/components/Tile/Tile.mdx +0 -163
  569. 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,14 +195,15 @@ 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
202
  const colors = [
202
- "gray",
203
- "black",
204
- "orange",
203
+ "background-secondary",
204
+ "background-accent",
205
+ "background-accent1-blog",
206
+ "background-accent2-blog",
205
207
  "accent1-blog",
206
208
  "accent2-blog",
207
209
  ];
@@ -210,10 +212,19 @@ describe("Section Conformance Tests", () => {
210
212
  <Section color={color} data-testid="test-section" />,
211
213
  );
212
214
  const section = container.querySelector('[data-testid="test-section"]');
213
- expect(section).toHaveClass(`bg-${color}`);
215
+ expect(section).toHaveClass(color);
214
216
  });
215
217
  });
216
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
+
217
228
  it("applies spacing classes correctly", () => {
218
229
  const spacings = ["default", "small", "xsmall"];
219
230
  spacings.forEach((spacing) => {
@@ -228,7 +239,7 @@ describe("Section Conformance Tests", () => {
228
239
  it("combines multiple props correctly", () => {
229
240
  const { container } = render(
230
241
  <Section
231
- color="gray"
242
+ color="background-secondary"
232
243
  spacing="small"
233
244
  className="custom-class"
234
245
  data-testid="test-section"
@@ -236,7 +247,7 @@ describe("Section Conformance Tests", () => {
236
247
  );
237
248
  const section = container.querySelector('[data-testid="test-section"]');
238
249
  expect(section).toHaveClass("section");
239
- expect(section).toHaveClass("bg-gray");
250
+ expect(section).toHaveClass("background-secondary");
240
251
  expect(section).toHaveClass("section--small");
241
252
  expect(section).toHaveClass("custom-class");
242
253
  });
@@ -400,7 +411,7 @@ describe("Section Conformance Tests", () => {
400
411
  );
401
412
  const section = container.querySelector('[data-testid="test-section"]');
402
413
  expect(section).toHaveClass("section");
403
- expect(section).toHaveClass("bg-invalid-color");
414
+ expect(section).toHaveClass("invalid-color");
404
415
  });
405
416
 
406
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,72 +157,86 @@ 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");
197
199
  });
198
200
 
199
- it("applies correct background class for accent1-blog color", () => {
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", () => {
200
212
  const { getByTestId } = render(
201
213
  <Section data-testid="test-section" color="accent1-blog" />,
202
214
  );
203
215
  const section = getByTestId("test-section");
204
216
 
205
217
  expect(section).toHaveClass("section");
206
- expect(section).toHaveClass("bg-accent1-blog");
218
+ expect(section).toHaveClass("accent1-blog");
207
219
  });
208
220
 
209
- it("applies correct background class for accent2-blog color", () => {
221
+ it("applies correct color class for accent2-blog color", () => {
210
222
  const { getByTestId } = render(
211
223
  <Section data-testid="test-section" color="accent2-blog" />,
212
224
  );
213
225
  const section = getByTestId("test-section");
214
226
 
215
227
  expect(section).toHaveClass("section");
216
- expect(section).toHaveClass("bg-accent2-blog");
228
+ expect(section).toHaveClass("accent2-blog");
217
229
  });
218
230
 
219
231
  it("handles all color variants correctly", () => {
220
232
  const colors = [
221
- "white",
222
- "gray",
223
- "black",
224
- "orange",
233
+ "background-secondary",
234
+ "background-contrast",
235
+ "background-accent",
236
+ "background-accent1-blog",
237
+ "background-accent2-blog",
238
+ "background-none",
239
+ "surface-subtle",
225
240
  "accent1-blog",
226
241
  "accent2-blog",
227
242
  ];
@@ -234,10 +249,11 @@ describe("Section Component Unit Tests", () => {
234
249
 
235
250
  expect(section).toHaveClass("section");
236
251
 
237
- if (color === "white") {
238
- expect(section).not.toHaveClass("bg-white");
252
+ if (color === "background-contrast") {
253
+ expect(section).toHaveClass("background-contrast");
254
+ expect(section).toHaveClass("text-inverse");
239
255
  } else {
240
- expect(section).toHaveClass(`bg-${color}`);
256
+ expect(section).toHaveClass(color);
241
257
  }
242
258
  });
243
259
  });
@@ -500,12 +516,16 @@ describe("Section Component Unit Tests", () => {
500
516
  describe("Props Combinations", () => {
501
517
  it("combines color and spacing props correctly", () => {
502
518
  const { getByTestId } = render(
503
- <Section data-testid="test-section" color="gray" spacing="small" />,
519
+ <Section
520
+ data-testid="test-section"
521
+ color="background-secondary"
522
+ spacing="small"
523
+ />,
504
524
  );
505
525
  const section = getByTestId("test-section");
506
526
 
507
527
  expect(section).toHaveClass("section");
508
- expect(section).toHaveClass("bg-gray");
528
+ expect(section).toHaveClass("background-secondary");
509
529
  expect(section).toHaveClass("section--small");
510
530
  });
511
531
 
@@ -513,7 +533,7 @@ describe("Section Component Unit Tests", () => {
513
533
  const { getByTestId } = render(
514
534
  <Section
515
535
  data-testid="test-section"
516
- color="black"
536
+ color="background-contrast"
517
537
  spacing="xsmall"
518
538
  tag="article"
519
539
  />,
@@ -522,7 +542,8 @@ describe("Section Component Unit Tests", () => {
522
542
 
523
543
  expect(section.tagName.toLowerCase()).toBe("article");
524
544
  expect(section).toHaveClass("section");
525
- expect(section).toHaveClass("bg-black");
545
+ expect(section).toHaveClass("background-contrast");
546
+ expect(section).toHaveClass("text-inverse");
526
547
  expect(section).toHaveClass("section--xsmall");
527
548
  });
528
549
 
@@ -530,7 +551,7 @@ describe("Section Component Unit Tests", () => {
530
551
  const { getByTestId } = render(
531
552
  <Section
532
553
  data-testid="test-section"
533
- color="orange"
554
+ color="background-accent"
534
555
  spacing="default"
535
556
  tag="main"
536
557
  className="custom-class"
@@ -542,7 +563,7 @@ describe("Section Component Unit Tests", () => {
542
563
 
543
564
  expect(section.tagName.toLowerCase()).toBe("main");
544
565
  expect(section).toHaveClass("section");
545
- expect(section).toHaveClass("bg-orange");
566
+ expect(section).toHaveClass("background-accent");
546
567
  expect(section).toHaveClass("section--default");
547
568
  expect(section).toHaveClass("custom-class");
548
569
  expect(screen.getByText("Content")).toBeInTheDocument();
@@ -616,7 +637,7 @@ describe("Section Component Unit Tests", () => {
616
637
  const section = getByTestId("test-section");
617
638
 
618
639
  expect(section).toHaveClass("section");
619
- expect(section).toHaveClass("bg-invalid-color");
640
+ expect(section).toHaveClass("invalid-color");
620
641
  });
621
642
 
622
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
  }