@design-system-rte/angular 1.5.0 → 1.6.0

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 (541) hide show
  1. package/esm2022/lib/components/accordion/accordion.component.mjs +94 -0
  2. package/esm2022/lib/components/avatar/assets/status/status.component.mjs +15 -0
  3. package/esm2022/lib/components/avatar/avatar.component.mjs +52 -0
  4. package/esm2022/lib/components/banner/banner.component.mjs +1 -1
  5. package/esm2022/lib/components/button/button.component.mjs +9 -3
  6. package/esm2022/lib/components/card/card.component.mjs +5 -6
  7. package/esm2022/lib/components/checkbox/checkbox.component.mjs +4 -3
  8. package/esm2022/lib/components/checkbox-group/checkbox-group.component.mjs +1 -1
  9. package/esm2022/lib/components/drawer/drawer-trigger/drawer-trigger.directive.mjs +33 -0
  10. package/esm2022/lib/components/drawer/drawer.component.mjs +160 -0
  11. package/esm2022/lib/components/drawer/drawer.directive.mjs +302 -0
  12. package/esm2022/lib/components/drawer/drawer.module.mjs +17 -0
  13. package/esm2022/lib/components/dropdown/dropdown-item/dropdown-item.component.mjs +1 -1
  14. package/esm2022/lib/components/icon/icon-map.mjs +119 -112
  15. package/esm2022/lib/components/icon/icon.component.mjs +9 -10
  16. package/esm2022/lib/components/popover/popover.component.mjs +1 -1
  17. package/esm2022/lib/components/toast/toast.component.mjs +1 -1
  18. package/esm2022/lib/components/treeview/index.mjs +4 -0
  19. package/esm2022/lib/components/treeview/treeview-check.service.mjs +24 -0
  20. package/esm2022/lib/components/treeview/treeview-item/treeview-item-border/treeview-item-border.component.mjs +20 -0
  21. package/esm2022/lib/components/treeview/treeview-item/treeview-item.component.mjs +227 -0
  22. package/esm2022/lib/components/treeview/treeview-keyboard.service.mjs +80 -0
  23. package/esm2022/lib/components/treeview/treeview-selection.service.mjs +23 -0
  24. package/esm2022/lib/components/treeview/treeview.component.mjs +89 -0
  25. package/esm2022/public-api.mjs +8 -1
  26. package/fesm2022/design-system-rte-angular.mjs +1338 -261
  27. package/fesm2022/design-system-rte-angular.mjs.map +1 -1
  28. package/lib/assets/icons/add.svg +3 -0
  29. package/lib/assets/icons/add_circle_filled.svg +3 -0
  30. package/lib/assets/icons/add_circle_outlined.svg +3 -0
  31. package/lib/assets/icons/admin_panel_settings_filled.svg +3 -0
  32. package/lib/assets/icons/admin_panel_settings_outlined.svg +3 -0
  33. package/lib/assets/icons/alt_route.svg +3 -0
  34. package/lib/assets/icons/analytics_filled.svg +3 -0
  35. package/lib/assets/icons/analytics_outlined.svg +3 -0
  36. package/lib/assets/icons/apps.svg +3 -0
  37. package/lib/assets/icons/archive_filled.svg +3 -0
  38. package/lib/assets/icons/archive_outlined.svg +3 -0
  39. package/lib/assets/icons/arrow_alt_down.svg +3 -0
  40. package/lib/assets/icons/arrow_alt_down_left.svg +3 -0
  41. package/lib/assets/icons/arrow_alt_down_right.svg +3 -0
  42. package/lib/assets/icons/arrow_alt_left.svg +3 -0
  43. package/lib/assets/icons/arrow_alt_right.svg +3 -0
  44. package/lib/assets/icons/arrow_alt_up.svg +3 -0
  45. package/lib/assets/icons/arrow_alt_up_left.svg +3 -0
  46. package/lib/assets/icons/arrow_alt_up_right.svg +3 -0
  47. package/lib/assets/icons/arrow_angle_down_left.svg +3 -0
  48. package/lib/assets/icons/arrow_angle_down_right.svg +3 -0
  49. package/lib/assets/icons/arrow_angle_up_left.svg +3 -0
  50. package/lib/assets/icons/arrow_angle_up_right.svg +3 -0
  51. package/lib/assets/icons/arrow_chevron_down.svg +3 -0
  52. package/lib/assets/icons/arrow_chevron_left.svg +3 -0
  53. package/lib/assets/icons/arrow_chevron_right.svg +3 -0
  54. package/lib/assets/icons/arrow_chevron_up.svg +3 -0
  55. package/lib/assets/icons/arrow_circle_chevron_down_filled.svg +3 -0
  56. package/lib/assets/icons/arrow_circle_chevron_down_outlined.svg +3 -0
  57. package/lib/assets/icons/arrow_circle_chevron_left_filled.svg +3 -0
  58. package/lib/assets/icons/arrow_circle_chevron_left_outlined.svg +3 -0
  59. package/lib/assets/icons/arrow_circle_chevron_right_filled.svg +3 -0
  60. package/lib/assets/icons/arrow_circle_chevron_right_outlined.svg +3 -0
  61. package/lib/assets/icons/arrow_circle_chevron_up_filled.svg +3 -0
  62. package/lib/assets/icons/arrow_circle_chevron_up_outlined.svg +3 -0
  63. package/lib/assets/icons/arrow_circle_down_filled.svg +3 -0
  64. package/lib/assets/icons/arrow_circle_down_outlined.svg +3 -0
  65. package/lib/assets/icons/arrow_circle_left_filled.svg +3 -0
  66. package/lib/assets/icons/arrow_circle_left_outlined.svg +3 -0
  67. package/lib/assets/icons/arrow_circle_right_filled.svg +3 -0
  68. package/lib/assets/icons/arrow_circle_right_outlined.svg +3 -0
  69. package/lib/assets/icons/arrow_circle_up_filled.svg +3 -0
  70. package/lib/assets/icons/arrow_circle_up_outlined.svg +3 -0
  71. package/lib/assets/icons/arrow_compare.svg +3 -0
  72. package/lib/assets/icons/arrow_double_down.svg +3 -0
  73. package/lib/assets/icons/arrow_double_left.svg +3 -0
  74. package/lib/assets/icons/arrow_double_right.svg +3 -0
  75. package/lib/assets/icons/arrow_double_up.svg +3 -0
  76. package/lib/assets/icons/arrow_down.svg +3 -0
  77. package/lib/assets/icons/arrow_down_left.svg +3 -0
  78. package/lib/assets/icons/arrow_down_right.svg +3 -0
  79. package/lib/assets/icons/arrow_drop_down.svg +3 -0
  80. package/lib/assets/icons/arrow_drop_up.svg +3 -0
  81. package/lib/assets/icons/arrow_left.svg +3 -0
  82. package/lib/assets/icons/arrow_right.svg +3 -0
  83. package/lib/assets/icons/arrow_up.svg +3 -0
  84. package/lib/assets/icons/arrow_up_left.svg +3 -0
  85. package/lib/assets/icons/arrow_up_right.svg +3 -0
  86. package/lib/assets/icons/article_filled.svg +3 -0
  87. package/lib/assets/icons/article_outlined.svg +3 -0
  88. package/lib/assets/icons/assignment_complete_filled.svg +3 -0
  89. package/lib/assets/icons/assignment_complete_outlined.svg +3 -0
  90. package/lib/assets/icons/assignment_filled.svg +3 -0
  91. package/lib/assets/icons/assignment_outlined.svg +3 -0
  92. package/lib/assets/icons/asterisk.svg +3 -0
  93. package/lib/assets/icons/attach_file.svg +3 -0
  94. package/lib/assets/icons/battery_alert_filled.svg +3 -0
  95. package/lib/assets/icons/battery_alert_outlined.svg +3 -0
  96. package/lib/assets/icons/battery_alt_empty.svg +3 -0
  97. package/lib/assets/icons/battery_alt_full.svg +3 -0
  98. package/lib/assets/icons/battery_charging.svg +3 -0
  99. package/lib/assets/icons/battery_charging_full_filled.svg +3 -0
  100. package/lib/assets/icons/battery_charging_full_outlined.svg +3 -0
  101. package/lib/assets/icons/battery_empty.svg +3 -0
  102. package/lib/assets/icons/battery_full.svg +3 -0
  103. package/lib/assets/icons/bluetooth.svg +3 -0
  104. package/lib/assets/icons/bluetooth_off.svg +3 -0
  105. package/lib/assets/icons/bolt_alt_circle_filled.svg +3 -0
  106. package/lib/assets/icons/bolt_alt_circle_outlined.svg +3 -0
  107. package/lib/assets/icons/bolt_alt_filled.svg +3 -0
  108. package/lib/assets/icons/bolt_alt_outlined.svg +3 -0
  109. package/lib/assets/icons/bolt_circle_filled.svg +3 -0
  110. package/lib/assets/icons/bolt_circle_outlined.svg +3 -0
  111. package/lib/assets/icons/bolt_filled.svg +3 -0
  112. package/lib/assets/icons/bolt_outlined.svg +3 -0
  113. package/lib/assets/icons/bookmark_filled.svg +3 -0
  114. package/lib/assets/icons/bookmark_outlined.svg +3 -0
  115. package/lib/assets/icons/bookmarks_filled.svg +3 -0
  116. package/lib/assets/icons/bookmarks_outlined.svg +3 -0
  117. package/lib/assets/icons/build_filled.svg +3 -0
  118. package/lib/assets/icons/build_outlined.svg +3 -0
  119. package/lib/assets/icons/calendar_available_filled.svg +3 -0
  120. package/lib/assets/icons/calendar_available_outlined.svg +3 -0
  121. package/lib/assets/icons/calendar_busy_filled.svg +3 -0
  122. package/lib/assets/icons/calendar_busy_outlined.svg +3 -0
  123. package/lib/assets/icons/calendar_month_filled.svg +3 -0
  124. package/lib/assets/icons/calendar_month_outlined.svg +3 -0
  125. package/lib/assets/icons/calendar_today_filled.svg +3 -0
  126. package/lib/assets/icons/calendar_today_outlined.svg +3 -0
  127. package/lib/assets/icons/call_filled.svg +3 -0
  128. package/lib/assets/icons/call_outlined.svg +3 -0
  129. package/lib/assets/icons/cancel_filled.svg +3 -0
  130. package/lib/assets/icons/cancel_outlined.svg +3 -0
  131. package/lib/assets/icons/category_filled.svg +3 -0
  132. package/lib/assets/icons/category_outlined.svg +3 -0
  133. package/lib/assets/icons/chart_add_filled.svg +3 -0
  134. package/lib/assets/icons/chart_add_outlined.svg +3 -0
  135. package/lib/assets/icons/chart_area_filled.svg +3 -0
  136. package/lib/assets/icons/chart_area_outlined.svg +3 -0
  137. package/lib/assets/icons/chart_bar.svg +3 -0
  138. package/lib/assets/icons/chart_bar_stacked.svg +3 -0
  139. package/lib/assets/icons/chart_pie_filled.svg +3 -0
  140. package/lib/assets/icons/chart_pie_outlined.svg +3 -0
  141. package/lib/assets/icons/chart_table_filled.svg +3 -0
  142. package/lib/assets/icons/chart_table_outlined.svg +3 -0
  143. package/lib/assets/icons/chat_alt_filled.svg +3 -0
  144. package/lib/assets/icons/chat_alt_outlined.svg +3 -0
  145. package/lib/assets/icons/chat_alt_unread_filled.svg +3 -0
  146. package/lib/assets/icons/chat_alt_unread_outlined.svg +3 -0
  147. package/lib/assets/icons/chat_filled.svg +3 -0
  148. package/lib/assets/icons/chat_outlined.svg +3 -0
  149. package/lib/assets/icons/chat_unread_filled.svg +3 -0
  150. package/lib/assets/icons/chat_unread_outlined.svg +3 -0
  151. package/lib/assets/icons/check.svg +3 -0
  152. package/lib/assets/icons/check_circle_filled.svg +3 -0
  153. package/lib/assets/icons/check_circle_outlined.svg +3 -0
  154. package/lib/assets/icons/check_indeterminate.svg +3 -0
  155. package/lib/assets/icons/check_small.svg +3 -0
  156. package/lib/assets/icons/checkbox_empty.svg +3 -0
  157. package/lib/assets/icons/checkbox_filled.svg +3 -0
  158. package/lib/assets/icons/checkbox_indeterminate_filled.svg +3 -0
  159. package/lib/assets/icons/checkbox_indeterminate_outlined.svg +3 -0
  160. package/lib/assets/icons/checkbox_outlined.svg +3 -0
  161. package/lib/assets/icons/clock_filled.svg +3 -0
  162. package/lib/assets/icons/clock_outlined.svg +3 -0
  163. package/lib/assets/icons/close.svg +3 -0
  164. package/lib/assets/icons/cloud_download_filled.svg +3 -0
  165. package/lib/assets/icons/cloud_download_outlined.svg +3 -0
  166. package/lib/assets/icons/cloud_filled.svg +3 -0
  167. package/lib/assets/icons/cloud_off_filled.svg +3 -0
  168. package/lib/assets/icons/cloud_off_outlined.svg +3 -0
  169. package/lib/assets/icons/cloud_outlined.svg +3 -0
  170. package/lib/assets/icons/cloud_upload_filled.svg +3 -0
  171. package/lib/assets/icons/cloud_upload_outlined.svg +3 -0
  172. package/lib/assets/icons/comment_add_filled.svg +3 -0
  173. package/lib/assets/icons/comment_add_outlined.svg +3 -0
  174. package/lib/assets/icons/comment_filled.svg +3 -0
  175. package/lib/assets/icons/comment_outlined.svg +3 -0
  176. package/lib/assets/icons/company.svg +3 -0
  177. package/lib/assets/icons/compare.svg +3 -0
  178. package/lib/assets/icons/contact_filled.svg +3 -0
  179. package/lib/assets/icons/contact_outlined.svg +3 -0
  180. package/lib/assets/icons/copy_all.svg +3 -0
  181. package/lib/assets/icons/copy_filled.svg +3 -0
  182. package/lib/assets/icons/copy_outlined.svg +3 -0
  183. package/lib/assets/icons/crisis_alert.svg +3 -0
  184. package/lib/assets/icons/cut.svg +3 -0
  185. package/lib/assets/icons/dangerous_filled.svg +3 -0
  186. package/lib/assets/icons/dangerous_outlined.svg +3 -0
  187. package/lib/assets/icons/dashboard_filled.svg +3 -0
  188. package/lib/assets/icons/dashboard_outlined.svg +3 -0
  189. package/lib/assets/icons/database_filled.svg +3 -0
  190. package/lib/assets/icons/database_outlined.svg +3 -0
  191. package/lib/assets/icons/delete_filled.svg +3 -0
  192. package/lib/assets/icons/delete_outlined.svg +3 -0
  193. package/lib/assets/icons/desktop_filled.svg +3 -0
  194. package/lib/assets/icons/desktop_outlined.svg +3 -0
  195. package/lib/assets/icons/devices_filled.svg +3 -0
  196. package/lib/assets/icons/devices_outlined.svg +3 -0
  197. package/lib/assets/icons/download.svg +3 -0
  198. package/lib/assets/icons/download_done.svg +3 -0
  199. package/lib/assets/icons/draft_filled.svg +3 -0
  200. package/lib/assets/icons/draft_outlined.svg +3 -0
  201. package/lib/assets/icons/drag_handle.svg +3 -0
  202. package/lib/assets/icons/drag_indicator.svg +3 -0
  203. package/lib/assets/icons/eco_filled.svg +3 -0
  204. package/lib/assets/icons/eco_outlined.svg +3 -0
  205. package/lib/assets/icons/edit_filled.svg +3 -0
  206. package/lib/assets/icons/edit_outlined.svg +3 -0
  207. package/lib/assets/icons/electric_meter_filled.svg +3 -0
  208. package/lib/assets/icons/electric_meter_outlined.svg +3 -0
  209. package/lib/assets/icons/error_filled.svg +3 -0
  210. package/lib/assets/icons/error_outlined.svg +3 -0
  211. package/lib/assets/icons/exclamation.svg +3 -0
  212. package/lib/assets/icons/explore_filled.svg +3 -0
  213. package/lib/assets/icons/explore_off_filled.svg +3 -0
  214. package/lib/assets/icons/explore_off_outlined.svg +3 -0
  215. package/lib/assets/icons/explore_outlined.svg +3 -0
  216. package/lib/assets/icons/explore_travel.svg +3 -0
  217. package/lib/assets/icons/export_xls_filled.svg +3 -0
  218. package/lib/assets/icons/export_xls_outlined.svg +6 -0
  219. package/lib/assets/icons/external_link.svg +3 -0
  220. package/lib/assets/icons/fast_forward_filled.svg +3 -0
  221. package/lib/assets/icons/fast_forward_outlined.svg +3 -0
  222. package/lib/assets/icons/fast_rewind_filled.svg +3 -0
  223. package/lib/assets/icons/fast_rewind_outlined.svg +3 -0
  224. package/lib/assets/icons/feedback_filled.svg +3 -0
  225. package/lib/assets/icons/feedback_outlined.svg +3 -0
  226. package/lib/assets/icons/file_copy_filled.svg +3 -0
  227. package/lib/assets/icons/file_copy_outlined.svg +3 -0
  228. package/lib/assets/icons/file_download_filled.svg +3 -0
  229. package/lib/assets/icons/file_download_outlined.svg +3 -0
  230. package/lib/assets/icons/file_upload_filled.svg +3 -0
  231. package/lib/assets/icons/file_upload_outlined.svg +3 -0
  232. package/lib/assets/icons/filter.svg +3 -0
  233. package/lib/assets/icons/filter_alt_filled.svg +3 -0
  234. package/lib/assets/icons/filter_alt_off_filled.svg +3 -0
  235. package/lib/assets/icons/filter_alt_off_outlined.svg +3 -0
  236. package/lib/assets/icons/filter_alt_outlined.svg +3 -0
  237. package/lib/assets/icons/filter_off.svg +3 -0
  238. package/lib/assets/icons/fire_filled.svg +3 -0
  239. package/lib/assets/icons/fire_outlined.svg +3 -0
  240. package/lib/assets/icons/first_page.svg +3 -0
  241. package/lib/assets/icons/fit_screen_filled.svg +3 -0
  242. package/lib/assets/icons/fit_screen_outlined.svg +3 -0
  243. package/lib/assets/icons/flag_filled.svg +3 -0
  244. package/lib/assets/icons/flag_outlined.svg +3 -0
  245. package/lib/assets/icons/flash_filled.svg +3 -0
  246. package/lib/assets/icons/flash_off_filled.svg +3 -0
  247. package/lib/assets/icons/flash_off_outlined.svg +3 -0
  248. package/lib/assets/icons/flash_outlined.svg +3 -0
  249. package/lib/assets/icons/folder_add_filled.svg +3 -0
  250. package/lib/assets/icons/folder_add_outlined.svg +3 -0
  251. package/lib/assets/icons/folder_filled.svg +3 -0
  252. package/lib/assets/icons/folder_move_filled.svg +3 -0
  253. package/lib/assets/icons/folder_move_outlined.svg +3 -0
  254. package/lib/assets/icons/folder_open_filled.svg +3 -0
  255. package/lib/assets/icons/folder_open_outlined.svg +3 -0
  256. package/lib/assets/icons/folder_outlined.svg +3 -0
  257. package/lib/assets/icons/folder_shared_filled.svg +3 -0
  258. package/lib/assets/icons/folder_shared_outlined.svg +3 -0
  259. package/lib/assets/icons/forum_filled.svg +3 -0
  260. package/lib/assets/icons/forum_outlined.svg +3 -0
  261. package/lib/assets/icons/forward.svg +3 -0
  262. package/lib/assets/icons/fullscreen.svg +3 -0
  263. package/lib/assets/icons/fullscreen_exit.svg +3 -0
  264. package/lib/assets/icons/group_add_filled.svg +3 -0
  265. package/lib/assets/icons/group_add_outlined.svg +3 -0
  266. package/lib/assets/icons/group_filled.svg +3 -0
  267. package/lib/assets/icons/group_outlined.svg +3 -0
  268. package/lib/assets/icons/groups_filled.svg +3 -0
  269. package/lib/assets/icons/groups_outlined.svg +3 -0
  270. package/lib/assets/icons/handshake_filled.svg +3 -0
  271. package/lib/assets/icons/handshake_outlined.svg +3 -0
  272. package/lib/assets/icons/headphones_filled.svg +3 -0
  273. package/lib/assets/icons/headphones_outlined.svg +3 -0
  274. package/lib/assets/icons/heart_filled.svg +3 -0
  275. package/lib/assets/icons/heart_outlined.svg +3 -0
  276. package/lib/assets/icons/help_filled.svg +3 -0
  277. package/lib/assets/icons/help_outlined.svg +3 -0
  278. package/lib/assets/icons/history.svg +3 -0
  279. package/lib/assets/icons/home_filled.svg +3 -0
  280. package/lib/assets/icons/home_outlined.svg +3 -0
  281. package/lib/assets/icons/hourglass_empty.svg +3 -0
  282. package/lib/assets/icons/hourglass_filled.svg +3 -0
  283. package/lib/assets/icons/hourglass_outlined.svg +3 -0
  284. package/lib/assets/icons/image_broken_filled.svg +3 -0
  285. package/lib/assets/icons/image_broken_outlined.svg +3 -0
  286. package/lib/assets/icons/image_filled.svg +3 -0
  287. package/lib/assets/icons/image_gallery_filled.svg +3 -0
  288. package/lib/assets/icons/image_gallery_outlined.svg +3 -0
  289. package/lib/assets/icons/image_outlined.svg +3 -0
  290. package/lib/assets/icons/inbox_filled.svg +3 -0
  291. package/lib/assets/icons/inbox_outlined.svg +3 -0
  292. package/lib/assets/icons/info_filled.svg +3 -0
  293. package/lib/assets/icons/info_i.svg +3 -0
  294. package/lib/assets/icons/info_outlined.svg +3 -0
  295. package/lib/assets/icons/keep_filled.svg +3 -0
  296. package/lib/assets/icons/keep_off_filled.svg +3 -0
  297. package/lib/assets/icons/keep_off_outlined.svg +3 -0
  298. package/lib/assets/icons/keep_outlined.svg +3 -0
  299. package/lib/assets/icons/label_filled.svg +3 -0
  300. package/lib/assets/icons/label_outlined.svg +3 -0
  301. package/lib/assets/icons/language.svg +3 -0
  302. package/lib/assets/icons/laptop_filled.svg +3 -0
  303. package/lib/assets/icons/laptop_outlined.svg +3 -0
  304. package/lib/assets/icons/last_page.svg +3 -0
  305. package/lib/assets/icons/left_panel_close_filled.svg +3 -0
  306. package/lib/assets/icons/left_panel_close_outlined.svg +3 -0
  307. package/lib/assets/icons/left_panel_open_filled.svg +3 -0
  308. package/lib/assets/icons/left_panel_open_outlined.svg +3 -0
  309. package/lib/assets/icons/light_off_filled.svg +3 -0
  310. package/lib/assets/icons/light_off_outlined.svg +3 -0
  311. package/lib/assets/icons/lightbulb_alt_filled.svg +3 -0
  312. package/lib/assets/icons/lightbulb_alt_outlined.svg +3 -0
  313. package/lib/assets/icons/lightbulb_circle_filled.svg +3 -0
  314. package/lib/assets/icons/lightbulb_circle_outlined.svg +3 -0
  315. package/lib/assets/icons/lightbulb_filled.svg +3 -0
  316. package/lib/assets/icons/lightbulb_outlined.svg +3 -0
  317. package/lib/assets/icons/link.svg +3 -0
  318. package/lib/assets/icons/link_off.svg +3 -0
  319. package/lib/assets/icons/list.svg +3 -0
  320. package/lib/assets/icons/list_alt_filled.svg +3 -0
  321. package/lib/assets/icons/list_alt_outlined.svg +3 -0
  322. package/lib/assets/icons/location_disabled.svg +10 -0
  323. package/lib/assets/icons/location_me_filled.svg +3 -0
  324. package/lib/assets/icons/location_me_outlined.svg +3 -0
  325. package/lib/assets/icons/location_off_filled.svg +3 -0
  326. package/lib/assets/icons/location_off_outlined.svg +3 -0
  327. package/lib/assets/icons/location_on_filled.svg +3 -0
  328. package/lib/assets/icons/location_on_outlined.svg +3 -0
  329. package/lib/assets/icons/lock_filled.svg +3 -0
  330. package/lib/assets/icons/lock_open_filled.svg +3 -0
  331. package/lib/assets/icons/lock_open_outlined.svg +3 -0
  332. package/lib/assets/icons/lock_open_right_filled.svg +3 -0
  333. package/lib/assets/icons/lock_open_right_outlined.svg +3 -0
  334. package/lib/assets/icons/lock_outlined.svg +3 -0
  335. package/lib/assets/icons/login.svg +3 -0
  336. package/lib/assets/icons/logout.svg +3 -0
  337. package/lib/assets/icons/mail_filled.svg +3 -0
  338. package/lib/assets/icons/mail_outlined.svg +3 -0
  339. package/lib/assets/icons/mail_unread_filled.svg +3 -0
  340. package/lib/assets/icons/mail_unread_outlined.svg +3 -0
  341. package/lib/assets/icons/map_filled.svg +3 -0
  342. package/lib/assets/icons/map_outlined.svg +3 -0
  343. package/lib/assets/icons/menu.svg +3 -0
  344. package/lib/assets/icons/menu_open.svg +3 -0
  345. package/lib/assets/icons/mic_filled.svg +3 -0
  346. package/lib/assets/icons/mic_off_filled.svg +3 -0
  347. package/lib/assets/icons/mic_off_outlined.svg +3 -0
  348. package/lib/assets/icons/mic_outlined.svg +3 -0
  349. package/lib/assets/icons/mode_dark_filled.svg +3 -0
  350. package/lib/assets/icons/mode_dark_outlined.svg +3 -0
  351. package/lib/assets/icons/mode_light_filled.svg +10 -0
  352. package/lib/assets/icons/mode_light_outlined.svg +10 -0
  353. package/lib/assets/icons/monitoring.svg +3 -0
  354. package/lib/assets/icons/more_down.svg +3 -0
  355. package/lib/assets/icons/more_horiz.svg +3 -0
  356. package/lib/assets/icons/more_up.svg +3 -0
  357. package/lib/assets/icons/more_vert.svg +3 -0
  358. package/lib/assets/icons/notification_filled.svg +3 -0
  359. package/lib/assets/icons/notification_important_filled.svg +3 -0
  360. package/lib/assets/icons/notification_important_outlined.svg +3 -0
  361. package/lib/assets/icons/notification_off_filled.svg +3 -0
  362. package/lib/assets/icons/notification_off_outlined.svg +3 -0
  363. package/lib/assets/icons/notification_outlined.svg +3 -0
  364. package/lib/assets/icons/notification_unread_filled.svg +3 -0
  365. package/lib/assets/icons/notification_unread_outlined.svg +3 -0
  366. package/lib/assets/icons/ohm.svg +3 -0
  367. package/lib/assets/icons/open_in_full.svg +3 -0
  368. package/lib/assets/icons/palette_filled.svg +3 -0
  369. package/lib/assets/icons/palette_outlined.svg +3 -0
  370. package/lib/assets/icons/paste.svg +3 -0
  371. package/lib/assets/icons/pause_circle_filled.svg +3 -0
  372. package/lib/assets/icons/pause_circle_outlined.svg +3 -0
  373. package/lib/assets/icons/pause_filled.svg +3 -0
  374. package/lib/assets/icons/pause_outlined.svg +3 -0
  375. package/lib/assets/icons/photo_camera_filled.svg +3 -0
  376. package/lib/assets/icons/photo_camera_outlined.svg +3 -0
  377. package/lib/assets/icons/play_circle_filled.svg +3 -0
  378. package/lib/assets/icons/play_circle_outlined.svg +3 -0
  379. package/lib/assets/icons/play_filled.svg +3 -0
  380. package/lib/assets/icons/play_outlined.svg +3 -0
  381. package/lib/assets/icons/play_pause.svg +3 -0
  382. package/lib/assets/icons/power_filled.svg +3 -0
  383. package/lib/assets/icons/power_input.svg +3 -0
  384. package/lib/assets/icons/power_off_filled.svg +3 -0
  385. package/lib/assets/icons/power_off_outlined.svg +3 -0
  386. package/lib/assets/icons/power_outlined.svg +3 -0
  387. package/lib/assets/icons/power_plug.svg +3 -0
  388. package/lib/assets/icons/power_plug_connect_filled.svg +3 -0
  389. package/lib/assets/icons/power_plug_connect_outlined.svg +3 -0
  390. package/lib/assets/icons/power_settings.svg +3 -0
  391. package/lib/assets/icons/power_settings_circle_filled.svg +3 -0
  392. package/lib/assets/icons/power_settings_circle_outlined.svg +3 -0
  393. package/lib/assets/icons/power_solar_filled.svg +3 -0
  394. package/lib/assets/icons/power_solar_outlined.svg +3 -0
  395. package/lib/assets/icons/power_switch_filled.svg +3 -0
  396. package/lib/assets/icons/power_switch_outlined.svg +3 -0
  397. package/lib/assets/icons/power_wind_filled.svg +3 -0
  398. package/lib/assets/icons/power_wind_outlined.svg +3 -0
  399. package/lib/assets/icons/print_filled.svg +3 -0
  400. package/lib/assets/icons/print_outlined.svg +3 -0
  401. package/lib/assets/icons/priority_high.svg +3 -0
  402. package/lib/assets/icons/public.svg +3 -0
  403. package/lib/assets/icons/publish.svg +3 -0
  404. package/lib/assets/icons/question_mark.svg +3 -0
  405. package/lib/assets/icons/radar.svg +3 -0
  406. package/lib/assets/icons/radio_button_empty.svg +3 -0
  407. package/lib/assets/icons/redo.svg +3 -0
  408. package/lib/assets/icons/reload.svg +3 -0
  409. package/lib/assets/icons/remove.svg +3 -0
  410. package/lib/assets/icons/reply.svg +3 -0
  411. package/lib/assets/icons/reply_all.svg +3 -0
  412. package/lib/assets/icons/right_panel_close_filled.svg +3 -0
  413. package/lib/assets/icons/right_panel_close_outlined.svg +3 -0
  414. package/lib/assets/icons/right_panel_open_filled.svg +3 -0
  415. package/lib/assets/icons/right_panel_open_outlined.svg +3 -0
  416. package/lib/assets/icons/route.svg +3 -0
  417. package/lib/assets/icons/save_filled.svg +3 -0
  418. package/lib/assets/icons/save_outlined.svg +3 -0
  419. package/lib/assets/icons/search.svg +3 -0
  420. package/lib/assets/icons/send_filled.svg +3 -0
  421. package/lib/assets/icons/send_outlined.svg +3 -0
  422. package/lib/assets/icons/settings_filled.svg +3 -0
  423. package/lib/assets/icons/settings_outlined.svg +3 -0
  424. package/lib/assets/icons/share_filled.svg +3 -0
  425. package/lib/assets/icons/share_outlined.svg +3 -0
  426. package/lib/assets/icons/side_navigation.svg +3 -0
  427. package/lib/assets/icons/skip_next_filled.svg +3 -0
  428. package/lib/assets/icons/skip_next_outlined.svg +3 -0
  429. package/lib/assets/icons/skip_previous_filled.svg +3 -0
  430. package/lib/assets/icons/skip_previous_outlined.svg +3 -0
  431. package/lib/assets/icons/smartphone_filled.svg +3 -0
  432. package/lib/assets/icons/smartphone_outlined.svg +3 -0
  433. package/lib/assets/icons/sort.svg +3 -0
  434. package/lib/assets/icons/star_filled.svg +3 -0
  435. package/lib/assets/icons/star_outlined.svg +3 -0
  436. package/lib/assets/icons/sticky_note_filled.svg +3 -0
  437. package/lib/assets/icons/sticky_note_outlined.svg +3 -0
  438. package/lib/assets/icons/stop_circle_filled.svg +3 -0
  439. package/lib/assets/icons/stop_circle_outlined.svg +3 -0
  440. package/lib/assets/icons/stop_filled.svg +3 -0
  441. package/lib/assets/icons/stop_outlined.svg +3 -0
  442. package/lib/assets/icons/subtitles_filled.svg +3 -0
  443. package/lib/assets/icons/subtitles_outlined.svg +3 -0
  444. package/lib/assets/icons/support_agent.svg +3 -0
  445. package/lib/assets/icons/swap_horiz.svg +3 -0
  446. package/lib/assets/icons/swap_vert.svg +3 -0
  447. package/lib/assets/icons/text_snippet_filled.svg +3 -0
  448. package/lib/assets/icons/text_snippet_outlined.svg +3 -0
  449. package/lib/assets/icons/timeline.svg +3 -0
  450. package/lib/assets/icons/trash_restore_filled.svg +3 -0
  451. package/lib/assets/icons/trash_restore_outlined.svg +3 -0
  452. package/lib/assets/icons/trending_down.svg +3 -0
  453. package/lib/assets/icons/trending_flat.svg +3 -0
  454. package/lib/assets/icons/trending_up.svg +3 -0
  455. package/lib/assets/icons/tune.svg +3 -0
  456. package/lib/assets/icons/unarchive_filled.svg +3 -0
  457. package/lib/assets/icons/unarchive_outlined.svg +3 -0
  458. package/lib/assets/icons/undo.svg +3 -0
  459. package/lib/assets/icons/upload.svg +3 -0
  460. package/lib/assets/icons/user_add_filled.svg +3 -0
  461. package/lib/assets/icons/user_add_outlined.svg +3 -0
  462. package/lib/assets/icons/user_circle_filled.svg +3 -0
  463. package/lib/assets/icons/user_circle_outlined.svg +3 -0
  464. package/lib/assets/icons/user_filled.svg +3 -0
  465. package/lib/assets/icons/user_outlined.svg +3 -0
  466. package/lib/assets/icons/user_settings_filled.svg +3 -0
  467. package/lib/assets/icons/user_settings_outlined.svg +3 -0
  468. package/lib/assets/icons/verified_filled.svg +3 -0
  469. package/lib/assets/icons/verified_outlined.svg +3 -0
  470. package/lib/assets/icons/video_camera_filled.svg +3 -0
  471. package/lib/assets/icons/video_camera_off_filled.svg +3 -0
  472. package/lib/assets/icons/video_camera_off_outlined.svg +3 -0
  473. package/lib/assets/icons/video_camera_outlined.svg +3 -0
  474. package/lib/assets/icons/video_gallery_filled.svg +3 -0
  475. package/lib/assets/icons/video_gallery_outlined.svg +3 -0
  476. package/lib/assets/icons/view_agenda_filled.svg +3 -0
  477. package/lib/assets/icons/view_agenda_outlined.svg +3 -0
  478. package/lib/assets/icons/view_column_filled.svg +3 -0
  479. package/lib/assets/icons/view_column_outlined.svg +3 -0
  480. package/lib/assets/icons/view_grid_filled.svg +3 -0
  481. package/lib/assets/icons/view_grid_outlined.svg +3 -0
  482. package/lib/assets/icons/view_kanban_filled.svg +3 -0
  483. package/lib/assets/icons/view_kanban_outlined.svg +3 -0
  484. package/lib/assets/icons/view_module_filled.svg +3 -0
  485. package/lib/assets/icons/view_module_outlined.svg +3 -0
  486. package/lib/assets/icons/view_timeline_filled.svg +3 -0
  487. package/lib/assets/icons/view_timeline_outlined.svg +3 -0
  488. package/lib/assets/icons/visibility_hide_filled.svg +3 -0
  489. package/lib/assets/icons/visibility_hide_outlined.svg +3 -0
  490. package/lib/assets/icons/visibility_show_filled.svg +3 -0
  491. package/lib/assets/icons/visibility_show_outlined.svg +3 -0
  492. package/lib/assets/icons/volume_down_filled.svg +3 -0
  493. package/lib/assets/icons/volume_down_outlined.svg +3 -0
  494. package/lib/assets/icons/volume_mute_filled.svg +3 -0
  495. package/lib/assets/icons/volume_mute_outlined.svg +3 -0
  496. package/lib/assets/icons/volume_off_filled.svg +3 -0
  497. package/lib/assets/icons/volume_off_outlined.svg +3 -0
  498. package/lib/assets/icons/volume_up_filled.svg +3 -0
  499. package/lib/assets/icons/volume_up_outlined.svg +3 -0
  500. package/lib/assets/icons/warning_filled.svg +3 -0
  501. package/lib/assets/icons/warning_outlined.svg +3 -0
  502. package/lib/assets/icons/water.svg +3 -0
  503. package/lib/assets/icons/water_alt.svg +3 -0
  504. package/lib/assets/icons/waterdrop_filled.svg +3 -0
  505. package/lib/assets/icons/waterdrop_outlined.svg +3 -0
  506. package/lib/assets/icons/wifi.svg +3 -0
  507. package/lib/assets/icons/wifi_off.svg +3 -0
  508. package/lib/assets/icons/windmill.svg +3 -0
  509. package/lib/assets/icons/zoom_in.svg +3 -0
  510. package/lib/assets/icons/zoom_out.svg +3 -0
  511. package/lib/components/accordion/accordion.component.d.ts +29 -0
  512. package/lib/components/avatar/assets/status/status.component.d.ts +8 -0
  513. package/lib/components/avatar/avatar.component.d.ts +24 -0
  514. package/lib/components/badge/badge.directive.d.ts +1 -1
  515. package/lib/components/button/button.component.d.ts +6 -1
  516. package/lib/components/card/card.component.d.ts +2 -4
  517. package/lib/components/checkbox/checkbox.component.d.ts +2 -1
  518. package/lib/components/chip/chip.component.d.ts +1 -1
  519. package/lib/components/drawer/drawer-trigger/drawer-trigger.directive.d.ts +9 -0
  520. package/lib/components/drawer/drawer.component.d.ts +54 -0
  521. package/lib/components/drawer/drawer.directive.d.ts +60 -0
  522. package/lib/components/drawer/drawer.module.d.ts +8 -0
  523. package/lib/components/icon/icon-map.d.ts +7 -0
  524. package/lib/components/icon/icon.component.d.ts +1 -1
  525. package/lib/components/icon-button/icon-button.component.d.ts +3 -3
  526. package/lib/components/icon-button-toggle/icon-button-toggle.component.d.ts +2 -2
  527. package/lib/components/popover/popover.component.d.ts +1 -1
  528. package/lib/components/segmented-control/segmented-control.component.d.ts +1 -1
  529. package/lib/components/split-button/split-button.component.d.ts +2 -2
  530. package/lib/components/tag/tag.component.d.ts +2 -2
  531. package/lib/components/text-input/base-text-input/base-text-input.component.d.ts +2 -2
  532. package/lib/components/tooltip/tooltip.component.d.ts +1 -1
  533. package/lib/components/treeview/index.d.ts +3 -0
  534. package/lib/components/treeview/treeview-check.service.d.ts +10 -0
  535. package/lib/components/treeview/treeview-item/treeview-item-border/treeview-item-border.component.d.ts +10 -0
  536. package/lib/components/treeview/treeview-item/treeview-item.component.d.ts +71 -0
  537. package/lib/components/treeview/treeview-keyboard.service.d.ts +10 -0
  538. package/lib/components/treeview/treeview-selection.service.d.ts +9 -0
  539. package/lib/components/treeview/treeview.component.d.ts +43 -0
  540. package/package.json +2 -2
  541. package/public-api.d.ts +7 -0
@@ -16,6 +16,7 @@ export class CheckboxComponent {
16
16
  this.errorMessage = input("");
17
17
  this.readOnly = input(false);
18
18
  this.checked = input(false);
19
+ this.tabindex = input(undefined);
19
20
  }
20
21
  onKeydown(event) {
21
22
  if (event.code === "Space") {
@@ -25,10 +26,10 @@ export class CheckboxComponent {
25
26
  }
26
27
  }
27
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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 } }, 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: [".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-default);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox.error{border:1px solid var(--content-danger-default);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;color:var(--content-primary)}.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-default)}.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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 }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", 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 [attr.tabindex]=\"tabindex()\"\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: [".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-default);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox.error{border:1px solid var(--content-danger-default);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;color:var(--content-primary)}.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-default)}.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
30
  }
30
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, decorators: [{
31
32
  type: Component,
32
- args: [{ selector: "rte-checkbox", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, 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: [".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-default);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox.error{border:1px solid var(--content-danger-default);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;color:var(--content-primary)}.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-default)}.rte-checkbox-container .rte-checkbox-icons{display:none;z-index:1;pointer-events:none;transform:translateY(4px);position:absolute;color:#fff}\n"] }]
33
+ args: [{ selector: "rte-checkbox", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"rte-checkbox-container\">\n <input\n type=\"checkbox\"\n class=\"rte-checkbox\"\n [id]=\"id()\"\n [value]=\"value()\"\n [attr.tabindex]=\"tabindex()\"\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: [".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-default);background:var(--background-disabled)}.rte-checkbox-container .rte-checkbox.error{border:1px solid var(--content-danger-default);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;color:var(--content-primary)}.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-default)}.rte-checkbox-container .rte-checkbox-icons{display:none;z-index:1;pointer-events:none;transform:translateY(4px);position:absolute;color:#fff}\n"] }]
33
34
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBVXZELE1BQU0sT0FBTyxpQkFBaUI7SUFSOUI7UUFTVyxPQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQzlCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsVUFBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixnQkFBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsVUFBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLFlBQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7S0FTakM7SUFQQyxTQUFTLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBbkJVLGlCQUFpQjttR0FBakIsaUJBQWlCLG85Q0NiOUIsbWpDQStCQSw2bEpEeEJZLFlBQVksaU9BQUUsYUFBYTs7NEZBTTFCLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxjQUFjLFdBQ2YsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLGNBQzFCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uL2ljb24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtY2hlY2tib3hcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY2hlY2tib3guY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9jaGVja2JveC5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQge1xuICByZWFkb25seSBpZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGUgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IHNob3dMYWJlbCA9IGlucHV0KHRydWUpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgZXJyb3IgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGVycm9yTWVzc2FnZSA9IGlucHV0KFwiXCIpO1xuICByZWFkb25seSByZWFkT25seSA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgY2hlY2tlZCA9IGlucHV0KGZhbHNlKTtcblxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gXCJTcGFjZVwiKSB7XG4gICAgICBpZiAodGhpcy5yZWFkT25seSgpKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRlLWNoZWNrYm94LWNvbnRhaW5lclwiPlxuICA8aW5wdXRcbiAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgIGNsYXNzPVwicnRlLWNoZWNrYm94XCJcbiAgICBbaWRdPVwiaWQoKVwiXG4gICAgW3ZhbHVlXT1cInZhbHVlKClcIlxuICAgIFtuZ0NsYXNzXT1cInsgZXJyb3I6IGVycm9yKCksICdyZWFkLW9ubHknOiByZWFkT25seSgpIH1cIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlKClcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWQoKVwiXG4gICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAvPlxuICA8cnRlLWljb24gY2xhc3M9XCJydGUtY2hlY2tib3gtaWNvbnMgcnRlLWNoZWNrYm94LWljb24tc2VsZWN0ZWRcIiBuYW1lPVwiY2hlY2stc21hbGxcIiBbc2l6ZV09XCIxNlwiIC8+XG4gIDxydGUtaWNvbiBjbGFzcz1cInJ0ZS1jaGVja2JveC1pY29ucyBydGUtY2hlY2tib3gtaWNvbi1pbmRldGVybWluYXRlZFwiIG5hbWU9XCJjaGVjay1pbmRldGVybWluYXRlXCIgW3NpemVdPVwiMTZcIiAvPlxuICA8ZGl2IGNsYXNzPVwicnRlLWNoZWNrYm94LXRleHQtY29udGFpbmVyXCI+XG4gICAgPGxhYmVsXG4gICAgICAqbmdJZj1cInNob3dMYWJlbCgpXCJcbiAgICAgIGNsYXNzPVwicnRlLWNoZWNrYm94LWxhYmVsXCJcbiAgICAgIFtmb3JdPVwiaWQoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIGVycm9yOiBlcnJvcigpLFxuICAgICAgICAncmVhZC1vbmx5JzogcmVhZE9ubHkoKSxcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkKCksXG4gICAgICB9XCJcbiAgICA+XG4gICAgICB7eyBsYWJlbCgpIH19XG4gICAgPC9sYWJlbD5cbiAgICA8cCBjbGFzcz1cInJ0ZS1jaGVja2JveC1kZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uKCkgfX08L3A+XG4gICAgPHAgKm5nSWY9XCJlcnJvcigpICYmIGVycm9yTWVzc2FnZSgpXCIgY2xhc3M9XCJydGUtY2hlY2tib3gtZXJyb3JcIj57eyBlcnJvck1lc3NhZ2UoKSB9fTwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBVXZELE1BQU0sT0FBTyxpQkFBaUI7SUFSOUI7UUFTVyxPQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQzlCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsVUFBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixnQkFBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsVUFBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLFlBQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsYUFBUSxHQUFHLEtBQUssQ0FBOEIsU0FBUyxDQUFDLENBQUM7S0FTbkU7SUFQQyxTQUFTLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBcEJVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFsRENiOUIsdWxDQWdDQSw2bEpEekJZLFlBQVksaU9BQUUsYUFBYTs7NEZBTTFCLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxjQUFjLFdBQ2YsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLGNBQzFCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uL2ljb24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtY2hlY2tib3hcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY2hlY2tib3guY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9jaGVja2JveC5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQge1xuICByZWFkb25seSBpZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGUgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQoXCJcIik7XG4gIHJlYWRvbmx5IHNob3dMYWJlbCA9IGlucHV0KHRydWUpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgZXJyb3IgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGVycm9yTWVzc2FnZSA9IGlucHV0KFwiXCIpO1xuICByZWFkb25seSByZWFkT25seSA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgY2hlY2tlZCA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgdGFiaW5kZXggPSBpbnB1dDxzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09IFwiU3BhY2VcIikge1xuICAgICAgaWYgKHRoaXMucmVhZE9ubHkoKSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJ0ZS1jaGVja2JveC1jb250YWluZXJcIj5cbiAgPGlucHV0XG4gICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICBjbGFzcz1cInJ0ZS1jaGVja2JveFwiXG4gICAgW2lkXT1cImlkKClcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZSgpXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCgpXCJcbiAgICBbbmdDbGFzc109XCJ7IGVycm9yOiBlcnJvcigpLCAncmVhZC1vbmx5JzogcmVhZE9ubHkoKSB9XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSgpXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkKClcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgLz5cbiAgPHJ0ZS1pY29uIGNsYXNzPVwicnRlLWNoZWNrYm94LWljb25zIHJ0ZS1jaGVja2JveC1pY29uLXNlbGVjdGVkXCIgbmFtZT1cImNoZWNrLXNtYWxsXCIgW3NpemVdPVwiMTZcIiAvPlxuICA8cnRlLWljb24gY2xhc3M9XCJydGUtY2hlY2tib3gtaWNvbnMgcnRlLWNoZWNrYm94LWljb24taW5kZXRlcm1pbmF0ZWRcIiBuYW1lPVwiY2hlY2staW5kZXRlcm1pbmF0ZVwiIFtzaXplXT1cIjE2XCIgLz5cbiAgPGRpdiBjbGFzcz1cInJ0ZS1jaGVja2JveC10ZXh0LWNvbnRhaW5lclwiPlxuICAgIDxsYWJlbFxuICAgICAgKm5nSWY9XCJzaG93TGFiZWwoKVwiXG4gICAgICBjbGFzcz1cInJ0ZS1jaGVja2JveC1sYWJlbFwiXG4gICAgICBbZm9yXT1cImlkKClcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICBlcnJvcjogZXJyb3IoKSxcbiAgICAgICAgJ3JlYWQtb25seSc6IHJlYWRPbmx5KCksXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCgpLFxuICAgICAgfVwiXG4gICAgPlxuICAgICAge3sgbGFiZWwoKSB9fVxuICAgIDwvbGFiZWw+XG4gICAgPHAgY2xhc3M9XCJydGUtY2hlY2tib3gtZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbigpIH19PC9wPlxuICAgIDxwICpuZ0lmPVwiZXJyb3IoKSAmJiBlcnJvck1lc3NhZ2UoKVwiIGNsYXNzPVwicnRlLWNoZWNrYm94LWVycm9yXCI+e3sgZXJyb3JNZXNzYWdlKCkgfX08L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -19,7 +19,7 @@ export class CheckboxGroupComponent {
19
19
  this.isDisplayed = computed(() => !(this.disabled() && this.error()));
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CheckboxGroupComponent, isStandalone: true, selector: "rte-checkbox-group", inputs: { 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 *ngIf=\"isDisplayed()\" 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 >\n <h3 *ngIf=\"showGroupTitle()\" class=\"group-title\">\n {{ groupTitle() }}\n </h3>\n <p *ngIf=\"showHelpText()\" class=\"group-help-text\">\n {{ groupHelpText() }}\n </p>\n <p *ngIf=\"error()\" class=\"group-error-message\">\n {{ errorMessage() }}\n </p>\n </div>\n <div\n class=\"checkbox-group\"\n [ngClass]=\"{ horizontal: direction() === 'horizontal', vertical: direction() === 'vertical' }\"\n >\n <ng-container *ngFor=\"let item of items(); let i = index\">\n <rte-checkbox\n [id]=\"item + '-' + i\"\n [label]=\"item\"\n [showLabel]=\"showItemsLabel()\"\n [disabled]=\"disabled()\"\n [error]=\"error()\"\n [readOnly]=\"readOnly()\"\n />\n </ng-container>\n </div>\n</div>\n", styles: [".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-default);align-self:stretch;margin:4px 0 0}.checkbox-group-container .checkbox-group-header.error .group-title{color:var(--content-danger-default)}.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-default)}.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CheckboxGroupComponent, isStandalone: true, selector: "rte-checkbox-group", inputs: { 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 *ngIf=\"isDisplayed()\" 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 >\n <h3 *ngIf=\"showGroupTitle()\" class=\"group-title\">\n {{ groupTitle() }}\n </h3>\n <p *ngIf=\"showHelpText()\" class=\"group-help-text\">\n {{ groupHelpText() }}\n </p>\n <p *ngIf=\"error()\" class=\"group-error-message\">\n {{ errorMessage() }}\n </p>\n </div>\n <div\n class=\"checkbox-group\"\n [ngClass]=\"{ horizontal: direction() === 'horizontal', vertical: direction() === 'vertical' }\"\n >\n <ng-container *ngFor=\"let item of items(); let i = index\">\n <rte-checkbox\n [id]=\"item + '-' + i\"\n [label]=\"item\"\n [showLabel]=\"showItemsLabel()\"\n [disabled]=\"disabled()\"\n [error]=\"error()\"\n [readOnly]=\"readOnly()\"\n />\n </ng-container>\n </div>\n</div>\n", styles: [".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-default);align-self:stretch;margin:4px 0 0}.checkbox-group-container .checkbox-group-header.error .group-title{color:var(--content-danger-default)}.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-default)}.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", "tabindex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
25
25
  type: Component,
@@ -0,0 +1,33 @@
1
+ import { Directive, HostListener, output } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class DrawerTriggerDirective {
4
+ constructor() {
5
+ this.drawerTriggerKeyDown = output();
6
+ this.drawerTriggerClicked = output();
7
+ }
8
+ onDrawerTriggerClicked(clickEvent) {
9
+ this.drawerTriggerClicked.emit(clickEvent);
10
+ }
11
+ onKeyDown(keyboardEvent) {
12
+ this.drawerTriggerKeyDown.emit(keyboardEvent);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DrawerTriggerDirective, isStandalone: true, selector: "[rteDrawerTrigger]", outputs: { drawerTriggerKeyDown: "drawerTriggerKeyDown", drawerTriggerClicked: "drawerTriggerClicked" }, host: { listeners: { "click": "onDrawerTriggerClicked($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.data-rte-drawer-trigger": "true" } }, ngImport: i0 }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerTriggerDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: "[rteDrawerTrigger]",
21
+ standalone: true,
22
+ host: {
23
+ "[attr.data-rte-drawer-trigger]": "true",
24
+ },
25
+ }]
26
+ }], propDecorators: { onDrawerTriggerClicked: [{
27
+ type: HostListener,
28
+ args: ["click", ["$event"]]
29
+ }], onKeyDown: [{
30
+ type: HostListener,
31
+ args: ["keydown", ["$event"]]
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJhd2VyL2RyYXdlci10cmlnZ2VyL2RyYXdlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU2hFLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRVyx5QkFBb0IsR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFFL0MseUJBQW9CLEdBQUcsTUFBTSxFQUFTLENBQUM7S0FXakQ7SUFSQyxzQkFBc0IsQ0FBQyxVQUFpQjtRQUN0QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFHRCxTQUFTLENBQUMsYUFBNEI7UUFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRCxDQUFDOytHQWJVLHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQVBsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osZ0NBQWdDLEVBQUUsTUFBTTtxQkFDekM7aUJBQ0Y7OEJBT0Msc0JBQXNCO3NCQURyQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNakMsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBvdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW3J0ZURyYXdlclRyaWdnZXJdXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICBcIlthdHRyLmRhdGEtcnRlLWRyYXdlci10cmlnZ2VyXVwiOiBcInRydWVcIixcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyVHJpZ2dlckRpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IGRyYXdlclRyaWdnZXJLZXlEb3duID0gb3V0cHV0PEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgZHJhd2VyVHJpZ2dlckNsaWNrZWQgPSBvdXRwdXQ8RXZlbnQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgb25EcmF3ZXJUcmlnZ2VyQ2xpY2tlZChjbGlja0V2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd2VyVHJpZ2dlckNsaWNrZWQuZW1pdChjbGlja0V2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duXCIsIFtcIiRldmVudFwiXSlcbiAgb25LZXlEb3duKGtleWJvYXJkRXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRyYXdlclRyaWdnZXJLZXlEb3duLmVtaXQoa2V5Ym9hcmRFdmVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,160 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { afterNextRender, ChangeDetectionStrategy, Component, computed, DestroyRef, effect, inject, Injector, input, output, signal, untracked, viewChild, } from "@angular/core";
3
+ import { DRAWER_PADDING, DRAWER_TRANSITION_DURATION, shouldUseDrawerDefaultFooter, shouldUseDrawerDefaultHeader, waitForNextFrame, } from "@design-system-rte/core";
4
+ import { IconSize } from "@design-system-rte/core/components/icon/icon.constants";
5
+ import { FocusTrapService } from "../../services/focus-trap.service";
6
+ import { ButtonComponent } from "../button/button.component";
7
+ import { DividerComponent } from "../divider/divider.component";
8
+ import { IconComponent } from "../icon/icon.component";
9
+ import { IconButtonComponent } from "../icon-button/icon-button.component";
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ export class DrawerComponent {
13
+ constructor() {
14
+ this.id = input.required();
15
+ this.title = input();
16
+ this.icon = input();
17
+ this.iconAppearance = input("outlined");
18
+ this.isOpen = input(false);
19
+ this.position = input("modal");
20
+ this.width = input();
21
+ this.closeOnOverlayClick = input(false);
22
+ this.primaryButtonLabel = input();
23
+ this.secondaryButtonLabel = input();
24
+ this.isCollapsible = input(false);
25
+ this.fixedHeader = input(false);
26
+ this.closeOnEscape = input(false);
27
+ this.isClosable = input(true);
28
+ this.modalHostMode = input(false);
29
+ this.drawerContent = input(null);
30
+ this.drawerHeader = input(null);
31
+ this.drawerFooter = input(null);
32
+ this.drawerContextContent = input(null);
33
+ this.closed = output();
34
+ this.clickToggle = output();
35
+ this.iconSize = signal(IconSize["xl"]);
36
+ this.drawerPanelModal = viewChild("drawerPanelModal");
37
+ this.drawerPanelResponsive = viewChild("drawerPanelResponsive");
38
+ this.isAnimating = signal(false);
39
+ this.shouldRenderModalLayer = signal(false);
40
+ this.shouldDisplayDefaultHeader = computed(() => shouldUseDrawerDefaultHeader(!!this.drawerHeader(), this.title()));
41
+ this.shouldDisplayDefaultFooter = computed(() => shouldUseDrawerDefaultFooter(!!this.drawerFooter(), this.primaryButtonLabel()));
42
+ this.panelWidthPx = signal(0);
43
+ this.collapsibleToggleTransform = computed(() => {
44
+ const widthPx = this.panelWidthPx();
45
+ return this.isAnimating() ? `translateX(-${widthPx + DRAWER_PADDING}px)` : "none";
46
+ });
47
+ this.responsiveDividerTransform = computed(() => {
48
+ const widthPx = this.panelWidthPx();
49
+ return this.isAnimating() ? `translateX(-${widthPx}px)` : "none";
50
+ });
51
+ this.floatingToggleOpacity = computed(() => (this.isAnimating() ? 0 : 1));
52
+ this.collapsibleToggleIconName = computed(() => this.isOpen() ? "right-panel-close" : "right-panel-open");
53
+ this.collapsibleToggleAriaLabel = computed(() => {
54
+ const verb = this.isOpen() ? "Close" : "Open";
55
+ return `${verb} drawer ${this.id()}`;
56
+ });
57
+ this.responsiveMainMarginRight = computed(() => (this.isAnimating() ? (this.width() ?? "0") : "0"));
58
+ this.focusTrap = inject(FocusTrapService);
59
+ this.destroyRef = inject(DestroyRef);
60
+ this.injector = inject(Injector);
61
+ this.resizeObserver = null;
62
+ this.focusTrapActive = false;
63
+ effect(() => {
64
+ const open = this.isOpen();
65
+ const usesModalLayer = this.position() === "modal";
66
+ if (open) {
67
+ this.handleDrawerOpen(usesModalLayer);
68
+ }
69
+ else {
70
+ this.handleDrawerClose(usesModalLayer);
71
+ }
72
+ }, { allowSignalWrites: true });
73
+ effect(() => {
74
+ const modalPanel = this.drawerPanelModal()?.nativeElement;
75
+ const responsivePanel = this.drawerPanelResponsive()?.nativeElement;
76
+ const panel = modalPanel ?? responsivePanel;
77
+ if (!panel) {
78
+ untracked(() => {
79
+ this.resizeObserver?.disconnect();
80
+ this.resizeObserver = null;
81
+ });
82
+ return;
83
+ }
84
+ untracked(() => {
85
+ this.resizeObserver?.disconnect();
86
+ this.resizeObserver = new ResizeObserver(() => {
87
+ this.panelWidthPx.set(panel.clientWidth);
88
+ });
89
+ this.resizeObserver.observe(panel);
90
+ this.panelWidthPx.set(panel.clientWidth);
91
+ });
92
+ }, { allowSignalWrites: true });
93
+ this.destroyRef.onDestroy(() => {
94
+ this.resizeObserver?.disconnect();
95
+ if (this.focusTrapActive) {
96
+ this.focusTrap.deactivate();
97
+ this.focusTrapActive = false;
98
+ }
99
+ });
100
+ }
101
+ activateFocusTrapForPanel(resolvePanel) {
102
+ afterNextRender(() => {
103
+ const panelElement = resolvePanel();
104
+ if (panelElement && !this.focusTrapActive) {
105
+ this.focusTrap.activate(panelElement);
106
+ this.focusTrapActive = true;
107
+ }
108
+ }, { injector: this.injector });
109
+ }
110
+ handleDrawerOpen(usesModalLayer) {
111
+ if (usesModalLayer) {
112
+ this.shouldRenderModalLayer.set(true);
113
+ }
114
+ this.isAnimating.set(false);
115
+ const resolvePanel = () => {
116
+ if (usesModalLayer) {
117
+ return this.drawerPanelModal()?.nativeElement ?? this.drawerPanelResponsive()?.nativeElement;
118
+ }
119
+ return this.drawerPanelResponsive()?.nativeElement;
120
+ };
121
+ untracked(() => {
122
+ waitForNextFrame(() => {
123
+ this.isAnimating.set(true);
124
+ this.activateFocusTrapForPanel(resolvePanel);
125
+ });
126
+ });
127
+ }
128
+ handleDrawerClose(usesModalLayer) {
129
+ this.isAnimating.set(false);
130
+ if (this.focusTrapActive) {
131
+ this.focusTrap.deactivate();
132
+ this.focusTrapActive = false;
133
+ }
134
+ if (usesModalLayer && this.shouldRenderModalLayer()) {
135
+ setTimeout(() => {
136
+ this.shouldRenderModalLayer.set(false);
137
+ }, DRAWER_TRANSITION_DURATION);
138
+ }
139
+ }
140
+ onClose() {
141
+ this.closed.emit();
142
+ }
143
+ onClickToggle() {
144
+ this.clickToggle.emit();
145
+ }
146
+ ngOnDestroy() {
147
+ this.resizeObserver?.disconnect();
148
+ if (this.focusTrapActive) {
149
+ this.focusTrap.deactivate();
150
+ this.focusTrapActive = false;
151
+ }
152
+ }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DrawerComponent, isStandalone: true, selector: "rte-drawer", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAppearance: { classPropertyName: "iconAppearance", publicName: "iconAppearance", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, closeOnOverlayClick: { classPropertyName: "closeOnOverlayClick", publicName: "closeOnOverlayClick", isSignal: true, isRequired: false, transformFunction: null }, primaryButtonLabel: { classPropertyName: "primaryButtonLabel", publicName: "primaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonLabel: { classPropertyName: "secondaryButtonLabel", publicName: "secondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isCollapsible: { classPropertyName: "isCollapsible", publicName: "isCollapsible", isSignal: true, isRequired: false, transformFunction: null }, fixedHeader: { classPropertyName: "fixedHeader", publicName: "fixedHeader", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, isClosable: { classPropertyName: "isClosable", publicName: "isClosable", isSignal: true, isRequired: false, transformFunction: null }, modalHostMode: { classPropertyName: "modalHostMode", publicName: "modalHostMode", isSignal: true, isRequired: false, transformFunction: null }, drawerContent: { classPropertyName: "drawerContent", publicName: "drawerContent", isSignal: true, isRequired: false, transformFunction: null }, drawerHeader: { classPropertyName: "drawerHeader", publicName: "drawerHeader", isSignal: true, isRequired: false, transformFunction: null }, drawerFooter: { classPropertyName: "drawerFooter", publicName: "drawerFooter", isSignal: true, isRequired: false, transformFunction: null }, drawerContextContent: { classPropertyName: "drawerContextContent", publicName: "drawerContextContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", clickToggle: "clickToggle" }, viewQueries: [{ propertyName: "drawerPanelModal", first: true, predicate: ["drawerPanelModal"], descendants: true, isSignal: true }, { propertyName: "drawerPanelResponsive", first: true, predicate: ["drawerPanelResponsive"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"rte-drawer-root\" [class.rte-drawer-modal-host-layer]=\"modalHostMode()\" [attr.data-position]=\"position()\">\n @if (isCollapsible()) {\n <rte-icon-button\n class=\"drawer-toggle drawer-toggle--floating\"\n size=\"l\"\n variant=\"primary\"\n [ariaLabel]=\"collapsibleToggleAriaLabel()\"\n [name]=\"collapsibleToggleIconName()\"\n [customStyle]=\"{\n position: 'absolute',\n top: '24px',\n right: '4px',\n opacity: floatingToggleOpacity().toString(),\n }\"\n (clickEvent)=\"onClickToggle()\"\n />\n }\n\n @if (position() === \"responsive\") {\n <div class=\"drawer-responsive-container\">\n @if (isCollapsible()) {\n <rte-icon-button\n class=\"drawer-toggle drawer-toggle--responsive-floating\"\n size=\"l\"\n variant=\"primary\"\n [ariaLabel]=\"collapsibleToggleAriaLabel()\"\n [name]=\"collapsibleToggleIconName()\"\n [customStyle]=\"{\n position: 'absolute',\n top: '24px',\n right: '4px',\n opacity: isAnimating() ? '0' : '1',\n transform: collapsibleToggleTransform(),\n }\"\n (clickEvent)=\"onClickToggle()\"\n />\n }\n <div\n class=\"drawer-responsive-divider-wrap\"\n [style.visibility]=\"isAnimating() ? 'visible' : 'hidden'\"\n [style.transform]=\"responsiveDividerTransform()\"\n >\n <rte-divider orientation=\"vertical\" />\n </div>\n <div\n #drawerPanelResponsive\n class=\"drawer\"\n data-drawer-panel\n data-testid=\"drawer-responsive-panel\"\n role=\"region\"\n [attr.data-open]=\"isAnimating() ? 'true' : 'false'\"\n [attr.data-position]=\"position()\"\n [attr.data-fixed-header]=\"fixedHeader() ? 'true' : 'false'\"\n [attr.aria-labelledby]=\"id() + '-drawer-title'\"\n [style.width]=\"width()\"\n [style.transform]=\"isAnimating() ? 'none' : 'translateX(' + (width() ?? '100%') + ')'\"\n [style.visibility]=\"isAnimating() ? 'visible' : 'hidden'\"\n >\n <ng-container *ngTemplateOutlet=\"headerAndContent\" />\n <ng-container *ngTemplateOutlet=\"footerBlock\" />\n </div>\n <div\n class=\"drawer-children\"\n [attr.data-open]=\"isAnimating() ? 'true' : 'false'\"\n [style.marginRight]=\"responsiveMainMarginRight()\"\n [style.maxHeight]=\"isAnimating() ? '100%' : undefined\"\n [style.overflowY]=\"isAnimating() ? 'auto' : undefined\"\n >\n <ng-container *ngTemplateOutlet=\"drawerContextContent() ?? null\" />\n </div>\n </div>\n }\n\n @if (position() === \"modal\" && shouldRenderModalLayer()) {\n <div class=\"rte-drawer-modal-layer\">\n <div class=\"rte-drawer-backdrop\" [attr.data-open]=\"isAnimating() ? 'true' : 'false'\"></div>\n <div\n #drawerPanelModal\n class=\"drawer\"\n data-drawer-panel\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.data-open]=\"isAnimating() ? 'true' : 'false'\"\n [attr.data-fixed-header]=\"fixedHeader() ? 'true' : 'false'\"\n [attr.aria-labelledby]=\"id() + '-drawer-title'\"\n [style.width]=\"width()\"\n >\n <ng-container *ngTemplateOutlet=\"headerAndContent\" />\n <ng-container *ngTemplateOutlet=\"footerBlock\" />\n </div>\n </div>\n }\n</div>\n\n<ng-template #headerAndContent>\n @if (fixedHeader()) {\n <ng-container *ngTemplateOutlet=\"headerBlock\" />\n <ng-container *ngTemplateOutlet=\"contentBlock\" />\n } @else {\n <div class=\"drawer-header-content\">\n <ng-container *ngTemplateOutlet=\"headerBlock\" />\n <ng-container *ngTemplateOutlet=\"contentBlock\" />\n </div>\n }\n</ng-template>\n\n<ng-template #headerBlock>\n @if (isCollapsible()) {\n <rte-icon-button\n class=\"drawer-toggle\"\n size=\"l\"\n variant=\"primary\"\n [ariaLabel]=\"collapsibleToggleAriaLabel()\"\n [name]=\"collapsibleToggleIconName()\"\n [customStyle]=\"{ transform: collapsibleToggleTransform() }\"\n (clickEvent)=\"onClickToggle()\"\n />\n }\n @if (shouldDisplayDefaultHeader()) {\n <div class=\"rte-drawer-base-header\">\n <div class=\"rte-drawer-base-header-text\">\n @if (icon()) {\n <rte-icon [name]=\"icon() ?? ''\" [size]=\"iconSize()\" [appearance]=\"iconAppearance()\" />\n }\n <h2 id=\"{{ id() }}-drawer-title\" class=\"rte-drawer-base-header-title\">\n {{ title() }}\n </h2>\n @if (isClosable()) {\n <rte-icon-button\n ariaLabel=\"Close drawer {{ id() }}\"\n data-testid=\"drawer-close-button\"\n name=\"close\"\n size=\"l\"\n class=\"rte-drawer-close-icon\"\n variant=\"neutral\"\n (clickEvent)=\"onClose()\"\n />\n }\n </div>\n <rte-divider />\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"drawerHeader() ?? null\" />\n }\n</ng-template>\n\n<ng-template #contentBlock>\n <div class=\"drawer-content\" tabindex=\"-1\" [attr.data-fixed-header]=\"fixedHeader() ? 'true' : 'false'\">\n <ng-container *ngTemplateOutlet=\"drawerContent() ?? null\" />\n </div>\n</ng-template>\n\n<ng-template #footerBlock>\n <div class=\"drawer-footer\" [attr.data-fixed-header]=\"fixedHeader() ? 'true' : 'false'\">\n @if (shouldDisplayDefaultFooter()) {\n <div class=\"rte-drawer-base-footer\">\n @if (secondaryButtonLabel()) {\n <button rteButton rteButtonVariant=\"neutral\">\n {{ secondaryButtonLabel() }}\n </button>\n }\n <button rteButton rteButtonVariant=\"primary\">\n {{ primaryButtonLabel() }}\n </button>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"drawerFooter() ?? null\" />\n }\n </div>\n</ng-template>\n", styles: [":host-context(.rte-drawer-host--responsive-layout){display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:100%;box-sizing:border-box}.rte-drawer-root{position:relative}.rte-drawer-root[data-position=responsive]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;width:100%}.rte-drawer-root[data-position=responsive] .drawer-responsive-container{flex:1 1 auto;min-height:0;height:auto;position:relative;overflow-x:clip}.rte-drawer-modal-host-layer{position:fixed;inset:0;z-index:999;pointer-events:none}.rte-drawer-modal-host-layer .drawer-toggle--floating,.rte-drawer-modal-host-layer .rte-drawer-modal-layer{pointer-events:auto}.rte-drawer-modal-layer{position:fixed;inset:0}.rte-drawer-backdrop{position:absolute;inset:0;opacity:0;background-color:#201f1f80;transition:opacity .24s ease-out}.rte-drawer-backdrop[data-open=true]{opacity:1}.drawer-responsive-divider-wrap{position:absolute;right:0;transition:transform .24s ease-out;height:100%}.drawer{display:flex;height:100%;box-sizing:border-box;min-width:64px;padding:24px;gap:24px;flex-direction:column;align-items:flex-start;transform:translate(100%);transition:transform .24s ease-out;box-shadow:0 4px 8px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-3) 0%,var(--elevation-surface-shadow-3) 100%);background-color:var(--background-default);position:absolute;right:0}.drawer[data-fixed-header=false]{padding:24px 8px 24px 24px}.drawer[data-open=true]{transform:translate(0)}.drawer[data-position=responsive]{width:100%;position:absolute;right:0;box-shadow:none;transition:transform .24s ease-out;flex:0 0 auto;height:100%;max-height:100%;background:transparent}.drawer[data-position=responsive][data-open=true]{transform:none}.drawer .drawer-content{flex:1 1 auto;width:100%}.drawer .drawer-content[data-fixed-header=true]{padding-right:16px;overflow-y:auto}.drawer .drawer-toggle{position:absolute;top:24px;right:0;transition:transform .24s ease-out}.drawer .drawer-toggle:focus-visible{position:absolute}.drawer .drawer-footer{width:100%}.drawer .drawer-footer[data-fixed-header=false]{padding-right:16px;box-sizing:border-box}.drawer .drawer-header-content{display:flex;flex-direction:column;height:100%;gap:24px;overflow-y:auto;padding-right:16px;box-sizing:border-box}.rte-drawer-base-header{display:flex;flex-direction:column;gap:8px;width:100%;flex:0 0 auto}.rte-drawer-base-header .rte-drawer-base-header-text{display:flex;flex-direction:row;align-items:center;gap:8px}.rte-drawer-base-header .rte-drawer-base-header-text .rte-drawer-base-header-title{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:24px;line-height:32px;letter-spacing:-.5px;margin:0;overflow:hidden;color:var(--content-primary);text-overflow:ellipsis;flex:1 1 0}.rte-drawer-base-footer{display:flex;padding:0;justify-content:flex-end;align-items:center;gap:24px;align-self:stretch;flex:0 0 auto;width:100%}.drawer-children{box-sizing:border-box;min-height:0;height:100%;transition:margin-right .24s ease-out}.drawer-toggle--floating,.drawer-toggle--responsive-floating{z-index:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[rteButton]", inputs: ["rteButtonVariant", "rteButtonSize", "rteBadgeCount", "rteBadgeContent", "rteButtonIcon", "rteButtonIconPosition", "rteButtonIconAppearance"] }, { kind: "component", type: DividerComponent, selector: "rte-divider", inputs: ["orientation", "thickness", "appearance", "endPoint"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy", "badgeCount", "badgeContent", "badgeType", "badgeIcon", "customStyle"], outputs: ["clickEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
155
+ }
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerComponent, decorators: [{
157
+ type: Component,
158
+ args: [{ selector: "rte-drawer", imports: [CommonModule, ButtonComponent, DividerComponent, IconComponent, IconButtonComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"rte-drawer-root\" [class.rte-drawer-modal-host-layer]=\"modalHostMode()\" [attr.data-position]=\"position()\">\n @if (isCollapsible()) {\n <rte-icon-button\n class=\"drawer-toggle drawer-toggle--floating\"\n size=\"l\"\n variant=\"primary\"\n [ariaLabel]=\"collapsibleToggleAriaLabel()\"\n [name]=\"collapsibleToggleIconName()\"\n [customStyle]=\"{\n position: 'absolute',\n top: '24px',\n right: '4px',\n opacity: floatingToggleOpacity().toString(),\n }\"\n (clickEvent)=\"onClickToggle()\"\n />\n }\n\n @if (position() === \"responsive\") {\n <div class=\"drawer-responsive-container\">\n @if (isCollapsible()) {\n <rte-icon-button\n class=\"drawer-toggle drawer-toggle--responsive-floating\"\n size=\"l\"\n variant=\"primary\"\n [ariaLabel]=\"collapsibleToggleAriaLabel()\"\n [name]=\"collapsibleToggleIconName()\"\n [customStyle]=\"{\n position: 'absolute',\n top: '24px',\n right: '4px',\n opacity: isAnimating() ? '0' : '1',\n transform: collapsibleToggleTransform(),\n }\"\n (clickEvent)=\"onClickToggle()\"\n />\n }\n <div\n class=\"drawer-responsive-divider-wrap\"\n [style.visibility]=\"isAnimating() ? 'visible' : 'hidden'\"\n [style.transform]=\"responsiveDividerTransform()\"\n >\n <rte-divider orientation=\"vertical\" />\n </div>\n <div\n #drawerPanelResponsive\n class=\"drawer\"\n data-drawer-panel\n data-testid=\"drawer-responsive-panel\"\n role=\"region\"\n [attr.data-open]=\"isAnimating() ? 'true' : 'false'\"\n [attr.data-position]=\"position()\"\n [attr.data-fixed-header]=\"fixedHeader() ? 'true' : 'false'\"\n [attr.aria-labelledby]=\"id() + '-drawer-title'\"\n [style.width]=\"width()\"\n [style.transform]=\"isAnimating() ? 'none' : 'translateX(' + (width() ?? '100%') + ')'\"\n [style.visibility]=\"isAnimating() ? 'visible' : 'hidden'\"\n >\n <ng-container *ngTemplateOutlet=\"headerAndContent\" />\n <ng-container *ngTemplateOutlet=\"footerBlock\" />\n </div>\n <div\n class=\"drawer-children\"\n [attr.data-open]=\"isAnimating() ? 'true' : 'false'\"\n [style.marginRight]=\"responsiveMainMarginRight()\"\n [style.maxHeight]=\"isAnimating() ? '100%' : undefined\"\n [style.overflowY]=\"isAnimating() ? 'auto' : undefined\"\n >\n <ng-container *ngTemplateOutlet=\"drawerContextContent() ?? null\" />\n </div>\n </div>\n }\n\n @if (position() === \"modal\" && shouldRenderModalLayer()) {\n <div class=\"rte-drawer-modal-layer\">\n <div class=\"rte-drawer-backdrop\" [attr.data-open]=\"isAnimating() ? 'true' : 'false'\"></div>\n <div\n #drawerPanelModal\n class=\"drawer\"\n data-drawer-panel\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.data-open]=\"isAnimating() ? 'true' : 'false'\"\n [attr.data-fixed-header]=\"fixedHeader() ? 'true' : 'false'\"\n [attr.aria-labelledby]=\"id() + '-drawer-title'\"\n [style.width]=\"width()\"\n >\n <ng-container *ngTemplateOutlet=\"headerAndContent\" />\n <ng-container *ngTemplateOutlet=\"footerBlock\" />\n </div>\n </div>\n }\n</div>\n\n<ng-template #headerAndContent>\n @if (fixedHeader()) {\n <ng-container *ngTemplateOutlet=\"headerBlock\" />\n <ng-container *ngTemplateOutlet=\"contentBlock\" />\n } @else {\n <div class=\"drawer-header-content\">\n <ng-container *ngTemplateOutlet=\"headerBlock\" />\n <ng-container *ngTemplateOutlet=\"contentBlock\" />\n </div>\n }\n</ng-template>\n\n<ng-template #headerBlock>\n @if (isCollapsible()) {\n <rte-icon-button\n class=\"drawer-toggle\"\n size=\"l\"\n variant=\"primary\"\n [ariaLabel]=\"collapsibleToggleAriaLabel()\"\n [name]=\"collapsibleToggleIconName()\"\n [customStyle]=\"{ transform: collapsibleToggleTransform() }\"\n (clickEvent)=\"onClickToggle()\"\n />\n }\n @if (shouldDisplayDefaultHeader()) {\n <div class=\"rte-drawer-base-header\">\n <div class=\"rte-drawer-base-header-text\">\n @if (icon()) {\n <rte-icon [name]=\"icon() ?? ''\" [size]=\"iconSize()\" [appearance]=\"iconAppearance()\" />\n }\n <h2 id=\"{{ id() }}-drawer-title\" class=\"rte-drawer-base-header-title\">\n {{ title() }}\n </h2>\n @if (isClosable()) {\n <rte-icon-button\n ariaLabel=\"Close drawer {{ id() }}\"\n data-testid=\"drawer-close-button\"\n name=\"close\"\n size=\"l\"\n class=\"rte-drawer-close-icon\"\n variant=\"neutral\"\n (clickEvent)=\"onClose()\"\n />\n }\n </div>\n <rte-divider />\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"drawerHeader() ?? null\" />\n }\n</ng-template>\n\n<ng-template #contentBlock>\n <div class=\"drawer-content\" tabindex=\"-1\" [attr.data-fixed-header]=\"fixedHeader() ? 'true' : 'false'\">\n <ng-container *ngTemplateOutlet=\"drawerContent() ?? null\" />\n </div>\n</ng-template>\n\n<ng-template #footerBlock>\n <div class=\"drawer-footer\" [attr.data-fixed-header]=\"fixedHeader() ? 'true' : 'false'\">\n @if (shouldDisplayDefaultFooter()) {\n <div class=\"rte-drawer-base-footer\">\n @if (secondaryButtonLabel()) {\n <button rteButton rteButtonVariant=\"neutral\">\n {{ secondaryButtonLabel() }}\n </button>\n }\n <button rteButton rteButtonVariant=\"primary\">\n {{ primaryButtonLabel() }}\n </button>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"drawerFooter() ?? null\" />\n }\n </div>\n</ng-template>\n", styles: [":host-context(.rte-drawer-host--responsive-layout){display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:100%;box-sizing:border-box}.rte-drawer-root{position:relative}.rte-drawer-root[data-position=responsive]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;width:100%}.rte-drawer-root[data-position=responsive] .drawer-responsive-container{flex:1 1 auto;min-height:0;height:auto;position:relative;overflow-x:clip}.rte-drawer-modal-host-layer{position:fixed;inset:0;z-index:999;pointer-events:none}.rte-drawer-modal-host-layer .drawer-toggle--floating,.rte-drawer-modal-host-layer .rte-drawer-modal-layer{pointer-events:auto}.rte-drawer-modal-layer{position:fixed;inset:0}.rte-drawer-backdrop{position:absolute;inset:0;opacity:0;background-color:#201f1f80;transition:opacity .24s ease-out}.rte-drawer-backdrop[data-open=true]{opacity:1}.drawer-responsive-divider-wrap{position:absolute;right:0;transition:transform .24s ease-out;height:100%}.drawer{display:flex;height:100%;box-sizing:border-box;min-width:64px;padding:24px;gap:24px;flex-direction:column;align-items:flex-start;transform:translate(100%);transition:transform .24s ease-out;box-shadow:0 4px 8px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-3) 0%,var(--elevation-surface-shadow-3) 100%);background-color:var(--background-default);position:absolute;right:0}.drawer[data-fixed-header=false]{padding:24px 8px 24px 24px}.drawer[data-open=true]{transform:translate(0)}.drawer[data-position=responsive]{width:100%;position:absolute;right:0;box-shadow:none;transition:transform .24s ease-out;flex:0 0 auto;height:100%;max-height:100%;background:transparent}.drawer[data-position=responsive][data-open=true]{transform:none}.drawer .drawer-content{flex:1 1 auto;width:100%}.drawer .drawer-content[data-fixed-header=true]{padding-right:16px;overflow-y:auto}.drawer .drawer-toggle{position:absolute;top:24px;right:0;transition:transform .24s ease-out}.drawer .drawer-toggle:focus-visible{position:absolute}.drawer .drawer-footer{width:100%}.drawer .drawer-footer[data-fixed-header=false]{padding-right:16px;box-sizing:border-box}.drawer .drawer-header-content{display:flex;flex-direction:column;height:100%;gap:24px;overflow-y:auto;padding-right:16px;box-sizing:border-box}.rte-drawer-base-header{display:flex;flex-direction:column;gap:8px;width:100%;flex:0 0 auto}.rte-drawer-base-header .rte-drawer-base-header-text{display:flex;flex-direction:row;align-items:center;gap:8px}.rte-drawer-base-header .rte-drawer-base-header-text .rte-drawer-base-header-title{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:24px;line-height:32px;letter-spacing:-.5px;margin:0;overflow:hidden;color:var(--content-primary);text-overflow:ellipsis;flex:1 1 0}.rte-drawer-base-footer{display:flex;padding:0;justify-content:flex-end;align-items:center;gap:24px;align-self:stretch;flex:0 0 auto;width:100%}.drawer-children{box-sizing:border-box;min-height:0;height:100%;transition:margin-right .24s ease-out}.drawer-toggle--floating,.drawer-toggle--responsive-floating{z-index:1}\n"] }]
159
+ }], ctorParameters: () => [] });
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RyYXdlci9kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJhd2VyL2RyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUVOLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBRU4sU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsY0FBYyxFQUNkLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLGdCQUFnQixHQUVqQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUVsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFVM0UsTUFBTSxPQUFPLGVBQWU7SUF1RTFCO1FBdEVTLE9BQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENB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MEtBLGlyR0RySVksWUFBWSxzTUFBRSxlQUFlLHNOQUFFLGdCQUFnQix3SEFBRSxhQUFhLGlIQUFFLG1CQUFtQjs7NEZBTWxGLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0UsWUFBWSxXQUNiLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUMsY0FDbEYsSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIHVudHJhY2tlZCxcbiAgdmlld0NoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgRFJBV0VSX1BBRERJTkcsXG4gIERSQVdFUl9UUkFOU0lUSU9OX0RVUkFUSU9OLFxuICBzaG91bGRVc2VEcmF3ZXJEZWZhdWx0Rm9vdGVyLFxuICBzaG91bGRVc2VEcmF3ZXJEZWZhdWx0SGVhZGVyLFxuICB3YWl0Rm9yTmV4dEZyYW1lLFxuICBEcmF3ZXJQb3NpdGlvbixcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlXCI7XG5pbXBvcnQgeyBJY29uU2l6ZSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2ljb24vaWNvbi5jb25zdGFudHNcIjtcblxuaW1wb3J0IHsgRm9jdXNUcmFwU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9mb2N1cy10cmFwLnNlcnZpY2VcIjtcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtZHJhd2VyXCIsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbkNvbXBvbmVudCwgRGl2aWRlckNvbXBvbmVudCwgSWNvbkNvbXBvbmVudCwgSWNvbkJ1dHRvbkNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJhd2VyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsOiBcIi4vZHJhd2VyLmNvbXBvbmVudC5zY3NzXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBpZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGljb24gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGljb25BcHBlYXJhbmNlID0gaW5wdXQ8XCJvdXRsaW5lZFwiIHwgXCJmaWxsZWRcIj4oXCJvdXRsaW5lZFwiKTtcbiAgcmVhZG9ubHkgaXNPcGVuID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBwb3NpdGlvbiA9IGlucHV0PERyYXdlclBvc2l0aW9uPihcIm1vZGFsXCIpO1xuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgY2xvc2VPbk92ZXJsYXlDbGljayA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcHJpbWFyeUJ1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBzZWNvbmRhcnlCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaXNDb2xsYXBzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgZml4ZWRIZWFkZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNsb3NlT25Fc2NhcGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGlzQ2xvc2FibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgbW9kYWxIb3N0TW9kZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBkcmF3ZXJDb250ZW50ID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgZHJhd2VySGVhZGVyID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgZHJhd2VyRm9vdGVyID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgZHJhd2VyQ29udGV4dENvbnRlbnQgPSBpbnB1dDxUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGNsb3NlZCA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSBjbGlja1RvZ2dsZSA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IGljb25TaXplID0gc2lnbmFsKEljb25TaXplW1wieGxcIl0pO1xuXG4gIHJlYWRvbmx5IGRyYXdlclBhbmVsTW9kYWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KFwiZHJhd2VyUGFuZWxNb2RhbFwiKTtcbiAgcmVhZG9ubHkgZHJhd2VyUGFuZWxSZXNwb25zaXZlID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihcImRyYXdlclBhbmVsUmVzcG9uc2l2ZVwiKTtcblxuICByZWFkb25seSBpc0FuaW1hdGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3VsZFJlbmRlck1vZGFsTGF5ZXIgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IHNob3VsZERpc3BsYXlEZWZhdWx0SGVhZGVyID0gY29tcHV0ZWQoKCkgPT5cbiAgICBzaG91bGRVc2VEcmF3ZXJEZWZhdWx0SGVhZGVyKCEhdGhpcy5kcmF3ZXJIZWFkZXIoKSwgdGhpcy50aXRsZSgpKSxcbiAgKTtcbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheURlZmF1bHRGb290ZXIgPSBjb21wdXRlZCgoKSA9PlxuICAgIHNob3VsZFVzZURyYXdlckRlZmF1bHRGb290ZXIoISF0aGlzLmRyYXdlckZvb3RlcigpLCB0aGlzLnByaW1hcnlCdXR0b25MYWJlbCgpKSxcbiAgKTtcblxuICByZWFkb25seSBwYW5lbFdpZHRoUHggPSBzaWduYWwoMCk7XG5cbiAgcmVhZG9ubHkgY29sbGFwc2libGVUb2dnbGVUcmFuc2Zvcm0gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgd2lkdGhQeCA9IHRoaXMucGFuZWxXaWR0aFB4KCk7XG4gICAgcmV0dXJuIHRoaXMuaXNBbmltYXRpbmcoKSA/IGB0cmFuc2xhdGVYKC0ke3dpZHRoUHggKyBEUkFXRVJfUEFERElOR31weClgIDogXCJub25lXCI7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJlc3BvbnNpdmVEaXZpZGVyVHJhbnNmb3JtID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHdpZHRoUHggPSB0aGlzLnBhbmVsV2lkdGhQeCgpO1xuICAgIHJldHVybiB0aGlzLmlzQW5pbWF0aW5nKCkgPyBgdHJhbnNsYXRlWCgtJHt3aWR0aFB4fXB4KWAgOiBcIm5vbmVcIjtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZmxvYXRpbmdUb2dnbGVPcGFjaXR5ID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuaXNBbmltYXRpbmcoKSA/IDAgOiAxKSk7XG5cbiAgcmVhZG9ubHkgY29sbGFwc2libGVUb2dnbGVJY29uTmFtZSA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pc09wZW4oKSA/IChcInJpZ2h0LXBhbmVsLWNsb3NlXCIgYXMgY29uc3QpIDogKFwicmlnaHQtcGFuZWwtb3BlblwiIGFzIGNvbnN0KSxcbiAgKTtcblxuICByZWFkb25seSBjb2xsYXBzaWJsZVRvZ2dsZUFyaWFMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB2ZXJiID0gdGhpcy5pc09wZW4oKSA/IFwiQ2xvc2VcIiA6IFwiT3BlblwiO1xuICAgIHJldHVybiBgJHt2ZXJifSBkcmF3ZXIgJHt0aGlzLmlkKCl9YDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcmVzcG9uc2l2ZU1haW5NYXJnaW5SaWdodCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlzQW5pbWF0aW5nKCkgPyAodGhpcy53aWR0aCgpID8/IFwiMFwiKSA6IFwiMFwiKSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmb2N1c1RyYXAgPSBpbmplY3QoRm9jdXNUcmFwU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZm9jdXNUcmFwQWN0aXZlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBvcGVuID0gdGhpcy5pc09wZW4oKTtcbiAgICAgICAgY29uc3QgdXNlc01vZGFsTGF5ZXIgPSB0aGlzLnBvc2l0aW9uKCkgPT09IFwibW9kYWxcIjtcblxuICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRHJhd2VyT3Blbih1c2VzTW9kYWxMYXllcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVEcmF3ZXJDbG9zZSh1c2VzTW9kYWxMYXllcik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcblxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgbW9kYWxQYW5lbCA9IHRoaXMuZHJhd2VyUGFuZWxNb2RhbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCByZXNwb25zaXZlUGFuZWwgPSB0aGlzLmRyYXdlclBhbmVsUmVzcG9uc2l2ZSgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBwYW5lbCA9IG1vZGFsUGFuZWwgPz8gcmVzcG9uc2l2ZVBhbmVsO1xuICAgICAgICBpZiAoIXBhbmVsKSB7XG4gICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxXaWR0aFB4LnNldChwYW5lbC5jbGllbnRXaWR0aCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHBhbmVsKTtcbiAgICAgICAgICB0aGlzLnBhbmVsV2lkdGhQeC5zZXQocGFuZWwuY2xpZW50V2lkdGgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcblxuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgaWYgKHRoaXMuZm9jdXNUcmFwQWN0aXZlKSB7XG4gICAgICAgIHRoaXMuZm9jdXNUcmFwLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5mb2N1c1RyYXBBY3RpdmUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVGb2N1c1RyYXBGb3JQYW5lbChyZXNvbHZlUGFuZWw6ICgpID0+IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBwYW5lbEVsZW1lbnQgPSByZXNvbHZlUGFuZWwoKTtcbiAgICAgICAgaWYgKHBhbmVsRWxlbWVudCAmJiAhdGhpcy5mb2N1c1RyYXBBY3RpdmUpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzVHJhcC5hY3RpdmF0ZShwYW5lbEVsZW1lbnQpO1xuICAgICAgICAgIHRoaXMuZm9jdXNUcmFwQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEcmF3ZXJPcGVuKHVzZXNNb2RhbExheWVyOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHVzZXNNb2RhbExheWVyKSB7XG4gICAgICB0aGlzLnNob3VsZFJlbmRlck1vZGFsTGF5ZXIuc2V0KHRydWUpO1xuICAgIH1cbiAgICB0aGlzLmlzQW5pbWF0aW5nLnNldChmYWxzZSk7XG4gICAgY29uc3QgcmVzb2x2ZVBhbmVsID0gKCkgPT4ge1xuICAgICAgaWYgKHVzZXNNb2RhbExheWVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyYXdlclBhbmVsTW9kYWwoKT8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLmRyYXdlclBhbmVsUmVzcG9uc2l2ZSgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZHJhd2VyUGFuZWxSZXNwb25zaXZlKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfTtcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgd2FpdEZvck5leHRGcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLmFjdGl2YXRlRm9jdXNUcmFwRm9yUGFuZWwocmVzb2x2ZVBhbmVsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEcmF3ZXJDbG9zZSh1c2VzTW9kYWxMYXllcjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNBbmltYXRpbmcuc2V0KGZhbHNlKTtcbiAgICBpZiAodGhpcy5mb2N1c1RyYXBBY3RpdmUpIHtcbiAgICAgIHRoaXMuZm9jdXNUcmFwLmRlYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuZm9jdXNUcmFwQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh1c2VzTW9kYWxMYXllciAmJiB0aGlzLnNob3VsZFJlbmRlck1vZGFsTGF5ZXIoKSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2hvdWxkUmVuZGVyTW9kYWxMYXllci5zZXQoZmFsc2UpO1xuICAgICAgfSwgRFJBV0VSX1RSQU5TSVRJT05fRFVSQVRJT04pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xuICB9XG5cbiAgb25DbGlja1RvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrVG9nZ2xlLmVtaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICBpZiAodGhpcy5mb2N1c1RyYXBBY3RpdmUpIHtcbiAgICAgIHRoaXMuZm9jdXNUcmFwLmRlYWN0aXZhdGUoKTtcbiAgICAgIHRoaXMuZm9jdXNUcmFwQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRlLWRyYXdlci1yb290XCIgW2NsYXNzLnJ0ZS1kcmF3ZXItbW9kYWwtaG9zdC1sYXllcl09XCJtb2RhbEhvc3RNb2RlKClcIiBbYXR0ci5kYXRhLXBvc2l0aW9uXT1cInBvc2l0aW9uKClcIj5cbiAgQGlmIChpc0NvbGxhcHNpYmxlKCkpIHtcbiAgICA8cnRlLWljb24tYnV0dG9uXG4gICAgICBjbGFzcz1cImRyYXdlci10b2dnbGUgZHJhd2VyLXRvZ2dsZS0tZmxvYXRpbmdcIlxuICAgICAgc2l6ZT1cImxcIlxuICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgW2FyaWFMYWJlbF09XCJjb2xsYXBzaWJsZVRvZ2dsZUFyaWFMYWJlbCgpXCJcbiAgICAgIFtuYW1lXT1cImNvbGxhcHNpYmxlVG9nZ2xlSWNvbk5hbWUoKVwiXG4gICAgICBbY3VzdG9tU3R5bGVdPVwie1xuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgdG9wOiAnMjRweCcsXG4gICAgICAgIHJpZ2h0OiAnNHB4JyxcbiAgICAgICAgb3BhY2l0eTogZmxvYXRpbmdUb2dnbGVPcGFjaXR5KCkudG9TdHJpbmcoKSxcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrRXZlbnQpPVwib25DbGlja1RvZ2dsZSgpXCJcbiAgICAvPlxuICB9XG5cbiAgQGlmIChwb3NpdGlvbigpID09PSBcInJlc3BvbnNpdmVcIikge1xuICAgIDxkaXYgY2xhc3M9XCJkcmF3ZXItcmVzcG9uc2l2ZS1jb250YWluZXJcIj5cbiAgICAgIEBpZiAoaXNDb2xsYXBzaWJsZSgpKSB7XG4gICAgICAgIDxydGUtaWNvbi1idXR0b25cbiAgICAgICAgICBjbGFzcz1cImRyYXdlci10b2dnbGUgZHJhd2VyLXRvZ2dsZS0tcmVzcG9uc2l2ZS1mbG9hdGluZ1wiXG4gICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICBbYXJpYUxhYmVsXT1cImNvbGxhcHNpYmxlVG9nZ2xlQXJpYUxhYmVsKClcIlxuICAgICAgICAgIFtuYW1lXT1cImNvbGxhcHNpYmxlVG9nZ2xlSWNvbk5hbWUoKVwiXG4gICAgICAgICAgW2N1c3RvbVN0eWxlXT1cIntcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiAnMjRweCcsXG4gICAgICAgICAgICByaWdodDogJzRweCcsXG4gICAgICAgICAgICBvcGFjaXR5OiBpc0FuaW1hdGluZygpID8gJzAnIDogJzEnLFxuICAgICAgICAgICAgdHJhbnNmb3JtOiBjb2xsYXBzaWJsZVRvZ2dsZVRyYW5zZm9ybSgpLFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGlja0V2ZW50KT1cIm9uQ2xpY2tUb2dnbGUoKVwiXG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZHJhd2VyLXJlc3BvbnNpdmUtZGl2aWRlci13cmFwXCJcbiAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNBbmltYXRpbmcoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCJcbiAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJyZXNwb25zaXZlRGl2aWRlclRyYW5zZm9ybSgpXCJcbiAgICAgID5cbiAgICAgICAgPHJ0ZS1kaXZpZGVyIG9yaWVudGF0aW9uPVwidmVydGljYWxcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICNkcmF3ZXJQYW5lbFJlc3BvbnNpdmVcbiAgICAgICAgY2xhc3M9XCJkcmF3ZXJcIlxuICAgICAgICBkYXRhLWRyYXdlci1wYW5lbFxuICAgICAgICBkYXRhLXRlc3RpZD1cImRyYXdlci1yZXNwb25zaXZlLXBhbmVsXCJcbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgIFthdHRyLmRhdGEtb3Blbl09XCJpc0FuaW1hdGluZygpID8gJ3RydWUnIDogJ2ZhbHNlJ1wiXG4gICAgICAgIFthdHRyLmRhdGEtcG9zaXRpb25dPVwicG9zaXRpb24oKVwiXG4gICAgICAgIFthdHRyLmRhdGEtZml4ZWQtaGVhZGVyXT1cImZpeGVkSGVhZGVyKCkgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkKCkgKyAnLWRyYXdlci10aXRsZSdcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiXG4gICAgICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiaXNBbmltYXRpbmcoKSA/ICdub25lJyA6ICd0cmFuc2xhdGVYKCcgKyAod2lkdGgoKSA/PyAnMTAwJScpICsgJyknXCJcbiAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNBbmltYXRpbmcoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlckFuZENvbnRlbnRcIiAvPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyQmxvY2tcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZHJhd2VyLWNoaWxkcmVuXCJcbiAgICAgICAgW2F0dHIuZGF0YS1vcGVuXT1cImlzQW5pbWF0aW5nKCkgPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgICAgW3N0eWxlLm1hcmdpblJpZ2h0XT1cInJlc3BvbnNpdmVNYWluTWFyZ2luUmlnaHQoKVwiXG4gICAgICAgIFtzdHlsZS5tYXhIZWlnaHRdPVwiaXNBbmltYXRpbmcoKSA/ICcxMDAlJyA6IHVuZGVmaW5lZFwiXG4gICAgICAgIFtzdHlsZS5vdmVyZmxvd1ldPVwiaXNBbmltYXRpbmcoKSA/ICdhdXRvJyA6IHVuZGVmaW5lZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcmF3ZXJDb250ZXh0Q29udGVudCgpID8/IG51bGxcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKHBvc2l0aW9uKCkgPT09IFwibW9kYWxcIiAmJiBzaG91bGRSZW5kZXJNb2RhbExheWVyKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwicnRlLWRyYXdlci1tb2RhbC1sYXllclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJ0ZS1kcmF3ZXItYmFja2Ryb3BcIiBbYXR0ci5kYXRhLW9wZW5dPVwiaXNBbmltYXRpbmcoKSA/ICd0cnVlJyA6ICdmYWxzZSdcIj48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgI2RyYXdlclBhbmVsTW9kYWxcbiAgICAgICAgY2xhc3M9XCJkcmF3ZXJcIlxuICAgICAgICBkYXRhLWRyYXdlci1wYW5lbFxuICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICBbYXR0ci5kYXRhLW9wZW5dPVwiaXNBbmltYXRpbmcoKSA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgICBbYXR0ci5kYXRhLWZpeGVkLWhlYWRlcl09XCJmaXhlZEhlYWRlcigpID8gJ3RydWUnIDogJ2ZhbHNlJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpZCgpICsgJy1kcmF3ZXItdGl0bGUnXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoKClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyQW5kQ29udGVudFwiIC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJCbG9ja1wiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyQW5kQ29udGVudD5cbiAgQGlmIChmaXhlZEhlYWRlcigpKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlckJsb2NrXCIgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudEJsb2NrXCIgLz5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImRyYXdlci1oZWFkZXItY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlckJsb2NrXCIgLz5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50QmxvY2tcIiAvPlxuICAgIDwvZGl2PlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2hlYWRlckJsb2NrPlxuICBAaWYgKGlzQ29sbGFwc2libGUoKSkge1xuICAgIDxydGUtaWNvbi1idXR0b25cbiAgICAgIGNsYXNzPVwiZHJhd2VyLXRvZ2dsZVwiXG4gICAgICBzaXplPVwibFwiXG4gICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICBbYXJpYUxhYmVsXT1cImNvbGxhcHNpYmxlVG9nZ2xlQXJpYUxhYmVsKClcIlxuICAgICAgW25hbWVdPVwiY29sbGFwc2libGVUb2dnbGVJY29uTmFtZSgpXCJcbiAgICAgIFtjdXN0b21TdHlsZV09XCJ7IHRyYW5zZm9ybTogY29sbGFwc2libGVUb2dnbGVUcmFuc2Zvcm0oKSB9XCJcbiAgICAgIChjbGlja0V2ZW50KT1cIm9uQ2xpY2tUb2dnbGUoKVwiXG4gICAgLz5cbiAgfVxuICBAaWYgKHNob3VsZERpc3BsYXlEZWZhdWx0SGVhZGVyKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwicnRlLWRyYXdlci1iYXNlLWhlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJ0ZS1kcmF3ZXItYmFzZS1oZWFkZXItdGV4dFwiPlxuICAgICAgICBAaWYgKGljb24oKSkge1xuICAgICAgICAgIDxydGUtaWNvbiBbbmFtZV09XCJpY29uKCkgPz8gJydcIiBbc2l6ZV09XCJpY29uU2l6ZSgpXCIgW2FwcGVhcmFuY2VdPVwiaWNvbkFwcGVhcmFuY2UoKVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPGgyIGlkPVwie3sgaWQoKSB9fS1kcmF3ZXItdGl0bGVcIiBjbGFzcz1cInJ0ZS1kcmF3ZXItYmFzZS1oZWFkZXItdGl0bGVcIj5cbiAgICAgICAgICB7eyB0aXRsZSgpIH19XG4gICAgICAgIDwvaDI+XG4gICAgICAgIEBpZiAoaXNDbG9zYWJsZSgpKSB7XG4gICAgICAgICAgPHJ0ZS1pY29uLWJ1dHRvblxuICAgICAgICAgICAgYXJpYUxhYmVsPVwiQ2xvc2UgZHJhd2VyIHt7IGlkKCkgfX1cIlxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJkcmF3ZXItY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJjbG9zZVwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cInJ0ZS1kcmF3ZXItY2xvc2UtaWNvblwiXG4gICAgICAgICAgICB2YXJpYW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAoY2xpY2tFdmVudCk9XCJvbkNsb3NlKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPHJ0ZS1kaXZpZGVyIC8+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcmF3ZXJIZWFkZXIoKSA/PyBudWxsXCIgLz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50QmxvY2s+XG4gIDxkaXYgY2xhc3M9XCJkcmF3ZXItY29udGVudFwiIHRhYmluZGV4PVwiLTFcIiBbYXR0ci5kYXRhLWZpeGVkLWhlYWRlcl09XCJmaXhlZEhlYWRlcigpID8gJ3RydWUnIDogJ2ZhbHNlJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcmF3ZXJDb250ZW50KCkgPz8gbnVsbFwiIC8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb290ZXJCbG9jaz5cbiAgPGRpdiBjbGFzcz1cImRyYXdlci1mb290ZXJcIiBbYXR0ci5kYXRhLWZpeGVkLWhlYWRlcl09XCJmaXhlZEhlYWRlcigpID8gJ3RydWUnIDogJ2ZhbHNlJ1wiPlxuICAgIEBpZiAoc2hvdWxkRGlzcGxheURlZmF1bHRGb290ZXIoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInJ0ZS1kcmF3ZXItYmFzZS1mb290ZXJcIj5cbiAgICAgICAgQGlmIChzZWNvbmRhcnlCdXR0b25MYWJlbCgpKSB7XG4gICAgICAgICAgPGJ1dHRvbiBydGVCdXR0b24gcnRlQnV0dG9uVmFyaWFudD1cIm5ldXRyYWxcIj5cbiAgICAgICAgICAgIHt7IHNlY29uZGFyeUJ1dHRvbkxhYmVsKCkgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICA8YnV0dG9uIHJ0ZUJ1dHRvbiBydGVCdXR0b25WYXJpYW50PVwicHJpbWFyeVwiPlxuICAgICAgICAgIHt7IHByaW1hcnlCdXR0b25MYWJlbCgpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJhd2VyRm9vdGVyKCkgPz8gbnVsbFwiIC8+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=