@rte-ds/core 1.2.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 (739) hide show
  1. package/CHANGELOG.md +320 -0
  2. package/assets/fonts/nunito-bold-700.woff2 +0 -0
  3. package/assets/fonts/nunito-light-300.woff2 +0 -0
  4. package/assets/fonts/nunito-regular-400.woff2 +0 -0
  5. package/assets/fonts/nunito-semi-bold-600.woff2 +0 -0
  6. package/assets/icons/add.svg +3 -0
  7. package/assets/icons/add_circle_filled.svg +3 -0
  8. package/assets/icons/add_circle_outlined.svg +3 -0
  9. package/assets/icons/admin_panel_settings_filled.svg +3 -0
  10. package/assets/icons/admin_panel_settings_outlined.svg +3 -0
  11. package/assets/icons/alt_route.svg +3 -0
  12. package/assets/icons/analytics_filled.svg +3 -0
  13. package/assets/icons/analytics_outlined.svg +3 -0
  14. package/assets/icons/apps.svg +3 -0
  15. package/assets/icons/archive_filled.svg +3 -0
  16. package/assets/icons/archive_outlined.svg +3 -0
  17. package/assets/icons/arrow_alt_down.svg +3 -0
  18. package/assets/icons/arrow_alt_down_left.svg +3 -0
  19. package/assets/icons/arrow_alt_down_right.svg +3 -0
  20. package/assets/icons/arrow_alt_left.svg +3 -0
  21. package/assets/icons/arrow_alt_right.svg +3 -0
  22. package/assets/icons/arrow_alt_up.svg +3 -0
  23. package/assets/icons/arrow_alt_up_left.svg +3 -0
  24. package/assets/icons/arrow_alt_up_right.svg +3 -0
  25. package/assets/icons/arrow_angle_down_left.svg +3 -0
  26. package/assets/icons/arrow_angle_down_right.svg +3 -0
  27. package/assets/icons/arrow_angle_up_left.svg +3 -0
  28. package/assets/icons/arrow_angle_up_right.svg +3 -0
  29. package/assets/icons/arrow_chevron_down.svg +3 -0
  30. package/assets/icons/arrow_chevron_left.svg +3 -0
  31. package/assets/icons/arrow_chevron_right.svg +3 -0
  32. package/assets/icons/arrow_chevron_up.svg +3 -0
  33. package/assets/icons/arrow_circle_chevron_down_filled.svg +3 -0
  34. package/assets/icons/arrow_circle_chevron_down_outlined.svg +3 -0
  35. package/assets/icons/arrow_circle_chevron_left_filled.svg +3 -0
  36. package/assets/icons/arrow_circle_chevron_left_outlined.svg +3 -0
  37. package/assets/icons/arrow_circle_chevron_right_filled.svg +3 -0
  38. package/assets/icons/arrow_circle_chevron_right_outlined.svg +3 -0
  39. package/assets/icons/arrow_circle_chevron_up_filled.svg +3 -0
  40. package/assets/icons/arrow_circle_chevron_up_outlined.svg +3 -0
  41. package/assets/icons/arrow_circle_down_filled.svg +3 -0
  42. package/assets/icons/arrow_circle_down_outlined.svg +3 -0
  43. package/assets/icons/arrow_circle_left_filled.svg +3 -0
  44. package/assets/icons/arrow_circle_left_outlined.svg +3 -0
  45. package/assets/icons/arrow_circle_right_filled.svg +3 -0
  46. package/assets/icons/arrow_circle_right_outlined.svg +3 -0
  47. package/assets/icons/arrow_circle_up_filled.svg +3 -0
  48. package/assets/icons/arrow_circle_up_outlined.svg +3 -0
  49. package/assets/icons/arrow_double_down.svg +3 -0
  50. package/assets/icons/arrow_double_left.svg +3 -0
  51. package/assets/icons/arrow_double_right.svg +3 -0
  52. package/assets/icons/arrow_double_up.svg +3 -0
  53. package/assets/icons/arrow_down.svg +3 -0
  54. package/assets/icons/arrow_down_left.svg +3 -0
  55. package/assets/icons/arrow_down_right.svg +3 -0
  56. package/assets/icons/arrow_drop_down.svg +3 -0
  57. package/assets/icons/arrow_drop_up.svg +3 -0
  58. package/assets/icons/arrow_left.svg +3 -0
  59. package/assets/icons/arrow_right.svg +3 -0
  60. package/assets/icons/arrow_up.svg +3 -0
  61. package/assets/icons/arrow_up_left.svg +3 -0
  62. package/assets/icons/arrow_up_right.svg +3 -0
  63. package/assets/icons/article_filled.svg +3 -0
  64. package/assets/icons/article_outlined.svg +3 -0
  65. package/assets/icons/assignment_complete_filled.svg +3 -0
  66. package/assets/icons/assignment_complete_outlined.svg +3 -0
  67. package/assets/icons/assignment_filled.svg +3 -0
  68. package/assets/icons/assignment_outlined.svg +3 -0
  69. package/assets/icons/asterisk.svg +3 -0
  70. package/assets/icons/attach_file.svg +3 -0
  71. package/assets/icons/battery_alert_filled.svg +3 -0
  72. package/assets/icons/battery_alert_outlined.svg +3 -0
  73. package/assets/icons/battery_alt_empty.svg +3 -0
  74. package/assets/icons/battery_alt_full.svg +3 -0
  75. package/assets/icons/battery_charging.svg +3 -0
  76. package/assets/icons/battery_charging_full_filled.svg +3 -0
  77. package/assets/icons/battery_charging_full_outlined.svg +3 -0
  78. package/assets/icons/battery_empty.svg +3 -0
  79. package/assets/icons/battery_full.svg +3 -0
  80. package/assets/icons/bluetooth.svg +3 -0
  81. package/assets/icons/bluetooth_off.svg +3 -0
  82. package/assets/icons/bolt_alt_circle_filled.svg +3 -0
  83. package/assets/icons/bolt_alt_circle_outlined.svg +3 -0
  84. package/assets/icons/bolt_alt_filled.svg +3 -0
  85. package/assets/icons/bolt_alt_outlined.svg +3 -0
  86. package/assets/icons/bolt_circle_filled.svg +3 -0
  87. package/assets/icons/bolt_circle_outlined.svg +3 -0
  88. package/assets/icons/bolt_filled.svg +3 -0
  89. package/assets/icons/bolt_outlined.svg +3 -0
  90. package/assets/icons/bookmark_filled.svg +3 -0
  91. package/assets/icons/bookmark_outlined.svg +3 -0
  92. package/assets/icons/bookmarks_filled.svg +3 -0
  93. package/assets/icons/bookmarks_outlined.svg +3 -0
  94. package/assets/icons/build_filled.svg +3 -0
  95. package/assets/icons/build_outlined.svg +3 -0
  96. package/assets/icons/calendar_available_filled.svg +3 -0
  97. package/assets/icons/calendar_available_outlined.svg +3 -0
  98. package/assets/icons/calendar_busy_filled.svg +3 -0
  99. package/assets/icons/calendar_busy_outlined.svg +3 -0
  100. package/assets/icons/calendar_month_filled.svg +3 -0
  101. package/assets/icons/calendar_month_outlined.svg +3 -0
  102. package/assets/icons/calendar_today_filled.svg +3 -0
  103. package/assets/icons/calendar_today_outlined.svg +3 -0
  104. package/assets/icons/call_filled.svg +3 -0
  105. package/assets/icons/call_outlined.svg +3 -0
  106. package/assets/icons/cancel_filled.svg +3 -0
  107. package/assets/icons/cancel_outlined.svg +3 -0
  108. package/assets/icons/category_filled.svg +3 -0
  109. package/assets/icons/category_outlined.svg +3 -0
  110. package/assets/icons/chart_add_filled.svg +3 -0
  111. package/assets/icons/chart_add_outlined.svg +3 -0
  112. package/assets/icons/chart_area_filled.svg +3 -0
  113. package/assets/icons/chart_area_outlined.svg +3 -0
  114. package/assets/icons/chart_bar.svg +3 -0
  115. package/assets/icons/chart_bar_stacked.svg +3 -0
  116. package/assets/icons/chart_pie_filled.svg +3 -0
  117. package/assets/icons/chart_pie_outlined.svg +3 -0
  118. package/assets/icons/chart_table_filled.svg +3 -0
  119. package/assets/icons/chart_table_outlined.svg +3 -0
  120. package/assets/icons/chat_alt_filled.svg +3 -0
  121. package/assets/icons/chat_alt_outlined.svg +3 -0
  122. package/assets/icons/chat_alt_unread_filled.svg +3 -0
  123. package/assets/icons/chat_alt_unread_outlined.svg +3 -0
  124. package/assets/icons/chat_filled.svg +3 -0
  125. package/assets/icons/chat_outlined.svg +3 -0
  126. package/assets/icons/chat_unread_filled.svg +3 -0
  127. package/assets/icons/chat_unread_outlined.svg +3 -0
  128. package/assets/icons/check.svg +3 -0
  129. package/assets/icons/check_circle_filled.svg +3 -0
  130. package/assets/icons/check_circle_outlined.svg +3 -0
  131. package/assets/icons/check_indeterminate.svg +3 -0
  132. package/assets/icons/check_small.svg +3 -0
  133. package/assets/icons/checkbox_empty.svg +3 -0
  134. package/assets/icons/checkbox_filled.svg +3 -0
  135. package/assets/icons/checkbox_indeterminate_filled.svg +3 -0
  136. package/assets/icons/checkbox_indeterminate_outlined.svg +3 -0
  137. package/assets/icons/checkbox_outlined.svg +3 -0
  138. package/assets/icons/clock_filled.svg +3 -0
  139. package/assets/icons/clock_outlined.svg +3 -0
  140. package/assets/icons/close.svg +3 -0
  141. package/assets/icons/cloud_download_filled.svg +3 -0
  142. package/assets/icons/cloud_download_outlined.svg +3 -0
  143. package/assets/icons/cloud_filled.svg +3 -0
  144. package/assets/icons/cloud_off_filled.svg +3 -0
  145. package/assets/icons/cloud_off_outlined.svg +3 -0
  146. package/assets/icons/cloud_outlined.svg +3 -0
  147. package/assets/icons/cloud_upload_filled.svg +3 -0
  148. package/assets/icons/cloud_upload_outlined.svg +3 -0
  149. package/assets/icons/comment_add_filled.svg +3 -0
  150. package/assets/icons/comment_add_outlined.svg +3 -0
  151. package/assets/icons/comment_filled.svg +3 -0
  152. package/assets/icons/comment_outlined.svg +3 -0
  153. package/assets/icons/compare.svg +3 -0
  154. package/assets/icons/copy_all.svg +3 -0
  155. package/assets/icons/copy_filled.svg +3 -0
  156. package/assets/icons/copy_outlined.svg +3 -0
  157. package/assets/icons/crisis_alert.svg +3 -0
  158. package/assets/icons/cut.svg +3 -0
  159. package/assets/icons/dangerous_filled.svg +3 -0
  160. package/assets/icons/dangerous_outlined.svg +3 -0
  161. package/assets/icons/dashboard_filled.svg +3 -0
  162. package/assets/icons/dashboard_outlined.svg +3 -0
  163. package/assets/icons/database_filled.svg +3 -0
  164. package/assets/icons/database_outlined.svg +3 -0
  165. package/assets/icons/delete_filled.svg +3 -0
  166. package/assets/icons/delete_outlined.svg +3 -0
  167. package/assets/icons/desktop_filled.svg +3 -0
  168. package/assets/icons/desktop_outlined.svg +3 -0
  169. package/assets/icons/devices_filled.svg +3 -0
  170. package/assets/icons/devices_outlined.svg +3 -0
  171. package/assets/icons/download.svg +3 -0
  172. package/assets/icons/download_done.svg +3 -0
  173. package/assets/icons/draft_filled.svg +3 -0
  174. package/assets/icons/draft_outlined.svg +3 -0
  175. package/assets/icons/drag_handle.svg +3 -0
  176. package/assets/icons/drag_indicator.svg +3 -0
  177. package/assets/icons/eco_filled.svg +3 -0
  178. package/assets/icons/eco_outlined.svg +3 -0
  179. package/assets/icons/edit_filled.svg +3 -0
  180. package/assets/icons/edit_outlined.svg +3 -0
  181. package/assets/icons/electric_meter_filled.svg +3 -0
  182. package/assets/icons/electric_meter_outlined.svg +3 -0
  183. package/assets/icons/error_filled.svg +3 -0
  184. package/assets/icons/error_outlined.svg +3 -0
  185. package/assets/icons/exclamation.svg +3 -0
  186. package/assets/icons/explore_filled.svg +3 -0
  187. package/assets/icons/explore_off_filled.svg +3 -0
  188. package/assets/icons/explore_off_outlined.svg +3 -0
  189. package/assets/icons/explore_outlined.svg +3 -0
  190. package/assets/icons/explore_travel.svg +3 -0
  191. package/assets/icons/external_link.svg +3 -0
  192. package/assets/icons/fast_forward_filled.svg +3 -0
  193. package/assets/icons/fast_forward_outlined.svg +3 -0
  194. package/assets/icons/fast_rewind_filled.svg +3 -0
  195. package/assets/icons/fast_rewind_outlined.svg +3 -0
  196. package/assets/icons/feedback_filled.svg +3 -0
  197. package/assets/icons/feedback_outlined.svg +3 -0
  198. package/assets/icons/file_copy_filled.svg +3 -0
  199. package/assets/icons/file_copy_outlined.svg +3 -0
  200. package/assets/icons/file_download_filled.svg +3 -0
  201. package/assets/icons/file_download_outlined.svg +3 -0
  202. package/assets/icons/file_upload_filled.svg +3 -0
  203. package/assets/icons/file_upload_outlined.svg +3 -0
  204. package/assets/icons/filter.svg +3 -0
  205. package/assets/icons/filter_alt_filled.svg +3 -0
  206. package/assets/icons/filter_alt_off_filled.svg +3 -0
  207. package/assets/icons/filter_alt_off_outlined.svg +3 -0
  208. package/assets/icons/filter_alt_outlined.svg +3 -0
  209. package/assets/icons/filter_off.svg +3 -0
  210. package/assets/icons/fire_filled.svg +3 -0
  211. package/assets/icons/fire_outlined.svg +3 -0
  212. package/assets/icons/first_page.svg +3 -0
  213. package/assets/icons/fit_screen_filled.svg +3 -0
  214. package/assets/icons/fit_screen_outlined.svg +3 -0
  215. package/assets/icons/flag_filled.svg +3 -0
  216. package/assets/icons/flag_outlined.svg +3 -0
  217. package/assets/icons/flash_filled.svg +3 -0
  218. package/assets/icons/flash_off_filled.svg +3 -0
  219. package/assets/icons/flash_off_outlined.svg +3 -0
  220. package/assets/icons/flash_outlined.svg +3 -0
  221. package/assets/icons/folder_add_filled.svg +3 -0
  222. package/assets/icons/folder_add_outlined.svg +3 -0
  223. package/assets/icons/folder_filled.svg +3 -0
  224. package/assets/icons/folder_move_filled.svg +3 -0
  225. package/assets/icons/folder_move_outlined.svg +3 -0
  226. package/assets/icons/folder_open_filled.svg +3 -0
  227. package/assets/icons/folder_open_outlined.svg +3 -0
  228. package/assets/icons/folder_outlined.svg +3 -0
  229. package/assets/icons/folder_shared_filled.svg +3 -0
  230. package/assets/icons/folder_shared_outlined.svg +3 -0
  231. package/assets/icons/forum_filled.svg +3 -0
  232. package/assets/icons/forum_outlined.svg +3 -0
  233. package/assets/icons/forward.svg +3 -0
  234. package/assets/icons/fullscreen.svg +3 -0
  235. package/assets/icons/fullscreen_exit.svg +3 -0
  236. package/assets/icons/group_add_filled.svg +3 -0
  237. package/assets/icons/group_add_outlined.svg +3 -0
  238. package/assets/icons/group_filled.svg +3 -0
  239. package/assets/icons/group_outlined.svg +3 -0
  240. package/assets/icons/groups_filled.svg +3 -0
  241. package/assets/icons/groups_outlined.svg +3 -0
  242. package/assets/icons/headphones_filled.svg +3 -0
  243. package/assets/icons/headphones_outlined.svg +3 -0
  244. package/assets/icons/heart_filled.svg +3 -0
  245. package/assets/icons/heart_outlined.svg +3 -0
  246. package/assets/icons/help_filled.svg +3 -0
  247. package/assets/icons/help_outlined.svg +3 -0
  248. package/assets/icons/history.svg +3 -0
  249. package/assets/icons/home_filled.svg +3 -0
  250. package/assets/icons/home_outlined.svg +3 -0
  251. package/assets/icons/hourglass_empty.svg +3 -0
  252. package/assets/icons/hourglass_filled.svg +3 -0
  253. package/assets/icons/hourglass_outlined.svg +3 -0
  254. package/assets/icons/image_broken_filled.svg +3 -0
  255. package/assets/icons/image_broken_outlined.svg +3 -0
  256. package/assets/icons/image_filled.svg +3 -0
  257. package/assets/icons/image_gallery_filled.svg +3 -0
  258. package/assets/icons/image_gallery_outlined.svg +3 -0
  259. package/assets/icons/image_outlined.svg +3 -0
  260. package/assets/icons/inbox_filled.svg +3 -0
  261. package/assets/icons/inbox_outlined.svg +3 -0
  262. package/assets/icons/info_filled.svg +3 -0
  263. package/assets/icons/info_i.svg +3 -0
  264. package/assets/icons/info_outlined.svg +3 -0
  265. package/assets/icons/keep_filled.svg +3 -0
  266. package/assets/icons/keep_off_filled.svg +3 -0
  267. package/assets/icons/keep_off_outlined.svg +3 -0
  268. package/assets/icons/keep_outlined.svg +3 -0
  269. package/assets/icons/label_filled.svg +3 -0
  270. package/assets/icons/label_outlined.svg +3 -0
  271. package/assets/icons/language.svg +3 -0
  272. package/assets/icons/laptop_filled.svg +3 -0
  273. package/assets/icons/laptop_outlined.svg +3 -0
  274. package/assets/icons/last_page.svg +3 -0
  275. package/assets/icons/left_panel_close_filled.svg +3 -0
  276. package/assets/icons/left_panel_close_outlined.svg +3 -0
  277. package/assets/icons/left_panel_open_filled.svg +3 -0
  278. package/assets/icons/left_panel_open_outlined.svg +3 -0
  279. package/assets/icons/light_off_filled.svg +3 -0
  280. package/assets/icons/light_off_outlined.svg +3 -0
  281. package/assets/icons/lightbulb_alt_filled.svg +3 -0
  282. package/assets/icons/lightbulb_alt_outlined.svg +3 -0
  283. package/assets/icons/lightbulb_circle_filled.svg +3 -0
  284. package/assets/icons/lightbulb_circle_outlined.svg +3 -0
  285. package/assets/icons/lightbulb_filled.svg +3 -0
  286. package/assets/icons/lightbulb_outlined.svg +3 -0
  287. package/assets/icons/link.svg +3 -0
  288. package/assets/icons/link_off.svg +3 -0
  289. package/assets/icons/list.svg +3 -0
  290. package/assets/icons/list_alt_filled.svg +3 -0
  291. package/assets/icons/list_alt_outlined.svg +3 -0
  292. package/assets/icons/location_disabled.svg +10 -0
  293. package/assets/icons/location_me_filled.svg +3 -0
  294. package/assets/icons/location_me_outlined.svg +3 -0
  295. package/assets/icons/location_off_filled.svg +3 -0
  296. package/assets/icons/location_off_outlined.svg +3 -0
  297. package/assets/icons/location_on_filled.svg +3 -0
  298. package/assets/icons/location_on_outlined.svg +3 -0
  299. package/assets/icons/lock_filled.svg +3 -0
  300. package/assets/icons/lock_open_filled.svg +3 -0
  301. package/assets/icons/lock_open_outlined.svg +3 -0
  302. package/assets/icons/lock_open_right_filled.svg +3 -0
  303. package/assets/icons/lock_open_right_outlined.svg +3 -0
  304. package/assets/icons/lock_outlined.svg +3 -0
  305. package/assets/icons/login.svg +3 -0
  306. package/assets/icons/logout.svg +3 -0
  307. package/assets/icons/mail_filled.svg +3 -0
  308. package/assets/icons/mail_outlined.svg +3 -0
  309. package/assets/icons/mail_unread_filled.svg +3 -0
  310. package/assets/icons/mail_unread_outlined.svg +3 -0
  311. package/assets/icons/map_filled.svg +3 -0
  312. package/assets/icons/map_outlined.svg +3 -0
  313. package/assets/icons/menu.svg +3 -0
  314. package/assets/icons/menu_open.svg +3 -0
  315. package/assets/icons/mic_filled.svg +3 -0
  316. package/assets/icons/mic_off_filled.svg +3 -0
  317. package/assets/icons/mic_off_outlined.svg +3 -0
  318. package/assets/icons/mic_outlined.svg +3 -0
  319. package/assets/icons/mode_dark_filled.svg +3 -0
  320. package/assets/icons/mode_dark_outlined.svg +3 -0
  321. package/assets/icons/mode_light_filled.svg +10 -0
  322. package/assets/icons/mode_light_outlined.svg +10 -0
  323. package/assets/icons/monitoring.svg +3 -0
  324. package/assets/icons/more_down.svg +3 -0
  325. package/assets/icons/more_horiz.svg +3 -0
  326. package/assets/icons/more_up.svg +3 -0
  327. package/assets/icons/more_vert.svg +3 -0
  328. package/assets/icons/notification_filled.svg +3 -0
  329. package/assets/icons/notification_important_filled.svg +3 -0
  330. package/assets/icons/notification_important_outlined.svg +3 -0
  331. package/assets/icons/notification_off_filled.svg +3 -0
  332. package/assets/icons/notification_off_outlined.svg +3 -0
  333. package/assets/icons/notification_outlined.svg +3 -0
  334. package/assets/icons/notification_unread_filled.svg +3 -0
  335. package/assets/icons/notification_unread_outlined.svg +3 -0
  336. package/assets/icons/ohm.svg +3 -0
  337. package/assets/icons/open_in_full.svg +3 -0
  338. package/assets/icons/palette_filled.svg +3 -0
  339. package/assets/icons/palette_outlined.svg +3 -0
  340. package/assets/icons/paste.svg +3 -0
  341. package/assets/icons/pause_circle_filled.svg +3 -0
  342. package/assets/icons/pause_circle_outlined.svg +3 -0
  343. package/assets/icons/pause_filled.svg +3 -0
  344. package/assets/icons/pause_outlined.svg +3 -0
  345. package/assets/icons/photo_camera_filled.svg +3 -0
  346. package/assets/icons/photo_camera_outlined.svg +3 -0
  347. package/assets/icons/play_circle_filled.svg +3 -0
  348. package/assets/icons/play_circle_outlined.svg +3 -0
  349. package/assets/icons/play_filled.svg +3 -0
  350. package/assets/icons/play_outlined.svg +3 -0
  351. package/assets/icons/play_pause.svg +3 -0
  352. package/assets/icons/power_filled.svg +3 -0
  353. package/assets/icons/power_input.svg +3 -0
  354. package/assets/icons/power_off_filled.svg +3 -0
  355. package/assets/icons/power_off_outlined.svg +3 -0
  356. package/assets/icons/power_outlined.svg +3 -0
  357. package/assets/icons/power_plug.svg +3 -0
  358. package/assets/icons/power_plug_connect_filled.svg +3 -0
  359. package/assets/icons/power_plug_connect_outlined.svg +3 -0
  360. package/assets/icons/power_settings.svg +3 -0
  361. package/assets/icons/power_settings_circle_filled.svg +3 -0
  362. package/assets/icons/power_settings_circle_outlined.svg +3 -0
  363. package/assets/icons/power_solar_filled.svg +3 -0
  364. package/assets/icons/power_solar_outlined.svg +3 -0
  365. package/assets/icons/power_switch_filled.svg +3 -0
  366. package/assets/icons/power_switch_outlined.svg +3 -0
  367. package/assets/icons/power_wind_filled.svg +3 -0
  368. package/assets/icons/power_wind_outlined.svg +3 -0
  369. package/assets/icons/print_filled.svg +3 -0
  370. package/assets/icons/print_outlined.svg +3 -0
  371. package/assets/icons/priority_high.svg +3 -0
  372. package/assets/icons/public.svg +3 -0
  373. package/assets/icons/publish.svg +3 -0
  374. package/assets/icons/question_mark.svg +3 -0
  375. package/assets/icons/radar.svg +3 -0
  376. package/assets/icons/radio_button_empty.svg +3 -0
  377. package/assets/icons/redo.svg +3 -0
  378. package/assets/icons/reload.svg +3 -0
  379. package/assets/icons/remove.svg +3 -0
  380. package/assets/icons/reply.svg +3 -0
  381. package/assets/icons/reply_all.svg +3 -0
  382. package/assets/icons/right_panel_close_filled.svg +3 -0
  383. package/assets/icons/right_panel_close_outlined.svg +3 -0
  384. package/assets/icons/right_panel_open_filled.svg +3 -0
  385. package/assets/icons/right_panel_open_outlined.svg +3 -0
  386. package/assets/icons/route.svg +3 -0
  387. package/assets/icons/save_filled.svg +3 -0
  388. package/assets/icons/save_outlined.svg +3 -0
  389. package/assets/icons/search.svg +3 -0
  390. package/assets/icons/send_filled.svg +3 -0
  391. package/assets/icons/send_outlined.svg +3 -0
  392. package/assets/icons/settings_filled.svg +3 -0
  393. package/assets/icons/settings_outlined.svg +3 -0
  394. package/assets/icons/share_filled.svg +3 -0
  395. package/assets/icons/share_outlined.svg +3 -0
  396. package/assets/icons/side_navigation.svg +3 -0
  397. package/assets/icons/skip_next_filled.svg +3 -0
  398. package/assets/icons/skip_next_outlined.svg +3 -0
  399. package/assets/icons/skip_previous_filled.svg +3 -0
  400. package/assets/icons/skip_previous_outlined.svg +3 -0
  401. package/assets/icons/smartphone_filled.svg +3 -0
  402. package/assets/icons/smartphone_outlined.svg +3 -0
  403. package/assets/icons/sort.svg +3 -0
  404. package/assets/icons/star_filled.svg +3 -0
  405. package/assets/icons/star_outlined.svg +3 -0
  406. package/assets/icons/sticky_note_filled.svg +3 -0
  407. package/assets/icons/sticky_note_outlined.svg +3 -0
  408. package/assets/icons/stop_circle_filled.svg +3 -0
  409. package/assets/icons/stop_circle_outlined.svg +3 -0
  410. package/assets/icons/stop_filled.svg +3 -0
  411. package/assets/icons/stop_outlined.svg +3 -0
  412. package/assets/icons/subtitles_filled.svg +3 -0
  413. package/assets/icons/subtitles_outlined.svg +3 -0
  414. package/assets/icons/support_agent.svg +3 -0
  415. package/assets/icons/text_snippet_filled.svg +3 -0
  416. package/assets/icons/text_snippet_outlined.svg +3 -0
  417. package/assets/icons/timeline.svg +3 -0
  418. package/assets/icons/trash_restore_filled.svg +3 -0
  419. package/assets/icons/trash_restore_outlined.svg +3 -0
  420. package/assets/icons/trending_down.svg +3 -0
  421. package/assets/icons/trending_flat.svg +3 -0
  422. package/assets/icons/trending_up.svg +3 -0
  423. package/assets/icons/tune.svg +3 -0
  424. package/assets/icons/unarchive_filled.svg +3 -0
  425. package/assets/icons/unarchive_outlined.svg +3 -0
  426. package/assets/icons/undo.svg +3 -0
  427. package/assets/icons/upload.svg +3 -0
  428. package/assets/icons/user_add_filled.svg +3 -0
  429. package/assets/icons/user_add_outlined.svg +3 -0
  430. package/assets/icons/user_circle_filled.svg +3 -0
  431. package/assets/icons/user_circle_outlined.svg +3 -0
  432. package/assets/icons/user_filled.svg +3 -0
  433. package/assets/icons/user_outlined.svg +3 -0
  434. package/assets/icons/user_settings_filled.svg +3 -0
  435. package/assets/icons/user_settings_outlined.svg +3 -0
  436. package/assets/icons/verified_filled.svg +3 -0
  437. package/assets/icons/verified_outlined.svg +3 -0
  438. package/assets/icons/video_camera_filled.svg +3 -0
  439. package/assets/icons/video_camera_off_filled.svg +3 -0
  440. package/assets/icons/video_camera_off_outlined.svg +3 -0
  441. package/assets/icons/video_camera_outlined.svg +3 -0
  442. package/assets/icons/video_gallery_filled.svg +3 -0
  443. package/assets/icons/video_gallery_outlined.svg +3 -0
  444. package/assets/icons/view_agenda_filled.svg +3 -0
  445. package/assets/icons/view_agenda_outlined.svg +3 -0
  446. package/assets/icons/view_column_filled.svg +3 -0
  447. package/assets/icons/view_column_outlined.svg +3 -0
  448. package/assets/icons/view_grid_filled.svg +3 -0
  449. package/assets/icons/view_grid_outlined.svg +3 -0
  450. package/assets/icons/view_kanban_filled.svg +3 -0
  451. package/assets/icons/view_kanban_outlined.svg +3 -0
  452. package/assets/icons/view_module_filled.svg +3 -0
  453. package/assets/icons/view_module_outlined.svg +3 -0
  454. package/assets/icons/view_timeline_filled.svg +3 -0
  455. package/assets/icons/view_timeline_outlined.svg +3 -0
  456. package/assets/icons/visibility_hide_filled.svg +3 -0
  457. package/assets/icons/visibility_hide_outlined.svg +3 -0
  458. package/assets/icons/visibility_show_filled.svg +3 -0
  459. package/assets/icons/visibility_show_outlined.svg +3 -0
  460. package/assets/icons/volume_down_filled.svg +3 -0
  461. package/assets/icons/volume_down_outlined.svg +3 -0
  462. package/assets/icons/volume_mute_filled.svg +3 -0
  463. package/assets/icons/volume_mute_outlined.svg +3 -0
  464. package/assets/icons/volume_off_filled.svg +3 -0
  465. package/assets/icons/volume_off_outlined.svg +3 -0
  466. package/assets/icons/volume_up_filled.svg +3 -0
  467. package/assets/icons/volume_up_outlined.svg +3 -0
  468. package/assets/icons/warning_filled.svg +3 -0
  469. package/assets/icons/warning_outlined.svg +3 -0
  470. package/assets/icons/water.svg +3 -0
  471. package/assets/icons/water_alt.svg +3 -0
  472. package/assets/icons/waterdrop_filled.svg +3 -0
  473. package/assets/icons/waterdrop_outlined.svg +3 -0
  474. package/assets/icons/wifi.svg +3 -0
  475. package/assets/icons/wifi_off.svg +3 -0
  476. package/assets/icons/windmill.svg +3 -0
  477. package/assets/icons/zoom_in.svg +3 -0
  478. package/assets/icons/zoom_out.svg +3 -0
  479. package/common/animation.ts +5 -0
  480. package/common/common-types.ts +4 -0
  481. package/components/assistive-text/assistive-text.constants.ts +8 -0
  482. package/components/assistive-text/assistive-text.interface.d.ts +10 -0
  483. package/components/assistive-text/assistive-text.utils.ts +8 -0
  484. package/components/badge/badge.interface.d.ts +20 -0
  485. package/components/badge/badge.utils.ts +75 -0
  486. package/components/badge/docs/AccessibilityTable.tsx +113 -0
  487. package/components/badge/docs/Badge.mdx +127 -0
  488. package/components/badge/docs/Behaviors.scss +12 -0
  489. package/components/badge/docs/Behaviors.tsx +110 -0
  490. package/components/badge/docs/Options.tsx +90 -0
  491. package/components/badge/docs/Usage.tsx +30 -0
  492. package/components/badge/docs/assets/doNot.svg +397 -0
  493. package/components/badge/stories/img/Accessibility.png +0 -0
  494. package/components/badge/stories/img/BadgeTypes.svg +72 -0
  495. package/components/badge/stories/img/Layout.svg +86 -0
  496. package/components/badge/stories/img/OtherComponent.svg +34 -0
  497. package/components/badge/stories/img/StructureComposant.svg +40 -0
  498. package/components/badge/stories/img/TableOfOptions.svg +200 -0
  499. package/components/badge/stories/img/Taille.svg +79 -0
  500. package/components/badge/stories/img/TextOptions.svg +34 -0
  501. package/components/banner/banner.interface.d.ts +14 -0
  502. package/components/breadcrumbs/breadcrumbs.constants.ts +1 -0
  503. package/components/breadcrumbs/breadcrumbs.interface.d.ts +24 -0
  504. package/components/breadcrumbs/breadcrumbs.utils.ts +24 -0
  505. package/components/breadcrumbs/docs/AccessibilityTable.tsx +96 -0
  506. package/components/breadcrumbs/docs/Behaviors.tsx +129 -0
  507. package/components/breadcrumbs/docs/Breadcrumbs.mdx +104 -0
  508. package/components/breadcrumbs/docs/Options.scss +26 -0
  509. package/components/breadcrumbs/docs/Options.tsx +59 -0
  510. package/components/breadcrumbs/docs/TabOfOptions.tsx +19 -0
  511. package/components/breadcrumbs/docs/Usage.scss +7 -0
  512. package/components/breadcrumbs/docs/Usage.tsx +28 -0
  513. package/components/breadcrumbs/docs/assets/doNot.svg +127 -0
  514. package/components/button/button.interface.d.ts +14 -0
  515. package/components/button/common/common-button.constants.ts +15 -0
  516. package/components/button/common/common-button.d.ts +2 -0
  517. package/components/button/icon-button/icon-button.interface.d.ts +17 -0
  518. package/components/card/card.constats.ts +9 -0
  519. package/components/card/card.interface.d.ts +10 -0
  520. package/components/card/card.stories.shared.ts +112 -0
  521. package/components/checkbox/checkbox.interface.d.ts +10 -0
  522. package/components/checkbox-group/checkbox-group.interface.d.ts +13 -0
  523. package/components/chip/chip.constants.ts +5 -0
  524. package/components/chip/chip.interface.d.ts +12 -0
  525. package/components/chip/stories/img/ChipsAccessibility.png +0 -0
  526. package/components/chip/stories/img/ChipsInteractionsStates.svg +46 -0
  527. package/components/chip/stories/img/ChipsKeyboardInteractions.svg +76 -0
  528. package/components/chip/stories/img/ChipsLayout.svg +86 -0
  529. package/components/chip/stories/img/ChipsStructure.svg +24 -0
  530. package/components/chip/stories/img/ChipsTableOfOptions.svg +146 -0
  531. package/components/chip/stories/img/ChipsTaille.svg +36 -0
  532. package/components/chip/stories/img/ChipsTypes.svg +50 -0
  533. package/components/common/common-types.ts +4 -0
  534. package/components/common/input-props.d.ts +20 -0
  535. package/components/divider/divider.interface.d.ts +10 -0
  536. package/components/divider/stories/img/DividerAccessibility.png +0 -0
  537. package/components/divider/stories/img/DividerBehaviors.svg +36 -0
  538. package/components/divider/stories/img/DividerOrientation.svg +34 -0
  539. package/components/divider/stories/img/DividerStructure.png +0 -0
  540. package/components/divider/stories/img/DividerTableOfOptions.svg +74 -0
  541. package/components/divider/stories/img/DividerThickness.svg +38 -0
  542. package/components/dropdown/DropdownManager.ts +59 -0
  543. package/components/dropdown/dropdown.constants.ts +1 -0
  544. package/components/dropdown/dropdown.interface.d.ts +28 -0
  545. package/components/grid/grid.interface.d.ts +14 -0
  546. package/components/grid/grid.scss +81 -0
  547. package/components/grid/grid.stories.scss +23 -0
  548. package/components/icon/icon-utils.ts +3 -0
  549. package/components/icon/icon.constants.ts +16 -0
  550. package/components/icon/icon.interface.d.ts +12 -0
  551. package/components/link/link.interface.d.ts +6 -0
  552. package/components/loader/loader.constants.ts +7 -0
  553. package/components/loader/loader.interface.d.ts +11 -0
  554. package/components/loader/stories/img/LoaderAccessibility.png +0 -0
  555. package/components/loader/stories/img/LoaderAppearance.svg +36 -0
  556. package/components/loader/stories/img/LoaderBooleanOptions.svg +26 -0
  557. package/components/loader/stories/img/LoaderInteractions.svg +36 -0
  558. package/components/loader/stories/img/LoaderKeyboardInteractions.svg +26 -0
  559. package/components/loader/stories/img/LoaderLayout.svg +56 -0
  560. package/components/loader/stories/img/LoaderPosition.svg +36 -0
  561. package/components/loader/stories/img/LoaderSafezone.svg +36 -0
  562. package/components/loader/stories/img/LoaderStructure.svg +21 -0
  563. package/components/loader/stories/img/LoaderTableOfOptions.svg +134 -0
  564. package/components/loader/stories/img/LoaderTaille.svg +46 -0
  565. package/components/loader/stories/img/LoaderTextOptions.svg +26 -0
  566. package/components/modal/modal.interface.d.ts +10 -0
  567. package/components/popover/popover.constants.ts +2 -0
  568. package/components/popover/popover.interface.d.ts +16 -0
  569. package/components/radio-button/radio-button.constants.ts +1 -0
  570. package/components/radio-button/radio-button.interface.d.ts +8 -0
  571. package/components/radio-button-group/radio-button-group.interface.d.ts +14 -0
  572. package/components/required-indicator/required-indicator.constant.ts +7 -0
  573. package/components/required-indicator/required-indicator.interface.ts +6 -0
  574. package/components/searchbar/docs/AccessibilityTable.tsx +119 -0
  575. package/components/searchbar/docs/Behaviors.tsx +130 -0
  576. package/components/searchbar/docs/Options.tsx +127 -0
  577. package/components/searchbar/docs/Searchbar.mdx +124 -0
  578. package/components/searchbar/docs/Usage.tsx +37 -0
  579. package/components/searchbar/docs/assets/doNot.svg +212 -0
  580. package/components/searchbar/searchbar.constants.ts +18 -0
  581. package/components/searchbar/searchbar.interface.d.ts +11 -0
  582. package/components/segmented-control/segmented-control-utils.ts +77 -0
  583. package/components/segmented-control/segmented-control.interface.d.ts +21 -0
  584. package/components/segmented-control/stories/img/SegControlAccessibility.png +0 -0
  585. package/components/segmented-control/stories/img/SegControlAnimations.svg +11 -0
  586. package/components/segmented-control/stories/img/SegControlAutreHTMLNatif.svg +36 -0
  587. package/components/segmented-control/stories/img/SegControlBooleanOptions.svg +26 -0
  588. package/components/segmented-control/stories/img/SegControlContent.svg +34 -0
  589. package/components/segmented-control/stories/img/SegControlDoDont.svg +141 -0
  590. package/components/segmented-control/stories/img/SegControlFocus.svg +20 -0
  591. package/components/segmented-control/stories/img/SegControlIconOptions.svg +42 -0
  592. package/components/segmented-control/stories/img/SegControlInteractionState.svg +40 -0
  593. package/components/segmented-control/stories/img/SegControlKeyboardInteractions.svg +56 -0
  594. package/components/segmented-control/stories/img/SegControlLayout.svg +36 -0
  595. package/components/segmented-control/stories/img/SegControlNestedProperties.svg +154 -0
  596. package/components/segmented-control/stories/img/SegControlSegments.svg +33 -0
  597. package/components/segmented-control/stories/img/SegControlStructure.svg +27 -0
  598. package/components/segmented-control/stories/img/SegControlTableOfOptions.svg +54 -0
  599. package/components/segmented-control/stories/img/SegControlTextOptions.svg +26 -0
  600. package/components/select/docs/AccessibilityTable.tsx +121 -0
  601. package/components/select/docs/Behaviors.tsx +155 -0
  602. package/components/select/docs/Options.scss +26 -0
  603. package/components/select/docs/Options.tsx +148 -0
  604. package/components/select/docs/OverviewOptions.scss +14 -0
  605. package/components/select/docs/OverviewOptions.tsx +67 -0
  606. package/components/select/docs/Select.mdx +132 -0
  607. package/components/select/docs/Usage.scss +7 -0
  608. package/components/select/docs/Usage.tsx +39 -0
  609. package/components/select/docs/assets/doNot.svg +394 -0
  610. package/components/select/select.constants.ts +3 -0
  611. package/components/select/select.interface.d.ts +8 -0
  612. package/components/side-nav/nav-item/nav-item.interface.d.ts +20 -0
  613. package/components/side-nav/nav-item/nav-item.utils.ts +8 -0
  614. package/components/side-nav/nav-menu/nav-menu.interface.d.ts +7 -0
  615. package/components/side-nav/side-nav.constants.ts +16 -0
  616. package/components/side-nav/side-nav.interface.d.ts +34 -0
  617. package/components/split-button/split-button.constants.ts +13 -0
  618. package/components/split-button/split-button.interface.d.ts +31 -0
  619. package/components/switch/stories/img/SwitchAccessibility.png +0 -0
  620. package/components/switch/stories/img/SwitchAnimations.svg +20 -0
  621. package/components/switch/stories/img/SwitchAppearance.svg +34 -0
  622. package/components/switch/stories/img/SwitchAutonomousLabel.svg +27 -0
  623. package/components/switch/stories/img/SwitchAutreContextuel.svg +36 -0
  624. package/components/switch/stories/img/SwitchBooleanOptions.svg +46 -0
  625. package/components/switch/stories/img/SwitchDistinctCheckbox.svg +41 -0
  626. package/components/switch/stories/img/SwitchFocus.svg +46 -0
  627. package/components/switch/stories/img/SwitchInteractionState.svg +60 -0
  628. package/components/switch/stories/img/SwitchKeyboardInteractions.svg +46 -0
  629. package/components/switch/stories/img/SwitchLayout.svg +46 -0
  630. package/components/switch/stories/img/SwitchStructure.svg +22 -0
  631. package/components/switch/stories/img/SwitchTableOfOptions.svg +165 -0
  632. package/components/switch/stories/img/SwitchTextOptions.svg +34 -0
  633. package/components/switch/switch.constants.ts +2 -0
  634. package/components/switch/switch.interface.d.ts +10 -0
  635. package/components/tab/tab.interface.d.ts +31 -0
  636. package/components/tab/tab.utils.ts +60 -0
  637. package/components/tag/stories/img/TagAccessibility.png +0 -0
  638. package/components/tag/stories/img/TagLayout.svg +86 -0
  639. package/components/tag/stories/img/TagStatus.svg +52 -0
  640. package/components/tag/stories/img/TagStructure.svg +19 -0
  641. package/components/tag/stories/img/TagTableOfOptions.svg +178 -0
  642. package/components/tag/stories/img/TagTaille.svg +36 -0
  643. package/components/tag/stories/img/TagTypes.svg +38 -0
  644. package/components/tag/tag.interface.d.ts +34 -0
  645. package/components/text-input/stories/img/TextInputAccessibility.png +0 -0
  646. package/components/text-input/stories/img/TextInputBooleanOptions.svg +76 -0
  647. package/components/text-input/stories/img/TextInputDoDont.svg +100 -0
  648. package/components/text-input/stories/img/TextInputKeyboardInteractions.svg +46 -0
  649. package/components/text-input/stories/img/TextInputLabelPosition.svg +40 -0
  650. package/components/text-input/stories/img/TextInputLayout.svg +46 -0
  651. package/components/text-input/stories/img/TextInputPosition.svg +80 -0
  652. package/components/text-input/stories/img/TextInputPrecisions.png +0 -0
  653. package/components/text-input/stories/img/TextInputRequiredIndicator.svg +44 -0
  654. package/components/text-input/stories/img/TextInputStructure.svg +33 -0
  655. package/components/text-input/stories/img/TextInputTableOfOptions.svg +346 -0
  656. package/components/text-input/stories/img/TextInputTextOptions.svg +63 -0
  657. package/components/text-input/text-input.interface.d.ts +28 -0
  658. package/components/textarea/stories/img/TextAreaAccessibility.png +0 -0
  659. package/components/textarea/stories/img/TextAreaBooleanOption.svg +70 -0
  660. package/components/textarea/stories/img/TextAreaDoDont.svg +119 -0
  661. package/components/textarea/stories/img/TextAreaKeyboardInteractions.svg +46 -0
  662. package/components/textarea/stories/img/TextAreaLabelPosition.svg +40 -0
  663. package/components/textarea/stories/img/TextAreaLayout.svg +57 -0
  664. package/components/textarea/stories/img/TextAreaPosition.svg +80 -0
  665. package/components/textarea/stories/img/TextAreaPrecisions.png +0 -0
  666. package/components/textarea/stories/img/TextAreaRequiredIndicator.svg +44 -0
  667. package/components/textarea/stories/img/TextAreaStructure.svg +39 -0
  668. package/components/textarea/stories/img/TextAreaTableOfOptions.svg +286 -0
  669. package/components/textarea/stories/img/TextAreaTextOptions.svg +69 -0
  670. package/components/textarea/textarea.constants.ts +1 -0
  671. package/components/textarea/textarea.interface.d.ts +20 -0
  672. package/components/toast/toast.constants.ts +9 -0
  673. package/components/toast/toast.interface.d.ts +21 -0
  674. package/components/toast/toast.utils.ts +33 -0
  675. package/components/tooltip/tooltip.constants.ts +4 -0
  676. package/components/tooltip/tooltip.interface.d.ts +7 -0
  677. package/components/tooltip/tooltip.utils.ts +5 -0
  678. package/components/utils/auto-placement.ts +220 -0
  679. package/constants/dom/dom.constants.ts +13 -0
  680. package/constants/keyboard/keyboard-test.constants.ts +21 -0
  681. package/constants/keyboard/keyboard.constants.ts +10 -0
  682. package/css/bleu_iceberg.css +1 -0
  683. package/css/rte-fonts.css +1 -0
  684. package/css/rte-themes.css +1 -0
  685. package/css/vert_foret.css +1 -0
  686. package/css/violet.css +1 -0
  687. package/css-font-generator.ts +51 -0
  688. package/design-tokens/abstract/_index.scss +1 -0
  689. package/design-tokens/abstract/mixins/_index.scss +3 -0
  690. package/design-tokens/abstract/mixins/_shadow.scss +3 -0
  691. package/design-tokens/abstract/mixins/_theme.scss +21 -0
  692. package/design-tokens/abstract/mixins/_typography.scss +335 -0
  693. package/design-tokens/fonts.scss +31 -0
  694. package/design-tokens/main-internal.scss +2 -0
  695. package/design-tokens/main.scss +2 -0
  696. package/design-tokens/primitives/_colors.scss +254 -0
  697. package/design-tokens/primitives/_devColors.scss +12 -0
  698. package/design-tokens/primitives/_index.scss +2 -0
  699. package/design-tokens/primitives/_typography.scss +37 -0
  700. package/design-tokens/scripts/sourceFiles/primitives.json +2075 -0
  701. package/design-tokens/scripts/sourceFiles/tokens.json +9642 -0
  702. package/design-tokens/tokens/_index.scss +1 -0
  703. package/design-tokens/tokens/private/_gradient.scss +54 -0
  704. package/design-tokens/tokens/private/_index.scss +4 -0
  705. package/design-tokens/tokens/private/_shadows.scss +38 -0
  706. package/design-tokens/tokens/private/_size.scss +7 -0
  707. package/design-tokens/tokens/private/_zindex.scss +5 -0
  708. package/design-tokens/tokens/public/_border.scss +15 -0
  709. package/design-tokens/tokens/public/_elevation.scss +154 -0
  710. package/design-tokens/tokens/public/_index.scss +6 -0
  711. package/design-tokens/tokens/public/_layout.scss +16 -0
  712. package/design-tokens/tokens/public/_opacity.scss +14 -0
  713. package/design-tokens/tokens/public/_spacing.scss +25 -0
  714. package/design-tokens/tokens/public/_typography.scss +119 -0
  715. package/design-tokens/tokens/public/themes/_index.scss +22 -0
  716. package/design-tokens/tokens/public/themes/base/_bleu-iceberg-dark.scss +171 -0
  717. package/design-tokens/tokens/public/themes/base/_bleu-iceberg-light.scss +171 -0
  718. package/design-tokens/tokens/public/themes/base/_index.scss +6 -0
  719. package/design-tokens/tokens/public/themes/base/_vert-foret-dark.scss +171 -0
  720. package/design-tokens/tokens/public/themes/base/_vert-foret-light.scss +171 -0
  721. package/design-tokens/tokens/public/themes/base/_violet-dark.scss +171 -0
  722. package/design-tokens/tokens/public/themes/base/_violet-light.scss +171 -0
  723. package/eslint.config.js +1 -0
  724. package/package.json +31 -0
  725. package/scripts/design-tokens/common.ts +35 -0
  726. package/scripts/design-tokens/generator.ts +24 -0
  727. package/scripts/design-tokens/primitives-generator.spec.ts +84 -0
  728. package/scripts/design-tokens/primitives-generator.ts +66 -0
  729. package/scripts/design-tokens/sourceFiles/primitives.json +2075 -0
  730. package/scripts/design-tokens/sourceFiles/tokens.json +10561 -0
  731. package/scripts/design-tokens/tokens-generator.spec.ts +184 -0
  732. package/scripts/design-tokens/tokens-generator.ts +155 -0
  733. package/scripts/design-tokens/tokens-generators/colors.ts +142 -0
  734. package/scripts/design-tokens/tokens-generators/layout.ts +22 -0
  735. package/scripts/design-tokens/tokens-generators/opacity.ts +14 -0
  736. package/scripts/design-tokens/tokens-generators/shadows.ts +18 -0
  737. package/scripts/design-tokens/tokens-generators/typography.ts +58 -0
  738. package/scripts/design-tokens/tokens-generators/zIndex.ts +18 -0
  739. package/tsconfig.json +12 -0
@@ -0,0 +1,171 @@
1
+ // This file is auto-generated. Do not edit directly.
2
+
3
+ @use '../../../../primitives/colors' as *;
4
+ @use '../../../../primitives/devColors' as *;
5
+
6
+ $violet-dark: (
7
+ "background-default": $greyscale-900,
8
+ "background-hover": $greyscale-800,
9
+ "background-neutral-regular-default": $greyscale-700,
10
+ "background-neutral-regular-hover": $greyscale-550,
11
+ "background-neutral-bold-default": $greyscale-200,
12
+ "background-neutral-bold-hover": $greyscale-50,
13
+ "background-neutral-navigation-default": $greyscale-50,
14
+ "background-neutral-navigation-hover": $greyscale-100,
15
+ "background-disabled": $greyscale-800,
16
+ "background-inverse": $core-white,
17
+ "background-brand-default": $violet-300,
18
+ "background-brand-hover": $violet-200,
19
+ "background-brand-pressed": $violet-100,
20
+ "background-brand-selected-default": $violet-300,
21
+ "background-brand-selected-hover": $violet-200,
22
+ "background-brand-unselected-default": $violet-700,
23
+ "background-brand-unselected-hover": $violet-600,
24
+ "background-brand-inverse-default": $greyscale-900,
25
+ "background-brand-inverse-hover": $violet-700,
26
+ "background-brand-inverse-pressed": $violet-600,
27
+ "background-brand-navigation-default": $violet-950,
28
+ "background-brand-navigation-hover": $violet-900,
29
+ "background-brand-navigation-pressed": $violet-700,
30
+ "background-danger-default": $rouge-indications-500,
31
+ "background-danger-hover": $rouge-indications-400,
32
+ "background-danger-pressed": $rouge-indications-300,
33
+ "background-info-default": $bleu-digital-400,
34
+ "background-warning-default": $jaune-500,
35
+ "background-success-default": $vert-digital-400,
36
+ "border-primary": $greyscale-400,
37
+ "border-secondary": $greyscale-600,
38
+ "border-tertiary": $greyscale-800,
39
+ "border-divider": $greyscale-400,
40
+ "border-disabled": $greyscale-700,
41
+ "border-inverse": $greyscale-900,
42
+ "border-brand-default": $violet-0,
43
+ "border-brand-focused": $violet-0,
44
+ "border-brand-navigation-active": $violet-700,
45
+ "border-brand-navigation-divider": $violet-800,
46
+ "border-danger": $rouge-indications-500,
47
+ "border-info": $bleu-digital-400,
48
+ "border-warning": $jaune-indications-400,
49
+ "border-success": $vert-digital-400,
50
+ "content-primary": $core-white,
51
+ "content-secondary": $greyscale-100,
52
+ "content-tertiary": $greyscale-300,
53
+ "content-primary-inverse": $greyscale-900,
54
+ "content-disabled": $greyscale-700,
55
+ "content-brand-default": $violet-0,
56
+ "content-brand-hover": $violet-50,
57
+ "content-brand-pressed": $violet-100,
58
+ "content-brand-navigation-default": $violet-100,
59
+ "content-brand-navigation-hover": $violet-50,
60
+ "content-brand-navigation-disabled": $violet-700,
61
+ "content-link-default": $bleu-digital-500,
62
+ "content-link-hover": $bleu-digital-400,
63
+ "content-link-pressed": $bleu-digital-300,
64
+ "content-link-visited-default": $violet-500,
65
+ "content-link-visited-hover": $violet-400,
66
+ "content-link-visited-pressed": $violet-300,
67
+ "content-danger-default": $rouge-indications-500,
68
+ "content-danger-hover": $rouge-indications-400,
69
+ "content-danger-inverse": $core-white,
70
+ "content-success-default": $vert-digital-400,
71
+ "content-success-hover": $vert-digital-500,
72
+ "content-info-default": $bleu-digital-400,
73
+ "content-info-hover": $bleu-digital-500,
74
+ "content-decorative": $greyscale-900,
75
+ "brand-navigation-divider": $violet-800,
76
+ "brand-navigation-divider-2": $violet-800,
77
+ "brand-navigation-divider-3": $violet-800,
78
+ "brand-navigation-divider-4": $violet-800,
79
+ "chart-brand": $violet-600,
80
+ "chart-neutral": $greyscale-350,
81
+ "chart-category-1": $bleu-iceberg-500,
82
+ "chart-category-2": $fuschia-500,
83
+ "chart-category-3": $violet-600,
84
+ "chart-category-4": $vert-foret-500,
85
+ "chart-category-5": $marine-900,
86
+ "chart-category-6": $jaune-indications-500,
87
+ "chart-category-7": $taupe-700,
88
+ "chart-category-8": $bleu-petrole-400,
89
+ "chart-bleu-iceberg": $bleu-iceberg-100,
90
+ "chart-bleu-iceberg-bold": $bleu-iceberg-500,
91
+ "chart-vert-foret": $vert-foret-100,
92
+ "chart-vert-foret-bold": $vert-foret-400,
93
+ "chart-violet": $violet-300,
94
+ "chart-violet-bold": $violet-600,
95
+ "chart-bleu-rte": $bleu-rte-100,
96
+ "chart-bleu-rte-bold": $bleu-rte-600,
97
+ "chart-bleu-digital": $bleu-digital-100,
98
+ "chart-bleu-digital-bold": $bleu-digital-500,
99
+ "chart-marine": $marine-100,
100
+ "chart-marine-bold": $marine-500,
101
+ "chart-bleu-petrole": $bleu-petrole-100,
102
+ "chart-bleu-petrole-bold": $bleu-petrole-500,
103
+ "chart-bleu-cyan": $bleu-cyan-100,
104
+ "chart-bleu-cyan-bold": $bleu-cyan-500,
105
+ "chart-vert": $vert-100,
106
+ "chart-vert-bold": $vert-500,
107
+ "chart-vert-indications": $vert-indications-200,
108
+ "chart-vert-indications-bold": $vert-indications-400,
109
+ "chart-vert-digital": $vert-digital-100,
110
+ "chart-vert-digital-bold": $vert-digital-400,
111
+ "chart-jaune": $jaune-100,
112
+ "chart-jaune-bold": $jaune-500,
113
+ "chart-jaune-ocre": $jaune-ocre-100,
114
+ "chart-jaune-ocre-bold": $jaune-ocre-400,
115
+ "chart-jaune-indications": $jaune-indications-100,
116
+ "chart-jaune-indications-bold": $jaune-indications-400,
117
+ "chart-saumon": $saumon-100,
118
+ "chart-saumon-bold": $saumon-500,
119
+ "chart-rose-digital": $rose-digital-200,
120
+ "chart-rose-digital-bold": $rose-digital-500,
121
+ "chart-fuschia": $fuschia-100,
122
+ "chart-fuschia-bold": $fuschia-500,
123
+ "chart-rouge-indications": $rouge-indications-100,
124
+ "chart-rouge-indications-bold": $rouge-indications-500,
125
+ "chart-greyscale": $greyscale-50,
126
+ "chart-greyscale-bold": $greyscale-550,
127
+ "chart-taupe": $taupe-200,
128
+ "chart-taupe-bold": $taupe-600,
129
+ "decorative-neutral": $greyscale-50,
130
+ "decorative-bleu-iceberg": $bleu-iceberg-200,
131
+ "decorative-vert-foret": $vert-foret-100,
132
+ "decorative-violet": $violet-200,
133
+ "decorative-bleu-rte": $bleu-rte-200,
134
+ "decorative-bleu-digital": $bleu-digital-200,
135
+ "decorative-marine": $marine-100,
136
+ "decorative-bleu-petrole": $bleu-petrole-200,
137
+ "decorative-bleu-cyan": $bleu-cyan-200,
138
+ "decorative-vert": $vert-200,
139
+ "decorative-vert-indications": $vert-indications-200,
140
+ "decorative-vert-digital": $vert-digital-200,
141
+ "decorative-jaune": $jaune-100,
142
+ "decorative-jaune-ocre": $jaune-ocre-200,
143
+ "decorative-jaune-indications": $jaune-indications-200,
144
+ "decorative-saumon": $saumon-300,
145
+ "decorative-rose-digital": $rose-digital-200,
146
+ "decorative-fuschia": $fuschia-200,
147
+ "decorative-rouge-indication": $rouge-indications-100,
148
+ "decorative-taupe": $taupe-200,
149
+ "elevation-surface-inner-shadow": rgba(0, 0, 0, 0.20),
150
+ "elevation-surface-shadow-1": rgba(255, 255, 255, 0.03),
151
+ "elevation-surface-shadow-2": rgba(255, 255, 255, 0.05),
152
+ "elevation-surface-shadow-3": rgba(255, 255, 255, 0.08),
153
+ "elevation-surface-shadow-4": rgba(255, 255, 255, 0.10),
154
+ "elevation-surface-shadow-5": rgba(255, 255, 255, 0.12),
155
+ "elevation-surface-shadow-6": rgba(255, 255, 255, 0.14),
156
+ "elevation-shadow-ambient": rgba(0, 0, 0, 0.20),
157
+ "elevation-shadow-ambient-darker": rgba(0, 0, 0, 0.40),
158
+ "elevation-shadow-ambient-brand": rgba(0, 0, 0, 0.17),
159
+ "elevation-shadow-key": rgba(0, 0, 0, 0.28),
160
+ "elevation-shadow-key-darker": rgba(0, 0, 0, 0.48),
161
+ "elevation-shadow-key-brand": rgba(0, 0, 0, 0.21),
162
+ "brand-navigation-divider-5": $violet-800,
163
+ "brand-navigation-divider-6": $violet-800,
164
+ "brand-navigation-divider-7": $violet-800,
165
+ // TODO remove this color (not a real token)
166
+ "background-brand-hover-opacity-20": $violet-200-opacity-20,
167
+ // TODO remove this color (not a real token)
168
+ "background-danger-hover-opacity-20": $rouge-indications-500-opacity-20,
169
+ // TODO remove this color (not a real token)
170
+ "background-hover-opacity-50": $greyscale-800-opacity-50,
171
+ );
@@ -0,0 +1,171 @@
1
+ // This file is auto-generated. Do not edit directly.
2
+
3
+ @use '../../../../primitives/colors' as *;
4
+ @use '../../../../primitives/devColors' as *;
5
+
6
+ $violet-light: (
7
+ "background-default": $core-white,
8
+ "background-hover": $greyscale-50,
9
+ "background-neutral-regular-default": $greyscale-100,
10
+ "background-neutral-regular-hover": $greyscale-250,
11
+ "background-neutral-bold-default": $greyscale-600,
12
+ "background-neutral-bold-hover": $greyscale-750,
13
+ "background-neutral-navigation-default": $greyscale-50,
14
+ "background-neutral-navigation-hover": $greyscale-100,
15
+ "background-disabled": $greyscale-0,
16
+ "background-inverse": $greyscale-900,
17
+ "background-brand-default": $violet-600,
18
+ "background-brand-hover": $violet-700,
19
+ "background-brand-pressed": $violet-800,
20
+ "background-brand-selected-default": $violet-600,
21
+ "background-brand-selected-hover": $violet-700,
22
+ "background-brand-unselected-default": $violet-100,
23
+ "background-brand-unselected-hover": $violet-200,
24
+ "background-brand-inverse-default": $core-white,
25
+ "background-brand-inverse-hover": $violet-50,
26
+ "background-brand-inverse-pressed": $violet-100,
27
+ "background-brand-navigation-default": $violet-950,
28
+ "background-brand-navigation-hover": $violet-900,
29
+ "background-brand-navigation-pressed": $violet-700,
30
+ "background-danger-default": $rouge-indications-600,
31
+ "background-danger-hover": $rouge-indications-700,
32
+ "background-danger-pressed": $rouge-indications-800,
33
+ "background-info-default": $bleu-digital-600,
34
+ "background-warning-default": $jaune-500,
35
+ "background-success-default": $vert-digital-700,
36
+ "border-primary": $greyscale-600,
37
+ "border-secondary": $greyscale-400,
38
+ "border-tertiary": $greyscale-200,
39
+ "border-divider": $greyscale-200,
40
+ "border-disabled": $greyscale-200,
41
+ "border-inverse": $core-white,
42
+ "border-brand-default": $violet-600,
43
+ "border-brand-focused": $violet-900,
44
+ "border-brand-navigation-active": $violet-700,
45
+ "border-brand-navigation-divider": $violet-800,
46
+ "border-danger": $rouge-indications-600,
47
+ "border-info": $bleu-digital-600,
48
+ "border-warning": $jaune-indications-400,
49
+ "border-success": $vert-digital-700,
50
+ "content-primary": $greyscale-900,
51
+ "content-secondary": $greyscale-800,
52
+ "content-tertiary": $greyscale-600,
53
+ "content-primary-inverse": $core-white,
54
+ "content-disabled": $greyscale-200,
55
+ "content-brand-default": $violet-600,
56
+ "content-brand-hover": $violet-700,
57
+ "content-brand-pressed": $violet-800,
58
+ "content-brand-navigation-default": $violet-100,
59
+ "content-brand-navigation-hover": $violet-50,
60
+ "content-brand-navigation-disabled": $violet-700,
61
+ "content-link-default": $bleu-digital-500,
62
+ "content-link-hover": $bleu-digital-600,
63
+ "content-link-pressed": $bleu-digital-700,
64
+ "content-link-visited-default": $violet-600,
65
+ "content-link-visited-hover": $violet-700,
66
+ "content-link-visited-pressed": $violet-800,
67
+ "content-danger-default": $rouge-indications-600,
68
+ "content-danger-hover": $rouge-indications-700,
69
+ "content-danger-inverse": $core-white,
70
+ "content-success-default": $vert-digital-700,
71
+ "content-success-hover": $vert-digital-800,
72
+ "content-info-default": $bleu-digital-600,
73
+ "content-info-hover": $bleu-digital-700,
74
+ "content-decorative": $greyscale-900,
75
+ "brand-navigation-divider": $violet-800,
76
+ "brand-navigation-divider-2": $violet-800,
77
+ "brand-navigation-divider-3": $violet-800,
78
+ "brand-navigation-divider-4": $violet-800,
79
+ "chart-brand": $violet-600,
80
+ "chart-neutral": $greyscale-350,
81
+ "chart-category-1": $bleu-iceberg-500,
82
+ "chart-category-2": $fuschia-500,
83
+ "chart-category-3": $violet-600,
84
+ "chart-category-4": $vert-foret-500,
85
+ "chart-category-5": $marine-900,
86
+ "chart-category-6": $jaune-indications-500,
87
+ "chart-category-7": $taupe-700,
88
+ "chart-category-8": $bleu-petrole-400,
89
+ "chart-bleu-iceberg": $bleu-iceberg-100,
90
+ "chart-bleu-iceberg-bold": $bleu-iceberg-500,
91
+ "chart-vert-foret": $vert-foret-100,
92
+ "chart-vert-foret-bold": $vert-foret-400,
93
+ "chart-violet": $violet-300,
94
+ "chart-violet-bold": $violet-600,
95
+ "chart-bleu-rte": $bleu-rte-100,
96
+ "chart-bleu-rte-bold": $bleu-rte-600,
97
+ "chart-bleu-digital": $bleu-digital-100,
98
+ "chart-bleu-digital-bold": $bleu-digital-500,
99
+ "chart-marine": $marine-100,
100
+ "chart-marine-bold": $marine-500,
101
+ "chart-bleu-petrole": $bleu-petrole-100,
102
+ "chart-bleu-petrole-bold": $bleu-petrole-500,
103
+ "chart-bleu-cyan": $bleu-cyan-100,
104
+ "chart-bleu-cyan-bold": $bleu-cyan-500,
105
+ "chart-vert": $vert-100,
106
+ "chart-vert-bold": $vert-500,
107
+ "chart-vert-indications": $vert-indications-200,
108
+ "chart-vert-indications-bold": $vert-indications-400,
109
+ "chart-vert-digital": $vert-digital-100,
110
+ "chart-vert-digital-bold": $vert-digital-400,
111
+ "chart-jaune": $jaune-100,
112
+ "chart-jaune-bold": $jaune-500,
113
+ "chart-jaune-ocre": $jaune-ocre-100,
114
+ "chart-jaune-ocre-bold": $jaune-ocre-400,
115
+ "chart-jaune-indications": $jaune-indications-100,
116
+ "chart-jaune-indications-bold": $jaune-indications-400,
117
+ "chart-saumon": $saumon-100,
118
+ "chart-saumon-bold": $saumon-500,
119
+ "chart-rose-digital": $rose-digital-200,
120
+ "chart-rose-digital-bold": $rose-digital-500,
121
+ "chart-fuschia": $fuschia-100,
122
+ "chart-fuschia-bold": $fuschia-500,
123
+ "chart-rouge-indications": $rouge-indications-100,
124
+ "chart-rouge-indications-bold": $rouge-indications-500,
125
+ "chart-greyscale": $greyscale-50,
126
+ "chart-greyscale-bold": $greyscale-550,
127
+ "chart-taupe": $taupe-200,
128
+ "chart-taupe-bold": $taupe-600,
129
+ "decorative-neutral": $greyscale-50,
130
+ "decorative-bleu-iceberg": $bleu-iceberg-200,
131
+ "decorative-vert-foret": $vert-foret-100,
132
+ "decorative-violet": $violet-200,
133
+ "decorative-bleu-rte": $bleu-rte-200,
134
+ "decorative-bleu-digital": $bleu-digital-200,
135
+ "decorative-marine": $marine-100,
136
+ "decorative-bleu-petrole": $bleu-petrole-200,
137
+ "decorative-bleu-cyan": $bleu-cyan-200,
138
+ "decorative-vert": $vert-200,
139
+ "decorative-vert-indications": $vert-indications-200,
140
+ "decorative-vert-digital": $vert-digital-200,
141
+ "decorative-jaune": $jaune-100,
142
+ "decorative-jaune-ocre": $jaune-ocre-200,
143
+ "decorative-jaune-indications": $jaune-indications-200,
144
+ "decorative-saumon": $saumon-300,
145
+ "decorative-rose-digital": $rose-digital-200,
146
+ "decorative-fuschia": $fuschia-200,
147
+ "decorative-rouge-indication": $rouge-indications-100,
148
+ "decorative-taupe": $taupe-200,
149
+ "elevation-surface-inner-shadow": rgba(0, 0, 0, 0.00),
150
+ "elevation-surface-shadow-1": rgba(255, 255, 255, 0.00),
151
+ "elevation-surface-shadow-2": rgba(255, 255, 255, 0.00),
152
+ "elevation-surface-shadow-3": rgba(255, 255, 255, 0.00),
153
+ "elevation-surface-shadow-4": rgba(255, 255, 255, 0.00),
154
+ "elevation-surface-shadow-5": rgba(255, 255, 255, 0.00),
155
+ "elevation-surface-shadow-6": rgba(255, 255, 255, 0.00),
156
+ "elevation-shadow-ambient": rgba(0, 0, 0, 0.12),
157
+ "elevation-shadow-ambient-darker": rgba(0, 0, 0, 0.20),
158
+ "elevation-shadow-ambient-brand": rgba(0, 0, 0, 0.25),
159
+ "elevation-shadow-key": rgba(0, 0, 0, 0.14),
160
+ "elevation-shadow-key-darker": rgba(0, 0, 0, 0.24),
161
+ "elevation-shadow-key-brand": rgba(0, 0, 0, 0.31),
162
+ "brand-navigation-divider-5": $violet-800,
163
+ "brand-navigation-divider-6": $violet-800,
164
+ "brand-navigation-divider-7": $violet-800,
165
+ // TODO remove this color (not a real token)
166
+ "background-brand-hover-opacity-20": $violet-700-opacity-20,
167
+ // TODO remove this color (not a real token)
168
+ "background-danger-hover-opacity-20": $rouge-indications-700-opacity-20,
169
+ // TODO remove this color (not a real token)
170
+ "background-hover-opacity-50": $greyscale-50-opacity-50,
171
+ );
@@ -0,0 +1 @@
1
+ export { default } from "../../eslint.config.js";
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@rte-ds/core",
3
+ "version": "1.2.1",
4
+ "main": "index.js",
5
+ "scripts": {
6
+ "lint": "eslint .",
7
+ "lint:fix": "eslint . --fix",
8
+ "test": "vitest run",
9
+ "build": "npm run build:css-themes && npm run build:css-fonts",
10
+ "build:css-themes": "ts-node css-theme-generator.ts",
11
+ "build:css-fonts": "ts-node css-font-generator.ts",
12
+ "generate:tokens": "ts-node ./scripts/design-tokens/generator.ts",
13
+ "prepublishOnly": "npm run build"
14
+ },
15
+ "keywords": [],
16
+ "author": "",
17
+ "license": "Apache-2.0",
18
+ "description": "Design Tokens, interfaces and utilities for the Design System RTE",
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "peerDependencies": {
23
+ "sass": "^1.85.1"
24
+ },
25
+ "devDependencies": {
26
+ "sass": "^1.89.0",
27
+ "ts-node": "^10.9.2",
28
+ "typescript": "^5.8.3",
29
+ "vitest": "^3.2.4"
30
+ }
31
+ }
@@ -0,0 +1,35 @@
1
+ import fs from "fs";
2
+ import path, { resolve } from "path";
3
+
4
+ export interface TokenValue {
5
+ $type: string;
6
+ $scopes: string[];
7
+ $value: string | number;
8
+ }
9
+
10
+ export const UNIT = "px";
11
+ export const INDENT = " ".repeat(2);
12
+
13
+ export enum PrivacyLevel {
14
+ PUBLIC = "public",
15
+ PRIVATE = "private",
16
+ }
17
+
18
+ const rootDir = path.join(resolve(__dirname), "../../design-tokens");
19
+ const tokensDir = "tokens";
20
+ const primitivesDir = "primitives";
21
+
22
+ export const tokensOutputDir = path.join(rootDir, tokensDir);
23
+ export const primitivesOutputDir = path.join(rootDir, primitivesDir);
24
+
25
+ export function buildScssVariable(variableName: string[], value: string): string {
26
+ return `$${variableName.join("-")}: ${value};\n`.toLowerCase();
27
+ }
28
+
29
+ export function generateScssFile(scss: string, filePath: string) {
30
+ fs.writeFileSync(filePath, scss);
31
+ }
32
+
33
+ export function buildScssFileName(collection: string): string {
34
+ return `_${collection.toLowerCase()}.scss`;
35
+ }
@@ -0,0 +1,24 @@
1
+ import fs from "fs";
2
+ import { resolve } from "path";
3
+
4
+ import { generatePrimitivesScssFiles } from "./primitives-generator";
5
+ import { generateTokensScssFiles, TokenItem } from "./tokens-generator";
6
+
7
+ console.log("🔧 Generating design tokens...\n");
8
+
9
+ const currentDir = resolve(__dirname);
10
+
11
+ const inputPrimitivesSource = resolve(currentDir, "sourceFiles/primitives.json");
12
+ const inputTokensSource = resolve(currentDir, "sourceFiles/tokens.json");
13
+
14
+ const rawPrimitives = JSON.parse(fs.readFileSync(inputPrimitivesSource, "utf8"));
15
+ console.log("📦 Generating primitives... ");
16
+ generatePrimitivesScssFiles(rawPrimitives);
17
+ console.log("✅ Primitives generated successfully.\n");
18
+
19
+ const rawTokens: TokenItem[] = JSON.parse(fs.readFileSync(inputTokensSource, "utf8"));
20
+ console.log("📦 Generating tokens... ");
21
+ generateTokensScssFiles(rawTokens);
22
+ console.log("✅ Tokens generated successfully.\n");
23
+
24
+ console.log("✅ All design tokens generated successfully. ");
@@ -0,0 +1,84 @@
1
+ import fs from "fs";
2
+
3
+ import { describe, it, expect, vi, beforeEach } from "vitest";
4
+
5
+ import { Collection, generatePrimitivesScssFiles } from "./primitives-generator";
6
+
7
+ vi.mock("fs");
8
+
9
+ describe("primitives-generator", () => {
10
+ beforeEach(() => {
11
+ vi.clearAllMocks();
12
+ });
13
+
14
+ it("génère correctement les variables SCSS pour les couleurs", () => {
15
+ const colorCollection = [
16
+ {
17
+ collection: Collection.COLORS,
18
+ variables: {
19
+ bleu: {
20
+ 100: { $value: "#abcdef" },
21
+ 200: { $value: "#123456" },
22
+ },
23
+ rouge: {
24
+ 500: { $value: "#ff0000" },
25
+ },
26
+ },
27
+ },
28
+ ];
29
+
30
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
31
+
32
+ vi.spyOn(fs, "existsSync").mockReturnValue(true);
33
+
34
+ vi.spyOn(fs, "readFileSync").mockReturnValue(colorCollection.toString());
35
+
36
+ generatePrimitivesScssFiles(colorCollection);
37
+
38
+ expect(writeSpy).toHaveBeenCalledWith(
39
+ expect.stringContaining("_colors.scss"),
40
+ expect.stringContaining("$bleu-100: #abcdef;"),
41
+ );
42
+ expect(writeSpy).toHaveBeenCalledWith(
43
+ expect.stringContaining("_colors.scss"),
44
+ expect.stringContaining("$rouge-500: #ff0000;"),
45
+ );
46
+ });
47
+
48
+ it("génère correctement les variables SCSS pour la typo", () => {
49
+ const typoCollection = [
50
+ {
51
+ collection: Collection.TYPOGRAPHY,
52
+ variables: {
53
+ "font-weight": {
54
+ bold: { $value: "700" },
55
+ },
56
+ "font-family": {
57
+ main: { $value: "Nunito" },
58
+ },
59
+ "font-size": {
60
+ small: { $value: "12" },
61
+ },
62
+ },
63
+ },
64
+ ];
65
+
66
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
67
+ vi.spyOn(fs, "existsSync").mockReturnValue(true);
68
+
69
+ generatePrimitivesScssFiles(typoCollection);
70
+
71
+ expect(writeSpy).toHaveBeenCalledWith(
72
+ expect.stringContaining("_typography.scss"),
73
+ expect.stringContaining("$font-weight-bold: 700;"),
74
+ );
75
+ expect(writeSpy).toHaveBeenCalledWith(
76
+ expect.stringContaining("_typography.scss"),
77
+ expect.stringContaining('$font-family-main: "Nunito";'),
78
+ );
79
+ expect(writeSpy).toHaveBeenCalledWith(
80
+ expect.stringContaining("_typography.scss"),
81
+ expect.stringContaining("$font-size-small: 12px;"),
82
+ );
83
+ });
84
+ });
@@ -0,0 +1,66 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+
4
+ import { generateScssFile, primitivesOutputDir, UNIT } from "./common";
5
+
6
+ export enum Collection {
7
+ COLORS = "Primitive : Colors",
8
+ TYPOGRAPHY = "Primitive : Type",
9
+ }
10
+
11
+ interface CollectionItem {
12
+ collection: Collection;
13
+ variables: Record<string, Record<string, { $value: string }>>;
14
+ }
15
+
16
+ if (!fs.existsSync(primitivesOutputDir)) {
17
+ fs.mkdirSync(primitivesOutputDir);
18
+ }
19
+
20
+ export function generatePrimitivesScssFiles(json: CollectionItem[]) {
21
+ for (const tokenItem of json) {
22
+ let scss = "// This file is auto-generated. Do not edit directly.\n\n";
23
+ let filename = "";
24
+ switch (tokenItem.collection) {
25
+ case Collection.COLORS:
26
+ filename = "_colors.scss";
27
+ scss += extractColors(tokenItem);
28
+ generateScssFile(scss, path.join(primitivesOutputDir, filename));
29
+ break;
30
+
31
+ case Collection.TYPOGRAPHY:
32
+ filename = "_typography.scss";
33
+ scss += extractTypography(tokenItem);
34
+ generateScssFile(scss, path.join(primitivesOutputDir, filename));
35
+ break;
36
+ }
37
+ }
38
+ }
39
+
40
+ function extractColors(colorCollection: CollectionItem): string {
41
+ let scss = "";
42
+ for (const color in colorCollection.variables) {
43
+ for (const colorValue in colorCollection.variables[color]) {
44
+ const colorVariable = colorCollection.variables[color][colorValue];
45
+ scss += `$${color}-${colorValue}: ${colorVariable.$value};\n`.toLowerCase();
46
+ }
47
+ }
48
+ return scss;
49
+ }
50
+
51
+ function extractTypography(typographyCollection: CollectionItem): string {
52
+ let scss = "";
53
+ for (const category in typographyCollection.variables) {
54
+ for (const subCategory in typographyCollection.variables[category]) {
55
+ const typographyVariable = typographyCollection.variables[category][subCategory];
56
+ if (category === "font-weight") {
57
+ scss += `$${category}-${subCategory}: ${typographyVariable.$value};\n`.toLowerCase();
58
+ } else if (category === "font-family") {
59
+ scss += `$${category}-${subCategory}: "${typographyVariable.$value}";\n`;
60
+ } else {
61
+ scss += `$${category}-${subCategory}: ${typographyVariable.$value}${UNIT};\n`.toLowerCase();
62
+ }
63
+ }
64
+ }
65
+ return scss;
66
+ }