@design-system-rte/angular 0.2.2 → 0.4.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 (568) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/ng-package.json +10 -0
  3. package/package.json +8 -18
  4. package/src/lib/components/button/button.component.html +10 -0
  5. package/src/lib/components/button/button.component.scss +154 -0
  6. package/src/lib/components/button/button.component.spec.ts +22 -0
  7. package/src/lib/components/button/button.component.stories.ts +99 -0
  8. package/src/lib/components/button/button.component.ts +28 -0
  9. package/src/lib/components/checkbox/checkbox.component.html +31 -0
  10. package/src/lib/components/checkbox/checkbox.component.scss +176 -0
  11. package/src/lib/components/checkbox/checkbox.component.stories.ts +126 -0
  12. package/src/lib/components/checkbox/checkbox.component.ts +34 -0
  13. package/src/lib/components/checkbox-group/checkbox-group.component.html +46 -0
  14. package/src/lib/components/checkbox-group/checkbox-group.component.scss +82 -0
  15. package/src/lib/components/checkbox-group/checkbox-group.component.stories.ts +121 -0
  16. package/src/lib/components/checkbox-group/checkbox-group.component.ts +28 -0
  17. package/src/lib/components/grid/col/col.directive.ts +35 -0
  18. package/src/lib/components/grid/grid.directive.stories.ts +150 -0
  19. package/src/lib/components/grid/grid.directive.ts +22 -0
  20. package/src/lib/components/icon/icon-map.ts +305 -0
  21. package/src/lib/components/icon/icon.component.html +1 -0
  22. package/src/lib/components/icon/icon.component.scss +3 -0
  23. package/src/lib/components/icon/icon.component.ts +58 -0
  24. package/src/lib/components/icon/icon.service.ts +33 -0
  25. package/src/lib/components/icon/icon.stories.ts +84 -0
  26. package/src/lib/components/icon-button/icon-button.component.html +16 -0
  27. package/src/lib/components/icon-button/icon-button.component.scss +165 -0
  28. package/src/lib/components/icon-button/icon-button.component.ts +40 -0
  29. package/src/lib/components/icon-button/icon-button.stories.ts +200 -0
  30. package/src/lib/components/icon-button-toggle/icon-button-toggle.component.html +12 -0
  31. package/src/lib/components/icon-button-toggle/icon-button-toggle.component.ts +36 -0
  32. package/src/lib/components/icon-button-toggle/icon-button-toggle.stories.ts +197 -0
  33. package/src/lib/components/link/link.component.html +6 -0
  34. package/src/lib/components/link/link.component.scss +108 -0
  35. package/src/lib/components/link/link.component.stories.ts +61 -0
  36. package/src/lib/components/link/link.component.ts +18 -0
  37. package/src/lib/components/radio-button/radio-button.component.html +24 -0
  38. package/src/lib/components/radio-button/radio-button.component.scss +135 -0
  39. package/src/lib/components/radio-button/radio-button.component.stories.ts +76 -0
  40. package/src/lib/components/radio-button/radio-button.component.ts +22 -0
  41. package/src/lib/components/radio-button-group/radio-button-group.component.html +45 -0
  42. package/src/lib/components/radio-button-group/radio-button-group.component.scss +82 -0
  43. package/src/lib/components/radio-button-group/radio-button-group.component.stories.ts +121 -0
  44. package/src/lib/components/radio-button-group/radio-button-group.component.ts +28 -0
  45. package/src/lib/components/split-button/split-button.component.html +56 -0
  46. package/src/lib/components/split-button/split-button.component.scss +288 -0
  47. package/src/lib/components/split-button/split-button.component.stories.ts +227 -0
  48. package/src/lib/components/split-button/split-button.component.ts +55 -0
  49. package/src/lib/components/tooltip/tooltip.component.html +7 -0
  50. package/src/lib/components/tooltip/tooltip.component.scss +116 -0
  51. package/src/lib/components/tooltip/tooltip.component.ts +16 -0
  52. package/src/lib/components/tooltip/tooltip.directive.stories.ts +218 -0
  53. package/src/lib/components/tooltip/tooltip.directive.ts +187 -0
  54. package/{public-api.d.ts → src/public-api.ts} +0 -1
  55. package/tsconfig.lib.json +20 -0
  56. package/tsconfig.lib.prod.json +10 -0
  57. package/tsconfig.spec.json +14 -0
  58. package/design-system-rte-angular.d.ts.map +0 -1
  59. package/esm2022/design-system-rte-angular.mjs +0 -5
  60. package/esm2022/lib/components/button/button.component.mjs +0 -26
  61. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -35
  62. package/esm2022/lib/components/checkbox-group/checkbox-group.component.mjs +0 -29
  63. package/esm2022/lib/components/grid/col/col.directive.mjs +0 -41
  64. package/esm2022/lib/components/grid/grid.directive.mjs +0 -30
  65. package/esm2022/lib/components/icon/icon-map.mjs +0 -301
  66. package/esm2022/lib/components/icon/icon.component.mjs +0 -39
  67. package/esm2022/lib/components/icon/icon.service.mjs +0 -33
  68. package/esm2022/lib/components/link/link.component.mjs +0 -20
  69. package/esm2022/lib/components/radio-button/radio-button.component.mjs +0 -24
  70. package/esm2022/lib/components/radio-button-group/radio-button-group.component.mjs +0 -29
  71. package/esm2022/public-api.mjs +0 -10
  72. package/fesm2022/design-system-rte-angular.mjs +0 -581
  73. package/fesm2022/design-system-rte-angular.mjs.map +0 -1
  74. package/index.d.ts +0 -6
  75. package/lib/assets/icons/add.svg +0 -3
  76. package/lib/assets/icons/add_circle_filled.svg +0 -3
  77. package/lib/assets/icons/add_circle_outlined.svg +0 -3
  78. package/lib/assets/icons/admin_panel_settings_filled.svg +0 -3
  79. package/lib/assets/icons/admin_panel_settings_outlined.svg +0 -3
  80. package/lib/assets/icons/alt_route.svg +0 -3
  81. package/lib/assets/icons/analytics_filled.svg +0 -3
  82. package/lib/assets/icons/analytics_outlined.svg +0 -3
  83. package/lib/assets/icons/apps.svg +0 -3
  84. package/lib/assets/icons/archive_filled.svg +0 -3
  85. package/lib/assets/icons/archive_outlined.svg +0 -3
  86. package/lib/assets/icons/arrow_alt_down.svg +0 -3
  87. package/lib/assets/icons/arrow_alt_down_left.svg +0 -3
  88. package/lib/assets/icons/arrow_alt_down_right.svg +0 -3
  89. package/lib/assets/icons/arrow_alt_left.svg +0 -3
  90. package/lib/assets/icons/arrow_alt_right.svg +0 -3
  91. package/lib/assets/icons/arrow_alt_up.svg +0 -3
  92. package/lib/assets/icons/arrow_alt_up_left.svg +0 -3
  93. package/lib/assets/icons/arrow_alt_up_right.svg +0 -3
  94. package/lib/assets/icons/arrow_angle_down_left.svg +0 -3
  95. package/lib/assets/icons/arrow_angle_down_right.svg +0 -3
  96. package/lib/assets/icons/arrow_angle_up_left.svg +0 -3
  97. package/lib/assets/icons/arrow_angle_up_right.svg +0 -3
  98. package/lib/assets/icons/arrow_chevron_down.svg +0 -3
  99. package/lib/assets/icons/arrow_chevron_left.svg +0 -3
  100. package/lib/assets/icons/arrow_chevron_right.svg +0 -3
  101. package/lib/assets/icons/arrow_chevron_up.svg +0 -3
  102. package/lib/assets/icons/arrow_circle_chevron_down_filled.svg +0 -3
  103. package/lib/assets/icons/arrow_circle_chevron_down_outlined.svg +0 -3
  104. package/lib/assets/icons/arrow_circle_chevron_left_filled.svg +0 -3
  105. package/lib/assets/icons/arrow_circle_chevron_left_outlined.svg +0 -3
  106. package/lib/assets/icons/arrow_circle_chevron_right_filled.svg +0 -3
  107. package/lib/assets/icons/arrow_circle_chevron_right_outlined.svg +0 -3
  108. package/lib/assets/icons/arrow_circle_chevron_up_filled.svg +0 -3
  109. package/lib/assets/icons/arrow_circle_chevron_up_outlined.svg +0 -3
  110. package/lib/assets/icons/arrow_circle_down_filled.svg +0 -3
  111. package/lib/assets/icons/arrow_circle_down_outlined.svg +0 -3
  112. package/lib/assets/icons/arrow_circle_left_filled.svg +0 -3
  113. package/lib/assets/icons/arrow_circle_left_outlined.svg +0 -3
  114. package/lib/assets/icons/arrow_circle_right_filled.svg +0 -3
  115. package/lib/assets/icons/arrow_circle_right_outlined.svg +0 -3
  116. package/lib/assets/icons/arrow_circle_up_filled.svg +0 -3
  117. package/lib/assets/icons/arrow_circle_up_outlined.svg +0 -3
  118. package/lib/assets/icons/arrow_double_down.svg +0 -3
  119. package/lib/assets/icons/arrow_double_left.svg +0 -3
  120. package/lib/assets/icons/arrow_double_right.svg +0 -3
  121. package/lib/assets/icons/arrow_double_up.svg +0 -3
  122. package/lib/assets/icons/arrow_down.svg +0 -3
  123. package/lib/assets/icons/arrow_down_left.svg +0 -3
  124. package/lib/assets/icons/arrow_down_right.svg +0 -3
  125. package/lib/assets/icons/arrow_drop_down.svg +0 -3
  126. package/lib/assets/icons/arrow_drop_up.svg +0 -3
  127. package/lib/assets/icons/arrow_left.svg +0 -3
  128. package/lib/assets/icons/arrow_right.svg +0 -3
  129. package/lib/assets/icons/arrow_up.svg +0 -3
  130. package/lib/assets/icons/arrow_up_left.svg +0 -3
  131. package/lib/assets/icons/arrow_up_right.svg +0 -3
  132. package/lib/assets/icons/article_filled.svg +0 -3
  133. package/lib/assets/icons/article_outlined.svg +0 -3
  134. package/lib/assets/icons/assignment_complete_filled.svg +0 -3
  135. package/lib/assets/icons/assignment_complete_outlined.svg +0 -3
  136. package/lib/assets/icons/assignment_filled.svg +0 -3
  137. package/lib/assets/icons/assignment_outlined.svg +0 -3
  138. package/lib/assets/icons/asterisk.svg +0 -3
  139. package/lib/assets/icons/attach_file.svg +0 -3
  140. package/lib/assets/icons/battery_alert_filled.svg +0 -3
  141. package/lib/assets/icons/battery_alert_outlined.svg +0 -3
  142. package/lib/assets/icons/battery_alt_empty.svg +0 -3
  143. package/lib/assets/icons/battery_alt_full.svg +0 -3
  144. package/lib/assets/icons/battery_charging.svg +0 -3
  145. package/lib/assets/icons/battery_charging_full_filled.svg +0 -3
  146. package/lib/assets/icons/battery_charging_full_outlined.svg +0 -3
  147. package/lib/assets/icons/battery_empty.svg +0 -3
  148. package/lib/assets/icons/battery_full.svg +0 -3
  149. package/lib/assets/icons/bluetooth.svg +0 -3
  150. package/lib/assets/icons/bluetooth_off.svg +0 -3
  151. package/lib/assets/icons/bolt_alt_circle_filled.svg +0 -3
  152. package/lib/assets/icons/bolt_alt_circle_outlined.svg +0 -3
  153. package/lib/assets/icons/bolt_alt_filled.svg +0 -3
  154. package/lib/assets/icons/bolt_alt_outlined.svg +0 -3
  155. package/lib/assets/icons/bolt_circle_filled.svg +0 -3
  156. package/lib/assets/icons/bolt_circle_outlined.svg +0 -3
  157. package/lib/assets/icons/bolt_filled.svg +0 -3
  158. package/lib/assets/icons/bolt_outlined.svg +0 -3
  159. package/lib/assets/icons/bookmark_filled.svg +0 -3
  160. package/lib/assets/icons/bookmark_outlined.svg +0 -3
  161. package/lib/assets/icons/bookmarks_filled.svg +0 -3
  162. package/lib/assets/icons/bookmarks_outlined.svg +0 -3
  163. package/lib/assets/icons/build_filled.svg +0 -3
  164. package/lib/assets/icons/build_outlined.svg +0 -3
  165. package/lib/assets/icons/calendar_available_filled.svg +0 -3
  166. package/lib/assets/icons/calendar_available_outlined.svg +0 -3
  167. package/lib/assets/icons/calendar_busy_filled.svg +0 -3
  168. package/lib/assets/icons/calendar_busy_outlined.svg +0 -3
  169. package/lib/assets/icons/calendar_month_filled.svg +0 -3
  170. package/lib/assets/icons/calendar_month_outlined.svg +0 -3
  171. package/lib/assets/icons/calendar_today_filled.svg +0 -3
  172. package/lib/assets/icons/calendar_today_outlined.svg +0 -3
  173. package/lib/assets/icons/call_filled.svg +0 -3
  174. package/lib/assets/icons/call_outlined.svg +0 -3
  175. package/lib/assets/icons/category_filled.svg +0 -3
  176. package/lib/assets/icons/category_outlined.svg +0 -3
  177. package/lib/assets/icons/chart_add_filled.svg +0 -3
  178. package/lib/assets/icons/chart_add_outlined.svg +0 -3
  179. package/lib/assets/icons/chart_area_filled.svg +0 -3
  180. package/lib/assets/icons/chart_area_outlined.svg +0 -3
  181. package/lib/assets/icons/chart_bar.svg +0 -3
  182. package/lib/assets/icons/chart_bar_stacked.svg +0 -3
  183. package/lib/assets/icons/chart_pie_filled.svg +0 -3
  184. package/lib/assets/icons/chart_pie_outlined.svg +0 -3
  185. package/lib/assets/icons/chart_table_filled.svg +0 -3
  186. package/lib/assets/icons/chart_table_outlined.svg +0 -3
  187. package/lib/assets/icons/chat_alt_filled.svg +0 -3
  188. package/lib/assets/icons/chat_alt_outlined.svg +0 -3
  189. package/lib/assets/icons/chat_alt_unread_filled.svg +0 -3
  190. package/lib/assets/icons/chat_alt_unread_outlined.svg +0 -3
  191. package/lib/assets/icons/chat_filled.svg +0 -3
  192. package/lib/assets/icons/chat_outlined.svg +0 -3
  193. package/lib/assets/icons/chat_unread_filled.svg +0 -3
  194. package/lib/assets/icons/chat_unread_outlined.svg +0 -3
  195. package/lib/assets/icons/check.svg +0 -3
  196. package/lib/assets/icons/check_circle_filled.svg +0 -3
  197. package/lib/assets/icons/check_circle_outlined.svg +0 -3
  198. package/lib/assets/icons/check_indeterminate.svg +0 -3
  199. package/lib/assets/icons/check_small.svg +0 -3
  200. package/lib/assets/icons/checkbox_empty.svg +0 -3
  201. package/lib/assets/icons/checkbox_filled.svg +0 -3
  202. package/lib/assets/icons/checkbox_indeterminate_filled.svg +0 -3
  203. package/lib/assets/icons/checkbox_indeterminate_outlined.svg +0 -3
  204. package/lib/assets/icons/checkbox_outlined.svg +0 -3
  205. package/lib/assets/icons/clock_filled.svg +0 -3
  206. package/lib/assets/icons/clock_outlined.svg +0 -3
  207. package/lib/assets/icons/close.svg +0 -3
  208. package/lib/assets/icons/cloud_download_filled.svg +0 -3
  209. package/lib/assets/icons/cloud_download_outlined.svg +0 -3
  210. package/lib/assets/icons/cloud_filled.svg +0 -3
  211. package/lib/assets/icons/cloud_off_filled.svg +0 -3
  212. package/lib/assets/icons/cloud_off_outlined.svg +0 -3
  213. package/lib/assets/icons/cloud_outlined.svg +0 -3
  214. package/lib/assets/icons/cloud_upload_filled.svg +0 -3
  215. package/lib/assets/icons/cloud_upload_outlined.svg +0 -3
  216. package/lib/assets/icons/comment_add_filled.svg +0 -3
  217. package/lib/assets/icons/comment_add_outlined.svg +0 -3
  218. package/lib/assets/icons/comment_filled.svg +0 -3
  219. package/lib/assets/icons/comment_outlined.svg +0 -3
  220. package/lib/assets/icons/compare.svg +0 -3
  221. package/lib/assets/icons/copy_all.svg +0 -3
  222. package/lib/assets/icons/copy_filled.svg +0 -3
  223. package/lib/assets/icons/copy_outlined.svg +0 -3
  224. package/lib/assets/icons/crisis_alert.svg +0 -3
  225. package/lib/assets/icons/cut.svg +0 -3
  226. package/lib/assets/icons/dangerous_filled.svg +0 -3
  227. package/lib/assets/icons/dangerous_outlined.svg +0 -3
  228. package/lib/assets/icons/dashboard_filled.svg +0 -3
  229. package/lib/assets/icons/dashboard_outlined.svg +0 -3
  230. package/lib/assets/icons/database_filled.svg +0 -3
  231. package/lib/assets/icons/database_outlined.svg +0 -3
  232. package/lib/assets/icons/delete_filled.svg +0 -3
  233. package/lib/assets/icons/delete_outlined.svg +0 -3
  234. package/lib/assets/icons/desktop_filled.svg +0 -3
  235. package/lib/assets/icons/desktop_outlined.svg +0 -3
  236. package/lib/assets/icons/devices_filled.svg +0 -3
  237. package/lib/assets/icons/devices_outlined.svg +0 -3
  238. package/lib/assets/icons/download.svg +0 -3
  239. package/lib/assets/icons/download_done.svg +0 -3
  240. package/lib/assets/icons/draft_filled.svg +0 -3
  241. package/lib/assets/icons/draft_outlined.svg +0 -3
  242. package/lib/assets/icons/drag_handle.svg +0 -3
  243. package/lib/assets/icons/drag_indicator.svg +0 -3
  244. package/lib/assets/icons/eco_filled.svg +0 -3
  245. package/lib/assets/icons/eco_outlined.svg +0 -3
  246. package/lib/assets/icons/edit_filled.svg +0 -3
  247. package/lib/assets/icons/edit_outlined.svg +0 -3
  248. package/lib/assets/icons/electric_meter_filled.svg +0 -3
  249. package/lib/assets/icons/electric_meter_outlined.svg +0 -3
  250. package/lib/assets/icons/error_filled.svg +0 -3
  251. package/lib/assets/icons/error_outlined.svg +0 -3
  252. package/lib/assets/icons/exclamation.svg +0 -3
  253. package/lib/assets/icons/explore_filled.svg +0 -3
  254. package/lib/assets/icons/explore_off_filled.svg +0 -3
  255. package/lib/assets/icons/explore_off_outlined.svg +0 -3
  256. package/lib/assets/icons/explore_outlined.svg +0 -3
  257. package/lib/assets/icons/explore_travel.svg +0 -3
  258. package/lib/assets/icons/external_link.svg +0 -3
  259. package/lib/assets/icons/fast_forward_filled.svg +0 -3
  260. package/lib/assets/icons/fast_forward_outlined.svg +0 -3
  261. package/lib/assets/icons/fast_rewind_filled.svg +0 -3
  262. package/lib/assets/icons/fast_rewind_outlined.svg +0 -3
  263. package/lib/assets/icons/feedback_filled.svg +0 -3
  264. package/lib/assets/icons/feedback_outlined.svg +0 -3
  265. package/lib/assets/icons/file_copy_filled.svg +0 -3
  266. package/lib/assets/icons/file_copy_outlined.svg +0 -3
  267. package/lib/assets/icons/file_download_filled.svg +0 -3
  268. package/lib/assets/icons/file_download_outlined.svg +0 -3
  269. package/lib/assets/icons/file_upload_filled.svg +0 -3
  270. package/lib/assets/icons/file_upload_outlined.svg +0 -3
  271. package/lib/assets/icons/filter.svg +0 -3
  272. package/lib/assets/icons/filter_alt_filled.svg +0 -3
  273. package/lib/assets/icons/filter_alt_off_filled.svg +0 -3
  274. package/lib/assets/icons/filter_alt_off_outlined.svg +0 -3
  275. package/lib/assets/icons/filter_alt_outlined.svg +0 -3
  276. package/lib/assets/icons/filter_off.svg +0 -3
  277. package/lib/assets/icons/fire_filled.svg +0 -3
  278. package/lib/assets/icons/fire_outlined.svg +0 -3
  279. package/lib/assets/icons/first_page.svg +0 -3
  280. package/lib/assets/icons/fit_screen_filled.svg +0 -3
  281. package/lib/assets/icons/fit_screen_outlined.svg +0 -3
  282. package/lib/assets/icons/flag_filled.svg +0 -3
  283. package/lib/assets/icons/flag_outlined.svg +0 -3
  284. package/lib/assets/icons/flash_filled.svg +0 -3
  285. package/lib/assets/icons/flash_off_filled.svg +0 -3
  286. package/lib/assets/icons/flash_off_outlined.svg +0 -3
  287. package/lib/assets/icons/flash_outlined.svg +0 -3
  288. package/lib/assets/icons/folder_add_filled.svg +0 -3
  289. package/lib/assets/icons/folder_add_outlined.svg +0 -3
  290. package/lib/assets/icons/folder_filled.svg +0 -3
  291. package/lib/assets/icons/folder_move_filled.svg +0 -3
  292. package/lib/assets/icons/folder_move_outlined.svg +0 -3
  293. package/lib/assets/icons/folder_open_filled.svg +0 -3
  294. package/lib/assets/icons/folder_open_outlined.svg +0 -3
  295. package/lib/assets/icons/folder_outlined.svg +0 -3
  296. package/lib/assets/icons/folder_shared_filled.svg +0 -3
  297. package/lib/assets/icons/folder_shared_outlined.svg +0 -3
  298. package/lib/assets/icons/forum_filled.svg +0 -3
  299. package/lib/assets/icons/forum_outlined.svg +0 -3
  300. package/lib/assets/icons/forward.svg +0 -3
  301. package/lib/assets/icons/fullscreen.svg +0 -3
  302. package/lib/assets/icons/fullscreen_exit.svg +0 -3
  303. package/lib/assets/icons/group_add_filled.svg +0 -3
  304. package/lib/assets/icons/group_add_outlined.svg +0 -3
  305. package/lib/assets/icons/group_filled.svg +0 -3
  306. package/lib/assets/icons/group_outlined.svg +0 -3
  307. package/lib/assets/icons/groups_filled.svg +0 -3
  308. package/lib/assets/icons/groups_outlined.svg +0 -3
  309. package/lib/assets/icons/headphones_filled.svg +0 -3
  310. package/lib/assets/icons/headphones_outlined.svg +0 -3
  311. package/lib/assets/icons/heart_filled.svg +0 -3
  312. package/lib/assets/icons/heart_outlined.svg +0 -3
  313. package/lib/assets/icons/help_filled.svg +0 -3
  314. package/lib/assets/icons/help_outlined.svg +0 -3
  315. package/lib/assets/icons/history.svg +0 -3
  316. package/lib/assets/icons/home_filled.svg +0 -3
  317. package/lib/assets/icons/home_outlined.svg +0 -3
  318. package/lib/assets/icons/hourglass_empty.svg +0 -3
  319. package/lib/assets/icons/hourglass_filled.svg +0 -3
  320. package/lib/assets/icons/hourglass_outlined.svg +0 -3
  321. package/lib/assets/icons/image_broken_filled.svg +0 -3
  322. package/lib/assets/icons/image_broken_outlined.svg +0 -3
  323. package/lib/assets/icons/image_filled.svg +0 -3
  324. package/lib/assets/icons/image_gallery_filled.svg +0 -3
  325. package/lib/assets/icons/image_gallery_outlined.svg +0 -3
  326. package/lib/assets/icons/image_outlined.svg +0 -3
  327. package/lib/assets/icons/inbox_filled.svg +0 -3
  328. package/lib/assets/icons/inbox_outlined.svg +0 -3
  329. package/lib/assets/icons/info_filled.svg +0 -3
  330. package/lib/assets/icons/info_i.svg +0 -3
  331. package/lib/assets/icons/info_outlined.svg +0 -3
  332. package/lib/assets/icons/keep_filled.svg +0 -3
  333. package/lib/assets/icons/keep_off_filled.svg +0 -3
  334. package/lib/assets/icons/keep_off_outlined.svg +0 -3
  335. package/lib/assets/icons/keep_outlined.svg +0 -3
  336. package/lib/assets/icons/label_filled.svg +0 -3
  337. package/lib/assets/icons/label_outlined.svg +0 -3
  338. package/lib/assets/icons/language.svg +0 -3
  339. package/lib/assets/icons/laptop_filled.svg +0 -3
  340. package/lib/assets/icons/laptop_outlined.svg +0 -3
  341. package/lib/assets/icons/last_page.svg +0 -3
  342. package/lib/assets/icons/left_panel_close_filled.svg +0 -3
  343. package/lib/assets/icons/left_panel_close_outlined.svg +0 -3
  344. package/lib/assets/icons/left_panel_open_filled.svg +0 -3
  345. package/lib/assets/icons/left_panel_open_outlined.svg +0 -3
  346. package/lib/assets/icons/light_off_filled.svg +0 -3
  347. package/lib/assets/icons/light_off_outlined.svg +0 -3
  348. package/lib/assets/icons/lightbulb_alt_filled.svg +0 -3
  349. package/lib/assets/icons/lightbulb_alt_outlined.svg +0 -3
  350. package/lib/assets/icons/lightbulb_circle_filled.svg +0 -3
  351. package/lib/assets/icons/lightbulb_circle_outlined.svg +0 -3
  352. package/lib/assets/icons/lightbulb_filled.svg +0 -3
  353. package/lib/assets/icons/lightbulb_outlined.svg +0 -3
  354. package/lib/assets/icons/link.svg +0 -3
  355. package/lib/assets/icons/link_off.svg +0 -3
  356. package/lib/assets/icons/list.svg +0 -3
  357. package/lib/assets/icons/list_alt_filled.svg +0 -3
  358. package/lib/assets/icons/list_alt_outlined.svg +0 -3
  359. package/lib/assets/icons/location_disabled.svg +0 -10
  360. package/lib/assets/icons/location_me_filled.svg +0 -3
  361. package/lib/assets/icons/location_me_outlined.svg +0 -3
  362. package/lib/assets/icons/location_off_filled.svg +0 -3
  363. package/lib/assets/icons/location_off_outlined.svg +0 -3
  364. package/lib/assets/icons/location_on_filled.svg +0 -3
  365. package/lib/assets/icons/location_on_outlined.svg +0 -3
  366. package/lib/assets/icons/lock_filled.svg +0 -3
  367. package/lib/assets/icons/lock_open_filled.svg +0 -3
  368. package/lib/assets/icons/lock_open_outlined.svg +0 -3
  369. package/lib/assets/icons/lock_open_right_filled.svg +0 -3
  370. package/lib/assets/icons/lock_open_right_outlined.svg +0 -3
  371. package/lib/assets/icons/lock_outlined.svg +0 -3
  372. package/lib/assets/icons/login.svg +0 -3
  373. package/lib/assets/icons/logout.svg +0 -3
  374. package/lib/assets/icons/mail_filled.svg +0 -3
  375. package/lib/assets/icons/mail_outlined.svg +0 -3
  376. package/lib/assets/icons/mail_unread_filled.svg +0 -3
  377. package/lib/assets/icons/mail_unread_outlined.svg +0 -3
  378. package/lib/assets/icons/map_filled.svg +0 -3
  379. package/lib/assets/icons/map_outlined.svg +0 -3
  380. package/lib/assets/icons/menu.svg +0 -3
  381. package/lib/assets/icons/menu_open.svg +0 -3
  382. package/lib/assets/icons/mic_filled.svg +0 -3
  383. package/lib/assets/icons/mic_off_filled.svg +0 -3
  384. package/lib/assets/icons/mic_off_outlined.svg +0 -3
  385. package/lib/assets/icons/mic_outlined.svg +0 -3
  386. package/lib/assets/icons/mode_dark_filled.svg +0 -3
  387. package/lib/assets/icons/mode_dark_outlined.svg +0 -3
  388. package/lib/assets/icons/mode_light_filled.svg +0 -10
  389. package/lib/assets/icons/mode_light_outlined.svg +0 -10
  390. package/lib/assets/icons/monitoring.svg +0 -3
  391. package/lib/assets/icons/more_down.svg +0 -3
  392. package/lib/assets/icons/more_horiz.svg +0 -3
  393. package/lib/assets/icons/more_up.svg +0 -3
  394. package/lib/assets/icons/more_vert.svg +0 -3
  395. package/lib/assets/icons/notification_filled.svg +0 -3
  396. package/lib/assets/icons/notification_important_filled.svg +0 -3
  397. package/lib/assets/icons/notification_important_outlined.svg +0 -3
  398. package/lib/assets/icons/notification_off_filled.svg +0 -3
  399. package/lib/assets/icons/notification_off_outlined.svg +0 -3
  400. package/lib/assets/icons/notification_outlined.svg +0 -3
  401. package/lib/assets/icons/notification_unread_filled.svg +0 -3
  402. package/lib/assets/icons/notification_unread_outlined.svg +0 -3
  403. package/lib/assets/icons/ohm.svg +0 -3
  404. package/lib/assets/icons/open_in_full.svg +0 -3
  405. package/lib/assets/icons/palette_filled.svg +0 -3
  406. package/lib/assets/icons/palette_outlined.svg +0 -3
  407. package/lib/assets/icons/paste.svg +0 -3
  408. package/lib/assets/icons/pause_circle_filled.svg +0 -3
  409. package/lib/assets/icons/pause_circle_outlined.svg +0 -3
  410. package/lib/assets/icons/pause_filled.svg +0 -3
  411. package/lib/assets/icons/pause_outlined.svg +0 -3
  412. package/lib/assets/icons/photo_camera_filled.svg +0 -3
  413. package/lib/assets/icons/photo_camera_outlined.svg +0 -3
  414. package/lib/assets/icons/play_circle_filled.svg +0 -3
  415. package/lib/assets/icons/play_circle_outlined.svg +0 -3
  416. package/lib/assets/icons/play_filled.svg +0 -3
  417. package/lib/assets/icons/play_outlined.svg +0 -3
  418. package/lib/assets/icons/play_pause.svg +0 -3
  419. package/lib/assets/icons/power_filled.svg +0 -3
  420. package/lib/assets/icons/power_input.svg +0 -3
  421. package/lib/assets/icons/power_off_filled.svg +0 -3
  422. package/lib/assets/icons/power_off_outlined.svg +0 -3
  423. package/lib/assets/icons/power_outlined.svg +0 -3
  424. package/lib/assets/icons/power_plug.svg +0 -3
  425. package/lib/assets/icons/power_plug_connect_filled.svg +0 -3
  426. package/lib/assets/icons/power_plug_connect_outlined.svg +0 -3
  427. package/lib/assets/icons/power_settings.svg +0 -3
  428. package/lib/assets/icons/power_settings_circle_filled.svg +0 -3
  429. package/lib/assets/icons/power_settings_circle_outlined.svg +0 -3
  430. package/lib/assets/icons/power_solar_filled.svg +0 -3
  431. package/lib/assets/icons/power_solar_outlined.svg +0 -3
  432. package/lib/assets/icons/power_switch_filled.svg +0 -3
  433. package/lib/assets/icons/power_switch_outlined.svg +0 -3
  434. package/lib/assets/icons/power_wind_filled.svg +0 -3
  435. package/lib/assets/icons/power_wind_outlined.svg +0 -3
  436. package/lib/assets/icons/print_filled.svg +0 -3
  437. package/lib/assets/icons/print_outlined.svg +0 -3
  438. package/lib/assets/icons/priority_high.svg +0 -3
  439. package/lib/assets/icons/public.svg +0 -3
  440. package/lib/assets/icons/publish.svg +0 -3
  441. package/lib/assets/icons/question_mark.svg +0 -3
  442. package/lib/assets/icons/radar.svg +0 -3
  443. package/lib/assets/icons/radio_button_empty.svg +0 -3
  444. package/lib/assets/icons/redo.svg +0 -3
  445. package/lib/assets/icons/reload.svg +0 -3
  446. package/lib/assets/icons/remove.svg +0 -3
  447. package/lib/assets/icons/reply.svg +0 -3
  448. package/lib/assets/icons/reply_all.svg +0 -3
  449. package/lib/assets/icons/right_panel_close_filled.svg +0 -3
  450. package/lib/assets/icons/right_panel_close_outlined.svg +0 -3
  451. package/lib/assets/icons/right_panel_open_filled.svg +0 -3
  452. package/lib/assets/icons/right_panel_open_outlined.svg +0 -3
  453. package/lib/assets/icons/route.svg +0 -3
  454. package/lib/assets/icons/save_filled.svg +0 -3
  455. package/lib/assets/icons/save_outlined.svg +0 -3
  456. package/lib/assets/icons/search.svg +0 -3
  457. package/lib/assets/icons/send_filled.svg +0 -3
  458. package/lib/assets/icons/send_outlined.svg +0 -3
  459. package/lib/assets/icons/settings_filled.svg +0 -3
  460. package/lib/assets/icons/settings_outlined.svg +0 -3
  461. package/lib/assets/icons/share_filled.svg +0 -3
  462. package/lib/assets/icons/share_outlined.svg +0 -3
  463. package/lib/assets/icons/side_navigation.svg +0 -3
  464. package/lib/assets/icons/skip_next_filled.svg +0 -3
  465. package/lib/assets/icons/skip_next_outlined.svg +0 -3
  466. package/lib/assets/icons/skip_previous_filled.svg +0 -3
  467. package/lib/assets/icons/skip_previous_outlined.svg +0 -3
  468. package/lib/assets/icons/smartphone_filled.svg +0 -3
  469. package/lib/assets/icons/smartphone_outlined.svg +0 -3
  470. package/lib/assets/icons/sort.svg +0 -3
  471. package/lib/assets/icons/star_filled.svg +0 -3
  472. package/lib/assets/icons/star_outlined.svg +0 -3
  473. package/lib/assets/icons/sticky_note_filled.svg +0 -3
  474. package/lib/assets/icons/sticky_note_outlined.svg +0 -3
  475. package/lib/assets/icons/stop_circle_filled.svg +0 -3
  476. package/lib/assets/icons/stop_circle_outlined.svg +0 -3
  477. package/lib/assets/icons/stop_filled.svg +0 -3
  478. package/lib/assets/icons/stop_outlined.svg +0 -3
  479. package/lib/assets/icons/subtitles_filled.svg +0 -3
  480. package/lib/assets/icons/subtitles_outlined.svg +0 -3
  481. package/lib/assets/icons/support_agent.svg +0 -3
  482. package/lib/assets/icons/text_snippet_filled.svg +0 -3
  483. package/lib/assets/icons/text_snippet_outlined.svg +0 -3
  484. package/lib/assets/icons/timeline.svg +0 -3
  485. package/lib/assets/icons/trash_restore_filled.svg +0 -3
  486. package/lib/assets/icons/trash_restore_outlined.svg +0 -3
  487. package/lib/assets/icons/trending_down.svg +0 -3
  488. package/lib/assets/icons/trending_flat.svg +0 -3
  489. package/lib/assets/icons/trending_up.svg +0 -3
  490. package/lib/assets/icons/tune.svg +0 -3
  491. package/lib/assets/icons/unarchive_filled.svg +0 -3
  492. package/lib/assets/icons/unarchive_outlined.svg +0 -3
  493. package/lib/assets/icons/undo.svg +0 -3
  494. package/lib/assets/icons/upload.svg +0 -3
  495. package/lib/assets/icons/user_add_filled.svg +0 -3
  496. package/lib/assets/icons/user_add_outlined.svg +0 -3
  497. package/lib/assets/icons/user_circle_filled.svg +0 -3
  498. package/lib/assets/icons/user_circle_outlined.svg +0 -3
  499. package/lib/assets/icons/user_filled.svg +0 -3
  500. package/lib/assets/icons/user_outlined.svg +0 -3
  501. package/lib/assets/icons/user_settings_filled.svg +0 -3
  502. package/lib/assets/icons/user_settings_outlined.svg +0 -3
  503. package/lib/assets/icons/verified_filled.svg +0 -3
  504. package/lib/assets/icons/verified_outlined.svg +0 -3
  505. package/lib/assets/icons/video_camera_filled.svg +0 -3
  506. package/lib/assets/icons/video_camera_off_filled.svg +0 -3
  507. package/lib/assets/icons/video_camera_off_outlined.svg +0 -3
  508. package/lib/assets/icons/video_camera_outlined.svg +0 -3
  509. package/lib/assets/icons/video_gallery_filled.svg +0 -3
  510. package/lib/assets/icons/video_gallery_outlined.svg +0 -3
  511. package/lib/assets/icons/view_agenda_filled.svg +0 -3
  512. package/lib/assets/icons/view_agenda_outlined.svg +0 -3
  513. package/lib/assets/icons/view_column_filled.svg +0 -3
  514. package/lib/assets/icons/view_column_outlined.svg +0 -3
  515. package/lib/assets/icons/view_grid_filled.svg +0 -3
  516. package/lib/assets/icons/view_grid_outlined.svg +0 -3
  517. package/lib/assets/icons/view_kanban_filled.svg +0 -3
  518. package/lib/assets/icons/view_kanban_outlined.svg +0 -3
  519. package/lib/assets/icons/view_module_filled.svg +0 -3
  520. package/lib/assets/icons/view_module_outlined.svg +0 -3
  521. package/lib/assets/icons/view_timeline_filled.svg +0 -3
  522. package/lib/assets/icons/view_timeline_outlined.svg +0 -3
  523. package/lib/assets/icons/visibility_hide_filled.svg +0 -3
  524. package/lib/assets/icons/visibility_hide_outlined.svg +0 -3
  525. package/lib/assets/icons/visibility_show_filled.svg +0 -3
  526. package/lib/assets/icons/visibility_show_outlined.svg +0 -3
  527. package/lib/assets/icons/volume_down_filled.svg +0 -3
  528. package/lib/assets/icons/volume_down_outlined.svg +0 -3
  529. package/lib/assets/icons/volume_mute_filled.svg +0 -3
  530. package/lib/assets/icons/volume_mute_outlined.svg +0 -3
  531. package/lib/assets/icons/volume_off_filled.svg +0 -3
  532. package/lib/assets/icons/volume_off_outlined.svg +0 -3
  533. package/lib/assets/icons/volume_up_filled.svg +0 -3
  534. package/lib/assets/icons/volume_up_outlined.svg +0 -3
  535. package/lib/assets/icons/warning_filled.svg +0 -3
  536. package/lib/assets/icons/warning_outlined.svg +0 -3
  537. package/lib/assets/icons/water.svg +0 -3
  538. package/lib/assets/icons/water_alt.svg +0 -3
  539. package/lib/assets/icons/waterdrop_filled.svg +0 -3
  540. package/lib/assets/icons/waterdrop_outlined.svg +0 -3
  541. package/lib/assets/icons/wifi.svg +0 -3
  542. package/lib/assets/icons/wifi_off.svg +0 -3
  543. package/lib/assets/icons/windmill.svg +0 -3
  544. package/lib/assets/icons/zoom_in.svg +0 -3
  545. package/lib/assets/icons/zoom_out.svg +0 -3
  546. package/lib/components/button/button.component.d.ts +0 -17
  547. package/lib/components/button/button.component.d.ts.map +0 -1
  548. package/lib/components/checkbox/checkbox.component.d.ts +0 -19
  549. package/lib/components/checkbox/checkbox.component.d.ts.map +0 -1
  550. package/lib/components/checkbox-group/checkbox-group.component.d.ts +0 -19
  551. package/lib/components/checkbox-group/checkbox-group.component.d.ts.map +0 -1
  552. package/lib/components/grid/col/col.directive.d.ts +0 -15
  553. package/lib/components/grid/col/col.directive.d.ts.map +0 -1
  554. package/lib/components/grid/grid.directive.d.ts +0 -11
  555. package/lib/components/grid/grid.directive.d.ts.map +0 -1
  556. package/lib/components/icon/icon-map.d.ts +0 -301
  557. package/lib/components/icon/icon-map.d.ts.map +0 -1
  558. package/lib/components/icon/icon.component.d.ts +0 -22
  559. package/lib/components/icon/icon.component.d.ts.map +0 -1
  560. package/lib/components/icon/icon.service.d.ts +0 -12
  561. package/lib/components/icon/icon.service.d.ts.map +0 -1
  562. package/lib/components/link/link.component.d.ts +0 -10
  563. package/lib/components/link/link.component.d.ts.map +0 -1
  564. package/lib/components/radio-button/radio-button.component.d.ts +0 -14
  565. package/lib/components/radio-button/radio-button.component.d.ts.map +0 -1
  566. package/lib/components/radio-button-group/radio-button-group.component.d.ts +0 -19
  567. package/lib/components/radio-button-group/radio-button-group.component.d.ts.map +0 -1
  568. package/public-api.d.ts.map +0 -1
@@ -0,0 +1,288 @@
1
+ @use '@design-system-rte/core/design-tokens/main.scss' as *;
2
+
3
+ .split-button-container {
4
+ display: inline-flex;
5
+ padding: $positive-spacing_0;
6
+ align-items: center;
7
+ gap: $positive-spacing_0;
8
+ align-self: stretch;
9
+
10
+ &.size-s {
11
+ height: 24px;
12
+
13
+ &.compact-spacing {
14
+ height: 20px;
15
+ }
16
+ }
17
+
18
+ &.size-m {
19
+ height: 32px;
20
+
21
+ &.compact-spacing {
22
+ height: 24px;
23
+ }
24
+ }
25
+
26
+ &.size-l {
27
+ height: 40px;
28
+
29
+ &.compact-spacing {
30
+ height: 28px;
31
+ }
32
+ }
33
+
34
+ &.secondary {
35
+ .split-button-left {
36
+ border-top: 1px solid var(--border-brand-default);
37
+ border-bottom: 1px solid var(--border-brand-default);
38
+ border-left: 1px solid var(--border-brand-default);
39
+ background-color: var(--background-default);
40
+ color: var(--content-brand-default);
41
+
42
+ &:hover {
43
+ cursor: pointer;
44
+ background-color: var(--background-brand-inverse-hover);
45
+ }
46
+
47
+ &:active {
48
+ background-color: var(--background-brand-inverse-pressed);
49
+ }
50
+
51
+ &:disabled {
52
+ background-color: var(--background-disabled);
53
+ color: var(--content-disabled);
54
+ border-top: 1px solid var(--border-disabled);
55
+ border-bottom: 1px solid var(--border-disabled);
56
+ border-left: 1px solid var(--border-disabled);
57
+ cursor: not-allowed;
58
+ }
59
+ }
60
+
61
+ .split-button-divider {
62
+ background-color: var(--border-brand-default);
63
+ }
64
+
65
+ .split-button-right-container {
66
+ .split-button-right {
67
+ border-top: 1px solid var(--border-brand-default);
68
+ border-bottom: 1px solid var(--border-brand-default);
69
+ border-right: 1px solid var(--border-brand-default);
70
+ background-color: var(--background-default);
71
+ color: var(--content-brand-default);
72
+
73
+ &:hover {
74
+ cursor: pointer;
75
+ background-color: var(--background-brand-inverse-hover);
76
+ }
77
+
78
+ &:active {
79
+ background-color: var(--background-brand-inverse-pressed);
80
+ }
81
+
82
+ &:disabled {
83
+ background-color: var(--background-disabled);
84
+ color: var(--content-disabled);
85
+ border-top: 1px solid var(--border-disabled);
86
+ border-bottom: 1px solid var(--border-disabled);
87
+ border-right: 1px solid var(--border-disabled);
88
+ cursor: not-allowed;
89
+ }
90
+ }
91
+ }
92
+ }
93
+
94
+ .split-button-left {
95
+ display: flex;
96
+ border: none;
97
+ padding: $positive-spacing_0 $positive-spacing_100;
98
+ align-items: center;
99
+ gap: $positive-spacing_0;
100
+ align-self: stretch;
101
+ border-radius: $radius-s $radius-none $radius-none $radius-s;
102
+ border-color: var(--border-brand-default);
103
+ background-color: var(--background-brand-default);
104
+ color: var(--content-primary-inverse);
105
+
106
+ .split-button-label {
107
+ margin: 0;
108
+
109
+ &.size-s {
110
+ @include typography-split-button-s;
111
+ }
112
+
113
+ &.size-m {
114
+ @include typography-split-button-m;
115
+ }
116
+
117
+ &.size-l {
118
+ @include typography-split-button-l;
119
+ }
120
+ }
121
+
122
+ &:hover {
123
+ cursor: pointer;
124
+ background-color: var(--background-brand-hover);
125
+ }
126
+
127
+ &:active {
128
+ background-color: var(--background-brand-pressed);
129
+ }
130
+
131
+ &:disabled {
132
+ background-color: var(--background-disabled);
133
+ color: var(--content-disabled);
134
+ border-top: 1px solid var(--border-disabled);
135
+ border-bottom: 1px solid var(--border-disabled);
136
+ border-left: 1px solid var(--border-disabled);
137
+ cursor: not-allowed;
138
+ }
139
+
140
+ &:focus {
141
+ outline: none;
142
+ position: relative;
143
+ z-index: 1;
144
+
145
+ &::after {
146
+ content: '';
147
+ position: absolute;
148
+ top: -8px;
149
+ left: -8px;
150
+ bottom: -8px;
151
+ right: -1px;
152
+ border: 1px solid var(--border-brand-focused);
153
+ pointer-events: none;
154
+ border-radius: $radius-s;
155
+ z-index: 2;
156
+ }
157
+ }
158
+ }
159
+
160
+ .split-button-divider {
161
+ width: 1px;
162
+ height: 100%;
163
+ background-color: var(--content-primary-inverse);
164
+
165
+ &.disabled {
166
+ background-color: var(--border-disabled);
167
+ }
168
+ }
169
+
170
+ .split-button-right-container {
171
+ display: flex;
172
+ position: relative;
173
+ padding: $positive-spacing_0;
174
+ align-items: center;
175
+ justify-content: center;
176
+ gap: $positive-spacing_0;
177
+ align-self: stretch;
178
+
179
+ &.size-s {
180
+ width: 24px;
181
+ }
182
+
183
+ &.size-m {
184
+ width: 34px;
185
+ }
186
+
187
+ &.size-l {
188
+ width: 44px;
189
+ }
190
+
191
+ .split-button-right {
192
+ display: flex;
193
+ border: none;
194
+ padding: $positive-spacing_075 $positive-spacing_200;
195
+ align-items: center;
196
+ justify-content: center;
197
+ align-self: stretch;
198
+
199
+ border-radius: $radius-none $radius-s $radius-s $radius-none;
200
+ border-color: var(--border-brand-default);
201
+ background-color: var(--background-brand-default);
202
+
203
+ color: var(--content-primary-inverse);
204
+
205
+ &:hover {
206
+ cursor: pointer;
207
+ background-color: var(--background-brand-hover);
208
+ }
209
+
210
+ &:active {
211
+ background-color: var(--background-brand-pressed);
212
+ }
213
+
214
+ &:disabled {
215
+ background-color: var(--background-disabled);
216
+ color: var(--content-disabled);
217
+ border-top: 1px solid var(--border-disabled);
218
+ border-bottom: 1px solid var(--border-disabled);
219
+ border-right: 1px solid var(--border-disabled);
220
+ cursor: not-allowed;
221
+ }
222
+
223
+ &:focus {
224
+ outline: none;
225
+ position: relative;
226
+ z-index: 1;
227
+
228
+ &::after {
229
+ content: '';
230
+ position: absolute;
231
+ top: -8px;
232
+ left: -1px;
233
+ bottom: -8px;
234
+ right: -8px;
235
+ border: 1px solid var(--border-brand-focused);
236
+ pointer-events: none;
237
+ border-radius: $radius-s;
238
+ z-index: 2;
239
+ }
240
+ }
241
+
242
+ .split-button-right-icon-container {
243
+ pointer-events: none;
244
+ }
245
+ }
246
+
247
+ .split-button-dropdown {
248
+ position: absolute;
249
+
250
+ &.position-bottom-start {
251
+ top: 100%;
252
+ left: 0;
253
+ }
254
+
255
+ &.position-bottom-end {
256
+ top: 100%;
257
+ right: 0;
258
+ }
259
+
260
+ &.position-top-start {
261
+ bottom: 100%;
262
+ left: 0;
263
+ }
264
+
265
+ &.position-top-end {
266
+ bottom: 100%;
267
+ right: 0;
268
+ }
269
+ }
270
+ }
271
+ }
272
+
273
+ .animation-slide-from-top {
274
+ animation: slide-from-top 0.2s ease-in-out;
275
+ }
276
+
277
+ @keyframes slide-from-top {
278
+ from {
279
+ transform: translateY(-10px);
280
+ pointer-events: none;
281
+ opacity: 0;
282
+ }
283
+
284
+ to {
285
+ transform: translateY(0);
286
+ opacity: 1;
287
+ }
288
+ }
@@ -0,0 +1,227 @@
1
+ import { DOWN_KEY } from "@design-system-rte/core/constants/keyboard.constants";
2
+ import { Meta, StoryObj } from "@storybook/angular";
3
+ import { expect, userEvent, waitFor, within } from "@storybook/test";
4
+
5
+ import { SplitButtonComponent } from "./split-button.component";
6
+
7
+ const mockChildren = `
8
+ <div style="display: flex; flex-direction: column; gap: 8px; min-width: 120px">
9
+ <button
10
+ style="
11
+ padding: 8px 16px;
12
+ border: none;
13
+ border-radius: 4px;
14
+ background: #2563eb;
15
+ color: #fff;
16
+ font-weight: 500;
17
+ font-size: 15px;
18
+ cursor: pointer;
19
+ "
20
+ >
21
+ Action 1
22
+ </button>
23
+ <button
24
+ style="
25
+ padding: 8px 16px;
26
+ border: none;
27
+ border-radius: 4px;
28
+ background: #64748b;
29
+ color: #fff;
30
+ font-weight: 500;
31
+ font-size: 15px;
32
+ cursor: pointer;
33
+ "
34
+ >
35
+ Action 2
36
+ </button>
37
+ </div>
38
+ `;
39
+
40
+ function generateSplitButtonElement(props: Record<string, string> = {}): string {
41
+ const defaultProps = {
42
+ appearance: "appearance",
43
+ label: "label",
44
+ position: "position",
45
+ disabled: "disabled",
46
+ ariaLabelRight: "ariaLabelRight",
47
+ ...props,
48
+ };
49
+
50
+ const attributes = Object.entries(defaultProps)
51
+ .map(([key, value]) => `[${key}]="${value}"`)
52
+ .join("\n");
53
+
54
+ return `
55
+ <rte-split-button
56
+ ${attributes}
57
+ >
58
+ ${mockChildren}
59
+ </rte-split-button>`;
60
+ }
61
+
62
+ const meta: Meta<SplitButtonComponent> = {
63
+ title: "SplitButton",
64
+ component: SplitButtonComponent,
65
+ tags: ["autodocs"],
66
+ argTypes: {
67
+ appearance: {
68
+ control: "select",
69
+ options: ["primary", "secondary"],
70
+ },
71
+ size: {
72
+ control: "select",
73
+ options: ["s", "m", "l"],
74
+ },
75
+ compactSpacing: {
76
+ control: "boolean",
77
+ },
78
+ selected: {
79
+ control: "boolean",
80
+ },
81
+ position: {
82
+ control: "select",
83
+ options: ["bottom-start", "bottom-end", "top-start", "top-end"],
84
+ },
85
+ disabled: {
86
+ control: "boolean",
87
+ },
88
+ },
89
+ };
90
+ export default meta;
91
+ type Story = StoryObj<SplitButtonComponent>;
92
+
93
+ export const Default: Story = {
94
+ args: {
95
+ appearance: "primary",
96
+ label: "Button Label",
97
+ compactSpacing: false,
98
+ position: "bottom-start",
99
+ disabled: false,
100
+ ariaLabelRight: "Open menu",
101
+ },
102
+ render: (args) => ({
103
+ props: args,
104
+ template: `
105
+ ${generateSplitButtonElement()}
106
+ `,
107
+ }),
108
+ play: async ({ canvasElement }) => {
109
+ const canvas = within(canvasElement);
110
+ const button = canvas.getByTestId("Main action button");
111
+ await userEvent.click(button);
112
+ },
113
+ };
114
+
115
+ export const Appearance: Story = {
116
+ render: (args) => ({
117
+ props: args,
118
+ template: `
119
+ <div style="display: flex; gap: 16px">
120
+ ${generateSplitButtonElement({ appearance: "'primary'" })}
121
+ ${generateSplitButtonElement({ appearance: "'secondary'" })}
122
+ </div>
123
+ `,
124
+ }),
125
+ args: {
126
+ ...Default.args,
127
+ },
128
+ };
129
+
130
+ export const Size: Story = {
131
+ render: (args) => ({
132
+ props: args,
133
+ template: `
134
+ <div style="display: flex; gap: 16px">
135
+ ${generateSplitButtonElement({ size: "'s'" })}
136
+ ${generateSplitButtonElement({ size: "'m'" })}
137
+ ${generateSplitButtonElement({ size: "'l'" })}
138
+ </div>
139
+ `,
140
+ }),
141
+ args: {
142
+ ...Default.args,
143
+ },
144
+ };
145
+
146
+ export const CompactSpacing: Story = {
147
+ render: (args) => ({
148
+ props: args,
149
+ template: `
150
+ <div style="display: flex; gap: 16px">
151
+ ${generateSplitButtonElement({
152
+ size: "'s'",
153
+ compactSpacing: "true",
154
+ icon: "icon",
155
+ })}
156
+ ${generateSplitButtonElement({
157
+ size: "'m'",
158
+ compactSpacing: "true",
159
+ icon: "icon",
160
+ })}
161
+ ${generateSplitButtonElement({
162
+ size: "'l'",
163
+ compactSpacing: "true",
164
+ icon: "icon",
165
+ })}
166
+ </div>
167
+ `,
168
+ }),
169
+ args: {
170
+ ...Default.args,
171
+ },
172
+ };
173
+
174
+ export const Position: Story = {
175
+ render: (args) => ({
176
+ props: args,
177
+ template: `
178
+ <div style="display: flex; justify-content: center; align-items: center; min-height: 600px">
179
+ <div style="display: grid; grid-template-columns: 2fr 2fr; gap: 24px">
180
+ ${generateSplitButtonElement({
181
+ position: "'top-end'",
182
+ compactSpacing: "compactSpacing",
183
+ selected: "selected",
184
+ icon: "icon",
185
+ })}
186
+ ${generateSplitButtonElement({
187
+ position: "'top-start'",
188
+ compactSpacing: "compactSpacing",
189
+ selected: "selected",
190
+ icon: "icon",
191
+ })}
192
+ ${generateSplitButtonElement({
193
+ position: "'bottom-end'",
194
+ compactSpacing: "compactSpacing",
195
+ selected: "selected",
196
+ icon: "icon",
197
+ })}
198
+ ${generateSplitButtonElement({
199
+ position: "'bottom-start'",
200
+ compactSpacing: "compactSpacing",
201
+ selected: "selected",
202
+ icon: "icon",
203
+ })}
204
+ </div>
205
+ </div>
206
+ `,
207
+ }),
208
+ args: {
209
+ ...Default.args,
210
+ },
211
+ };
212
+
213
+ export const KeyboardInteraction: Story = {
214
+ play: async ({ canvasElement }) => {
215
+ const canvas = within(canvasElement);
216
+ const button = canvas.getByTestId("Menu button");
217
+ const menuContainer = canvas.getByTestId("Menu container");
218
+ await userEvent.tab();
219
+ await userEvent.tab();
220
+ expect(document.activeElement).toBe(button);
221
+ await userEvent.keyboard(DOWN_KEY);
222
+ await waitFor(() => expect(menuContainer).toBeVisible());
223
+ },
224
+ args: {
225
+ ...Default.args,
226
+ },
227
+ };
@@ -0,0 +1,55 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { ChangeDetectionStrategy, Component, computed, input, signal } from "@angular/core";
3
+ import {
4
+ splitButtonLeftIconSize,
5
+ splitButtonRightIconSize,
6
+ } from "@design-system-rte/core/components/split-button/split-button.constants";
7
+ import {
8
+ SplitButtonAppearance,
9
+ SplitButtonPosition,
10
+ SplitButtonSize,
11
+ } from "@design-system-rte/core/components/split-button/split-button.interface";
12
+
13
+ import { IconComponent } from "../icon/icon.component";
14
+ import { RegularIconIdKey, TogglableIconIdKey } from "../icon/icon.service";
15
+
16
+ @Component({
17
+ selector: "rte-split-button",
18
+ imports: [CommonModule, IconComponent],
19
+ standalone: true,
20
+ templateUrl: "./split-button.component.html",
21
+ styleUrl: "./split-button.component.scss",
22
+ changeDetection: ChangeDetectionStrategy.OnPush,
23
+ })
24
+ export class SplitButtonComponent {
25
+ readonly appearance = input<SplitButtonAppearance>("primary");
26
+ readonly size = input<SplitButtonSize>("m");
27
+ readonly label = input.required<string>();
28
+ readonly compactSpacing = input(false);
29
+ readonly selected = input(false);
30
+ readonly position = input<SplitButtonPosition>("bottom-start");
31
+ readonly icon = input<RegularIconIdKey | TogglableIconIdKey>();
32
+ readonly disabled = input(false);
33
+ readonly ariaLabelRight = input<string>();
34
+
35
+ readonly splitButtonLeftIconSize = computed(() => splitButtonLeftIconSize[this.size()]);
36
+ readonly splitButtonRightIconSize = computed(() => splitButtonRightIconSize[this.size()]);
37
+
38
+ readonly isOpen = signal(false);
39
+
40
+ handleKeyDownOnRightButton(event: KeyboardEvent): void {
41
+ this.handleKeyDown(event, "ArrowDown", () => this.isOpen.set(true));
42
+ this.handleKeyDown(event, "Escape", () => this.isOpen.set(false));
43
+ }
44
+
45
+ handleKeyDownOnMenu(event: KeyboardEvent): void {
46
+ this.handleKeyDown(event, "Escape", () => this.isOpen.set(false));
47
+ }
48
+
49
+ private handleKeyDown(event: KeyboardEvent, key: string, callback: () => void): void {
50
+ if (event.key === key) {
51
+ event.preventDefault();
52
+ callback();
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,7 @@
1
+ <div
2
+ class="tooltip {{position()}} {{alignment()}}"
3
+ role="tooltip"
4
+ [ngClass]="{'arrow': arrow()}"
5
+ >
6
+ <span class="tooltip-label"> {{label()}} </span>
7
+ </div>
@@ -0,0 +1,116 @@
1
+ @use '@design-system-rte/core/design-tokens/main.scss' as *;
2
+
3
+ $max-width: 160px;
4
+ $max-height: 40px;
5
+
6
+ :host {
7
+ position: absolute;
8
+ max-width: $max-width;
9
+ max-height: $max-height;
10
+
11
+ transition: opacity 150ms ease-out;
12
+
13
+ &:not(:hover) {
14
+ transition: opacity 100ms ease-in;
15
+ }
16
+ }
17
+
18
+ .tooltip {
19
+ @include typography-tooltip-label;
20
+ color: var(--content-primary-inverse);
21
+ position: absolute;
22
+ text-align: center;
23
+ z-index: 1;
24
+ max-width: $max-width;
25
+ max-height: $max-height;
26
+ width: fit-content;
27
+ padding-block: $positive-spacing_050;
28
+ padding-inline: $positive-spacing_200;
29
+ border-radius: $radius-s;
30
+ background: var(--background-inverse);
31
+
32
+ &.top {
33
+ transform: translateX(-50%);
34
+
35
+ &::after {
36
+ top: 100%;
37
+ left: 50%;
38
+ margin-left: -5px;
39
+ border-color: var(--background-inverse) transparent transparent transparent;
40
+ }
41
+
42
+ &.start::after {
43
+ left: 25%;
44
+ }
45
+
46
+ &.end::after {
47
+ left: 75%;
48
+ }
49
+ }
50
+
51
+ &.bottom {
52
+ transform: translateX(-50%);
53
+
54
+ &::after {
55
+ bottom: 100%;
56
+ left: 50%;
57
+ margin-left: -5px;
58
+ border-color: transparent transparent var(--background-inverse) transparent;
59
+ }
60
+
61
+ &.start::after {
62
+ left: 25%;
63
+ }
64
+
65
+ &.end::after {
66
+ left: 75%;
67
+ }
68
+ }
69
+
70
+ &.left {
71
+ transform: translateY(-50%);
72
+
73
+ &::after {
74
+ top: 50%;
75
+ left: 100%;
76
+ margin-top: -5px;
77
+ border-color: transparent transparent transparent var(--background-inverse);
78
+ }
79
+
80
+ &.start::after {
81
+ top: 25%;
82
+ }
83
+
84
+ &.end::after {
85
+ top: 75%;
86
+ }
87
+ }
88
+
89
+ &.right {
90
+ transform: translateY(-50%);
91
+
92
+ &::after {
93
+ top: 50%;
94
+ right: 100%;
95
+ margin-top: -5px;
96
+ border-color: transparent var(--background-inverse) transparent transparent;
97
+ }
98
+
99
+ &.start::after {
100
+ top: 25%;
101
+ }
102
+
103
+ &.end::after {
104
+ top: 75%;
105
+ }
106
+ }
107
+
108
+ &.arrow {
109
+ &::after {
110
+ content: '';
111
+ position: absolute;
112
+ border-width: 5px;
113
+ border-style: solid;
114
+ }
115
+ }
116
+ }
@@ -0,0 +1,16 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { Component, input } from "@angular/core";
3
+
4
+ @Component({
5
+ selector: "rte-tooltip",
6
+ imports: [CommonModule],
7
+ standalone: true,
8
+ templateUrl: "./tooltip.component.html",
9
+ styleUrl: "./tooltip.component.scss",
10
+ })
11
+ export class TooltipComponent {
12
+ readonly label = input.required<string>();
13
+ readonly position = input<string>("auto");
14
+ readonly alignment = input<string>("center");
15
+ readonly arrow = input<boolean>(true);
16
+ }