@orangesk/orange-design-system 2.0.0-alpha.0 → 2.0.0-alpha.1

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 (781) hide show
  1. package/build/404.html +1 -1
  2. package/build/_next/static/CRhIjUFtohDOfdDfzvfXM/_buildManifest.js +1 -0
  3. package/build/_next/static/chunks/925.75d0c8afa7ab7cfa.js +1 -0
  4. package/build/_next/static/chunks/998-a45c3cf6f575e126.js +1 -0
  5. package/build/_next/static/chunks/app/components/alert/page-d591b03a7394f81e.js +1 -0
  6. package/build/_next/static/chunks/app/components/button/page-b922a8f5114b0a69.js +1 -0
  7. package/build/_next/static/chunks/app/components/buttons/page-0a5bf7e5ac7991fb.js +1 -0
  8. package/build/_next/static/chunks/app/components/icon/page-dac6ba29b85d924d.js +1 -0
  9. package/build/_next/static/chunks/app/components/modal/page-4a249b6d271eea91.js +1 -0
  10. package/build/_next/static/chunks/app/components/tabs/page-7d82e8eafd25b86e.js +1 -0
  11. package/build/_next/static/chunks/app/layout-f74d44a2772d8d63.js +1 -0
  12. package/build/_next/static/chunks/app/page-9efa16a51ef59461.js +1 -0
  13. package/build/_next/static/chunks/webpack-623f6e616651e1c0.js +1 -0
  14. package/build/_next/static/css/14f3a3e0186fb7a8.css +3 -0
  15. package/build/_next/static/css/168dd2b7e791cf72.css +1 -0
  16. package/build/_next/static/css/28a41a1d7dcdbfd9.css +1 -0
  17. package/build/_next/static/css/291602d64f1f3570.css +1 -0
  18. package/build/_next/static/css/4c4366b3963177f0.css +1 -0
  19. package/build/_next/static/css/5481aeac9adca710.css +1 -0
  20. package/build/_next/static/css/73b136688c14b891.css +1 -0
  21. package/build/_next/static/css/91c8cf755bf9ff19.css +1 -0
  22. package/build/_next/static/css/c1b0424033f305ff.css +1 -0
  23. package/build/_next/static/css/eea9fd9ccdd56c76.css +1 -0
  24. package/build/_next/static/media/671791babd225be4-s.p.woff2 +0 -0
  25. package/build/_next/static/media/c62d990acddde5f0-s.p.woff2 +0 -0
  26. package/build/_next/static/media/dfdbb1c4973e0bd7-s.p.woff2 +0 -0
  27. package/build/components/Accordion/index.js +1170 -0
  28. package/build/components/Accordion/index.js.map +1 -0
  29. package/build/components/Accordion/style.css +2 -0
  30. package/build/components/Accordion/style.css.map +1 -0
  31. package/build/components/Alert/index.js +1920 -0
  32. package/build/components/Alert/index.js.map +1 -0
  33. package/build/components/Alert/style.css +2 -0
  34. package/build/components/Alert/style.css.map +1 -0
  35. package/build/components/Badge/index.js +6 -3
  36. package/build/components/Badge/index.js.map +1 -1
  37. package/build/components/Badge/style.css +1 -1
  38. package/build/components/Badge/style.css.map +1 -1
  39. package/build/components/Breadcrumbs/index.js +687 -0
  40. package/build/components/Breadcrumbs/index.js.map +1 -0
  41. package/build/components/Breadcrumbs/style.css +2 -0
  42. package/build/components/Breadcrumbs/style.css.map +1 -0
  43. package/build/components/Button/index.js +734 -0
  44. package/build/components/Button/index.js.map +1 -0
  45. package/build/components/Button/style.css +2 -0
  46. package/build/components/Button/style.css.map +1 -0
  47. package/build/components/Buttons/index.js +614 -0
  48. package/build/components/Buttons/index.js.map +1 -0
  49. package/build/components/Buttons/style.css +2 -0
  50. package/build/components/Buttons/style.css.map +1 -0
  51. package/build/components/Container/index.js +611 -0
  52. package/build/components/Container/index.js.map +1 -0
  53. package/build/components/Container/style.css +2 -0
  54. package/build/components/Container/style.css.map +1 -0
  55. package/build/components/Grid/index.js +1082 -0
  56. package/build/components/Grid/index.js.map +1 -0
  57. package/build/components/Grid/style.css +2 -0
  58. package/build/components/Grid/style.css.map +1 -0
  59. package/build/components/Icon/index.js +628 -0
  60. package/build/components/Icon/index.js.map +1 -0
  61. package/build/components/Icon/style.css +2 -0
  62. package/build/components/Icon/style.css.map +1 -0
  63. package/build/components/Image/index.js +659 -0
  64. package/build/components/Image/index.js.map +1 -0
  65. package/build/components/Image/style.css +2 -0
  66. package/build/components/Image/style.css.map +1 -0
  67. package/build/components/Link/index.js +173 -0
  68. package/build/components/Link/index.js.map +1 -0
  69. package/build/components/Link/style.css +2 -0
  70. package/build/components/Link/style.css.map +1 -0
  71. package/build/components/Modal/index.js +3170 -0
  72. package/build/components/Modal/index.js.map +1 -0
  73. package/build/components/Modal/style.css +2 -0
  74. package/build/components/Modal/style.css.map +1 -0
  75. package/build/components/Section/index.js +632 -0
  76. package/build/components/Section/index.js.map +1 -0
  77. package/build/components/Section/style.css +2 -0
  78. package/build/components/Section/style.css.map +1 -0
  79. package/build/components/Tabs/index.js +1056 -0
  80. package/build/components/Tabs/index.js.map +1 -0
  81. package/build/components/Tabs/style.css +2 -0
  82. package/build/components/Tabs/style.css.map +1 -0
  83. package/build/components/alert.html +2 -0
  84. package/build/components/alert.txt +30 -0
  85. package/build/components/badge.html +4 -1
  86. package/build/components/badge.txt +23 -18
  87. package/build/components/button.html +2 -0
  88. package/build/components/button.txt +27 -0
  89. package/build/components/buttons.html +1 -0
  90. package/build/components/buttons.txt +27 -0
  91. package/build/components/icon.html +1 -0
  92. package/build/components/icon.txt +23 -0
  93. package/build/components/index.css +1 -1
  94. package/build/components/index.css.map +1 -1
  95. package/build/components/index.js +3079 -17
  96. package/build/components/index.js.map +1 -1
  97. package/build/components/modal.html +1 -0
  98. package/build/components/modal.txt +29 -0
  99. package/build/components/static.js +1261 -17
  100. package/build/components/static.js.map +1 -1
  101. package/build/components/tabs.html +1 -0
  102. package/build/components/tabs.txt +27 -0
  103. package/build/components/types/components/Alert/Alert.d.ts +25 -0
  104. package/build/components/types/components/Alert/data.d.ts +7 -0
  105. package/build/components/types/components/Alert/index.d.ts +2 -0
  106. package/build/components/types/{Badge → components/Badge}/Badge.d.ts +2 -2
  107. package/build/components/types/components/Badge/index.d.ts +2 -0
  108. package/build/components/types/components/Button/Button.d.ts +25 -0
  109. package/build/components/types/components/Button/IconButton.d.ts +18 -0
  110. package/build/components/types/components/Button/index.d.ts +17 -0
  111. package/build/components/types/components/Buttons/Buttons.d.ts +8 -0
  112. package/build/components/types/components/Buttons/index.d.ts +2 -0
  113. package/build/components/types/components/Container/Container.d.ts +6 -0
  114. package/build/components/types/components/Container/index.d.ts +3 -0
  115. package/build/components/types/components/Icon/Icon.d.ts +18 -0
  116. package/build/components/types/components/Icon/SpritePathContext.d.ts +8 -0
  117. package/build/components/types/components/Icon/index.d.ts +3 -0
  118. package/build/components/types/components/Modal/Modal.d.ts +33 -0
  119. package/build/components/types/components/Modal/Modal.static.d.ts +33 -0
  120. package/build/components/types/components/Modal/ModalBody.d.ts +10 -0
  121. package/build/components/types/components/Modal/ModalCloseButton.d.ts +8 -0
  122. package/build/components/types/components/Modal/ModalTitle.d.ts +9 -0
  123. package/build/components/types/components/Modal/index.d.ts +5 -0
  124. package/build/components/types/components/Section/Section.d.ts +23 -0
  125. package/build/components/types/components/Section/index.d.ts +2 -0
  126. package/build/components/types/components/Tabs/Tab.d.ts +13 -0
  127. package/build/components/types/components/Tabs/TabPanel.d.ts +14 -0
  128. package/build/components/types/components/Tabs/Tabs.d.ts +33 -0
  129. package/build/components/types/components/Tabs/Tabs.static.d.ts +28 -0
  130. package/build/components/types/components/Tabs/index.d.ts +4 -0
  131. package/build/components/types/components/index.d.ts +11 -0
  132. package/build/components/types/utils/ConditionalWrapper.d.ts +13 -0
  133. package/build/components/types/utils/constants.d.ts +18 -0
  134. package/build/components/types/utils/generateId.d.ts +6 -0
  135. package/build/components/types/utils/hooks.d.ts +29 -0
  136. package/build/components/types/utils/keyboard.d.ts +14 -0
  137. package/build/fonts/HelveticaNeue-Bold.woff2 +0 -0
  138. package/build/fonts/HelveticaNeue-Light.woff2 +0 -0
  139. package/build/fonts/HelveticaNeue-Roman.woff2 +0 -0
  140. package/build/index.html +11 -46
  141. package/build/index.txt +22 -17
  142. package/build/lib/after-components.css +1 -1
  143. package/build/lib/after-components.css.map +1 -1
  144. package/build/lib/before-components.css +1 -1
  145. package/build/lib/before-components.css.map +1 -1
  146. package/build/lib/components.css +1 -1
  147. package/build/lib/components.css.map +1 -1
  148. package/build/lib/fonts.css +1 -1
  149. package/build/lib/fonts.css.map +1 -1
  150. package/build/lib/scripts.js +1261 -17
  151. package/build/lib/scripts.js.map +1 -1
  152. package/build/lib/style.css +1 -1
  153. package/build/lib/style.css.map +1 -1
  154. package/build/sprite.svg +1 -0
  155. package/package.json +8 -4
  156. package/public/fonts/HelveticaNeue-Bold.woff2 +0 -0
  157. package/public/fonts/HelveticaNeue-Light.woff2 +0 -0
  158. package/public/fonts/HelveticaNeue-Roman.woff2 +0 -0
  159. package/src/assets/icons/4g.svg +1 -0
  160. package/src/assets/icons/5g.svg +1 -0
  161. package/src/assets/icons/accessibility-mobility.svg +1 -0
  162. package/src/assets/icons/accessibility-motor.svg +1 -0
  163. package/src/assets/icons/accessibility-vision.svg +1 -0
  164. package/src/assets/icons/accessibility.svg +1 -0
  165. package/src/assets/icons/add.svg +1 -0
  166. package/src/assets/icons/advertising.svg +1 -0
  167. package/src/assets/icons/aeroplane.svg +1 -0
  168. package/src/assets/icons/age-rating-3.svg +1 -0
  169. package/src/assets/icons/airbox-auto.svg +1 -0
  170. package/src/assets/icons/alias-numbers.svg +1 -0
  171. package/src/assets/icons/android-manage.svg +1 -0
  172. package/src/assets/icons/antenna.svg +1 -0
  173. package/src/assets/icons/apartment-building.svg +1 -0
  174. package/src/assets/icons/apps.svg +1 -0
  175. package/src/assets/icons/assistance.svg +1 -0
  176. package/src/assets/icons/assistent.svg +1 -0
  177. package/src/assets/icons/at.svg +1 -0
  178. package/src/assets/icons/avatar.svg +1 -0
  179. package/src/assets/icons/backup-internet.svg +1 -0
  180. package/src/assets/icons/bank.svg +1 -0
  181. package/src/assets/icons/battery-charging.svg +1 -0
  182. package/src/assets/icons/battery-full.svg +1 -0
  183. package/src/assets/icons/battery-status-1-3.svg +1 -0
  184. package/src/assets/icons/battery-status-charging.svg +1 -0
  185. package/src/assets/icons/battery-status-full.svg +1 -0
  186. package/src/assets/icons/bed.svg +1 -0
  187. package/src/assets/icons/birth.svg +1 -0
  188. package/src/assets/icons/birthday.svg +1 -0
  189. package/src/assets/icons/bluetooth.svg +1 -0
  190. package/src/assets/icons/boarding-pass.svg +1 -0
  191. package/src/assets/icons/book-award.svg +1 -0
  192. package/src/assets/icons/book.svg +1 -0
  193. package/src/assets/icons/boxes.svg +1 -0
  194. package/src/assets/icons/briefcase.svg +1 -0
  195. package/src/assets/icons/browser-plug-in.svg +1 -0
  196. package/src/assets/icons/business-advisor.svg +1 -0
  197. package/src/assets/icons/business-consultant.svg +1 -0
  198. package/src/assets/icons/business-lounge.svg +1 -0
  199. package/src/assets/icons/buy.svg +1 -0
  200. package/src/assets/icons/calendar-30.svg +1 -0
  201. package/src/assets/icons/calendar-alarm.svg +1 -0
  202. package/src/assets/icons/calendar-day.svg +1 -0
  203. package/src/assets/icons/calendar-month.svg +1 -0
  204. package/src/assets/icons/call-in.svg +1 -0
  205. package/src/assets/icons/call-out.svg +1 -0
  206. package/src/assets/icons/call.svg +1 -0
  207. package/src/assets/icons/camera.svg +1 -0
  208. package/src/assets/icons/car-park.svg +1 -0
  209. package/src/assets/icons/car.svg +1 -0
  210. package/src/assets/icons/card-reader.svg +1 -0
  211. package/src/assets/icons/casting.svg +1 -0
  212. package/src/assets/icons/cest-ici.svg +1 -0
  213. package/src/assets/icons/charger.svg +1 -0
  214. package/src/assets/icons/chatbot.svg +1 -0
  215. package/src/assets/icons/check-your-balance.svg +1 -0
  216. package/src/assets/icons/checked.svg +1 -0
  217. package/src/assets/icons/chevron-down.svg +1 -0
  218. package/src/assets/icons/chevron-end.svg +1 -0
  219. package/src/assets/icons/chevron-left.svg +1 -0
  220. package/src/assets/icons/chevron-right.svg +1 -0
  221. package/src/assets/icons/chevron-start.svg +1 -0
  222. package/src/assets/icons/chevron-up.svg +1 -0
  223. package/src/assets/icons/child.svg +1 -0
  224. package/src/assets/icons/children-channel.svg +1 -0
  225. package/src/assets/icons/childrens-content.svg +1 -0
  226. package/src/assets/icons/christmas-tree.svg +1 -0
  227. package/src/assets/icons/cinema-ticket-2-for-1.svg +1 -0
  228. package/src/assets/icons/cle-pc.svg +1 -0
  229. package/src/assets/icons/clock.svg +1 -0
  230. package/src/assets/icons/close.svg +5 -0
  231. package/src/assets/icons/closed-captions.svg +1 -0
  232. package/src/assets/icons/cloud-backup.svg +1 -0
  233. package/src/assets/icons/cloud-security.svg +1 -0
  234. package/src/assets/icons/collective-class-training.svg +1 -0
  235. package/src/assets/icons/community-sms.svg +1 -0
  236. package/src/assets/icons/company-structure.svg +1 -0
  237. package/src/assets/icons/connections.svg +1 -0
  238. package/src/assets/icons/control-centre.svg +1 -0
  239. package/src/assets/icons/control-my-data.svg +3 -0
  240. package/src/assets/icons/cpu.svg +1 -0
  241. package/src/assets/icons/currency-euro.svg +1 -0
  242. package/src/assets/icons/cyber-shield.svg +1 -0
  243. package/src/assets/icons/dashboard-display.svg +1 -0
  244. package/src/assets/icons/data-analytics.svg +1 -0
  245. package/src/assets/icons/data-centre.svg +1 -0
  246. package/src/assets/icons/data-services.svg +1 -0
  247. package/src/assets/icons/data-traffic.svg +1 -0
  248. package/src/assets/icons/data.svg +1 -0
  249. package/src/assets/icons/delete.svg +1 -0
  250. package/src/assets/icons/desk-phone.svg +1 -0
  251. package/src/assets/icons/desktop-pc.svg +1 -0
  252. package/src/assets/icons/device-fixed-line-phone.svg +1 -0
  253. package/src/assets/icons/device-laptop-computer-connected.svg +1 -0
  254. package/src/assets/icons/device-laptop-computer.svg +1 -0
  255. package/src/assets/icons/device-smart-phone.svg +1 -0
  256. package/src/assets/icons/device-tablet.svg +1 -0
  257. package/src/assets/icons/device-tv.svg +1 -0
  258. package/src/assets/icons/diagnostic.svg +1 -0
  259. package/src/assets/icons/digital-frame.svg +1 -0
  260. package/src/assets/icons/discussion-more.svg +1 -0
  261. package/src/assets/icons/doctor.svg +1 -0
  262. package/src/assets/icons/documentary.svg +1 -0
  263. package/src/assets/icons/donation.svg +1 -0
  264. package/src/assets/icons/download-file.svg +1 -0
  265. package/src/assets/icons/download.svg +1 -0
  266. package/src/assets/icons/e-reader.svg +1 -0
  267. package/src/assets/icons/e-shop.svg +1 -0
  268. package/src/assets/icons/easy-internet.svg +1 -0
  269. package/src/assets/icons/eco-mode.svg +1 -0
  270. package/src/assets/icons/edit.svg +1 -0
  271. package/src/assets/icons/electrcar.svg +1 -0
  272. package/src/assets/icons/email.svg +1 -0
  273. package/src/assets/icons/employees.svg +1 -0
  274. package/src/assets/icons/empty-trash.svg +1 -0
  275. package/src/assets/icons/entertainment.svg +1 -0
  276. package/src/assets/icons/epg.svg +1 -0
  277. package/src/assets/icons/error-severe.svg +1 -0
  278. package/src/assets/icons/ethernet.svg +1 -0
  279. package/src/assets/icons/euro.svg +1 -0
  280. package/src/assets/icons/exit.svg +1 -0
  281. package/src/assets/icons/facebook-2.svg +1 -0
  282. package/src/assets/icons/facebook.svg +1 -0
  283. package/src/assets/icons/factory.svg +1 -0
  284. package/src/assets/icons/family-place.svg +1 -0
  285. package/src/assets/icons/fashion.svg +1 -0
  286. package/src/assets/icons/fast-delivery.svg +1 -0
  287. package/src/assets/icons/file-compressed.svg +1 -0
  288. package/src/assets/icons/file-copy.svg +1 -0
  289. package/src/assets/icons/file-document-compose.svg +1 -0
  290. package/src/assets/icons/file-download.svg +1 -0
  291. package/src/assets/icons/file-draft-edit.svg +1 -0
  292. package/src/assets/icons/file-pdf.svg +1 -0
  293. package/src/assets/icons/file-terms-and-conditions.svg +1 -0
  294. package/src/assets/icons/files.svg +1 -0
  295. package/src/assets/icons/film.svg +1 -0
  296. package/src/assets/icons/filter.svg +1 -0
  297. package/src/assets/icons/finance.svg +1 -0
  298. package/src/assets/icons/firewall.svg +1 -0
  299. package/src/assets/icons/flag.svg +1 -0
  300. package/src/assets/icons/flashlight.svg +1 -0
  301. package/src/assets/icons/flexible-storage.svg +1 -0
  302. package/src/assets/icons/folder.svg +1 -0
  303. package/src/assets/icons/football-match.svg +1 -0
  304. package/src/assets/icons/football-quiz.svg +1 -0
  305. package/src/assets/icons/football.svg +1 -0
  306. package/src/assets/icons/form-tick.svg +1 -0
  307. package/src/assets/icons/front-end-dashboard.svg +1 -0
  308. package/src/assets/icons/funny.svg +1 -0
  309. package/src/assets/icons/futher-education.svg +1 -0
  310. package/src/assets/icons/games.svg +1 -0
  311. package/src/assets/icons/garage-closed.svg +1 -0
  312. package/src/assets/icons/gauge-rate.svg +1 -0
  313. package/src/assets/icons/gears.svg +1 -0
  314. package/src/assets/icons/geolocation.svg +1 -0
  315. package/src/assets/icons/guide-info.svg +1 -0
  316. package/src/assets/icons/hammer.svg +1 -0
  317. package/src/assets/icons/hand-shake.svg +1 -0
  318. package/src/assets/icons/hard-drive.svg +1 -0
  319. package/src/assets/icons/hdmi-key.svg +1 -0
  320. package/src/assets/icons/headphones.svg +1 -0
  321. package/src/assets/icons/health-app.svg +1 -0
  322. package/src/assets/icons/health-monitor.svg +1 -0
  323. package/src/assets/icons/health-patient.svg +1 -0
  324. package/src/assets/icons/heart.svg +1 -0
  325. package/src/assets/icons/home-appliance.svg +1 -0
  326. package/src/assets/icons/home.svg +1 -0
  327. package/src/assets/icons/homelive.svg +1 -0
  328. package/src/assets/icons/hourglass.svg +1 -0
  329. package/src/assets/icons/house.svg +1 -0
  330. package/src/assets/icons/id-card.svg +1 -0
  331. package/src/assets/icons/image.svg +1 -0
  332. package/src/assets/icons/important.svg +1 -0
  333. package/src/assets/icons/improvement.svg +1 -0
  334. package/src/assets/icons/inbox.svg +1 -0
  335. package/src/assets/icons/info.svg +1 -0
  336. package/src/assets/icons/information-data.svg +1 -0
  337. package/src/assets/icons/instagram.svg +1 -0
  338. package/src/assets/icons/international-globe.svg +1 -0
  339. package/src/assets/icons/internet-browser.svg +1 -0
  340. package/src/assets/icons/internet-security-desktop.svg +1 -0
  341. package/src/assets/icons/internet-security-mobile.svg +1 -0
  342. package/src/assets/icons/internet-security-password.svg +1 -0
  343. package/src/assets/icons/internet-usage.svg +1 -0
  344. package/src/assets/icons/internet.svg +1 -0
  345. package/src/assets/icons/invoice-euro.svg +1 -0
  346. package/src/assets/icons/invoices-euro.svg +1 -0
  347. package/src/assets/icons/iso.svg +1 -0
  348. package/src/assets/icons/it-infrastructure.svg +1 -0
  349. package/src/assets/icons/keyboard.svg +1 -0
  350. package/src/assets/icons/la-cle-tv.svg +1 -0
  351. package/src/assets/icons/laptop-connected.svg +1 -0
  352. package/src/assets/icons/laptop.svg +1 -0
  353. package/src/assets/icons/le-vote.svg +1 -0
  354. package/src/assets/icons/link.svg +1 -0
  355. package/src/assets/icons/linkedin-2.svg +1 -0
  356. package/src/assets/icons/linkedin.svg +1 -0
  357. package/src/assets/icons/location-on-map.svg +1 -0
  358. package/src/assets/icons/location-pin.svg +1 -0
  359. package/src/assets/icons/lock-open.svg +1 -0
  360. package/src/assets/icons/lock.svg +1 -0
  361. package/src/assets/icons/logistics.svg +1 -0
  362. package/src/assets/icons/love-logo.svg +1 -0
  363. package/src/assets/icons/mahali.svg +1 -0
  364. package/src/assets/icons/maintenance-man.svg +1 -0
  365. package/src/assets/icons/map-pin.svg +1 -0
  366. package/src/assets/icons/map.svg +1 -0
  367. package/src/assets/icons/medal.svg +1 -0
  368. package/src/assets/icons/medical-app.svg +1 -0
  369. package/src/assets/icons/medical-chart.svg +1 -0
  370. package/src/assets/icons/medicine.svg +1 -0
  371. package/src/assets/icons/menu-arrow.svg +1 -0
  372. package/src/assets/icons/menu-grid.svg +1 -0
  373. package/src/assets/icons/menu.svg +1 -0
  374. package/src/assets/icons/message-alert.svg +1 -0
  375. package/src/assets/icons/messages.svg +1 -0
  376. package/src/assets/icons/micro-sd-card.svg +1 -0
  377. package/src/assets/icons/microphone-mute.svg +1 -0
  378. package/src/assets/icons/microphone.svg +1 -0
  379. package/src/assets/icons/mini-games.svg +1 -0
  380. package/src/assets/icons/mobile-applications.svg +1 -0
  381. package/src/assets/icons/mobile-data-toggle.svg +1 -0
  382. package/src/assets/icons/mobile-insurance.svg +1 -0
  383. package/src/assets/icons/mobile-network-coverage.svg +1 -0
  384. package/src/assets/icons/mobile-payment.svg +1 -0
  385. package/src/assets/icons/mobile-security.svg +1 -0
  386. package/src/assets/icons/mobile-setup.svg +1 -0
  387. package/src/assets/icons/modem.svg +1 -0
  388. package/src/assets/icons/modifier-delete.svg +1 -0
  389. package/src/assets/icons/modifier-done.svg +1 -0
  390. package/src/assets/icons/modifier-download.svg +1 -0
  391. package/src/assets/icons/modifier-upload.svg +1 -0
  392. package/src/assets/icons/money-box.svg +1 -0
  393. package/src/assets/icons/more-dots.svg +1 -0
  394. package/src/assets/icons/multi-sim.svg +1 -0
  395. package/src/assets/icons/music.svg +1 -0
  396. package/src/assets/icons/my-account.svg +1 -0
  397. package/src/assets/icons/my-orange.svg +1 -0
  398. package/src/assets/icons/my-skills.svg +1 -0
  399. package/src/assets/icons/my-vacation.svg +1 -0
  400. package/src/assets/icons/network-dslam.svg +1 -0
  401. package/src/assets/icons/network-gatekeeper.svg +1 -0
  402. package/src/assets/icons/network-gateway.svg +1 -0
  403. package/src/assets/icons/network-optical-amplifier.svg +1 -0
  404. package/src/assets/icons/network-optical-transport.svg +1 -0
  405. package/src/assets/icons/network-wan-optimisation-engine.svg +1 -0
  406. package/src/assets/icons/networks.svg +1 -0
  407. package/src/assets/icons/newspaper.svg +1 -0
  408. package/src/assets/icons/not-checked.svg +1 -0
  409. package/src/assets/icons/notification-alert.svg +1 -0
  410. package/src/assets/icons/office.svg +1 -0
  411. package/src/assets/icons/online-help.svg +1 -0
  412. package/src/assets/icons/orange-assistant.svg +1 -0
  413. package/src/assets/icons/orange-cash.svg +1 -0
  414. package/src/assets/icons/orange-detente.svg +1 -0
  415. package/src/assets/icons/orange-dialler.svg +1 -0
  416. package/src/assets/icons/orange-events.svg +1 -0
  417. package/src/assets/icons/orange-experts-expert.svg +1 -0
  418. package/src/assets/icons/orange-experts-insurance.svg +1 -0
  419. package/src/assets/icons/orange-experts-orange-business-consultant.svg +1 -0
  420. package/src/assets/icons/orange-experts-recycle.svg +1 -0
  421. package/src/assets/icons/orange-experts-repair.svg +1 -0
  422. package/src/assets/icons/orange-football-club.svg +1 -0
  423. package/src/assets/icons/orange-games.svg +1 -0
  424. package/src/assets/icons/orange-messenger.svg +1 -0
  425. package/src/assets/icons/orange-money-nfc.svg +1 -0
  426. package/src/assets/icons/orange-reflect.svg +1 -0
  427. package/src/assets/icons/orange-rewards.svg +1 -0
  428. package/src/assets/icons/orange-tv.svg +1 -0
  429. package/src/assets/icons/orange-vr-experience.svg +1 -0
  430. package/src/assets/icons/outbox.svg +1 -0
  431. package/src/assets/icons/package-content.svg +1 -0
  432. package/src/assets/icons/package-services.svg +1 -0
  433. package/src/assets/icons/package.svg +1 -0
  434. package/src/assets/icons/packaging-icon-hd.svg +1 -0
  435. package/src/assets/icons/parabole-tv.svg +1 -0
  436. package/src/assets/icons/parental-control.svg +1 -0
  437. package/src/assets/icons/pause.svg +1 -0
  438. package/src/assets/icons/payment-card.svg +1 -0
  439. package/src/assets/icons/payment-euro.svg +1 -0
  440. package/src/assets/icons/pda.svg +1 -0
  441. package/src/assets/icons/pdf-file.svg +1 -0
  442. package/src/assets/icons/pencil.svg +1 -0
  443. package/src/assets/icons/personal-hotspot.svg +1 -0
  444. package/src/assets/icons/personal-smartphone-trainer.svg +1 -0
  445. package/src/assets/icons/phone-advisor.svg +1 -0
  446. package/src/assets/icons/play-and-win.svg +1 -0
  447. package/src/assets/icons/play.svg +1 -0
  448. package/src/assets/icons/plug-socket.svg +1 -0
  449. package/src/assets/icons/power.svg +1 -0
  450. package/src/assets/icons/powerstation.svg +1 -0
  451. package/src/assets/icons/presentation.svg +1 -0
  452. package/src/assets/icons/print.svg +1 -0
  453. package/src/assets/icons/printer.svg +1 -0
  454. package/src/assets/icons/real-time.svg +1 -0
  455. package/src/assets/icons/recycle-device.svg +1 -0
  456. package/src/assets/icons/recycle.svg +1 -0
  457. package/src/assets/icons/reduction.svg +1 -0
  458. package/src/assets/icons/reload.svg +1 -0
  459. package/src/assets/icons/reminders.svg +1 -0
  460. package/src/assets/icons/remote-desktop-protocol.svg +1 -0
  461. package/src/assets/icons/remove.svg +1 -0
  462. package/src/assets/icons/repair.svg +1 -0
  463. package/src/assets/icons/reseau.svg +1 -0
  464. package/src/assets/icons/restaurant.svg +1 -0
  465. package/src/assets/icons/rewards.svg +1 -0
  466. package/src/assets/icons/running.svg +1 -0
  467. package/src/assets/icons/safety.svg +1 -0
  468. package/src/assets/icons/satallite.svg +1 -0
  469. package/src/assets/icons/save.svg +1 -0
  470. package/src/assets/icons/school.svg +1 -0
  471. package/src/assets/icons/science.svg +1 -0
  472. package/src/assets/icons/sd-card.svg +1 -0
  473. package/src/assets/icons/search.svg +1 -0
  474. package/src/assets/icons/security-status-good.svg +1 -0
  475. package/src/assets/icons/send.svg +1 -0
  476. package/src/assets/icons/senior-person.svg +1 -0
  477. package/src/assets/icons/server-storage-array.svg +1 -0
  478. package/src/assets/icons/server-tower.svg +1 -0
  479. package/src/assets/icons/session-enter.svg +1 -0
  480. package/src/assets/icons/session-leave.svg +1 -0
  481. package/src/assets/icons/settings.svg +1 -0
  482. package/src/assets/icons/share.svg +1 -0
  483. package/src/assets/icons/shop-pin.svg +1 -0
  484. package/src/assets/icons/shop.svg +1 -0
  485. package/src/assets/icons/showroom-mobile-pro.svg +1 -0
  486. package/src/assets/icons/signal-5-5.svg +1 -0
  487. package/src/assets/icons/silence.svg +1 -0
  488. package/src/assets/icons/sim-e.svg +1 -0
  489. package/src/assets/icons/sim.svg +1 -0
  490. package/src/assets/icons/simple-mode.svg +1 -0
  491. package/src/assets/icons/simplicity.svg +1 -0
  492. package/src/assets/icons/siren.svg +1 -0
  493. package/src/assets/icons/skiing.svg +1 -0
  494. package/src/assets/icons/skip-to-end.svg +1 -0
  495. package/src/assets/icons/skip-to-start.svg +1 -0
  496. package/src/assets/icons/sleep.svg +1 -0
  497. package/src/assets/icons/smart-care.svg +1 -0
  498. package/src/assets/icons/smart-home.svg +1 -0
  499. package/src/assets/icons/smart-tap.svg +1 -0
  500. package/src/assets/icons/smart-watch.svg +1 -0
  501. package/src/assets/icons/sms-alert.svg +1 -0
  502. package/src/assets/icons/sms-message-compose.svg +1 -0
  503. package/src/assets/icons/sms-message.svg +1 -0
  504. package/src/assets/icons/social-network.svg +1 -0
  505. package/src/assets/icons/sofa.svg +1 -0
  506. package/src/assets/icons/sort.svg +1 -0
  507. package/src/assets/icons/stadium.svg +1 -0
  508. package/src/assets/icons/star-empty.svg +1 -0
  509. package/src/assets/icons/star-favourite-half.svg +1 -0
  510. package/src/assets/icons/star-favourite.svg +1 -0
  511. package/src/assets/icons/startover.svg +1 -0
  512. package/src/assets/icons/statistics.svg +1 -0
  513. package/src/assets/icons/stop-secret.svg +1 -0
  514. package/src/assets/icons/storage-cloud.svg +1 -0
  515. package/src/assets/icons/store-locator.svg +1 -0
  516. package/src/assets/icons/street.svg +1 -0
  517. package/src/assets/icons/subscription-package.svg +1 -0
  518. package/src/assets/icons/suitcase.svg +1 -0
  519. package/src/assets/icons/support.svg +1 -0
  520. package/src/assets/icons/surveillance-camera.svg +1 -0
  521. package/src/assets/icons/syncronise.svg +1 -0
  522. package/src/assets/icons/tag-advertising.svg +1 -0
  523. package/src/assets/icons/tag.svg +1 -0
  524. package/src/assets/icons/target-location.svg +1 -0
  525. package/src/assets/icons/tarif.svg +1 -0
  526. package/src/assets/icons/task-list.svg +1 -0
  527. package/src/assets/icons/team-connect.svg +1 -0
  528. package/src/assets/icons/thumb-up.svg +1 -0
  529. package/src/assets/icons/tick.svg +1 -0
  530. package/src/assets/icons/ticket.svg +1 -0
  531. package/src/assets/icons/top-up-card-euro.svg +1 -0
  532. package/src/assets/icons/top-up-euro.svg +1 -0
  533. package/src/assets/icons/top-up-time.svg +1 -0
  534. package/src/assets/icons/town.svg +1 -0
  535. package/src/assets/icons/townhall.svg +1 -0
  536. package/src/assets/icons/train.svg +1 -0
  537. package/src/assets/icons/training-session.svg +1 -0
  538. package/src/assets/icons/tranquility.svg +1 -0
  539. package/src/assets/icons/transfer-data.svg +1 -0
  540. package/src/assets/icons/transfers.svg +1 -0
  541. package/src/assets/icons/trash.svg +1 -0
  542. package/src/assets/icons/tv-channel-list.svg +1 -0
  543. package/src/assets/icons/tv-commande.svg +1 -0
  544. package/src/assets/icons/unlimited-calls.svg +1 -0
  545. package/src/assets/icons/upload.svg +1 -0
  546. package/src/assets/icons/usb-hard-drive.svg +1 -0
  547. package/src/assets/icons/usb-key.svg +1 -0
  548. package/src/assets/icons/user-manual.svg +1 -0
  549. package/src/assets/icons/user.svg +1 -0
  550. package/src/assets/icons/video-call.svg +1 -0
  551. package/src/assets/icons/video-live.svg +1 -0
  552. package/src/assets/icons/video-phone.svg +1 -0
  553. package/src/assets/icons/video-record.svg +1 -0
  554. package/src/assets/icons/video.svg +1 -0
  555. package/src/assets/icons/vip-contact.svg +1 -0
  556. package/src/assets/icons/virtual-gamepad.svg +1 -0
  557. package/src/assets/icons/vod-portrait.svg +1 -0
  558. package/src/assets/icons/volte.svg +1 -0
  559. package/src/assets/icons/volume-status-4-4.svg +1 -0
  560. package/src/assets/icons/vowifi.svg +1 -0
  561. package/src/assets/icons/wallet.svg +1 -0
  562. package/src/assets/icons/warning-important.svg +1 -0
  563. package/src/assets/icons/washroom.svg +1 -0
  564. package/src/assets/icons/watch.svg +1 -0
  565. package/src/assets/icons/water.svg +1 -0
  566. package/src/assets/icons/weather.svg +1 -0
  567. package/src/assets/icons/web-browser.svg +1 -0
  568. package/src/assets/icons/web-camera.svg +1 -0
  569. package/src/assets/icons/weighing-scales.svg +1 -0
  570. package/src/assets/icons/widget.svg +1 -0
  571. package/src/assets/icons/wifi-home.svg +1 -0
  572. package/src/assets/icons/wifi.svg +1 -0
  573. package/src/assets/icons/x.svg +1 -0
  574. package/src/assets/icons/your-balance.svg +1 -0
  575. package/src/assets/icons/youtube.svg +1 -0
  576. package/src/assets/icons/zoom-in.svg +1 -0
  577. package/src/assets/icons/zoom-out.svg +1 -0
  578. package/src/assets/images/developers/hands-with-phones.svg +90 -0
  579. package/src/assets/images/developers/iphone-size-2x.png +0 -0
  580. package/src/assets/images/developers/iphone-xr-white-select.png +0 -0
  581. package/src/assets/images/developers/phones.png +0 -0
  582. package/src/assets/images/developers/router.png +0 -0
  583. package/src/assets/images/developers/rule-component-block.png +0 -0
  584. package/src/assets/images/developers/rule-component-inline.png +0 -0
  585. package/src/assets/images/developers/rule-container.png +0 -0
  586. package/src/assets/images/developers/rule-content.png +0 -0
  587. package/src/assets/images/developers/two-phones.png +0 -0
  588. package/src/assets/logo/logo.svg +1 -0
  589. package/src/components/Accordion/Accordion.mdx +222 -0
  590. package/src/components/Accordion/Accordion.static.ts +104 -0
  591. package/src/components/Accordion/Accordion.tsx +70 -0
  592. package/src/components/Accordion/AccordionHeader.tsx +59 -0
  593. package/src/components/Accordion/AccordionItem.tsx +76 -0
  594. package/src/components/Accordion/HeadingContext.tsx +5 -0
  595. package/src/components/Accordion/index.ts +4 -0
  596. package/src/components/Accordion/styles/config.scss +8 -0
  597. package/src/components/Accordion/styles/mixins.scss +91 -0
  598. package/src/components/Accordion/styles/style.scss +47 -0
  599. package/src/components/Accordion/tests/Accordion.static.test.js +207 -0
  600. package/src/components/Accordion/tests/Accordion.unit.test.js +822 -0
  601. package/src/components/Accordion/tests/data.js +18 -0
  602. package/src/components/Alert/Alert.mdx +141 -0
  603. package/src/components/Alert/Alert.tsx +119 -0
  604. package/src/components/Alert/CHANGELOG.md +33 -0
  605. package/src/components/Alert/data.ts +8 -0
  606. package/src/components/Alert/index.ts +3 -0
  607. package/src/components/Alert/styles/config.scss +58 -0
  608. package/src/components/Alert/styles/mixins.scss +54 -0
  609. package/src/components/Alert/styles/style.scss +44 -0
  610. package/src/components/Alert/tests/Alert.conformance.test.js +30 -0
  611. package/src/components/Alert/tests/Alert.test.js +87 -0
  612. package/src/components/Badge/Badge.tsx +5 -3
  613. package/src/components/Badge/index.ts +1 -1
  614. package/src/components/Badge/styles/config.scss +53 -17
  615. package/src/components/Badge/styles/mixins.scss +8 -2
  616. package/src/components/Badge/styles/style.scss +7 -3
  617. package/src/components/Badge/tests/Badge.conformance.test.js +8 -8
  618. package/src/components/Badge/tests/Badge.unit.test.js +3 -3
  619. package/src/components/Breadcrumbs/BreadcrumbItem.tsx +54 -0
  620. package/src/components/Breadcrumbs/Breadcrumbs.mdx +84 -0
  621. package/src/components/Breadcrumbs/Breadcrumbs.tsx +60 -0
  622. package/src/components/Breadcrumbs/index.ts +5 -0
  623. package/src/components/Breadcrumbs/styles/config.scss +2 -0
  624. package/src/components/Breadcrumbs/styles/mixins.scss +105 -0
  625. package/src/components/Breadcrumbs/styles/style.scss +37 -0
  626. package/src/components/Breadcrumbs/tests/BreadcrumbItem.unit.test.js +295 -0
  627. package/src/components/Breadcrumbs/tests/Breadcrumbs.conformance.test.js +53 -0
  628. package/src/components/Breadcrumbs/tests/Breadcrumbs.integration.test.js +309 -0
  629. package/src/components/Breadcrumbs/tests/Breadcrumbs.unit.test.js +280 -0
  630. package/src/components/Button/Button.mdx +273 -0
  631. package/src/components/Button/Button.tsx +105 -0
  632. package/src/components/Button/IconButton.tsx +67 -0
  633. package/src/components/Button/index.tsx +23 -0
  634. package/src/components/Button/styles/config.scss +229 -0
  635. package/src/components/Button/styles/mixins.scss +164 -0
  636. package/src/components/Button/styles/style.scss +66 -0
  637. package/src/components/Button/tests/Button.conformance.test.js +37 -0
  638. package/src/components/Button/tests/Button.test.js +114 -0
  639. package/src/components/Button/tests/IconButton.unit.test.js +107 -0
  640. package/src/components/Buttons/Buttons.mdx +39 -0
  641. package/src/components/Buttons/Buttons.tsx +34 -0
  642. package/src/components/Buttons/index.ts +3 -0
  643. package/src/components/Buttons/styles/config.scss +3 -0
  644. package/src/components/Buttons/styles/mixins.scss +39 -0
  645. package/src/components/Buttons/styles/style.scss +10 -0
  646. package/src/components/Buttons/tests/Buttons.conformance.test.js +22 -0
  647. package/src/components/Buttons/tests/Buttons.unit.test.js +26 -0
  648. package/src/components/Container/Container.mdx +73 -0
  649. package/src/components/Container/Container.tsx +15 -0
  650. package/src/components/Container/index.ts +5 -0
  651. package/src/components/Container/styles/config.scss +11 -0
  652. package/src/components/Container/styles/mixins.scss +22 -0
  653. package/src/components/Container/styles/style.scss +5 -0
  654. package/src/components/Container/tests/Container.conformance.test.js +209 -0
  655. package/src/components/Container/tests/Container.unit.test.js +320 -0
  656. package/src/components/Grid/Grid.mdx +319 -0
  657. package/src/components/Grid/Grid.tsx +51 -0
  658. package/src/components/Grid/GridCol.tsx +33 -0
  659. package/src/components/Grid/index.ts +6 -0
  660. package/src/components/Grid/styles/config.scss +10 -0
  661. package/src/components/Grid/styles/mixins.scss +126 -0
  662. package/src/components/Grid/styles/style.scss +41 -0
  663. package/src/components/Grid/tests/Grid.unit.test.tsx +533 -0
  664. package/src/components/Grid/tests/GridCol.unit.test.tsx +199 -0
  665. package/src/components/Icon/Icon.mdx +172 -0
  666. package/src/components/Icon/Icon.tsx +73 -0
  667. package/src/components/Icon/IconSearch.jsx +247 -0
  668. package/src/components/Icon/SpritePathContext.tsx +22 -0
  669. package/src/components/Icon/iconSearchTags.ts +437 -0
  670. package/src/components/Icon/index.ts +5 -0
  671. package/src/components/Icon/styles/config.scss +27 -0
  672. package/src/components/Icon/styles/export/color.scss +8 -0
  673. package/src/components/Icon/styles/export/size.scss +13 -0
  674. package/src/components/Icon/styles/mixins.scss +31 -0
  675. package/src/components/Icon/styles/style.scss +13 -0
  676. package/src/components/Icon/tests/Icon.conformance.test.js +22 -0
  677. package/src/components/Icon/tests/Icon.unit.test.js +112 -0
  678. package/src/components/Image/Image.mdx +166 -0
  679. package/src/components/Image/Image.tsx +65 -0
  680. package/src/components/Image/index.ts +7 -0
  681. package/src/components/Image/styles/mixins.scss +12 -0
  682. package/src/components/Image/styles/style.scss +9 -0
  683. package/src/components/Image/tests/Image.conformance.test.js +264 -0
  684. package/src/components/Image/tests/Image.unit.test.js +338 -0
  685. package/src/components/Link/Link.mdx +224 -0
  686. package/src/components/Link/Link.tsx +52 -0
  687. package/src/components/Link/index.ts +3 -0
  688. package/src/components/Link/styles/config.scss +85 -0
  689. package/src/components/Link/styles/mixins.scss +42 -0
  690. package/src/components/Link/styles/style.scss +59 -0
  691. package/src/components/Link/tests/Link.conformance.test.js +302 -0
  692. package/src/components/Link/tests/Link.integration.test.js +393 -0
  693. package/src/components/Link/tests/Link.unit.test.js +308 -0
  694. package/src/components/Modal/Modal.mdx +449 -0
  695. package/src/components/Modal/Modal.static.ts +223 -0
  696. package/src/components/Modal/Modal.tsx +145 -0
  697. package/src/components/Modal/ModalBody.tsx +46 -0
  698. package/src/components/Modal/ModalCloseButton.tsx +26 -0
  699. package/src/components/Modal/ModalTitle.tsx +32 -0
  700. package/src/components/Modal/TODO.md +2 -0
  701. package/src/components/Modal/index.ts +6 -0
  702. package/src/components/Modal/styles/config.scss +42 -0
  703. package/src/components/Modal/styles/mixins.scss +200 -0
  704. package/src/components/Modal/styles/style.scss +97 -0
  705. package/src/components/Modal/tests/Modal.conformance.test.js +41 -0
  706. package/src/components/Modal/tests/Modal.unit.test.js +56 -0
  707. package/src/components/Modal/tests/ModalBody.unit.test.js +39 -0
  708. package/src/components/Modal/tests/ModalCloseButton.unit.test.js +84 -0
  709. package/src/components/Modal/tests/ModalTitle.unit.test.js +25 -0
  710. package/src/components/Section/Section.mdx +397 -0
  711. package/src/components/Section/Section.tsx +54 -0
  712. package/src/components/Section/index.ts +3 -0
  713. package/src/components/Section/styles/config.scss +38 -0
  714. package/src/components/Section/styles/mixins.scss +30 -0
  715. package/src/components/Section/styles/style.scss +35 -0
  716. package/src/components/Section/tests/Section.conformance.test.js +502 -0
  717. package/src/components/Section/tests/Section.unit.test.js +642 -0
  718. package/src/components/Tabs/TODO.md +2 -0
  719. package/src/components/Tabs/Tab.tsx +55 -0
  720. package/src/components/Tabs/TabPanel.tsx +42 -0
  721. package/src/components/Tabs/Tabs.mdx +373 -0
  722. package/src/components/Tabs/Tabs.static.ts +185 -0
  723. package/src/components/Tabs/Tabs.tsx +130 -0
  724. package/src/components/Tabs/index.ts +5 -0
  725. package/src/components/Tabs/styles/config.scss +78 -0
  726. package/src/components/Tabs/styles/mixins.scss +107 -0
  727. package/src/components/Tabs/styles/style.scss +64 -0
  728. package/src/components/Tabs/tests/Tab.unit.test.js +85 -0
  729. package/src/components/Tabs/tests/TabPanel.unit.test.js +53 -0
  730. package/src/components/Tabs/tests/Tabs.unit.test.js +260 -0
  731. package/src/components/index.ts +33 -2
  732. package/src/styles/base/globals.scss +18 -13
  733. package/src/styles/base/styleguide.scss +1 -1
  734. package/src/styles/before-components.scss +1 -1
  735. package/src/styles/export/breakpoint.ts +12 -0
  736. package/src/styles/export/color.scss +1 -1
  737. package/src/styles/tokens/base.scss +6 -4
  738. package/src/styles/tokens/color.scss +127 -25
  739. package/src/styles/tools/convert.scss +1 -1
  740. package/src/styles/typography/config.scss +187 -0
  741. package/src/{components/Typography/styles → styles/typography}/mixins.scss +31 -24
  742. package/src/{components/Typography/styles → styles/typography}/style.scss +9 -3
  743. package/src/styles/utilities/text.scss +2 -2
  744. package/build/.htaccess +0 -7
  745. package/build/_next/static/chunks/app/layout-69efc42b1696abf9.js +0 -1
  746. package/build/_next/static/chunks/app/page-687dfdffc8d1b6e5.js +0 -1
  747. package/build/_next/static/chunks/webpack-778f3ec87f8d2826.js +0 -1
  748. package/build/_next/static/css/08a2fcd6f5aac3e0.css +0 -1
  749. package/build/_next/static/css/d2fc2f581fe4b371.css +0 -1
  750. package/build/_next/static/rsiMOOYAxBtOjvpzBN4vJ/_buildManifest.js +0 -1
  751. package/build/_redirects +0 -1
  752. package/build/components/types/Badge/index.d.ts +0 -2
  753. package/build/components/types/index.d.ts +0 -4
  754. package/build/fonts/HelvNeue55_W1G.eot +0 -0
  755. package/build/fonts/HelvNeue55_W1G.svg +0 -653
  756. package/build/fonts/HelvNeue55_W1G.ttf +0 -0
  757. package/build/fonts/HelvNeue55_W1G.woff +0 -0
  758. package/build/fonts/HelvNeue55_W1G.woff2 +0 -0
  759. package/build/fonts/HelvNeue75_W1G.eot +0 -0
  760. package/build/fonts/HelvNeue75_W1G.svg +0 -653
  761. package/build/fonts/HelvNeue75_W1G.ttf +0 -0
  762. package/build/fonts/HelvNeue75_W1G.woff +0 -0
  763. package/build/fonts/HelvNeue75_W1G.woff2 +0 -0
  764. package/build/manifest.json +0 -15
  765. package/build/sprite-sg.svg +0 -1
  766. package/public/fonts/HelvNeue55_W1G.eot +0 -0
  767. package/public/fonts/HelvNeue55_W1G.svg +0 -653
  768. package/public/fonts/HelvNeue55_W1G.ttf +0 -0
  769. package/public/fonts/HelvNeue55_W1G.woff +0 -0
  770. package/public/fonts/HelvNeue55_W1G.woff2 +0 -0
  771. package/public/fonts/HelvNeue75_W1G.eot +0 -0
  772. package/public/fonts/HelvNeue75_W1G.svg +0 -653
  773. package/public/fonts/HelvNeue75_W1G.ttf +0 -0
  774. package/public/fonts/HelvNeue75_W1G.woff +0 -0
  775. package/public/fonts/HelvNeue75_W1G.woff2 +0 -0
  776. package/src/components/Badge/Badge.test.js +0 -45
  777. package/src/components/Typography/styles/config.scss +0 -181
  778. /package/build/_next/static/{rsiMOOYAxBtOjvpzBN4vJ → CRhIjUFtohDOfdDfzvfXM}/_ssgManifest.js +0 -0
  779. /package/build/_next/static/chunks/{4bd1b696-67ee12fb04071d3b.js → 4bd1b696-40a218329c8ae32b.js} +0 -0
  780. /package/build/_next/static/chunks/{684-2d117c50cbadadca.js → 684-c72f8f73e7f2d568.js} +0 -0
  781. /package/build/_next/static/chunks/app/_not-found/{page-f08302ee705a96b1.js → page-c799b4c91b89a5c2.js} +0 -0
@@ -0,0 +1,280 @@
1
+ import React from "react";
2
+ import { render } from "@testing-library/react";
3
+
4
+ import Breadcrumbs from "../Breadcrumbs";
5
+
6
+ const itemsArr = [
7
+ { url: "/test1", text: "test1-text" },
8
+ { text: "test2-test" },
9
+ { url: "/test3", text: "test3-text" },
10
+ ];
11
+
12
+ const complexItemsArr = [
13
+ { url: "/home", text: "Domov" },
14
+ { url: "/products", text: "Produkty" },
15
+ { url: "/electronics", text: "Elektronika" },
16
+ { text: "Mobilné telefóny" },
17
+ ];
18
+
19
+ // items array is required
20
+ describe("rendering Breadcrumbs", () => {
21
+ describe("initial state", () => {
22
+ it("has default class osk-breadcrumbs", () => {
23
+ const { getByTestId } = render(
24
+ <Breadcrumbs items={[]} data-testid="test-id" />,
25
+ );
26
+ expect(getByTestId("test-id")).toHaveClass("osk-breadcrumbs");
27
+ });
28
+
29
+ it("ordered list has default class osk-breadcrumbs__container", () => {
30
+ const { container } = render(<Breadcrumbs items={[]} />);
31
+ const orderList = container.querySelector("ol");
32
+ expect(orderList).toBeInTheDocument();
33
+ expect(orderList).toHaveClass("osk-breadcrumbs__container");
34
+ });
35
+
36
+ it("renders empty breadcrumbs when items array is empty", () => {
37
+ const { container } = render(<Breadcrumbs items={[]} />);
38
+ const listItems = container.querySelectorAll("li");
39
+ expect(listItems).toHaveLength(0);
40
+ });
41
+
42
+ it("renders nav element with proper semantic structure", () => {
43
+ const { container } = render(<Breadcrumbs items={[]} />);
44
+ const nav = container.querySelector("nav");
45
+ const ol = container.querySelector("ol");
46
+ expect(nav).toBeInTheDocument();
47
+ expect(ol).toBeInTheDocument();
48
+ expect(nav).toContainElement(ol);
49
+ });
50
+ });
51
+
52
+ describe("passed props", () => {
53
+ it("passes other props", () => {
54
+ const { getByTestId } = render(
55
+ <Breadcrumbs data-testid="test" items={[]} />,
56
+ );
57
+ expect(getByTestId("test")).toBeInTheDocument();
58
+ });
59
+
60
+ it("has additional class when className is set", () => {
61
+ const { getByTestId } = render(
62
+ <Breadcrumbs data-testid="test-id" className="test-class" items={[]} />,
63
+ );
64
+ expect(getByTestId("test-id")).toHaveClass("osk-breadcrumbs");
65
+ expect(getByTestId("test-id")).toHaveClass("test-class");
66
+ });
67
+
68
+ it("nav element has aria-label attribute when label prop is passed", () => {
69
+ const { container } = render(
70
+ <Breadcrumbs data-testid="test" items={[]} label="test-label" />,
71
+ );
72
+ expect(container.querySelector("nav").getAttribute("aria-label")).toBe(
73
+ "test-label",
74
+ );
75
+ });
76
+
77
+ it("has class osk-breadcrumbs--dark when darkMode prop is passed", () => {
78
+ const { container } = render(<Breadcrumbs items={[]} darkMode />);
79
+ expect(
80
+ container.getElementsByClassName("osk-breadcrumbs--dark").length,
81
+ ).toBe(1);
82
+ });
83
+
84
+ it("combines multiple CSS classes correctly", () => {
85
+ const { getByTestId } = render(
86
+ <Breadcrumbs
87
+ data-testid="test-id"
88
+ className="custom-class another-class"
89
+ items={[]}
90
+ />,
91
+ );
92
+ expect(getByTestId("test-id")).toHaveClass("osk-breadcrumbs");
93
+ expect(getByTestId("test-id")).toHaveClass("custom-class");
94
+ expect(getByTestId("test-id")).toHaveClass("another-class");
95
+ });
96
+
97
+ it("renders correct number of breadcrumb items", () => {
98
+ const { container } = render(<Breadcrumbs items={itemsArr} />);
99
+ const listItems = container.querySelectorAll("li");
100
+ expect(listItems).toHaveLength(itemsArr.length);
101
+ });
102
+
103
+ itemsArr.map(({ url, text }, index) => {
104
+ it(`renders BreadcrumbItem with text ${text} ${
105
+ url ? "inside anchor element with url " + url : ""
106
+ }`, () => {
107
+ const { container } = render(<Breadcrumbs items={itemsArr} />);
108
+ const listElements = container.querySelectorAll("li");
109
+ expect(listElements[index].textContent).toBe(text);
110
+ if (url) {
111
+ expect(listElements[index].children[0].getAttribute("href")).toBe(
112
+ url,
113
+ );
114
+ }
115
+ });
116
+ });
117
+
118
+ it("if last item renders anchor element, this element has aria-current attribute set to 'page'", () => {
119
+ const { container } = render(<Breadcrumbs items={itemsArr} />);
120
+ const listElements = container.querySelectorAll("li");
121
+ expect(
122
+ listElements[listElements.length - 1].children[0].getAttribute(
123
+ "aria-current",
124
+ ),
125
+ ).toBe("page");
126
+ });
127
+
128
+ it("marks last item as current page even without URL", () => {
129
+ const { container } = render(<Breadcrumbs items={complexItemsArr} />);
130
+ const listElements = container.querySelectorAll("li");
131
+ const lastItem = listElements[listElements.length - 1];
132
+
133
+ // Last item should not have an anchor tag since it has no URL
134
+ expect(lastItem.querySelector("a")).not.toBeInTheDocument();
135
+ expect(lastItem.textContent).toBe("Mobilné telefóny");
136
+ });
137
+
138
+ it("renders all items with correct text content", () => {
139
+ const { container } = render(<Breadcrumbs items={complexItemsArr} />);
140
+ const listElements = container.querySelectorAll("li");
141
+
142
+ complexItemsArr.forEach((item, index) => {
143
+ expect(listElements[index].textContent).toBe(item.text);
144
+ });
145
+ });
146
+
147
+ it("renders anchor elements with correct href attributes", () => {
148
+ const { container } = render(<Breadcrumbs items={complexItemsArr} />);
149
+ const anchors = container.querySelectorAll("a");
150
+
151
+ // Should have 3 anchors (last item has no URL)
152
+ expect(anchors).toHaveLength(3);
153
+
154
+ anchors.forEach((anchor, index) => {
155
+ expect(anchor.getAttribute("href")).toBe(complexItemsArr[index].url);
156
+ });
157
+ });
158
+
159
+ it("applies correct CSS classes to anchor elements", () => {
160
+ const { container } = render(<Breadcrumbs items={complexItemsArr} />);
161
+ const anchors = container.querySelectorAll("a");
162
+
163
+ anchors.forEach((anchor) => {
164
+ expect(anchor).toHaveClass("osk-breadcrumbs__link");
165
+ });
166
+ });
167
+ });
168
+
169
+ describe("accessibility", () => {
170
+ it("has proper navigation structure", () => {
171
+ const { container } = render(
172
+ <Breadcrumbs items={complexItemsArr} label="Navigácia" />,
173
+ );
174
+
175
+ const nav = container.querySelector("nav");
176
+ const ol = container.querySelector("ol");
177
+
178
+ expect(nav).toHaveAttribute("aria-label", "Navigácia");
179
+ expect(ol).toBeInTheDocument();
180
+ expect(nav).toContainElement(ol);
181
+ });
182
+
183
+ it('last item has aria-current="page" when it has URL', () => {
184
+ const itemsWithLastUrl = [
185
+ { url: "/home", text: "Domov" },
186
+ { url: "/current", text: "Aktuálna stránka" },
187
+ ];
188
+
189
+ const { container } = render(<Breadcrumbs items={itemsWithLastUrl} />);
190
+ const listElements = container.querySelectorAll("li");
191
+ const lastItem = listElements[listElements.length - 1];
192
+ const lastAnchor = lastItem.querySelector("a");
193
+
194
+ expect(lastAnchor).toHaveAttribute("aria-current", "page");
195
+ });
196
+
197
+ it("last item without URL is still marked as current", () => {
198
+ const { container } = render(<Breadcrumbs items={complexItemsArr} />);
199
+ const listElements = container.querySelectorAll("li");
200
+ const lastItem = listElements[listElements.length - 1];
201
+
202
+ // Last item should be the current page even without URL
203
+ expect(lastItem.textContent).toBe("Mobilné telefóny");
204
+ });
205
+ });
206
+
207
+ describe("edge cases", () => {
208
+ it("handles single item correctly", () => {
209
+ const singleItem = [{ text: "Domov" }];
210
+ const { container } = render(<Breadcrumbs items={singleItem} />);
211
+
212
+ const listItems = container.querySelectorAll("li");
213
+ expect(listItems).toHaveLength(1);
214
+ expect(listItems[0].textContent).toBe("Domov");
215
+ });
216
+
217
+ it("handles single item with URL correctly", () => {
218
+ const singleItemWithUrl = [{ url: "/home", text: "Domov" }];
219
+ const { container } = render(<Breadcrumbs items={singleItemWithUrl} />);
220
+
221
+ const listItems = container.querySelectorAll("li");
222
+ const anchor = container.querySelector("a");
223
+
224
+ expect(listItems).toHaveLength(1);
225
+ expect(anchor).toHaveAttribute("href", "/home");
226
+ expect(anchor).toHaveAttribute("aria-current", "page");
227
+ });
228
+
229
+ it("handles items with special characters in text", () => {
230
+ const specialItems = [
231
+ { url: "/test", text: "Test & More" },
232
+ { text: "Special: Characters!" },
233
+ ];
234
+
235
+ const { container } = render(<Breadcrumbs items={specialItems} />);
236
+ const listItems = container.querySelectorAll("li");
237
+
238
+ expect(listItems[0].textContent).toBe("Test & More");
239
+ expect(listItems[1].textContent).toBe("Special: Characters!");
240
+ });
241
+
242
+ it("handles items with empty text gracefully", () => {
243
+ const emptyTextItems = [
244
+ { url: "/test", text: "" },
245
+ { text: "Valid text" },
246
+ ];
247
+
248
+ const { container } = render(<Breadcrumbs items={emptyTextItems} />);
249
+ const listItems = container.querySelectorAll("li");
250
+
251
+ expect(listItems[0].textContent).toBe("");
252
+ expect(listItems[1].textContent).toBe("Valid text");
253
+ });
254
+ });
255
+
256
+ describe("interaction", () => {
257
+ it("anchor elements are clickable", async () => {
258
+ const { container } = render(<Breadcrumbs items={complexItemsArr} />);
259
+
260
+ const anchors = container.querySelectorAll("a");
261
+ expect(anchors).toHaveLength(3);
262
+
263
+ // Test that anchors are focusable
264
+ for (const anchor of anchors) {
265
+ expect(anchor).toHaveAttribute("href");
266
+ expect(anchor).not.toBeDisabled();
267
+ }
268
+ });
269
+
270
+ it("maintains proper tab order", () => {
271
+ const { container } = render(<Breadcrumbs items={complexItemsArr} />);
272
+ const anchors = container.querySelectorAll("a");
273
+
274
+ // All anchors should be focusable
275
+ anchors.forEach((anchor) => {
276
+ expect(anchor).toHaveAttribute("href");
277
+ });
278
+ });
279
+ });
280
+ });
@@ -0,0 +1,273 @@
1
+ import { ComponentDocs, Code } from '@lighting-beetle/lighter-styleguide';
2
+
3
+ import { Preview } from '../../styleguide/';
4
+ import { Grid, GridCol, Icon, Bar, BarItem } from '../';
5
+
6
+ import Button from './Button';
7
+ import IconButton from './IconButton';
8
+
9
+ export const buttonVariants = ['default', 'primary', 'fill', 'ghost'];
10
+
11
+ # Button
12
+
13
+ Buttons are control elements used for navigating and operating a page and form submission.
14
+
15
+ ## Example
16
+
17
+ <Button>Button</Button>
18
+
19
+ ## Elements
20
+
21
+ The `<Button />` component can render as `<a>` or `<button>`. Take care to always use the appropriate element:
22
+
23
+ - `<a>` if it takes you somewhere (on page or elsewhere)
24
+ - `<button>` if it does something (controls a section, submits a form, etc.)
25
+
26
+ [Additional resources](#additional-resources)
27
+
28
+ <Preview>
29
+ <Button>Button</Button>
30
+ <br />
31
+ <Button href="#">Anchor</Button>
32
+ </Preview>
33
+
34
+ ## Arrangement
35
+
36
+ The Button component implements right and bottom margin to ensure horizontal flow between multiple button elements and vertical flow with regular text. In case your buttons might break into multiple lines, use the [Buttons component](/components/buttons). The following example shows, that buttons flow nicely between paragraphs and the non-ideal case when they break into multiple lines.
37
+
38
+ <Preview>
39
+ <p>
40
+ Buttons sit next to each other and provide necessary spacing when used in
41
+ regular text
42
+ </p>
43
+ <Button>Button 1</Button>
44
+ <Button>Button 2</Button>
45
+ <p>This paragraph is offset byt the bottom margin of preceeding buttons</p>
46
+ <Button>Don't do this</Button>
47
+ <br />
48
+ <Button href="/components/buttons">Wrap us in Buttons</Button>
49
+ <p>
50
+ When buttons might break into multiple lines, wrap them usng{' '}
51
+ <a href="/components/buttons">Buttons component</a> for better vertical
52
+ spacing.
53
+ </p>
54
+ </Preview>
55
+
56
+ ## Variants
57
+
58
+ <React.Fragment>
59
+ {buttonVariants.map(variant => {
60
+ const variantProp = variant === 'default' ? undefined : variant;
61
+ const variantName = variant.charAt(0).toUpperCase() + variant.slice(1);
62
+ return (
63
+ <React.Fragment key={variant}>
64
+ <h3>{variantName}</h3>
65
+ <Preview>
66
+ <Button type={variantProp}>{variantName}</Button>
67
+ <Button type={variantProp} isActive>
68
+ {variantName} active
69
+ </Button>
70
+ <Button type={variantProp} isDisabled>
71
+ {variantName} disabled
72
+ </Button>
73
+ </Preview>
74
+ </React.Fragment>
75
+ );
76
+ })}
77
+ </React.Fragment>
78
+ <React.Fragment>
79
+ {buttonVariants.map(variant => {
80
+ const variantProp = variant === 'default' ? undefined : variant;
81
+ const variantName = variant.charAt(0).toUpperCase() + variant.slice(1);
82
+ return (
83
+ <React.Fragment key={variant}>
84
+ <h3>{variantName} inverse </h3>
85
+ <Preview bgTheme="black">
86
+ <Button isInverse type={variantProp}>
87
+ {variantName} inverse
88
+ </Button>
89
+ <Button isInverse type={variantProp} isActive>
90
+ {variantName} inverse active
91
+ </Button>
92
+ <Button isInverse type={variantProp} isDisabled>
93
+ {variantName} inverse disabled
94
+ </Button>
95
+ </Preview>
96
+ </React.Fragment>
97
+ );
98
+ })}
99
+ </React.Fragment>
100
+
101
+ ## Default important
102
+
103
+ When white background is used inside black background, button uses style defined for black one and therefore has incorrect colour scheme. For this case we have class .btn--default that forces button to use default styles.
104
+
105
+ <Preview
106
+ code={
107
+ <div className="bg-black">
108
+ <div className="bg-white">
109
+ <Button isDefault>button</Button>
110
+ <Button>button</Button>
111
+ </div>
112
+ </div>
113
+ }
114
+ >
115
+ <div className="bg-black" style={{ padding: '15px', paddingTop: '30px' }}>
116
+ <div className="bg-white">
117
+ <Bar>
118
+ <BarItem>
119
+ <Button isDefault>button</Button>
120
+ </BarItem>
121
+ <BarItem>{'<-- button with btn--default class'}</BarItem>
122
+ </Bar>
123
+ <Bar className="mb-none">
124
+ <BarItem>
125
+ <Button>button</Button>
126
+ </BarItem>
127
+ <BarItem>{"<-- there's a button"}</BarItem>
128
+ </Bar>
129
+ </div>
130
+ </div>
131
+ </Preview>
132
+
133
+ ## Sizes
134
+
135
+ <Preview>
136
+ <Button size="large">Large</Button>
137
+ <Button>Default</Button>
138
+ <Button size="small">Small</Button>
139
+ </Preview>
140
+
141
+ ## Square
142
+
143
+ Square buttons maintain their shape, no matter what you throw inside. They should be used for [icons](#icon-only).
144
+
145
+ <Preview>
146
+ <Button isSquare size="small">
147
+ A
148
+ </Button>
149
+ <Button isSquare>A</Button>
150
+ <Button isSquare size="large">
151
+ A
152
+ </Button>
153
+ <br />
154
+ <Button isSquare size="small">
155
+ Overflow
156
+ </Button>
157
+ <Button isSquare>Overflow</Button>
158
+ <Button isSquare size="large">
159
+ Overflow
160
+ </Button>
161
+ </Preview>
162
+
163
+ ## Icons
164
+
165
+ ### Icon only
166
+
167
+ <Preview>
168
+ <IconButton size="small" isSquare iconName="settings">
169
+ Settings
170
+ </IconButton>
171
+ <IconButton isSquare iconName="settings">
172
+ Settings
173
+ </IconButton>
174
+ <IconButton size="large" isSquare iconName="settings">
175
+ Settings
176
+ </IconButton>
177
+ <br />
178
+ <IconButton type="ghost" size="small" isSquare iconName="settings">
179
+ Settings
180
+ </IconButton>
181
+ <IconButton type="ghost" isSquare iconName="settings">
182
+ Settings
183
+ </IconButton>
184
+ <IconButton type="ghost" size="large" isSquare iconName="settings">
185
+ Settings
186
+ </IconButton>
187
+ </Preview>
188
+
189
+ ### Icon and text
190
+
191
+ <Preview>
192
+ <IconButton type="primary" size="small" iconName="add">
193
+ Pridať
194
+ </IconButton>
195
+ <IconButton type="primary" iconName="add">
196
+ Pridať
197
+ </IconButton>
198
+ <IconButton type="primary" size="large" iconName="add">
199
+ Pridať
200
+ </IconButton>
201
+ <br />
202
+ <IconButton size="small" iconName="chevron-down" iconPosition="right">
203
+ Vybrať
204
+ </IconButton>
205
+ <IconButton iconName="chevron-down" iconPosition="right">
206
+ Vybrať
207
+ </IconButton>
208
+ <IconButton size="large" iconName="chevron-down" iconPosition="right">
209
+ Vybrať
210
+ </IconButton>
211
+ <br />
212
+ <IconButton
213
+ type="ghost"
214
+ size="small"
215
+ iconName="chevron-right"
216
+ iconPosition="right"
217
+ >
218
+ Ďalej
219
+ </IconButton>
220
+ <IconButton type="ghost" iconName="chevron-right" iconPosition="right">
221
+ Ďalej
222
+ </IconButton>
223
+ <IconButton
224
+ type="ghost"
225
+ size="large"
226
+ iconName="chevron-right"
227
+ iconPosition="right"
228
+ >
229
+ Ďalej
230
+ </IconButton>
231
+ </Preview>
232
+
233
+ ## Props
234
+
235
+ <ComponentDocs title="<Button />" component={Button} />
236
+ <ComponentDocs title="<IconButton />" component={IconButton} />
237
+
238
+ ## Accessibility
239
+
240
+ The `<Button />` component can render as `<a>` or `<button>`. Take care to always use the appropriate element. The rule of thumb is to use `<a>` if it takes you somewhere, `<button>` if it does something and `<button type="submit/rest">` if it's used as a form control. Check the [articles below](#additional-resources) for more information.
241
+
242
+ ### Color contrast
243
+
244
+ Buttons do not meet [Success Criterion 1.4.3: Contrast (Minimum)](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html) due to insufficient contrast between white and orange brand colors.
245
+
246
+ [Technique G145](https://www.w3.org/WAI/WCAG21/Techniques/general/G145) describes that increasing font size is sufficient to meet [Success Criterion 1.4.3: Contrast (Minimum)](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html), but a business decision has been made not to follow this for aesthetics reasons.
247
+
248
+ ### Don't disable buttons
249
+
250
+ Especially form submit buttons. A disabled button is not keyboard focusable. Instead of using the `[disabled]` attribute, it's advised to rather use `[aria-disabled=true]` - it still remains focusable, and a screenreader can find it and announce it's contents, along with the information that it's disabled.
251
+
252
+ Users should be able to submit incomplete and invalid forms, and should get relevant validation feedback, which explains what went wrong and how to fix it. It's considered a bad practice to let the user figure out thier errors themselves.
253
+
254
+ ### Icons
255
+
256
+ While it's recommended to always show a textual label acompanying an icon, this rule can't be always followed. When this happens, always make sure there is a textual alternative readable by assistive technology. There are three options:
257
+
258
+ - alt attribute on the icon OR
259
+ - `[aria-label]` on the button element OR
260
+ - a visually visually hidden but accessible element (e.g. `.sr-only`)
261
+
262
+ ### Additional resources
263
+
264
+ - [When Is A Button Not A Button?](https://www.smashingmagazine.com/2019/02/buttons-interfaces/)
265
+ - [Anchors, Buttons, And Accessibility](https://formidable.com/blog/2014/05/08/anchors-buttons-and-accessibility/)
266
+
267
+ ## Aliases
268
+
269
+ ```
270
+ <ButtonPrimary /> === <Button type="primary" />
271
+ <ButtonFill /> === <Button type="fill" />
272
+ <ButtonGhost /> === <Button type="ghost" />
273
+ ```
@@ -0,0 +1,105 @@
1
+ import React from "react";
2
+ import cx from "classnames";
3
+
4
+ export type ButtonSize = "small" | "large";
5
+ export type ButtonType = "primary" | "fill" | "ghost";
6
+
7
+ interface CommonProps {
8
+ elemRef?: React.Ref<any>;
9
+ htmlType?: "button" | "submit" | "reset";
10
+ isActive?: boolean;
11
+ isDefault?: boolean;
12
+ isDisabled?: boolean;
13
+ isInverse?: boolean;
14
+ isSquare?: boolean;
15
+ size?: ButtonSize;
16
+ type?: ButtonType;
17
+ className?: string;
18
+ children?: React.ReactNode;
19
+ }
20
+
21
+ type AnchorProps = CommonProps &
22
+ Omit<
23
+ React.AnchorHTMLAttributes<HTMLAnchorElement>,
24
+ keyof CommonProps | "type" | "ref"
25
+ > & {
26
+ href: string;
27
+ };
28
+
29
+ type NativeButtonProps = CommonProps &
30
+ Omit<
31
+ React.ButtonHTMLAttributes<HTMLButtonElement>,
32
+ keyof CommonProps | "href" | "ref"
33
+ > & {
34
+ href?: undefined;
35
+ };
36
+
37
+ export type ButtonProps = AnchorProps | NativeButtonProps;
38
+
39
+ const CLASS_ROOT = "btn";
40
+
41
+ const Button = React.forwardRef<any, ButtonProps>((props, ref) => {
42
+ const {
43
+ className,
44
+ children,
45
+ htmlType = "button",
46
+ href,
47
+ isActive,
48
+ isDefault,
49
+ isDisabled,
50
+ isInverse,
51
+ size,
52
+ isSquare,
53
+ type,
54
+ elemRef,
55
+ ...other
56
+ } = props;
57
+
58
+ const classes = cx(
59
+ CLASS_ROOT,
60
+ {
61
+ [`${CLASS_ROOT}--square`]: isSquare,
62
+ [`${CLASS_ROOT}--${size}`]: size,
63
+ [`${CLASS_ROOT}--${type}`]: type,
64
+ [`${CLASS_ROOT}--default`]: isDefault,
65
+ [`${CLASS_ROOT}--inverse`]: isInverse,
66
+ "is-active": isActive,
67
+ },
68
+ className,
69
+ );
70
+
71
+ if (href) {
72
+ // Anchor element
73
+ const anchorProps = other as React.AnchorHTMLAttributes<HTMLAnchorElement>;
74
+ return (
75
+ <a
76
+ href={href}
77
+ className={classes}
78
+ aria-disabled={isDisabled ? "true" : undefined}
79
+ ref={elemRef || ref}
80
+ {...anchorProps}
81
+ >
82
+ {children}
83
+ </a>
84
+ );
85
+ } else {
86
+ // Button element
87
+ const buttonProps = other as React.ButtonHTMLAttributes<HTMLButtonElement>;
88
+ return (
89
+ <button
90
+ type={htmlType}
91
+ className={classes}
92
+ disabled={isDisabled ? true : undefined}
93
+ aria-disabled={isDisabled ? "true" : undefined}
94
+ ref={elemRef || ref}
95
+ {...buttonProps}
96
+ >
97
+ {children}
98
+ </button>
99
+ );
100
+ }
101
+ });
102
+
103
+ Button.displayName = "Button";
104
+
105
+ export { Button };