@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,24 @@
1
+ <div *ngIf="isDisplayed()" class="rte-radio-button-container">
2
+ <input
3
+ type="radio"
4
+ class="rte-radio-button"
5
+ [id]="label()"
6
+ [value]="label()"
7
+ [size]="labelSize"
8
+ [name]="groupName()"
9
+ [ngClass]="{'error': error(), 'read-only': readOnly()}"
10
+ [disabled]="disabled()"
11
+ />
12
+ <label
13
+ *ngIf="showLabel()"
14
+ class="rte-radio-button-label"
15
+ [for]="label()"
16
+ [ngClass]="{
17
+ 'error': error(),
18
+ 'read-only': readOnly(),
19
+ 'disabled': disabled()
20
+ }"
21
+ >
22
+ {{ label() }}
23
+ </label>
24
+ </div>
@@ -0,0 +1,135 @@
1
+ @use '@design-system-rte/core/design-tokens/main.scss' as *;
2
+
3
+
4
+ .rte-radio-button-container {
5
+ display: flex;
6
+ padding-right: $positive-spacing_050;
7
+ align-items: center;
8
+ gap: $positive-spacing_150;
9
+ }
10
+
11
+ .rte-radio-button {
12
+ appearance: none;
13
+ display: flex;
14
+ width: 16px;
15
+ height: 16px;
16
+ padding: $positive-spacing_0;
17
+ justify-content: center;
18
+ align-items: center;
19
+ border-radius: $radius-pill;
20
+ border: $width-xs solid var(--content-tertiary);
21
+ background: var(--background-default);
22
+ position: relative;
23
+ cursor: pointer;
24
+ transition: box-shadow 0.3s ease-in-out;
25
+ margin: 0;
26
+
27
+ &::before {
28
+ content: '';
29
+ width: 10px;
30
+ height: 10px;
31
+ border-radius: $radius-pill;
32
+ background: var(--content-brand-default);
33
+ opacity: $opacity-0;
34
+ }
35
+
36
+ &::after {
37
+ content: '';
38
+ width: calc(100% + 8px);
39
+ height: calc(100% + 8px);
40
+ border-radius: $radius-s;
41
+ border: $width-xs solid var(--content-primary);
42
+ position: absolute;
43
+ z-index: -1;
44
+ opacity: $opacity-0;
45
+ }
46
+
47
+ &.error {
48
+ border: $width-xs solid var(--content-danger);
49
+ transition: box-shadow 0.3s ease-in-out;
50
+
51
+ &:checked {
52
+ border: $width-xs solid var(--content-danger);
53
+ }
54
+
55
+ &::before {
56
+ background: var(--content-danger);
57
+ }
58
+
59
+ &:hover {
60
+ transition: box-shadow 0.15s ease-in-out;
61
+ @include hover-box-shadow(var(--background-hover-opacity-50));
62
+
63
+ &:checked {
64
+ @include hover-box-shadow(var(--background-danger-hover-opacity-20));
65
+ }
66
+ }
67
+ }
68
+
69
+ &.read-only {
70
+ pointer-events: none;
71
+ cursor: default;
72
+
73
+ &::before {
74
+ background: var(--content-tertiary);
75
+ }
76
+
77
+ &:checked {
78
+ border: $width-xs solid var(--content-tertiary);
79
+ }
80
+
81
+ &.error {
82
+ border: $width-xs solid var(--content-danger);
83
+ }
84
+ }
85
+
86
+ &:focus-visible {
87
+ outline: none;
88
+
89
+ &::after {
90
+ opacity: $opacity-100;
91
+ }
92
+ }
93
+
94
+ &:checked {
95
+ border: $width-xs solid var(--content-brand-default);
96
+ }
97
+
98
+ &:checked::before {
99
+ opacity: $opacity-100;
100
+ }
101
+
102
+ &:hover {
103
+ @include hover-box-shadow(var(--background-hover-opacity-50));
104
+
105
+ &:checked {
106
+ @include hover-box-shadow(var(--background-brand-hover-opacity-20));
107
+ }
108
+ }
109
+
110
+ &:disabled {
111
+ pointer-events: none;
112
+ background: var(--background-disabled);
113
+ border: $width-xs solid var(--content-disabled);
114
+ cursor: not-allowed;
115
+
116
+ &::before {
117
+ background: var(--content-disabled);
118
+ }
119
+ }
120
+ }
121
+
122
+ .rte-radio-button-label {
123
+ @include typography-radio-button-l;
124
+
125
+ &.read-only {
126
+ pointer-events: none;
127
+ cursor: default;
128
+ color: var(--content-tertiary);
129
+ }
130
+
131
+ &.disabled {
132
+ pointer-events: none;
133
+ color: var(--content-disabled);
134
+ }
135
+ }
@@ -0,0 +1,76 @@
1
+ import { Meta, StoryObj } from "@storybook/angular";
2
+ import { userEvent, within, expect } from "@storybook/test";
3
+
4
+ import { RadioButtonComponent } from "./radio-button.component";
5
+
6
+ const meta: Meta<RadioButtonComponent> = {
7
+ title: "RadioButton",
8
+ component: RadioButtonComponent,
9
+ tags: ["autodocs"],
10
+ argTypes: {
11
+ label: {
12
+ control: "text",
13
+ defaultValue: "Radio Button",
14
+ },
15
+ groupName: {
16
+ control: "text",
17
+ defaultValue: "radio-group",
18
+ },
19
+ showLabel: {
20
+ control: "boolean",
21
+ defaultValue: true,
22
+ },
23
+ disabled: {
24
+ control: "boolean",
25
+ defaultValue: false,
26
+ },
27
+ error: {
28
+ control: "boolean",
29
+ defaultValue: false,
30
+ },
31
+ readOnly: {
32
+ control: "boolean",
33
+ defaultValue: false,
34
+ },
35
+ },
36
+ };
37
+ export default meta;
38
+ type Story = StoryObj<RadioButtonComponent>;
39
+
40
+ export const Default: Story = {
41
+ args: {
42
+ label: "Radio Button",
43
+ groupName: "radio-group",
44
+ showLabel: true,
45
+ disabled: false,
46
+ error: false,
47
+ readOnly: false,
48
+ },
49
+ play: async ({ canvasElement }) => {
50
+ const canvas = within(canvasElement);
51
+ const radioButton = canvas.getByRole("radio");
52
+ await userEvent.click(radioButton);
53
+ expect(radioButton).toBeChecked();
54
+ },
55
+ };
56
+
57
+ export const Disabled: Story = {
58
+ args: {
59
+ ...Default.args,
60
+ disabled: true,
61
+ },
62
+ };
63
+
64
+ export const Error: Story = {
65
+ args: {
66
+ ...Default.args,
67
+ error: true,
68
+ },
69
+ };
70
+
71
+ export const ReadOnly: Story = {
72
+ args: {
73
+ ...Default.args,
74
+ readOnly: true,
75
+ },
76
+ };
@@ -0,0 +1,22 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { Component, computed, input } from "@angular/core";
3
+ import { labelSize } from "@design-system-rte/core/components/radio-button/radio-button.constants";
4
+
5
+ @Component({
6
+ selector: "rte-radio-button",
7
+ imports: [CommonModule],
8
+ standalone: true,
9
+ templateUrl: "./radio-button.component.html",
10
+ styleUrl: "./radio-button.component.scss",
11
+ })
12
+ export class RadioButtonComponent {
13
+ readonly label = input("");
14
+ readonly groupName = input("");
15
+ readonly showLabel = input(true);
16
+ readonly disabled = input(false);
17
+ readonly error = input(false);
18
+ readonly readOnly = input(false);
19
+ labelSize = labelSize;
20
+
21
+ readonly isDisplayed = computed(() => !(this.disabled() && this.error()));
22
+ }
@@ -0,0 +1,45 @@
1
+ <div
2
+ *ngIf="isDisplayed()"
3
+ class="radio-button-group-container">
4
+ <div
5
+ class="radio-button-group-header"
6
+ [ngClass]="{
7
+ 'disabled': disabled(),
8
+ 'error': error(),
9
+ 'read-only': readOnly(),
10
+ }">
11
+ <h3
12
+ *ngIf="showGroupTitle()"
13
+ class="group-title"
14
+ >
15
+ {{ groupTitle() }}
16
+ </h3>
17
+ <p
18
+ *ngIf="showHelpText()"
19
+ class="group-help-text"
20
+ >
21
+ {{ groupHelpText() }}
22
+
23
+ </p>
24
+ <p
25
+ *ngIf="error()"
26
+ class="group-error-message"
27
+ >
28
+ {{ errorMessage() }}
29
+ </p>
30
+ </div>
31
+ <div class="radio-button-group"
32
+ [ngClass]="{'horizontal': direction() === 'horizontal', 'vertical': direction() === 'vertical'}">
33
+ <ng-container
34
+ *ngFor="let item of items()">
35
+ <rte-radio-button
36
+ [label]="item"
37
+ [groupName]="groupName()"
38
+ [showLabel]="showItemsLabel()"
39
+ [disabled]="disabled()"
40
+ [error]="error()"
41
+ [readOnly]="readOnly()"
42
+ />
43
+ </ng-container>
44
+ </div>
45
+ </div>
@@ -0,0 +1,82 @@
1
+ @use '@design-system-rte/core/design-tokens/main.scss' as *;
2
+
3
+ .radio-button-group-container {
4
+ display: flex;
5
+ padding: $positive-spacing_0;
6
+ flex-direction: column;
7
+ justify-content: center;
8
+ align-items: flex-start;
9
+ gap: $positive-spacing_100;
10
+
11
+ .radio-button-group-header {
12
+
13
+ .group-title {
14
+ @include typography-heading-s;
15
+ align-self: stretch;
16
+ margin: $positive-spacing_0;
17
+
18
+ }
19
+
20
+ .group-help-text {
21
+ @include typography-text-m;
22
+ color: var(--content-tertiary);
23
+ align-self: stretch;
24
+ margin: $positive-spacing_0;
25
+ }
26
+
27
+ .group-error-message {
28
+ @include typography-text-m-bold;
29
+ color: var(--content-danger);
30
+ align-self: stretch;
31
+ margin: $positive-spacing_0;
32
+ margin-top: $positive-spacing_050;
33
+ }
34
+
35
+ &.error {
36
+ .group-title {
37
+ color: var(--content-danger);
38
+ }
39
+ }
40
+
41
+ &.read-only {
42
+ .group-title {
43
+ color: var(--content-tertiary);
44
+ }
45
+
46
+ .error {
47
+ .group-title {
48
+ color: var(--content-danger);
49
+ }
50
+ }
51
+ }
52
+
53
+ &.disabled {
54
+
55
+ pointer-events: none;
56
+
57
+ .group-title {
58
+ color: var(--content-disabled);
59
+ }
60
+
61
+ .group-help-text {
62
+ color: var(--content-disabled);
63
+ }
64
+ }
65
+
66
+
67
+ }
68
+
69
+
70
+ .radio-button-group {
71
+ display: flex;
72
+ flex-direction: row;
73
+ padding: $positive-spacing_0;
74
+ align-items: flex-start;
75
+ gap: $positive-spacing_300;
76
+
77
+ &.vertical {
78
+ flex-direction: column;
79
+ gap: $positive-spacing_100;
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,121 @@
1
+ import { Meta, StoryObj } from "@storybook/angular";
2
+ import { userEvent, within, expect } from "@storybook/test";
3
+
4
+ import { RadioButtonGroupComponent } from "./radio-button-group.component";
5
+
6
+ const meta: Meta<RadioButtonGroupComponent> = {
7
+ title: "RadioButtonGroup",
8
+ component: RadioButtonGroupComponent,
9
+ tags: ["autodocs"],
10
+ argTypes: {
11
+ groupName: {
12
+ control: "text",
13
+ defaultValue: "group1",
14
+ },
15
+ items: {
16
+ control: "object",
17
+ defaultValue: ["Option 1", "Option 2", "Option 3"],
18
+ },
19
+ direction: {
20
+ control: "select",
21
+ options: ["horizontal", "vertical"],
22
+ defaultValue: "horizontal",
23
+ },
24
+ showItemsLabel: {
25
+ control: "boolean",
26
+ defaultValue: true,
27
+ },
28
+ groupTitle: {
29
+ control: "text",
30
+ defaultValue: "Radio Button Group Title",
31
+ },
32
+ showGroupTitle: {
33
+ control: "boolean",
34
+ defaultValue: true,
35
+ },
36
+ groupHelpText: {
37
+ control: "text",
38
+ defaultValue: "This is a help text for the radio button group.",
39
+ },
40
+ showHelpText: {
41
+ control: "boolean",
42
+ defaultValue: true,
43
+ },
44
+ errorMessage: {
45
+ control: "text",
46
+ defaultValue: "This is an error message. Please select an option.",
47
+ },
48
+ error: {
49
+ control: "boolean",
50
+ defaultValue: false,
51
+ },
52
+ disabled: {
53
+ control: "boolean",
54
+ defaultValue: false,
55
+ },
56
+ readOnly: {
57
+ control: "boolean",
58
+ defaultValue: false,
59
+ },
60
+ },
61
+ };
62
+ export default meta;
63
+ type Story = StoryObj<RadioButtonGroupComponent>;
64
+
65
+ export const Default: Story = {
66
+ args: {
67
+ groupName: "group1",
68
+ items: ["Option 1", "Option 2", "Option 3"],
69
+ direction: "horizontal",
70
+ showItemsLabel: true,
71
+ groupTitle: "Radio Button Group Title",
72
+ showGroupTitle: true,
73
+ groupHelpText: "This is a help text for the radio button group.",
74
+ showHelpText: true,
75
+ errorMessage: "This is an error message. Please select an option.",
76
+ error: false,
77
+ disabled: false,
78
+ readOnly: false,
79
+ },
80
+ play: async ({ canvasElement }) => {
81
+ const canvas = within(canvasElement);
82
+ const radioButton = canvas.getByLabelText("Option 1");
83
+ await userEvent.click(radioButton);
84
+ expect(radioButton).toBeChecked();
85
+ },
86
+ };
87
+
88
+ export const Disabled: Story = {
89
+ args: {
90
+ ...Default.args,
91
+ disabled: true,
92
+ },
93
+ };
94
+
95
+ export const Error: Story = {
96
+ args: {
97
+ ...Default.args,
98
+ error: true,
99
+ },
100
+ };
101
+
102
+ export const ReadOnly: Story = {
103
+ args: {
104
+ ...Default.args,
105
+ readOnly: true,
106
+ },
107
+ };
108
+
109
+ export const Vertical: Story = {
110
+ args: {
111
+ ...Default.args,
112
+ direction: "vertical",
113
+ },
114
+ };
115
+
116
+ export const Horizontal: Story = {
117
+ args: {
118
+ ...Default.args,
119
+ direction: "horizontal",
120
+ },
121
+ };
@@ -0,0 +1,28 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { Component, computed, input } from "@angular/core";
3
+
4
+ import { RadioButtonComponent } from "../radio-button/radio-button.component";
5
+
6
+ @Component({
7
+ selector: "rte-radio-button-group",
8
+ imports: [CommonModule, RadioButtonComponent],
9
+ standalone: true,
10
+ templateUrl: "./radio-button-group.component.html",
11
+ styleUrl: "./radio-button-group.component.scss",
12
+ })
13
+ export class RadioButtonGroupComponent {
14
+ readonly groupName = input("");
15
+ readonly items = input<string[]>([]);
16
+ readonly direction = input("horizontal");
17
+ readonly showItemsLabel = input(true);
18
+ readonly groupTitle = input("");
19
+ readonly showGroupTitle = input(false);
20
+ readonly groupHelpText = input("");
21
+ readonly showHelpText = input(false);
22
+ readonly errorMessage = input("");
23
+ readonly error = input(false);
24
+ readonly disabled = input(false);
25
+ readonly readOnly = input(false);
26
+
27
+ readonly isDisplayed = computed(() => !(this.disabled() && this.error()));
28
+ }
@@ -0,0 +1,56 @@
1
+ <div
2
+ class="split-button-container size-{{ size() }} {{appearance()}}"
3
+ [ngClass]="{'compact-spacing': compactSpacing()}"
4
+ >
5
+ <button
6
+ class="split-button-left size-{{ size() }}"
7
+ data-testid="Main action button"
8
+ type="button"
9
+ [disabled]="disabled()"
10
+ >
11
+ <rte-icon
12
+ *ngIf="icon()"
13
+ [name]="icon()!"
14
+ [size]="splitButtonLeftIconSize()"
15
+ />
16
+ <p class="split-button-label size-{{ size() }}">
17
+ {{label()}}
18
+ </p>
19
+ </button>
20
+
21
+ <div
22
+ class="split-button-divider"
23
+ [ngClass]="{'disabled': disabled()}"
24
+ ></div>
25
+
26
+ <div class="split-button-right-container">
27
+ <button
28
+ class="split-button-right size-{{ size() }}"
29
+ data-testid="Menu button"
30
+ type="button"
31
+ aria-haspopup="menu"
32
+ [attr.aria-expanded]="isOpen()"
33
+ [attr.aria-label]="ariaLabelRight()"
34
+ [attr.data-selected]="selected()"
35
+ [disabled]="disabled()"
36
+ (click)="isOpen.set(true)"
37
+ (mouseenter)="isOpen.set(true)"
38
+ (mouseleave)="isOpen.set(false)"
39
+ (keydown)="handleKeyDownOnRightButton($event)"
40
+ >
41
+ <div class="split-button-right-icon-container">
42
+ <rte-icon name="arrow-chevron-down"[size]="splitButtonRightIconSize()"/>
43
+ </div>
44
+ </button>
45
+
46
+ <div
47
+ class="split-button-dropdown position-{{ position() }}"
48
+ role="menu"
49
+ data-testid="Menu container"
50
+ [style.visibility]="isOpen() ? 'visible' : 'hidden'"
51
+ (keydown)="handleKeyDownOnMenu($event)"
52
+ >
53
+ <ng-content/>
54
+ </div>
55
+ </div>
56
+ </div>