@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.
- package/esm2022/lib/components/accordion/accordion.component.mjs +94 -0
- package/esm2022/lib/components/avatar/assets/status/status.component.mjs +15 -0
- package/esm2022/lib/components/avatar/avatar.component.mjs +52 -0
- package/esm2022/lib/components/banner/banner.component.mjs +1 -1
- package/esm2022/lib/components/button/button.component.mjs +9 -3
- package/esm2022/lib/components/card/card.component.mjs +5 -6
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +4 -3
- package/esm2022/lib/components/checkbox-group/checkbox-group.component.mjs +1 -1
- package/esm2022/lib/components/drawer/drawer-trigger/drawer-trigger.directive.mjs +33 -0
- package/esm2022/lib/components/drawer/drawer.component.mjs +160 -0
- package/esm2022/lib/components/drawer/drawer.directive.mjs +302 -0
- package/esm2022/lib/components/drawer/drawer.module.mjs +17 -0
- package/esm2022/lib/components/dropdown/dropdown-item/dropdown-item.component.mjs +1 -1
- package/esm2022/lib/components/icon/icon-map.mjs +119 -112
- package/esm2022/lib/components/icon/icon.component.mjs +9 -10
- package/esm2022/lib/components/popover/popover.component.mjs +1 -1
- package/esm2022/lib/components/toast/toast.component.mjs +1 -1
- package/esm2022/lib/components/treeview/index.mjs +4 -0
- package/esm2022/lib/components/treeview/treeview-check.service.mjs +24 -0
- package/esm2022/lib/components/treeview/treeview-item/treeview-item-border/treeview-item-border.component.mjs +20 -0
- package/esm2022/lib/components/treeview/treeview-item/treeview-item.component.mjs +227 -0
- package/esm2022/lib/components/treeview/treeview-keyboard.service.mjs +80 -0
- package/esm2022/lib/components/treeview/treeview-selection.service.mjs +23 -0
- package/esm2022/lib/components/treeview/treeview.component.mjs +89 -0
- package/esm2022/public-api.mjs +8 -1
- package/fesm2022/design-system-rte-angular.mjs +1338 -261
- package/fesm2022/design-system-rte-angular.mjs.map +1 -1
- package/lib/assets/icons/add.svg +3 -0
- package/lib/assets/icons/add_circle_filled.svg +3 -0
- package/lib/assets/icons/add_circle_outlined.svg +3 -0
- package/lib/assets/icons/admin_panel_settings_filled.svg +3 -0
- package/lib/assets/icons/admin_panel_settings_outlined.svg +3 -0
- package/lib/assets/icons/alt_route.svg +3 -0
- package/lib/assets/icons/analytics_filled.svg +3 -0
- package/lib/assets/icons/analytics_outlined.svg +3 -0
- package/lib/assets/icons/apps.svg +3 -0
- package/lib/assets/icons/archive_filled.svg +3 -0
- package/lib/assets/icons/archive_outlined.svg +3 -0
- package/lib/assets/icons/arrow_alt_down.svg +3 -0
- package/lib/assets/icons/arrow_alt_down_left.svg +3 -0
- package/lib/assets/icons/arrow_alt_down_right.svg +3 -0
- package/lib/assets/icons/arrow_alt_left.svg +3 -0
- package/lib/assets/icons/arrow_alt_right.svg +3 -0
- package/lib/assets/icons/arrow_alt_up.svg +3 -0
- package/lib/assets/icons/arrow_alt_up_left.svg +3 -0
- package/lib/assets/icons/arrow_alt_up_right.svg +3 -0
- package/lib/assets/icons/arrow_angle_down_left.svg +3 -0
- package/lib/assets/icons/arrow_angle_down_right.svg +3 -0
- package/lib/assets/icons/arrow_angle_up_left.svg +3 -0
- package/lib/assets/icons/arrow_angle_up_right.svg +3 -0
- package/lib/assets/icons/arrow_chevron_down.svg +3 -0
- package/lib/assets/icons/arrow_chevron_left.svg +3 -0
- package/lib/assets/icons/arrow_chevron_right.svg +3 -0
- package/lib/assets/icons/arrow_chevron_up.svg +3 -0
- package/lib/assets/icons/arrow_circle_chevron_down_filled.svg +3 -0
- package/lib/assets/icons/arrow_circle_chevron_down_outlined.svg +3 -0
- package/lib/assets/icons/arrow_circle_chevron_left_filled.svg +3 -0
- package/lib/assets/icons/arrow_circle_chevron_left_outlined.svg +3 -0
- package/lib/assets/icons/arrow_circle_chevron_right_filled.svg +3 -0
- package/lib/assets/icons/arrow_circle_chevron_right_outlined.svg +3 -0
- package/lib/assets/icons/arrow_circle_chevron_up_filled.svg +3 -0
- package/lib/assets/icons/arrow_circle_chevron_up_outlined.svg +3 -0
- package/lib/assets/icons/arrow_circle_down_filled.svg +3 -0
- package/lib/assets/icons/arrow_circle_down_outlined.svg +3 -0
- package/lib/assets/icons/arrow_circle_left_filled.svg +3 -0
- package/lib/assets/icons/arrow_circle_left_outlined.svg +3 -0
- package/lib/assets/icons/arrow_circle_right_filled.svg +3 -0
- package/lib/assets/icons/arrow_circle_right_outlined.svg +3 -0
- package/lib/assets/icons/arrow_circle_up_filled.svg +3 -0
- package/lib/assets/icons/arrow_circle_up_outlined.svg +3 -0
- package/lib/assets/icons/arrow_compare.svg +3 -0
- package/lib/assets/icons/arrow_double_down.svg +3 -0
- package/lib/assets/icons/arrow_double_left.svg +3 -0
- package/lib/assets/icons/arrow_double_right.svg +3 -0
- package/lib/assets/icons/arrow_double_up.svg +3 -0
- package/lib/assets/icons/arrow_down.svg +3 -0
- package/lib/assets/icons/arrow_down_left.svg +3 -0
- package/lib/assets/icons/arrow_down_right.svg +3 -0
- package/lib/assets/icons/arrow_drop_down.svg +3 -0
- package/lib/assets/icons/arrow_drop_up.svg +3 -0
- package/lib/assets/icons/arrow_left.svg +3 -0
- package/lib/assets/icons/arrow_right.svg +3 -0
- package/lib/assets/icons/arrow_up.svg +3 -0
- package/lib/assets/icons/arrow_up_left.svg +3 -0
- package/lib/assets/icons/arrow_up_right.svg +3 -0
- package/lib/assets/icons/article_filled.svg +3 -0
- package/lib/assets/icons/article_outlined.svg +3 -0
- package/lib/assets/icons/assignment_complete_filled.svg +3 -0
- package/lib/assets/icons/assignment_complete_outlined.svg +3 -0
- package/lib/assets/icons/assignment_filled.svg +3 -0
- package/lib/assets/icons/assignment_outlined.svg +3 -0
- package/lib/assets/icons/asterisk.svg +3 -0
- package/lib/assets/icons/attach_file.svg +3 -0
- package/lib/assets/icons/battery_alert_filled.svg +3 -0
- package/lib/assets/icons/battery_alert_outlined.svg +3 -0
- package/lib/assets/icons/battery_alt_empty.svg +3 -0
- package/lib/assets/icons/battery_alt_full.svg +3 -0
- package/lib/assets/icons/battery_charging.svg +3 -0
- package/lib/assets/icons/battery_charging_full_filled.svg +3 -0
- package/lib/assets/icons/battery_charging_full_outlined.svg +3 -0
- package/lib/assets/icons/battery_empty.svg +3 -0
- package/lib/assets/icons/battery_full.svg +3 -0
- package/lib/assets/icons/bluetooth.svg +3 -0
- package/lib/assets/icons/bluetooth_off.svg +3 -0
- package/lib/assets/icons/bolt_alt_circle_filled.svg +3 -0
- package/lib/assets/icons/bolt_alt_circle_outlined.svg +3 -0
- package/lib/assets/icons/bolt_alt_filled.svg +3 -0
- package/lib/assets/icons/bolt_alt_outlined.svg +3 -0
- package/lib/assets/icons/bolt_circle_filled.svg +3 -0
- package/lib/assets/icons/bolt_circle_outlined.svg +3 -0
- package/lib/assets/icons/bolt_filled.svg +3 -0
- package/lib/assets/icons/bolt_outlined.svg +3 -0
- package/lib/assets/icons/bookmark_filled.svg +3 -0
- package/lib/assets/icons/bookmark_outlined.svg +3 -0
- package/lib/assets/icons/bookmarks_filled.svg +3 -0
- package/lib/assets/icons/bookmarks_outlined.svg +3 -0
- package/lib/assets/icons/build_filled.svg +3 -0
- package/lib/assets/icons/build_outlined.svg +3 -0
- package/lib/assets/icons/calendar_available_filled.svg +3 -0
- package/lib/assets/icons/calendar_available_outlined.svg +3 -0
- package/lib/assets/icons/calendar_busy_filled.svg +3 -0
- package/lib/assets/icons/calendar_busy_outlined.svg +3 -0
- package/lib/assets/icons/calendar_month_filled.svg +3 -0
- package/lib/assets/icons/calendar_month_outlined.svg +3 -0
- package/lib/assets/icons/calendar_today_filled.svg +3 -0
- package/lib/assets/icons/calendar_today_outlined.svg +3 -0
- package/lib/assets/icons/call_filled.svg +3 -0
- package/lib/assets/icons/call_outlined.svg +3 -0
- package/lib/assets/icons/cancel_filled.svg +3 -0
- package/lib/assets/icons/cancel_outlined.svg +3 -0
- package/lib/assets/icons/category_filled.svg +3 -0
- package/lib/assets/icons/category_outlined.svg +3 -0
- package/lib/assets/icons/chart_add_filled.svg +3 -0
- package/lib/assets/icons/chart_add_outlined.svg +3 -0
- package/lib/assets/icons/chart_area_filled.svg +3 -0
- package/lib/assets/icons/chart_area_outlined.svg +3 -0
- package/lib/assets/icons/chart_bar.svg +3 -0
- package/lib/assets/icons/chart_bar_stacked.svg +3 -0
- package/lib/assets/icons/chart_pie_filled.svg +3 -0
- package/lib/assets/icons/chart_pie_outlined.svg +3 -0
- package/lib/assets/icons/chart_table_filled.svg +3 -0
- package/lib/assets/icons/chart_table_outlined.svg +3 -0
- package/lib/assets/icons/chat_alt_filled.svg +3 -0
- package/lib/assets/icons/chat_alt_outlined.svg +3 -0
- package/lib/assets/icons/chat_alt_unread_filled.svg +3 -0
- package/lib/assets/icons/chat_alt_unread_outlined.svg +3 -0
- package/lib/assets/icons/chat_filled.svg +3 -0
- package/lib/assets/icons/chat_outlined.svg +3 -0
- package/lib/assets/icons/chat_unread_filled.svg +3 -0
- package/lib/assets/icons/chat_unread_outlined.svg +3 -0
- package/lib/assets/icons/check.svg +3 -0
- package/lib/assets/icons/check_circle_filled.svg +3 -0
- package/lib/assets/icons/check_circle_outlined.svg +3 -0
- package/lib/assets/icons/check_indeterminate.svg +3 -0
- package/lib/assets/icons/check_small.svg +3 -0
- package/lib/assets/icons/checkbox_empty.svg +3 -0
- package/lib/assets/icons/checkbox_filled.svg +3 -0
- package/lib/assets/icons/checkbox_indeterminate_filled.svg +3 -0
- package/lib/assets/icons/checkbox_indeterminate_outlined.svg +3 -0
- package/lib/assets/icons/checkbox_outlined.svg +3 -0
- package/lib/assets/icons/clock_filled.svg +3 -0
- package/lib/assets/icons/clock_outlined.svg +3 -0
- package/lib/assets/icons/close.svg +3 -0
- package/lib/assets/icons/cloud_download_filled.svg +3 -0
- package/lib/assets/icons/cloud_download_outlined.svg +3 -0
- package/lib/assets/icons/cloud_filled.svg +3 -0
- package/lib/assets/icons/cloud_off_filled.svg +3 -0
- package/lib/assets/icons/cloud_off_outlined.svg +3 -0
- package/lib/assets/icons/cloud_outlined.svg +3 -0
- package/lib/assets/icons/cloud_upload_filled.svg +3 -0
- package/lib/assets/icons/cloud_upload_outlined.svg +3 -0
- package/lib/assets/icons/comment_add_filled.svg +3 -0
- package/lib/assets/icons/comment_add_outlined.svg +3 -0
- package/lib/assets/icons/comment_filled.svg +3 -0
- package/lib/assets/icons/comment_outlined.svg +3 -0
- package/lib/assets/icons/company.svg +3 -0
- package/lib/assets/icons/compare.svg +3 -0
- package/lib/assets/icons/contact_filled.svg +3 -0
- package/lib/assets/icons/contact_outlined.svg +3 -0
- package/lib/assets/icons/copy_all.svg +3 -0
- package/lib/assets/icons/copy_filled.svg +3 -0
- package/lib/assets/icons/copy_outlined.svg +3 -0
- package/lib/assets/icons/crisis_alert.svg +3 -0
- package/lib/assets/icons/cut.svg +3 -0
- package/lib/assets/icons/dangerous_filled.svg +3 -0
- package/lib/assets/icons/dangerous_outlined.svg +3 -0
- package/lib/assets/icons/dashboard_filled.svg +3 -0
- package/lib/assets/icons/dashboard_outlined.svg +3 -0
- package/lib/assets/icons/database_filled.svg +3 -0
- package/lib/assets/icons/database_outlined.svg +3 -0
- package/lib/assets/icons/delete_filled.svg +3 -0
- package/lib/assets/icons/delete_outlined.svg +3 -0
- package/lib/assets/icons/desktop_filled.svg +3 -0
- package/lib/assets/icons/desktop_outlined.svg +3 -0
- package/lib/assets/icons/devices_filled.svg +3 -0
- package/lib/assets/icons/devices_outlined.svg +3 -0
- package/lib/assets/icons/download.svg +3 -0
- package/lib/assets/icons/download_done.svg +3 -0
- package/lib/assets/icons/draft_filled.svg +3 -0
- package/lib/assets/icons/draft_outlined.svg +3 -0
- package/lib/assets/icons/drag_handle.svg +3 -0
- package/lib/assets/icons/drag_indicator.svg +3 -0
- package/lib/assets/icons/eco_filled.svg +3 -0
- package/lib/assets/icons/eco_outlined.svg +3 -0
- package/lib/assets/icons/edit_filled.svg +3 -0
- package/lib/assets/icons/edit_outlined.svg +3 -0
- package/lib/assets/icons/electric_meter_filled.svg +3 -0
- package/lib/assets/icons/electric_meter_outlined.svg +3 -0
- package/lib/assets/icons/error_filled.svg +3 -0
- package/lib/assets/icons/error_outlined.svg +3 -0
- package/lib/assets/icons/exclamation.svg +3 -0
- package/lib/assets/icons/explore_filled.svg +3 -0
- package/lib/assets/icons/explore_off_filled.svg +3 -0
- package/lib/assets/icons/explore_off_outlined.svg +3 -0
- package/lib/assets/icons/explore_outlined.svg +3 -0
- package/lib/assets/icons/explore_travel.svg +3 -0
- package/lib/assets/icons/export_xls_filled.svg +3 -0
- package/lib/assets/icons/export_xls_outlined.svg +6 -0
- package/lib/assets/icons/external_link.svg +3 -0
- package/lib/assets/icons/fast_forward_filled.svg +3 -0
- package/lib/assets/icons/fast_forward_outlined.svg +3 -0
- package/lib/assets/icons/fast_rewind_filled.svg +3 -0
- package/lib/assets/icons/fast_rewind_outlined.svg +3 -0
- package/lib/assets/icons/feedback_filled.svg +3 -0
- package/lib/assets/icons/feedback_outlined.svg +3 -0
- package/lib/assets/icons/file_copy_filled.svg +3 -0
- package/lib/assets/icons/file_copy_outlined.svg +3 -0
- package/lib/assets/icons/file_download_filled.svg +3 -0
- package/lib/assets/icons/file_download_outlined.svg +3 -0
- package/lib/assets/icons/file_upload_filled.svg +3 -0
- package/lib/assets/icons/file_upload_outlined.svg +3 -0
- package/lib/assets/icons/filter.svg +3 -0
- package/lib/assets/icons/filter_alt_filled.svg +3 -0
- package/lib/assets/icons/filter_alt_off_filled.svg +3 -0
- package/lib/assets/icons/filter_alt_off_outlined.svg +3 -0
- package/lib/assets/icons/filter_alt_outlined.svg +3 -0
- package/lib/assets/icons/filter_off.svg +3 -0
- package/lib/assets/icons/fire_filled.svg +3 -0
- package/lib/assets/icons/fire_outlined.svg +3 -0
- package/lib/assets/icons/first_page.svg +3 -0
- package/lib/assets/icons/fit_screen_filled.svg +3 -0
- package/lib/assets/icons/fit_screen_outlined.svg +3 -0
- package/lib/assets/icons/flag_filled.svg +3 -0
- package/lib/assets/icons/flag_outlined.svg +3 -0
- package/lib/assets/icons/flash_filled.svg +3 -0
- package/lib/assets/icons/flash_off_filled.svg +3 -0
- package/lib/assets/icons/flash_off_outlined.svg +3 -0
- package/lib/assets/icons/flash_outlined.svg +3 -0
- package/lib/assets/icons/folder_add_filled.svg +3 -0
- package/lib/assets/icons/folder_add_outlined.svg +3 -0
- package/lib/assets/icons/folder_filled.svg +3 -0
- package/lib/assets/icons/folder_move_filled.svg +3 -0
- package/lib/assets/icons/folder_move_outlined.svg +3 -0
- package/lib/assets/icons/folder_open_filled.svg +3 -0
- package/lib/assets/icons/folder_open_outlined.svg +3 -0
- package/lib/assets/icons/folder_outlined.svg +3 -0
- package/lib/assets/icons/folder_shared_filled.svg +3 -0
- package/lib/assets/icons/folder_shared_outlined.svg +3 -0
- package/lib/assets/icons/forum_filled.svg +3 -0
- package/lib/assets/icons/forum_outlined.svg +3 -0
- package/lib/assets/icons/forward.svg +3 -0
- package/lib/assets/icons/fullscreen.svg +3 -0
- package/lib/assets/icons/fullscreen_exit.svg +3 -0
- package/lib/assets/icons/group_add_filled.svg +3 -0
- package/lib/assets/icons/group_add_outlined.svg +3 -0
- package/lib/assets/icons/group_filled.svg +3 -0
- package/lib/assets/icons/group_outlined.svg +3 -0
- package/lib/assets/icons/groups_filled.svg +3 -0
- package/lib/assets/icons/groups_outlined.svg +3 -0
- package/lib/assets/icons/handshake_filled.svg +3 -0
- package/lib/assets/icons/handshake_outlined.svg +3 -0
- package/lib/assets/icons/headphones_filled.svg +3 -0
- package/lib/assets/icons/headphones_outlined.svg +3 -0
- package/lib/assets/icons/heart_filled.svg +3 -0
- package/lib/assets/icons/heart_outlined.svg +3 -0
- package/lib/assets/icons/help_filled.svg +3 -0
- package/lib/assets/icons/help_outlined.svg +3 -0
- package/lib/assets/icons/history.svg +3 -0
- package/lib/assets/icons/home_filled.svg +3 -0
- package/lib/assets/icons/home_outlined.svg +3 -0
- package/lib/assets/icons/hourglass_empty.svg +3 -0
- package/lib/assets/icons/hourglass_filled.svg +3 -0
- package/lib/assets/icons/hourglass_outlined.svg +3 -0
- package/lib/assets/icons/image_broken_filled.svg +3 -0
- package/lib/assets/icons/image_broken_outlined.svg +3 -0
- package/lib/assets/icons/image_filled.svg +3 -0
- package/lib/assets/icons/image_gallery_filled.svg +3 -0
- package/lib/assets/icons/image_gallery_outlined.svg +3 -0
- package/lib/assets/icons/image_outlined.svg +3 -0
- package/lib/assets/icons/inbox_filled.svg +3 -0
- package/lib/assets/icons/inbox_outlined.svg +3 -0
- package/lib/assets/icons/info_filled.svg +3 -0
- package/lib/assets/icons/info_i.svg +3 -0
- package/lib/assets/icons/info_outlined.svg +3 -0
- package/lib/assets/icons/keep_filled.svg +3 -0
- package/lib/assets/icons/keep_off_filled.svg +3 -0
- package/lib/assets/icons/keep_off_outlined.svg +3 -0
- package/lib/assets/icons/keep_outlined.svg +3 -0
- package/lib/assets/icons/label_filled.svg +3 -0
- package/lib/assets/icons/label_outlined.svg +3 -0
- package/lib/assets/icons/language.svg +3 -0
- package/lib/assets/icons/laptop_filled.svg +3 -0
- package/lib/assets/icons/laptop_outlined.svg +3 -0
- package/lib/assets/icons/last_page.svg +3 -0
- package/lib/assets/icons/left_panel_close_filled.svg +3 -0
- package/lib/assets/icons/left_panel_close_outlined.svg +3 -0
- package/lib/assets/icons/left_panel_open_filled.svg +3 -0
- package/lib/assets/icons/left_panel_open_outlined.svg +3 -0
- package/lib/assets/icons/light_off_filled.svg +3 -0
- package/lib/assets/icons/light_off_outlined.svg +3 -0
- package/lib/assets/icons/lightbulb_alt_filled.svg +3 -0
- package/lib/assets/icons/lightbulb_alt_outlined.svg +3 -0
- package/lib/assets/icons/lightbulb_circle_filled.svg +3 -0
- package/lib/assets/icons/lightbulb_circle_outlined.svg +3 -0
- package/lib/assets/icons/lightbulb_filled.svg +3 -0
- package/lib/assets/icons/lightbulb_outlined.svg +3 -0
- package/lib/assets/icons/link.svg +3 -0
- package/lib/assets/icons/link_off.svg +3 -0
- package/lib/assets/icons/list.svg +3 -0
- package/lib/assets/icons/list_alt_filled.svg +3 -0
- package/lib/assets/icons/list_alt_outlined.svg +3 -0
- package/lib/assets/icons/location_disabled.svg +10 -0
- package/lib/assets/icons/location_me_filled.svg +3 -0
- package/lib/assets/icons/location_me_outlined.svg +3 -0
- package/lib/assets/icons/location_off_filled.svg +3 -0
- package/lib/assets/icons/location_off_outlined.svg +3 -0
- package/lib/assets/icons/location_on_filled.svg +3 -0
- package/lib/assets/icons/location_on_outlined.svg +3 -0
- package/lib/assets/icons/lock_filled.svg +3 -0
- package/lib/assets/icons/lock_open_filled.svg +3 -0
- package/lib/assets/icons/lock_open_outlined.svg +3 -0
- package/lib/assets/icons/lock_open_right_filled.svg +3 -0
- package/lib/assets/icons/lock_open_right_outlined.svg +3 -0
- package/lib/assets/icons/lock_outlined.svg +3 -0
- package/lib/assets/icons/login.svg +3 -0
- package/lib/assets/icons/logout.svg +3 -0
- package/lib/assets/icons/mail_filled.svg +3 -0
- package/lib/assets/icons/mail_outlined.svg +3 -0
- package/lib/assets/icons/mail_unread_filled.svg +3 -0
- package/lib/assets/icons/mail_unread_outlined.svg +3 -0
- package/lib/assets/icons/map_filled.svg +3 -0
- package/lib/assets/icons/map_outlined.svg +3 -0
- package/lib/assets/icons/menu.svg +3 -0
- package/lib/assets/icons/menu_open.svg +3 -0
- package/lib/assets/icons/mic_filled.svg +3 -0
- package/lib/assets/icons/mic_off_filled.svg +3 -0
- package/lib/assets/icons/mic_off_outlined.svg +3 -0
- package/lib/assets/icons/mic_outlined.svg +3 -0
- package/lib/assets/icons/mode_dark_filled.svg +3 -0
- package/lib/assets/icons/mode_dark_outlined.svg +3 -0
- package/lib/assets/icons/mode_light_filled.svg +10 -0
- package/lib/assets/icons/mode_light_outlined.svg +10 -0
- package/lib/assets/icons/monitoring.svg +3 -0
- package/lib/assets/icons/more_down.svg +3 -0
- package/lib/assets/icons/more_horiz.svg +3 -0
- package/lib/assets/icons/more_up.svg +3 -0
- package/lib/assets/icons/more_vert.svg +3 -0
- package/lib/assets/icons/notification_filled.svg +3 -0
- package/lib/assets/icons/notification_important_filled.svg +3 -0
- package/lib/assets/icons/notification_important_outlined.svg +3 -0
- package/lib/assets/icons/notification_off_filled.svg +3 -0
- package/lib/assets/icons/notification_off_outlined.svg +3 -0
- package/lib/assets/icons/notification_outlined.svg +3 -0
- package/lib/assets/icons/notification_unread_filled.svg +3 -0
- package/lib/assets/icons/notification_unread_outlined.svg +3 -0
- package/lib/assets/icons/ohm.svg +3 -0
- package/lib/assets/icons/open_in_full.svg +3 -0
- package/lib/assets/icons/palette_filled.svg +3 -0
- package/lib/assets/icons/palette_outlined.svg +3 -0
- package/lib/assets/icons/paste.svg +3 -0
- package/lib/assets/icons/pause_circle_filled.svg +3 -0
- package/lib/assets/icons/pause_circle_outlined.svg +3 -0
- package/lib/assets/icons/pause_filled.svg +3 -0
- package/lib/assets/icons/pause_outlined.svg +3 -0
- package/lib/assets/icons/photo_camera_filled.svg +3 -0
- package/lib/assets/icons/photo_camera_outlined.svg +3 -0
- package/lib/assets/icons/play_circle_filled.svg +3 -0
- package/lib/assets/icons/play_circle_outlined.svg +3 -0
- package/lib/assets/icons/play_filled.svg +3 -0
- package/lib/assets/icons/play_outlined.svg +3 -0
- package/lib/assets/icons/play_pause.svg +3 -0
- package/lib/assets/icons/power_filled.svg +3 -0
- package/lib/assets/icons/power_input.svg +3 -0
- package/lib/assets/icons/power_off_filled.svg +3 -0
- package/lib/assets/icons/power_off_outlined.svg +3 -0
- package/lib/assets/icons/power_outlined.svg +3 -0
- package/lib/assets/icons/power_plug.svg +3 -0
- package/lib/assets/icons/power_plug_connect_filled.svg +3 -0
- package/lib/assets/icons/power_plug_connect_outlined.svg +3 -0
- package/lib/assets/icons/power_settings.svg +3 -0
- package/lib/assets/icons/power_settings_circle_filled.svg +3 -0
- package/lib/assets/icons/power_settings_circle_outlined.svg +3 -0
- package/lib/assets/icons/power_solar_filled.svg +3 -0
- package/lib/assets/icons/power_solar_outlined.svg +3 -0
- package/lib/assets/icons/power_switch_filled.svg +3 -0
- package/lib/assets/icons/power_switch_outlined.svg +3 -0
- package/lib/assets/icons/power_wind_filled.svg +3 -0
- package/lib/assets/icons/power_wind_outlined.svg +3 -0
- package/lib/assets/icons/print_filled.svg +3 -0
- package/lib/assets/icons/print_outlined.svg +3 -0
- package/lib/assets/icons/priority_high.svg +3 -0
- package/lib/assets/icons/public.svg +3 -0
- package/lib/assets/icons/publish.svg +3 -0
- package/lib/assets/icons/question_mark.svg +3 -0
- package/lib/assets/icons/radar.svg +3 -0
- package/lib/assets/icons/radio_button_empty.svg +3 -0
- package/lib/assets/icons/redo.svg +3 -0
- package/lib/assets/icons/reload.svg +3 -0
- package/lib/assets/icons/remove.svg +3 -0
- package/lib/assets/icons/reply.svg +3 -0
- package/lib/assets/icons/reply_all.svg +3 -0
- package/lib/assets/icons/right_panel_close_filled.svg +3 -0
- package/lib/assets/icons/right_panel_close_outlined.svg +3 -0
- package/lib/assets/icons/right_panel_open_filled.svg +3 -0
- package/lib/assets/icons/right_panel_open_outlined.svg +3 -0
- package/lib/assets/icons/route.svg +3 -0
- package/lib/assets/icons/save_filled.svg +3 -0
- package/lib/assets/icons/save_outlined.svg +3 -0
- package/lib/assets/icons/search.svg +3 -0
- package/lib/assets/icons/send_filled.svg +3 -0
- package/lib/assets/icons/send_outlined.svg +3 -0
- package/lib/assets/icons/settings_filled.svg +3 -0
- package/lib/assets/icons/settings_outlined.svg +3 -0
- package/lib/assets/icons/share_filled.svg +3 -0
- package/lib/assets/icons/share_outlined.svg +3 -0
- package/lib/assets/icons/side_navigation.svg +3 -0
- package/lib/assets/icons/skip_next_filled.svg +3 -0
- package/lib/assets/icons/skip_next_outlined.svg +3 -0
- package/lib/assets/icons/skip_previous_filled.svg +3 -0
- package/lib/assets/icons/skip_previous_outlined.svg +3 -0
- package/lib/assets/icons/smartphone_filled.svg +3 -0
- package/lib/assets/icons/smartphone_outlined.svg +3 -0
- package/lib/assets/icons/sort.svg +3 -0
- package/lib/assets/icons/star_filled.svg +3 -0
- package/lib/assets/icons/star_outlined.svg +3 -0
- package/lib/assets/icons/sticky_note_filled.svg +3 -0
- package/lib/assets/icons/sticky_note_outlined.svg +3 -0
- package/lib/assets/icons/stop_circle_filled.svg +3 -0
- package/lib/assets/icons/stop_circle_outlined.svg +3 -0
- package/lib/assets/icons/stop_filled.svg +3 -0
- package/lib/assets/icons/stop_outlined.svg +3 -0
- package/lib/assets/icons/subtitles_filled.svg +3 -0
- package/lib/assets/icons/subtitles_outlined.svg +3 -0
- package/lib/assets/icons/support_agent.svg +3 -0
- package/lib/assets/icons/swap_horiz.svg +3 -0
- package/lib/assets/icons/swap_vert.svg +3 -0
- package/lib/assets/icons/text_snippet_filled.svg +3 -0
- package/lib/assets/icons/text_snippet_outlined.svg +3 -0
- package/lib/assets/icons/timeline.svg +3 -0
- package/lib/assets/icons/trash_restore_filled.svg +3 -0
- package/lib/assets/icons/trash_restore_outlined.svg +3 -0
- package/lib/assets/icons/trending_down.svg +3 -0
- package/lib/assets/icons/trending_flat.svg +3 -0
- package/lib/assets/icons/trending_up.svg +3 -0
- package/lib/assets/icons/tune.svg +3 -0
- package/lib/assets/icons/unarchive_filled.svg +3 -0
- package/lib/assets/icons/unarchive_outlined.svg +3 -0
- package/lib/assets/icons/undo.svg +3 -0
- package/lib/assets/icons/upload.svg +3 -0
- package/lib/assets/icons/user_add_filled.svg +3 -0
- package/lib/assets/icons/user_add_outlined.svg +3 -0
- package/lib/assets/icons/user_circle_filled.svg +3 -0
- package/lib/assets/icons/user_circle_outlined.svg +3 -0
- package/lib/assets/icons/user_filled.svg +3 -0
- package/lib/assets/icons/user_outlined.svg +3 -0
- package/lib/assets/icons/user_settings_filled.svg +3 -0
- package/lib/assets/icons/user_settings_outlined.svg +3 -0
- package/lib/assets/icons/verified_filled.svg +3 -0
- package/lib/assets/icons/verified_outlined.svg +3 -0
- package/lib/assets/icons/video_camera_filled.svg +3 -0
- package/lib/assets/icons/video_camera_off_filled.svg +3 -0
- package/lib/assets/icons/video_camera_off_outlined.svg +3 -0
- package/lib/assets/icons/video_camera_outlined.svg +3 -0
- package/lib/assets/icons/video_gallery_filled.svg +3 -0
- package/lib/assets/icons/video_gallery_outlined.svg +3 -0
- package/lib/assets/icons/view_agenda_filled.svg +3 -0
- package/lib/assets/icons/view_agenda_outlined.svg +3 -0
- package/lib/assets/icons/view_column_filled.svg +3 -0
- package/lib/assets/icons/view_column_outlined.svg +3 -0
- package/lib/assets/icons/view_grid_filled.svg +3 -0
- package/lib/assets/icons/view_grid_outlined.svg +3 -0
- package/lib/assets/icons/view_kanban_filled.svg +3 -0
- package/lib/assets/icons/view_kanban_outlined.svg +3 -0
- package/lib/assets/icons/view_module_filled.svg +3 -0
- package/lib/assets/icons/view_module_outlined.svg +3 -0
- package/lib/assets/icons/view_timeline_filled.svg +3 -0
- package/lib/assets/icons/view_timeline_outlined.svg +3 -0
- package/lib/assets/icons/visibility_hide_filled.svg +3 -0
- package/lib/assets/icons/visibility_hide_outlined.svg +3 -0
- package/lib/assets/icons/visibility_show_filled.svg +3 -0
- package/lib/assets/icons/visibility_show_outlined.svg +3 -0
- package/lib/assets/icons/volume_down_filled.svg +3 -0
- package/lib/assets/icons/volume_down_outlined.svg +3 -0
- package/lib/assets/icons/volume_mute_filled.svg +3 -0
- package/lib/assets/icons/volume_mute_outlined.svg +3 -0
- package/lib/assets/icons/volume_off_filled.svg +3 -0
- package/lib/assets/icons/volume_off_outlined.svg +3 -0
- package/lib/assets/icons/volume_up_filled.svg +3 -0
- package/lib/assets/icons/volume_up_outlined.svg +3 -0
- package/lib/assets/icons/warning_filled.svg +3 -0
- package/lib/assets/icons/warning_outlined.svg +3 -0
- package/lib/assets/icons/water.svg +3 -0
- package/lib/assets/icons/water_alt.svg +3 -0
- package/lib/assets/icons/waterdrop_filled.svg +3 -0
- package/lib/assets/icons/waterdrop_outlined.svg +3 -0
- package/lib/assets/icons/wifi.svg +3 -0
- package/lib/assets/icons/wifi_off.svg +3 -0
- package/lib/assets/icons/windmill.svg +3 -0
- package/lib/assets/icons/zoom_in.svg +3 -0
- package/lib/assets/icons/zoom_out.svg +3 -0
- package/lib/components/accordion/accordion.component.d.ts +29 -0
- package/lib/components/avatar/assets/status/status.component.d.ts +8 -0
- package/lib/components/avatar/avatar.component.d.ts +24 -0
- package/lib/components/badge/badge.directive.d.ts +1 -1
- package/lib/components/button/button.component.d.ts +6 -1
- package/lib/components/card/card.component.d.ts +2 -4
- package/lib/components/checkbox/checkbox.component.d.ts +2 -1
- package/lib/components/chip/chip.component.d.ts +1 -1
- package/lib/components/drawer/drawer-trigger/drawer-trigger.directive.d.ts +9 -0
- package/lib/components/drawer/drawer.component.d.ts +54 -0
- package/lib/components/drawer/drawer.directive.d.ts +60 -0
- package/lib/components/drawer/drawer.module.d.ts +8 -0
- package/lib/components/icon/icon-map.d.ts +7 -0
- package/lib/components/icon/icon.component.d.ts +1 -1
- package/lib/components/icon-button/icon-button.component.d.ts +3 -3
- package/lib/components/icon-button-toggle/icon-button-toggle.component.d.ts +2 -2
- package/lib/components/popover/popover.component.d.ts +1 -1
- package/lib/components/segmented-control/segmented-control.component.d.ts +1 -1
- package/lib/components/split-button/split-button.component.d.ts +2 -2
- package/lib/components/tag/tag.component.d.ts +2 -2
- package/lib/components/text-input/base-text-input/base-text-input.component.d.ts +2 -2
- package/lib/components/tooltip/tooltip.component.d.ts +1 -1
- package/lib/components/treeview/index.d.ts +3 -0
- package/lib/components/treeview/treeview-check.service.d.ts +10 -0
- package/lib/components/treeview/treeview-item/treeview-item-border/treeview-item-border.component.d.ts +10 -0
- package/lib/components/treeview/treeview-item/treeview-item.component.d.ts +71 -0
- package/lib/components/treeview/treeview-keyboard.service.d.ts +10 -0
- package/lib/components/treeview/treeview-selection.service.d.ts +9 -0
- package/lib/components/treeview/treeview.component.d.ts +43 -0
- package/package.json +2 -2
- package/public-api.d.ts +7 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { afterNextRender, contentChild, Directive, effect, ElementRef, HostBinding, HostListener, inject, Injector, input, signal, untracked, ViewContainerRef, } from "@angular/core";
|
|
2
|
+
import { DRAWER_TRANSITION_DURATION, getDrawerConfigurationIssues, waitForNextFrame } from "@design-system-rte/core";
|
|
3
|
+
import { ESCAPE_KEY } from "@design-system-rte/core/constants/keyboard/keyboard.constants";
|
|
4
|
+
import { OverlayService } from "../../services/overlay.service";
|
|
5
|
+
import { DrawerComponent } from "./drawer.component";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class DrawerDirective {
|
|
8
|
+
get isResponsiveLayoutHost() {
|
|
9
|
+
return this.rteDrawerPosition() === "responsive";
|
|
10
|
+
}
|
|
11
|
+
get responsiveHostDisplay() {
|
|
12
|
+
return this.rteDrawerPosition() === "responsive" ? "flex" : undefined;
|
|
13
|
+
}
|
|
14
|
+
get responsiveHostFlexDirection() {
|
|
15
|
+
return this.rteDrawerPosition() === "responsive" ? "column" : undefined;
|
|
16
|
+
}
|
|
17
|
+
get responsiveHostMinHeight() {
|
|
18
|
+
return this.rteDrawerPosition() === "responsive" ? "0" : undefined;
|
|
19
|
+
}
|
|
20
|
+
get responsiveHostBoxSizing() {
|
|
21
|
+
return this.rteDrawerPosition() === "responsive" ? "border-box" : undefined;
|
|
22
|
+
}
|
|
23
|
+
static { this.responsiveShellMountMaxAttempts = 12; }
|
|
24
|
+
constructor() {
|
|
25
|
+
this.drawerCompRef = null;
|
|
26
|
+
this.drawerPanelElement = null;
|
|
27
|
+
this.usedOverlay = false;
|
|
28
|
+
this.isOpenProvided = false;
|
|
29
|
+
this.elementRef = inject(ElementRef);
|
|
30
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
31
|
+
this.overlayService = inject(OverlayService);
|
|
32
|
+
this.injector = inject(Injector);
|
|
33
|
+
this.drawerContent = contentChild.required("drawerContent");
|
|
34
|
+
this.drawerHeader = contentChild("drawerHeader");
|
|
35
|
+
this.drawerFooter = contentChild("drawerFooter");
|
|
36
|
+
this.drawerContextContent = contentChild("drawerContextContent");
|
|
37
|
+
this.rteDrawerId = input.required();
|
|
38
|
+
this.rteDrawerIsOpen = input(false);
|
|
39
|
+
this.rteDrawerTitle = input();
|
|
40
|
+
this.rteDrawerIcon = input();
|
|
41
|
+
this.rteDrawerIconAppearance = input("outlined");
|
|
42
|
+
this.rteDrawerPosition = input("modal");
|
|
43
|
+
this.rteDrawerWidth = input();
|
|
44
|
+
this.rteDrawerCloseOnOverlayClick = input(false);
|
|
45
|
+
this.rteDrawerPrimaryButtonLabel = input();
|
|
46
|
+
this.rteDrawerSecondaryButtonLabel = input();
|
|
47
|
+
this.rteDrawerIsCollapsible = input(false);
|
|
48
|
+
this.rteDrawerFixedHeader = input(false);
|
|
49
|
+
this.rteDrawerCloseOnEscape = input(false);
|
|
50
|
+
this.rteDrawerIsClosable = input(true);
|
|
51
|
+
this.effectiveOpen = signal(false);
|
|
52
|
+
this.onMouseDown = (mouseEvent) => this.handleClickAway(mouseEvent);
|
|
53
|
+
this.onKeyDown = (keyboardEvent) => this.handleKeydown(keyboardEvent);
|
|
54
|
+
this.scheduleResponsiveShellMount(DrawerDirective.responsiveShellMountMaxAttempts);
|
|
55
|
+
effect(() => {
|
|
56
|
+
this.rteDrawerIsOpen();
|
|
57
|
+
untracked(() => {
|
|
58
|
+
if (this.isOpenProvided) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.effectiveOpen.set(this.rteDrawerIsOpen());
|
|
62
|
+
this.isOpenProvided = true;
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
effect(() => {
|
|
66
|
+
const open = this.effectiveOpen();
|
|
67
|
+
untracked(() => {
|
|
68
|
+
if (open) {
|
|
69
|
+
this.runOpenTransition();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.runCloseTransition();
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}, { allowSignalWrites: true });
|
|
76
|
+
}
|
|
77
|
+
open() {
|
|
78
|
+
if (!this.validateForOpen()) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
this.effectiveOpen.set(true);
|
|
82
|
+
}
|
|
83
|
+
close() {
|
|
84
|
+
this.effectiveOpen.set(false);
|
|
85
|
+
}
|
|
86
|
+
scheduleResponsiveShellMount(attemptsRemaining) {
|
|
87
|
+
afterNextRender(() => {
|
|
88
|
+
if (this.rteDrawerPosition() !== "responsive" || this.drawerCompRef) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (this.validateForOpen()) {
|
|
92
|
+
this.mountDrawer();
|
|
93
|
+
const mountedRef = this.drawerCompRef;
|
|
94
|
+
if (mountedRef === null) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this.syncInputsToDrawer();
|
|
98
|
+
mountedRef.setInput("isOpen", false);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (attemptsRemaining > 1) {
|
|
102
|
+
this.scheduleResponsiveShellMount(attemptsRemaining - 1);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console.warn("Drawer: responsive shell could not mount after multiple attempts (content queries may still be empty).");
|
|
106
|
+
}
|
|
107
|
+
}, { injector: this.injector });
|
|
108
|
+
}
|
|
109
|
+
ngAfterContentInit() {
|
|
110
|
+
document.addEventListener("mousedown", this.onMouseDown);
|
|
111
|
+
document.addEventListener("keydown", this.onKeyDown);
|
|
112
|
+
}
|
|
113
|
+
onHostClick(clickEvent) {
|
|
114
|
+
const target = clickEvent.target;
|
|
115
|
+
if (!(target instanceof Node)) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const triggerElement = target instanceof Element ? target.closest("[data-rte-drawer-trigger]") : null;
|
|
119
|
+
if (!triggerElement || !this.elementRef.nativeElement.contains(triggerElement)) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
this.open();
|
|
123
|
+
}
|
|
124
|
+
ngOnDestroy() {
|
|
125
|
+
document.removeEventListener("mousedown", this.onMouseDown);
|
|
126
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
|
127
|
+
this.teardownDrawer();
|
|
128
|
+
}
|
|
129
|
+
runOpenTransition() {
|
|
130
|
+
if (!this.validateForOpen()) {
|
|
131
|
+
this.close();
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (!this.drawerCompRef) {
|
|
135
|
+
this.mountDrawer();
|
|
136
|
+
}
|
|
137
|
+
if (!this.drawerCompRef) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this.syncInputsToDrawer();
|
|
141
|
+
this.refreshDrawerPanelElement();
|
|
142
|
+
waitForNextFrame(() => {
|
|
143
|
+
this.drawerCompRef?.setInput("isOpen", true);
|
|
144
|
+
this.refreshDrawerPanelElement();
|
|
145
|
+
});
|
|
146
|
+
if (this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible()) {
|
|
147
|
+
document.body.style.overflow = "hidden";
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
runCloseTransition() {
|
|
151
|
+
if (!this.drawerCompRef) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
this.drawerCompRef.setInput("isOpen", false);
|
|
155
|
+
const keepMounted = this.rteDrawerIsCollapsible() || this.rteDrawerPosition() === "responsive";
|
|
156
|
+
if (!keepMounted) {
|
|
157
|
+
setTimeout(() => this.teardownDrawer(), DRAWER_TRANSITION_DURATION);
|
|
158
|
+
}
|
|
159
|
+
else if (this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible()) {
|
|
160
|
+
document.body.style.overflow = "";
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
handleClosed() {
|
|
164
|
+
this.close();
|
|
165
|
+
}
|
|
166
|
+
handleToggle() {
|
|
167
|
+
this.effectiveOpen.update((current) => !current);
|
|
168
|
+
}
|
|
169
|
+
mountDrawer() {
|
|
170
|
+
const position = this.rteDrawerPosition();
|
|
171
|
+
const collapsible = this.rteDrawerIsCollapsible();
|
|
172
|
+
const useOverlay = position === "modal" && !collapsible;
|
|
173
|
+
if (useOverlay) {
|
|
174
|
+
this.drawerCompRef = this.overlayService.create(DrawerComponent, this.viewContainerRef, true);
|
|
175
|
+
this.usedOverlay = true;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
this.drawerCompRef = this.viewContainerRef.createComponent(DrawerComponent);
|
|
179
|
+
this.usedOverlay = false;
|
|
180
|
+
this.elementRef.nativeElement.appendChild(this.drawerCompRef.location.nativeElement);
|
|
181
|
+
}
|
|
182
|
+
this.drawerCompRef.instance.closed.subscribe(() => {
|
|
183
|
+
this.handleClosed();
|
|
184
|
+
});
|
|
185
|
+
this.drawerCompRef.instance.clickToggle.subscribe(() => {
|
|
186
|
+
this.handleToggle();
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
teardownDrawer() {
|
|
190
|
+
if (this.drawerCompRef) {
|
|
191
|
+
this.drawerCompRef.destroy();
|
|
192
|
+
this.drawerCompRef = null;
|
|
193
|
+
}
|
|
194
|
+
if (this.usedOverlay) {
|
|
195
|
+
this.overlayService.destroy();
|
|
196
|
+
this.usedOverlay = false;
|
|
197
|
+
}
|
|
198
|
+
document.body.style.overflow = "";
|
|
199
|
+
this.drawerPanelElement = null;
|
|
200
|
+
}
|
|
201
|
+
syncInputsToDrawer() {
|
|
202
|
+
const componentRef = this.drawerCompRef;
|
|
203
|
+
if (!componentRef) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
componentRef.setInput("id", this.rteDrawerId());
|
|
207
|
+
componentRef.setInput("title", this.rteDrawerTitle());
|
|
208
|
+
componentRef.setInput("icon", this.rteDrawerIcon());
|
|
209
|
+
componentRef.setInput("iconAppearance", this.rteDrawerIconAppearance());
|
|
210
|
+
componentRef.setInput("position", this.rteDrawerPosition());
|
|
211
|
+
componentRef.setInput("width", this.rteDrawerWidth());
|
|
212
|
+
componentRef.setInput("closeOnOverlayClick", this.rteDrawerCloseOnOverlayClick());
|
|
213
|
+
componentRef.setInput("primaryButtonLabel", this.rteDrawerPrimaryButtonLabel());
|
|
214
|
+
componentRef.setInput("secondaryButtonLabel", this.rteDrawerSecondaryButtonLabel());
|
|
215
|
+
componentRef.setInput("isCollapsible", this.rteDrawerIsCollapsible());
|
|
216
|
+
componentRef.setInput("fixedHeader", this.rteDrawerFixedHeader());
|
|
217
|
+
componentRef.setInput("closeOnEscape", this.rteDrawerCloseOnEscape());
|
|
218
|
+
componentRef.setInput("isClosable", this.rteDrawerIsClosable());
|
|
219
|
+
componentRef.setInput("modalHostMode", this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible());
|
|
220
|
+
componentRef.setInput("drawerContent", this.drawerContent());
|
|
221
|
+
componentRef.setInput("drawerHeader", this.drawerHeader() ?? null);
|
|
222
|
+
componentRef.setInput("drawerFooter", this.drawerFooter() ?? null);
|
|
223
|
+
componentRef.setInput("drawerContextContent", this.drawerContextContent() ?? null);
|
|
224
|
+
}
|
|
225
|
+
refreshDrawerPanelElement() {
|
|
226
|
+
const root = this.drawerCompRef?.location.nativeElement;
|
|
227
|
+
this.drawerPanelElement = root?.querySelector("[data-drawer-panel]") ?? null;
|
|
228
|
+
}
|
|
229
|
+
validateForOpen() {
|
|
230
|
+
const issues = getDrawerConfigurationIssues({
|
|
231
|
+
hasCustomHeader: !!this.drawerHeader(),
|
|
232
|
+
hasTitle: !!this.rteDrawerTitle(),
|
|
233
|
+
hasCustomFooter: !!this.drawerFooter(),
|
|
234
|
+
hasPrimaryButtonLabel: !!this.rteDrawerPrimaryButtonLabel(),
|
|
235
|
+
position: this.rteDrawerPosition(),
|
|
236
|
+
hasMainContent: !!this.drawerContextContent(),
|
|
237
|
+
});
|
|
238
|
+
if (issues) {
|
|
239
|
+
console.warn(issues);
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
handleKeydown(keyboardEvent) {
|
|
245
|
+
if (!this.effectiveOpen()) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
if (keyboardEvent.key === ESCAPE_KEY && this.rteDrawerCloseOnEscape()) {
|
|
249
|
+
keyboardEvent.preventDefault();
|
|
250
|
+
this.close();
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
handleClickAway(mouseEvent) {
|
|
254
|
+
if (!this.effectiveOpen()) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
if (this.rteDrawerPosition() !== "modal") {
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
if (!this.rteDrawerCloseOnOverlayClick()) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
const hostElement = this.elementRef.nativeElement;
|
|
264
|
+
const target = mouseEvent.target;
|
|
265
|
+
if (hostElement.contains(target)) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
if (this.drawerPanelElement?.contains(target)) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
this.close();
|
|
272
|
+
}
|
|
273
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
274
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.14", type: DrawerDirective, isStandalone: true, selector: "[rteDrawer]", inputs: { rteDrawerId: { classPropertyName: "rteDrawerId", publicName: "rteDrawerId", isSignal: true, isRequired: true, transformFunction: null }, rteDrawerIsOpen: { classPropertyName: "rteDrawerIsOpen", publicName: "rteDrawerIsOpen", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerTitle: { classPropertyName: "rteDrawerTitle", publicName: "rteDrawerTitle", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerIcon: { classPropertyName: "rteDrawerIcon", publicName: "rteDrawerIcon", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerIconAppearance: { classPropertyName: "rteDrawerIconAppearance", publicName: "rteDrawerIconAppearance", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerPosition: { classPropertyName: "rteDrawerPosition", publicName: "rteDrawerPosition", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerWidth: { classPropertyName: "rteDrawerWidth", publicName: "rteDrawerWidth", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerCloseOnOverlayClick: { classPropertyName: "rteDrawerCloseOnOverlayClick", publicName: "rteDrawerCloseOnOverlayClick", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerPrimaryButtonLabel: { classPropertyName: "rteDrawerPrimaryButtonLabel", publicName: "rteDrawerPrimaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerSecondaryButtonLabel: { classPropertyName: "rteDrawerSecondaryButtonLabel", publicName: "rteDrawerSecondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerIsCollapsible: { classPropertyName: "rteDrawerIsCollapsible", publicName: "rteDrawerIsCollapsible", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerFixedHeader: { classPropertyName: "rteDrawerFixedHeader", publicName: "rteDrawerFixedHeader", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerCloseOnEscape: { classPropertyName: "rteDrawerCloseOnEscape", publicName: "rteDrawerCloseOnEscape", isSignal: true, isRequired: false, transformFunction: null }, rteDrawerIsClosable: { classPropertyName: "rteDrawerIsClosable", publicName: "rteDrawerIsClosable", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "class.rte-drawer-host--responsive-layout": "this.isResponsiveLayoutHost", "style.display": "this.responsiveHostDisplay", "style.flex-direction": "this.responsiveHostFlexDirection", "style.min-height": "this.responsiveHostMinHeight", "style.box-sizing": "this.responsiveHostBoxSizing" } }, queries: [{ propertyName: "drawerContent", first: true, predicate: ["drawerContent"], descendants: true, isSignal: true }, { propertyName: "drawerHeader", first: true, predicate: ["drawerHeader"], descendants: true, isSignal: true }, { propertyName: "drawerFooter", first: true, predicate: ["drawerFooter"], descendants: true, isSignal: true }, { propertyName: "drawerContextContent", first: true, predicate: ["drawerContextContent"], descendants: true, isSignal: true }], exportAs: ["rteDrawer"], ngImport: i0 }); }
|
|
275
|
+
}
|
|
276
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerDirective, decorators: [{
|
|
277
|
+
type: Directive,
|
|
278
|
+
args: [{
|
|
279
|
+
selector: "[rteDrawer]",
|
|
280
|
+
exportAs: "rteDrawer",
|
|
281
|
+
standalone: true,
|
|
282
|
+
}]
|
|
283
|
+
}], ctorParameters: () => [], propDecorators: { isResponsiveLayoutHost: [{
|
|
284
|
+
type: HostBinding,
|
|
285
|
+
args: ["class.rte-drawer-host--responsive-layout"]
|
|
286
|
+
}], responsiveHostDisplay: [{
|
|
287
|
+
type: HostBinding,
|
|
288
|
+
args: ["style.display"]
|
|
289
|
+
}], responsiveHostFlexDirection: [{
|
|
290
|
+
type: HostBinding,
|
|
291
|
+
args: ["style.flex-direction"]
|
|
292
|
+
}], responsiveHostMinHeight: [{
|
|
293
|
+
type: HostBinding,
|
|
294
|
+
args: ["style.min-height"]
|
|
295
|
+
}], responsiveHostBoxSizing: [{
|
|
296
|
+
type: HostBinding,
|
|
297
|
+
args: ["style.box-sizing"]
|
|
298
|
+
}], onHostClick: [{
|
|
299
|
+
type: HostListener,
|
|
300
|
+
args: ["click", ["$event"]]
|
|
301
|
+
}] } });
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RyYXdlci9kcmF3ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxlQUFlLEVBRWYsWUFBWSxFQUNaLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDRCQUE0QixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBT3JELE1BQU0sT0FBTyxlQUFlO0lBb0MxQixJQUNjLHNCQUFzQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLFlBQVksQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFDYyxxQkFBcUI7UUFDakMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUNjLDJCQUEyQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQ2MsdUJBQXVCO1FBQ25DLE9BQU8s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QVUsRUFBRSxJQUFJO2lCQUNqQjt3REFzQ2Usc0JBQXNCO3NCQURuQyxXQUFXO3VCQUFDLDBDQUEwQztnQkFNekMscUJBQXFCO3NCQURsQyxXQUFXO3VCQUFDLGVBQWU7Z0JBTWQsMkJBQTJCO3NCQUR4QyxXQUFXO3VCQUFDLHNCQUFzQjtnQkFNckIsdUJBQXVCO3NCQURwQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFNakIsdUJBQXVCO3NCQURwQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFpRi9CLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBhZnRlck5leHRSZW5kZXIsXG4gIENvbXBvbmVudFJlZixcbiAgY29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdW50cmFja2VkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRFJBV0VSX1RSQU5TSVRJT05fRFVSQVRJT04sIGdldERyYXdlckNvbmZpZ3VyYXRpb25Jc3N1ZXMsIHdhaXRGb3JOZXh0RnJhbWUgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgRHJhd2VyUG9zaXRpb24gfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9kcmF3ZXIvZHJhd2VyLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRVNDQVBFX0tFWSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMva2V5Ym9hcmQva2V5Ym9hcmQuY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL292ZXJsYXkuc2VydmljZVwiO1xuXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9kcmF3ZXIuY29tcG9uZW50XCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbcnRlRHJhd2VyXVwiLFxuICBleHBvcnRBczogXCJydGVEcmF3ZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBkcmF3ZXJDb21wUmVmOiBDb21wb25lbnRSZWY8RHJhd2VyQ29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGRyYXdlclBhbmVsRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB1c2VkT3ZlcmxheSA9IGZhbHNlO1xuICBwcml2YXRlIGlzT3BlblByb3ZpZGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheVNlcnZpY2UgPSBpbmplY3QoT3ZlcmxheVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICByZWFkb25seSBkcmF3ZXJDb250ZW50ID0gY29udGVudENoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPHVua25vd24+PihcImRyYXdlckNvbnRlbnRcIik7XG4gIHJlYWRvbmx5IGRyYXdlckhlYWRlciA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oXCJkcmF3ZXJIZWFkZXJcIik7XG4gIHJlYWRvbmx5IGRyYXdlckZvb3RlciA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oXCJkcmF3ZXJGb290ZXJcIik7XG4gIHJlYWRvbmx5IGRyYXdlckNvbnRleHRDb250ZW50ID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PihcImRyYXdlckNvbnRleHRDb250ZW50XCIpO1xuXG4gIHJlYWRvbmx5IHJ0ZURyYXdlcklkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJJc09wZW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJ0ZURyYXdlclRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJJY29uID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJJY29uQXBwZWFyYW5jZSA9IGlucHV0PFwib3V0bGluZWRcIiB8IFwiZmlsbGVkXCI+KFwib3V0bGluZWRcIik7XG4gIHJlYWRvbmx5IHJ0ZURyYXdlclBvc2l0aW9uID0gaW5wdXQ8RHJhd2VyUG9zaXRpb24+KFwibW9kYWxcIik7XG4gIHJlYWRvbmx5IHJ0ZURyYXdlcldpZHRoID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJDbG9zZU9uT3ZlcmxheUNsaWNrID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBydGVEcmF3ZXJQcmltYXJ5QnV0dG9uTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHJ0ZURyYXdlclNlY29uZGFyeUJ1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVEcmF3ZXJJc0NvbGxhcHNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBydGVEcmF3ZXJGaXhlZEhlYWRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcnRlRHJhd2VyQ2xvc2VPbkVzY2FwZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcnRlRHJhd2VySXNDbG9zYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWZmZWN0aXZlT3BlbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvbk1vdXNlRG93biA9IChtb3VzZUV2ZW50OiBNb3VzZUV2ZW50KSA9PiB0aGlzLmhhbmRsZUNsaWNrQXdheShtb3VzZUV2ZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBvbktleURvd24gPSAoa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5oYW5kbGVLZXlkb3duKGtleWJvYXJkRXZlbnQpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLnJ0ZS1kcmF3ZXItaG9zdC0tcmVzcG9uc2l2ZS1sYXlvdXRcIilcbiAgcHJvdGVjdGVkIGdldCBpc1Jlc3BvbnNpdmVMYXlvdXRIb3N0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwic3R5bGUuZGlzcGxheVwiKVxuICBwcm90ZWN0ZWQgZ2V0IHJlc3BvbnNpdmVIb3N0RGlzcGxheSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiID8gXCJmbGV4XCIgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJzdHlsZS5mbGV4LWRpcmVjdGlvblwiKVxuICBwcm90ZWN0ZWQgZ2V0IHJlc3BvbnNpdmVIb3N0RmxleERpcmVjdGlvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiID8gXCJjb2x1bW5cIiA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhcInN0eWxlLm1pbi1oZWlnaHRcIilcbiAgcHJvdGVjdGVkIGdldCByZXNwb25zaXZlSG9zdE1pbkhlaWdodCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiID8gXCIwXCIgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJzdHlsZS5ib3gtc2l6aW5nXCIpXG4gIHByb3RlY3RlZCBnZXQgcmVzcG9uc2l2ZUhvc3RCb3hTaXppbmcoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydGVEcmF3ZXJQb3NpdGlvbigpID09PSBcInJlc3BvbnNpdmVcIiA/IFwiYm9yZGVyLWJveFwiIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgcmVzcG9uc2l2ZVNoZWxsTW91bnRNYXhBdHRlbXB0cyA9IDEyO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2NoZWR1bGVSZXNwb25zaXZlU2hlbGxNb3VudChEcmF3ZXJEaXJlY3RpdmUucmVzcG9uc2l2ZVNoZWxsTW91bnRNYXhBdHRlbXB0cyk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5ydGVEcmF3ZXJJc09wZW4oKTtcbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlblByb3ZpZGVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWZmZWN0aXZlT3Blbi5zZXQodGhpcy5ydGVEcmF3ZXJJc09wZW4oKSk7XG4gICAgICAgIHRoaXMuaXNPcGVuUHJvdmlkZWQgPSB0cnVlO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wZW4gPSB0aGlzLmVmZmVjdGl2ZU9wZW4oKTtcbiAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgdGhpcy5ydW5PcGVuVHJhbnNpdGlvbigpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJ1bkNsb3NlVHJhbnNpdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICBvcGVuKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy52YWxpZGF0ZUZvck9wZW4oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVmZmVjdGl2ZU9wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5lZmZlY3RpdmVPcGVuLnNldChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlUmVzcG9uc2l2ZVNoZWxsTW91bnQoYXR0ZW1wdHNSZW1haW5pbmc6IG51bWJlcik6IHZvaWQge1xuICAgIGFmdGVyTmV4dFJlbmRlcihcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucnRlRHJhd2VyUG9zaXRpb24oKSAhPT0gXCJyZXNwb25zaXZlXCIgfHwgdGhpcy5kcmF3ZXJDb21wUmVmKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlRm9yT3BlbigpKSB7XG4gICAgICAgICAgdGhpcy5tb3VudERyYXdlcigpO1xuICAgICAgICAgIGNvbnN0IG1vdW50ZWRSZWYgPSB0aGlzLmRyYXdlckNvbXBSZWYgYXMgQ29tcG9uZW50UmVmPERyYXdlckNvbXBvbmVudD4gfCBudWxsO1xuICAgICAgICAgIGlmIChtb3VudGVkUmVmID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3luY0lucHV0c1RvRHJhd2VyKCk7XG4gICAgICAgICAgbW91bnRlZFJlZi5zZXRJbnB1dChcImlzT3BlblwiLCBmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhdHRlbXB0c1JlbWFpbmluZyA+IDEpIHtcbiAgICAgICAgICB0aGlzLnNjaGVkdWxlUmVzcG9uc2l2ZVNoZWxsTW91bnQoYXR0ZW1wdHNSZW1haW5pbmcgLSAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBcIkRyYXdlcjogcmVzcG9uc2l2ZSBzaGVsbCBjb3VsZCBub3QgbW91bnQgYWZ0ZXIgbXVsdGlwbGUgYXR0ZW1wdHMgKGNvbnRlbnQgcXVlcmllcyBtYXkgc3RpbGwgYmUgZW1wdHkpLlwiLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMub25Nb3VzZURvd24pO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25LZXlEb3duKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIG9uSG9zdENsaWNrKGNsaWNrRXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBjbGlja0V2ZW50LnRhcmdldDtcbiAgICBpZiAoISh0YXJnZXQgaW5zdGFuY2VvZiBOb2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0cmlnZ2VyRWxlbWVudCA9IHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgPyB0YXJnZXQuY2xvc2VzdChcIltkYXRhLXJ0ZS1kcmF3ZXItdHJpZ2dlcl1cIikgOiBudWxsO1xuICAgIGlmICghdHJpZ2dlckVsZW1lbnQgfHwgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRyaWdnZXJFbGVtZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wZW4oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5vbk1vdXNlRG93bik7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbktleURvd24pO1xuICAgIHRoaXMudGVhcmRvd25EcmF3ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuT3BlblRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlRm9yT3BlbigpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRyYXdlckNvbXBSZWYpIHtcbiAgICAgIHRoaXMubW91bnREcmF3ZXIoKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZHJhd2VyQ29tcFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3luY0lucHV0c1RvRHJhd2VyKCk7XG4gICAgdGhpcy5yZWZyZXNoRHJhd2VyUGFuZWxFbGVtZW50KCk7XG5cbiAgICB3YWl0Rm9yTmV4dEZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuZHJhd2VyQ29tcFJlZj8uc2V0SW5wdXQoXCJpc09wZW5cIiwgdHJ1ZSk7XG4gICAgICB0aGlzLnJlZnJlc2hEcmF3ZXJQYW5lbEVsZW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwibW9kYWxcIiAmJiB0aGlzLnJ0ZURyYXdlcklzQ29sbGFwc2libGUoKSkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IFwiaGlkZGVuXCI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBydW5DbG9zZVRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRyYXdlckNvbXBSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRyYXdlckNvbXBSZWYuc2V0SW5wdXQoXCJpc09wZW5cIiwgZmFsc2UpO1xuXG4gICAgY29uc3Qga2VlcE1vdW50ZWQgPSB0aGlzLnJ0ZURyYXdlcklzQ29sbGFwc2libGUoKSB8fCB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwicmVzcG9uc2l2ZVwiO1xuICAgIGlmICgha2VlcE1vdW50ZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50ZWFyZG93bkRyYXdlcigpLCBEUkFXRVJfVFJBTlNJVElPTl9EVVJBVElPTik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgPT09IFwibW9kYWxcIiAmJiB0aGlzLnJ0ZURyYXdlcklzQ29sbGFwc2libGUoKSkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDbG9zZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5lZmZlY3RpdmVPcGVuLnVwZGF0ZSgoY3VycmVudCkgPT4gIWN1cnJlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3VudERyYXdlcigpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMucnRlRHJhd2VyUG9zaXRpb24oKTtcbiAgICBjb25zdCBjb2xsYXBzaWJsZSA9IHRoaXMucnRlRHJhd2VySXNDb2xsYXBzaWJsZSgpO1xuICAgIGNvbnN0IHVzZU92ZXJsYXkgPSBwb3NpdGlvbiA9PT0gXCJtb2RhbFwiICYmICFjb2xsYXBzaWJsZTtcblxuICAgIGlmICh1c2VPdmVybGF5KSB7XG4gICAgICB0aGlzLmRyYXdlckNvbXBSZWYgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZShEcmF3ZXJDb21wb25lbnQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdHJ1ZSk7XG4gICAgICB0aGlzLnVzZWRPdmVybGF5ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kcmF3ZXJDb21wUmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChEcmF3ZXJDb21wb25lbnQpO1xuICAgICAgdGhpcy51c2VkT3ZlcmxheSA9IGZhbHNlO1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5kcmF3ZXJDb21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuZHJhd2VyQ29tcFJlZi5pbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlQ2xvc2VkKCk7XG4gICAgfSk7XG4gICAgdGhpcy5kcmF3ZXJDb21wUmVmLmluc3RhbmNlLmNsaWNrVG9nZ2xlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZVRvZ2dsZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0ZWFyZG93bkRyYXdlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcmF3ZXJDb21wUmVmKSB7XG4gICAgICB0aGlzLmRyYXdlckNvbXBSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5kcmF3ZXJDb21wUmVmID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMudXNlZE92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgdGhpcy51c2VkT3ZlcmxheSA9IGZhbHNlO1xuICAgIH1cbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gXCJcIjtcbiAgICB0aGlzLmRyYXdlclBhbmVsRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHN5bmNJbnB1dHNUb0RyYXdlcigpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmRyYXdlckNvbXBSZWY7XG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJpZFwiLCB0aGlzLnJ0ZURyYXdlcklkKCkpO1xuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dChcInRpdGxlXCIsIHRoaXMucnRlRHJhd2VyVGl0bGUoKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiaWNvblwiLCB0aGlzLnJ0ZURyYXdlckljb24oKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiaWNvbkFwcGVhcmFuY2VcIiwgdGhpcy5ydGVEcmF3ZXJJY29uQXBwZWFyYW5jZSgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJwb3NpdGlvblwiLCB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkpO1xuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dChcIndpZHRoXCIsIHRoaXMucnRlRHJhd2VyV2lkdGgoKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiY2xvc2VPbk92ZXJsYXlDbGlja1wiLCB0aGlzLnJ0ZURyYXdlckNsb3NlT25PdmVybGF5Q2xpY2soKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwicHJpbWFyeUJ1dHRvbkxhYmVsXCIsIHRoaXMucnRlRHJhd2VyUHJpbWFyeUJ1dHRvbkxhYmVsKCkpO1xuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dChcInNlY29uZGFyeUJ1dHRvbkxhYmVsXCIsIHRoaXMucnRlRHJhd2VyU2Vjb25kYXJ5QnV0dG9uTGFiZWwoKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiaXNDb2xsYXBzaWJsZVwiLCB0aGlzLnJ0ZURyYXdlcklzQ29sbGFwc2libGUoKSk7XG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KFwiZml4ZWRIZWFkZXJcIiwgdGhpcy5ydGVEcmF3ZXJGaXhlZEhlYWRlcigpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJjbG9zZU9uRXNjYXBlXCIsIHRoaXMucnRlRHJhd2VyQ2xvc2VPbkVzY2FwZSgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJpc0Nsb3NhYmxlXCIsIHRoaXMucnRlRHJhd2VySXNDbG9zYWJsZSgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJtb2RhbEhvc3RNb2RlXCIsIHRoaXMucnRlRHJhd2VyUG9zaXRpb24oKSA9PT0gXCJtb2RhbFwiICYmIHRoaXMucnRlRHJhd2VySXNDb2xsYXBzaWJsZSgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJkcmF3ZXJDb250ZW50XCIsIHRoaXMuZHJhd2VyQ29udGVudCgpKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJkcmF3ZXJIZWFkZXJcIiwgdGhpcy5kcmF3ZXJIZWFkZXIoKSA/PyBudWxsKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJkcmF3ZXJGb290ZXJcIiwgdGhpcy5kcmF3ZXJGb290ZXIoKSA/PyBudWxsKTtcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXCJkcmF3ZXJDb250ZXh0Q29udGVudFwiLCB0aGlzLmRyYXdlckNvbnRleHRDb250ZW50KCkgPz8gbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hEcmF3ZXJQYW5lbEVsZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuZHJhd2VyQ29tcFJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRyYXdlclBhbmVsRWxlbWVudCA9IChyb290Py5xdWVyeVNlbGVjdG9yKFwiW2RhdGEtZHJhd2VyLXBhbmVsXVwiKSBhcyBIVE1MRWxlbWVudCB8IG51bGwpID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRm9yT3BlbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc3N1ZXMgPSBnZXREcmF3ZXJDb25maWd1cmF0aW9uSXNzdWVzKHtcbiAgICAgIGhhc0N1c3RvbUhlYWRlcjogISF0aGlzLmRyYXdlckhlYWRlcigpLFxuICAgICAgaGFzVGl0bGU6ICEhdGhpcy5ydGVEcmF3ZXJUaXRsZSgpLFxuICAgICAgaGFzQ3VzdG9tRm9vdGVyOiAhIXRoaXMuZHJhd2VyRm9vdGVyKCksXG4gICAgICBoYXNQcmltYXJ5QnV0dG9uTGFiZWw6ICEhdGhpcy5ydGVEcmF3ZXJQcmltYXJ5QnV0dG9uTGFiZWwoKSxcbiAgICAgIHBvc2l0aW9uOiB0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCksXG4gICAgICBoYXNNYWluQ29udGVudDogISF0aGlzLmRyYXdlckNvbnRleHRDb250ZW50KCksXG4gICAgfSk7XG4gICAgaWYgKGlzc3Vlcykge1xuICAgICAgY29uc29sZS53YXJuKGlzc3Vlcyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlkb3duKGtleWJvYXJkRXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWZmZWN0aXZlT3BlbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChrZXlib2FyZEV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSAmJiB0aGlzLnJ0ZURyYXdlckNsb3NlT25Fc2NhcGUoKSkge1xuICAgICAga2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2xpY2tBd2F5KG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWZmZWN0aXZlT3BlbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnJ0ZURyYXdlclBvc2l0aW9uKCkgIT09IFwibW9kYWxcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucnRlRHJhd2VyQ2xvc2VPbk92ZXJsYXlDbGljaygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCB0YXJnZXQgPSBtb3VzZUV2ZW50LnRhcmdldCBhcyBOb2RlO1xuICAgIGlmIChob3N0RWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmRyYXdlclBhbmVsRWxlbWVudD8uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { DrawerTriggerDirective } from "./drawer-trigger/drawer-trigger.directive";
|
|
3
|
+
import { DrawerDirective } from "./drawer.directive";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DrawerModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, imports: [DrawerDirective, DrawerTriggerDirective], exports: [DrawerDirective, DrawerTriggerDirective] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [DrawerDirective, DrawerTriggerDirective],
|
|
14
|
+
exports: [DrawerDirective, DrawerTriggerDirective],
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RyYXdlci9kcmF3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU1yRCxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksWUFIYixlQUFlLEVBQUUsc0JBQXNCLGFBQ3ZDLGVBQWUsRUFBRSxzQkFBc0I7Z0hBRXRDLFlBQVk7OzRGQUFaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO29CQUNsRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBEcmF3ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHJhd2VyLXRyaWdnZXIvZHJhd2VyLXRyaWdnZXIuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBEcmF3ZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi9kcmF3ZXIuZGlyZWN0aXZlXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEcmF3ZXJEaXJlY3RpdmUsIERyYXdlclRyaWdnZXJEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbRHJhd2VyRGlyZWN0aXZlLCBEcmF3ZXJUcmlnZ2VyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -193,7 +193,7 @@ export class DropdownItemComponent {
|
|
|
193
193
|
this.destroySubMenu();
|
|
194
194
|
}
|
|
195
195
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
196
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: DropdownItemComponent, isStandalone: true, selector: "rte-dropdown-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemEvent: "itemEvent", submenuRequest: "submenuRequest" }, ngImport: i0, template: "<ng-container>\n <li\n #itemRef\n class=\"rte-dropdown-item\"\n role=\"menuitem\"\n tabindex=\"0\"\n [attr.data-disabled]=\"item()?.disabled\"\n [attr.data-active]=\"hasChildren() ? subMenuOpen() : item()?.selected\"\n [attr.aria-haspopup]=\"hasChildren() ? 'menu' : null\"\n [attr.aria-expanded]=\"hasChildren() ? subMenuOpen() : null\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n (focus)=\"handleFocus()\"\n >\n <rte-checkbox\n *ngIf=\"item()?.hasCheckbox\"\n [label]=\"item()?.label ?? ''\"\n [id]=\"menuId() + ':' + item()?.id\"\n [checked]=\"item()?.selected ?? false\"\n [disabled]=\"item()?.disabled ?? false\"\n [showLabel]=\"false\"\n [indeterminate]=\"item()?.isIndeterminate ?? false\"\n ></rte-checkbox>\n <span *ngIf=\"item()?.hasIndent && !item()?.leftIcon\" style=\"width: 20px\"></span>\n <rte-icon *ngIf=\"item()?.leftIcon\" [name]=\"item()?.leftIcon ?? ''\" />\n <ng-container [ngSwitch]=\"!!item()?.link\">\n <a *ngSwitchCase=\"true\" style=\"flex: 2; text-decoration: none; color: inherit\" [href]=\"item()?.link\"\n >{{ item()?.label }}\n </a>\n <span *ngSwitchDefault style=\"flex: 2\">{{ item()?.label }}</span>\n </ng-container>\n <rte-icon *ngIf=\"hasChildren()\" name=\"arrow-chevron-right\" />\n <div *ngIf=\"item()?.trailingText\">{{ item()?.trailingText }}</div>\n <rte-badge\n *ngIf=\"shouldDisplayBadge()\"\n [badgeType]=\"item()?.badgeType!\"\n [badgeContent]=\"item()?.badgeContent!\"\n [count]=\"item()?.badgeCount\"\n [simpleBadge]=\"true\"\n [icon]=\"item()?.badgeIcon ?? ''\"\n [badgeSize]=\"item()?.badgeSize!\"\n ></rte-badge>\n </li>\n <div *ngIf=\"item()?.hasSeparator\" class=\"dropdown-divider\">\n <rte-divider />\n </div>\n</ng-container>\n", styles: [".rte-dropdown-item{font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;color:var(--content-secondary);display:flex;height:40px;padding:8px 12px;align-items:center;gap:12px;align-self:stretch;cursor:pointer;box-sizing:border-box}.rte-dropdown-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rte-dropdown-item:hover{background-color:var(--background-hover)}.rte-dropdown-item[data-disabled=true]{cursor:not-allowed;color:var(--content-disabled);background:var(--background-disabled)}.rte-dropdown-item[data-active=true]{background-color:var(--background-brand-inverse-pressed)}.rte-dropdown-item:focus-visible{outline:none;background-color:var(--background-hover)}.dropdown-divider{width:100%;padding:8px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: DividerComponent, selector: "rte-divider", inputs: ["orientation", "thickness", "appearance", "endPoint"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge", "withPlusSign"] }, { kind: "component", type: CheckboxComponent, selector: "rte-checkbox", inputs: ["id", "label", "value", "indeterminate", "description", "showLabel", "disabled", "error", "errorMessage", "readOnly", "checked"] }] }); }
|
|
196
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: DropdownItemComponent, isStandalone: true, selector: "rte-dropdown-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemEvent: "itemEvent", submenuRequest: "submenuRequest" }, ngImport: i0, template: "<ng-container>\n <li\n #itemRef\n class=\"rte-dropdown-item\"\n role=\"menuitem\"\n tabindex=\"0\"\n [attr.data-disabled]=\"item()?.disabled\"\n [attr.data-active]=\"hasChildren() ? subMenuOpen() : item()?.selected\"\n [attr.aria-haspopup]=\"hasChildren() ? 'menu' : null\"\n [attr.aria-expanded]=\"hasChildren() ? subMenuOpen() : null\"\n (click)=\"handleClick($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n (focus)=\"handleFocus()\"\n >\n <rte-checkbox\n *ngIf=\"item()?.hasCheckbox\"\n [label]=\"item()?.label ?? ''\"\n [id]=\"menuId() + ':' + item()?.id\"\n [checked]=\"item()?.selected ?? false\"\n [disabled]=\"item()?.disabled ?? false\"\n [showLabel]=\"false\"\n [indeterminate]=\"item()?.isIndeterminate ?? false\"\n ></rte-checkbox>\n <span *ngIf=\"item()?.hasIndent && !item()?.leftIcon\" style=\"width: 20px\"></span>\n <rte-icon *ngIf=\"item()?.leftIcon\" [name]=\"item()?.leftIcon ?? ''\" />\n <ng-container [ngSwitch]=\"!!item()?.link\">\n <a *ngSwitchCase=\"true\" style=\"flex: 2; text-decoration: none; color: inherit\" [href]=\"item()?.link\"\n >{{ item()?.label }}\n </a>\n <span *ngSwitchDefault style=\"flex: 2\">{{ item()?.label }}</span>\n </ng-container>\n <rte-icon *ngIf=\"hasChildren()\" name=\"arrow-chevron-right\" />\n <div *ngIf=\"item()?.trailingText\">{{ item()?.trailingText }}</div>\n <rte-badge\n *ngIf=\"shouldDisplayBadge()\"\n [badgeType]=\"item()?.badgeType!\"\n [badgeContent]=\"item()?.badgeContent!\"\n [count]=\"item()?.badgeCount\"\n [simpleBadge]=\"true\"\n [icon]=\"item()?.badgeIcon ?? ''\"\n [badgeSize]=\"item()?.badgeSize!\"\n ></rte-badge>\n </li>\n <div *ngIf=\"item()?.hasSeparator\" class=\"dropdown-divider\">\n <rte-divider />\n </div>\n</ng-container>\n", styles: [".rte-dropdown-item{font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;color:var(--content-secondary);display:flex;height:40px;padding:8px 12px;align-items:center;gap:12px;align-self:stretch;cursor:pointer;box-sizing:border-box}.rte-dropdown-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rte-dropdown-item:hover{background-color:var(--background-hover)}.rte-dropdown-item[data-disabled=true]{cursor:not-allowed;color:var(--content-disabled);background:var(--background-disabled)}.rte-dropdown-item[data-active=true]{background-color:var(--background-brand-inverse-pressed)}.rte-dropdown-item:focus-visible{outline:none;background-color:var(--background-hover)}.dropdown-divider{width:100%;padding:8px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: DividerComponent, selector: "rte-divider", inputs: ["orientation", "thickness", "appearance", "endPoint"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge", "withPlusSign"] }, { kind: "component", type: CheckboxComponent, selector: "rte-checkbox", inputs: ["id", "label", "value", "indeterminate", "description", "showLabel", "disabled", "error", "errorMessage", "readOnly", "checked", "tabindex"] }] }); }
|
|
197
197
|
}
|
|
198
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownItemComponent, decorators: [{
|
|
199
199
|
type: Component,
|