@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,184 @@
1
+ import fs from "fs";
2
+
3
+ import { describe, it, expect, vi, beforeEach } from "vitest";
4
+
5
+ import { Collection, generateTokensScssFiles } from "./tokens-generator";
6
+ import { ColorMode, generateThemeIndexScssFile } from "./tokens-generators/colors";
7
+
8
+ vi.mock("fs");
9
+
10
+ describe("tokens-generator", () => {
11
+ beforeEach(() => {
12
+ vi.clearAllMocks();
13
+ });
14
+
15
+ it("génère correctement un fichier SCSS de couleurs pour un mode", () => {
16
+ const colorTokens = [
17
+ {
18
+ collection: Collection.COLORS,
19
+ mode: ColorMode.BLEU_ICEBERG_LIGHT,
20
+ variables: {
21
+ background: {
22
+ default: { $type: "color", $scopes: [], $value: "Semantic.bleu-iceberg-light.bleu-100" },
23
+ hover: { $type: "color", $scopes: [], $value: "Semantic.bleu-iceberg-light.bleu-200" },
24
+ },
25
+ border: {
26
+ primary: { $type: "color", $scopes: [], $value: "Semantic.bleu-iceberg-light.rouge-500" },
27
+ },
28
+ },
29
+ },
30
+ ];
31
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
32
+ generateTokensScssFiles(colorTokens);
33
+ expect(writeSpy).toHaveBeenCalledWith(
34
+ expect.stringContaining("bleu-iceberg-light.scss"),
35
+ expect.stringContaining('"background-default": $bleu-100,'),
36
+ );
37
+ expect(writeSpy).toHaveBeenCalledWith(
38
+ expect.stringContaining("bleu-iceberg-light.scss"),
39
+ expect.stringContaining('"background-hover": $bleu-200,'),
40
+ );
41
+ });
42
+
43
+ it("génère correctement le fichier _main.scss pour les thèmes", () => {
44
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
45
+ generateThemeIndexScssFile();
46
+ expect(writeSpy).toHaveBeenCalledWith(
47
+ expect.stringContaining("themes/_main.scss"),
48
+ expect.stringContaining('@forward "bleu-iceberg-light";'),
49
+ );
50
+ expect(writeSpy).toHaveBeenCalledWith(
51
+ expect.stringContaining("themes/_main.scss"),
52
+ expect.stringContaining('@forward "vert-foret-dark";'),
53
+ );
54
+ });
55
+
56
+ it("génère correctement un fichier SCSS de typo", () => {
57
+ const typoTokens = [
58
+ {
59
+ collection: Collection.TYPOGRAPHY,
60
+ mode: "desktop",
61
+ variables: {
62
+ heading: {
63
+ xl: {
64
+ bold: {
65
+ main: { $type: "typography", $scopes: [], $value: "Type.desktop.heading.xl.bold.main" },
66
+ },
67
+ },
68
+ },
69
+ },
70
+ },
71
+ ];
72
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
73
+ generateTokensScssFiles(typoTokens);
74
+ expect(writeSpy).toHaveBeenCalledWith(
75
+ expect.stringContaining("_typography.scss"),
76
+ expect.stringContaining("$heading-xl-bold-main: $heading-xl-bold-main;"),
77
+ );
78
+ });
79
+
80
+ it("génère correctement un fichier SCSS d'opacité", () => {
81
+ const opacityTokens = [
82
+ {
83
+ collection: Collection.OPACITY,
84
+ mode: "",
85
+ variables: {
86
+ "80%": { $type: "opacity", $scopes: [], $value: 0.8 },
87
+ "50%": { $type: "opacity", $scopes: [], $value: 0.5 },
88
+ },
89
+ },
90
+ ];
91
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
92
+ generateTokensScssFiles(opacityTokens);
93
+ expect(writeSpy).toHaveBeenCalledWith(
94
+ expect.stringContaining("_opacity.scss"),
95
+ expect.stringContaining("$opacity-80: 80%;"),
96
+ );
97
+ expect(writeSpy).toHaveBeenCalledWith(
98
+ expect.stringContaining("_opacity.scss"),
99
+ expect.stringContaining("$opacity-50: 50%;"),
100
+ );
101
+ });
102
+
103
+ it("génère correctement un fichier SCSS de shadow", () => {
104
+ const shadowTokens = [
105
+ {
106
+ collection: Collection.SHADOWS,
107
+ mode: "",
108
+ variables: {
109
+ elevation: {
110
+ shadow1: { $type: "shadow", $scopes: [], $value: "0 1px 2px #00000033" },
111
+ shadow2: { $type: "shadow", $scopes: [], $value: "0 2px 4px #00000033" },
112
+ },
113
+ },
114
+ },
115
+ ];
116
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
117
+ generateTokensScssFiles(shadowTokens);
118
+ expect(writeSpy).toHaveBeenCalledWith(
119
+ expect.stringContaining("_shadows.scss"),
120
+ expect.stringContaining("$elevation-shadow1: 0 1px 2px #00000033;"),
121
+ );
122
+ expect(writeSpy).toHaveBeenCalledWith(
123
+ expect.stringContaining("_shadows.scss"),
124
+ expect.stringContaining("$elevation-shadow2: 0 2px 4px #00000033;"),
125
+ );
126
+ });
127
+
128
+ it("génère correctement un fichier SCSS de layout", () => {
129
+ const layoutTokens = [
130
+ {
131
+ collection: Collection.LAYOUT,
132
+ mode: "",
133
+ variables: {
134
+ spacing: {
135
+ sm: { $type: "layout", $scopes: [], $value: 8 },
136
+ md: { $type: "layout", $scopes: [], $value: 16 },
137
+ },
138
+ "column-number": {
139
+ default: { $type: "layout", $scopes: [], $value: 12 },
140
+ },
141
+ },
142
+ },
143
+ ];
144
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
145
+ generateTokensScssFiles(layoutTokens);
146
+ expect(writeSpy).toHaveBeenCalledWith(
147
+ expect.stringContaining("_layout.scss"),
148
+ expect.stringContaining("$spacing-sm: 8px;"),
149
+ );
150
+ expect(writeSpy).toHaveBeenCalledWith(
151
+ expect.stringContaining("_layout.scss"),
152
+ expect.stringContaining("$spacing-md: 16px;"),
153
+ );
154
+ expect(writeSpy).toHaveBeenCalledWith(
155
+ expect.stringContaining("_layout.scss"),
156
+ expect.stringContaining("$column-number-default: 12;"),
157
+ );
158
+ });
159
+
160
+ it("génère correctement un fichier SCSS pour le cas par défaut (DefaultToken)", () => {
161
+ const defaultTokens = [
162
+ {
163
+ collection: Collection.SPACING,
164
+ mode: "",
165
+ variables: {
166
+ space: {
167
+ sm: { $type: "spacing", $scopes: [], $value: 4 },
168
+ md: { $type: "spacing", $scopes: [], $value: 8 },
169
+ },
170
+ },
171
+ },
172
+ ];
173
+ const writeSpy = vi.spyOn(fs, "writeFileSync");
174
+ generateTokensScssFiles(defaultTokens);
175
+ expect(writeSpy).toHaveBeenCalledWith(
176
+ expect.stringContaining("_spacing.scss"),
177
+ expect.stringContaining("$space-sm: 4px;"),
178
+ );
179
+ expect(writeSpy).toHaveBeenCalledWith(
180
+ expect.stringContaining("_spacing.scss"),
181
+ expect.stringContaining("$space-md: 8px;"),
182
+ );
183
+ });
184
+ });
@@ -0,0 +1,155 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+
4
+ import {
5
+ buildScssFileName,
6
+ buildScssVariable,
7
+ generateScssFile,
8
+ PrivacyLevel,
9
+ tokensOutputDir,
10
+ TokenValue,
11
+ UNIT,
12
+ } from "./common";
13
+ import {
14
+ ColorMode,
15
+ ColorToken,
16
+ extractColors,
17
+ generateThemeIndexScssFile,
18
+ generateThemesFile,
19
+ } from "./tokens-generators/colors";
20
+ import { extractLayout, LayoutToken } from "./tokens-generators/layout";
21
+ import { extractOpacity, OpacityToken } from "./tokens-generators/opacity";
22
+ import { extractShadows, ShadowToken } from "./tokens-generators/shadows";
23
+ import { extractTypography, TypographyToken } from "./tokens-generators/typography";
24
+ import { generateZIndexTokensFile } from "./tokens-generators/zIndex";
25
+
26
+ export enum Collection {
27
+ COLORS = "Semantic : Colors",
28
+ TYPOGRAPHY = "Semantic : Type",
29
+ SPACING = "Spacing",
30
+ BORDER = "Border",
31
+ SHADOWS = "Shadows",
32
+ LAYOUT = "Layout",
33
+ OPACITY = "Opacity",
34
+ SIZE = "Size",
35
+ }
36
+
37
+ export const TokenPrivacyLevel: Record<Collection, PrivacyLevel> = {
38
+ [Collection.COLORS]: PrivacyLevel.PUBLIC,
39
+ [Collection.TYPOGRAPHY]: PrivacyLevel.PUBLIC,
40
+ [Collection.SPACING]: PrivacyLevel.PUBLIC,
41
+ [Collection.BORDER]: PrivacyLevel.PUBLIC,
42
+ [Collection.SHADOWS]: PrivacyLevel.PRIVATE,
43
+ [Collection.LAYOUT]: PrivacyLevel.PUBLIC,
44
+ [Collection.OPACITY]: PrivacyLevel.PUBLIC,
45
+ [Collection.SIZE]: PrivacyLevel.PRIVATE,
46
+ };
47
+
48
+ export interface DefaultToken {
49
+ [category: string]: {
50
+ [subCategory: string]: TokenValue;
51
+ };
52
+ }
53
+
54
+ export type TokenVariables = TypographyToken | ShadowToken | LayoutToken | DefaultToken | OpacityToken | ColorToken;
55
+
56
+ export interface TokenItem {
57
+ collection: Collection;
58
+ mode: string | ColorMode;
59
+ variables: TokenVariables;
60
+ }
61
+
62
+ if (!fs.existsSync(tokensOutputDir)) {
63
+ fs.mkdirSync(tokensOutputDir);
64
+ }
65
+
66
+ export function generateTokensScssFiles(json: TokenItem[]): void {
67
+ for (const tokenItem of json) {
68
+ let scss = `// This file is auto-generated. Do not edit directly.\n\n`;
69
+ let filename = "";
70
+ switch (tokenItem.collection) {
71
+ case Collection.COLORS:
72
+ {
73
+ const mode = tokenItem.mode as ColorMode;
74
+ filename = buildScssFileName(mode);
75
+ const filePath = path.join(tokensOutputDir, TokenPrivacyLevel[Collection.COLORS], "themes", "base", filename);
76
+ scss += extractColors(tokenItem.variables as ColorToken, mode);
77
+ generateScssFile(scss, filePath);
78
+ }
79
+ break;
80
+
81
+ case Collection.TYPOGRAPHY:
82
+ if (tokenItem.mode === "desktop") {
83
+ console.log(" ☑️ Typography");
84
+ filename = `_typography.scss`;
85
+ const filePath = path.join(tokensOutputDir, TokenPrivacyLevel[Collection.TYPOGRAPHY], filename);
86
+
87
+ scss += extractTypography(tokenItem.variables as TypographyToken);
88
+ generateScssFile(scss, filePath);
89
+ } else {
90
+ console.log(" 🚫 Skipping typography for mode " + tokenItem.mode);
91
+ }
92
+ break;
93
+
94
+ case Collection.OPACITY:
95
+ {
96
+ console.log(" ☑️ Opacity");
97
+ filename = buildScssFileName(tokenItem.collection);
98
+ const filePath = path.join(tokensOutputDir, TokenPrivacyLevel[Collection.OPACITY], filename);
99
+
100
+ scss += extractOpacity(tokenItem.variables as OpacityToken, tokenItem.collection);
101
+ generateScssFile(scss, filePath);
102
+ }
103
+ break;
104
+
105
+ case Collection.SHADOWS:
106
+ {
107
+ console.log(" ☑️ Shadows");
108
+ filename = buildScssFileName(tokenItem.collection);
109
+ const filePath = path.join(tokensOutputDir, TokenPrivacyLevel[Collection.SHADOWS], filename);
110
+
111
+ scss += extractShadows(tokenItem.variables as ShadowToken);
112
+ generateScssFile(scss, filePath);
113
+ }
114
+ break;
115
+
116
+ case Collection.LAYOUT:
117
+ {
118
+ console.log(" ☑️ Layout");
119
+ filename = buildScssFileName(tokenItem.collection);
120
+ const filePath = path.join(tokensOutputDir, TokenPrivacyLevel[Collection.LAYOUT], filename);
121
+
122
+ scss += extractLayout(tokenItem.variables as LayoutToken);
123
+ generateScssFile(scss, filePath);
124
+ }
125
+ break;
126
+
127
+ default:
128
+ {
129
+ console.log(` ☑️ ${tokenItem.collection}`);
130
+ filename = buildScssFileName(tokenItem.collection);
131
+ const filePath = path.join(tokensOutputDir, TokenPrivacyLevel[tokenItem.collection], filename);
132
+
133
+ scss += extractDefault(tokenItem.variables as DefaultToken);
134
+ generateScssFile(scss, filePath);
135
+ }
136
+ break;
137
+ }
138
+ }
139
+
140
+ generateZIndexTokensFile();
141
+ generateThemesFile();
142
+ generateThemeIndexScssFile();
143
+ console.log(" ☑️ Themes");
144
+ }
145
+
146
+ function extractDefault(variables: DefaultToken): string {
147
+ let scss = "";
148
+ for (const category in variables) {
149
+ for (const subCategory in variables[category]) {
150
+ const token = variables[category][subCategory];
151
+ scss += buildScssVariable([category, subCategory], `${token.$value}${UNIT}`);
152
+ }
153
+ }
154
+ return scss;
155
+ }
@@ -0,0 +1,142 @@
1
+ import path from "path";
2
+
3
+ import { generateScssFile, INDENT, PrivacyLevel, tokensOutputDir } from "../common";
4
+
5
+ export enum ColorTheme {
6
+ BLEU_ICEBERG = "bleu-iceberg",
7
+ VIOLET = "violet",
8
+ VERT_FORET = "vert-foret",
9
+ }
10
+
11
+ export enum ColorMode {
12
+ BLEU_ICEBERG_LIGHT = "bleu-iceberg-light",
13
+ BLEU_ICEBERG_DARK = "bleu-iceberg-dark",
14
+ VIOLET_LIGHT = "violet-light",
15
+ VIOLET_DARK = "violet-dark",
16
+ VERT_FORET_LIGHT = "vert-foret-light",
17
+ VERT_FORET_DARK = "vert-foret-dark",
18
+ }
19
+
20
+ export interface ColorTokenValue {
21
+ $type: string;
22
+ $scopes: string[];
23
+ $value: string;
24
+ }
25
+
26
+ export interface ColorToken {
27
+ [category: string]:
28
+ | {
29
+ [colorTokenName: string]: ColorTokenValue;
30
+ }
31
+ | ColorTokenValue;
32
+ }
33
+
34
+ const rawColorCategories = ["gradient", "elevation"];
35
+
36
+ export function extractColors(variables: ColorToken, mode: ColorMode): string {
37
+ let scss = `@use '../../../../primitives/colors' as *;\n`;
38
+ scss += `@use '../../../../primitives/devColors' as *;\n\n`;
39
+ scss += `$${mode}: (\n`;
40
+ for (const category in variables) {
41
+ const categoryTokens = variables[category];
42
+ if ((categoryTokens as ColorTokenValue).$value) {
43
+ const sanitizedCategory = category.replace(/ /g, "-");
44
+ scss += extractTokenValue(categoryTokens as ColorTokenValue, mode, [sanitizedCategory]);
45
+ } else {
46
+ scss += processSubTokens(categoryTokens as Record<string, ColorTokenValue>, mode, category, [category]);
47
+ }
48
+ }
49
+ scss += addDevColors(mode);
50
+ scss += ");\n";
51
+ return scss;
52
+ }
53
+
54
+ export function generateThemeIndexScssFile() {
55
+ let scss = "";
56
+ Object.values(ColorMode).forEach((mode) => {
57
+ scss += `@forward "${mode}";\n`;
58
+ });
59
+ const pathFile = path.join(tokensOutputDir, PrivacyLevel.PUBLIC, "themes", "base", "_index.scss");
60
+ generateScssFile(scss, pathFile);
61
+ }
62
+
63
+ export function generateThemesFile() {
64
+ let scss = `// This file is auto-generated. Do not edit directly.\n\n`;
65
+ scss += `@use 'base' as *;\n\n`;
66
+ Object.values(ColorTheme).forEach((theme) => {
67
+ scss += `$${theme}: (\n`;
68
+ scss += `${INDENT.repeat(1)}"light": $${theme}-light,\n`;
69
+ scss += `${INDENT.repeat(1)}"dark": $${theme}-dark,\n`;
70
+ scss += `);\n`;
71
+ });
72
+
73
+ scss += `\n$themes: (\n`;
74
+ Object.values(ColorTheme).forEach((theme) => {
75
+ scss += `${INDENT.repeat(1)}"${theme.replace(/-/g, "_")}": $${theme},\n`;
76
+ });
77
+ scss += `);`;
78
+
79
+ const filePath = path.join(tokensOutputDir, PrivacyLevel.PUBLIC, "themes", "_index.scss");
80
+ generateScssFile(scss, filePath);
81
+ }
82
+
83
+ function extractTokenValue(token: ColorTokenValue, mode: ColorMode, path: string[]): string {
84
+ const tokenValue = buildColorsScssVariableValue(token.$value, mode);
85
+ if (rawColorCategories.includes(path[0])) {
86
+ return buildColorScssVariable(path, `${tokenValue}`);
87
+ } else {
88
+ return buildColorScssVariable(path, `$${tokenValue}`);
89
+ }
90
+ }
91
+
92
+ function processSubTokens(
93
+ tokens: Record<string, ColorTokenValue>,
94
+ mode: ColorMode,
95
+ category: string,
96
+ path: string[] = [],
97
+ ): string {
98
+ let scss = "";
99
+ for (const subCategory in tokens) {
100
+ const token = tokens[subCategory];
101
+ if (token.$value) {
102
+ scss += extractTokenValue(token, mode, [...path, subCategory]);
103
+ } else {
104
+ scss += processSubTokens(token as unknown as Record<string, ColorTokenValue>, mode, category, [
105
+ ...path,
106
+ subCategory,
107
+ ]);
108
+ }
109
+ }
110
+ return scss;
111
+ }
112
+
113
+ function buildColorScssVariable(variableName: string[], value: string): string {
114
+ return `${INDENT.repeat(1)}"${variableName.join("-")}": ${value},\n`.toLowerCase();
115
+ }
116
+
117
+ function buildColorsScssVariableValue(rawValue: string, mode: ColorMode): string {
118
+ const value = rawValue.split(`.${mode}.`)[1];
119
+ return value ? value.replace(/\./g, "-") : rawValue;
120
+ }
121
+
122
+ function addDevColors(mode: ColorMode): string {
123
+ const isLightMode = mode.includes("light");
124
+ let scss = "";
125
+ if (isLightMode) {
126
+ scss += `${INDENT.repeat(1)}// TODO remove this color (not a real token)\n`;
127
+ scss += `${INDENT.repeat(1)}"background-brand-hover-opacity-20": $${mode.replace("-light", "")}-700-opacity-20,\n`;
128
+ scss += `${INDENT.repeat(1)}// TODO remove this color (not a real token)\n`;
129
+ scss += `${INDENT.repeat(1)}"background-danger-hover-opacity-20": $rouge-indications-700-opacity-20,\n`;
130
+ scss += `${INDENT.repeat(1)}// TODO remove this color (not a real token)\n`;
131
+ scss += `${INDENT.repeat(1)}"background-hover-opacity-50": $greyscale-50-opacity-50,\n`;
132
+ } else {
133
+ scss += `${INDENT.repeat(1)}// TODO remove this color (not a real token)\n`;
134
+ scss += `${INDENT.repeat(1)}"background-brand-hover-opacity-20": $${mode.replace("-dark", "")}-200-opacity-20,\n`;
135
+ scss += `${INDENT.repeat(1)}// TODO remove this color (not a real token)\n`;
136
+ scss += `${INDENT.repeat(1)}"background-danger-hover-opacity-20": $rouge-indications-500-opacity-20,\n`;
137
+ scss += `${INDENT.repeat(1)}// TODO remove this color (not a real token)\n`;
138
+ scss += `${INDENT.repeat(1)}"background-hover-opacity-50": $greyscale-800-opacity-50,\n`;
139
+ }
140
+
141
+ return scss;
142
+ }
@@ -0,0 +1,22 @@
1
+ import { buildScssVariable, TokenValue, UNIT } from "../common";
2
+
3
+ export interface LayoutToken {
4
+ [category: string]: {
5
+ [size: string]: TokenValue;
6
+ };
7
+ }
8
+
9
+ export function extractLayout(variables: LayoutToken): string {
10
+ let scss = "";
11
+ for (const category in variables) {
12
+ for (const size in variables[category]) {
13
+ const layoutToken = variables[category][size];
14
+ if (category === "column-number") {
15
+ scss += buildScssVariable([category, size], String(layoutToken.$value));
16
+ } else {
17
+ scss += buildScssVariable([category, size], `${layoutToken.$value}${UNIT}`);
18
+ }
19
+ }
20
+ }
21
+ return scss;
22
+ }
@@ -0,0 +1,14 @@
1
+ import { buildScssVariable, TokenValue } from "../common";
2
+
3
+ export interface OpacityToken {
4
+ [percentage: string]: TokenValue;
5
+ }
6
+
7
+ export function extractOpacity(variables: OpacityToken, collection: string): string {
8
+ let scss = "";
9
+ for (const percentage in variables) {
10
+ const value = percentage.replace(/%$/, "");
11
+ scss += buildScssVariable([collection, value], percentage);
12
+ }
13
+ return scss;
14
+ }
@@ -0,0 +1,18 @@
1
+ import { buildScssVariable, TokenValue, UNIT } from "../common";
2
+
3
+ export interface ShadowToken {
4
+ [category: string]: {
5
+ [shadowTokenName: string]: TokenValue;
6
+ };
7
+ }
8
+
9
+ export function extractShadows(variables: ShadowToken): string {
10
+ let scss = "";
11
+ for (const category in variables) {
12
+ for (const shadowTokenName in variables[category]) {
13
+ const shadowToken = variables[category][shadowTokenName];
14
+ scss += buildScssVariable([category, shadowTokenName], `${String(shadowToken.$value)}${UNIT}`);
15
+ }
16
+ }
17
+ return scss;
18
+ }
@@ -0,0 +1,58 @@
1
+ import { buildScssVariable, TokenValue } from "../common";
2
+
3
+ export interface TypographyToken {
4
+ [category: string]: {
5
+ [size: string]: {
6
+ [weight: string]: {
7
+ [typographyTokenName: string]: TokenValue;
8
+ };
9
+ };
10
+ };
11
+ }
12
+
13
+ export function extractTypography(variables: TypographyToken): string {
14
+ let scss = "";
15
+ scss += `@use '../../primitives/typography' as *;\n\n`;
16
+ for (const category in variables) {
17
+ scss += extractFromTypographyCategory(category, variables[category]);
18
+ }
19
+ return scss;
20
+ }
21
+
22
+ function extractFromTypographyCategory(category: string, categoryObj: TypographyToken[string]): string {
23
+ let scss = "";
24
+ for (const size in categoryObj) {
25
+ scss += extractFromTypographySize(category, size, categoryObj[size]);
26
+ }
27
+ return scss;
28
+ }
29
+
30
+ function extractFromTypographySize(category: string, size: string, sizeObj: TypographyToken[string][string]): string {
31
+ let scss = "";
32
+ for (const weight in sizeObj) {
33
+ scss += extractFromTypographyWeight(category, size, weight, sizeObj[weight]);
34
+ }
35
+ return scss;
36
+ }
37
+
38
+ function extractFromTypographyWeight(
39
+ category: string,
40
+ size: string,
41
+ weight: string,
42
+ weightObj: TypographyToken[string][string][string],
43
+ ): string {
44
+ let scss = "";
45
+ for (const typographyTokenName in weightObj) {
46
+ const typographyToken = weightObj[typographyTokenName];
47
+ const rawTypographyTokenValue =
48
+ typeof typographyToken.$value === "string"
49
+ ? typographyToken.$value.split("Type.desktop.")[1]
50
+ : typographyToken.$value;
51
+ const typographyTokenValue =
52
+ typeof rawTypographyTokenValue === "string"
53
+ ? rawTypographyTokenValue.replace(/\./g, "-")
54
+ : rawTypographyTokenValue;
55
+ scss += buildScssVariable([category, size, weight, typographyTokenName], `$${typographyTokenValue}`);
56
+ }
57
+ return scss;
58
+ }
@@ -0,0 +1,18 @@
1
+ import path from "path";
2
+
3
+ import { buildScssFileName, generateScssFile, PrivacyLevel, tokensOutputDir } from "../common";
4
+
5
+ export function generateZIndexTokensFile() {
6
+ let scss = `// This file is auto-generated. Do not edit directly.\n\n`;
7
+
8
+ scss += `$level-0: 0;\n`;
9
+ scss += `$level-1: 10;\n`;
10
+ scss += `$level-2: 100;\n`;
11
+
12
+ const filename = buildScssFileName("zIndex");
13
+
14
+ const filePath = path.join(tokensOutputDir, PrivacyLevel.PRIVATE, filename);
15
+
16
+ generateScssFile(scss, filePath);
17
+ console.log(" ☑️ Z-Index");
18
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "compilerOptions": {
3
+ "jsx": "react",
4
+ "target": "es2019",
5
+ "module": "commonjs",
6
+ "esModuleInterop": true,
7
+ "skipLibCheck": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "strict": true
10
+ },
11
+ "exclude": ["node_modules"]
12
+ }