@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,218 @@
1
+ import { TAB_KEY } from "@design-system-rte/core/constants/keyboard.constants";
2
+ import { Meta, StoryObj } from "@storybook/angular";
3
+ import { within, userEvent, expect, waitFor } from "@storybook/test";
4
+
5
+ import { TooltipDirective } from "./tooltip.directive";
6
+
7
+ const meta: Meta<TooltipDirective> = {
8
+ title: "Tooltip",
9
+ component: TooltipDirective,
10
+ tags: ["autodocs"],
11
+ argTypes: {
12
+ rteTooltip: {
13
+ control: "text",
14
+ defaultValue: "Tooltip Text",
15
+ },
16
+ rteTooltipPosition: {
17
+ control: "select",
18
+ options: ["auto", "top", "bottom", "left", "right"],
19
+ defaultValue: "top",
20
+ },
21
+ rteTooltipAlignment: {
22
+ control: "select",
23
+ options: ["start", "center", "end"],
24
+ defaultValue: "center",
25
+ },
26
+ rteTooltipArrow: {
27
+ control: "boolean",
28
+ defaultValue: true,
29
+ },
30
+ },
31
+ parameters: {
32
+ layout: "centered",
33
+ },
34
+ };
35
+ export default meta;
36
+ type Story = StoryObj<TooltipDirective>;
37
+
38
+ const mockHost = (tooltipDirectives: string) => `
39
+ <div style="
40
+ text-decoration: underline;
41
+ text-decoration-color: #BF4C00;
42
+ text-decoration-thickness: 2px;
43
+ text-underline-offset: 4px;
44
+ color: #BF4C00;
45
+ font-weight: bold;
46
+ "
47
+ ${tooltipDirectives}
48
+ >
49
+ Hover Me!
50
+ </div>
51
+ `;
52
+
53
+ export const Default: Story = {
54
+ args: {
55
+ rteTooltip: "Tooltip",
56
+ rteTooltipPosition: "top",
57
+ rteTooltipAlignment: "center",
58
+ rteTooltipArrow: true,
59
+ },
60
+ render: (args) => ({
61
+ props: args,
62
+ declarations: [TooltipDirective],
63
+ template: mockHost(`
64
+ [rteTooltip]="rteTooltip"
65
+ [rteTooltipPosition]="rteTooltipPosition"
66
+ [rteTooltipAlignment]="rteTooltipAlignment"
67
+ [rteTooltipArrow]="rteTooltipArrow"
68
+ `),
69
+ }),
70
+ };
71
+
72
+ export const Position: Story = {
73
+ args: Default.args,
74
+ render: (args) => ({
75
+ props: args,
76
+ declarations: [TooltipDirective],
77
+ template: `
78
+ <div style="display: flex; flex-direction: column; align-items: center; gap: 16px;">
79
+ ${mockHost(`
80
+ rteTooltipPosition="top"
81
+ [rteTooltip]="rteTooltip"
82
+ [rteTooltipAlignment]="rteTooltipAlignment"
83
+ [rteTooltipArrow]="rteTooltipArrow"
84
+ `)}
85
+ ${mockHost(`
86
+ rteTooltipPosition="bottom"
87
+ [rteTooltip]="rteTooltip"
88
+ [rteTooltipAlignment]="rteTooltipAlignment"
89
+ [rteTooltipArrow]="rteTooltipArrow"
90
+ `)}
91
+ ${mockHost(`
92
+ rteTooltipPosition="left"
93
+ [rteTooltip]="rteTooltip"
94
+ [rteTooltipAlignment]="rteTooltipAlignment"
95
+ [rteTooltipArrow]="rteTooltipArrow"
96
+ `)}
97
+ ${mockHost(`
98
+ rteTooltipPosition="right"
99
+ [rteTooltip]="rteTooltip"
100
+ [rteTooltipAlignment]="rteTooltipAlignment"
101
+ [rteTooltipArrow]="rteTooltipArrow"
102
+ `)}
103
+ </div>
104
+ `,
105
+ }),
106
+ };
107
+
108
+ export const Alignment: Story = {
109
+ args: Default.args,
110
+ render: (args) => ({
111
+ props: args,
112
+ declarations: [TooltipDirective],
113
+ template: `
114
+ <div style="display: flex; flex-direction: column; align-items: center; gap: 16px;">
115
+ ${mockHost(`
116
+ rteTooltipAlignment="start"
117
+ [rteTooltipPosition]="rteTooltipPosition"
118
+ [rteTooltip]="rteTooltip"
119
+ [rteTooltipArrow]="rteTooltipArrow"
120
+ `)}
121
+ ${mockHost(`
122
+ rteTooltipAlignment="center"
123
+ [rteTooltipPosition]="rteTooltipPosition"
124
+ [rteTooltip]="rteTooltip"
125
+ [rteTooltipArrow]="rteTooltipArrow"
126
+ `)}
127
+ ${mockHost(`
128
+ rteTooltipAlignment="end"
129
+ [rteTooltipPosition]="rteTooltipPosition"
130
+ [rteTooltip]="rteTooltip"
131
+ [rteTooltipArrow]="rteTooltipArrow"
132
+ `)}
133
+ </div>
134
+ `,
135
+ }),
136
+ };
137
+
138
+ export const Arrow: Story = {
139
+ args: Default.args,
140
+ render: (args) => ({
141
+ props: args,
142
+ declarations: [TooltipDirective],
143
+ template: `
144
+ <div style="display: flex; gap: 8;">
145
+ ${mockHost(`
146
+ [rteTooltipArrow]="true"
147
+ [rteTooltipPosition]="rteTooltipPosition"
148
+ [rteTooltip]="rteTooltip"
149
+ `)}
150
+ ${mockHost(`
151
+ [rteTooltipArrow]="false"
152
+ [rteTooltipPosition]="rteTooltipPosition"
153
+ [rteTooltip]="rteTooltip"
154
+ `)}
155
+ </div>
156
+ `,
157
+ }),
158
+ };
159
+
160
+ export const AutoPlacement: Story = {
161
+ args: Default.args,
162
+ render: (args) => ({
163
+ props: args,
164
+ declarations: [TooltipDirective],
165
+ template: `
166
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 8px;">
167
+ <div style="display: flex; align-items: flex-start; justify-content: flex-start; gap: 8px; border: 1px solid red; width: 75px; height: 250px;">
168
+ ${mockHost(`
169
+ rteTooltipPosition="auto"
170
+ [rteTooltip]="rteTooltip"
171
+ `)}
172
+ </div>
173
+
174
+ <div style="display: flex; align-items: center; justify-content: flex-start; gap: 8px; border: 1px solid red; width: 250px; height: 50px;">
175
+ ${mockHost(`
176
+ rteTooltipPosition="auto"
177
+ [rteTooltip]="rteTooltip"
178
+ `)}
179
+ </div>
180
+
181
+ <div style="display: flex; align-items: flex-end; justify-content: flex-end; gap: 8px; border: 1px solid red; width: 75px; height: 250px;">
182
+ ${mockHost(`
183
+ rteTooltipPosition="auto"
184
+ [rteTooltip]="rteTooltip"
185
+ `)}
186
+ </div>
187
+
188
+ <div style="display: flex; align-items: center; justify-content: flex-end; gap: 8px; border: 1px solid red; width: 250px; height: 50px;">
189
+ ${mockHost(`
190
+ rteTooltipPosition="auto"
191
+ [rteTooltip]="rteTooltip"
192
+ `)}
193
+ </div>
194
+ </div>
195
+ `,
196
+ }),
197
+ };
198
+
199
+ export const KeyboardInteraction: Story = {
200
+ args: Default.args,
201
+ render: (args) => ({
202
+ props: args,
203
+ declarations: [TooltipDirective],
204
+ template: `
205
+ <div style="display: flex; gap: 8px;">
206
+ ${mockHost(`[rteTooltip]="rteTooltip"`)}
207
+ </div>
208
+ `,
209
+ }),
210
+ play: async ({ canvasElement }) => {
211
+ const canvas = within(canvasElement);
212
+ const tooltipHost = canvas.getByText("Hover Me!");
213
+ await userEvent.keyboard(TAB_KEY);
214
+ const tooltip = await canvas.findByRole("tooltip");
215
+ expect(tooltipHost).toHaveFocus();
216
+ await waitFor(() => expect(tooltip).toBeVisible());
217
+ },
218
+ };
@@ -0,0 +1,187 @@
1
+ import {
2
+ ChangeDetectorRef,
3
+ ComponentRef,
4
+ Directive,
5
+ ElementRef,
6
+ HostListener,
7
+ inject,
8
+ input,
9
+ Renderer2,
10
+ ViewContainerRef,
11
+ } from "@angular/core";
12
+ import { getAutoPlacement } from "@design-system-rte/core/components/utils/auto-placement";
13
+
14
+ import { TooltipComponent } from "./tooltip.component";
15
+
16
+ interface TooltipXBound {
17
+ position: "left" | "right";
18
+ offset: number;
19
+ }
20
+
21
+ interface TooltipYBound {
22
+ position: "top" | "bottom";
23
+ offset: number;
24
+ }
25
+
26
+ interface TooltipBounds {
27
+ x: TooltipXBound;
28
+ y: TooltipYBound;
29
+ }
30
+
31
+ const TOOLTIP_GAP = 8;
32
+
33
+ @Directive({
34
+ selector: "[rteTooltip]",
35
+ standalone: true,
36
+ })
37
+ export class TooltipDirective {
38
+ readonly rteTooltip = input.required<string>();
39
+ readonly rteTooltipPosition = input("auto");
40
+ readonly rteTooltipAlignment = input("center");
41
+ readonly rteTooltipArrow = input(true);
42
+
43
+ private tooltipRef: ComponentRef<TooltipComponent> | null = null;
44
+ private hostElement: HTMLElement;
45
+
46
+ private elementRef = inject(ElementRef);
47
+ private viewContainerRef = inject(ViewContainerRef);
48
+ private renderer = inject(Renderer2);
49
+ private cdr = inject(ChangeDetectorRef);
50
+
51
+ @HostListener("mouseenter")
52
+ onMouseEnter(): void {
53
+ this.showTooltip();
54
+ }
55
+
56
+ @HostListener("mouseleave")
57
+ onMouseLeave(): void {
58
+ this.hideTooltip();
59
+ }
60
+
61
+ @HostListener("focus")
62
+ onFocus(): void {
63
+ this.showTooltip();
64
+ }
65
+
66
+ @HostListener("blur")
67
+ onBlur(): void {
68
+ this.hideTooltip();
69
+ }
70
+
71
+ constructor() {
72
+ this.hostElement = this.elementRef.nativeElement;
73
+ this.hostElement.setAttribute("tabindex", "0");
74
+ }
75
+
76
+ showTooltip(): void {
77
+ if (this.tooltipRef) {
78
+ this.tooltipRef.destroy();
79
+ }
80
+
81
+ this.tooltipRef = this.viewContainerRef.createComponent(TooltipComponent);
82
+ this.assignDirectiveToComponent();
83
+ this.appendComponentToHost();
84
+ this.cdr.detectChanges();
85
+
86
+ if (this.tooltipRef) {
87
+ const tooltipElement = this.tooltipRef.location.nativeElement;
88
+ this.renderer.setStyle(tooltipElement, "opacity", "0");
89
+ this.positionTooltip();
90
+
91
+ this.renderer.setStyle(tooltipElement, "opacity", "1");
92
+ }
93
+ }
94
+
95
+ private assignDirectiveToComponent(): void {
96
+ if (this.tooltipRef) {
97
+ const tooltipElement = this.tooltipRef.location.nativeElement;
98
+ const position =
99
+ this.rteTooltipPosition() === "auto"
100
+ ? getAutoPlacement(this.hostElement, tooltipElement, "top")
101
+ : this.rteTooltipPosition();
102
+
103
+ this.tooltipRef.setInput("label", this.rteTooltip());
104
+ this.tooltipRef.setInput("position", position);
105
+ this.tooltipRef.setInput("alignment", this.rteTooltipAlignment());
106
+ this.tooltipRef.setInput("arrow", this.rteTooltipArrow());
107
+ }
108
+ }
109
+
110
+ private appendComponentToHost(): void {
111
+ if (this.tooltipRef) {
112
+ this.renderer.appendChild(this.elementRef.nativeElement, this.tooltipRef.location.nativeElement);
113
+ }
114
+ }
115
+
116
+ private positionTooltip(): void {
117
+ if (this.tooltipRef) {
118
+ const tooltipElement = this.tooltipRef.location.nativeElement;
119
+
120
+ const bounds = this.getTooltipPosition(this.hostElement, this.tooltipRef);
121
+
122
+ this.renderer.setStyle(this.hostElement, "position", "relative");
123
+
124
+ this.renderer.setStyle(tooltipElement, bounds.x.position, `${bounds.x.offset}px`);
125
+ this.renderer.setStyle(tooltipElement, bounds.y.position, `${bounds.y.offset}px`);
126
+ }
127
+ }
128
+
129
+ private getTooltipPosition(host: HTMLElement, tooltip: ComponentRef<TooltipComponent>): TooltipBounds {
130
+ return {
131
+ x: this.getTooltipXBound(host, tooltip),
132
+ y: this.getTooltipYBound(host, tooltip),
133
+ };
134
+ }
135
+
136
+ private getTooltipXBound(host: HTMLElement, tooltip: ComponentRef<TooltipComponent>): TooltipXBound {
137
+ return {
138
+ position: tooltip.instance.position() === "right" ? "right" : "left",
139
+ offset: this.getTooltipXOffset(host, tooltip),
140
+ };
141
+ }
142
+
143
+ private getTooltipXOffset(host: HTMLElement, tooltip: ComponentRef<TooltipComponent>): number {
144
+ const hostRect = host.getBoundingClientRect();
145
+ if (tooltip.instance.position() === "left") {
146
+ return -tooltip.location.nativeElement.querySelector(".tooltip").offsetWidth - TOOLTIP_GAP;
147
+ }
148
+ if (tooltip.instance.position() === "right") {
149
+ return -TOOLTIP_GAP;
150
+ }
151
+ return hostRect.width / 2;
152
+ }
153
+
154
+ private getTooltipYBound(host: HTMLElement, tooltip: ComponentRef<TooltipComponent>): TooltipYBound {
155
+ return {
156
+ position: tooltip.instance.position() === "bottom" ? "bottom" : "top",
157
+ offset: this.getTooltipYOffset(host, tooltip),
158
+ };
159
+ }
160
+
161
+ private getTooltipYOffset(host: HTMLElement, tooltip: ComponentRef<TooltipComponent>): number {
162
+ const hostRect = host.getBoundingClientRect();
163
+
164
+ if (tooltip.instance.position() === "top") {
165
+ return -tooltip.location.nativeElement.querySelector(".tooltip").offsetHeight - TOOLTIP_GAP;
166
+ }
167
+ if (tooltip.instance.position() === "bottom") {
168
+ return -TOOLTIP_GAP;
169
+ }
170
+ return hostRect.height / 2;
171
+ }
172
+
173
+ private hideTooltip(): void {
174
+ if (this.tooltipRef) {
175
+ const tooltipElement = this.tooltipRef.location.nativeElement;
176
+
177
+ this.renderer.setStyle(tooltipElement, "opacity", "0");
178
+
179
+ setTimeout(() => {
180
+ if (this.tooltipRef) {
181
+ this.tooltipRef.destroy();
182
+ this.tooltipRef = null;
183
+ }
184
+ }, 200);
185
+ }
186
+ }
187
+ }
@@ -7,4 +7,3 @@ export * from "./lib/components/radio-button-group/radio-button-group.component"
7
7
  export * from "./lib/components/checkbox/checkbox.component";
8
8
  export * from "./lib/components/checkbox-group/checkbox-group.component";
9
9
  export * from "./lib/components/icon/icon.component";
10
- //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +1,20 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/lib",
6
+ "declaration": true,
7
+ "types": []
8
+ },
9
+ "angularCompilerOptions": {
10
+ "compilationMode": "partial"
11
+ },
12
+ "exclude": [
13
+ "**/*.spec.ts"
14
+ ],
15
+ "files": ["typings.d.ts"],
16
+ "include": [
17
+ "src/**/*.ts",
18
+ "src/types.d.ts"
19
+ ]
20
+ }
@@ -0,0 +1,10 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.lib.json",
4
+ "compilerOptions": {
5
+ "declarationMap": false
6
+ },
7
+ "angularCompilerOptions": {
8
+ "compilationMode": "partial"
9
+ }
10
+ }
@@ -0,0 +1,14 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "include": [
11
+ "**/*.spec.ts",
12
+ "**/*.d.ts"
13
+ ]
14
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"design-system-rte-angular.d.ts","sourceRoot":"","sources":["../../projects/ds-rte-lib/src/design-system-rte-angular.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLXN5c3RlbS1ydGUtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2Rlc2lnbi1zeXN0ZW0tcnRlLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,26 +0,0 @@
1
- import { Component, input, output } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class ButtonComponent {
4
- constructor() {
5
- this.label = input("");
6
- this.variant = input("primary");
7
- this.size = input("m");
8
- this.disabled = input(false);
9
- this.icon = input("");
10
- this.ariaLabel = input("");
11
- this.ariaLabelledBy = input("");
12
- this.buttonType = input("button");
13
- this.click = output();
14
- }
15
- onClick(event) {
16
- event.stopPropagation();
17
- this.click.emit();
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "rte-button", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, buttonType: { classPropertyName: "buttonType", publicName: "buttonType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, ngImport: i0, template: "<button\n class=\"rte-button {{ variant() }} size-{{ size() }}\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.type]=\"buttonType()\"\n [disabled]=\"disabled()\"\n (click)=\"onClick($event)\"\n>\n <span class=\"rte-button-label\">{{ label() }}</span>\n</button>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.rte-button{align-items:center;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center}.rte-button:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}.rte-button.size-s{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-size:14px;letter-spacing:-.5px;font-weight:600;line-height:20px;height:24px;border-radius:4px;padding:4px 8px}.rte-button.size-s .rte-button-label{margin:0 4px}.rte-button.size-m{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;height:32px;border-radius:4px;padding:4px 12px}.rte-button.size-m .rte-button-label{margin:0 6px}.rte-button.size-l{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;height:40px;border-radius:8px;padding:4px 16px}.rte-button.size-l .rte-button-label{margin:0 8px}.rte-button.primary{border:var(--border-brand-default);color:var(--content-primary-inverse);background:var(--background-brand-default)}.rte-button.primary:hover{background:var(--background-brand-hover);border:var(--background-brand-hover)}.rte-button.primary:active{background:var(--background-brand-pressed)}.rte-button.primary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}.rte-button.secondary{background:var(--background-default);border:solid 1px var(--border-brand-default);color:var(--content-brand-default)}.rte-button.secondary:hover{background:var(--background-brand-inverse-hover);border:solid 1px var(--border-brand-default)}.rte-button.secondary:active{border:var(--background-brand-inverse);background:var(--background-brand-inverse-pressed)}.rte-button.secondary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}.rte-button.text{background:transparent;border:none;color:var(--content-brand-default)}.rte-button.text:hover{background:var(--background-brand-inverse-hover)}.rte-button.text:active{background:var(--background-brand-inverse-pressed)}.rte-button.text:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:default}.rte-button.transparent{background:transparent;border:none;color:var(--content-brand-default)}.rte-button.transparent:hover{color:var(--content-brand-hover)}.rte-button.transparent:active{color:var(--content-brand-pressed)}.rte-button.transparent:disabled{color:var(--content-disabled);box-shadow:none;cursor:default}.rte-button.danger{background:var(--background-danger-default);border:none;color:var(--content-primary-inverse);border-radius:8px}.rte-button.danger:hover{background:var(--background-danger-hover)}.rte-button.danger:active{background:var(--background-danger-pressed)}.rte-button.danger:disabled{background:var(--background-disabled);border:var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}\n"] }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: "rte-button", imports: [], standalone: true, template: "<button\n class=\"rte-button {{ variant() }} size-{{ size() }}\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.type]=\"buttonType()\"\n [disabled]=\"disabled()\"\n (click)=\"onClick($event)\"\n>\n <span class=\"rte-button-label\">{{ label() }}</span>\n</button>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.rte-button{align-items:center;cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center}.rte-button:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}.rte-button.size-s{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-size:14px;letter-spacing:-.5px;font-weight:600;line-height:20px;height:24px;border-radius:4px;padding:4px 8px}.rte-button.size-s .rte-button-label{margin:0 4px}.rte-button.size-m{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;height:32px;border-radius:4px;padding:4px 12px}.rte-button.size-m .rte-button-label{margin:0 6px}.rte-button.size-l{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;height:40px;border-radius:8px;padding:4px 16px}.rte-button.size-l .rte-button-label{margin:0 8px}.rte-button.primary{border:var(--border-brand-default);color:var(--content-primary-inverse);background:var(--background-brand-default)}.rte-button.primary:hover{background:var(--background-brand-hover);border:var(--background-brand-hover)}.rte-button.primary:active{background:var(--background-brand-pressed)}.rte-button.primary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}.rte-button.secondary{background:var(--background-default);border:solid 1px var(--border-brand-default);color:var(--content-brand-default)}.rte-button.secondary:hover{background:var(--background-brand-inverse-hover);border:solid 1px var(--border-brand-default)}.rte-button.secondary:active{border:var(--background-brand-inverse);background:var(--background-brand-inverse-pressed)}.rte-button.secondary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}.rte-button.text{background:transparent;border:none;color:var(--content-brand-default)}.rte-button.text:hover{background:var(--background-brand-inverse-hover)}.rte-button.text:active{background:var(--background-brand-inverse-pressed)}.rte-button.text:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:default}.rte-button.transparent{background:transparent;border:none;color:var(--content-brand-default)}.rte-button.transparent:hover{color:var(--content-brand-hover)}.rte-button.transparent:active{color:var(--content-brand-pressed)}.rte-button.transparent:disabled{color:var(--content-disabled);box-shadow:none;cursor:default}.rte-button.danger{background:var(--background-danger-default);border:none;color:var(--content-primary-inverse);border-radius:8px}.rte-button.danger:hover{background:var(--background-danger-hover)}.rte-button.danger:active{background:var(--background-danger-pressed)}.rte-button.danger:disabled{background:var(--background-disabled);border:var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}\n"] }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVXpELE1BQU0sT0FBTyxlQUFlO0lBUDVCO1FBUVcsVUFBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixZQUFPLEdBQUcsS0FBSyxDQUFnQixTQUFTLENBQUMsQ0FBQztRQUMxQyxTQUFJLEdBQUcsS0FBSyxDQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsU0FBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6QixjQUFTLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLG1CQUFjLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLGVBQVUsR0FBRyxLQUFLLENBQWEsUUFBUSxDQUFDLENBQUM7UUFFekMsVUFBSyxHQUFHLE1BQU0sRUFBUSxDQUFDO0tBTWpDO0lBSkMsT0FBTyxDQUFDLEtBQWlDO1FBQ3ZDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBZlUsZUFBZTttR0FBZixlQUFlLDhtQ0NWNUIsd1VBU1M7OzRGRENJLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsWUFBWSxXQUNiLEVBQUUsY0FDQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicnRlLWJ1dHRvblwiLFxuICBpbXBvcnRzOiBbXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9idXR0b24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9idXR0b24uY29tcG9uZW50LnNjc3NcIixcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dChcIlwiKTtcbiAgcmVhZG9ubHkgdmFyaWFudCA9IGlucHV0PEJ1dHRvblZhcmlhbnQ+KFwicHJpbWFyeVwiKTtcbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PEJ1dHRvblNpemU+KFwibVwiKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGljb24gPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBhcmlhTGFiZWxsZWRCeSA9IGlucHV0PHN0cmluZz4oXCJcIik7XG4gIHJlYWRvbmx5IGJ1dHRvblR5cGUgPSBpbnB1dDxCdXR0b25UeXBlPihcImJ1dHRvblwiKTtcblxuICByZWFkb25seSBjbGljayA9IG91dHB1dDx2b2lkPigpO1xuXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5jbGljay5lbWl0KCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgICBjbGFzcz1cInJ0ZS1idXR0b24ge3sgdmFyaWFudCgpIH19IHNpemUte3sgc2l6ZSgpIH19XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkoKVwiXG4gICAgW2F0dHIudHlwZV09XCJidXR0b25UeXBlKClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbj5cbiAgICA8c3BhbiBjbGFzcz1cInJ0ZS1idXR0b24tbGFiZWxcIj57eyBsYWJlbCgpIH19PC9zcGFuPlxuPC9idXR0b24+Il19
@@ -1,35 +0,0 @@
1
- import { CommonModule } from "@angular/common";
2
- import { Component, input } from "@angular/core";
3
- import { IconComponent } from "../icon/icon.component";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- export class CheckboxComponent {
7
- constructor() {
8
- this.id = input.required();
9
- this.label = input.required();
10
- this.value = input("");
11
- this.indeterminate = input(false);
12
- this.description = input("");
13
- this.showLabel = input(true);
14
- this.disabled = input(false);
15
- this.error = input(false);
16
- this.errorMessage = input("");
17
- this.readOnly = input(false);
18
- this.checked = input(false);
19
- this.groupName = input("");
20
- }
21
- onKeydown(event) {
22
- if (event.code === "Space") {
23
- if (this.readOnly()) {
24
- event.preventDefault();
25
- }
26
- }
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: CheckboxComponent, isStandalone: true, selector: "rte-checkbox", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: " <div class=\"rte-checkbox-container\">\n <input\n type=\"checkbox\"\n class=\"rte-checkbox\"\n [id]=\"id()\"\n [value]=\"value()\"\n [ngClass]=\"{'error': error(), 'read-only': readOnly()}\"\n [disabled]=\"disabled()\"\n [indeterminate]=\"indeterminate()\"\n [checked]=\"checked()\"\n (keydown)=\"onKeydown($event)\"\n />\n <rte-icon class=\"rte-checkbox-icons rte-checkbox-icon-selected\" name=\"check-small\" [size]=\"16\"/> \n <rte-icon class=\"rte-checkbox-icons rte-checkbox-icon-indeterminated\" name=\"check-indeterminate\" [size]=\"16\" /> \n <div class=\"rte-checkbox-text-container\">\n <label \n *ngIf=\"showLabel()\" \n class=\"rte-checkbox-label\" \n [for]=\"id()\"\n [ngClass]=\"{\n 'error': error(),\n 'read-only': readOnly(),\n 'disabled': disabled()\n }\"\n >\n {{ label() }}\n </label>\n <p class=\"rte-checkbox-description\">{{ description() }}</p>\n <p *ngIf=\"error() && errorMessage()\" class=\"rte-checkbox-error\">{{ errorMessage() }}</p>\n </div>\n </div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.rte-checkbox-container{display:flex;gap:12px}.rte-checkbox-container .rte-checkbox{appearance:none;display:flex;width:16px;height:16px;border-radius:2px;border:1px solid var(--content-tertiary);opacity:100%;background:var(--background-default);align-items:center;justify-content:center;margin:4px 0}.rte-checkbox-container .rte-checkbox:before{content:\"\";display:none;position:absolute;border-radius:999px;background:var(--background-hover);width:32px;height:32px;z-index:-1}.rte-checkbox-container .rte-checkbox:active:before{opacity:100%;transform:scale(0);transition:transform 0s,opacity 0s}.rte-checkbox-container .rte-checkbox:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}.rte-checkbox-container .rte-checkbox:hover{cursor:pointer}.rte-checkbox-container .rte-checkbox:hover:not(:disabled):before{display:inline-block}.rte-checkbox-container .rte-checkbox:hover:not(:disabled):not(:active):before{opacity:50%;transition:transform .15s ease,opacity .3s ease}.rte-checkbox-container .rte-checkbox:disabled{cursor:default;border:1px solid var(--content-disabled);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox:disabled~.rte-checkbox-text-container label,.rte-checkbox-container .rte-checkbox:disabled~.rte-checkbox-text-container .rte-checkbox-description{color:var(--content-disabled)}.rte-checkbox-container .rte-checkbox:checked{border:1px solid var(--content-brand-default);background:var(--background-brand-default)}.rte-checkbox-container .rte-checkbox:checked:hover:not(:disabled):not(:active):before{opacity:20%;background:var(--background-brand-default)}.rte-checkbox-container .rte-checkbox:checked:disabled{border:1px solid var(--content-disabled);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox:checked:disabled~.rte-checkbox-icons{color:var(--content-disabled)}.rte-checkbox-container .rte-checkbox:checked.error{background:var(--background-danger-default)}.rte-checkbox-container .rte-checkbox:checked:not(:indeterminate)~.rte-checkbox-icon-selected{display:block}.rte-checkbox-container .rte-checkbox:indeterminate{border:1px solid var(--content-brand-default);background:var(--background-brand-default)}.rte-checkbox-container .rte-checkbox:indeterminate:hover:not(:disabled):not(:active):before{opacity:20%;background:var(--background-brand-default)}.rte-checkbox-container .rte-checkbox:indeterminate:disabled{border:1px solid var(--content-disabled);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox:indeterminate:disabled~.rte-checkbox-icons{color:var(--content-disabled)}.rte-checkbox-container .rte-checkbox:indeterminate.error{background:var(--background-danger-default)}.rte-checkbox-container .rte-checkbox:indeterminate~.rte-checkbox-icon-indeterminated{display:block}.rte-checkbox-container .rte-checkbox.read-only{pointer-events:none;cursor:default;border:1px solid var(--content-tertiary);opacity:100%;background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox.read-only~.rte-checkbox-text-container label,.rte-checkbox-container .rte-checkbox.read-only~.rte-checkbox-text-container .checkbox-description{color:var(--content-tertiary)}.rte-checkbox-container .rte-checkbox.read-only~.rte-checkbox-icons{color:var(--content-tertiary)}.rte-checkbox-container .rte-checkbox.read-only.error{border:1px solid var(--content-danger);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox.error{border:1px solid var(--content-danger);background:var(--background-default)}.rte-checkbox-container .rte-checkbox.error:hover:not(:disabled):not(:active):before{opacity:20%;background:var(--background-danger-hover)}.rte-checkbox-container .rte-checkbox-text-container label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0px}.rte-checkbox-container .rte-checkbox-text-container .rte-checkbox-description{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;margin:0;color:var(--content-tertiary)}.rte-checkbox-container .rte-checkbox-text-container .rte-checkbox-error{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;font-weight:700;margin:0;color:var(--content-danger)}.rte-checkbox-container .rte-checkbox-icons{display:none;z-index:1;pointer-events:none;transform:translateY(4px);position:absolute;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }] }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxComponent, decorators: [{
32
- type: Component,
33
- args: [{ selector: "rte-checkbox", imports: [CommonModule, IconComponent], standalone: true, template: " <div class=\"rte-checkbox-container\">\n <input\n type=\"checkbox\"\n class=\"rte-checkbox\"\n [id]=\"id()\"\n [value]=\"value()\"\n [ngClass]=\"{'error': error(), 'read-only': readOnly()}\"\n [disabled]=\"disabled()\"\n [indeterminate]=\"indeterminate()\"\n [checked]=\"checked()\"\n (keydown)=\"onKeydown($event)\"\n />\n <rte-icon class=\"rte-checkbox-icons rte-checkbox-icon-selected\" name=\"check-small\" [size]=\"16\"/> \n <rte-icon class=\"rte-checkbox-icons rte-checkbox-icon-indeterminated\" name=\"check-indeterminate\" [size]=\"16\" /> \n <div class=\"rte-checkbox-text-container\">\n <label \n *ngIf=\"showLabel()\" \n class=\"rte-checkbox-label\" \n [for]=\"id()\"\n [ngClass]=\"{\n 'error': error(),\n 'read-only': readOnly(),\n 'disabled': disabled()\n }\"\n >\n {{ label() }}\n </label>\n <p class=\"rte-checkbox-description\">{{ description() }}</p>\n <p *ngIf=\"error() && errorMessage()\" class=\"rte-checkbox-error\">{{ errorMessage() }}</p>\n </div>\n </div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.rte-checkbox-container{display:flex;gap:12px}.rte-checkbox-container .rte-checkbox{appearance:none;display:flex;width:16px;height:16px;border-radius:2px;border:1px solid var(--content-tertiary);opacity:100%;background:var(--background-default);align-items:center;justify-content:center;margin:4px 0}.rte-checkbox-container .rte-checkbox:before{content:\"\";display:none;position:absolute;border-radius:999px;background:var(--background-hover);width:32px;height:32px;z-index:-1}.rte-checkbox-container .rte-checkbox:active:before{opacity:100%;transform:scale(0);transition:transform 0s,opacity 0s}.rte-checkbox-container .rte-checkbox:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}.rte-checkbox-container .rte-checkbox:hover{cursor:pointer}.rte-checkbox-container .rte-checkbox:hover:not(:disabled):before{display:inline-block}.rte-checkbox-container .rte-checkbox:hover:not(:disabled):not(:active):before{opacity:50%;transition:transform .15s ease,opacity .3s ease}.rte-checkbox-container .rte-checkbox:disabled{cursor:default;border:1px solid var(--content-disabled);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox:disabled~.rte-checkbox-text-container label,.rte-checkbox-container .rte-checkbox:disabled~.rte-checkbox-text-container .rte-checkbox-description{color:var(--content-disabled)}.rte-checkbox-container .rte-checkbox:checked{border:1px solid var(--content-brand-default);background:var(--background-brand-default)}.rte-checkbox-container .rte-checkbox:checked:hover:not(:disabled):not(:active):before{opacity:20%;background:var(--background-brand-default)}.rte-checkbox-container .rte-checkbox:checked:disabled{border:1px solid var(--content-disabled);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox:checked:disabled~.rte-checkbox-icons{color:var(--content-disabled)}.rte-checkbox-container .rte-checkbox:checked.error{background:var(--background-danger-default)}.rte-checkbox-container .rte-checkbox:checked:not(:indeterminate)~.rte-checkbox-icon-selected{display:block}.rte-checkbox-container .rte-checkbox:indeterminate{border:1px solid var(--content-brand-default);background:var(--background-brand-default)}.rte-checkbox-container .rte-checkbox:indeterminate:hover:not(:disabled):not(:active):before{opacity:20%;background:var(--background-brand-default)}.rte-checkbox-container .rte-checkbox:indeterminate:disabled{border:1px solid var(--content-disabled);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox:indeterminate:disabled~.rte-checkbox-icons{color:var(--content-disabled)}.rte-checkbox-container .rte-checkbox:indeterminate.error{background:var(--background-danger-default)}.rte-checkbox-container .rte-checkbox:indeterminate~.rte-checkbox-icon-indeterminated{display:block}.rte-checkbox-container .rte-checkbox.read-only{pointer-events:none;cursor:default;border:1px solid var(--content-tertiary);opacity:100%;background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox.read-only~.rte-checkbox-text-container label,.rte-checkbox-container .rte-checkbox.read-only~.rte-checkbox-text-container .checkbox-description{color:var(--content-tertiary)}.rte-checkbox-container .rte-checkbox.read-only~.rte-checkbox-icons{color:var(--content-tertiary)}.rte-checkbox-container .rte-checkbox.read-only.error{border:1px solid var(--content-danger);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox.error{border:1px solid var(--content-danger);background:var(--background-default)}.rte-checkbox-container .rte-checkbox.error:hover:not(:disabled):not(:active):before{opacity:20%;background:var(--background-danger-hover)}.rte-checkbox-container .rte-checkbox-text-container label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0px}.rte-checkbox-container .rte-checkbox-text-container .rte-checkbox-description{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;margin:0;color:var(--content-tertiary)}.rte-checkbox-container .rte-checkbox-text-container .rte-checkbox-error{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;font-weight:700;margin:0;color:var(--content-danger)}.rte-checkbox-container .rte-checkbox-icons{display:none;z-index:1;pointer-events:none;transform:translateY(4px);position:absolute;color:#fff}\n"] }]
34
- }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBU3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRVyxPQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQzlCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsVUFBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixnQkFBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsVUFBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLFlBQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztLQVNoQztJQVBDLFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FwQlUsaUJBQWlCO21HQUFqQixpQkFBaUIsd2xEQ1o5Qiw4eENBK0JBLG13SkR4QlksWUFBWSxpT0FBRSxhQUFhOzs0RkFLMUIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGNBQWMsV0FDZixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsY0FDMUIsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1jaGVja2JveFwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9jaGVja2JveC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzXCIsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IHtcbiAgcmVhZG9ubHkgaWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICByZWFkb25seSB2YWx1ZSA9IGlucHV0KFwiXCIpO1xuICByZWFkb25seSBpbmRldGVybWluYXRlID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBkZXNjcmlwdGlvbiA9IGlucHV0KFwiXCIpO1xuICByZWFkb25seSBzaG93TGFiZWwgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGVycm9yID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBlcnJvck1lc3NhZ2UgPSBpbnB1dChcIlwiKTtcbiAgcmVhZG9ubHkgcmVhZE9ubHkgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGNoZWNrZWQgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGdyb3VwTmFtZSA9IGlucHV0KFwiXCIpO1xuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5jb2RlID09PSBcIlNwYWNlXCIpIHtcbiAgICAgIGlmICh0aGlzLnJlYWRPbmx5KCkpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiAgICA8ZGl2IGNsYXNzPVwicnRlLWNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBjbGFzcz1cInJ0ZS1jaGVja2JveFwiXG4gICAgICAgICAgICBbaWRdPVwiaWQoKVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWUoKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Vycm9yJzogZXJyb3IoKSwgJ3JlYWQtb25seSc6IHJlYWRPbmx5KCl9XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGUoKVwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkKClcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICAgICAgPHJ0ZS1pY29uIGNsYXNzPVwicnRlLWNoZWNrYm94LWljb25zIHJ0ZS1jaGVja2JveC1pY29uLXNlbGVjdGVkXCIgbmFtZT1cImNoZWNrLXNtYWxsXCIgW3NpemVdPVwiMTZcIi8+IFxuICAgICAgICAgICAgPHJ0ZS1pY29uIGNsYXNzPVwicnRlLWNoZWNrYm94LWljb25zIHJ0ZS1jaGVja2JveC1pY29uLWluZGV0ZXJtaW5hdGVkXCIgbmFtZT1cImNoZWNrLWluZGV0ZXJtaW5hdGVcIiBbc2l6ZV09XCIxNlwiIC8+IFxuICAgICAgICA8ZGl2IGNsYXNzPVwicnRlLWNoZWNrYm94LXRleHQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bGFiZWwgXG4gICAgICAgICAgICAqbmdJZj1cInNob3dMYWJlbCgpXCIgXG4gICAgICAgICAgICBjbGFzcz1cInJ0ZS1jaGVja2JveC1sYWJlbFwiIFxuICAgICAgICAgICAgW2Zvcl09XCJpZCgpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnZXJyb3InOiBlcnJvcigpLFxuICAgICAgICAgICAgICAgICdyZWFkLW9ubHknOiByZWFkT25seSgpLFxuICAgICAgICAgICAgICAgICdkaXNhYmxlZCc6IGRpc2FibGVkKClcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGxhYmVsKCkgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInJ0ZS1jaGVja2JveC1kZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uKCkgfX08L3A+XG4gICAgICAgICAgICA8cCAqbmdJZj1cImVycm9yKCkgJiYgZXJyb3JNZXNzYWdlKClcIiBjbGFzcz1cInJ0ZS1jaGVja2JveC1lcnJvclwiPnt7IGVycm9yTWVzc2FnZSgpIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { CommonModule } from "@angular/common";
2
- import { Component, computed, input } from "@angular/core";
3
- import { CheckboxComponent } from "../checkbox/checkbox.component";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- export class CheckboxGroupComponent {
7
- constructor() {
8
- this.groupName = input.required();
9
- this.items = input.required();
10
- this.direction = input("horizontal");
11
- this.showItemsLabel = input(true);
12
- this.groupTitle = input("");
13
- this.showGroupTitle = input(false);
14
- this.groupHelpText = input("");
15
- this.showHelpText = input(false);
16
- this.errorMessage = input("");
17
- this.error = input(false);
18
- this.disabled = input(false);
19
- this.readOnly = input(false);
20
- this.isDisplayed = computed(() => !(this.disabled() && this.error()));
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: CheckboxGroupComponent, isStandalone: true, selector: "rte-checkbox-group", inputs: { groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, showItemsLabel: { classPropertyName: "showItemsLabel", publicName: "showItemsLabel", isSignal: true, isRequired: false, transformFunction: null }, groupTitle: { classPropertyName: "groupTitle", publicName: "groupTitle", isSignal: true, isRequired: false, transformFunction: null }, showGroupTitle: { classPropertyName: "showGroupTitle", publicName: "showGroupTitle", isSignal: true, isRequired: false, transformFunction: null }, groupHelpText: { classPropertyName: "groupHelpText", publicName: "groupHelpText", isSignal: true, isRequired: false, transformFunction: null }, showHelpText: { classPropertyName: "showHelpText", publicName: "showHelpText", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div \n *ngIf=\"isDisplayed()\"\n class=\"checkbox-group-container\">\n <div\n class=\"checkbox-group-header\"\n [ngClass]=\"{\n 'disabled': disabled(),\n 'error': error(),\n 'read-only': readOnly(),\n }\">\n <h3\n *ngIf=\"showGroupTitle()\"\n class=\"group-title\"\n >\n {{ groupTitle() }}\n </h3>\n <p\n *ngIf=\"showHelpText()\"\n class=\"group-help-text\"\n >\n {{ groupHelpText() }}\n\n </p>\n <p\n *ngIf=\"error()\"\n class=\"group-error-message\"\n >\n {{ errorMessage() }}\n </p>\n </div>\n <div class=\"checkbox-group\" \n [ngClass]=\"{'horizontal': direction() === 'horizontal', 'vertical': direction() === 'vertical'}\">\n <ng-container \n *ngFor=\"let item of items(); let i = index\">\n <rte-checkbox\n [id]=\"item + '-' + i\"\n [label]=\"item\"\n [groupName]=\"groupName()\"\n [showLabel]=\"showItemsLabel()\"\n [disabled]=\"disabled()\"\n [error]=\"error()\"\n [readOnly]=\"readOnly()\"\n />\n </ng-container>\n </div>\n</div>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.checkbox-group-container{display:flex;padding:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px}.checkbox-group-container .checkbox-group-header .group-title{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;align-self:stretch;margin:0}.checkbox-group-container .checkbox-group-header .group-help-text{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-tertiary);align-self:stretch;margin:0}.checkbox-group-container .checkbox-group-header .group-error-message{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-danger);align-self:stretch;margin:4px 0 0}.checkbox-group-container .checkbox-group-header.error .group-title{color:var(--content-danger)}.checkbox-group-container .checkbox-group-header.read-only .group-title{color:var(--content-tertiary)}.checkbox-group-container .checkbox-group-header.read-only .error .group-title{color:var(--content-danger)}.checkbox-group-container .checkbox-group-header.disabled{pointer-events:none}.checkbox-group-container .checkbox-group-header.disabled .group-title,.checkbox-group-container .checkbox-group-header.disabled .group-help-text{color:var(--content-disabled)}.checkbox-group-container .checkbox-group{display:flex;flex-direction:row;padding:0;align-items:flex-start;gap:24px}.checkbox-group-container .checkbox-group.vertical{flex-direction:column;gap:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CheckboxComponent, selector: "rte-checkbox", inputs: ["id", "label", "value", "indeterminate", "description", "showLabel", "disabled", "error", "errorMessage", "readOnly", "checked", "groupName"] }] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: "rte-checkbox-group", imports: [CommonModule, CheckboxComponent], standalone: true, template: "<div \n *ngIf=\"isDisplayed()\"\n class=\"checkbox-group-container\">\n <div\n class=\"checkbox-group-header\"\n [ngClass]=\"{\n 'disabled': disabled(),\n 'error': error(),\n 'read-only': readOnly(),\n }\">\n <h3\n *ngIf=\"showGroupTitle()\"\n class=\"group-title\"\n >\n {{ groupTitle() }}\n </h3>\n <p\n *ngIf=\"showHelpText()\"\n class=\"group-help-text\"\n >\n {{ groupHelpText() }}\n\n </p>\n <p\n *ngIf=\"error()\"\n class=\"group-error-message\"\n >\n {{ errorMessage() }}\n </p>\n </div>\n <div class=\"checkbox-group\" \n [ngClass]=\"{'horizontal': direction() === 'horizontal', 'vertical': direction() === 'vertical'}\">\n <ng-container \n *ngFor=\"let item of items(); let i = index\">\n <rte-checkbox\n [id]=\"item + '-' + i\"\n [label]=\"item\"\n [groupName]=\"groupName()\"\n [showLabel]=\"showItemsLabel()\"\n [disabled]=\"disabled()\"\n [error]=\"error()\"\n [readOnly]=\"readOnly()\"\n />\n </ng-container>\n </div>\n</div>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.checkbox-group-container{display:flex;padding:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px}.checkbox-group-container .checkbox-group-header .group-title{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;align-self:stretch;margin:0}.checkbox-group-container .checkbox-group-header .group-help-text{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-tertiary);align-self:stretch;margin:0}.checkbox-group-container .checkbox-group-header .group-error-message{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:14px;line-height:20px;letter-spacing:0px;color:var(--content-danger);align-self:stretch;margin:4px 0 0}.checkbox-group-container .checkbox-group-header.error .group-title{color:var(--content-danger)}.checkbox-group-container .checkbox-group-header.read-only .group-title{color:var(--content-tertiary)}.checkbox-group-container .checkbox-group-header.read-only .error .group-title{color:var(--content-danger)}.checkbox-group-container .checkbox-group-header.disabled{pointer-events:none}.checkbox-group-container .checkbox-group-header.disabled .group-title,.checkbox-group-container .checkbox-group-header.disabled .group-help-text{color:var(--content-disabled)}.checkbox-group-container .checkbox-group{display:flex;flex-direction:row;padding:0;align-items:flex-start;gap:24px}.checkbox-group-container .checkbox-group.vertical{flex-direction:column;gap:8px}\n"] }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBU25FLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRVyxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3JDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDbkMsY0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGlCQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLGlCQUFZLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztLQUMzRTsrR0FmWSxzQkFBc0I7bUdBQXRCLHNCQUFzQix5cURDWm5DLGtuQ0E2Q00seTZERHRDTSxZQUFZLDhWQUFFLGlCQUFpQjs7NEZBSzlCLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSxvQkFBb0IsV0FDckIsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsY0FDOUIsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tIFwiLi4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtY2hlY2tib3gtZ3JvdXBcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2hlY2tib3hDb21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsOiBcIi4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnNjc3NcIixcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGdyb3VwTmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaXRlbXMgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmdbXT4oKTtcbiAgcmVhZG9ubHkgZGlyZWN0aW9uID0gaW5wdXQoXCJob3Jpem9udGFsXCIpO1xuICByZWFkb25seSBzaG93SXRlbXNMYWJlbCA9IGlucHV0KHRydWUpO1xuICByZWFkb25seSBncm91cFRpdGxlID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IHNob3dHcm91cFRpdGxlID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBncm91cEhlbHBUZXh0ID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IHNob3dIZWxwVGV4dCA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IGVycm9yID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgcmVhZE9ubHkgPSBpbnB1dChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgaXNEaXNwbGF5ZWQgPSBjb21wdXRlZCgoKSA9PiAhKHRoaXMuZGlzYWJsZWQoKSAmJiB0aGlzLmVycm9yKCkpKTtcbn1cbiIsIjxkaXYgIFxuICAqbmdJZj1cImlzRGlzcGxheWVkKClcIlxuICBjbGFzcz1cImNoZWNrYm94LWdyb3VwLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjaGVja2JveC1ncm91cC1oZWFkZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWQoKSxcbiAgICAgICAgJ2Vycm9yJzogZXJyb3IoKSxcbiAgICAgICAgJ3JlYWQtb25seSc6IHJlYWRPbmx5KCksXG4gICAgfVwiPlxuICAgIDxoM1xuICAgICAgICAqbmdJZj1cInNob3dHcm91cFRpdGxlKClcIlxuICAgICAgICBjbGFzcz1cImdyb3VwLXRpdGxlXCJcbiAgICAgICAgPlxuICAgICAgICB7eyBncm91cFRpdGxlKCkgfX1cbiAgICA8L2gzPlxuICAgIDxwXG4gICAgICAgICpuZ0lmPVwic2hvd0hlbHBUZXh0KClcIlxuICAgICAgICBjbGFzcz1cImdyb3VwLWhlbHAtdGV4dFwiXG4gICAgICAgID5cbiAgICAgICAge3sgZ3JvdXBIZWxwVGV4dCgpIH19XG5cbiAgICA8L3A+XG4gICAgPHBcbiAgICAgICAgKm5nSWY9XCJlcnJvcigpXCJcbiAgICAgICAgY2xhc3M9XCJncm91cC1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgPlxuICAgICAgICB7eyBlcnJvck1lc3NhZ2UoKSB9fVxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjaGVja2JveC1ncm91cFwiIFxuICAgIFtuZ0NsYXNzXT1cInsnaG9yaXpvbnRhbCc6IGRpcmVjdGlvbigpID09PSAnaG9yaXpvbnRhbCcsICd2ZXJ0aWNhbCc6IGRpcmVjdGlvbigpID09PSAndmVydGljYWwnfVwiPlxuICAgIDxuZy1jb250YWluZXIgXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMoKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgPHJ0ZS1jaGVja2JveFxuICAgICAgW2lkXT1cIml0ZW0gKyAnLScgKyBpXCJcbiAgICAgIFtsYWJlbF09XCJpdGVtXCJcbiAgICAgIFtncm91cE5hbWVdPVwiZ3JvdXBOYW1lKClcIlxuICAgICAgW3Nob3dMYWJlbF09XCJzaG93SXRlbXNMYWJlbCgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgIFtlcnJvcl09XCJlcnJvcigpXCJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seSgpXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+Il19